/* A quiet, opt-in prototype. Existing calendar and date gates stay untouched. */
:root{--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--soft-panel:rgba(9,20,39,.9)}
.prototype-invite{margin-top:var(--space-8);padding:var(--space-6) 0;border-top:1px solid #dbd1bd;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}
.prototype-invite p{font-size:var(--text-base);max-width:42ch}.prototype-invite .btn{background:#1b2342;color:#fff6e4;min-height:44px;white-space:nowrap}
.stage.proto .top,.stage.proto .lang,.stage.proto .nav,.stage.proto .badge.left,.stage.proto .ticker{display:none}
.stage.proto .badge{top:auto;bottom:var(--space-3);right:var(--space-4);font-size:var(--text-xs)}
.stage.proto .door{visibility:hidden;pointer-events:none}
.demo-head{position:absolute;top:0;left:0;right:0;z-index:8;padding:var(--space-5) var(--space-6);background:linear-gradient(rgba(8,19,39,.96),rgba(8,19,39,.7) 65%,transparent);pointer-events:none}
.demo-head[hidden],.demo-foot[hidden],.wonder[hidden],.carousel-piece[hidden]{display:none!important}
.demo-head .head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.demo-head .mark{display:flex;gap:var(--space-3);align-items:center;color:var(--gold-2);font-size:var(--text-sm);font-weight:800}
.demo-head .mark svg{width:28px;height:28px;flex-shrink:0}
.demo-head .sample{color:#d6deee;font-size:var(--text-xs);margin-top:var(--space-3)}
.demo-head h2{font:600 var(--text-xl)/1.1 var(--display);color:#fff5de;margin-top:var(--space-2)}
.demo-head .intro{font-size:var(--text-sm);color:#e4eaf5;max-width:42ch;line-height:1.5;margin-top:var(--space-2)}
.demo-button{min-height:44px;padding:var(--space-3) var(--space-4);border:1px solid rgba(255,226,163,.4);border-radius:999px;font-size:var(--text-sm);font-weight:800;background:var(--soft-panel);pointer-events:auto;color:#fff6e4}
.demo-button:focus-visible,.wonder:focus-visible{outline:3px solid var(--gold-2);outline-offset:4px}
.demo-button:hover{background:#27364f}.demo-button:active{transform:scale(.97)}
.demo-controls{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);pointer-events:auto;flex-wrap:wrap}
.demo-controls .toggle-row{display:flex;border:1px solid rgba(255,226,163,.35);border-radius:999px;padding:4px;background:var(--soft-panel)}
.demo-controls .toggle-row button{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:999px;font-size:var(--text-sm);font-weight:800;color:#dbe4f6}
.demo-controls .toggle-row button[aria-pressed=true]{background:#f3c46b;color:#2b210f}
.demo-foot{position:absolute;bottom:var(--space-8);left:50%;transform:translateX(-50%);z-index:8;display:flex;flex-direction:column;align-items:center;width:min(92%,540px);gap:var(--space-3)}
.demo-foot .places{display:flex;gap:var(--space-2);padding:var(--space-2);border:1px solid rgba(255,226,163,.3);border-radius:999px;background:var(--soft-panel);box-shadow:0 6px 24px rgba(5,12,28,.4)}
.demo-foot .places button{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:999px;font-size:var(--text-sm);font-weight:800;color:#f4eedf;transition:background .2s,color .2s}
.demo-foot .places button[aria-pressed=true]{background:#e8bd76;color:#2b210f}
.demo-foot .caption{font-size:var(--text-sm);text-align:center;line-height:1.4;color:#fff5df;background:var(--soft-panel);padding:var(--space-2) var(--space-4);border-radius:12px;border:1px solid rgba(255,226,163,.2);max-width:42ch;min-height:3.3em;display:grid;align-content:center}
.wonder{position:absolute;z-index:5;min-width:44px;min-height:44px;width:4%;height:8%;border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%);color:#ffe8b4;-webkit-tap-highlight-color:transparent}
.wonder .light-seed{width:14px;height:18px;border-radius:7px 7px 4px 4px;border:2px solid #fff1c7;background:#eeb35e;box-shadow:0 0 12px #ffeac3,0 0 45px 12px rgba(255,207,128,.6);animation:seed-breathe 3.5s ease-in-out infinite}
.wonder .tiny-star{font:600 34px var(--display);text-shadow:0 0 18px #ffd891;animation:seed-breathe 4s ease-in-out infinite}
.wonder .seed-label{position:absolute;top:80%;white-space:nowrap;font-size:clamp(12px,.85vw,15px);background:rgba(9,20,39,.92);padding:6px 12px;border:1px solid rgba(255,226,163,.4);border-radius:999px;pointer-events:none;transform:scale(var(--inverse,1));transform-origin:top center}
.wonder.active .light-seed{background:#ffedb7;box-shadow:0 0 16px #fff7d3,0 0 70px 20px rgba(255,214,139,.7)}
@keyframes seed-breathe{0%,100%{opacity:.7;filter:brightness(.95)}50%{opacity:1;filter:brightness(1.15)}}
.carousel-piece{position:absolute;pointer-events:none;z-index:1;transform-origin:50% 80%;will-change:transform}
.day-lights{position:absolute;inset:0;pointer-events:none;z-index:1}
.day-lights i{position:absolute;width:9px;height:9px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff3cf;box-shadow:0 0 8px 3px rgba(255,208,130,.9),0 0 26px 10px rgba(255,190,100,.38);transition:opacity 1.6s ease;opacity:0}
.day-lights i.lit{opacity:.95;animation:light-breathe 4.2s ease-in-out infinite}
.day-lights i.fresh{animation:light-arrive 2.4s ease-out 1,light-breathe 4.2s ease-in-out 2.4s infinite}
@keyframes light-breathe{0%,100%{opacity:.7}50%{opacity:1}}
@keyframes light-arrive{0%{transform:scale(.2);opacity:0}35%{transform:scale(3.2);opacity:1}100%{transform:scale(1);opacity:.95}}
.light-note{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);z-index:4;max-width:92%;text-align:center;font-size:13px;font-weight:700;color:#fff3d6;background:rgba(9,20,39,.78);padding:6px 14px;border-radius:999px;border:1px solid rgba(255,226,163,.28);pointer-events:none}
.light-note[hidden]{display:none}
.stage.proto .light-note{display:none}
.demo-spark-canvas{position:absolute;inset:0;z-index:4;width:100%;height:100%;pointer-events:none}
.wonder-card{position:fixed;z-index:95;inset:0;display:grid;place-items:center;padding:var(--space-6);background:rgba(5,13,29,.75);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.wonder-card[hidden]{display:none}
.wonder-card .paper{position:relative;max-width:570px;width:100%;max-height:calc(100svh - 3rem);overflow:auto;background:#f7f1e4;color:#283040;border-radius:var(--space-6);box-shadow:0 24px 70px rgba(3,10,22,.45);animation:paper-open .5s cubic-bezier(.16,1,.3,1)}
.wonder-card .paper .art{height:140px;background:url('img/glas.webp') center 48%/cover;position:relative}
.wonder-card .paper .art::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#f7f1e4)}
.wonder-card .paper .letter{padding:var(--space-4) var(--space-8) var(--space-8)}
.wonder-card .eyebrow{font-size:var(--text-xs);color:#785320}
.wonder-card h2{font:600 var(--text-xl)/1.1 var(--display);margin:var(--space-3) 0;color:#1b2940}
.wonder-card p{font-size:var(--text-base);line-height:1.6;max-width:48ch;margin-top:var(--space-3);color:#3a4354}
.wonder-card blockquote{font:600 var(--text-lg)/1.5 var(--body);margin:var(--space-5) 0;color:#28374d}
.wonder-card .closing{font-size:var(--text-sm);color:#565c66}
.wonder-card button{min-height:44px;padding:var(--space-3) var(--space-5);border-radius:999px;background:#233948;color:#fff6e3;font-size:var(--text-sm);font-weight:800;margin-top:var(--space-6)}
.wonder-card .dismiss{position:absolute;right:var(--space-3);top:var(--space-3);margin:0;background:rgba(9,20,39,.9);z-index:2}
.wonder-card button:focus-visible{outline:3px solid #8c6024;outline-offset:4px}
.wonder-card .letter .hint-copy{font-size:var(--text-xs);color:#6a614e;margin-top:var(--space-5)}
@keyframes paper-open{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){.prototype-invite{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.prototype-invite .btn{white-space:normal}.demo-head{padding:var(--space-4)}.demo-head .mark{font-size:var(--text-xs)}.demo-head .intro{max-width:30ch}.demo-foot{bottom:var(--space-8)}.demo-foot .places button{padding:var(--space-2) var(--space-3)}.demo-foot .places{gap:4px}.wonder-card{padding:var(--space-4)}.wonder-card .paper .art{height:110px}.wonder-card .paper .letter{padding:var(--space-3) var(--space-6) var(--space-6)}.wonder .seed-label{font-size:12px}.demo-controls{margin-top:var(--space-3)}}
@media(max-height:650px) and (min-width:650px){.demo-head .intro{display:none}.demo-head .head-row{max-width:100%}.demo-head h2{font-size:var(--text-lg)}.demo-foot{bottom:var(--space-6)}.demo-foot .caption{min-height:0}.demo-controls{margin-top:var(--space-2)}}
@media(prefers-reduced-motion:reduce){.wonder .light-seed,.wonder .tiny-star{animation:none}.wonder-card .paper{animation:none}.day-lights i.lit,.day-lights i.fresh{animation:none}.carousel-piece{will-change:auto}}

.player video::cue{font:600 clamp(16px,1.8vw,24px)/1.35 Nunito,system-ui,sans-serif;color:#fff8e8;background:rgba(6,12,28,.5);text-shadow:0 1px 4px rgba(0,0,0,.8)}
