:root{--ink:#10102d;--cream:#fff4dc;--gold:#f4c76d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ink);color:var(--cream);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}#game{position:relative;min-height:100svh;overflow:hidden}.art,.veil{position:absolute;inset:0}.art{background:url('assets/plaza.png') center/cover;filter:grayscale(.8) saturate(.5) brightness(.56);transition:filter 1.8s,transform 2s}.veil{background:linear-gradient(90deg,#08081fc7,#08081f14 60%,#08081f59),linear-gradient(0deg,#08081fa6,transparent 40%)}header{position:relative;z-index:20;height:78px;display:flex;align-items:center;gap:20px;padding:0 5vw;border-bottom:1px solid #ffffff28}header a{font:20px Georgia,serif;color:white;text-decoration:none}header a b{color:var(--gold)}header span{margin-left:auto;text-transform:uppercase;font-size:11px;letter-spacing:.14em;opacity:.6}header button,footer button{background:#15143899;border:1px solid #ffffff38;color:white;border-radius:99px;padding:10px 15px}.progress{position:relative;z-index:21;height:2px;background:#ffffff16}.progress i{display:block;width:14.28%;height:100%;background:var(--gold);transition:.4s}.scene{position:absolute;z-index:5;inset:80px 0 56px;padding:5vw;display:flex;align-items:center;visibility:hidden;opacity:0;transform:translateY(12px);transition:.5s}.scene.active{visibility:visible;opacity:1;transform:none}.card{max-width:650px;padding:34px;border-radius:28px;background:#11102dcc;backdrop-filter:blur(16px);border:1px solid #ffffff2b}.eyebrow,.speaker{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800;color:var(--gold);margin:0 0 14px}h1,h2{font-family:Georgia,serif;font-size:clamp(43px,5vw,74px);line-height:.98;letter-spacing:-.035em;margin:0 0 20px}h1 em,.finale em{font-style:normal;color:var(--gold)}p{font-size:19px;line-height:1.55;color:#fff4dccc}button,.actions a{font:inherit;cursor:pointer}.card>button,.choices button,.actions button,.actions a{border:0;border-radius:99px;padding:17px 23px;background:var(--gold);color:#241c16;font-weight:800;text-decoration:none}.dialogue{align-self:flex-end;margin-bottom:3vh}.dialogue h2,.reflection h2{font-size:clamp(34px,4vw,56px)}.choice{margin:auto;text-align:center;max-width:820px}.choice h2{font-size:56px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:24px}.choices button{border-radius:20px;display:flex;flex-direction:column;font-size:18px}.choices button small{font-weight:400;margin-top:5px}.choices .soft{background:#ffffff18;color:white;border:1px solid #ffffff30}#choiceMsg{min-height:28px;color:var(--gold);font-weight:700}.puzzle-copy{position:absolute;top:7%;left:5vw;max-width:500px}.puzzle-copy h2{font-size:54px}.lanterns{position:absolute;left:22%;right:9%;bottom:5%;display:flex;justify-content:space-around}.lanterns button{width:170px;min-height:125px;border:2px solid #ffffff2b;border-radius:25px;background:#0a092db3;color:white;font-weight:800}.lanterns span{display:block;font-size:34px;margin-bottom:6px}.lanterns button.on{background:radial-gradient(circle,#f7d179,#b66c32);color:#251916;box-shadow:0 0 38px #f3b95c}.transform{margin:auto;text-align:center;max-width:720px}.orb{margin:auto auto 18px;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:#fff0a4;color:#8d561d;font-size:32px;box-shadow:0 0 60px #ffd46a}.reflection blockquote{border-left:3px solid var(--gold);padding:15px 20px;margin:22px 0;font:20px Georgia,serif}.reflection cite{display:block;color:var(--gold);font:12px system-ui;margin-top:7px}.finale{justify-content:space-between;background:radial-gradient(circle at 20% 10%,#383269,#14122f 55%,#0b0a21)}.finale>div:first-child{max-width:720px}.finale p{max-width:650px}.actions{display:flex;gap:13px;margin-top:25px}.keepsake{display:flex;flex-direction:column;align-items:center;text-align:center}.keepsake span{display:grid;place-items:center;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,#ffe69b,#b36d38);font-size:55px;color:#6d381f;box-shadow:0 0 55px #f2ba5f66}.keepsake strong{font:27px Georgia,serif;margin-top:16px}.keepsake small{opacity:.65}footer{position:absolute;z-index:30;bottom:0;left:0;right:0;height:56px;display:flex;align-items:center;gap:14px;padding:0 5vw;font-size:11px;text-transform:uppercase;letter-spacing:.1em;background:linear-gradient(0deg,#08071fdd,transparent)}footer span:last-child{margin-left:auto}#game[data-scene="4"] .art,#game[data-scene="5"] .art{filter:grayscale(0) saturate(1.18) brightness(.94);transform:scale(1.01)}#game[data-scene="6"] .art,#game[data-scene="6"] .veil{display:none}button:focus-visible,a:focus-visible{outline:3px solid #fff1aa;outline-offset:4px}@media(max-width:760px){header span{display:none}.scene{padding:25px}.choices{grid-template-columns:1fr}.lanterns{left:4%;right:4%;bottom:9%}.lanterns button{width:30%;min-height:95px}.finale{display:block;overflow:auto}.keepsake{display:none}}.support-line{font-size:13px;color:var(--gold);opacity:.85;margin:0 0 22px}.intro-actions{display:flex;gap:12px;flex-wrap:wrap}.soft-btn{background:#ffffff18!important;color:#fff!important;border:1px solid #ffffff30!important}.gu-panel{margin-top:20px;padding:20px 22px;border-radius:20px;background:#0a092db3;border:1px solid #ffffff2b}.gu-panel p{font-size:14px;line-height:1.6;color:#fff4dccc}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.card>button,.actions button,.actions a{position:relative;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 12px 28px rgba(244,199,109,.3)}.card{box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 30px 70px rgba(0,0,0,.5)}
