:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223c31;background:#f6f7f2;font-synthesis:none;--ink:#223c31;--muted:#757e74;--lime:#d7ef90;--line:#e1e5db;--surface:#fff;--pink:#f6d3de}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{touch-action:manipulation}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #547755;outline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin:0}h1{font-size:clamp(34px,3.1vw,46px);letter-spacing:-1.8px;line-height:1.13;font-weight:650}h2{font-size:24px;letter-spacing:-.8px;font-weight:650}h3{font-size:16px;letter-spacing:-.25px;font-weight:650}p{line-height:1.65}small{font-size:12px;color:#6c776b}.icon{width:21px;height:21px;flex-shrink:0;vertical-align:middle}.muted{color:var(--muted);font-size:14px}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;line-height:1.6;margin-bottom:15px}.app-shell{min-height:100dvh}.sidebar{width:230px;position:fixed;inset:0 auto 0 0;border-right:1px solid var(--line);padding:36px 24px;background:#f1f3eb;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:10px;font-size:27px;font-weight:750;letter-spacing:-1.3px}.brandmark{display:inline-flex;justify-content:center;align-items:center;width:39px;height:39px;border-radius:12px;background:var(--lime);font-size:30px;letter-spacing:-3px;padding-right:4px;font-weight:800;transform:rotate(-5deg)}.brand-dot{font-size:11px;vertical-align:super;margin-left:3px;letter-spacing:0}.sidebar-label{font-size:8px;letter-spacing:1.7px;margin:42px 8px 18px;color:#7b8579;font-weight:650}.sidebar nav{display:grid;gap:9px}.nav-item{border:0;background:transparent;display:flex;align-items:center;gap:14px;text-align:left;padding:14px 15px;border-radius:11px;color:#758071;font-size:13px;font-weight:600;min-height:48px}.nav-item.active{background:#e1e9cf;color:var(--ink)}.sidebar-bottom{margin-top:auto;font-size:10px;color:#798274;display:flex;align-items:center;gap:7px;padding-top:40px}.sidebar-bottom>span:last-child{margin-left:auto}.online-dot,.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#548060}.workspace{margin-left:230px;min-height:100dvh}.topbar{height:85px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px}.desktop-breadcrumb{font-size:12px;color:#737c72}.desktop-breadcrumb>span{margin:0 16px;color:#b6bdb1}.top-actions{display:flex;gap:22px;align-items:center}.membership{display:flex;align-items:center;gap:7px;font-size:11px;color:#6e7968}.membership .icon{width:16px;height:16px}.avatar{width:34px;height:34px;min-height:34px;border:1px solid #d9dfd0;border-radius:50%;background:#e9edde;font-size:12px;font-weight:650}.mobile-brand,.bottom-nav{display:none}.content{max-width:1230px;margin:auto;padding:40px 48px 30px;outline:none}.welcome{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:29px;gap:15px}.welcome .muted{margin-top:14px}.edition{font-size:9px;letter-spacing:1px;font-weight:600;display:flex;align-items:center;gap:8px;white-space:nowrap;margin-bottom:4px}.dashboard{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:24px}.hero-card{border-radius:22px;overflow:hidden;background:#fff;border:1px solid var(--line)}.tile-art{height:212px;background:#dfebc8;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.letter-row{display:flex;gap:10px;z-index:1;transform:rotate(-6deg)}.letter{position:relative;background:#fcfff4;box-shadow:0 5px 0 #b0bd96,0 8px 14px #75885b2b;width:64px;height:72px;display:grid;place-items:center;border-radius:9px;font-size:39px;font-weight:650}.letter small{position:absolute;bottom:6px;right:8px;font-size:9px;color:#81916e}.letter-1{transform:translateY(-12px) rotate(8deg)}.letter-2{transform:translateY(5px) rotate(-2deg);background:#c7e67b}.letter-3{transform:translateY(-6px) rotate(12deg)}.orbit{position:absolute;border:1px solid #b8ca9b;border-radius:50%;width:470px;height:160px;transform:rotate(-25deg)}.orbit-b{width:310px;height:340px;transform:rotate(55deg)}.spark{position:absolute;color:#7b9a49;font-size:28px;animation:float 4s ease-in-out infinite}.spark.one{left:14%;top:40px}.spark.two{right:12%;bottom:39px;font-size:23px;animation-delay:-2s}.art-label{position:absolute;bottom:19px;text-transform:uppercase;font-size:7px;letter-spacing:2px;color:#6d8155}.hero-content{padding:26px 30px 24px}.tag{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:1.2px;font-weight:750;margin-bottom:10px;color:#677955}.tag .icon{width:13px;height:13px}.hero-content h2{font-size:31px;margin-bottom:10px}.hero-content p{max-width:370px;font-size:13px;color:var(--muted)}.hero-meta{display:flex;gap:22px;margin:19px 0 21px;font-size:11px;color:#64725e}.hero-meta span{display:flex;align-items:center;gap:6px}.hero-meta .icon{width:13px;height:13px}.primary,.secondary,.yes-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;border:0;border-radius:11px;width:100%;font-weight:650;font-size:14px;background:var(--lime);transition:background .2s,box-shadow .2s,transform .2s}.primary:hover{background:#c7e679;box-shadow:0 4px 14px #647d241c}.primary .icon{width:19px;height:19px}.hero-content .primary{justify-content:space-between;padding:0 20px}.hero-content>small{display:block;text-align:center;margin-top:13px;font-size:10px}.mini-card{border:1px solid var(--line);border-radius:18px;background:#fff;padding:24px;margin-bottom:18px}.mini-card p{font-size:13px;color:var(--muted);margin:12px 0}.card-title{display:flex;align-items:center;gap:8px}.card-title .icon{width:17px;height:17px}.card-title h3{font-size:13px}.session-number{font-size:49px;letter-spacing:-2px;font-weight:550;margin-top:24px}.session-number>span{font-size:10px;color:#7a8475;letter-spacing:0;margin-left:9px;font-weight:400}.little-bars{display:flex;gap:4px;margin:16px 0}.little-bars i{width:100%;height:6px;background:#edf0e6;border-radius:4px}.little-bars .filled{background:#93b94f}.text-button{background:transparent;border:0;display:inline-flex;align-items:center;gap:7px;padding:10px 0;font-size:12px;min-height:44px;font-weight:600}.text-button .icon{width:16px;height:16px}.tip{background:#f0eee3;border-color:#e6e3d7}.tip-icon{display:flex;background:#e4e1cf;width:36px;height:36px;border-radius:11px;align-items:center;justify-content:center;margin-bottom:22px}.tip .eyebrow{font-size:9px;color:#7c7a64;margin:0 0 9px}.tip h3{font-size:19px;line-height:1.4}.tip p{font-size:12px;color:#7c7b6c;margin-bottom:0}.help-card{border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;gap:9px;background:transparent;padding:14px;width:100%;font-size:11px}.help-card>.icon:last-child{margin-left:auto;width:16px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:23px 0 9px}.section-heading h2{font-size:17px;letter-spacing:-.4px}.section-heading .text-button{font-size:10px;color:#76816c}.game-grid,.discover-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.game-card{padding:0;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;text-align:left;transition:transform .2s}.game-card:hover{transform:translateY(-3px)}.game-illustration{height:105px;display:flex;align-items:center;justify-content:center;font-size:45px;font-weight:650;letter-spacing:-3px;position:relative}.purple .game-illustration{background:#e9e4f4;color:#8c7fa3}.peach .game-illustration{background:#f6e5d3;color:#b69470;font-size:34px;letter-spacing:5px}.game-illustration>span{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffffff77}.game-illustration .icon{width:12px;height:12px}.game-description{padding:16px}.game-description h3{font-size:14px}.game-description p{font-size:10px;color:#7d8277;line-height:1.5;margin-top:6px}.game-tag{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:7px;letter-spacing:.8px;color:#7d8676;margin-top:13px}.game-tag .icon{width:13px;height:13px}.desktop-footer{display:flex;justify-content:space-between;max-width:1230px;margin:auto;padding:10px 48px 25px;color:#969e8f;font-size:9px}.playing{padding-top:30px}.play-wrap{max-width:600px;margin:0 auto}.play-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:9px;letter-spacing:1px;font-weight:650;border-radius:30px;background:#eaf0df;padding:8px 12px;white-space:nowrap}.pill .icon{width:13px;height:13px}.icon-button{border:0;background:transparent;width:44px;height:44px;display:grid;place-items:center}.round-progress{margin:26px 0}.progress-label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:12px;color:#6f7c67}.progress-label strong{color:var(--ink)}.progress-label strong span{color:#9ba391}.progress-track{display:flex;gap:6px}.progress-track>span{height:5px;width:100%;border-radius:6px;background:#e2e7d9}.progress-track>.complete{background:#698849}.progress-track>.current{background:#bdd780}.question-card{background:white;border:1px solid var(--line);border-radius:22px;padding:35px;animation:arrive .3s ease}.question-symbol{width:49px;height:49px;display:grid;place-items:center;background:#edf3e2;border-radius:15px;margin-bottom:25px}.question-card>.eyebrow{color:#7c8a6c;font-size:9px}.question-card h1{font-size:29px;line-height:1.35;letter-spacing:-.9px;margin-bottom:30px}.question-card label{display:block;font-size:11px;font-weight:650;margin:0 0 9px}.input-wrap{margin-bottom:14px}.input-wrap input{width:100%;border:1.5px solid #dce4d2;border-radius:11px;padding:17px 16px;background:#fafcf6;color:var(--ink);font-size:16px}.input-wrap input::placeholder{font-size:13px;color:#939d88}.input-wrap input:disabled{opacity:1;color:#657657;background:#f3f6ed}.question-foot{display:flex;justify-content:center;margin-top:15px;color:#8a9580;font-size:11px;min-height:34px;align-items:center}.feedback{display:flex;gap:12px;padding:17px;border-radius:12px;margin:18px 0;animation:arrive .25s ease}.feedback.good{background:#eff6e3;color:#396a35}.feedback.bad{background:#fff0e8;color:#985a3a}.feedback strong{font-size:14px}.feedback p{font-size:12px;line-height:1.6;margin-top:5px}.feedback-symbol .icon{width:19px;height:19px}.feedback b{color:#2f732e}.hint{padding:12px;background:#f2f5e9;border-radius:9px;font-size:12px;color:#748260}.under-card{text-align:center;font-size:11px;color:#97a18c;margin-top:22px}.choices{display:grid;gap:13px}.choice{border:1.5px solid #e0e5d7;background:#fbfcf8;border-radius:12px;padding:18px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:14px;min-height:60px}.choice:hover,.choice.selected{border-color:#9bbc62;background:#edf5dd}.interlude{max-width:540px;text-align:center;margin:26px auto 35px;animation:arrive .6s ease}.burst-badge{margin:0 auto 26px;width:85px;height:85px;display:grid;place-items:center;border-radius:27px;transform:rotate(-8deg);background:#dceda9;box-shadow:0 0 0 14px #eaf1d8}.burst-badge .icon{width:39px;height:39px;transform:rotate(8deg)}.interlude .eyebrow{margin-top:35px}.interlude h1{font-size:40px}.interlude>p:not(.eyebrow){margin:20px 0;color:#7d8773;font-size:15px}.refill-card{padding:27px;background:#fff;border:1px solid var(--line);border-radius:20px;margin-top:28px}.refill-card h2{margin:16px 0 8px}.refill-card p{font-size:13px;color:#7d8773;margin-bottom:22px}.refill-card small{display:block;margin-top:16px}.interlude>.primary{margin:30px auto 10px;max-width:350px}.premium-emblem{font-size:110px;color:#b99840;line-height:1.5;animation:float 3s ease-in-out infinite}.premium h1{font-size:49px}.fine-print{font-size:11px!important;color:#929988;display:block}.reveal{padding-top:10px}.floating-hearts{font-size:28px;letter-spacing:30px;padding-left:30px;color:#ca6c8b}.floating-hearts span{display:inline-block;font-size:58px;animation:heartbeat 2s infinite}.script-name{font-family:Georgia,serif;font-style:italic;font-size:35px!important;color:#ae5272!important;margin:25px 0 14px!important}.reveal h1{font-size:51px;font-family:Georgia,serif;font-weight:500;letter-spacing:-1.7px;color:#623848}.yes-button{min-height:70px;font-size:20px;color:#fff;background:#ac5274;border-radius:19px;box-shadow:0 8px 0 #873e59,0 18px 35px #b7547433;margin-top:34px}.yes-button:hover{background:#974466}.no-playground{position:relative;width:100%;height:122px;margin-top:25px}.no-button{position:absolute;border:1px solid #ddd4d6;background:#fffbfc;padding:10px 20px;border-radius:20px;min-height:44px;font-size:13px;animation:hop .3s ease}.poof{display:block;padding-top:35px;color:#b18194;font-family:Georgia,serif;font-style:italic;animation:poof .5s ease}.celebration{position:relative;overflow:hidden;padding:25px 15px}.celebration .burst-badge{background:#f4d3df;color:#a65273}.closing-message{max-width:380px;margin:25px auto!important;font-family:Georgia,serif;font-size:24px!important;color:#886175!important}.together{border-top:1px solid #e9d8df;border-bottom:1px solid #e9d8df;padding:22px 0;font-size:13px;color:#a05d77}.together .icon{margin-right:7px;width:17px}.secondary{background:#fff;border:1px solid var(--line);margin-top:14px}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;left:calc(var(--i)*4.6%);top:-40px;font-style:normal;color:#db8daa;animation:confetti calc(3s + var(--i)*.08s) linear infinite;animation-delay:calc(var(--i)*-.19s);opacity:.45;font-size:calc(11px + var(--i)*.35px)}.page-intro{margin-bottom:30px}.page-intro .muted{margin-top:14px}.discover-grid{margin-bottom:25px}.discover-grid .game-illustration{height:150px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stat-value{display:block;font-size:50px;margin-bottom:10px}.trail{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.trail-item{display:grid;place-items:center;width:38px;height:38px;border-radius:10px}.trail-item.good{background:#e4efcf;color:#5f8046}.trail-item.bad{background:#f4e0d5;color:#b77d5c}.fact{border-top:1px solid var(--line);padding:18px 0 4px}.preference{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:15px}.preference span{color:#9e5d74}.setting{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 0;border-bottom:1px solid var(--line)}.setting:first-child{padding-top:0}.setting:last-child{border-bottom:0;padding-bottom:0}.setting p{margin:6px 0 0;font-size:12px}.setting h3{font-size:14px}.toggle{border:0;width:48px;height:29px;border-radius:30px;background:#dfe4d8;padding:4px;flex-shrink:0;position:relative}.toggle:after{content:'';position:absolute;inset:-8px 0}.toggle>span{display:block;width:21px;height:21px;border-radius:50%;background:white;box-shadow:0 1px 3px #0001;transition:transform .2s}.toggle.on{background:#78964c}.toggle.on>span{transform:translateX(19px)}.modal-backdrop{position:fixed;inset:0;background:#18322266;backdrop-filter:blur(5px);z-index:20;display:flex;align-items:center;justify-content:center;padding:22px}.dialog{background:#fcfdf9;border:1px solid #fff;border-radius:24px;padding:32px;width:100%;max-width:410px;position:relative;animation:arrive .2s ease}.modal-close{position:absolute;right:12px;top:12px}.dialog h2{font-size:25px;line-height:1.3}.dialog p{font-size:14px;color:#77836d;margin:17px 0 25px}.dev-panel{position:fixed;bottom:85px;right:12px;z-index:15;background:#18392f;color:white;font-size:12px;border-radius:8px;padding:12px;max-width:240px}.dev-panel label,.dev-panel small,.dev-panel button{display:block;margin-top:12px}.dev-panel select{max-width:125px}.dev-panel button{color:#223c31}.dev-panel small{color:#d6dfd3}.storage-notice{position:fixed;top:8px;left:50%;transform:translateX(-50%);background:#fff1c4;padding:10px 15px;border-radius:8px;z-index:30;font-size:12px;max-width:90vw}.loading{display:grid;place-items:center;gap:20px;height:100dvh}.loading p{align-self:start}:is(body,.theme-snapshot)[data-phase="3"]{--lime:#f1cddd;--line:#e9dee1;background:#fbf7f8}:is(body,.theme-snapshot)[data-phase="3"] .sidebar{background:#f4edef}:is(body,.theme-snapshot)[data-phase="3"] .nav-item.active{background:#ead9e1}:is(body,.theme-snapshot)[data-phase="3"] .tile-art{background:#eddae2}:is(body,.theme-snapshot)[data-phase="3"] .orbit{border-color:#d9bcc9}:is(body,.theme-snapshot)[data-phase="3"] .letter{box-shadow:0 5px 0 #c9a9b7;background:#fff9fc}:is(body,.theme-snapshot)[data-phase="3"] .letter-2{background:#efbfd2}:is(body,.theme-snapshot)[data-phase="3"] .spark{color:#ba839b}@keyframes float{50%{transform:translateY(-7px) rotate(5deg)}}@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes heartbeat{50%{transform:scale(1.12)}}@keyframes hop{from{transform:scale(.8) rotate(-12deg)}to{transform:scale(1)}}@keyframes poof{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes confetti{to{transform:translateY(650px) rotate(220deg)}}
@media(min-width:1440px){.content{padding-top:55px}.tile-art{height:240px}.hero-content{padding:30px 35px}}
@media(max-width:1150px){.sidebar{width:195px;padding:30px 17px}.workspace{margin-left:195px}.topbar{padding:0 30px}.content{padding:30px}.dashboard{grid-template-columns:minmax(0,1fr) 220px;gap:18px}.hero-content{padding:24px}.letter{width:53px;height:63px}.desktop-footer{padding-left:30px;padding-right:30px}.mini-card{padding:20px}}
@media(max-width:920px){.dashboard{grid-template-columns:1fr}.dashboard aside{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dashboard aside .mini-card{margin-bottom:0}.help-card{grid-column:1/-1}.edition{display:none}.welcome h1{font-size:36px}.tile-art{height:205px}.letter{width:65px;height:74px}.hero-content p{max-width:100%}.hero-content{padding:27px}.desktop-footer{gap:20px}}
@media(max-width:700px), (max-width:1000px) and (max-height:500px) and (pointer:coarse){.sidebar,.desktop-breadcrumb,.desktop-footer{display:none}.workspace{margin-left:0}.mobile-brand{display:flex}.topbar{height:76px;padding:0 22px;background:#f6f7f2}.brand{font-size:24px}.brandmark{width:34px;height:34px;font-size:27px}.membership{font-size:10px}.top-actions{gap:13px}.avatar{width:32px;height:32px}.content{padding:27px 20px 110px}.welcome{margin-bottom:24px}.welcome h1{font-size:35px;letter-spacing:-1.4px}.welcome .eyebrow{font-size:9px;margin-bottom:12px}.welcome .muted{font-size:12px;max-width:300px;margin-top:12px}.hero-card{border-radius:19px}.tile-art{height:185px}.letter{width:54px;height:64px;font-size:34px}.letter-row{gap:9px}.art-label{font-size:6px;bottom:16px}.spark.one{left:9%;top:34px}.spark.two{right:8%;bottom:32px}.hero-content{padding:23px}.hero-content h2{font-size:28px}.hero-content p{font-size:12px}.hero-meta{margin:15px 0 18px}.hero-content .primary{min-height:53px}.section-heading h2{font-size:16px}.game-grid{gap:12px}.game-description{padding:14px 12px}.game-illustration{height:88px}.game-description h3{font-size:13px}.game-description p{font-size:10px}.game-tag{font-size:6.5px}.dashboard{gap:22px}.dashboard aside{gap:12px}.dashboard aside .mini-card{padding:18px}.session-number{font-size:40px}.session-number>span{font-size:9px}.card-title h3{font-size:12px}.card-title{gap:6px}.tip h3{font-size:16px}.tip p,.session-card p{font-size:11px}.mini-card{border-radius:15px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:#fafbf7f5;backdrop-filter:blur(15px);border-top:1px solid var(--line)}.bottom-nav .nav-item{display:flex;flex-direction:column;justify-content:center;text-align:center;gap:6px;padding:8px 2px;font-size:9px;min-height:54px;border-radius:11px}.bottom-nav .nav-item.active{background:transparent;color:#355e39}.bottom-nav .nav-item.active .icon{stroke-width:2.4;filter:drop-shadow(0 3px 0 #dce9c7)}.bottom-nav .nav-item .icon{width:21px;height:21px}.playing{padding-top:18px}.play-top>.text-button{font-size:11px}.pill{font-size:8px;letter-spacing:.8px}.round-progress{margin:22px 0}.question-card{padding:25px 22px;border-radius:19px}.question-card h1{font-size:26px;line-height:1.35;margin-bottom:26px}.question-symbol{margin-bottom:22px;width:44px;height:44px}.input-wrap input{padding:16px 14px}.question-foot{font-size:10px}.feedback{padding:14px;gap:9px}.interlude{margin-top:32px}.interlude h1{font-size:34px}.interlude>p:not(.eyebrow){font-size:14px}.burst-badge{width:70px;height:70px}.refill-card{padding:25px 21px}.premium h1{font-size:42px}.premium-emblem{font-size:90px}.reveal h1{font-size:43px}.script-name{font-size:33px!important}.yes-button{min-height:70px}.celebration h1{font-size:38px}.page-intro h1{font-size:33px}.discover-grid{gap:12px}.discover-grid .game-illustration{height:115px}.stats-grid{gap:12px}.page-intro .eyebrow{font-size:9px}.dialog{padding:28px}.dialog h2{font-size:24px}.dialog p{font-size:13px}.storage-notice{font-size:11px;width:90%}:is(body,.theme-snapshot)[data-phase="3"] .topbar{background:#fbf7f8}}
@media(max-width:360px){.content{padding-left:14px;padding-right:14px}.topbar{padding:0 16px}.membership{display:none}.letter{width:49px;height:59px}.question-card h1{font-size:24px}.bottom-nav .nav-item{font-size:8px}.session-number>span{display:block;margin:0}.card-title .icon{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduced-motion *,.reduced-motion *::before,.reduced-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}


/* Mobile interaction refinements: generous targets, safe areas, short screens. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:100px}
body.modal-open{overflow:hidden}
.dialog{max-height:calc(100dvh - 44px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:700px), (max-width:1000px) and (max-height:500px) and (pointer:coarse){
 .avatar{width:44px;height:44px;min-height:44px}
 .topbar{height:calc(76px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
 .content{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 .bottom-nav{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}
 .input-wrap input{scroll-margin:24px 0 100px}
 .modal-backdrop{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
}
@media(max-width:1000px) and (pointer:coarse){body.answer-focused .bottom-nav{display:none}}
@media(max-width:360px){.content{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}}
@media(max-width:700px) and (max-height:700px){
 .welcome h1{font-size:30px}.welcome{margin-bottom:18px}.tile-art{height:140px}
 .hero-content{padding:20px}.hero-content h2{font-size:25px}
 .interlude{margin-top:20px}.reveal h1{font-size:37px}.floating-hearts span{font-size:45px}
 .question-card{padding:22px 20px}.question-card h1{font-size:24px}
}


/* Compact two-line wordmark for the full app name, including narrow phones. */
.brandmark{font-size:17px;letter-spacing:0;padding:0 0 0 2px;flex-shrink:0}
.brand-name{font-size:19px;line-height:1.08;letter-spacing:-.5px}
@media(max-width:1150px){.sidebar .brand-name{font-size:17px}}
@media(max-width:700px), (max-width:1000px) and (max-height:500px) and (pointer:coarse){.brandmark{font-size:16px}.brand-name{font-size:18px}}

/* Chapter edition: a compact daily puzzle that gradually becomes personal. */
body{color:var(--ink);background:#f3f4ec}
button{transition:transform .16s ease,background .2s ease,box-shadow .2s ease}
button:active:not(:disabled){transform:scale(.97)}
.workspace{position:relative}.topbar,.content,.desktop-footer{position:relative;z-index:1}
.topbar{height:76px}.content{padding-top:24px}.welcome{margin-bottom:20px}.welcome h1{font-size:38px;line-height:1.08;letter-spacing:-1.5px}.welcome .eyebrow{margin-bottom:8px;font-size:9px}.welcome .muted{margin-top:9px}
.chapter-strip{display:flex;align-items:center;gap:8px;padding:9px 0 14px;margin-bottom:13px;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.7px}.chapter-strip>span:last-child{margin-left:auto;color:var(--muted);font-size:10px;letter-spacing:0}.chapter-dot{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#789c3f;box-shadow:0 0 0 3px #789c3f13}
.dashboard{gap:20px}.hero-card{border-radius:16px;box-shadow:0 3px 0 #18352806,0 12px 34px #18352805}.hero-content{padding:22px 26px}.hero-content h2{font-size:27px;letter-spacing:-1px}.hero-content p{font-size:13px;line-height:1.6}.hero-content>small{font-size:10px;line-height:1.5}.hero-meta{margin:14px 0 16px}.tile-art{height:178px;background:radial-gradient(ellipse at 50% 90%,#eff5df 0,transparent 65%),#dce8be}.letter{width:58px;height:66px;font-size:35px;border-radius:8px}.letter-row{animation:tile-drift 7s ease-in-out infinite}.mini-card{padding:21px;border-radius:15px;margin-bottom:15px}.session-number{margin-top:15px;font-size:42px}.little-bars{margin:12px 0}.tip-icon{margin-bottom:14px}.tip h3{font-size:18px}.tip p{line-height:1.6}.section-heading{margin-top:17px}.game-illustration{height:83px}.game-description{padding:13px 15px}.game-description p{font-size:11px}.game-tag{line-height:1.6;letter-spacing:.5px}.game-card{border-radius:13px}.primary{position:relative;overflow:hidden;box-shadow:0 3px 0 #72944026}.primary:after{content:'';position:absolute;inset:0;transform:translateX(-150%) skewX(-20deg);background:linear-gradient(90deg,transparent,#ffffff50,transparent);width:55%;pointer-events:none}.primary:hover:after{animation:button-sheen .7s ease}.primary:active{box-shadow:none}.scene-enter{animation:page-in .35s ease both}.interlude{animation:none}.question-card{box-shadow:0 8px 32px #18352805}.question-card.is-correct{border-color:#a7c378}.question-card.is-incorrect{animation:answer-nudge .3s ease}.feedback.good .feedback-symbol{animation:answer-pop .32s ease}.progress-track>.current{position:relative;overflow:hidden}.progress-track>.current:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff9,transparent);animation:progress-glint 2.5s ease-in-out infinite}
.memory-shelf{margin:17px 0 20px}.memory-shelf .section-heading{margin-bottom:11px}.memory-shelf h2{font-size:16px}.collection-count{font-size:10px;white-space:nowrap;color:var(--muted)}.memory-list{display:grid;gap:8px}.memory-card{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:13px 15px;min-height:72px;background:#fff9f5;border:1px solid var(--line);border-radius:13px;box-shadow:0 3px 0 #b9685110}.memory-card:hover{transform:translateX(3px);box-shadow:0 5px 16px #b9685114}.memory-stamp{display:grid;place-items:center;width:40px;height:40px;background:#f8ddcc;border-radius:11px;font-size:25px;flex-shrink:0}.memory-1 .memory-stamp{background:#e6ddf6;color:#8966a0}.memory-2 .memory-stamp{background:#f7c8d9;color:#b65178}.memory-card small{font-size:8px;display:block;letter-spacing:1.3px;color:var(--muted);margin-bottom:4px}.memory-card strong{font-size:13px;line-height:1.4;display:block}.memory-status{margin-left:auto}.memory-status .icon{width:17px;height:17px}.memory-card:active .memory-stamp{transform:rotate(-12deg)}
.ambient{position:fixed;inset:75px 0 0 230px;pointer-events:none;overflow:hidden;z-index:0}.ambient span{position:absolute;left:calc(5% + var(--i)*14%);top:calc(8% + var(--i)*11%);color:#dd9ab3;opacity:.16;font-size:calc(16px + var(--i)*3px);animation:ambient-drift calc(7s + var(--i)*1s) ease-in-out infinite;animation-delay:calc(var(--i)*-.8s)}
:is(body,.theme-snapshot)[data-phase="2"]{--ink:#502f42;--muted:#856574;--line:#edcfd5;--lime:#f7b3bd;background:radial-gradient(ellipse at 90% 10%,#eddffc 0,transparent 45%),linear-gradient(140deg,#fff4e9,#fff0f1 65%,#f2e9fa)}
:is(body,.theme-snapshot)[data-phase="2"] .sidebar{background:#f9e6e8;border-color:#efd2d8}:is(body,.theme-snapshot)[data-phase="2"] .topbar{background:#fff6f0d9;border-color:#efdce1}:is(body,.theme-snapshot)[data-phase="2"] .nav-item{color:#936d81}:is(body,.theme-snapshot)[data-phase="2"] .nav-item.active{background:#efd2e0;color:#6f3159}:is(body,.theme-snapshot)[data-phase="2"] .brandmark{background:#f6b6c4;color:#803a59}:is(body,.theme-snapshot)[data-phase="2"] .avatar{background:#f5d2df;color:#793f63;border-color:#edbbcd}:is(body,.theme-snapshot)[data-phase="2"] .membership{color:#8d5475}
:is(body,.theme-snapshot)[data-phase="2"] .hero-card{border-color:#eab9ca;box-shadow:0 4px 0 #e3abc125,0 12px 28px #c1799620}:is(body,.theme-snapshot)[data-phase="2"] .tile-art{background:radial-gradient(ellipse at 70% 40%,#ffe5ac 0,transparent 55%),linear-gradient(120deg,#f8bcae,#efc6e8)}:is(body,.theme-snapshot)[data-phase="2"] .orbit{border-color:#cc84a84d}:is(body,.theme-snapshot)[data-phase="2"] .letter{background:#fff4ed;color:#883e62;box-shadow:0 5px 0 #c1849e,0 8px 14px #b578922b}:is(body,.theme-snapshot)[data-phase="2"] .letter-2{background:#dec7f5;color:#7b3a84}:is(body,.theme-snapshot)[data-phase="2"] .letter-row{animation:love-tiles 4s ease-in-out infinite}:is(body,.theme-snapshot)[data-phase="2"] .spark{color:#be6c93;animation:float 2.6s ease-in-out infinite}:is(body,.theme-snapshot)[data-phase="2"] .art-label{color:#905870}:is(body,.theme-snapshot)[data-phase="2"] .tag{color:#a45270}:is(body,.theme-snapshot)[data-phase="2"] .hero-meta{color:#9b6880}:is(body,.theme-snapshot)[data-phase="2"] .primary{background:linear-gradient(100deg,#f6b09f,#edb2cf);color:#642842;box-shadow:0 3px 0 #cb759149}:is(body,.theme-snapshot)[data-phase="2"] .primary:after{animation:button-sheen 5s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="2"] .mini-card,:is(body,.theme-snapshot)[data-phase="2"] .question-card{background:#fffaf7;border-color:#edd5da}:is(body,.theme-snapshot)[data-phase="2"] .tip{background:linear-gradient(140deg,#fce0d1,#efdef8)}:is(body,.theme-snapshot)[data-phase="2"] .tip-icon{background:#efc8dc;color:#97456e}:is(body,.theme-snapshot)[data-phase="2"] .tip .eyebrow,:is(body,.theme-snapshot)[data-phase="2"] .tip p{color:#8e6d86}:is(body,.theme-snapshot)[data-phase="2"] .question-symbol{background:#f6d1df;color:#ab4a73;animation:soft-pulse 3s ease-in-out infinite}:is(body,.theme-snapshot)[data-phase="2"] .pill{background:#eedbf5;color:#885495}:is(body,.theme-snapshot)[data-phase="2"] .progress-track>span{background:#eddae4}:is(body,.theme-snapshot)[data-phase="2"] .progress-track>.complete{background:#b7688b}:is(body,.theme-snapshot)[data-phase="2"] .progress-track>.current{background:#e1a0bb}:is(body,.theme-snapshot)[data-phase="2"] .input-wrap input{background:#fff8f6;border-color:#e6bed0;color:#693b58}:is(body,.theme-snapshot)[data-phase="2"] .feedback.good{background:#eee3f5;color:#7a428a}:is(body,.theme-snapshot)[data-phase="2"] .feedback.bad{background:#ffe6df;color:#a05251}:is(body,.theme-snapshot)[data-phase="2"] .choice{background:#fff9f6;border-color:#e8c3d3}:is(body,.theme-snapshot)[data-phase="2"] .choice.selected{background:#f7dce9;border-color:#c76c9b}:is(body,.theme-snapshot)[data-phase="2"] .toggle.on{background:#b6648c}:is(body,.theme-snapshot)[data-phase="2"] .chapter-dot{background:#bf6494;box-shadow:0 0 0 3px #bf64941a;animation:soft-pulse 2.5s infinite}:is(body,.theme-snapshot)[data-phase="2"] .little-bars .filled{background:#c882a7}:is(body,.theme-snapshot)[data-phase="2"] .dialog{background:#fff5f0;border-color:#eeb7c9;box-shadow:0 24px 80px #76345633}:is(body,.theme-snapshot)[data-phase="2"] .dialog .question-symbol{background:#eccfee}:is(body,.theme-snapshot)[data-phase="2"] .dialog p{color:#90657d}
.chapter-welcome{max-width:480px;padding:10px 0}.chapter-art{display:flex;justify-content:center;align-items:center;gap:27px;min-height:115px;margin:5px auto 12px;color:#c36794}.chapter-art b{font-family:Georgia,serif;font-size:88px;font-weight:400;line-height:1;animation:soft-pulse 2.6s ease-in-out infinite}.chapter-art>span{font-size:25px;animation:float 3s ease-in-out infinite}.chapter-art>span:last-child{animation-delay:-1s}.refill-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:24px 0}.refill-chips>span{display:flex;align-items:center;gap:6px;font-size:11px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff8}.refill-chips .icon{width:16px;height:16px}.chapter-welcome>.primary,.final-ready>.primary{max-width:none;margin-bottom:12px}.chapter-welcome>.secondary,.final-ready>.secondary{margin:0 0 17px}.chapter-welcome>small{font-size:10px}.cheeky-chip{min-height:44px;border-radius:10px;padding:8px 11px;border:1px solid var(--line);background:#f7d9e5;color:#a14a7b;font-weight:750;font-size:10px;white-space:nowrap}.settings-card .setting{padding:18px 0}.setting h3{font-size:14px}.setting p{max-width:360px}
:is(body,.theme-snapshot)[data-phase="3"]{--ink:#fff1e5;--muted:#c4a9bd;--line:#614359;--lime:#f0bcba;background:radial-gradient(ellipse at 80% 10%,#5b2d4b 0,transparent 45%),radial-gradient(ellipse at 15% 70%,#442341 0,transparent 50%),#231829;color:#fff1e5}
:is(body,.theme-snapshot)[data-phase="3"] .sidebar{background:#281b2f;border-color:#573b51}:is(body,.theme-snapshot)[data-phase="3"] .topbar{background:#281b2fe8;border-color:#573b51}:is(body,.theme-snapshot)[data-phase="3"] .brandmark{background:#efc68d;color:#4c293d}:is(body,.theme-snapshot)[data-phase="3"] .nav-item{color:#bc9db6}:is(body,.theme-snapshot)[data-phase="3"] .nav-item.active{background:#56364c;color:#ffe1c8}:is(body,.theme-snapshot)[data-phase="3"] .avatar{background:#573047;border-color:#8b536b;color:#ffdecf}:is(body,.theme-snapshot)[data-phase="3"] .membership{color:#efc68d}:is(body,.theme-snapshot)[data-phase="3"] .desktop-breadcrumb,:is(body,.theme-snapshot)[data-phase="3"] .desktop-footer{color:#b694ae}:is(body,.theme-snapshot)[data-phase="3"] .chapter-dot{background:#efc68d;box-shadow:0 0 0 3px #efc68d18}:is(body,.theme-snapshot)[data-phase="3"] .chapter-strip strong{color:#f2ce9f}:is(body,.theme-snapshot)[data-phase="3"] .eyebrow{color:#dcaa92}:is(body,.theme-snapshot)[data-phase="3"] .ambient span{color:#eec689;opacity:.15}
:is(body,.theme-snapshot)[data-phase="3"] .hero-card,:is(body,.theme-snapshot)[data-phase="3"] .mini-card,:is(body,.theme-snapshot)[data-phase="3"] .game-card{background:#332238;border-color:#614359;box-shadow:0 8px 24px #12081e1a}:is(body,.theme-snapshot)[data-phase="3"] .hero-content h2{color:#ffeddc}:is(body,.theme-snapshot)[data-phase="3"] .hero-content p,:is(body,.theme-snapshot)[data-phase="3"] .mini-card p{color:#c9aebf}:is(body,.theme-snapshot)[data-phase="3"] .tile-art{background:radial-gradient(ellipse at 60% 20%,#995d72 0,transparent 65%),linear-gradient(120deg,#663957,#472846)}:is(body,.theme-snapshot)[data-phase="3"] .letter{background:#fff0dc;color:#66394c;box-shadow:0 5px 0 #aa7484,0 10px 15px #2a0c3433}:is(body,.theme-snapshot)[data-phase="3"] .letter-2{background:#e8adbd;color:#642441}:is(body,.theme-snapshot)[data-phase="3"] .orbit{border-color:#efc68d42}:is(body,.theme-snapshot)[data-phase="3"] .spark{color:#e9be8c}:is(body,.theme-snapshot)[data-phase="3"] .art-label{color:#e2b1af}:is(body,.theme-snapshot)[data-phase="3"] .tag,:is(body,.theme-snapshot)[data-phase="3"] .hero-meta{color:#e2ba99}:is(body,.theme-snapshot)[data-phase="3"] .primary{background:linear-gradient(105deg,#f8d594,#efb1bd);color:#542c43;box-shadow:0 3px 0 #99586e}:is(body,.theme-snapshot)[data-phase="3"] .primary:hover{background:linear-gradient(105deg,#ffe2a6,#f9bcc8);box-shadow:0 5px 22px #f9c8941c}:is(body,.theme-snapshot)[data-phase="3"] .secondary{background:#483047;color:#f2d6dc;border-color:#78526a}:is(body,.theme-snapshot)[data-phase="3"] small,:is(body,.theme-snapshot)[data-phase="3"] .fine-print{color:#be9eb6}:is(body,.theme-snapshot)[data-phase="3"] .pill{background:#694653;color:#f2d298}:is(body,.theme-snapshot)[data-phase="3"] .tip{background:linear-gradient(140deg,#472c47,#573348)}:is(body,.theme-snapshot)[data-phase="3"] .tip-icon{background:#754458;color:#f4c0b4}:is(body,.theme-snapshot)[data-phase="3"] .tip .eyebrow{color:#d1a28e}:is(body,.theme-snapshot)[data-phase="3"] .tip p{color:#c9aabd}:is(body,.theme-snapshot)[data-phase="3"] .little-bars i{background:#58384e}:is(body,.theme-snapshot)[data-phase="3"] .little-bars .filled{background:#e4ac98}:is(body,.theme-snapshot)[data-phase="3"] .session-number>span{color:#c4a3bb}:is(body,.theme-snapshot)[data-phase="3"] .purple .game-illustration{background:#573a67;color:#dfabd2}:is(body,.theme-snapshot)[data-phase="3"] .peach .game-illustration{background:#6a3e51;color:#e9b59f}:is(body,.theme-snapshot)[data-phase="3"] .game-description p,:is(body,.theme-snapshot)[data-phase="3"] .game-tag{color:#c6a5bc}:is(body,.theme-snapshot)[data-phase="3"] .memory-card{background:linear-gradient(110deg,#432b43,#372238);border-color:#74506a;box-shadow:none}:is(body,.theme-snapshot)[data-phase="3"] .memory-stamp{background:#805469;color:#ffddb2}:is(body,.theme-snapshot)[data-phase="3"] .memory-1 .memory-stamp{background:#685078;color:#e8c3ec}:is(body,.theme-snapshot)[data-phase="3"] .memory-2 .memory-stamp{background:#8f4f6b;color:#ffd0d4}:is(body,.theme-snapshot)[data-phase="3"] .memory-card small{color:#d7ae9a}:is(body,.theme-snapshot)[data-phase="3"] .memory-status{color:#e5b692}:is(body,.theme-snapshot)[data-phase="3"] .cheeky-chip{background:#703e58;color:#fbd2cc;border-color:#975d79}:is(body,.theme-snapshot)[data-phase="3"] .toggle{background:#604356}:is(body,.theme-snapshot)[data-phase="3"] .toggle.on{background:#b56d91}:is(body,.theme-snapshot)[data-phase="3"] .dialog{background:#372039;color:#fff0e5;border-color:#815a72;box-shadow:0 30px 100px #16081c88}:is(body,.theme-snapshot)[data-phase="3"] .dialog p{color:#d4b3c7}:is(body,.theme-snapshot)[data-phase="3"] .question-symbol{background:#784b61;color:#ffcfb4}:is(body,.theme-snapshot)[data-phase="3"] .trail-item.good{background:#734d63;color:#ffd9b1}:is(body,.theme-snapshot)[data-phase="3"] .trail-item.bad{background:#5b3a53;color:#d9a1b7}:is(body,.theme-snapshot)[data-phase="3"] .preference span{color:#e7b9aa}
:is(body,.theme-snapshot)[data-phase="3"] .chapter-art{color:#eab2bc}.interlude h1{line-height:1.12}.interlude>p:not(.eyebrow){color:var(--muted)}.chance-screen{max-width:490px}.chance-rings{position:relative;width:175px;height:150px;margin:0 auto 20px;display:grid;place-items:center}.chance-rings b{font-size:82px;color:#f2cf85;line-height:1;animation:gold-spark 4s ease-in-out infinite;text-shadow:0 0 50px #e8ac504a}.chance-rings i{position:absolute;inset:15px;border:1px solid #daa95f66;border-radius:50%;animation:ring-breathe 3s ease-in-out infinite}.chance-rings i:nth-child(2){inset:0;animation-delay:.6s;border-style:dashed}.chance-rings i:nth-child(3){inset:30px;animation-delay:1.2s}.chance-title{font-size:clamp(40px,6vw,64px)!important;font-weight:850;letter-spacing:-2px;color:#f9d899;text-shadow:0 4px 0 #a6636b50;animation:chance-bounce .75s cubic-bezier(.22,1.35,.65,1) both}.golden-ticket{position:relative;background:linear-gradient(130deg,#fce6b1,#eebba3);color:#693b4a;border:1px solid #f7d095;border-radius:12px;padding:19px 15px;margin:22px auto 18px;max-width:355px;box-shadow:0 7px 0 #9a61734d;transform:rotate(-2deg)}.golden-ticket:before,.golden-ticket:after{content:'';position:absolute;top:50%;width:18px;height:18px;border-radius:50%;background:#342136;transform:translateY(-50%)}.golden-ticket:before{left:-10px}.golden-ticket:after{right:-10px}.golden-ticket span{display:block;font-size:8px;letter-spacing:2px}.golden-ticket strong{display:block;font-size:20px;margin:9px 0;letter-spacing:-.6px}.golden-ticket small{font-size:8px!important;color:#835363!important;letter-spacing:1px}.gold-medallion{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;margin:10px auto 25px;font-family:Georgia,serif;font-size:60px;color:#704251;background:linear-gradient(130deg,#ffe5a8,#e4aa93);border:5px double #a06965;box-shadow:0 0 0 9px #efc78715}.golden-rules{display:grid;gap:12px;padding:18px 20px;margin:20px auto;border:1px solid #76536b;border-radius:14px;text-align:left;max-width:360px;background:#4b2b4355}.golden-rules span{display:flex;gap:12px;align-items:center;font-size:13px;color:#eecbb7}.golden-rules .icon{width:17px;height:17px;color:#edc88b}.premium-emblem{font-size:100px;color:#e8bd80;text-shadow:0 0 35px #f9cd9544}.premium-restriction{max-width:360px;margin:20px auto!important;font-size:14px!important}.premium-title{font-size:clamp(47px,7vw,68px)!important;font-family:Georgia,serif;letter-spacing:-2px;font-weight:500;color:#ffe0b8;animation:premium-breathe 3s ease-in-out infinite}.premium-cta{min-height:60px!important;font-size:17px;max-width:none!important}.premium-cta:after{animation:button-sheen 3s ease-in-out infinite}.premium .fine-print{margin-top:23px}.reveal{max-width:520px;padding-top:0}.reveal-content{position:relative;z-index:1}.scene-enter .reveal-content{animation:reveal-fade 1.8s ease both}.reveal h1{color:#ffe8d4!important;font-size:54px}.reveal .script-name{color:#eeb6c8!important}.floating-hearts{color:#e1a5bf}.reveal-message{font-size:14px;color:#ceb0c5;margin:20px 0}.yes-button{background:linear-gradient(110deg,#e49cb3,#f4c4a4);color:#59263e;box-shadow:0 7px 0 #96516e,0 12px 30px #e998b31f}.yes-button:hover{background:linear-gradient(110deg,#efabc0,#fcd6b8)}.no-button{background:#432b41;border-color:#87657b;color:#d9bdce}.poof{color:#edc78e}.celebration .closing-message{color:#efc5d6!important}.celebration .together{border-color:#69485f;color:#eac5a5}.ending-actions{position:relative;z-index:2;margin-top:22px}.ending-actions small{display:block;font-size:11px;line-height:1.6;margin-top:18px}.confetti i{color:#f2baaa}
.fireworks{position:fixed;inset:0;z-index:8;pointer-events:none;overflow:hidden}.firework{position:absolute;width:1px;height:1px}.firework-0{left:20%;top:26%}.firework-1{left:82%;top:32%}.firework-2{left:45%;top:13%}.firework-3{left:13%;top:57%}.firework-4{left:88%;top:62%}.firework>span{position:absolute;inset:0;transform:rotate(var(--angle))}.firework>span>i{position:absolute;width:3px;height:7px;border-radius:50%;background:#ffd998;box-shadow:0 0 7px #ffd998;opacity:0;animation:firework-burst 1.8s ease-out both;animation-delay:calc(var(--delay) + .35s)}.firework:nth-child(even)>span>i{background:#f6b1d9;box-shadow:0 0 7px #f6b1d9}.firework>span:nth-child(3n)>i{width:4px;height:4px;animation-duration:2.2s}.firework:before{content:'';position:absolute;width:2px;height:20px;background:linear-gradient(transparent,#ffd998);opacity:0;animation:firework-launch .65s ease-out both;animation-delay:calc(var(--launch,0s))}.firework-1{--launch:.48s}.firework-2{--launch:.96s}.firework-3{--launch:1.44s}.firework-4{--launch:1.92s}
@keyframes tile-drift{50%{transform:translateY(-4px) rotate(-4deg)}}@keyframes love-tiles{50%{transform:translateY(-8px) rotate(-2deg)}}@keyframes ambient-drift{50%{transform:translateY(-22px) rotate(12deg);opacity:.28}}@keyframes button-sheen{0%,75%{transform:translateX(-150%) skewX(-20deg)}100%{transform:translateX(350%) skewX(-20deg)}}@keyframes page-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes answer-pop{0%{transform:scale(.5)}65%{transform:scale(1.2)}100%{transform:scale(1)}}@keyframes answer-nudge{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes progress-glint{0%,50%{transform:translateX(-120%)}100%{transform:translateX(120%)}}@keyframes soft-pulse{50%{transform:scale(1.055)}}@keyframes gold-spark{50%{transform:rotate(30deg) scale(1.08)}}@keyframes ring-breathe{50%{transform:scale(1.08) rotate(12deg);opacity:.5}}@keyframes chance-bounce{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}@keyframes premium-breathe{50%{transform:scale(1.025);text-shadow:0 0 25px #efbf9438}}@keyframes reveal-fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes firework-burst{0%{opacity:0;transform:translateY(0) scale(0)}12%{opacity:1}100%{opacity:0;transform:translateY(-130px) scale(.25)}}@keyframes firework-launch{0%{opacity:0;transform:translateY(240px)}35%{opacity:.8}100%{opacity:0;transform:translateY(0)}}
@media(max-width:1150px){.ambient{left:195px}.hero-content{padding:21px}.content{padding-top:23px}}
@media(max-width:700px), (max-width:1000px) and (max-height:500px) and (pointer:coarse){
 .ambient{left:0;top:64px}.topbar{height:calc(65px + env(safe-area-inset-top))}.content{padding-top:14px}.chapter-strip{font-size:8px;padding:6px 0 11px;margin-bottom:16px}.chapter-strip>span:last-child{font-size:9px}.welcome{margin-bottom:17px}.welcome h1{font-size:31px;letter-spacing:-1.2px}.welcome .eyebrow{font-size:8px;margin-bottom:7px}.welcome .muted{font-size:12px;margin-top:8px;line-height:1.5}.tile-art{height:142px}.letter{width:46px;height:53px;font-size:29px}.letter-row{gap:9px}.spark.one{top:23px}.spark.two{bottom:24px}.art-label{bottom:12px;font-size:6px;letter-spacing:1.4px}.hero-content{padding:19px 20px 17px}.hero-content h2{font-size:24px;margin-bottom:8px}.hero-content p{font-size:12px}.hero-meta{margin:12px 0 14px;font-size:10px}.hero-content>small{margin-top:11px;font-size:9px}.hero-card{border-radius:15px}.hero-content .primary{min-height:49px}.section-heading{margin:15px 0 7px}.section-heading h2{font-size:15px}.game-illustration{height:71px}.game-description{padding:12px}.game-description p{font-size:10px}.game-description h3{font-size:13px}.game-tag{font-size:7px;margin-top:10px}.dashboard{gap:17px}.question-card{padding:24px 21px}.question-card h1{font-size:25px}.question-symbol{margin-bottom:19px}.round-progress{margin:16px 0 20px}.interlude{margin-top:18px}.interlude h1{font-size:34px}.interlude .eyebrow{margin-top:22px;font-size:9px}.interlude>p:not(.eyebrow){font-size:13px;margin:17px 0}.chapter-art{min-height:94px}.chapter-art b{font-size:76px}.chapter-welcome>small{font-size:10px}.refill-chips{margin:20px 0}.refill-chips>span{font-size:10px}.memory-card{min-height:68px;padding:11px 12px}.memory-card strong{font-size:12px}.memory-card small{font-size:7px}.memory-stamp{width:36px;height:36px}.memory-shelf{margin:15px 0 18px}.memory-shelf h2{font-size:14px}.collection-count{font-size:9px}.chance-rings{width:145px;height:130px;margin-bottom:14px}.chance-title{font-size:46px!important}.chance-screen .eyebrow{font-size:8px}.golden-ticket{margin-top:19px}.gold-medallion{width:85px;height:85px;font-size:51px;margin:8px auto 20px}.premium-emblem{font-size:86px}.premium-title{font-size:49px!important}.premium-restriction{font-size:13px!important}.reveal h1{font-size:43px}.reveal .script-name{margin:18px 0 12px!important;font-size:33px!important}.reveal-message{font-size:13px;margin:18px 0}.floating-hearts span{font-size:51px}.yes-button{min-height:65px;margin-top:26px}.no-playground{height:105px;margin-top:24px}.celebration{padding:0}.celebration h1{font-size:36px}.closing-message{font-size:22px!important}.ending-actions{margin-top:20px}.ending-actions small{font-size:10px}.page-intro{margin-bottom:22px}.page-intro h1{font-size:32px}.page-intro .muted{font-size:12px;line-height:1.6}.settings-card .setting{padding:16px 0}.settings-card .setting:first-child{padding-top:0}.settings-card .setting:last-child{padding-bottom:0}.setting p{font-size:11px}.setting h3{font-size:13px}
 :is(body,.theme-snapshot)[data-phase="2"] .bottom-nav{background:#fff1f3f2;border-color:#e8becd}:is(body,.theme-snapshot)[data-phase="2"] .bottom-nav .nav-item.active{color:#a0477c}:is(body,.theme-snapshot)[data-phase="2"] .bottom-nav .nav-item.active .icon{filter:drop-shadow(0 3px 0 #f4bfd8)}:is(body,.theme-snapshot)[data-phase="3"] .bottom-nav{background:#2b1b31f5;border-color:#604057}:is(body,.theme-snapshot)[data-phase="3"] .bottom-nav .nav-item.active{color:#f5cba8;background:transparent}:is(body,.theme-snapshot)[data-phase="3"] .bottom-nav .nav-item.active .icon{filter:drop-shadow(0 3px 0 #835060)}
}
@media(max-width:360px){.welcome h1{font-size:28px}.hero-content{padding:17px}.chapter-strip>span:last-child{font-size:8px}.chapter-strip{letter-spacing:.3px;gap:6px}.refill-chips{gap:5px}.refill-chips>span{padding:9px;font-size:9px}.chance-title{font-size:40px!important}.premium-title{font-size:44px!important}.reveal h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){.fireworks,.ambient{display:none!important}.scene-enter .reveal-content{opacity:1;transform:none}.chance-title{opacity:1}}
.reduced-motion .fireworks,.reduced-motion .ambient{display:none!important}.reduced-motion .scene-enter .reveal-content{opacity:1;transform:none}
/* Bright, short-lived bursts mark the reveal; no looping flash effects. */
.firework>span>i{width:4px;height:12px;box-shadow:0 0 8px 2px #ffd99899;animation-duration:2.1s}
.firework:nth-child(even)>span>i{box-shadow:0 0 8px 2px #f6b1d999}
.firework>span:nth-child(3n)>i{width:5px;height:5px}
.firework:after{content:'';position:absolute;left:-8px;top:-8px;width:16px;height:16px;border-radius:50%;background:#ffe1aa;box-shadow:0 0 25px 8px #ffd89c88;opacity:0;animation:burst-glow 1s ease-out both;animation-delay:calc(var(--launch,0s) + .35s)}
@keyframes firework-burst{0%{opacity:0;transform:translateY(0) scale(.4)}12%{opacity:1}65%{opacity:.9}100%{opacity:0;transform:translateY(-150px) scale(.35)}}
@keyframes burst-glow{0%{opacity:0;transform:scale(.2)}15%{opacity:.85}100%{opacity:0;transform:scale(2.5)}}
/* The familiar play mark turns into a heart as chapter two begins. */
:is(body,.theme-snapshot)[data-phase="2"] .brandmark{border-radius:0;background:#f5a9c2;clip-path:polygon(50% 94%,8% 55%,2% 35%,5% 19%,17% 8%,33% 8%,50% 23%,67% 8%,83% 8%,95% 19%,98% 35%,92% 55%);transform:rotate(-5deg);padding:0 0 6px 2px}
.no-position{position:absolute;display:block;max-width:100%;width:max-content}
.no-position .no-button{position:relative;left:auto;top:auto;display:inline-block;white-space:nowrap;padding:10px 15px;font-size:13px;min-height:44px;max-width:100%}
.no-vanish{pointer-events:none;animation:no-disappear .55s ease forwards}
.no-vanish .no-button{animation:none}
.poof-moment{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;animation:poof-arrival 2.7s ease both}
.poof-moment strong{font-size:39px;font-weight:850;letter-spacing:4px;color:#ffe0a1;text-shadow:0 0 25px #ffd18b65}
.poof-moment>span:last-child{font-size:11px;color:#efc7d8;margin-top:4px}
.poof-stars{font-size:20px;letter-spacing:10px;color:#f2b0d1;margin-bottom:3px}
.no-is-gone .yes-spotlight{min-height:87px;font-size:24px;max-width:100%;margin-left:auto;margin-right:auto;box-shadow:0 8px 0 #aa5c7d,0 0 0 5px #edb58b15,0 14px 42px #f5bd9140;animation:yes-invitation 1.2s ease-in-out .35s 4;z-index:2;position:relative;background:linear-gradient(110deg,#f3a8c2,#ffdbab)}
.no-is-gone .yes-spotlight .icon{width:27px;height:27px}
@keyframes no-disappear{from{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(7px);visibility:hidden}}
@keyframes poof-arrival{0%,10%{opacity:0;transform:scale(.5)}26%,70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.08);visibility:hidden}}
@keyframes yes-invitation{0%,100%{transform:translateY(0) scale(1)}40%{transform:translateY(-8px) scale(1.02)}65%{transform:translateY(0) scale(1)}}
@media(max-width:360px){.no-position .no-button{font-size:12px;padding:10px 12px}.no-is-gone .yes-spotlight{font-size:22px;min-height:81px}}
@media(prefers-reduced-motion:reduce){.no-vanish{display:none!important}.poof-moment{opacity:1;transform:none;visibility:visible}}
.reduced-motion .no-vanish{display:none!important}.reduced-motion .poof-moment{opacity:1;transform:none;visibility:visible}

/* Chapter two: peach stationery, little blue skies, and a softer voice. */
:is(body,.theme-snapshot)[data-phase="2"]{--ink:#603f50;--muted:#896274;--line:#edd0d8;color:var(--ink);font-family:"Trebuchet MS",ui-rounded,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 100% 0,#cdeaff 0,transparent 37%),radial-gradient(ellipse at 0 58%,#ffe0c9 0,transparent 50%),linear-gradient(150deg,#fff4eb,#fff0f4 62%,#e8f5ff)}
:is(body,.theme-snapshot)[data-phase="2"] :is(.welcome h1,.interlude h1,.hero-content h2,.page-intro h1){font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-1.1px}
:is(body,.theme-snapshot)[data-phase="2"] .question-card h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:29px;letter-spacing:-.55px;line-height:1.35}
:is(body,.theme-snapshot)[data-phase="2"] .brand-name{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:600;letter-spacing:-1px}
:is(body,.theme-snapshot)[data-phase="2"] .tile-art{background:radial-gradient(ellipse at 85% 5%,#bde6fc 0,transparent 60%),linear-gradient(120deg,#fac4ae,#f7cce0 65%,#bde5fc)}
:is(body,.theme-snapshot)[data-phase="2"] .letter-1{background:#d3efff;color:#49687f;box-shadow:0 5px 0 #93bed8,0 8px 14px #7594b02b}
:is(body,.theme-snapshot)[data-phase="2"] .spark.two{color:#478db8;font-size:34px}
:is(body,.theme-snapshot)[data-phase="2"] .orbit-b{border-color:#73b8df70}
:is(body,.theme-snapshot)[data-phase="2"] .pill{background:#dcedfa;color:#486d8b}
:is(body,.theme-snapshot)[data-phase="2"] .progress-track>.complete{background:#7faecc}
:is(body,.theme-snapshot)[data-phase="2"] .progress-track>.current{background:#d17a9c}
:is(body,.theme-snapshot)[data-phase="2"] .feedback.good{background:linear-gradient(110deg,#e1f1fd,#f4e4f3);color:#4b627c}
:is(body,.theme-snapshot)[data-phase="2"] .feedback.bad{background:#ffe8df;color:#97483f}
:is(body,.theme-snapshot)[data-phase="2"] .hint{background:#e8f4fc;color:#526b81}
:is(body,.theme-snapshot)[data-phase="2"] .question-card>.eyebrow{color:#9c5476}
:is(body,.theme-snapshot)[data-phase="2"] .question-foot,:is(body,.theme-snapshot)[data-phase="2"] .under-card,:is(body,.theme-snapshot)[data-phase="2"] .progress-label{color:#80677c}
:is(body,.theme-snapshot)[data-phase="2"] .refill-card{background:#fff9f6}
:is(body,.theme-snapshot)[data-phase="2"] .refill-chips>span:last-child{background:#dcefff;color:#4f7390;border:1px solid #bbdff7}
:is(body,.theme-snapshot)[data-phase="2"] .chapter-art>span:last-child{color:#76b6df;font-size:43px}
:is(body,.theme-snapshot)[data-phase="2"] .avatar{box-shadow:0 0 0 4px #d9edfc}
:is(body,.theme-snapshot)[data-phase="2"] .nav-item.active{background:#dfedf8;color:#7c4163}
:is(body,.theme-snapshot)[data-phase="2"] .memory-card:nth-child(3n+1){background:#edf7ff;border-color:#c6e2f3}
:is(body,.theme-snapshot)[data-phase="2"] .memory-card:nth-child(3n+1) .memory-stamp{background:#cce8fb;color:#547fa0}
:is(body,.theme-snapshot)[data-phase="2"] .peach .game-illustration{background:#d6edfc;color:#6b91ae}
:is(body,.theme-snapshot)[data-phase="2"] .dialog{background:radial-gradient(ellipse at top right,#d9efff,transparent 65%),#fff5ed}
:is(body,.theme-snapshot)[data-phase="2"] .dialog h2{font-family:Georgia,serif;font-weight:500}
:is(body,.theme-snapshot)[data-phase="2"] .dialog p{color:#77576b}
:is(body,.theme-snapshot)[data-phase="2"] .tip{background:linear-gradient(145deg,#ffdecd,#eee0f5 65%,#d1ebfc)}
:is(body,.theme-snapshot)[data-phase="2"] .bottom-nav .nav-item.active .icon{color:#538bad;filter:drop-shadow(0 3px 0 #cee8f8)}
.love-note{display:block!important;position:relative;text-align:center;background:#fff6df;border:1px solid #eddacb;padding:22px 20px 21px;margin:24px 2px 22px;border-radius:3px 18px 18px 18px;transform:rotate(-1deg);box-shadow:2px 5px 0 #ce99a018}
.love-note:before{content:'';position:absolute;width:62px;height:19px;left:calc(50% - 31px);top:-10px;transform:rotate(7deg);background:#b2d9f7b5;border-left:2px dashed #ffffff9c;border-right:2px dashed #ffffff9c}
.love-note>span{display:block;font-family:Georgia,serif;font-size:26px;color:#b06480;line-height:1.2;margin:0 0 7px}
.love-note>small{font-size:8px;letter-spacing:1.4px;color:#91677a}
.love-note h2{font:italic 23px/1.25 Georgia,serif;letter-spacing:-.5px;margin:8px 0 11px}
.love-note p{font-size:12px;line-height:1.7;color:#836377}
.memory-more{border:1px dashed var(--line);background:transparent;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;margin-top:10px;min-height:45px;border-radius:12px}
.memory-more .icon{width:16px;height:16px}
.memory-card>span:nth-child(2){min-width:0}.memory-card small{letter-spacing:.7px;line-height:1.45}
.memory-shelf .section-heading{gap:12px;align-items:center}.collection-count{white-space:nowrap}
.memory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-card{min-width:0}.memory-status{flex-shrink:0}
.main-column .memory-list{grid-template-columns:1fr}
.ending-note{font-family:Georgia,serif;font-style:italic;font-size:17px!important;color:#f1c1c8!important;max-width:390px;margin:18px auto!important}
/* Chapter three: maroon velvet, rose, gilded hearts and a full-screen celebration. */
:is(body,.theme-snapshot)[data-phase="3"]{--ink:#fff2dc;--muted:#e6b5c6;--line:#8b4b61;--lime:#f8d58f;color:var(--ink);font-family:"Trebuchet MS",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 85% 8%,#862c45 0,transparent 47%),radial-gradient(ellipse at 0 58%,#64223f 0,transparent 53%),linear-gradient(155deg,#3c1329,#4c152b 47%,#23152d);min-height:100dvh}
:is(body,.theme-snapshot)[data-phase="3"] :is(h1,.hero-content h2,.dialog h2,.love-note h2){font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-1px}
:is(body,.theme-snapshot)[data-phase="3"] .brand-name{font-family:Georgia,serif;font-style:italic;letter-spacing:-1px;color:#ffe8ae;text-shadow:0 2px 16px #f5bd6d4a}
:is(body,.theme-snapshot)[data-phase="3"] .topbar,:is(body,.theme-snapshot)[data-phase="3"] .sidebar{background:#3a1328ec;border-color:#8a4e5877;position:relative;z-index:3}
:is(body,.theme-snapshot)[data-phase="3"] .sidebar{position:fixed}
:is(body,.theme-snapshot)[data-phase="3"] .bottom-nav{background:#3b1529f7;border-color:#aa647378}
:is(body,.theme-snapshot)[data-phase="3"] .bottom-nav .nav-item.active{color:#ffe1a1}
:is(body,.theme-snapshot)[data-phase="3"] .nav-item.active{background:#76364b;color:#ffe1a1}
:is(body,.theme-snapshot)[data-phase="3"] .membership{color:#ffdda0}
:is(body,.theme-snapshot)[data-phase="3"] .membership .icon{animation:glam-star 3s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .avatar{background:#77253e;border-color:#eaa28d;color:#ffe8bd;box-shadow:0 0 18px #e6909050}
.brand-jewel{position:relative;display:inline-flex;width:43px;height:45px;flex-shrink:0;align-items:center;justify-content:center;margin-right:3px;filter:drop-shadow(0 4px 6px #d28b395a)}
:is(body,.theme-snapshot)[data-phase="3"] .brandmark{clip-path:polygon(50% 94%,8% 55%,2% 35%,5% 19%,17% 8%,33% 8%,50% 23%,67% 8%,83% 8%,95% 19%,98% 35%,92% 55%);border-radius:0;background:linear-gradient(135deg,#fff6c4 0%,#f1c56b 29%,#fff0b1 44%,#cb8733 64%,#f9d895 86%);background-size:180% 180%;color:#7f3a22;font-size:23px;padding:0 0 6px;letter-spacing:0;width:42px;height:42px;animation:jewel-heart 2.8s ease-in-out infinite}
.brand-jewel .brandmark>span{font-size:17px;line-height:1;text-shadow:0 1px 0 #ffedb0}
.brand-jewel>i{position:absolute;font-size:17px;color:#ffe9a1;font-style:normal;line-height:1;text-shadow:0 0 10px #ffcb69;animation:glam-star 2.2s ease-in-out infinite}
.brand-jewel>i:nth-of-type(1){right:-6px;top:-3px}.brand-jewel>i:nth-of-type(2){left:-6px;top:8px;font-size:12px;animation-delay:-.8s}.brand-jewel>i:nth-of-type(3){right:-1px;bottom:-3px;font-size:10px;animation-delay:-1.6s}
:is(body,.theme-snapshot)[data-phase="3"] :is(.hero-card,.mini-card,.game-card){background:linear-gradient(145deg,#65283eeb,#3c2038f5);border-color:#aa667879;box-shadow:0 4px 0 #1b0a212e,0 12px 32px #1b0a2133}
:is(body,.theme-snapshot)[data-phase="3"] .tile-art{background:radial-gradient(ellipse at 45% 35%,#b76a60 0,transparent 66%),linear-gradient(125deg,#862b42,#682342 75%,#49233d)}
:is(body,.theme-snapshot)[data-phase="3"] .letter-row{animation:glam-tiles 3.4s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .letter{background:linear-gradient(135deg,#fff3cc,#ecc484);box-shadow:0 6px 0 #a86359,0 14px 22px #280e31aa;color:#6e243e}
:is(body,.theme-snapshot)[data-phase="3"] .letter-2{background:linear-gradient(130deg,#fcc8d7,#dc869e)}
:is(body,.theme-snapshot)[data-phase="3"] .spark{font-size:39px;animation:glam-star 2.8s ease-in-out infinite;text-shadow:0 0 22px #ffd18b90}
:is(body,.theme-snapshot)[data-phase="3"] .orbit{border-color:#ffd18760}
:is(body,.theme-snapshot)[data-phase="3"] .primary,:is(body,.theme-snapshot)[data-phase="3"] .yes-button{background:linear-gradient(110deg,#ffe8aa,#efb4a2 53%,#f2bad1);color:#65283e;box-shadow:0 5px 0 #a45c65,0 0 30px #f5ca8933;animation:gilded-glow 2.8s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .primary:after{animation:button-sheen 2.4s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .primary:hover,:is(body,.theme-snapshot)[data-phase="3"] .yes-button:hover{background:linear-gradient(110deg,#fff0bc,#ffcfba 55%,#ffd3e3)}
:is(body,.theme-snapshot)[data-phase="3"] .secondary{background:#66243d;border-color:#c78692;color:#fbe4cf}
:is(body,.theme-snapshot)[data-phase="3"] .primary:active,:is(body,.theme-snapshot)[data-phase="3"] .secondary:active{transform:scale(.97)}
:is(body,.theme-snapshot)[data-phase="3"] .memory-card{background:linear-gradient(110deg,#742b42,#45253c);border-color:#ae6c7977;box-shadow:0 3px 0 #270f2440}
:is(body,.theme-snapshot)[data-phase="3"] .memory-stamp{background:linear-gradient(135deg,#f5d594,#f0baac);color:#7b3441;box-shadow:0 0 19px #f7c97922;animation:stamp-sway 4s ease-in-out infinite;animation-delay:calc(var(--card)*-.6s)}
:is(body,.theme-snapshot)[data-phase="3"] .memory-card:nth-child(3n+2) .memory-stamp{background:linear-gradient(135deg,#f6bed1,#d590b9)}
:is(body,.theme-snapshot)[data-phase="3"] .memory-card:nth-child(3n) .memory-stamp{background:linear-gradient(135deg,#ead8f9,#c8a3d7)}
:is(body,.theme-snapshot)[data-phase="3"] .memory-card strong{color:#ffe3bd}
:is(body,.theme-snapshot)[data-phase="3"] .love-note{background:linear-gradient(145deg,#762e43,#50273f);border-color:#d0997170;box-shadow:2px 5px 0 #e1a16217}
:is(body,.theme-snapshot)[data-phase="3"] .love-note:before{background:#e7c77d85}
:is(body,.theme-snapshot)[data-phase="3"] .love-note>span,:is(body,.theme-snapshot)[data-phase="3"] .love-note h2{color:#ffe0ab}
:is(body,.theme-snapshot)[data-phase="3"] .love-note p,:is(body,.theme-snapshot)[data-phase="3"] .love-note small{color:#e9c0cc}
:is(body,.theme-snapshot)[data-phase="3"] .dialog{background:radial-gradient(ellipse at 90% 0,#913c52,transparent 65%),#492136;border:1px solid #d29c70;box-shadow:0 0 0 5px #fac5890d,0 30px 100px #1a001c99;animation:dialog-flourish .65s cubic-bezier(.16,.85,.3,1.1) both}
:is(body,.theme-snapshot)[data-phase="3"] .dialog h2{color:#ffe5b1;font-size:30px}
:is(body,.theme-snapshot)[data-phase="3"] .dialog p{color:#efc8d4}
:is(body,.theme-snapshot)[data-phase="3"] .dialog .question-symbol{background:linear-gradient(135deg,#ffe5a3,#f0b7b7);color:#803046;animation:grand-heart 2.5s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .modal-backdrop{background:#290e25a6}
:is(body,.theme-snapshot)[data-phase="3"] .chapter-art b{color:#f0a9b9;text-shadow:0 5px 0 #9c4569,0 0 35px #fbba9970;animation:grand-heart 2.5s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .chapter-art>span{font-size:36px;color:#ffd882;animation:glam-star 2.8s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .chapter-art>span:last-child{animation-delay:-1.4s}
:is(body,.theme-snapshot)[data-phase="3"] .chance-rings{width:185px;height:170px}
:is(body,.theme-snapshot)[data-phase="3"] .chance-rings b{color:#ffdc8e;text-shadow:0 0 35px #ffcd9299;font-size:112px;animation:glam-star 3.2s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .chance-rings i{border-color:#fcd79188;animation:grand-rings 3s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .chance-rings i:nth-child(2){animation-delay:-1s}:is(body,.theme-snapshot)[data-phase="3"] .chance-rings i:nth-child(3){animation-delay:-2s}
:is(body,.theme-snapshot)[data-phase="3"] .chance-title{font-family:Georgia,serif!important;font-size:clamp(43px,7vw,62px)!important;color:#ffe5a0;text-shadow:0 4px 0 #8f435a,0 0 27px #e2a15f60;animation:title-leap .8s cubic-bezier(.16,.8,.3,1.1) both}
:is(body,.theme-snapshot)[data-phase="3"] .golden-ticket{background:linear-gradient(110deg,#ffe8ad,#edb39d);box-shadow:0 6px 0 #ad6b643d,0 0 36px #efc77c2b;animation:ticket-rock 4s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .golden-ticket:before,:is(body,.theme-snapshot)[data-phase="3"] .golden-ticket:after{background:#572037}
:is(body,.theme-snapshot)[data-phase="3"] .gold-medallion{background:linear-gradient(135deg,#fff1b4,#eab86e 60%,#f8d4a1);box-shadow:0 0 0 9px #ffd88a12,0 0 42px #ffe69b40;color:#7d3543;animation:medallion-float 3.5s ease-in-out infinite}
.golden-poem{position:relative;margin:26px auto 22px;padding:22px 12px 17px;max-width:390px;text-align:center;background:radial-gradient(ellipse,#bc617025,transparent 70%)}
.golden-poem p{display:block;margin:0;font-family:Georgia,serif;line-height:1.3;color:#ffeac1}
.golden-poem strong{display:block;font-size:27px;font-weight:500;letter-spacing:-.6px}
.golden-poem em{display:block;font-size:23px;color:#f4bacc;margin:9px 0;font-weight:400}
.golden-poem p>span{display:block;font-size:17px;color:#f3d0a2;letter-spacing:.5px}
.poem-star{position:absolute;top:-7px;left:calc(50% - 9px);color:#ffe29b;animation:glam-star 3s infinite;font-size:19px}
.poem-flourish{display:block;font-size:14px;color:#e4b480;letter-spacing:5px;margin:16px 0 0;white-space:nowrap}
:is(body,.theme-snapshot)[data-phase="3"] .premium-emblem{font-size:126px;color:#ffe2a0;text-shadow:0 0 45px #efbd6399;animation:glam-star 3s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .premium-title{animation:grand-title 2.7s ease-in-out infinite;text-shadow:0 3px 0 #993e5b,0 0 34px #f4c2764d;color:#ffe5ad}
:is(body,.theme-snapshot)[data-phase="3"] .floating-hearts{color:#eeaec7;letter-spacing:22px;padding-left:22px;text-shadow:0 0 22px #efabbf65}
:is(body,.theme-snapshot)[data-phase="3"] .floating-hearts span{animation:grand-heart 2.4s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .reveal h1{text-shadow:0 3px 0 #822d47,0 0 24px #d47c823c}
:is(body,.theme-snapshot)[data-phase="3"] .reveal-message{max-width:360px;margin-left:auto;margin-right:auto;color:#ecc5d0}
:is(body,.theme-snapshot)[data-phase="3"] .no-button{background:#64283f;color:#f3c7d9;border-color:#b06d8a}
:is(body,.theme-snapshot)[data-phase="3"] .no-is-gone .yes-spotlight{animation:yes-invitation 1.2s ease-in-out .35s infinite,gilded-glow 2.8s ease-in-out infinite;background:linear-gradient(110deg,#ffe7a1,#f5bbca);box-shadow:0 8px 0 #ba6c7e,0 0 0 5px #edb58b15,0 14px 42px #f5bd9155}
:is(body,.theme-snapshot)[data-phase="3"] .confetti i{font-size:calc(19px + var(--i)*.5px);opacity:.7;color:#f9d59c}
:is(body,.theme-snapshot)[data-phase="3"] .confetti i:nth-child(2n){color:#f1a8c1}
:is(body,.theme-snapshot)[data-phase="3"] .scene-enter>.interlude{animation:chapter-entrance .7s cubic-bezier(.17,.86,.25,1) both}
:is(body,.theme-snapshot)[data-phase="3"] .scene-enter .memory-card{animation:card-entrance .6s cubic-bezier(.17,.86,.25,1) both;animation-delay:calc(var(--card)*.07s)}
:is(body,.theme-snapshot)[data-phase="3"] .scene-enter .nav-item.active .icon{animation:glam-star .65s ease-out}
:is(body,.theme-snapshot)[data-phase="3"] .scene-enter .reveal-content{animation:reveal-bloom 1.5s cubic-bezier(.2,.75,.25,1) both}
:is(body,.theme-snapshot)[data-phase="3"] .firework>span>i{width:5px;height:15px;animation-name:gala-firework;animation-duration:2.5s}
:is(body,.theme-snapshot)[data-phase="3"] .firework>span:nth-child(3n)>i{height:9px;width:9px}
:is(body,.theme-snapshot)[data-phase="3"] .firework:after{width:25px;height:25px;background:#ffedbb;box-shadow:0 0 45px 12px #ffc87577}
:is(body,.theme-snapshot)[data-phase="3"] .content{position:relative;z-index:1}
.gala-sky{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;contain:strict}
.gala-sky>span{position:absolute;left:var(--left);bottom:-70px;font-size:var(--size);color:#f9cf81;opacity:0;text-shadow:0 0 15px #f0b16a60;animation:sky-love var(--time) linear infinite;animation-delay:var(--delay)}
.gala-sky>span:nth-child(3n){color:#f3a6c5}.gala-sky>span:nth-child(4n){color:#dec3f1}
.gala-halo{position:absolute;left:10%;top:8%;width:80%;height:60%;background:radial-gradient(ellipse,#f7ac5733,transparent 68%);opacity:.6;animation:halo-breathe 6s ease-in-out infinite}
.gala-beam{position:absolute;left:-50%;top:-35%;width:200%;height:110%;transform-origin:50% 10%;background:conic-gradient(from 165deg at 50% 0%,transparent 0deg,#f8c67109 14deg,transparent 28deg,#f9b3780a 44deg,transparent 60deg);animation:velvet-light 14s ease-in-out infinite}
.love-effects{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:24;contain:strict}
.love-burst{position:absolute;width:0;height:0;pointer-events:none}
.love-burst>span{position:absolute;top:0;left:0;line-height:1;font-size:var(--size);color:#ffe7a0;text-shadow:0 2px 12px #e7a86270;animation:touch-bloom 1.2s cubic-bezier(.12,.7,.23,1) both;animation-delay:var(--delay)}
.love-burst>span:nth-child(3n){color:#ffb6d2}.love-burst>span:nth-child(3n+1){color:#f2d7ff}
.burst-ring{position:absolute;width:40px;height:40px;border:2px solid #ffdd9e;border-radius:50%;left:-20px;top:-20px;animation:touch-ring .75s ease-out both}
@keyframes jewel-heart{0%,100%{transform:rotate(-8deg) scale(1);background-position:0 50%}45%{transform:rotate(7deg) scale(1.1);background-position:100% 50%}60%{transform:rotate(2deg) scale(1.02)}}
@keyframes glam-star{0%,100%{transform:scale(.85) rotate(-10deg);opacity:.7}50%{transform:scale(1.17) rotate(28deg);opacity:1}}
@keyframes glam-tiles{0%,100%{transform:rotate(-6deg) translateY(2px)}50%{transform:rotate(3deg) translateY(-11px)}}
@keyframes stamp-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}
@keyframes grand-heart{0%,100%{transform:scale(1) rotate(-5deg)}35%{transform:scale(1.22) rotate(4deg)}55%{transform:scale(1.04) rotate(-2deg)}75%{transform:scale(1.14) rotate(3deg)}}
@keyframes grand-title{0%,100%{transform:scale(1) rotate(-1deg)}50%{transform:scale(1.055) rotate(1deg)}}
@keyframes gilded-glow{0%,100%{box-shadow:0 5px 0 #a45c65,0 0 22px #f5ca8933}50%{box-shadow:0 5px 0 #a45c65,0 0 0 3px #f5ca891c,0 0 38px #f5ca8955}}
@keyframes grand-rings{0%,100%{transform:scale(.88) rotate(-10deg);opacity:.4}50%{transform:scale(1.17) rotate(22deg);opacity:.9}}
@keyframes ticket-rock{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-5px)}}
@keyframes medallion-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-10px) rotate(8deg)}}
@keyframes title-leap{from{opacity:0;transform:scale(.45) rotate(-8deg)}70%{transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1)}}
@keyframes chapter-entrance{from{opacity:0;transform:perspective(900px) translateZ(-140px) translateY(30px) rotateX(6deg)}65%{opacity:1;transform:perspective(900px) translateZ(12px) translateY(-4px)}to{opacity:1;transform:none}}
@keyframes card-entrance{from{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:none}}
@keyframes dialog-flourish{from{opacity:0;transform:scale(.65) rotate(-5deg)}70%{transform:scale(1.025) rotate(1deg)}to{opacity:1;transform:none}}
@keyframes reveal-bloom{from{opacity:0;transform:scale(.8) translateY(25px)}70%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:none}}
@keyframes gala-firework{0%{opacity:0;transform:translateY(0) scale(.4)}12%{opacity:1}60%{opacity:.9}100%{opacity:0;transform:translateY(-190px) scale(.3)}}
@keyframes sky-love{0%{opacity:0;transform:translateY(0) rotate(-20deg)}15%{opacity:.35}75%{opacity:.27}100%{opacity:0;transform:translateY(-110vh) rotate(85deg)}}
@keyframes halo-breathe{50%{transform:scale(1.2);opacity:1}}
@keyframes velvet-light{50%{transform:rotate(22deg)}}
@keyframes touch-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}12%{opacity:1}70%{opacity:.85}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--turn)) scale(.65)}}
@keyframes touch-ring{from{opacity:.7;transform:scale(.25)}to{opacity:0;transform:scale(6)}}
@media(max-width:700px){.memory-list{grid-template-columns:1fr}:is(body,.theme-snapshot)[data-phase="2"] .question-card h1{font-size:26px}:is(body,.theme-snapshot)[data-phase="2"] .brand-name,:is(body,.theme-snapshot)[data-phase="3"] .brand-name{font-size:23px}.brand-jewel{width:37px;height:38px;margin-right:0}:is(body,.theme-snapshot)[data-phase="3"] .brandmark{width:36px;height:36px}.brand-jewel>i:nth-of-type(1){right:-3px;top:-5px}.brand-jewel>i:nth-of-type(2){left:-5px;top:6px}.brand-jewel>i:nth-of-type(3){right:0;bottom:-3px}:is(body,.theme-snapshot)[data-phase="3"] .topbar{padding:0 20px}.golden-poem strong{font-size:25px}.golden-poem em{font-size:23px}.golden-poem p>span{font-size:16px}.golden-poem{margin-top:24px;padding-top:21px}.love-note{padding:21px 18px 19px}.love-note h2{font-size:22px}:is(body,.theme-snapshot)[data-phase="3"] .chance-rings{height:143px;width:162px}:is(body,.theme-snapshot)[data-phase="3"] .chance-rings b{font-size:97px}.gala-sky>span{font-size:calc(var(--size)*.8)}:is(body,.theme-snapshot)[data-phase="3"] .premium-emblem{font-size:111px}:is(body,.theme-snapshot)[data-phase="3"] .reveal h1{font-size:44px;line-height:1.12}:is(body,.theme-snapshot)[data-phase="3"] .reveal-message{font-size:12px}.ending-note{font-size:15px!important}}
@media(max-width:360px){:is(body,.theme-snapshot)[data-phase="3"] .top-actions{gap:8px}:is(body,.theme-snapshot)[data-phase="3"] .topbar{padding:0 15px}:is(body,.theme-snapshot)[data-phase="3"] .membership{font-size:9px}:is(body,.theme-snapshot)[data-phase="3"] .brand-name{font-size:21px}:is(body,.theme-snapshot)[data-phase="3"] .chance-title{font-size:40px!important}:is(body,.theme-snapshot)[data-phase="3"] .reveal h1{font-size:39px}.golden-poem strong{font-size:23px}.golden-poem em{font-size:21px}.collection-count{font-size:8px}}
@media(prefers-reduced-motion:reduce){.gala-sky,.love-effects{display:none!important}:is(body,.theme-snapshot)[data-phase="3"] .scene-enter>.interlude,:is(body,.theme-snapshot)[data-phase="3"] .scene-enter .reveal-content,:is(body,.theme-snapshot)[data-phase="3"] .scene-enter .memory-card{opacity:1;transform:none}}
.reduced-motion .gala-sky,.reduced-motion .love-effects{display:none!important}.reduced-motion :is(body,.theme-snapshot)[data-phase="3"] .scene-enter>.interlude,.reduced-motion :is(body,.theme-snapshot)[data-phase="3"] .scene-enter .reveal-content,.reduced-motion :is(body,.theme-snapshot)[data-phase="3"] .scene-enter .memory-card{opacity:1;transform:none}

/* Palette changes dissolve through the previous scene, including the whole app chrome. */
.theme-snapshot{position:fixed;inset:0;z-index:40;overflow:hidden;pointer-events:none;transform:translateZ(0);animation:palette-dissolve 1.4s cubic-bezier(.25,.1,.25,1) both;scrollbar-width:none}
.theme-snapshot *,.theme-snapshot *::before,.theme-snapshot *::after{animation:none!important;transition:none!important;pointer-events:none!important}
.theme-snapshot .dev-panel{display:none}
#app.theme-arriving>.app-shell{animation:palette-arrival 1.4s ease both}
#app.theme-arriving .scene-enter>.interlude,#app.theme-arriving .scene-enter .reveal-content{animation:gentle-scene 1.5s ease both}
#app.theme-arriving .firework>span>i{animation-delay:calc(var(--delay) + 1s)}
#app.theme-arriving .firework:before{animation-delay:calc(var(--launch,0s) + .65s)}
#app.theme-arriving .firework:after{animation-delay:calc(var(--launch,0s) + 1s)}
@keyframes palette-dissolve{0%,8%{opacity:1}100%{opacity:0}}
@keyframes palette-arrival{from{opacity:0}to{opacity:1}}
@keyframes gentle-scene{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* The question has a palette of its own: luminous gold, rose and rich maroon. */
:is(body,.theme-snapshot)[data-scene-theme="gold"]{--ink:#74263f;--muted:#8a5360;--line:#d3a57c;--lime:#ac4765;color:var(--ink);background:radial-gradient(ellipse at 48% 22%,#fff4cd 0,transparent 54%),radial-gradient(ellipse at 90% 70%,#f9d68a 0,transparent 56%),linear-gradient(135deg,#e8bc69,#f6dfa2 48%,#dfac58);min-height:100dvh}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .topbar,:is(body,.theme-snapshot)[data-scene-theme="gold"] .sidebar{background:#f8e3abe8;border-color:#b9776640}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .brand-name{color:#7c2b48;text-shadow:0 1px 0 #fff6d0}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .brand-jewel{filter:drop-shadow(0 2px 2px #8d482da8);background:radial-gradient(ellipse,#8b354c 35%,transparent 65%)}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .brand-jewel>i{color:#a54863;text-shadow:0 0 8px #fff5c6}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .desktop-breadcrumb,:is(body,.theme-snapshot)[data-scene-theme="gold"] .membership{color:#853a53}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .desktop-breadcrumb>span,:is(body,.theme-snapshot)[data-scene-theme="gold"] .sidebar-label,:is(body,.theme-snapshot)[data-scene-theme="gold"] .sidebar-bottom{color:#91645b}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .avatar{background:linear-gradient(135deg,#a74763,#6c233c);color:#ffebc2;border-color:#bb7c72;box-shadow:0 0 0 4px #c3738020}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .nav-item{color:#8c5b66}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .nav-item.active{background:#e9b6b480;color:#732941}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .bottom-nav{background:#f9e7b9f5;border-color:#c58f7559}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .bottom-nav .nav-item.active{color:#7a2a48;background:transparent}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .bottom-nav .nav-item.active .icon{filter:drop-shadow(0 3px 0 #d5929a75)}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal{max-width:560px}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal h1{color:#76233f!important;text-shadow:0 2px 0 #fff7db,0 9px 25px #c2874830;font-size:clamp(44px,5vw,62px);line-height:1.1;letter-spacing:-1.8px}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal .script-name{color:#a44363!important;text-shadow:0 1px 0 #fff5d5}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .floating-hearts{color:#ac526c;text-shadow:0 3px 0 #eed39a,0 0 22px #b75b5b30}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal-message{color:#834355;font-size:14px;max-width:360px}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .yes-button{background:linear-gradient(115deg,#aa4564,#8b2f4d 55%,#64243e);color:#ffedce;border:1px solid #af5871;box-shadow:0 6px 0 #bc7982,0 0 0 5px #b35a6712,0 15px 35px #9d554a30;animation:rose-glow 3s ease-in-out infinite}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .yes-button:hover{background:linear-gradient(115deg,#b64f70,#9a3655 55%,#722946)}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .no-button{background:#f6d1d8;color:#7b2c47;border-color:#c78c98;box-shadow:0 3px 9px #a7616530}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .no-is-gone .yes-spotlight{background:linear-gradient(115deg,#ae4564,#8b2f4d 55%,#64243e);color:#ffedce;animation:yes-invitation 1.2s ease-in-out .35s infinite,rose-glow 3s ease-in-out infinite}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .poof-moment strong{color:#842d4c;text-shadow:0 2px 0 #fff4ce,0 0 20px #b9637035}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .poof-stars{color:#bb5c7c}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .poof-moment>span:last-child{color:#8b4c5b}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .gala-sky>span{color:#ae684c;text-shadow:0 1px 8px #fff2ba75}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .gala-sky>span:nth-child(3n){color:#a74969}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .gala-sky>span:nth-child(4n){color:#8a476b}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .gala-halo{background:radial-gradient(ellipse,#fffbee88,transparent 68%)}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .gala-beam{background:conic-gradient(from 165deg at 50% 0%,transparent 0deg,#fff9d928 14deg,transparent 28deg,#bf782508 44deg,transparent 60deg)}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .firework>span>i{background:#a54865;box-shadow:0 0 8px 2px #b4626759}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .firework:nth-child(even)>span>i{background:#803250;box-shadow:0 0 7px 2px #a4467a55}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .firework:before{background:linear-gradient(transparent,#a44966)}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .firework:after{background:#f7bcbd;box-shadow:0 0 35px 10px #d7828444}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .love-burst>span{color:#9f3f59;text-shadow:0 1px 8px #f9dfb850}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .love-burst>span:nth-child(3n){color:#cf708d}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .love-burst>span:nth-child(3n+1){color:#894266}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .burst-ring{border-color:#ad526d}
@keyframes rose-glow{0%,100%{box-shadow:0 6px 0 #bc7982,0 0 0 5px #b35a6712,0 15px 30px #9d554a25}50%{box-shadow:0 6px 0 #bc7982,0 0 0 7px #b35a6716,0 15px 45px #9d554a40}}
@media(max-width:700px){:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal h1{font-size:45px}:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal-message{font-size:12px}}
@media(max-width:360px){:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal h1{font-size:39px;letter-spacing:-1.5px}}
@media(prefers-reduced-motion:reduce){.theme-snapshot{display:none!important}#app.theme-arriving>.app-shell,#app.theme-arriving .scene-enter>.interlude,#app.theme-arriving .scene-enter .reveal-content{opacity:1;transform:none}}
.reduced-motion .theme-snapshot{display:none!important}.reduced-motion #app.theme-arriving>.app-shell,.reduced-motion #app.theme-arriving .scene-enter>.interlude,.reduced-motion #app.theme-arriving .scene-enter .reveal-content{opacity:1;transform:none}
/* A self-hosted brush face; no font service or visitor account is needed. */
@font-face{font-family:'Yellowtail';src:url('../public/fonts/Yellowtail-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.chapter-art>.zodiac{font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif!important;font-size:36px!important;filter:drop-shadow(0 4px 9px #9261a52b)}
.mini-card .playing-quote{font-family:Georgia,serif;font-size:clamp(23px,3vw,31px);font-style:italic;line-height:1.45;color:var(--ink);max-width:590px;margin:22px 0 27px}
.love-effects{z-index:65}
.memory-pop{position:absolute;font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:38px;line-height:1;animation:memory-kiss 1.35s cubic-bezier(.2,.7,.3,1) both;filter:drop-shadow(0 4px 10px #be567a35)}
@keyframes memory-kiss{0%{opacity:0;transform:translate(-50%,-40%) scale(.35) rotate(-14deg)}20%{opacity:1;transform:translate(-50%,-75%) scale(1.18) rotate(8deg)}50%{opacity:1;transform:translate(-50%,-140%) scale(1) rotate(-4deg)}100%{opacity:0;transform:translate(-50%,-270%) scale(.8) rotate(10deg)}}
/* The photo is opt-in and can be dismissed by tapping it, the close button or Escape. */
.dialog.photo-dialog{max-width:480px;padding:37px 25px 24px;overflow-y:auto}
.photo-dialog h2{font-size:23px;margin-bottom:25px;position:relative;z-index:1}
.photo-bounce{animation:photo-hop 1.35s ease-in-out infinite}
.photo-frame{display:block;width:100%;border:0;padding:9px 9px 13px;border-radius:9px;background:#fff4f0;box-shadow:0 8px 28px #50213840;animation:photo-wiggle .7s ease-in-out infinite;transform-origin:50% 75%}
.photo-frame img{display:block;width:100%;height:auto;max-height:48dvh;object-fit:contain;border-radius:4px;background:#f8e8ed}
.photo-frame>span{display:block;font-size:11px;color:#84445e;padding-top:12px}
.photo-dialog>.primary{margin-top:26px}
.photo-flash:after{content:'';position:fixed;inset:0;background:#fff6ec;pointer-events:none;animation:camera-flash .65s ease-out both;z-index:2}
.photo-error[hidden],.photo-bounce[hidden]{display:none}
@keyframes camera-flash{0%{opacity:.75}100%{opacity:0}}
@keyframes photo-hop{0%,100%{transform:translateY(0) scale(.97)}50%{transform:translateY(-11px) scale(1.015)}}
@keyframes photo-wiggle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
/* Each joined word writes on in sequence; ribbons keep their flowing letter connections. */
:is(body,.theme-snapshot)[data-phase="3"] .interlude .brush-heading{font-family:'Yellowtail','Segoe Script',cursive!important;font-weight:400;font-style:normal;letter-spacing:0;line-height:1.08;text-shadow:none;animation:none;overflow:visible}
.brush-word{display:inline-block;position:relative;white-space:nowrap;vertical-align:bottom}
.ribbon-ink{display:inline-block;padding:.05em .12em .12em .02em;margin-right:-.1em;background:linear-gradient(110deg,#622137 0%,#8e3450 25%,#b66981 34%,#e3a4b4 37%,#a84763 41%,#672037 55%,#a64b67 77%,#672037 100%);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #fff3cd70);clip-path:polygon(0 0,0 0,0 100%,0 100%);animation:brush-write var(--write-time) linear var(--write-delay) both,ribbon-shimmer 7s ease-in-out infinite}
.writing-stars{position:absolute;left:0;top:15%;height:65%;width:0;pointer-events:none;opacity:0;animation:pen-travel var(--write-time) linear var(--write-delay) both;color:#923954}
.writing-stars i{position:absolute;font-style:normal;font-family:Georgia,serif;font-size:14px;animation:pen-flutter .8s ease-in-out infinite;text-shadow:0 0 8px #fff5dc}
.writing-stars i:nth-child(2){top:60%;left:-8px;font-size:9px;animation-delay:-.3s}.writing-stars i:nth-child(3){top:-10%;left:8px;font-size:8px;animation-delay:-.5s}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal .question-lettering{font-size:clamp(48px,6vw,76px);color:#76233f!important;line-height:1.07;letter-spacing:0;margin-top:15px;margin-bottom:12px}
:is(body,.theme-snapshot)[data-phase="3"] .celebration{max-width:650px;padding-top:42px}
.premium-unlocked{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;margin:26px auto 15px;position:relative;width:100%;max-width:590px}
:is(body,.theme-snapshot)[data-phase="3"] .interlude .premium-lettering{font-size:clamp(58px,7vw,94px);margin:0;color:#ffe299}
.premium-lettering .ribbon-ink{background-image:linear-gradient(110deg,#dba753 0%,#ffe4a2 22%,#fff9d9 33%,#fffefa 36%,#f4cc77 40%,#c88f3e 51%,#ffdf9e 74%,#f9cb6e 100%);filter:drop-shadow(0 2px 0 #894752) drop-shadow(0 0 13px #f3c87824)}
.premium-lettering .writing-stars{color:#ffe9aa}
.ending-symbol{font-family:'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:34px;filter:drop-shadow(0 3px 15px #f1b87930);animation:ending-emblem 3.7s ease-in-out infinite}
.symbol-right{animation-delay:-1.85s}
:is(body,.theme-snapshot)[data-phase="3"] .celebration .together{font-size:clamp(20px,3vw,27px);font-family:Georgia,serif;font-weight:500;color:#ffe6a7;margin:20px 0 22px}
:is(body,.theme-snapshot)[data-phase="3"] .celebration .closing-message{font-family:Georgia,serif;font-size:20px!important;font-style:italic;line-height:1.65;color:#f4cfd6!important;max-width:480px;margin:0 auto 28px}
.celebration .ending-actions{max-width:420px;margin-left:auto;margin-right:auto}
@keyframes brush-write{0%{clip-path:polygon(0 0,0 0,0 100%,0 100%)}100%{clip-path:polygon(0 0,105% 0,100% 100%,0 100%)}}
@keyframes ribbon-shimmer{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes pen-travel{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:100%;opacity:0}}
@keyframes pen-flutter{0%,100%{transform:translateY(0) rotate(-15deg) scale(.6)}50%{transform:translateY(-10px) rotate(70deg) scale(1.2)}}
@keyframes ending-emblem{0%,100%{transform:translateY(3px) rotate(-7deg)}50%{transform:translateY(-5px) rotate(5deg)}}
@media(max-width:700px){:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal .question-lettering{font-size:clamp(45px,12.7vw,58px)}:is(body,.theme-snapshot)[data-phase="3"] .interlude .premium-lettering{font-size:clamp(49px,14.4vw,67px)}.premium-unlocked{grid-template-columns:29px minmax(0,1fr) 29px;gap:3px;margin-top:22px}.ending-symbol{font-size:27px}:is(body,.theme-snapshot)[data-phase="3"] .celebration .closing-message{font-size:18px!important;line-height:1.7}.dialog.photo-dialog{width:calc(100vw - 44px);padding:37px 20px 22px}}
@media(prefers-reduced-motion:reduce){.ribbon-ink{clip-path:none!important}.writing-stars,.photo-flash:after{display:none!important}}
.reduced-motion .ribbon-ink{clip-path:none!important}.reduced-motion .writing-stars,.reduced-motion .photo-flash:after{display:none!important}
/* A larger, playful finale: flowing ribbon lettering and a screen-wide curtain call. */
.stats-motto{font-family:Georgia,serif;font-size:clamp(22px,3vw,31px);font-style:italic;line-height:1.45;margin:0 0 25px;max-width:640px}
:is(body,.theme-snapshot)[data-phase="2"] .photo-frame{padding:11px 11px 14px;border:2px solid #db9fb8;background:linear-gradient(135deg,#f5b5ba,#f9e7db 40%,#b9e0fc);box-shadow:0 0 0 4px #d9efff55,0 12px 26px #90446133}
:is(body,.theme-snapshot)[data-phase="2"] .photo-frame img{border:2px solid #fff3ee;box-shadow:0 2px 7px #8a4c6230}
.photo-frame>span{font-family:Georgia,serif;font-size:20px;font-weight:500;color:#743c57;padding-top:11px}
.memory-photo{padding:10px;margin:18px 0;border:1px solid #e8c18d;border-radius:16px;background:linear-gradient(135deg,#ba6882,#64293f 35%,#ebc782 72%,#934158);box-shadow:0 0 0 4px #e6b77a12,0 9px 24px #18061738;position:relative}
.memory-photo:after{content:'✧';position:absolute;right:-5px;top:-14px;font-size:29px;color:#ffe6a6;text-shadow:0 0 12px #f7d39480;animation:glam-star 3s ease-in-out infinite;pointer-events:none}
.memory-photo img{display:block;width:100%;height:auto;max-height:55dvh;object-fit:contain;border:2px solid #eab0bf;border-radius:8px;background:#4d2339}
:is(body,.theme-snapshot)[data-phase="3"] .dialog .memory-photo{margin:20px 0}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal{max-width:780px}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal .question-lettering{font-size:clamp(64px,8.5vw,110px);line-height:1.07;width:calc(100% - 36px);margin:30px auto 32px}
.lettering-body{display:block;animation:lettering-swing 3.7s ease-in-out infinite;transform-origin:center 65%}
.brush-word{animation:word-flirt 2.7s ease-in-out infinite;animation-delay:calc(var(--word)*-.37s)}
.ribbon-ink{background-image:linear-gradient(112deg,#561b32 0%,#8b284a 23%,#b6557b 31%,#fff3df 33%,#c37896 35%,#74223e 40%,#9a375a 67%,#f3bece 69%,#fff2db 70%,#8a2c4b 73%,#5b1b33 100%);background-size:320% 100%;-webkit-text-stroke:.6px #7d2946;paint-order:stroke fill;filter:drop-shadow(0 2px 0 #602037) drop-shadow(0 4px 2px #74304724) drop-shadow(0 0 8px #e397a350);animation:brush-write var(--write-time) linear var(--write-delay) both,ribbon-shimmer 3.8s ease-in-out infinite}
.writing-stars{top:15%;height:75%;filter:drop-shadow(0 0 6px #f2a9b899)}
.writing-stars i{font-size:var(--spark-size);left:calc((var(--particle) - 3)*6px);top:var(--spark-top);animation:pen-sparks .65s ease-in-out infinite;animation-delay:calc(var(--particle)*-.13s);color:#af4b70;text-shadow:0 0 8px #fff4ce,0 0 16px #f5c6cd}
.writing-stars i:nth-child(2n){color:#733146;font-size:21px}.writing-stars i:nth-child(3n){color:#fff0ce;font-size:26px;text-shadow:0 0 4px #7c2648,0 0 10px #b7506b}
.writing-complete .lettering-body{animation:lettering-ta-da 1.2s cubic-bezier(.2,.8,.3,1),lettering-swing 3.7s ease-in-out 1.2s infinite}
:is(body,.theme-snapshot)[data-phase="3"] .celebration{max-width:800px}
.premium-unlocked{display:block;max-width:760px;padding:12px 70px 36px;margin:28px auto 22px}
:is(body,.theme-snapshot)[data-phase="3"] .interlude .premium-lettering{font-size:clamp(85px,9vw,120px);line-height:1.05;max-width:560px;margin:auto}
.premium-lettering .ribbon-ink{background-image:linear-gradient(110deg,#b67a2e 0%,#f0c26c 18%,#ffe7a2 25%,#fff 28%,#fff4c8 30%,#d99e3e 36%,#f6c978 59%,#fff 63%,#ffd990 66%,#d59945 72%,#fff0bb 100%);-webkit-text-stroke:.65px #e9b75e;filter:drop-shadow(0 2px 0 #c78947) drop-shadow(0 5px 2px #401b3344) drop-shadow(0 0 16px #f9d68245)}
.premium-lettering .writing-stars i{color:#ffe6a2;text-shadow:0 0 8px #f6ca6c,0 0 19px #ffdf934d}.premium-lettering .writing-stars i:nth-child(3n){color:#fff9e5}
.ending-symbol{position:absolute;top:calc(50% - 45px);font-size:67px;line-height:1.4;width:88px;height:95px;display:grid;place-items:center;isolation:isolate;filter:drop-shadow(0 5px 5px #1e08244d);animation:our-emblems 2.5s ease-in-out infinite}
.ending-symbol:before{content:'';position:absolute;z-index:-1;inset:-25%;border-radius:50%;background:radial-gradient(ellipse,#ffebb98f,#ffd28833 40%,transparent 70%);animation:emblem-halo 2.5s ease-in-out infinite}
.ending-symbol:after{content:'✦';position:absolute;right:-2px;top:-13px;font-family:Georgia,serif;font-size:19px;color:#ffe9b1;text-shadow:0 0 12px #ffe19c;animation:glam-star 2s ease-in-out infinite}
.symbol-left{left:0;rotate:-6deg}.symbol-right{right:0;animation-delay:-1.25s;rotate:6deg}
.finale-crescendo{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.finale-crescendo>span{position:absolute;left:var(--cx);top:var(--cy);font-size:var(--size);line-height:1;color:#ffe7a2;text-shadow:0 0 16px #ffd99299;animation:curtain-call 2s cubic-bezier(.09,.6,.23,1) var(--delay) both}
.finale-crescendo>span:nth-child(3n){color:#ffb1cf}.finale-crescendo>span:nth-child(4n){color:#fff7d7}
.crescendo-ring{position:absolute;left:var(--cx);top:var(--cy);width:55px;height:55px;margin:-27px;border-radius:50%;border:3px solid #ffe09f;box-shadow:0 0 28px #f6bf6599;animation:curtain-ring 1.5s ease-out both}
.crescendo-ring.second{animation-delay:.25s;border-color:#eca4c2}
.crescendo-glow{position:absolute;left:var(--cx);top:var(--cy);width:80vw;height:80vh;background:radial-gradient(ellipse,#ffe9b254,transparent 62%);animation:curtain-glow 1.6s ease-out both;transform:translate(-50%,-50%)}
body[data-scene-theme="gold"] .finale-crescendo>span{color:#982e57;text-shadow:0 0 12px #fff2c080}body[data-scene-theme="gold"] .finale-crescendo>span:nth-child(3n){color:#d6698e}body[data-scene-theme="gold"] .crescendo-ring{border-color:#ac3b67;box-shadow:0 0 25px #dc729450}
@keyframes lettering-swing{0%,100%{transform:translate(0,0) rotate(-1.5deg)}25%{transform:translate(4px,-12px) rotate(2deg)}50%{transform:translate(-3px,-3px) rotate(-2deg)}75%{transform:translate(3px,-9px) rotate(1deg)}}
@keyframes word-flirt{0%,100%{transform:translateY(2px) rotate(-1deg)}50%{transform:translateY(-5px) rotate(2deg)}}
@keyframes pen-sparks{0%{transform:translate(-6px,8px) rotate(-30deg) scale(.5);opacity:.45}50%{transform:translate(5px,-11px) rotate(50deg) scale(1.2);opacity:1}100%{transform:translate(-5px,-21px) rotate(130deg) scale(.65);opacity:.3}}
@keyframes lettering-ta-da{0%{transform:scale(1) rotate(-2deg)}28%{transform:scale(1.07) translateY(-16px) rotate(3deg)}50%{transform:scale(.97) rotate(-3deg)}75%{transform:scale(1.03) translateY(-7px) rotate(2deg)}100%{transform:scale(1) rotate(-1.5deg)}}
@keyframes our-emblems{0%,100%{transform:rotate(-18deg) translateY(3px) scale(1)}50%{transform:rotate(19deg) translateY(-10px) scale(1.13)}}
@keyframes emblem-halo{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.22)}}
@keyframes curtain-call{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}10%{opacity:1}65%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(var(--spin)) scale(.8)}}
@keyframes curtain-ring{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(15)}}
@keyframes curtain-glow{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
/* The No button has its own viewport layer, outside transformed scene containers. */
.no-flight-layer{position:fixed;inset:0;z-index:46;pointer-events:none;overflow:hidden}
.no-flight-position{position:absolute;display:block}
.no-flight-position .runaway-no{pointer-events:auto;position:relative;white-space:nowrap;max-width:calc(100vw - 56px);min-height:48px;padding:12px 18px;transform:rotate(var(--no-tilt));animation:no-fidget 1.4s ease-in-out infinite;box-shadow:0 5px 0 #be7b954f,0 9px 20px #86425833}
.reveal .no-playground{display:grid;place-items:start center;min-height:130px;height:auto;padding-top:28px;position:relative}
.reveal .no-playground>.no-button{position:relative;left:auto;top:auto}
.no-pop-flight{position:absolute;width:0;height:0}
.balloon-shell{position:absolute;width:180px;min-height:50px;left:-90px;top:-25px;border:2px solid #a33f65;border-radius:24px;background:radial-gradient(ellipse at 28% 20%,#fff3f5,#f4bdcf 40%,#d681a6);box-shadow:inset -8px -7px 14px #ae466833,0 5px 10px #98506a22;display:grid;place-items:center;color:#7b2d4d;font-size:12px;text-align:center;padding:10px;transform-origin:center;animation:balloon-inflate 1.05s cubic-bezier(.35,.1,.6,1) var(--pop-elapsed) both}
.balloon-shell:after{content:'';position:absolute;bottom:-10px;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:10px solid #c67699}
.balloon-shell>i{position:absolute;top:calc(100% + 8px);width:30px;height:47px;border-left:1px solid #8b5270;border-radius:40%;transform:rotate(-12deg)}
.balloon-shell>span{animation:balloon-label 1.05s linear var(--pop-elapsed) both}
.balloon-stars{position:absolute;inset:0}
.balloon-stars>span{position:absolute;font-size:29px;color:#b34070;text-shadow:0 0 9px #fff1c9;opacity:0;animation:balloon-star-pop 1.2s ease-out calc(.92s + var(--pop-elapsed)) both}
.balloon-poof{position:absolute;left:0;top:0;white-space:nowrap;font-size:39px;font-weight:900;letter-spacing:2px;color:#8b2b54;text-shadow:0 3px 0 #ffdfea,0 0 26px #f6bd9e;animation:balloon-poof 1.9s cubic-bezier(.2,.85,.3,1) calc(.92s + var(--pop-elapsed)) both}
.yes-stage{display:grid;place-items:center;margin-top:26px}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .no-is-gone .yes-stage{min-height:150px;margin-top:35px}
:is(body,.theme-snapshot)[data-scene-theme="gold"] .no-is-gone .yes-spotlight{width:calc(100% - 30px);max-width:580px;min-height:118px;border-radius:25px;font-size:30px;gap:13px;padding:18px 16px;box-shadow:0 9px 0 #be718b,0 0 0 8px #c8758319,0 16px 50px #a2445d66;animation:yes-look-at-me 1.65s ease-in-out infinite,rose-glow 2s ease-in-out infinite}
.yes-spotlight>span{display:block}.yes-spotlight small{display:block;margin-top:10px;font-size:11px;letter-spacing:1px;font-weight:800;color:#ffecd1}
.yes-spotlight .icon{width:30px;height:30px;animation:grand-heart 1.5s ease-in-out infinite}
.no-is-gone .poof-moment{animation:poof-caption .6s ease .95s both}
@keyframes no-fidget{0%,100%{transform:rotate(var(--no-tilt)) translateY(0)}50%{transform:rotate(calc(var(--no-tilt) + 3deg)) translateY(-2px)}}
@keyframes balloon-inflate{0%{transform:scale(1);border-radius:24px;opacity:1}45%{transform:scale(1.22,1.6);border-radius:50%}72%{transform:scale(1.36,2.05) rotate(-5deg);border-radius:50%}88%{transform:scale(1.45,2.15) rotate(5deg);opacity:1}95%{transform:scale(1.7,2.4);opacity:.5}100%{transform:scale(1.9,2.5);opacity:0}}
@keyframes balloon-label{0%,45%{opacity:1}80%,100%{opacity:0}}
@keyframes balloon-star-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}12%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--bx)),calc(-50% + var(--by))) rotate(160deg) scale(.8)}}
@keyframes balloon-poof{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-12deg)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(5deg)}65%{opacity:1;transform:translate(-50%,-60%) scale(1) rotate(-4deg)}100%{opacity:0;transform:translate(-50%,-90%) scale(.95)}}
@keyframes yes-look-at-me{0%,100%{transform:translateY(0) rotate(-2deg) scale(1)}20%{transform:translateY(-11px) rotate(3deg) scale(1.025)}40%{transform:translateY(0) rotate(-3deg)}65%{transform:translateY(-7px) rotate(2deg) scale(1.035)}80%{transform:translateY(-2px) rotate(-1deg)}}
@keyframes poof-caption{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
@media(max-width:700px){:is(body,.theme-snapshot)[data-scene-theme="gold"] .reveal .question-lettering{font-size:clamp(55px,17vw,81px);width:calc(100% - 26px);line-height:1.12;margin-top:28px;margin-bottom:24px}.reveal .floating-hearts{margin-bottom:17px}.reveal .script-name{font-size:31px!important}.premium-unlocked{padding:10px 8px 90px;margin-top:24px}:is(body,.theme-snapshot)[data-phase="3"] .interlude .premium-lettering{font-size:clamp(66px,19vw,88px);max-width:100%}.ending-symbol{font-size:54px;width:74px;height:80px;top:auto;bottom:0}.symbol-left{left:13%}.symbol-right{right:13%}:is(body,.theme-snapshot)[data-scene-theme="gold"] .no-is-gone .yes-spotlight{font-size:26px;min-height:115px;width:calc(100% - 28px);gap:8px;padding:16px 11px}.yes-spotlight small{font-size:9px;letter-spacing:.7px}.yes-spotlight .icon{width:25px;height:25px}.no-pop-flight .balloon-poof{font-size:33px}}
@media(prefers-reduced-motion:reduce){.no-pop-flight,.finale-crescendo{display:none!important}.no-flight-position .runaway-no{transform:none!important}.no-is-gone .poof-moment{opacity:1;transform:none}.lettering-body,.brush-word{transform:none!important}}
.reduced-motion .no-pop-flight,.reduced-motion .finale-crescendo{display:none!important}.reduced-motion .no-flight-position .runaway-no{transform:none!important}.reduced-motion .no-is-gone .poof-moment{opacity:1;transform:none}.reduced-motion .lettering-body,.reduced-motion .brush-word{transform:none!important}
.question-line-break.break-after-2{display:none}
.reveal .no-playground{margin-top:4px;padding-top:20px}
.reveal.no-is-gone{padding-bottom:14vh}
.yes-spotlight small{font-size:12px;letter-spacing:.5px;color:#fff1d8}
@media(max-width:700px){.question-line-break.break-after-2{display:block}.yes-spotlight small{font-size:11px;letter-spacing:.3px}}
.no-is-gone .poof-moment{animation-delay:2.85s}
/* Equal-sided frames with a centered square crop; the original portrait assets stay intact. */
.photo-window{display:block;position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:7px}
.photo-frame .photo-window img,.memory-photo .photo-window img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 50%;border-radius:7px}
:is(body,.theme-snapshot)[data-phase="2"] .photo-frame{width:min(100%,calc(48dvh + 26px));margin-inline:auto;padding:11px;aspect-ratio:1}
.photo-frame>.photo-window{padding:0}
.photo-caption{display:block;text-align:center;margin:10px 0 0;font-family:Georgia,serif;font-size:20px;color:#743c57;line-height:1.4}
.memory-photo{width:100%;max-width:420px;margin-inline:auto;aspect-ratio:1}
:is(body,.theme-snapshot)[data-phase="3"] .dialog .memory-photo{margin-inline:auto}
@media(max-width:900px){.dashboard>aside.with-photo-memories{grid-template-columns:minmax(0,1fr)}.with-photo-memories .tip .memory-photo{max-width:420px}}
/* The personal photos are a surprise inside the memory dialog, opened from this full-card button. */
.memory-teaser{display:block;width:100%;text-align:left;transition:box-shadow .2s,border-color .2s}
.memory-teaser .eyebrow,.memory-teaser .tip-title,.memory-teaser .tip-description{display:block}
.memory-teaser .tip-title{font-family:Georgia,serif;font-size:22px;line-height:1.35;font-weight:600;letter-spacing:-.3px}
.memory-teaser .tip-description{font-size:12px;line-height:1.65;color:var(--muted);margin-top:12px}
.memory-teaser .text-button{margin-top:9px}.memory-teaser:hover{box-shadow:0 0 24px #f3bd9226}.memory-teaser:focus-visible{outline-color:#f5d28f}
.dialog .memory-photo-motion{width:calc(100% - 16px);margin:24px auto;animation:photo-hop 1.35s ease-in-out infinite}
:is(body,.theme-snapshot)[data-phase="3"] .dialog .memory-photo-motion .memory-photo{margin:0 auto;animation:photo-wiggle .7s ease-in-out infinite;transform-origin:50% 75%}
.dialog .memory-photo-motion:nth-of-type(2){animation-delay:-.6s}
/* Only the runaway button follows the document; balloon-pop effects remain fixed to the viewport. */
#app{position:relative}
.no-flight-layer.no-runaway-layer{position:absolute}
