:root{--ink:#1d1d1f;--muted:#86868b;--surface:#fff;--page:#f7f7f9;--line:#e5e5e8;--blue:#0071e3;--green:#2bb653;color:var(--ink);background:var(--page);font-family:Geist,-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--page)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:is(button:focus-visible,input:focus-visible,textarea:focus-visible){outline-offset:2px;outline:3px solid #0071e33d}.app-shell{min-height:100vh}.wordmark{color:inherit;letter-spacing:-.6px;background:0 0;border:0;font-size:18px;font-weight:760}.landing{color:#fff;background:linear-gradient(#0c0c0e61,#0000 42%,#0c0c0e8f),url(/background.jpg) 50% 62%/cover no-repeat;flex-direction:column;min-height:100svh;display:flex;position:relative}.landing-bar{align-items:center;height:64px;padding:0 28px;display:flex}.landing-wordmark{color:#fff}.landing-copy{width:min(1120px,100% - 48px);margin:auto auto 9vh}.landing-copy>p{letter-spacing:1.8px;margin:0 0 12px;font-size:10px;font-weight:750}.landing-copy h1{letter-spacing:-2.5px;max-width:620px;margin:0 0 24px;font-size:clamp(34px,6vw,68px);line-height:1.03}.primary-button,.solid{color:#fff;background:var(--blue);border:0;border-radius:11px;justify-content:center;align-items:center;min-height:40px;padding:0 17px;font-size:12px;font-weight:680;display:inline-flex;box-shadow:0 7px 20px #0071e333}.primary-button{min-height:42px;font-size:13px}.primary-button:hover,.solid:hover{background:#0878e7;transform:translateY(-1px)}.landing-footer{color:#ffffffb8;width:min(1120px,100% - 48px);margin:0 auto 22px;font-size:10px}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:0 28px;display:grid;position:sticky;top:0}.topbar nav{align-items:center;gap:26px;height:100%;display:flex}.topbar nav button{color:#68686d;background:0 0;border:0;height:100%;font-size:12px;position:relative}.topbar nav button.active{color:var(--ink);font-weight:650}.topbar nav button.active:after{content:"";background:var(--ink);width:28px;height:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.top-action{color:#0769c7;background:#eef6ff;border:0;border-radius:10px;justify-self:end;height:34px;padding:0 13px;font-size:11px;font-weight:650}.page-shell{width:min(1120px,100% - 48px);margin:0 auto;padding:50px 0 80px}.page-title{justify-content:space-between;align-items:flex-end;min-height:92px;margin-bottom:28px;display:flex}.page-title small,.card-heading small,.love-card>small,.about-item>small{color:#9a9aa0;letter-spacing:1.5px;font-size:9px;font-weight:760}.page-title h1{letter-spacing:-1.3px;margin:7px 0 6px;font-size:32px}.page-title p{color:var(--muted);margin:0;font-size:13px}.card{border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.feature-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.feature-card{text-align:left;min-width:0;color:inherit;background:0 0;border:0;padding:0}.feature-poster{aspect-ratio:2/2.8;color:#fff;border-radius:16px;place-items:center;transition:all .25s;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 26px #161c2621}.feature-poster:after{content:"";background:linear-gradient(#0000 35%,#00000059);position:absolute;inset:0}.feature-poster b{text-shadow:0 5px 18px #0000002e;font-size:58px;font-weight:350}.feature-poster i{z-index:1;letter-spacing:1.6px;font-size:9px;font-style:normal;font-weight:750;position:absolute;bottom:15px;left:16px}.feature-poster.blue{background:linear-gradient(145deg,#78b9ec,#17446e)}.feature-poster.violet{background:linear-gradient(145deg,#b5a6e8,#493f76)}.feature-poster.rose{background:linear-gradient(145deg,#f1a0b3,#88394d)}.feature-poster.amber{background:linear-gradient(145deg,#eac47d,#785628)}.feature-poster.slate{background:linear-gradient(145deg,#8fa1b3,#263442)}:is(.feature-card:hover .feature-poster,.feature-card:focus-visible .feature-poster){transform:translateY(-5px);box-shadow:0 18px 34px #161c2633}.feature-meta{padding:14px 3px;display:block}.feature-meta small{color:#aaa;letter-spacing:1.2px;font-size:8px}.feature-meta strong{margin-top:5px;font-size:15px;display:block}.feature-meta p{color:#89898f;margin:7px 0 0;font-size:10px;line-height:1.5}.feature-card:last-child{grid-column:auto}.form-card{margin-bottom:18px;padding:21px}.inline-form label,.stack-form label{color:#66666c;margin-bottom:9px;font-size:10px;font-weight:650;display:block}.inline-form>div{gap:10px;display:flex}.inline-form input,.stack-form textarea,.option-list input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;outline:0}.inline-form input{height:42px;padding:0 13px}.stack-form textarea{resize:vertical;min-height:118px;padding:12px 13px;line-height:1.6}.form-foot{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.form-foot small{color:#aaa;font-size:9px}.data-card{min-height:230px}.card-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:70px;padding:17px 20px;display:flex}.card-heading h2{letter-spacing:-.35px;margin:5px 0 0;font-size:17px}.card-heading>span{color:#999;font-size:9px}.empty-state,.state-box{text-align:center;color:#999;place-content:center;min-height:150px;font-size:11px;display:grid}.state-box p{margin:0 0 10px}.state-box button{color:var(--blue);background:0 0;border:0;font-size:11px}.list-row{border-bottom:1px solid var(--line);align-items:center;gap:13px;min-height:76px;padding:13px 18px;display:grid}.list-row:last-child{border-bottom:0}.todo-row{grid-template-columns:26px 1fr auto}.todo-row>div strong,.todo-row>div small{display:block}.todo-row>div strong{font-size:12px}.todo-row>div small{color:#aaa;margin-top:6px;font-size:9px}.todo-row.completed strong{color:#9a9aa0;text-decoration:line-through}.check-button{color:#fff;background:#fff;border:1px solid #c9c9ce;border-radius:50%;width:24px;height:24px;padding:0}.check-button.checked{border-color:var(--green);background:var(--green)}.text-danger{color:#b56b6b;background:0 0;border:0;font-size:9px}.message-grid{grid-template-columns:repeat(2,1fr);gap:0;display:grid}.message-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;min-height:150px;padding:20px;display:flex}.message-card:nth-child(2n){border-right:0}.message-card p{color:#45454a;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.75}.message-card footer{justify-content:space-between;margin-top:auto;padding-top:20px;display:flex}.message-card time{color:#aaa;font-size:9px}.love-stage{place-items:center;min-height:calc(100vh - 194px);display:grid}.love-card{text-align:center;background:radial-gradient(circle at 50% 0,#fff7fa,#fff 55%);width:min(560px,100%);padding:58px 30px}.heart-orbit{height:65px;position:relative}.heart-orbit span{color:#e66887;font-size:25px;animation:3s ease-in-out infinite heartFloat;position:absolute}.heart-orbit span:first-child{top:18px;left:38%}.heart-orbit span:nth-child(2){font-size:38px;animation-delay:.8s;top:0;left:50%}.heart-orbit span:nth-child(3){animation-delay:1.6s;top:22px;left:61%}.love-card h1{letter-spacing:-2px;margin:9px 0 0;font-size:44px}.love-symbol{color:#e85e80;margin:22px 0 8px;font-size:55px;animation:1.7s ease-in-out infinite heartBeat}.love-card h2{color:#8a4d5d;letter-spacing:3px;margin:0 0 30px;font-size:18px}.soft-button,.add-option{border:1px solid var(--line);color:#55555b;background:#f4f4f6;border-radius:10px;min-height:38px;padding:0 15px;font-size:11px}.lottery-layout{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.option-card{padding-bottom:18px}.option-list{gap:9px;padding:12px 18px;display:grid}.option-list>div{grid-template-columns:26px 1fr 28px;align-items:center;gap:8px;display:grid}.option-list span{color:#888;background:#f0f0f2;border-radius:50%;place-items:center;width:24px;height:24px;font-size:9px;display:grid}.option-list input{height:38px;padding:0 10px;font-size:11px}.option-list button{color:#aaa;background:0 0;border:0;font-size:18px}.add-option{margin-left:18px}.wheel-card{text-align:center;padding:28px}.wheel-wrap{width:250px;height:250px;margin:2px auto 24px;position:relative}.wheel-pointer{z-index:2;border-top:22px solid #242428;border-left:10px solid #0000;border-right:10px solid #0000;width:0;height:0;position:absolute;top:-8px;left:50%;transform:translate(-50%)}.wheel{background:repeating-conic-gradient(from -90deg,#71a9d8 0 calc(360deg/var(--segment-count)),#e8b572 calc(360deg/var(--segment-count)) calc(720deg/var(--segment-count)));width:100%;height:100%;box-shadow:0 0 0 1px var(--line),0 15px 32px #1e28372b;transform:rotate(var(--wheel-rotation));border:8px solid #fff;border-radius:50%;place-items:center;transition:transform 1.2s cubic-bezier(.15,.75,.16,1);display:grid}.wheel span{color:#555;background:#fff;border:6px solid #ffffffbf;border-radius:50%;place-items:center;width:58px;height:58px;font-size:13px;font-weight:760;display:grid}.spin-button{min-width:130px}.result-line{color:#999;min-height:36px;padding-top:16px;font-size:11px}.result-line strong{color:var(--ink);font-size:14px}.history-card{margin-top:18px}.history-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:70px;padding:14px 20px;display:flex}.history-list article:last-child{border:0}.history-list strong{font-size:12px}.history-list p{color:#999;margin:6px 0 0;font-size:9px}.history-list time{color:#aaa;font-size:9px}.about-grid{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.about-lead{grid-row:span 2;padding:35px}.about-lead>span{color:#fff;background:linear-gradient(145deg,#659ed1,#254966);border-radius:16px;place-items:center;width:60px;height:60px;font-size:28px;font-weight:760;display:grid}.about-lead h2{margin:30px 0 12px;font-size:24px}.about-lead p,.about-item p{color:#7e7e84;margin:0;font-size:11px;line-height:1.8}.about-item{padding:24px}.about-item h3{margin:13px 0 9px;font-size:16px}.not-found{text-align:center;place-content:center;min-height:calc(100vh - 194px);display:grid}.not-found>small{color:var(--blue);letter-spacing:2px;font-size:11px;font-weight:760}.not-found h1{letter-spacing:-2px;margin:10px 0 8px;font-size:42px}.not-found p{color:#888;margin:0 0 25px;font-size:12px}.not-found>div{justify-content:center;gap:10px;display:flex}.toast{z-index:50;color:#fff;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#19191beb;border-radius:99px;padding:11px 17px;font-size:10px;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0003}.delete-button{color:#b54444;background:#fff8f8;border:1px solid #efcaca;border-radius:9px;min-height:30px;padding:0 11px;font-size:10px;font-weight:650}.delete-button:hover{background:#fff0f0;border-color:#dfa4a4}.lottery-note{color:#aaa;margin-top:4px;font-size:9px;display:block}@keyframes heartFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes heartBeat{0%,to{transform:scale(1)}15%{transform:scale(.9)}30%{transform:scale(1.08)}45%{transform:scale(.96)}}@media (max-width:900px){.feature-grid{grid-template-columns:repeat(2,1fr)}.lottery-layout,.about-grid{grid-template-columns:1fr}.about-lead{grid-row:auto}.message-grid{grid-template-columns:1fr}.message-card{border-right:0}.page-shell{padding-top:36px}}@media (max-width:640px){.landing{background-position:56%}.landing-bar{padding:0 20px}.landing-copy{width:calc(100% - 40px);margin-bottom:7vh}.landing-copy h1{letter-spacing:-1.5px}.landing-footer{width:calc(100% - 40px)}.topbar{grid-template-columns:1fr auto;padding:0 18px}.topbar nav{display:none}.top-action{font-size:10px}.page-shell{width:calc(100% - 32px);padding:30px 0 60px}.page-title{min-height:auto;margin-bottom:22px}.page-title h1{font-size:27px}.page-title p{font-size:11px;line-height:1.6}.feature-grid{gap:14px}.feature-poster{border-radius:14px}.feature-poster b{font-size:42px}.feature-meta p{display:none}.inline-form>div{display:grid}.inline-form .solid{width:100%}.form-card{padding:16px}.wheel-card{padding:22px 12px}.wheel-wrap{width:220px;height:220px}.love-card{padding:46px 20px}.love-card h1{font-size:38px}.not-found h1{font-size:34px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
