:root{--ink:#11172A;--violet:#2B2350;--teal:#0E3A3C;--mist:#ECE8F6;--lilac:#B9AEDB;--mint:#7EE0C0;--rose:#E78A7A;--serif:"Instrument Serif",Georgia,"Times New Roman",serif;--sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:ui-monospace,"Cascadia Mono","SFMono-Regular",Menlo,Consolas,monospace;}*,*::before,*::after{box-sizing:border-box}html{overflow-x:clip;scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--mist);font-family:var(--sans);font-size:clamp(1rem,0.96rem + 0.2vw,1.08rem);line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;margin:0;letter-spacing:-0.005em}.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}.hero{position:relative;isolation:isolate;min-height:100dvh;display:flex;align-items:center;padding:calc(env(safe-area-inset-top) + 1.25rem) 0 2.5rem;background:linear-gradient(150deg,#141c36 0%,#2B2350 55%,#0E3A3C 100%);overflow:hidden}#ground{position:absolute;inset:0;width:100%;height:100%;z-index:-1;display:block}.hero .wrap{display:grid;gap:1.6rem;align-items:center}.brand{display:flex;align-items:center;gap:.75rem;min-height:64px}.brand img{width:64px;height:64px;border-radius:16px;display:block}.brand span{font-weight:600;letter-spacing:.02em;font-size:1.05rem}h1{font-size:clamp(2.75rem,1.7rem + 5.2vw,5.6rem);max-width:12ch}h1 em{font-style:italic;color:var(--mint)}.lede{font-size:clamp(1.05rem,0.98rem + 0.4vw,1.25rem);color:#DCD5EE;max-width:34ch;margin:1rem 0 1.5rem}.main-btn{display:inline-flex;align-items:center;gap:.65rem;min-height:52px;padding:.85rem 1.6rem;border-radius:999px;background:var(--mint);color:var(--ink);font-weight:600;font-size:1.06rem;text-decoration:none;-webkit-tap-highlight-color:transparent;transition:transform .2s ease}.main-btn svg{width:14px;height:14px}.main-btn:focus-visible,.cell:focus-visible,summary:focus-visible,.toc a:focus-visible,.help a:focus-visible,.stub a:focus-visible{outline:3px solid var(--mist);outline-offset:3px}.under{margin:.85rem 0 0;font-size:.95rem;color:var(--lilac)}.hero-art{display:flex;justify-content:center}.arch{position:relative;width:min(100%,var(--aw,260px));aspect-ratio:3 / 4.1;border-radius:999px 999px 26px 26px;background:#0B1020;border:2px solid #3B3270;overflow:hidden;box-shadow:0 24px 50px -24px rgba(0,0,0,.7)}.hero-art .arch{--aw:250px}.bars{position:absolute;left:22%;right:22%;top:13%;display:flex;gap:4px;z-index:3}.bars i{flex:1;height:3px;border-radius:2px;background:rgba(236,232,246,.22);overflow:hidden;position:relative}.bars i::after{content:"";position:absolute;inset:0;background:var(--mist);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}.arch[data-step="open"] .bars i:nth-child(-n+2)::after,.arch[data-step="sort"] .bars i:nth-child(-n+3)::after,.arch[data-step="play"] .bars i::after,.arch[data-step="search"] .bars i:first-child::after{transform:scaleX(1)}.layer{position:absolute;left:9%;right:9%;top:20%;bottom:7%;transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.serp{display:flex;flex-direction:column;gap:9%;padding-top:8%}.serp i{display:block;height:18%;border-radius:10px;background:rgba(185,174,219,.14);position:relative}.serp i::before{content:"";position:absolute;left:8%;top:28%;width:52%;height:16%;border-radius:4px;background:rgba(185,174,219,.55)}.serp i::after{content:"";position:absolute;left:8%;top:58%;width:74%;height:12%;border-radius:4px;background:rgba(185,174,219,.25)}.grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto repeat(4,1fr);gap:7px 9px}.grid .lab{font-family:var(--sans);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);transition:opacity .4s ease,transform .4s ease}.grid .t{border-radius:8px;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .5s ease}.t1{background:linear-gradient(160deg,#7EE0C0,#0E3A3C)}.t2{background:linear-gradient(160deg,#E78A7A,#2B2350)}.t3{background:linear-gradient(160deg,#B9AEDB,#2B2350)}.t4{background:linear-gradient(160deg,#0E3A3C,#7EE0C0)}.t5{background:linear-gradient(160deg,#2B2350,#E78A7A)}.t6{background:linear-gradient(160deg,#ECE8F6,#0E3A3C)}.t7{background:linear-gradient(160deg,#7EE0C0,#2B2350)}.t8{background:linear-gradient(160deg,#B9AEDB,#0E3A3C)}.player{display:flex;flex-direction:column;justify-content:center;gap:10px}.screen{position:relative;flex:1;max-height:72%;border-radius:12px;background:linear-gradient(170deg,#E78A7A 0%,#2B2350 60%,#0E3A3C 100%);display:grid;place-items:center;overflow:hidden}.screen::before{content:"";position:absolute;left:-10%;right:-10%;bottom:-18%;height:55%;border-radius:50% 50% 0 0;background:#0B1020;opacity:.55}.play{position:relative;width:46px;height:46px;border-radius:50%;background:rgba(236,232,246,.92);display:grid;place-items:center}.play::after{content:"";margin-left:4px;border-left:14px solid var(--ink);border-top:9px solid transparent;border-bottom:9px solid transparent}.prog{height:4px;border-radius:2px;background:rgba(236,232,246,.2);overflow:hidden}.prog i{display:block;height:100%;width:100%;background:var(--mint);transform:scaleX(.18);transform-origin:left;animation:run 9s linear infinite}@keyframes run{from{transform:scaleX(.08)}to{transform:scaleX(.96)}}.meta{display:flex;gap:8px}.meta i{height:6px;border-radius:3px;background:rgba(185,174,219,.4)}.meta i:first-child{width:46%}.meta i:last-child{width:22%}.arch .serp,.arch .grid,.arch .player{opacity:0}.arch[data-step="search"] .serp{opacity:1}.arch[data-step="search"] .grid{transform:translateY(14%)}.arch[data-step="open"] .serp,.arch[data-step="sort"] .serp,.arch[data-step="play"] .serp{transform:translateY(-16%)}.arch[data-step="open"] .grid,.arch[data-step="sort"] .grid{opacity:1}.arch .grid .lab{opacity:0;transform:translateY(4px)}.arch[data-step="sort"] .grid .lab{opacity:1;transform:none}.arch[data-step="open"] .t1{transform:rotate(-4deg)}.arch[data-step="open"] .t2{transform:translateX(6px) rotate(3deg)}.arch[data-step="open"] .t5{transform:translateX(-5px) rotate(2deg)}.arch[data-step="open"] .t8{transform:rotate(-3deg)}.arch[data-step="sort"] .t3{opacity:1;transform:scale(1.08)}.arch[data-step="play"] .grid{opacity:0;transform:scale(1.15)}.arch[data-step="play"] .player{opacity:1}.arch .player{transform:scale(.88)}.arch[data-step="play"] .player{transform:none}.story{position:relative;background:var(--ink);padding:3rem 0 1rem}.story-grid{display:grid;grid-template-columns:1fr}.stage{position:sticky;top:0;z-index:2;display:flex;justify-content:center;padding:calc(env(safe-area-inset-top) + .75rem) 0 .9rem;background:linear-gradient(var(--ink) 86%,rgba(17,23,42,0))}.stage .arch{--aw:min(46vw,32dvh * 0.73,260px)}.steps{list-style:none;margin:0;padding:0}.steps li{min-height:70dvh;display:flex;align-items:center}.steps p{margin:0;font-family:var(--serif);font-size:clamp(1.7rem,1.3rem + 1.9vw,2.6rem);line-height:1.12;max-width:17ch;opacity:.38;transition:opacity .4s ease}.steps li.on p{opacity:1}.steps p::before{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--mint);margin-bottom:1rem}.notes{padding:3rem 0 4rem}.notes-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:2rem}.notes-head h2{font-size:clamp(2.2rem,1.7rem + 2.4vw,3.4rem)}.toc{border:1px solid #3B3270;border-radius:16px;padding:1rem 1.2rem;background:#161D35;min-width:min(100%,280px)}.toc b{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--lilac);font-weight:600;margin-bottom:.4rem}.toc ul{list-style:none;margin:0;padding:0}.toc a{display:flex;align-items:center;min-height:44px;text-decoration:none;border-bottom:1px solid #2A3150}.toc li:last-child a{border-bottom:0}.entry{display:grid;grid-template-columns:1fr;gap:.9rem;padding:2.2rem 0;border-top:1px solid #2A3150}.ver{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--lilac)}.tag{display:inline-block;padding:.15rem .6rem;border-radius:6px;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tag.new{background:var(--mint);color:var(--ink)}.tag.note{background:var(--rose);color:var(--ink)}.entry h3{font-size:clamp(1.8rem,1.5rem + 1.4vw,2.5rem);scroll-margin-top:1rem}.help{max-width:30rem;margin-inline:auto;text-align:center;background:#161D35;border:1px solid #3B3270;border-radius:22px;padding:1.8rem 1.4rem}.help svg{width:56px;height:56px;margin:0 auto .8rem;display:block}.help h4{font-family:var(--serif);font-weight:400;font-size:1.7rem;margin:0 0 .5rem}.help p{margin:0 0 1rem;color:#D3CCE8}.help nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem}.help a{display:inline-flex;align-items:center;min-height:44px;color:var(--mint);text-underline-offset:4px}.cells{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #2A3150;border-left:1px solid #2A3150}.cell{padding:1.2rem 1rem;border-right:1px solid #2A3150;border-bottom:1px solid #2A3150;background:var(--ink);transition:transform .25s ease,background-color .25s ease}.cell b{display:block;font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.1;margin-bottom:.35rem}.cell span{color:#C9C1E0;font-size:.95rem}.cell.big{grid-column:1 / -1}.cell.big b{font-size:clamp(1.9rem,1.5rem + 1.8vw,2.8rem);color:var(--mint)}.cell:focus-visible{background:#1B2340;transform:translateY(-4px)}.cell:focus-visible b{color:var(--mint)}@media (hover: hover) and (pointer: fine){.cell:hover{background:#1B2340;transform:translateY(-4px)}.cell:hover b{color:var(--mint)}.main-btn:hover{transform:translateY(-2px)}.toc a:hover,.help a:hover{color:var(--mint)}}.tree{font-family:var(--mono);font-size:.95rem;background:#0B1020;border:1px solid #2A3150;border-radius:14px;padding:1rem 1.1rem}.tree details{margin-left:0}.tree details details,.tree .file{margin-left:1.3rem}.tree summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.5rem;list-style:none}.tree summary::-webkit-details-marker{display:none}.tree summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#2A3150;color:var(--mint);font-size:.85rem}.tree details[open]>summary::before{content:"-"}.file{display:flex;align-items:center;min-height:36px;color:#D3CCE8}.file::before{content:"";width:9px;height:11px;border-radius:2px;border:1.5px solid var(--lilac);margin:0 .7rem 0 .3rem}.tree small{color:var(--lilac);font-family:var(--sans);margin-left:.5rem}.close{padding:2rem 0 3.5rem}.ticket{display:grid;grid-template-columns:1fr;max-width:46rem;margin-inline:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}.ticket .body,.ticket .stub{background:var(--mist);color:var(--ink);position:relative}.ticket .body{border-radius:20px 20px 0 0;padding:1.6rem 1.5rem 1.4rem}.ticket .body small{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:#4B4470;font-weight:600}.ticket .body p{font-family:var(--serif);font-size:clamp(1.9rem,1.5rem + 1.9vw,2.9rem);line-height:1.05;margin:.4rem 0 0}.ticket .stub{border-radius:0 0 20px 20px;padding:1.3rem 1.5rem 1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem}.ticket .stub::before{content:"";position:absolute;left:14px;right:14px;top:-1px;border-top:2px dotted #8A82AE}.ticket .stub::after{content:"";position:absolute;left:-12px;top:-12px;width:24px;height:24px;border-radius:50%;background:var(--ink)}.ticket .notch{position:absolute;right:-12px;top:-12px;width:24px;height:24px;border-radius:50%;background:var(--ink)}.stub span{font-size:.85rem;color:#4B4470}.stub .main-btn{background:var(--ink);color:var(--mist)}.stub a:focus-visible{outline-color:var(--ink)}footer{padding:3rem 0 calc(env(safe-area-inset-bottom) + 5.5rem);border-top:1px solid #2A3150}.card{background:var(--mist);color:var(--ink);border-radius:10px;display:grid;grid-template-columns:1fr;gap:1.4rem;padding:1.6rem 1.4rem}.msg p{font-family:var(--serif);font-size:1.55rem;line-height:1.2;margin:0 0 .8rem}.msg .sign{font-family:var(--sans);font-size:.95rem;color:#3E3866}.addr{position:relative;display:grid;gap:.2rem;align-content:start;padding-top:1.2rem;border-top:1px solid #8A82AE}.addr .line{display:block;border-bottom:1px solid #B9AEDB;padding:.35rem 0;font-size:.98rem}.stamp{position:absolute;right:0;top:1.2rem;width:62px;height:74px;border:2px dashed #4B4470;border-radius:4px;display:grid;place-items:center}.stamp svg{width:36px;height:40px}.addr .lines{padding-right:76px}.fgroup{margin-top:.9rem}.fgroup summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:#3E3866}.fgroup ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0 1.1rem}.fgroup a{display:inline-flex;align-items:center;min-height:44px;color:#2B2350;text-underline-offset:4px}.fgroup a:focus-visible,.fgroup summary:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.bar{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:.6rem 1rem calc(env(safe-area-inset-bottom) + .6rem);background:rgba(17,23,42,.94);border-top:1px solid #2A3150;display:flex;align-items:center;justify-content:space-between;gap:1rem;transform:translateY(110%);opacity:0;transition:transform .35s ease,opacity .35s ease}.bar.show{transform:none;opacity:1}.bar span{font-family:var(--serif);font-size:1.2rem}.bar .main-btn{min-height:46px;padding:.6rem 1.2rem;font-size:1rem}@media (min-width:860px){.hero .wrap{grid-template-columns:1.15fr .85fr;gap:3rem}.hero-art .arch{--aw:330px}.story-grid{grid-template-columns:1fr 1fr;gap:4rem}.stage{order:2;align-items:center;height:100dvh;padding:0;background:none}.stage .arch{--aw:330px}.steps li{min-height:80dvh}.entry{grid-template-columns:14rem 1fr;gap:2rem}.cells{grid-template-columns:repeat(3,1fr)}.cell.big{grid-column:span 3}.card{grid-template-columns:1.2fr auto 1fr;gap:2rem;padding:2.4rem 2.2rem}.card .rule{width:1px;background:#8A82AE}.addr{border-top:0;padding-top:0}.stamp{top:0}.ticket{grid-template-columns:1fr 15rem}.ticket .body{border-radius:20px 0 0 20px;padding:2rem 2rem}.ticket .stub{border-radius:0 20px 20px 0;justify-content:center;padding:1.6rem}.ticket .stub::before{left:-1px;right:auto;top:14px;bottom:14px;border-top:0;border-left:2px dotted #8A82AE}.ticket .stub::after{left:-12px;top:-12px}.ticket .notch{right:auto;left:-12px;top:auto;bottom:-12px}}@media (max-width:859px){.card .rule{display:none}}@media (max-width:380px){h1{font-size:clamp(2.5rem,1.6rem + 5vw,2.9rem)}.lede{margin:.8rem 0 1.2rem}.hero .wrap{gap:1.2rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none !important;animation:none !important}}@font-face{font-family: 'Hanken Grotesk';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/hankengrotesk-823bdd10.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family: 'Hanken Grotesk';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/hankengrotesk-1a00c93b.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family: 'Hanken Grotesk';font-style: normal;font-weight: 600;font-display: swap;src: url(../fonts/hankengrotesk-823bdd10.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family: 'Hanken Grotesk';font-style: normal;font-weight: 600;font-display: swap;src: url(../fonts/hankengrotesk-1a00c93b.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family: 'Instrument Serif';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/instrumentserif-24e3817f.woff2) format('woff2');unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family: 'Instrument Serif';font-style: normal;font-weight: 400;font-display: swap;src: url(../fonts/instrumentserif-3509f9ab.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}