:root{color:#f0eee9;font-synthesis:none;--bg:#0c100e;--panel:#121815;--panel2:#171e1a;--line:#f0eee917;--muted:#94a099;--green:#2d7b53;--green2:#173f2c;--purple:#7957e8;--purple2:#45318f;--cream:#f0eee9;--danger:#d95b67;background:#0c100e;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:radial-gradient(circle at 86% 0%,#7957e814,transparent 30%),radial-gradient(circle at 10% 20%,#2d7b5312,transparent 30%),var(--bg);min-width:320px;min-height:100vh;color:var(--cream);margin:0}button,input,textarea{font:inherit}button{color:inherit}.app-shell{min-height:100vh}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#0a0e0ceb;flex-direction:column;width:248px;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;padding:8px 9px 22px;display:flex}.brand-mark{background:linear-gradient(135deg,var(--green2),var(--purple2));border-radius:15px;grid-template-columns:1fr auto 1fr;place-items:center;width:43px;height:43px;font-size:11px;font-weight:800;display:grid;box-shadow:0 10px 32px #00000040}.brand-mark i{opacity:.5;font-style:normal}.brand b{font-size:15px;display:block}.brand small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.sidebar nav{gap:4px;display:grid}.sidebar nav button{color:#9ba59f;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;padding:10px 12px;font-size:13px;transition:all .2s;display:flex}.sidebar nav button:hover{color:#fff;background:#ffffff0a}.sidebar nav button.active{color:#fff;background:linear-gradient(90deg,#2d7b532e,#7957e812)}.nav-icon{text-align:center;width:23px;font-size:15px}.sidebar-foot{border-top:1px solid var(--line);color:#69736d;align-items:center;gap:7px;margin-top:auto;padding:16px 9px 0;font-size:10px;display:flex}.sidebar-foot>span:last-child{margin-left:auto}.status-dot{background:#5cba7d;border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #5cba7d}.main-content{min-height:100vh;margin-left:248px}.page{max-width:1180px;margin:0 auto;padding:50px 48px 90px}.narrow-page{max-width:930px}.page-title{margin-bottom:36px}.page-title>span,.section-head span,.card-kicker,.eyebrow{color:#75a98d;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700;display:block}.page-title h1{letter-spacing:-.045em;margin:9px 0 14px;font-size:clamp(34px,5vw,58px);line-height:.96}.page-title p{color:var(--muted);max-width:620px;font-size:14px;line-height:1.7}.compact-title{margin-bottom:24px}.hero{border:1px solid var(--line);background:linear-gradient(115deg,#111a15 0%,#101713 47%,#171225 100%);border-radius:28px;min-height:410px;padding:54px 48px;position:relative;overflow:hidden;box-shadow:0 30px 80px #0000003d}.hero:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0 65%,#7957e814);position:absolute;inset:0}.hero h1{z-index:1;letter-spacing:-.065em;max-width:650px;margin:28px 0 20px;font-size:clamp(52px,7vw,88px);line-height:.88;position:relative}.hero h1 em{color:#86b89c;font-family:Georgia,serif;font-weight:400}.birthday-mode .hero h1 em{color:#a88cff;text-shadow:0 0 30px #7957e833}.hero p{z-index:1;color:#a2aba5;max-width:540px;font-size:14px;line-height:1.65;position:relative}.hero-actions{z-index:1;gap:10px;margin-top:30px;display:flex;position:relative}.primary,.secondary{cursor:pointer;border:0;border-radius:12px;padding:12px 16px;font-size:12px;font-weight:750}.primary{background:linear-gradient(135deg,#397e59,#6d51d6);box-shadow:0 8px 24px #2a5a4133}.primary span{margin-left:14px}.secondary{border:1px solid var(--line);color:#c8ceca;background:#ffffff0e}.hero-orbs i{filter:blur(2px);opacity:.45;border-radius:50%;position:absolute}.hero-orbs i:first-child{background:radial-gradient(circle at 30% 30%,#7e60e9,#0000 70%);width:130px;height:130px;top:66px;right:130px}.hero-orbs i:nth-child(2){background:radial-gradient(circle at 40% 60%,#2d7b532e,#0000 65%);border:1px solid #7957e829;width:210px;height:210px;bottom:35px;right:38px}.hero-orbs i:nth-child(3){border:1px solid #ffffff1f;width:70px;height:70px;bottom:42px;right:210px}.card{border:1px solid var(--line);background:linear-gradient(145deg,#161d19f5,#0f1411f5);border-radius:20px}.section-grid{grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px;display:grid}.feature-card{padding:28px}.feature-card h2{letter-spacing:-.04em;margin:10px 0 24px;font-size:27px}.feature-card p{color:var(--muted);font-size:11px}.photo-card{cursor:pointer;min-height:270px;position:relative;overflow:hidden}.photo-card img{object-fit:cover;filter:saturate(.8)brightness(.72);width:100%;height:100%;transition:all .35s;position:absolute}.photo-card:hover img{filter:saturate(.95)brightness(.78);transform:scale(1.025)}.photo-overlay{background:linear-gradient(#0000 30%,#050806e6);flex-direction:column;justify-content:flex-end;padding:25px;display:flex;position:absolute;inset:0}.photo-overlay span{text-transform:uppercase;letter-spacing:.14em;color:#a596ee;font-size:10px}.photo-overlay b{margin:4px 0;font-size:18px}.photo-overlay small{color:#aeb7b1}.countdown{gap:20px;display:flex}.countdown span{flex-direction:column;display:flex}.countdown b{letter-spacing:-.05em;font-size:32px}.countdown small{letter-spacing:.13em;text-transform:uppercase;color:#717c75;font-size:8px}.countdown.compact{gap:14px;margin-top:18px}.countdown.compact b{font-size:22px}.section-head{justify-content:space-between;align-items:flex-end;margin:46px 0 16px;display:flex}.section-head h2{letter-spacing:-.035em;margin:5px 0 0;font-size:24px}.three-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.date-card{min-height:170px;padding:22px;position:relative;overflow:hidden}.date-card:after{content:"";filter:blur(15px);opacity:.15;border-radius:50%;width:100px;height:100px;position:absolute;top:-30px;right:-30px}.date-card.green:after{background:#3d9368}.date-card.purple:after{background:#8b64ff}.date-card.blend:after{background:linear-gradient(#3d9368,#8b64ff)}.date-card h3{margin-top:24px;font-size:14px}.date-badge{border:1px solid var(--line);text-transform:uppercase;letter-spacing:.1em;color:#9da69f;border-radius:9px;padding:6px 8px;font-size:9px;display:inline-flex}.quick-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.quick-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#121815;border-radius:20px;align-items:center;gap:18px;min-height:130px;padding:22px;display:flex;position:relative;overflow:hidden}.quick-card>span{background:#ffffff0b;border-radius:16px;place-items:center;width:54px;height:54px;font-size:22px;font-weight:800;display:grid}.quick-card b{font-size:14px;display:block}.quick-card small{color:#8c9790;margin-top:5px;line-height:1.4;display:block}.quick-card>i{color:#737d77;margin-left:auto;font-style:normal}.quick-card.green:before,.quick-card.purple:before,.quick-card.blend:before{content:"";filter:blur(40px);opacity:.12;width:150px;height:100px;position:absolute;inset:auto -30px -50px auto}.quick-card.green:before{background:#2d7b53}.quick-card.purple:before{background:#7957e8}.quick-card.blend:before{background:linear-gradient(90deg,#2d7b53,#7957e8)}.quote-card{border-left:1px solid #7957e873;margin:48px 0 0;padding:8px 0 8px 28px}.quote-card>span{color:#7258d5;font-family:Georgia;font-size:42px}.quote-card p{max-width:720px;margin:0;font-family:Georgia,serif;font-size:22px;font-style:italic;line-height:1.45}.quote-card footer{color:#758078;text-transform:uppercase;letter-spacing:.12em;margin-top:14px;font-size:10px}.story-line{position:relative}.story-line:before{content:"";background:linear-gradient(#32694d,#6349b7,#ffffff14);width:1px;position:absolute;top:22px;bottom:30px;left:20px}.milestone{grid-template-columns:42px 1fr;gap:24px;margin-bottom:46px;display:grid;position:relative}.milestone-dot{z-index:2;color:#90ae9e;background:#121a16;border:1px solid #315a46;border-radius:50%;place-items:center;width:42px;height:42px;font-size:9px;display:grid}.milestone-body{padding-top:3px}.milestone-body time{text-transform:uppercase;letter-spacing:.13em;color:#77827b;font-size:9px}.milestone-body h2{letter-spacing:-.04em;margin:7px 0 9px;font-size:27px}.milestone-body p{color:#9ba59f;max-width:600px;line-height:1.65}.milestone-body>img{object-fit:cover;filter:saturate(.8);border-radius:18px;width:100%;max-height:420px;margin-top:16px}.mini-gallery{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.mini-gallery img{object-fit:cover;border-radius:16px;width:100%;height:260px}.milestone.future .milestone-dot{border-style:dashed}.book-page-wrap{max-width:1060px}.book-stage{perspective:1800px;justify-content:center;align-items:center;gap:18px;display:flex}.book{background:#15130f;border-radius:10px 22px 22px 10px;width:min(680px,78vw);height:min(720px,72vh);min-height:500px;padding:16px;position:relative;box-shadow:0 35px 80px #0006,inset 12px 0 18px #0000004d}.paper-page{color:#292721;transform-origin:0;background:#e9e3d6;border-radius:4px 14px 14px 4px;flex-direction:column;height:100%;padding:35px;transition:all .25s;display:flex;position:relative;box-shadow:inset 18px 0 28px #5447361f}.paper-page.turn-next{animation:.28s ease-in turnNext}.paper-page.turn-prev{animation:.28s ease-in turnPrev}@keyframes turnNext{to{filter:brightness(.8);transform:rotateY(-18deg)translate(-8px)}}@keyframes turnPrev{to{filter:brightness(.9);transform:rotateY(14deg)translate(8px)}}.photo-mount{background:#f7f5ef;flex:1;min-height:0;padding:12px;transform:rotate(-.4deg);box-shadow:0 8px 20px #40372b24}.photo-mount img{object-fit:contain;background:#111;width:100%;height:100%}.book-caption{justify-content:space-between;align-items:flex-start;gap:20px;padding-top:22px;display:flex}.book-caption span{letter-spacing:.14em;color:#7d7669;font-size:9px}.book-caption p{text-align:right;margin:0;font-family:Georgia,serif;font-size:19px;font-style:italic}.scribble{color:#716b62;font-family:Georgia,serif;font-size:13px;font-style:italic;position:absolute;bottom:12px;left:30px}.tape{z-index:2;background:#cdbf9e94;width:74px;height:24px;position:absolute}.tape-a{top:24px;left:20px;transform:rotate(-34deg)}.tape-b{top:26px;right:18px;transform:rotate(26deg)}.book-arrow{border:1px solid var(--line);cursor:pointer;background:#141a17;border-radius:50%;width:44px;height:44px}.book-arrow:disabled{opacity:.25}.book-dots{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:22px;display:flex}.book-dots button{cursor:pointer;background:#3e4641;border:0;border-radius:50%;width:5px;height:5px;padding:0}.book-dots button.active{background:#8a6df0;transform:scale(1.5)}.thirteen-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.thing-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#121815;border-radius:18px;min-height:108px;padding:18px;transition:all .25s;position:relative;overflow:hidden}.thing-card>span{letter-spacing:-.06em;color:#476e59;font-size:27px;font-weight:800}.thing-card p{opacity:0;color:#c7cec9;max-width:85%;max-height:0;margin:0;font-size:13px;line-height:1.55;transition:all .28s}.thing-card i{color:#7b8580;font-style:normal;position:absolute;top:18px;right:18px}.thing-card.open{background:linear-gradient(145deg,#1b3e2db3,#1d1630b3);border-color:#7658e238;min-height:160px}.thing-card.open p{opacity:1;max-height:110px;margin-top:16px}.thing-card.open>span{color:#9b83ef}.thirteen-footer{text-align:center;letter-spacing:-.08em;color:#151d19;margin-top:40px;font-size:80px;font-weight:900}.thirteen-footer span{letter-spacing:.14em;text-transform:uppercase;color:#657069;font-size:10px;display:block}.roulette{background:linear-gradient(130deg,#18402cbf,#1b1430cc);justify-content:space-between;align-items:center;gap:20px;padding:28px;display:flex}.roulette h2{letter-spacing:-.04em;margin:8px 0 4px;font-size:26px}.roulette p{color:#91a097;font-size:11px}.filters{justify-content:space-between;gap:16px;margin:20px 0;display:flex}.filters>div{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filters span{text-transform:uppercase;letter-spacing:.1em;color:#768078;margin-right:3px;font-size:9px}.filters button{border:1px solid var(--line);color:#8e9992;cursor:pointer;background:#121815;border-radius:10px;padding:7px 10px;font-size:10px}.filters button.active{color:#fff;background:#7957e81f;border-color:#7957e84d}.idea-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.idea-card{padding:20px}.idea-card>div{justify-content:space-between;display:flex}.idea-category,.status{letter-spacing:.1em;text-transform:uppercase;color:#819087;font-size:8px}.status{border:1px solid var(--line);border-radius:20px;padding:4px 7px}.status.planned{color:#b29df5}.status.done{color:#72b68f}.idea-card h3{margin:19px 0 8px;font-size:16px}.idea-card p{color:#7e8982;font-size:10px}.idea-card>button{color:#8e75e7;cursor:pointer;background:0 0;border:0;padding:8px 0;font-size:10px}.add-row{margin-top:14px;display:flex}.add-row input,.settings-card input,.settings-card textarea,.reminder-form input{border:1px solid var(--line);color:#e9ecea;background:#101512;border-radius:12px;outline:0;flex:1;padding:12px}.add-row button{cursor:pointer;background:#263c30;border:0;border-radius:12px;margin-left:8px;padding:0 18px}.coupon-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.coupon{background:linear-gradient(145deg,#173622,#111a15);border:1px solid #ffffff1a;border-radius:20px;min-height:260px;padding:22px;position:relative;overflow:hidden}.coupon:nth-child(2n){background:linear-gradient(145deg,#21193b,#15131d)}.coupon.redeemed{opacity:.75}.coupon.completed{filter:saturate(.4);opacity:.55}.coupon-num{letter-spacing:.18em;color:#7e9988;font-size:8px}.coupon-icon{color:#9cc0a8;margin-top:22px;font-size:28px}.coupon:nth-child(2n) .coupon-icon{color:#a68ef1}.coupon h2{letter-spacing:-.04em;font-size:22px}.coupon p{color:#9da9a1;max-width:340px;font-size:11px;line-height:1.6}.coupon-bottom{border-top:1px dashed #ffffff1f;justify-content:space-between;align-items:center;padding-top:13px;display:flex;position:absolute;bottom:20px;left:22px;right:22px}.coupon-bottom span{letter-spacing:.16em;color:#789484;font-size:8px}.coupon-bottom button{cursor:pointer;background:#fff1;border:0;border-radius:8px;padding:7px 9px;font-size:9px}.coupon-notch{background:var(--bg);border-radius:50%;width:28px;height:28px;position:absolute;bottom:52px}.coupon-notch.n1{left:-14px}.coupon-notch.n2{right:-14px}.envelope-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.envelope{border:1px solid var(--line);text-align:left;cursor:pointer;background:#121815;border-radius:18px;min-height:160px;padding:22px;position:relative;overflow:hidden}.envelope:after{content:"";background:linear-gradient(135deg,#0000 49%,#7957e814 50%),linear-gradient(225deg,#0000 49%,#2d7b5314 50%);height:130px;position:absolute;bottom:-70px;left:0;right:0}.envelope>span{color:#94b7a1;font-size:22px}.envelope b{margin-top:34px;font-size:15px;display:block}.envelope small{color:#758078;margin-top:4px;display:block}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030504c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.letter-modal{color:#2f2a25;background:#e8e0cf;border-radius:8px;max-width:580px;padding:52px 48px;position:relative;transform:rotate(-.5deg);box-shadow:0 40px 100px #00000080}.letter-modal h2{font-family:Georgia,serif;font-size:28px}.letter-modal p{font-family:Georgia,serif;font-size:17px;line-height:1.75}.letter-modal footer{text-align:right;font-family:Georgia,serif;font-style:italic}.close{color:#5f5a52;cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:14px;right:16px}.letter-symbol{font-size:28px}.capsule-section{margin-top:38px}.capsule{align-items:center;gap:15px;margin-bottom:8px;padding:18px;display:flex}.capsule>span{background:#18231d;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.capsule b{font-size:13px;display:block}.capsule small{color:#77827b;margin-top:4px;line-height:1.5;display:block}.capsule.unlocked{border-color:#7957e833}.reminder-list{gap:8px;display:grid}.reminder{border-bottom:1px solid var(--line);align-items:center;gap:13px;padding:14px 4px;display:flex}.reminder>button{cursor:pointer;background:0 0;border:1px solid #46534b;border-radius:50%;width:24px;height:24px}.reminder.done{opacity:.48}.reminder.done b{text-decoration:line-through}.reminder b{font-size:13px;display:block}.reminder small{color:#78837c;font-size:9px}.reminder-form{gap:10px;margin-top:30px;padding:22px;display:grid}.reminder-form h2{margin:0 0 6px;font-size:18px}.favourite-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.favourite-card{align-items:flex-start;gap:13px;min-height:110px;padding:18px;display:flex}.favourite-card>span{color:#88ab97;background:#2d7b531f;border-radius:11px;place-items:center;width:34px;height:34px;font-size:12px;display:grid}.favourite-card small{text-transform:uppercase;letter-spacing:.1em;color:#707a74;font-size:8px}.favourite-card h3{margin:5px 0;font-size:12px;line-height:1.5}.forest-panel{background:linear-gradient(90deg,#0e1d15,#143b29);border-radius:24px;min-height:280px;margin-top:24px;padding:34px;position:relative;overflow:hidden}.forest-panel>div:first-child{z-index:2;position:relative}.forest-panel span{text-transform:uppercase;letter-spacing:.14em;color:#6ca081;font-size:9px}.forest-panel h2{margin:10px 0;font-family:Georgia,serif;font-size:38px;font-weight:400}.forest-panel p{color:#86a490}.forest-art{width:50%;height:100%;position:absolute;bottom:0;right:0}.forest-art i{transform-origin:bottom;background:#8fbba021;width:1px;position:absolute;bottom:-20px}.forest-art i:first-child{height:250px;right:20%;transform:rotate(18deg)}.forest-art i:nth-child(2){height:220px;right:38%;transform:rotate(-12deg)}.forest-art i:nth-child(3){height:180px;right:54%;transform:rotate(24deg)}.forest-art i:nth-child(4){height:260px;right:70%;transform:rotate(-8deg)}.settings-card{margin-bottom:12px;padding:22px}.settings-card h2{margin:0 0 8px;font-size:17px}.settings-card>p,.setting-toggle p{color:#7d8881;font-size:10px;line-height:1.55}.settings-card label{text-transform:uppercase;letter-spacing:.1em;color:#7f8b83;gap:6px;margin-top:14px;font-size:9px;display:grid}.two-input{grid-template-columns:1fr 1fr;gap:10px;display:grid}.settings-card textarea{resize:vertical;width:100%;margin:10px 0;line-height:1.5}.setting-toggle{justify-content:space-between;align-items:center;gap:20px;display:flex}.setting-toggle button{cursor:pointer;background:#313a34;border:0;border-radius:20px;width:45px;height:24px;padding:3px}.setting-toggle button i{background:#8a928d;border-radius:50%;width:18px;height:18px;transition:all .2s;display:block}.setting-toggle button.on{background:#315d46}.setting-toggle button.on i{background:#e8ece9;transform:translate(21px)}.danger-zone{border-color:#d95b6726}.danger{color:#e18088;cursor:pointer;background:#d95b6714;border:1px solid #d95b674d;border-radius:10px;padding:10px 12px}.mobile-nav{display:none}.birthday-mode:before{content:"";z-index:-1;background:radial-gradient(circle at 20% 5%,#2d7b5321,#0000 28%),radial-gradient(circle at 90% 15%,#7957e824,#0000 30%);position:fixed;inset:0}@media (width<=900px){.sidebar{width:205px}.main-content{margin-left:205px}.page{padding:36px 28px 90px}.three-grid,.favourite-grid{grid-template-columns:1fr 1fr}.section-grid{grid-template-columns:1fr}.photo-card{min-height:300px}.hero{padding:40px 32px}}@media (width<=700px){.sidebar{display:none}.main-content{margin-left:0}.page{padding:24px 16px 96px}.mobile-nav{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);padding:8px 5px calc(7px + env(safe-area-inset-bottom));background:#0f1411eb;border-radius:18px;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:10px;left:10px;right:10px}.mobile-nav button{color:#69746d;cursor:pointer;background:0 0;border:0;place-items:center;gap:3px;font-size:15px;display:grid}.mobile-nav button small{font-size:7px}.mobile-nav button.active{color:#a292ef}.hero{min-height:420px;padding:36px 24px}.hero h1{font-size:56px}.hero-actions{flex-direction:column;align-items:flex-start}.hero-actions button{width:100%}.section-grid,.three-grid,.quick-grid,.thirteen-grid,.idea-grid,.coupon-grid,.envelope-grid,.favourite-grid{grid-template-columns:1fr}.photo-card{min-height:380px}.countdown{gap:14px}.countdown b{font-size:27px}.filters{display:grid}.roulette{flex-direction:column;align-items:flex-start}.roulette button{width:100%}.book-stage{gap:6px}.book{width:calc(100vw - 82px);height:65vh;min-height:460px;padding:10px}.paper-page{padding:22px}.photo-mount{padding:8px}.book-caption p{font-size:15px}.book-arrow{flex:none;width:34px;height:34px}.mini-gallery img{height:190px}.forest-panel{min-height:240px}.two-input{grid-template-columns:1fr}.letter-modal{padding:44px 28px}.quote-card p{font-size:18px}}@media (width<=420px){.hero h1{font-size:50px}.feature-card{padding:22px}.quick-card{padding:18px}.book{height:61vh;min-height:430px}.page-title h1{font-size:38px}.favourite-card{min-height:90px}.thirteen-footer{font-size:60px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.backup-row{gap:8px;margin-top:14px;display:flex}.import-button{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:12px;justify-content:center;align-items:center;padding:12px 16px;font-weight:750;color:#c8ceca!important;text-transform:none!important;letter-spacing:0!important;margin:0!important;font-size:12px!important;display:inline-flex!important}.import-button input{display:none}.backup-row .secondary{padding:12px 16px}.auth-loading,.login-page{background:radial-gradient(circle at 15% 15%,#2d7b5324,#0000 32%),radial-gradient(circle at 85% 10%,#7957e829,#0000 30%),#0b0f0d;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.auth-loading{color:#8f9b94;align-content:center;gap:18px}.auth-loading p{letter-spacing:.08em;text-transform:uppercase;font-size:12px}.login-page{padding:24px}.login-glow{filter:blur(80px);opacity:.24;pointer-events:none;border-radius:50%;position:absolute}.login-green{background:#2d7b53;width:360px;height:360px;bottom:-80px;left:-100px}.login-purple{background:#7957e8;width:380px;height:380px;top:-80px;right:-120px}.login-card{z-index:1;background:linear-gradient(145deg,#141c17f7,#110f1af7);border:1px solid #ffffff1c;border-radius:28px;width:min(460px,100%);padding:40px;position:relative;box-shadow:0 35px 100px #0006}.login-brand{background:linear-gradient(135deg,var(--green2),var(--purple2));border-radius:19px;grid-template-columns:1fr auto 1fr;place-items:center;width:58px;height:58px;margin-bottom:24px;font-weight:800;display:grid}.login-brand i{opacity:.45;font-style:normal}.login-card h1{letter-spacing:-.055em;margin:8px 0;font-size:46px}.login-card>p{color:#8f9a93;margin:0 0 28px;font-size:13px;line-height:1.6}.login-card form{gap:10px;display:grid}.login-card label{text-transform:uppercase;letter-spacing:.12em;color:#7f8a83;margin-top:8px;font-size:9px}.login-card input,.date-form input,.date-form select,.date-form textarea{border:1px solid var(--line);color:#eef0ee;background:#0e1411;border-radius:12px;outline:none;width:100%;padding:12px 13px}.login-card input:focus,.date-form input:focus,.date-form select:focus,.date-form textarea:focus{border-color:#7957e873;box-shadow:0 0 0 3px #7957e812}.identity-picker{grid-template-columns:1fr 1fr;gap:8px;display:grid}.identity-picker button{border:1px solid var(--line);color:#89958e;text-align:left;cursor:pointer;background:#ffffff06;border-radius:14px;padding:13px}.identity-picker button.active{color:#fff;background:linear-gradient(135deg,#2d7b5329,#7957e814);border-color:#5cba7d59}.identity-picker b,.identity-picker small{display:block}.identity-picker b{font-size:13px}.identity-picker small{color:#7e8982;margin-top:3px;font-size:9px}.login-submit{width:100%;margin-top:10px}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-error{color:#e78d95;background:#d95b6714;border:1px solid #d95b6747;border-radius:10px;padding:10px 12px;font-size:11px}.login-dev-note{color:#5f6a63;margin-top:20px;font-size:9px;line-height:1.5;display:block}.sidebar-user{border-top:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;margin-top:auto;padding:15px 8px 12px;display:grid}.user-avatar{background:linear-gradient(135deg,#2d7b534d,#7957e84d);border-radius:11px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.sidebar-user b,.sidebar-user small{display:block}.sidebar-user b{font-size:11px}.sidebar-user small{color:#6f7a73;margin-top:2px;font-size:8px}.sidebar-user button{color:#747f78;cursor:pointer;background:0 0;border:0;padding:5px;font-size:8px}.sidebar-foot{margin-top:0}.app-alert{color:#e39aa0;background:#d95b6714;border:1px solid #d95b6740;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;font-size:11px;display:flex}.app-alert button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:18px}.loading-card{color:#839087;padding:28px;font-size:12px}.date-create{margin-top:18px;padding:22px}.date-create-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.date-create-head h2{margin:6px 0;font-size:20px}.date-create-head p{color:#7e8982;max-width:560px;margin:0;font-size:10px;line-height:1.55}.date-form{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;padding-top:20px;display:grid}.date-form label{text-transform:uppercase;letter-spacing:.1em;color:#7f8b83;gap:6px;font-size:9px;display:grid}.date-form .wide{grid-column:1/-1}.date-form textarea{resize:vertical;line-height:1.5}.date-form select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#748079 50%),linear-gradient(135deg,#748079 50%,#0000 50%);background-position:calc(100% - 17px),calc(100% - 12px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}.date-form option{background:#111713}.form-actions{justify-content:flex-end;gap:8px;flex-direction:row!important;display:flex!important}.idea-tags{flex-wrap:wrap;margin:10px 0 12px;justify-content:flex-start!important;gap:6px!important;display:flex!important}.idea-tags span{border:1px solid var(--line);color:#87928b;background:#ffffff06;border-radius:8px;padding:5px 7px;font-size:8px}.idea-card p b{color:#a8b0ab}.idea-actions{border-top:1px solid var(--line);padding-top:8px;justify-content:space-between!important;align-items:center!important;margin-top:10px!important;display:flex!important}.idea-actions button{color:#8e75e7;cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:9px}.idea-actions .text-danger{color:#b46d74}.primary:disabled,.secondary:disabled{opacity:.45;cursor:not-allowed}.new-book{isolation:isolate;transform-style:preserve-3d;overflow:hidden}.book-static-page,.flip-sheet{transform-style:preserve-3d;position:absolute;inset:16px}.book-static-page{z-index:1}.book-face{color:#292721;backface-visibility:hidden;contain:paint;background:#e9e3d6;border-radius:4px 14px 14px 4px;flex-direction:column;padding:35px;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:inset 18px 0 28px #5447361f}.flip-sheet{z-index:3;transform-origin:0;will-change:transform;pointer-events:none}.flip-sheet.flip-prev{transform-origin:100%;animation:.64s cubic-bezier(.22,.72,.19,1) forwards flipPrevSmooth}@keyframes flipNextSmooth{0%{transform:rotateY(0)}to{transform:rotateY(-179.8deg)}}@keyframes flipPrevSmooth{0%{transform:rotateY(0)}to{transform:rotateY(179.8deg)}}.flip-front{transform:rotateY(0)}.flip-back{transform:rotateY(180deg);box-shadow:inset -18px 0 28px #5447361f}.book-spine{z-index:5;pointer-events:none;background:linear-gradient(90deg,#322a1f33,#ffffff0f,#0000);border-radius:4px 0 0 4px;width:22px;position:absolute;top:16px;bottom:16px;left:15px}.new-book .photo-mount img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.book-dots button{touch-action:manipulation}.claim-meta{color:#829088;gap:2px;font-size:8px;display:grid;position:absolute;bottom:67px;left:22px;right:22px}.claim-meta b{color:#aeb8b1;font-size:9px}.coupon-actions{align-items:center;gap:5px;display:flex}.coupon-actions small{color:#6f7c74;font-size:8px}.coupon-bottom button.reset-coupon{color:#c98b91}.audit-panel{margin-top:28px;padding:22px}.audit-head{justify-content:space-between;align-items:center;gap:15px;display:flex}.audit-head h2{margin:6px 0 0;font-size:20px}.muted-copy{color:#78837c;font-size:11px}.audit-list{border-top:1px solid var(--line);margin-top:18px}.audit-row{border-bottom:1px solid var(--line);grid-template-columns:10px 1fr auto;align-items:start;gap:12px;padding:13px 2px;display:grid}.audit-dot{background:#648f75;border-radius:50%;width:6px;height:6px;margin-top:5px}.audit-row b{text-transform:capitalize;font-size:10px}.audit-row p{color:#7d8981;margin:3px 0 0;font-size:9px;line-height:1.5}.audit-row time{color:#626d66;white-space:nowrap;font-size:8px}.qr-modal,.terms-modal{background:linear-gradient(145deg,#151d18,#15131d);width:min(520px,100%);max-height:90vh;padding:30px;position:relative;overflow:auto}.qr-modal h2,.terms-modal h2{letter-spacing:-.04em;margin:8px 0;font-size:28px}.qr-modal>p,.terms-modal>p{color:#8e9992;font-size:11px;line-height:1.6}.modal-x{color:#87918b;cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:12px;right:15px}.coupon-qr{background:#fff;border-radius:16px;width:min(320px,80vw);height:auto;margin:22px auto;padding:10px;display:block}.qr-loading{color:#718078;place-items:center;height:240px;display:grid}.claim-url{white-space:nowrap;text-overflow:ellipsis;border:1px solid var(--line);color:#7f8d84;background:#0d1210;border-radius:10px;padding:10px;font-size:9px;display:block;overflow:hidden}.qr-warning{color:#d0ad71;background:#d6a14a12;border:1px solid #d6a14a3d;border-radius:10px;margin-top:10px;padding:10px;font-size:9px;line-height:1.5}.qr-modal>small{color:#69756d;margin-top:11px;font-size:8px;line-height:1.5;display:block}.usage-agreement{background:#7957e80e;border:1px solid #7957e833;border-radius:14px;margin:18px 0;padding:16px}.usage-agreement h3{margin:0 0 8px;font-size:13px}.usage-agreement p{color:#a3aba6;margin:0;font-size:10px;line-height:1.65}.terms-check{color:#a6aea9;align-items:flex-start;gap:10px;font-size:10px;line-height:1.5;display:flex}.terms-check input{accent-color:#5d8c70;margin-top:2px}.claim-button{width:100%;margin-top:16px}.modal-cancel{width:100%;margin-top:8px}@media (width<=700px){.login-card{padding:30px 22px}.date-create-head{flex-direction:column;align-items:flex-start}.date-create-head>button{width:100%}.date-form{grid-template-columns:1fr}.date-form .wide{grid-column:auto}.form-actions{grid-template-columns:1fr 1fr;display:grid!important}.book-static-page,.flip-sheet{inset:10px}.book-face{padding:22px}.book-spine{top:10px;bottom:10px;left:9px}.audit-row{grid-template-columns:10px 1fr}.audit-row time{grid-column:2}.qr-modal,.terms-modal{padding:24px 18px}.coupon{min-height:300px}.claim-meta{bottom:74px}}.settings-wide{max-width:1500px}.settings-columns{grid-template-columns:minmax(300px,.65fr) minmax(600px,1.35fr);align-items:start;gap:14px;display:grid}.shared-editor{padding:24px}.editor-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.editor-heading h2{margin:6px 0;font-size:22px}.editor-heading p{max-width:620px}.editor-list{gap:10px;margin-top:18px;display:grid}.editor-entry{border:1px solid var(--line);background:#ffffff05;border-radius:14px;grid-template-columns:38px 120px 1fr auto;align-items:start;gap:12px;padding:12px;display:grid}.story-editor-entry{grid-template-columns:38px 1fr auto}.editor-index{color:#657169;padding-top:8px;font-size:9px}.editor-preview{background:#0d120f;border-radius:10px;width:120px;height:120px;overflow:hidden}.editor-preview img,.story-photo-row img{object-fit:cover;width:100%;height:100%}.empty-preview{color:#59635d;place-items:center;height:100%;font-size:9px;display:grid}.editor-fields{gap:8px;display:grid}.editor-fields input,.editor-fields textarea,.editor-fields select,.image-chooser select{border:1px solid var(--line);color:#e8ebe9;background:#0e1411;border-radius:9px;width:100%;padding:9px 10px;font-size:10px}.editor-fields textarea{resize:vertical}.editor-actions{gap:5px;display:grid}.editor-actions button{border:1px solid var(--line);cursor:pointer;background:#ffffff09;border-radius:8px;width:30px;height:30px}.editor-actions button:disabled{opacity:.3}.editor-actions .text-danger{color:#cf747d}.image-chooser{grid-template-columns:1fr auto;align-items:center;gap:7px;display:grid}.image-chooser .import-button{white-space:nowrap;margin:0!important}.editor-save{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:14px;padding-top:14px;display:flex}.editor-save span{color:#6d7971;font-size:9px}.save-toast{z-index:90;color:#bcd5c5;background:#193224;border:1px solid #5da6774d;border-radius:12px;padding:11px 14px;font-size:10px;position:fixed;top:24px;right:24px;box-shadow:0 14px 40px #0000004d}.visibility-check{border:1px solid var(--line);border-radius:9px;justify-content:flex-start;padding:8px 10px;align-items:center!important;gap:8px!important;margin:0!important;display:flex!important}.visibility-check input{width:auto!important}.story-photo-editor{gap:8px;display:grid}.story-photo-row{grid-template-columns:72px 1fr auto;align-items:center;gap:8px;display:grid}.story-photo-row img{border-radius:8px;height:58px}.photo-remove{color:#c67179;cursor:pointer;background:0 0;border:0;font-size:9px}.add-story-photo{width:max-content}.book-photo-placeholder{color:#8b8272;place-items:center;height:100%;font-family:Georgia,serif;font-style:italic;display:grid}.book-caption h3{color:#2d2a24;margin:8px 0 0;font-family:Georgia,serif;font-size:19px}.planner-modal{width:min(560px,100%);padding:28px;position:relative}.planner-modal h2{margin:7px 0;font-size:28px}.planner-modal>p{color:#89958d;font-size:11px;line-height:1.6}.planner-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.planner-fields label{text-transform:uppercase;letter-spacing:.1em;color:#7f8b83;gap:6px;font-size:9px;display:grid}.planner-fields .wide{grid-column:1/-1}.planner-fields input{border:1px solid var(--line);color:#eef0ee;background:#0d1310;border-radius:10px;width:100%;padding:11px}.idea-action-cluster{flex-wrap:wrap;gap:10px;display:flex}.coupon-claim-open{font-weight:800;color:#fff!important;background:linear-gradient(135deg,#2f7551,#6648c8)!important}.same-device-claim{width:100%;margin-top:12px}.calendar-page{max-width:1420px}.calendar-shell{padding:20px}.calendar-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:14px;display:grid}.calendar-toolbar>div{text-align:center}.calendar-toolbar h2{margin:4px 0;font-size:28px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:18px}.calendar-weekdays span{text-align:center;text-transform:uppercase;letter-spacing:.12em;color:#68746c;border-right:1px solid var(--line);padding:9px;font-size:8px}.calendar-grid{border-left:1px solid var(--line);border-top:1px solid var(--line)}.calendar-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff03;min-height:135px;padding:9px;overflow:hidden}.calendar-cell.outside{opacity:.28}.calendar-cell.today{background:#7957e809;box-shadow:inset 0 0 0 1px #7957e873}.calendar-daynum{color:#8d9891;margin-bottom:7px;font-size:9px}.calendar-event{border-radius:7px;margin-bottom:5px;padding:6px 7px;font-size:8px;line-height:1.3}.calendar-event b,.calendar-event span,.calendar-event small{display:block}.calendar-event b{letter-spacing:.08em;font-size:7px}.calendar-event small{opacity:.7;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.date-event{background:linear-gradient(135deg,#2d7b533d,#7957e829);border:1px solid #608e702e}.reminder-event{color:#929d96;background:#ffffff0b}.calendar-lower{grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px;display:grid}.upcoming-dates,.reminder-panel{padding:22px}.upcoming-dates h2,.reminder-panel h2{margin:6px 0 14px;font-size:21px}.upcoming-date{border-bottom:1px solid var(--line);grid-template-columns:52px 1fr;align-items:center;gap:13px;padding:12px 0;display:grid}.upcoming-date .date-badge{place-items:center;width:48px;height:52px;padding:5px;display:grid}.upcoming-date .date-badge b{font-size:18px;line-height:1}.upcoming-date .date-badge span{font-size:7px}.upcoming-date h3{margin:0 0 4px;font-size:13px}.upcoming-date p{color:#9aa59e;margin:0;font-size:10px}.upcoming-date small{color:#68736c;font-size:8px}.compact-reminder{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;margin-top:14px;padding:14px 0 0}.mobile-more-backdrop{display:none}@media (width<=1100px){.settings-columns{grid-template-columns:1fr}.calendar-cell{min-height:110px}.calendar-lower{grid-template-columns:1fr}}@media (width<=700px){.settings-wide{padding-bottom:110px}.editor-heading{flex-direction:column}.editor-heading>button{width:100%}.editor-entry,.story-editor-entry{grid-template-columns:30px 1fr}.editor-preview{grid-column:2;width:100%;height:180px}.editor-fields{grid-column:2}.editor-actions{grid-column:2;display:flex}.image-chooser{grid-template-columns:1fr}.story-photo-row{grid-template-columns:58px 1fr}.story-photo-row .photo-remove{grid-column:2}.planner-fields{grid-template-columns:1fr}.planner-fields .wide{grid-column:auto}.calendar-shell{padding:10px;overflow-x:auto}.calendar-toolbar{min-width:720px;position:sticky;left:0}.calendar-weekdays,.calendar-grid{min-width:720px}.calendar-cell{min-height:105px}.calendar-lower{grid-template-columns:1fr}.mobile-more-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:80;background:#030504b3;align-items:flex-end;padding:10px;display:flex;position:fixed;inset:0}.mobile-more-sheet{border:1px solid var(--line);width:100%;padding:10px 14px calc(18px + env(safe-area-inset-bottom));background:#111713;border-radius:22px;box-shadow:0 -20px 60px #0006}.mobile-more-handle{background:#3d4740;border-radius:10px;width:40px;height:4px;margin:2px auto 14px}.mobile-more-sheet h2{margin:0 6px 10px;font-size:15px}.mobile-more-sheet>button{border:0;border-bottom:1px solid var(--line);color:#a5aea8;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:12px;width:100%;padding:13px 8px;display:flex}.mobile-more-sheet>button span{text-align:center;width:24px}.mobile-more-sheet>button.active{color:#aa94f2}.mobile-more-sheet .mobile-logout{color:#b66b73;border-bottom:0;margin-top:4px}.mobile-nav{grid-template-columns:repeat(6,1fr)}}:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.22,.72,.19,1);--ease-spring:cubic-bezier(.2,.9,.25,1.18)}html{scroll-behavior:smooth}body{overflow-x:hidden}.app-shell,.login-page{isolation:isolate;position:relative}.main-content{z-index:2;position:relative}.sidebar,.mobile-nav{z-index:40}.route-stage{animation:routeEnter .52s var(--ease-out) both;transform-origin:50% 20%}@keyframes routeEnter{0%{opacity:0;transform:translateY(10px)scale(.995)}to{opacity:1;transform:translate(0,0)scale(1)}}.card,.quick-card,.date-card,.coupon,.open-card,.favourite-card,.milestone-body,.calendar-cell{transition:transform .32s var(--ease-out),border-color .32s ease,background-color .32s ease,box-shadow .32s ease}.quick-card:hover,.date-card:hover{border-color:#ffffff24;transform:translateY(-3px);box-shadow:0 18px 42px #0000002e}.primary,.secondary,.book-arrow,.mobile-book-controls button{transition:transform .22s var(--ease-out),filter .22s ease,opacity .22s ease,background .22s ease}.primary:hover,.secondary:hover,.book-arrow:hover:not(:disabled),.mobile-book-controls button:hover:not(:disabled){transform:translateY(-2px)}.primary:active,.secondary:active,.book-arrow:active:not(:disabled),.mobile-book-controls button:active:not(:disabled){transform:translate(0,0)scale(.97)}.ambient-layer{z-index:0;pointer-events:none;color:#5c8b6e;position:fixed;inset:0;overflow:hidden}.ambient-willow{opacity:.105;filter:drop-shadow(0 0 32px #2d7b5312);will-change:transform;width:min(620px,47vw);height:auto;position:absolute;bottom:-22px;right:-100px;transform:translateZ(0)}.willow-trunk{transform-origin:76% 95%;animation:9s ease-in-out infinite alternate willowTrunk}.willow-bough{transform-box:fill-box;transform-origin:top}.bough-a{animation:5.7s ease-in-out infinite alternate willowBough}.bough-b{animation:7.2s ease-in-out -2s infinite alternate-reverse willowBough}.willow-leaves{transform-origin:50%;animation:4.8s ease-in-out infinite alternate willowLeaves}@keyframes willowTrunk{0%{transform:rotate(-.65deg)translate(-2px)}to{transform:rotate(.8deg)translate(3px)}}@keyframes willowBough{0%{transform:rotate(-2.2deg)translate(-3px)}to{transform:rotate(2.8deg)translate(4px,2px)}}@keyframes willowLeaves{0%{transform:translate(-2px)}to{transform:translate(5px,1px)}}.ambient-ghost{color:#a7cab3;opacity:.09;filter:drop-shadow(0 0 14px #94c7a526);will-change:transform,opacity;width:34px;height:auto;position:absolute}.ghost-one{animation:13s ease-in-out infinite ghostDriftA;top:14%;left:30%}.ghost-two{width:25px;animation:17s ease-in-out -4s infinite ghostDriftB;top:33%;right:10%}.ghost-three{width:29px;animation:19s ease-in-out -8s infinite reverse ghostDriftA;bottom:12%;left:8%}@keyframes ghostDriftA{0%,to{opacity:.045;transform:translate(0,0)rotate(-3deg)}50%{opacity:.12;transform:translate(14px,-20px)rotate(4deg)}}@keyframes ghostDriftB{0%,to{opacity:.04;transform:translateY(8px)rotate(4deg)}50%{opacity:.11;transform:translate(-18px,-16px)rotate(-5deg)}}.ambient-star{color:#a993ff;opacity:.11;font-size:13px;animation:5s ease-in-out infinite starBreath;position:absolute}.star-a{top:23%;left:21%}.star-b{animation-delay:-2s;top:13%;right:26%}.star-c{color:#83b899;animation-delay:-3.7s;bottom:17%;left:47%}@keyframes starBreath{0%,to{opacity:.04;transform:scale(.8)rotate(0)}50%{opacity:.18;transform:scale(1.15)rotate(10deg)}}.ambient-birthday{color:#79ae8f}.ambient-birthday .ambient-willow{opacity:.14}.ambient-birthday .ambient-ghost{opacity:.13}.hero{transform:translateZ(0)}.hero-ghost-mark{opacity:.7;background:linear-gradient(#8bbc9d1f,#7957e80b);border-radius:48% 48% 14px 14px;width:48px;height:58px;animation:6s ease-in-out infinite heroGhost;position:absolute;top:22%;right:9%}.hero-ghost-mark:after{content:"";opacity:.65;background:radial-gradient(circle at 8px 0,#0000 8px,#18201b 9px) 0 0/16px 16px;height:18px;position:absolute;bottom:-8px;left:0;right:0}.hero-ghost-mark i{background:#080c0ab3;border-radius:50%;width:4px;height:6px;position:absolute;top:21px}.hero-ghost-mark i:first-child{left:15px}.hero-ghost-mark i:nth-child(2){right:15px}.hero-ghost-mark b{border-bottom:2px solid #080c0a80;border-radius:50%;width:11px;height:4px;position:absolute;top:36px;left:19px}@keyframes heroGhost{0%,to{transform:translate(0,0)rotate(-2deg)}50%{transform:translateY(-11px)rotate(2deg)}}.hero-birthday-ribbon{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:.18em;color:#d4c9ff;background:#070b096b;border:1px solid #ffffff1a;border-radius:999px;padding:9px 14px;font-size:9px;position:absolute;top:26px;right:28px}.hero-birthday-ribbon span{color:#7fb28f;margin:0 5px}.birthday-atmosphere{z-index:5;pointer-events:none;position:fixed;inset:0;overflow:hidden}.birthday-banner{color:#eeece76b;letter-spacing:.22em;text-transform:uppercase;animation:bannerDrop .9s var(--ease-out) both;align-items:center;gap:13px;font-size:8px;font-weight:800;display:flex;position:absolute;top:14px;left:calc(50vw + 124px);transform:translate(-50%)}.birthday-banner i{color:#7957e8b3;font-style:normal;animation:2.6s ease-in-out infinite starBreath}@keyframes bannerDrop{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}.balloon-field{position:absolute;inset:0}.balloon{opacity:.16;will-change:transform;border-radius:50% 50% 48% 48%;width:38px;height:50px;animation:linear infinite balloonRise;position:absolute;bottom:-130px}.balloon i{border-radius:inherit;background:linear-gradient(135deg,#6cb083f2,#234e358c);position:absolute;inset:0;box-shadow:inset -8px -10px 16px #0000002e}.balloon:nth-child(2n) i{background:linear-gradient(135deg,#9374f4f2,#412c7e8c)}.balloon span{transform-origin:top;background:#ebebe433;width:1px;height:74px;animation:2.5s ease-in-out infinite alternate stringSway;position:absolute;top:48px;left:50%}.balloon-1{--balloon-scale:1;animation-duration:16s;animation-delay:-4s;left:4%}.balloon-2{--balloon-scale:.8;animation-duration:20s;animation-delay:-13s;left:18%}.balloon-3{--balloon-scale:.7;animation-duration:18s;animation-delay:-8s;left:36%}.balloon-4{--balloon-scale:.9;animation-duration:22s;animation-delay:-16s;left:52%}.balloon-5{--balloon-scale:.75;animation-duration:17s;animation-delay:-3s;left:67%}.balloon-6{--balloon-scale:.88;animation-duration:21s;animation-delay:-11s;left:81%}.balloon-7{--balloon-scale:.65;animation-duration:19s;animation-delay:-6s;left:92%}.balloon-8{--balloon-scale:.6;animation-duration:24s;animation-delay:-19s;left:27%}@keyframes balloonRise{0%{transform:translate3d(0,0,0) rotate(-2deg) scale(var(--balloon-scale,1))}25%{transform:translate3d(12px,-30vh,0) rotate(3deg) scale(var(--balloon-scale,1))}50%{transform:translate3d(-8px,-58vh,0) rotate(-3deg) scale(var(--balloon-scale,1))}75%{transform:translate3d(10px,-86vh,0) rotate(2deg) scale(var(--balloon-scale,1))}to{transform:translate3d(-4px,-125vh,0) rotate(-2deg) scale(var(--balloon-scale,1))}}@keyframes stringSway{0%{transform:rotate(-5deg)}to{transform:rotate(6deg)}}.birthday-ghost{color:#b5a7ef;opacity:.12;width:48px;animation:8s ease-in-out infinite ghostDriftB;bottom:7%;right:3.5%}.desktop-book-stage{display:flex}.mobile-book-stage{display:none}.new-book{backface-visibility:hidden;transform:translateZ(0)}.book-static-page,.flip-sheet,.book-face{transform:translateZ(0)}.flip-sheet{will-change:transform;contain:layout paint}.flip-sheet:after{content:"";opacity:0;pointer-events:none;backface-visibility:hidden;background:linear-gradient(90deg,#0000 38%,#241d1442 76%,#0c0a0857);border-radius:4px 14px 14px 4px;position:absolute;inset:0}.flip-sheet.flip-next{animation:flipNextV4 .76s var(--ease-soft) forwards}.flip-sheet.flip-prev{animation:flipPrevV4 .76s var(--ease-soft) forwards}.flip-sheet.flip-next:after,.flip-sheet.flip-prev:after{animation:.76s ease-in-out forwards pageShadowV4}@keyframes flipNextV4{0%{transform:rotateY(0)translateZ(1px)}38%{transform:rotateY(-78deg)translateZ(8px)}62%{transform:rotateY(-112deg)translateZ(8px)}to{transform:rotateY(-179.6deg)translateZ(1px)}}@keyframes flipPrevV4{0%{transform:rotateY(0)translateZ(1px)}38%{transform:rotateY(78deg)translateZ(8px)}62%{transform:rotateY(112deg)translateZ(8px)}to{transform:rotateY(179.6deg)translateZ(1px)}}@keyframes pageShadowV4{0%,to{opacity:0}45%,60%{opacity:.78}}.photo-mount img{backface-visibility:hidden;transform:translateZ(0)}.mobile-book-stage{width:100%;position:relative}.mobile-book-shell{background:#15130f;border-radius:22px;width:100%;padding:8px;position:relative;overflow:hidden;box-shadow:0 24px 54px #00000059,inset 7px 0 16px #00000047}.mobile-book-edge{z-index:4;pointer-events:none;background:linear-gradient(90deg,#00000052,#ffffff08,#0000);border-radius:8px 0 0 8px;width:14px;position:absolute;top:8px;bottom:8px;left:7px}.mobile-book-track{scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y;width:100%;display:flex;overflow:auto hidden}.mobile-book-track::-webkit-scrollbar{display:none}.mobile-page-snap{scroll-snap-align:center;scroll-snap-stop:always;flex:0 0 100%;width:100%;padding:0 2px;display:flex}.mobile-page-face{border-radius:7px 16px 16px 7px;width:100%;min-height:min(650px,68vh);backface-visibility:visible!important;height:auto!important;padding:22px!important;display:flex!important;position:relative!important;inset:auto!important;transform:none!important}.mobile-page-face .photo-mount{min-height:320px}.mobile-page-face .book-caption{padding-top:14px}.mobile-page-face .book-caption p{margin-bottom:4px}.mobile-book-controls{justify-content:center;align-items:center;gap:18px;margin:12px 0 0;display:flex}.mobile-book-controls button{border:1px solid var(--line);cursor:pointer;background:#ffffff0a;border-radius:12px;width:42px;height:36px}.mobile-book-controls button:disabled{opacity:.25}.mobile-book-controls span{text-align:center;color:#7d8981;letter-spacing:.12em;min-width:62px;font-size:9px}.prebirthday-lock{z-index:9999;color:#f1efe9;background:radial-gradient(circle at 50% 78%,#16402a2e,#0000 38%),radial-gradient(circle at 76% 14%,#5d41aa1f,#0000 32%),#050806;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.prebirthday-vignette{z-index:4;pointer-events:none;background:radial-gradient(circle,#0000 20%,#02040359 62%,#000000c7 100%);position:absolute;inset:-2px}.prebirthday-lock .ambient-willow{opacity:.18;color:#467d5a;filter:blur(.1px)drop-shadow(0 0 50px #2f66431f);z-index:1;width:min(780px,65vw);bottom:-7%;right:-6%}.prebirthday-lock .ambient-willow.dramatic .willow-trunk{animation-duration:7s}.prebirthday-lock .ambient-willow.dramatic .bough-a{animation-duration:4.4s}.prebirthday-lock .ambient-willow.dramatic .bough-b{animation-duration:5.2s}.countdown-ghost{z-index:2;color:#9fb6a6;opacity:.075}.ghost-count-a{width:34px;animation:11s ease-in-out infinite ghostDriftA;top:20%;left:12%}.ghost-count-b{width:25px;animation:15s ease-in-out -4s infinite ghostDriftB;bottom:18%;right:17%}.countdown-stars{z-index:2;position:absolute;inset:0}.countdown-stars i{color:#9c88e7;opacity:.08;font-style:normal;animation:4.5s ease-in-out infinite starBreath;position:absolute}.countdown-stars i:first-child{top:30%;left:20%}.countdown-stars i:nth-child(2){bottom:18%;left:34%}.countdown-stars i:nth-child(3){animation-delay:-1.8s;top:21%;right:24%}.countdown-stars i:nth-child(4){animation-delay:-3s;bottom:28%;right:38%}.ominous-countdown{z-index:5;text-align:center;width:min(900px,90vw);animation:countdownReveal 1.3s var(--ease-out) both;position:relative}.countdown-whisper{color:#e8ebe66b;letter-spacing:.08em;margin-bottom:24px;font-family:Georgia,serif;font-size:clamp(13px,1.4vw,17px);font-style:italic;display:block}.countdown-clock{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:clamp(7px,2vw,22px);display:flex}.countdown-clock b{letter-spacing:-.075em;text-shadow:0 0 50px #5f8f6d14;font-size:clamp(70px,15vw,190px);font-weight:280;line-height:.86}.countdown-clock em{color:#a796e752;font-size:clamp(35px,6vw,84px);font-style:normal;font-weight:200;animation:1s step-end infinite colonPulse}.ominous-countdown small{text-transform:uppercase;letter-spacing:.42em;color:#dce1dc4d;margin-top:27px;font-size:8px;display:block}.countdown-rule{background:linear-gradient(90deg,#0000,#6d977838,#876fdb2e,#0000);width:min(460px,64vw);height:1px;margin:0 auto 30px}.ominous-countdown .countdown-rule:last-child{margin:30px auto 0}@keyframes colonPulse{0%,49%{opacity:.8}50%,to{opacity:.18}}@keyframes countdownReveal{0%{opacity:0;filter:blur(7px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translate(0,0)}}@media (width<=700px){.route-stage{animation-duration:.4s}.ambient-willow{opacity:.075;width:470px;bottom:40px;right:-210px}.ghost-one{top:10%;left:8%}.ghost-two{top:27%;right:4%}.ghost-three{display:none}.hero-ghost-mark{top:16%;right:8%;transform:scale(.78)}.hero-birthday-ribbon{padding:7px 10px;font-size:7px;top:18px;right:18px}.birthday-banner{gap:7px;width:max-content;font-size:6px;top:8px;left:50%}.balloon{opacity:.115}.balloon:nth-child(n+6){display:none}.desktop-book-stage{display:none!important}.mobile-book-stage{display:block}.book-page-wrap{padding-left:14px!important;padding-right:14px!important}.book-page-wrap .compact-title{padding:0 5px}.mobile-page-face{min-height:64vh;padding:17px!important}.mobile-page-face .photo-mount{flex:none;height:min(52vh,500px);min-height:0;padding:8px}.mobile-page-face .photo-mount img{object-fit:contain;background:#f7f5ef;width:100%;height:100%}.mobile-page-face .book-caption h3{font-size:17px}.mobile-page-face .book-caption p{font-size:12px;line-height:1.5}.book-dots{scrollbar-width:none;justify-content:flex-start;max-width:90vw;padding:0 16px;overflow-x:auto}.book-dots::-webkit-scrollbar{display:none}.prebirthday-lock .ambient-willow{opacity:.15;width:620px;bottom:-2%;right:-310px}.countdown-clock{gap:7px}.countdown-clock b{font-size:clamp(58px,22vw,98px)}.countdown-clock em{font-size:32px}.countdown-whisper{margin-bottom:20px}.ominous-countdown small{letter-spacing:.34em;margin-top:22px}.countdown-rule{width:72vw}.ghost-count-a{top:14%;left:7%}.ghost-count-b{bottom:16%;right:10%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.route-stage,.ambient-willow *,.ambient-ghost,.ambient-star,.hero-ghost-mark,.birthday-banner,.balloon,.balloon span,.birthday-ghost,.countdown-stars i,.ominous-countdown,.countdown-clock em{animation:none!important}.card,.quick-card,.date-card,.primary,.secondary{transition:none!important}.mobile-book-track{scroll-behavior:auto}.flip-sheet.flip-next{animation:.01ms linear forwards flipNextReduced}.flip-sheet.flip-prev{animation:.01ms linear forwards flipPrevReduced}@keyframes flipNextReduced{to{transform:rotateY(-179.6deg)}}@keyframes flipPrevReduced{to{transform:rotateY(179.6deg)}}}
