/* v0.2 — continuous scenes, legible type and small collectible details. */
:root{--nav-height:82px}
.ambient-background{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 15% 5%,#70513818,transparent 65%)}
.ambient-background i{position:absolute;width:100vw;height:100vh;left:-30%;top:-25%;background:radial-gradient(ellipse,#96705225,transparent 65%);filter:blur(45px);animation:ambient-warm 27s ease-in-out infinite alternate;will-change:transform}
.ambient-background i+i{left:35%;top:15%;background:radial-gradient(ellipse,#8863a630,transparent 65%);animation:ambient-violet 33s ease-in-out infinite alternate}
@keyframes ambient-warm{to{transform:translate(38vw,28vh) scale(1.3)}}
@keyframes ambient-violet{to{transform:translate(-35vw,-18vh) scale(.8)}}
.site-shell{position:relative}.grain{opacity:.045;mix-blend-mode:soft-light;background-size:125px 125px}
.site-header{border:0;height:100px}.header-note{font-size:15px;letter-spacing:.5px;color:#cdbda7}.brand small{font-size:9px;letter-spacing:1.5px}.brand{font-size:28px}
.game-tabs{position:sticky;top:0;z-index:80;border:0;grid-template-columns:repeat(4,minmax(0,1fr)) .85fr .85fr;gap:6px;padding:15px 0;margin:0;isolation:isolate;min-height:var(--nav-height)}
.game-tabs:before{content:'';position:absolute;inset:-25px -6vw -30px;z-index:-1;pointer-events:none;background:linear-gradient(#24201df0 10%,#24201de8 65%,#24201d00);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);mask-image:linear-gradient(transparent,#000 22%,#000 65%,transparent)}
.game-tab{font-size:14px;gap:8px;padding:12px 13px;white-space:nowrap;justify-content:center;min-height:50px;border-radius:7px}.game-tab>svg{width:18px;flex-shrink:0}.tab-number{font-size:11px;margin:0;opacity:.65}.tab-arrow{display:none}
.game-tab[data-mode=history],.game-tab[data-mode=updates]{color:#c7b1dd}.game-tab[aria-selected=true]{color:#322a21;background:#f0e3cd;box-shadow:0 3px 20px #0002}.game-tab:disabled{opacity:.55}
#focus-nav{position:sticky;top:0;z-index:80;width:100%;padding:0 5.2%}#focus-nav .game-tabs{max-width:1434px;margin:auto}
.eyebrow{font-size:11px;letter-spacing:2.5px}h1{font-size:clamp(36px,4vw,57px);letter-spacing:-1.5px;line-height:1.4}.hero-description{font-size:16px;line-height:1.9;max-width:95%;margin:auto}.primary-button{font-size:16px;min-height:62px}.keyboard-hint{font-size:12px}kbd{font-size:10px}.status-pill{font-size:10px;letter-spacing:1.5px}.stage-bottom{font-size:12px}.side-label{font-size:10px;letter-spacing:2px}.scene-bottom{font-size:10px}.scroll-indicator{font-size:13px}.site-footer{font-size:12px}.site-footer>span:nth-child(2){font-size:9px}.return-hint{font-size:13px;color:#baaa95}.result-detail,.pool-remaining{font-size:14px}.result-kicker{font-size:15px}.result-footer{font-size:11px}.result-screen{border:0;padding-top:calc(var(--nav-height) + 40px)}
/* The first layer shows the object; the second contains the controls. */
.play-section.has-journey{display:block;padding:0;min-height:0}.game-journey{--intro-height:max(650px,calc(100svh - 182px));position:relative;isolation:isolate}
.intro-layer{min-height:var(--intro-height);position:relative;padding-top:40px;z-index:2;pointer-events:none}.intro-layer .scene-intro{opacity:var(--intro-opacity,1);translate:0 var(--intro-rise,0px)}
.journey-index{position:absolute;left:0;top:70px;display:flex;flex-direction:column;gap:13px;color:var(--muted);font:10px Arial,sans-serif;letter-spacing:2px;opacity:var(--intro-opacity,1);translate:0 var(--depth-word,0px)}
.journey-index>span:first-child{font:64px Jinxuan,serif;letter-spacing:-4px;color:#d4bba44a}

.showcase-track{position:absolute;inset:0;pointer-events:none;z-index:1}
.showcase-track .showcase{position:sticky;top:calc(50svh - 120px);width:min(590px,54vw);height:min(430px,51svh);margin:0 auto;translate:var(--journey-x,0px) var(--journey-rise,0px);scale:var(--journey-scale,1);will-change:translate,scale;pointer-events:auto}
.showcase-track .stage-word{font-size:clamp(70px,9vw,126px)}
.showcase-track .stage-bottom{bottom:-8px}.showcase-track .wheel-tilt{width:min(370px,37vw,45svh);height:auto;aspect-ratio:1;scale:1}.showcase-track .ladder-svg{max-height:400px}
.setup-layer{min-height:max(850px,100svh);display:grid;grid-template-columns:1fr minmax(350px,440px);align-items:center;padding:100px 2% 100px;position:relative;z-index:3;pointer-events:none;scroll-margin-top:100px}
.setup-panel{grid-column:2;pointer-events:auto}.setup-panel>.eyebrow{justify-content:flex-start;margin:0 0 12px}.setup-panel>h2{font-size:clamp(28px,2.8vw,39px);line-height:1.5;margin:0 0 10px;letter-spacing:-1px}.setup-panel>h2 span{color:var(--purple)}.setup-description{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 25px}
.setup-panel .editor{position:relative;inset:auto;transform:none;margin:0;width:100%;max-width:none;background:linear-gradient(140deg,#322b2899,#272225cc);backdrop-filter:blur(14px);padding:24px;border:1px solid #e4cfa024;border-radius:14px;box-shadow:0 14px 60px #0001}
.editor-heading{font-size:17px}.editor-heading>span{font-size:12px}.textarea-wrap{border-radius:7px;grid-template-columns:38px minmax(0,1fr)}.textarea-wrap textarea,.entry-gutter{font-size:16px;line-height:1.85;padding-top:12px}.textarea-wrap textarea{min-height:178px;max-height:280px;padding-left:12px}.editor-actions{font-size:12px;gap:14px;flex-wrap:wrap}.text-button{font-size:13px}.input-feedback{font-size:13px}.switch-label,.ladder-options,.ladder-options select,.option-index summary{font-size:14px}.option-index summary{color:var(--muted)}.entry-chip{font-size:14px}.entry-chip>span{font-size:12px}.draw-options{margin-top:20px}.setup-panel .action-group{padding-bottom:0}.setup-panel .primary-button{width:100%}.setup-panel .keyboard-hint{margin-top:2px}.has-journey .scene-side-note{display:none}
/* Portraits retain the original artwork, cropped by their SVG viewport. */
.coin-portrait{position:absolute;top:23%;left:22%;width:56%;height:56%;border-radius:48% 48% 46% 46%;overflow:hidden;mix-blend-mode:multiply;filter:grayscale(1) sepia(.9) contrast(1.15);opacity:.9;border-bottom:1px solid #89653166}
.coin-back .coin-portrait{filter:grayscale(1) contrast(1.2);mix-blend-mode:multiply;opacity:.9}
.coin-micro{top:15%;font-size:clamp(7px,.8vw,10px);letter-spacing:1.5px}.coin-english{bottom:13.5%;font:800 clamp(9px,1vw,12px) Jinxuan,serif;letter-spacing:2px;padding:0}.coin-year{bottom:8%;font-size:6px;letter-spacing:1px}
/* Delicate trail with small light motes and a warm moving core. */
.ladder-rail{stroke-width:2.3}.ladder-bridge{stroke-width:1.7}.ladder-path{stroke-width:2.2;filter:drop-shadow(0 0 3px #d4acffcc)}.zoomed-ladder .ladder-path{stroke-width:1.2}.ladder-runner{filter:drop-shadow(0 0 4px #fff1cc)}.ladder-runner-halo{filter:blur(4px)}.light-mote{filter:drop-shadow(0 0 2px #f4d9ff)}.ladder-winner rect{stroke-width:.9}.zoomed-ladder .ladder-runner{r:2.4px}
/* A tiny star rises from the capsule, then glows like a candle. */
.capsule-core{z-index:3;inset:28%;scale:1;transition:none}.capsule-flame{display:block;filter:drop-shadow(0 0 10px #ffe8b8) drop-shadow(0 0 25px #b686ec)}.capsule.is-open .capsule-flame{animation:candle-flicker 2.3s ease-in-out infinite alternate,star-hover 5s ease-in-out infinite}.capsule-flame svg{width:100%;height:100%}
.capsule-ember{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff1ca;box-shadow:0 0 8px #ffe1ac;top:20%;left:45%;opacity:0}.is-open .capsule-ember{animation:ember-rise 2.5s infinite}.capsule-ember.ember-two{left:70%;animation-delay:.8s}.capsule-ember.ember-three{left:25%;animation-delay:1.6s}
@keyframes candle-flicker{0%,100%{opacity:.92;filter:drop-shadow(0 0 8px #ffe8b8) drop-shadow(0 0 23px #c39bed)}18%{opacity:.73;filter:drop-shadow(0 0 5px #ffdda8) drop-shadow(0 0 14px #b686ec)}24%,65%{opacity:1;filter:drop-shadow(0 0 14px #ffebbb) drop-shadow(0 0 35px #c99bf2)}35%,73%{opacity:.85}40%,80%{opacity:.98}}
@keyframes star-hover{50%{translate:2px -7px;rotate:5deg}}@keyframes ember-rise{0%{opacity:0;translate:0 10px}25%{opacity:.8}100%{opacity:0;translate:10px -65px;scale:.2}}
.result-screen.capsule-story .result-main{width:fit-content;max-width:min(900px,100%);grid-template-columns:240px minmax(0,max-content);column-gap:55px;margin:auto}.capsule-story .result-art{width:100%;height:240px;justify-self:center}.capsule-story #draw-status{max-width:430px}.capsule-story .result-main>.eyebrow{margin-bottom:65px}.capsule-story .result-kicker{font-size:14px}.result-option-number{font-size:12px;line-height:1.8;letter-spacing:1.5px}.capsule-story #result-title{font-size:clamp(31px,4vw,55px)}.capsule-story .result-actions{margin-top:70px}
/* A keepsake ticket: soft lilac ink, a small heart seal and the real draw date. */
.focus-heading{top:calc(var(--nav-height) + 25px)}.focus-heading>span{font-size:10px;letter-spacing:2px}.focus-heading h2{font-size:30px;margin:14px 0 10px}.focus-heading p{font-size:14px}.focus-footnote{font-size:10px;letter-spacing:2px}.focus-stage{top:55%}.focus-result{padding-top:210px;padding-bottom:80px}.focus-pool{font-size:14px}.focus-scene[data-mode=ladder].is-revealed .focus-stage{top:40%;scale:.7}.focus-scene[data-mode=ladder] .focus-result{padding-top:55svh}.ladder-answer .eyebrow{font-size:11px}.ladder-answer-row p,.ladder-route{font-size:13px}
.chance-ticket{--ink:#674969;--paper:#f1e1cb;background:radial-gradient(ellipse at 15% 0,#fcefdc,transparent 55%),linear-gradient(120deg,#f2e5d2,#ebdbcf 70%,#dfcee2);grid-template-columns:30px minmax(0,1fr) 118px;padding:25px 20px 24px 14px;rotate:-2deg}
.ticket-main{position:relative;border-color:#86668699}.ticket-topline{font-size:10px;letter-spacing:2px;border-color:#86668666;padding:10px 0}.ticket-script{font-style:normal;font-size:22px;letter-spacing:2px;margin:17px 0 15px}.ticket-answer{padding:0 10px 23px;gap:18px}.ticket-answer h2{font-size:clamp(25px,3.6vw,46px)}.ticket-number{color:#9b759e;font-size:clamp(30px,4vw,52px)}.ticket-number:after{content:' /';font-size:.55em;margin-left:12px;color:#ac8ead}.ticket-grid{border-color:#86668688}.ticket-grid span{font-size:9px;letter-spacing:1px}.ticket-grid strong{font-size:21px}.ticket-grid small{font-size:12px}.ticket-grid .ticket-date{font:15px Arial,sans-serif;padding:4px 0}.ticket-bottom{font-size:10px;padding:14px 0 8px}.ticket-bottom span{font-size:12px}.ticket-serial{font-size:11px;letter-spacing:2px}.ticket-stub{border-color:#86668666;gap:12px}.ticket-seal{width:58px;height:58px;background:#d9c0df77;color:#89658e;border:1px solid #a48aa4;outline:1px dashed #9a7d9a}.ticket-stub strong{font-size:34px;letter-spacing:1px}.ticket-stub>span:last-child{font-size:10px;letter-spacing:0}.ticket-heart{font-size:29px;color:#a37594;rotate:12deg}.ticket-doodles{position:absolute;inset:45px 7px auto;display:flex;justify-content:space-between;pointer-events:none;color:#a78aaa;font-size:20px}.ticket-doodles span:nth-child(2){opacity:0}.ticket-doodles span:last-child{translate:0 28px;font-size:15px}
/* Separate pages keep the play areas quiet and the history easy to find. */
.archive-page{max-width:1080px;min-height:calc(100svh - 240px);margin:auto;padding:70px 0 80px}.archive-heading{text-align:center;margin-bottom:65px}.archive-heading>p:last-child{font-size:16px;line-height:1.9;color:var(--muted)}.archive-heading h1{font-size:clamp(35px,4vw,52px)}.archive-counter{font:80px Arial,sans-serif;font-weight:300;color:var(--purple);letter-spacing:-4px}.history-section{padding:0;grid-template-columns:26% 1fr}.section-label h2{font-size:21px;margin:10px 0 24px}.history-item{padding:21px 0;gap:18px}.history-icon{width:42px;height:42px}.history-mode{font-size:12px}.history-item p{font-size:20px;line-height:1.5}.history-item time{font-size:12px}.history-pagination,.history-pagination button,.history-pagination>span{font-size:13px}.history-pagination{padding-top:25px}.history-pagination button{padding:12px}.empty-history{font-size:16px;line-height:1.8;padding:30px 0}.release{display:grid;grid-template-columns:220px 1fr;gap:60px;padding:35px 0 45px;border-top:1px solid var(--line)}.release-meta{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.release-version{font:30px Arial,sans-serif;color:var(--purple)}.release-meta time{font:14px Arial,sans-serif;color:var(--muted);letter-spacing:2px}.release-badge{font-size:12px;padding:7px 11px;border:1px solid #bea0df33;border-radius:20px;color:#cdb7e2}.release-copy h2{font-size:25px;margin:0 0 15px;font-weight:400}.release-copy p,.release-copy li{font-size:15px;line-height:1.9;color:var(--muted)}.release-copy ul{padding-left:20px}.release-copy li{padding:4px 0}.release-copy li::marker{color:var(--purple)}
@media(max-width:1100px){.game-tab{gap:6px;padding:11px 7px;font-size:13px}.tab-number{display:none}.game-tabs{gap:4px}.header-note{font-size:14px}.setup-layer{grid-template-columns:1fr minmax(320px,40%);padding-inline:0}.showcase-track .showcase{width:52vw}.scene-intro h1{font-size:43px}.journey-index>span:first-child{font-size:48px}.journey-index>span:last-child{display:none}.ticket-grid span{font-size:8px}.showcase-track .side-label{display:none}}
@media(max-width:760px){
 :root{--nav-height:72px}.site-shell{padding:0 5%}.site-header{height:98px;flex-wrap:wrap;gap:0;align-content:center;position:relative;padding-right:80px}.brand{font-size:23px;gap:9px}.brand small{font-size:8px;letter-spacing:1px}.brand-symbol{width:28px}.header-note{display:block;font-size:12px;letter-spacing:0;margin:7px 0 0 37px}.header-tools{position:absolute;right:0;top:28px;gap:5px}.icon-button{width:34px;height:34px}
 .game-tabs{display:flex;overflow-x:auto;scrollbar-width:none;padding:10px 0;gap:5px;margin:0 -5.6%;padding-inline:5.6%;max-width:111.2%;align-items:center}.game-tabs::-webkit-scrollbar{display:none}.game-tabs:before{position:fixed;inset:0 0 auto;height:95px;display:none}.game-tabs{background:linear-gradient(transparent,#27221ff2 23%,#27221fe8 77%,transparent);backdrop-filter:none;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.game-tab{flex-shrink:0;flex-direction:row;gap:6px;font-size:13px;min-height:46px;padding:10px 13px;line-height:1.5}.game-tab>svg{width:16px;height:16px}.tab-number{display:none}#focus-nav{padding:0 5%}.game-tab[data-mode=history],.game-tab[data-mode=updates]{font-size:13px}
 .eyebrow{font-size:10px;letter-spacing:2px}h1,.scene-intro h1{font-size:34px;letter-spacing:-1px;margin:16px 0 12px}.hero-description{font-size:14px;line-height:1.85}.play-section:not(.has-journey){padding-top:32px;min-height:calc(100svh - 170px)}.play-section:not(.has-journey) .showcase{height:320px}.stage-bottom{font-size:11px;left:4%;right:4%}.stage-word{font-size:64px}.scene-bottom>span:first-child{font-size:8px}.scroll-indicator{font-size:12px}.keyboard-hint{font-size:11px}.primary-button{font-size:15px}.status-pill{font-size:9px}
 .game-journey{--intro-height:max(610px,calc(100svh - 170px))}.intro-layer{padding-top:32px}.journey-index{top:205px;left:3%}.journey-index>span:first-child{font-size:42px}.showcase-track{height:calc(var(--intro-height) + 330px)}.showcase-track .showcase{top:360px;width:100%;height:300px;max-width:450px}.showcase-track .wheel-tilt{width:min(275px,72vw);height:auto}.showcase-track .ladder-svg{max-height:300px}.showcase-track .stage-word{font-size:70px}.showcase-track .stage-bottom{bottom:-12px}.setup-layer{display:block;min-height:0;padding:390px 0 80px}.setup-panel{max-width:480px;margin:auto}.setup-panel>h2{font-size:29px}.setup-panel>.eyebrow{font-size:10px}.setup-description{font-size:13px}.setup-panel .editor{padding:20px}.editor-actions{font-size:11px;gap:10px}.editor-heading{font-size:16px}.textarea-wrap textarea,.entry-gutter{font-size:16px}.switch-label,.ladder-options,.ladder-options select,.option-index summary{font-size:13px}
 .result-screen{padding:120px 0 80px}.result-kicker{font-size:14px}.result-detail,.pool-remaining{font-size:13px;letter-spacing:0}.result-footer{font-size:10px}.return-hint{font-size:12px}.coin-year{font-size:5.5px}.coin-micro{font-size:7px}.coin-english{font-size:9px;letter-spacing:1px}.result-screen.capsule-story .result-main{grid-template-columns:minmax(110px,.9fr) minmax(0,1.1fr);gap:0 15px;width:100%}.capsule-story .result-art{width:100%;height:185px}.capsule-dock{width:115px;height:115px}.capsule-story .result-main>.eyebrow{margin-bottom:65px}.capsule-story #result-title{font-size:29px;line-height:1.5}.capsule-story .result-kicker{font-size:12px}.capsule-story .result-detail{font-size:12px;line-height:1.8}.result-option-number{font-size:10px;letter-spacing:.7px}.capsule-story .result-actions{margin-top:65px}
 .focus-heading{top:100px}.focus-heading h2{font-size:25px;margin:12px 0}.focus-heading>span{font-size:9px;letter-spacing:1.7px}.focus-heading p{font-size:12px}.focus-stage{top:53%;height:58svh}.focus-stage .wheel-tilt{width:min(82vw,52svh)}.focus-result{padding:210px 14px 65px}.focus-footnote{font-size:8px}.focus-pool{font-size:12px}.focus-scene[data-mode=ladder].is-revealed .focus-stage{top:40%;scale:.8}.focus-scene[data-mode=ladder] .focus-result{padding-top:47svh}.ladder-answer .eyebrow{font-size:10px}.ladder-answer-row p{font-size:12px;letter-spacing:1px}.ladder-route{font-size:11px}.ladder-answer h2{font-size:28px}
 .chance-ticket{grid-template-columns:16px minmax(0,1fr) 55px;padding:17px 8px 17px 5px;mask-size:100% 18px}.ticket-topline{font-size:8px;letter-spacing:.4px;padding:10px 0}.ticket-script{font-size:17px;letter-spacing:.5px;margin:16px 0}.ticket-answer{padding:0 3px 18px;gap:10px;min-height:65px}.ticket-answer h2{font-size:27px;line-height:1.4}.ticket-number{font-size:28px}.ticket-number:after{margin-left:4px}.ticket-main{padding:0 8px}.ticket-grid span{font-size:8px;letter-spacing:0}.ticket-grid strong{font-size:17px}.ticket-grid small{font-size:11px}.ticket-serial{font-size:8px;letter-spacing:1px}.ticket-bottom{font-size:9px;padding:12px 0 7px}.ticket-stub{gap:12px;margin-left:5px}.ticket-seal{width:30px;height:30px;padding:7px}.ticket-stub strong{font-size:26px}.ticket-stub>span:last-child{font-size:9px;writing-mode:vertical-rl}.ticket-heart{font-size:24px}.ticket-doodles{display:none}
 .archive-page{padding:40px 0 60px}.archive-heading{margin-bottom:40px}.archive-heading h1{font-size:32px}.archive-heading>p:last-child{font-size:14px}.history-section{display:block}.section-label{margin-bottom:30px}.archive-counter{font-size:50px;letter-spacing:-2px}.section-label h2{display:inline;font-size:18px;margin-left:10px}.section-label .text-button{display:block;margin-top:16px}.history-item p{font-size:17px}.history-mode{font-size:11px}.history-item time{font-size:10px}.history-icon{width:34px;height:34px}.history-item{gap:10px;padding:17px 0}.history-pagination,.history-pagination button,.history-pagination>span{font-size:11px}.history-pagination{gap:7px}.history-pagination button{padding:10px 8px}.release{grid-template-columns:1fr;gap:25px;padding:28px 0}.release-meta{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}.release-version{font-size:24px}.release-meta time{font-size:12px;letter-spacing:1px}.release-badge{font-size:11px}.release-copy h2{font-size:23px}.release-copy p,.release-copy li{font-size:14px}.site-footer{font-size:11px}
}
@media(max-height:700px) and (min-width:761px){.showcase-track .showcase{top:230px}.intro-layer{padding-top:25px}.focus-heading{top:95px}.focus-heading h2{font-size:23px}.focus-result{padding-top:185px}.chance-ticket{width:min(730px,88vw);padding-block:16px}.ticket-script{font-size:17px;margin:10px 0}.ticket-answer{min-height:60px;padding-bottom:12px}.ticket-answer h2{font-size:35px}.ticket-grid strong{font-size:17px}.ticket-stub strong{font-size:27px}}

body[data-phase=result] .has-journey .showcase{opacity:0;transition:opacity .6s}
.focus-scene[data-mode=wheel].is-revealed .focus-stage{overflow:clip}

.focus-scene.is-revealed .focus-footnote{display:none}
