@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(./nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(./nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(./fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(./fraunces-latin-600-normal-DL5QCzvS.woff) format("woff")}:root{--bg: #101426;--ink: #f7f1e4;--muted: #d9d0c0;--gold: #f3d48a;--panel: #1c2744;--panel-edge: #f3e2b0;--btn: #f6d98a;--btn-ink: #1c140c;--good: #c9efd4;--accent: #7eb0e0;--font: "Nunito", "Trebuchet MS", "Segoe UI", sans-serif;--display: "Fraunces", "Palatino Linotype", Palatino, serif;color-scheme:dark}[data-look=classic]{--accent: #7eb0e0}[data-look=ember]{--accent: #e15b4c}[data-look=night]{--accent: #b3a6f0}[data-look=aurora]{--accent: #7eb6e8}[data-look=sol]{--accent: #e07a3a}[data-look=luna]{--accent: #9aa6f0}[data-look=puff]{--accent: #f0a04a}[data-look=wisp]{--accent: #7fd4ef}[data-look=grit]{--accent: #c4a15a}*{box-sizing:border-box}html{font-size:16px}html,body{height:100%;margin:0}body{overflow:hidden;background:radial-gradient(900px 420px at 50% -10%,#2c3568,transparent 60%),var(--bg);color:var(--ink);font-family:var(--font);font-weight:700;text-size-adjust:100%}button,input{font-family:inherit;touch-action:manipulation}button{cursor:pointer;-webkit-tap-highlight-color:transparent}.app{width:100%;height:100dvh;display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse at 50% 0%,#2a3564,#12182c 58%);overscroll-behavior:contain}.header{flex:none;display:flex;flex-direction:column;gap:4px;padding:calc(8px + env(safe-area-inset-top)) 14px 6px}.header-actions{display:flex;align-items:center;gap:2px}.header-row,.tool-row,.footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.wordmark{margin:0;font-size:.95rem;font-weight:800;letter-spacing:.16em;color:var(--gold)}.who{margin:0;font-size:1rem;font-weight:800}.chapter{margin:0;color:var(--gold);font-size:.92rem;font-weight:800}.text-button,.header-link,.footer a{color:var(--gold);font-weight:800;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:8px}.text-button{background:none;border:0;font-size:.98rem}.tools{display:flex;gap:8px}.pip{width:36px;height:36px;border-radius:50%;border:2px solid rgba(247,241,228,.35);display:grid;place-items:center;color:#8d8474}.pip svg{width:18px;height:18px}.pip.is-on{color:var(--gold);border-color:var(--gold);background:#f3d48a29}.pip.is-held{color:#8d6b45;border-color:#a48462;background:#8d6b4529}.main{flex:1;min-height:0;display:flex;flex-direction:column}.stage{position:relative;flex:none;height:clamp(200px,38dvh,420px);margin:0 12px;border-radius:20px;overflow:hidden;border:2px solid rgba(243,226,176,.4);background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 58%),linear-gradient(#1b2444,#12182c);display:grid;place-items:end center}.stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;animation:motes 28s linear infinite;background-image:radial-gradient(circle at 12% 22%,#fff 1px,transparent 2px),radial-gradient(circle at 78% 16%,#fff 1.4px,transparent 2.4px),radial-gradient(circle at 24% 48%,#d5e4ff 1px,transparent 2px),radial-gradient(circle at 86% 42%,#fff 1px,transparent 2px),radial-gradient(circle at 64% 24%,#ffe7a8 1.2px,transparent 2.2px),radial-gradient(circle at 40% 18%,#fff 1px,transparent 2px)}.stage img{position:relative;z-index:1;height:100%;width:auto;max-width:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 10px rgba(0,0,0,.35))}.stage.is-item img{height:88%;object-position:center center}.stage.mood-magic{animation:glow 2.8s ease-in-out infinite}.stage.place-cavern,.stage.place-descend,.stage.place-chamber{background:radial-gradient(ellipse at 50% 120%,rgba(80,110,90,.35),transparent 46%),linear-gradient(#070b14,#121a2c 42%,#0c1018)}.stage.place-ignite,.stage.place-path{background:radial-gradient(ellipse at 50% 80%,rgba(80,190,210,.45),transparent 55%),linear-gradient(#10182e,#1a2744)}.stage.place-blade{background:radial-gradient(ellipse at 50% 70%,rgba(243,212,138,.45),transparent 50%),linear-gradient(#141018,#1c2438)}.stage.place-shadow{background:linear-gradient(#05060c,#14101c 70%,#0c0e16)}.stage.has-still{background:#070b14;height:clamp(220px,38dvh,360px);place-items:center}.stage.has-still img,.stage.has-still video{height:100%;width:100%;opacity:1;object-fit:contain;object-position:center center;background:#070b14}.stage.has-boss{height:clamp(220px,36dvh,340px);place-items:center}.stage.has-boss img{height:100%;width:100%;opacity:1;object-fit:contain;object-position:center center}.stage.place-white{background:radial-gradient(circle at 50% 42%,#fff,#f3f6ff 58%,#d5e2f4);border-color:#f7f1e4}.stage.has-still{background:#070b14;border-color:#1c2438}.stage.place-under,.stage.place-calm{background:radial-gradient(ellipse at 50% 100%,rgba(243,212,138,.28),transparent 55%),linear-gradient(#1b2444,#12182c)}.stage.is-entering img,.stage.is-entering video{animation:stage-in .32s ease}.stage.has-plate.has-still img,.stage.has-plate.has-still video{background:transparent}.stage.has-plate:not(.is-prop):not(.is-portrait){background-image:var(--plate),radial-gradient(ellipse at 50% 40%,rgba(243,212,138,.35),transparent 48%),linear-gradient(180deg,#24345c,#12182c);background-size:cover,auto,auto;background-position:center,center,center;background-repeat:no-repeat}.stage.is-prop,.stage.is-portrait,.stage.is-prop.has-still,.stage.is-portrait.has-still{background-image:var(--plate, linear-gradient(transparent, transparent)),radial-gradient(ellipse at 50% 36%,rgba(243,212,138,.7),transparent 42%),radial-gradient(ellipse at 50% 108%,rgba(56,92,160,.55),transparent 50%),linear-gradient(180deg,#2a3d68,#17243f 46%,#0d1426);background-size:cover,auto,auto,auto;background-position:center,center,center,center;background-repeat:no-repeat;border-color:#f3e2b080}.stage.is-prop:before,.stage.is-portrait:before{z-index:1;animation:motes 16s linear infinite}.stage.is-prop:after,.stage.is-portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse at center,transparent 42%,rgba(6,8,16,.58) 100%)}.stage.is-prop img,.stage.is-portrait img,.stage.is-prop.has-still img,.stage.is-portrait.has-still img{z-index:1;background:transparent;width:auto;height:82%;max-width:88%;object-fit:contain;object-position:center center;filter:drop-shadow(0 16px 14px rgba(0,0,0,.4))}.orb-badge{position:absolute;z-index:3;width:28px;height:28px;border-radius:50%;top:18%;right:18%;background:radial-gradient(circle at 35% 35%,#fff,#7fd4ef 42%,#1a6f9a);box-shadow:0 0 16px #7fd4ef;animation:orbit 3.2s linear infinite}.stage.place-white .orb-badge,.stage.place-blade .orb-badge{width:54px;height:54px;top:22%;right:auto;left:50%;margin-left:-27px}.blade-badge{position:absolute;z-index:3;width:14px;height:46%;right:22%;bottom:18%;border-radius:8px 8px 4px 4px;background:linear-gradient(#f3d48a,#8d6a3a 40%,#d7e7ef 41%,#6f8ea4);box-shadow:0 0 12px #f3d48a73;transform:rotate(18deg)}.stage.place-blade .blade-badge{height:62%;width:18px;right:auto;left:58%}.emphasis.is-long{font-size:clamp(1.25rem,5.4vw,1.7rem);line-height:1.25}.tool-track{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.track{border:2px solid #3a4668;border-radius:999px;padding:3px 8px;color:var(--muted);font-size:.78rem;font-weight:800}.track.is-on{border-color:var(--gold);color:var(--gold);background:#f3d48a1f}.caption{position:absolute;z-index:2;top:8px;left:8px;margin:0;padding:4px 8px;border-radius:999px;background:#0a0c188c;color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.panel-scroll{flex:1;min-height:0;overflow:auto;padding:10px 12px 12px;-webkit-overflow-scrolling:touch}.panel{background:var(--panel);border:3px solid var(--panel-edge);border-radius:18px;box-shadow:inset 0 0 0 4px #12182c,inset 0 0 0 7px #8ea0c8;padding:14px 14px 12px}.panel.is-new{animation:rise .28s ease}.kicker,.lesson-kicker{margin:0 0 6px;font-size:.95rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}.display{margin:0 0 8px;font-family:var(--display);font-weight:600;font-size:clamp(2rem,8vw,2.7rem);line-height:1.05;color:var(--gold)}.speaker{margin:0 0 6px;color:var(--gold);font-size:1rem;font-weight:800}.story p,.relic p,.modal p,.hint,.form-error{margin:0 0 8px;font-size:1.25rem;line-height:1.4;font-weight:700}.emphasis{margin:4px 0 8px;text-align:center;font-family:var(--display);font-weight:600;font-size:clamp(3rem,14vw,4.6rem);line-height:.95;color:var(--gold)}.lesson{margin:4px 0 8px;padding:10px 12px;border-radius:12px;border:2px solid var(--good);background:#c9efd41f}.lesson p:last-child{margin-bottom:0}.lesson-kicker{color:var(--good)}.phases{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}.phase{border:2px solid #3a4668;border-radius:999px;padding:4px 10px;color:var(--muted);font-size:.92rem;font-weight:800}.phase.is-next,.phase.is-now{border-color:var(--gold);color:var(--gold)}.phase.is-done{border-color:var(--good);color:var(--good)}.phase.is-state{border-style:dashed;border-color:#9aa4c4;color:#d5dced}.endcard{display:flex;align-items:center;gap:12px}.end-name{margin:0;font-family:Fraunces,serif;font-size:2rem;line-height:1}.end-look{width:72px;height:72px;object-fit:contain}.stamps{display:flex;flex-direction:column;gap:8px}.stamp{border:2px solid var(--gold);border-radius:14px;padding:10px 12px;background:#12182c}.stamp-name{margin:0;color:var(--gold);font-weight:800}.stamp-line{margin:2px 0 0}.pattern{display:flex;flex-direction:column;gap:6px}.pattern p{margin:0}.pattern-k{color:var(--gold);font-weight:800}.choices{display:flex;flex-direction:column;gap:10px;margin-top:8px}.choice{width:100%;min-height:60px;padding:12px 14px;border-radius:14px;border:3px solid #1a140c;background:var(--btn);color:var(--btn-ink);font-size:1.125rem;font-weight:800;line-height:1.25;text-align:center;box-shadow:0 4px #1a140c;transition:transform 90ms ease,box-shadow 90ms ease,filter 90ms ease}.choice:active:not(:disabled){transform:translateY(2px) scale(.985);box-shadow:0 1px #1a140c;filter:brightness(1.06)}.choice.is-next{outline:3px solid var(--gold);outline-offset:2px}.choice.quiet{background:transparent;color:var(--ink);border-color:var(--panel-edge);box-shadow:none}.choice:disabled{opacity:.45;cursor:not-allowed}.hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hero-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;width:100%;min-height:108px;padding:6px 4px 8px;text-align:center;color:var(--ink);background:#151c32;border:3px solid #3a4668;border-radius:14px;font-size:1rem;font-weight:800;transition:transform 90ms ease,border-color 90ms ease,box-shadow 90ms ease}.hero-cell:active{transform:scale(.96)}.hero-cell img{width:100%;height:clamp(72px,16dvh,128px);object-fit:contain;object-position:center bottom;border-radius:10px;background:radial-gradient(ellipse at 50% 100%,rgba(126,176,224,.28),transparent 70%),#101628}.look-tag{font-size:1rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);line-height:1.15}.hero-cell.is-selected .look-tag{color:var(--gold)}.look-hint{margin:6px 0 0;text-align:center;color:var(--muted);font-size:.95rem;font-weight:800}.look-chip{display:flex;align-items:center;gap:12px;margin:0 0 12px}.look-chip img{width:64px;height:84px;object-fit:contain;object-position:center bottom;flex:none;border-radius:12px;background:#101628}.look-chip-note{display:block;margin-top:4px;color:var(--ink);font-size:1rem;font-weight:800;letter-spacing:0;text-transform:none}.name-title{font-size:clamp(2.1rem,9vw,2.8rem)}.hero-cell.is-selected{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold);color:var(--gold)}.hero-line{min-height:2.6em;margin:8px 0 0;text-align:center;color:var(--gold);font-size:1.05rem;font-weight:800;line-height:1.3}.name-form{display:flex;flex-direction:column;gap:8px}.name-form label{font-size:1rem;font-weight:800}.name-input{width:100%;min-height:60px;padding:12px 14px;border-radius:14px;border:3px solid #1a140c;background:#fffaf0;color:#1c140c;font-size:1.35rem;font-weight:800}.hint{color:var(--muted);font-size:1rem}.form-error{color:#ffd0c8;font-size:1.05rem}.relic{display:grid;grid-template-columns:64px 1fr;gap:8px;align-items:center;padding:8px 0;border-top:2px solid rgba(243,226,176,.2)}.relic img{width:64px;height:64px;object-fit:contain;border-radius:12px;background:radial-gradient(circle at 50% 42%,rgba(243,212,138,.7),transparent 64%),linear-gradient(180deg,#2a3d68,#12182c)}.relic h3{margin:0;font-size:1.05rem}.relic p,.relic-detail{font-size:1.02rem}.footer{flex:none;padding:0 8px calc(6px + env(safe-area-inset-bottom));color:var(--muted);font-size:.85rem}.modal-back{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:20px;background:#060810b8}.modal{width:min(100%,360px);padding:18px;border-radius:18px;border:3px solid var(--panel-edge);background:var(--panel)}.modal h2{margin:0 0 8px;font-size:1.5rem;color:var(--gold)}.missing{width:min(80%,240px);min-height:120px;margin:16px;padding:12px;display:grid;place-items:center;text-align:center;border:3px dashed var(--gold);border-radius:16px;color:var(--gold);font-weight:800}.gallery-page{flex:1;min-height:0;overflow:auto;padding:8px 12px 20px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery figure{margin:0;padding:8px;border-radius:12px;background:#151c32}.gallery img,.gallery .missing{width:100%;height:140px;object-fit:contain;margin:0}.gallery figcaption{display:flex;flex-direction:column;gap:2px;margin-top:6px;font-size:.75rem;font-weight:800;word-break:break-all}.uuid{color:var(--muted);font-weight:700}.crash{margin:auto;max-width:28rem;padding:24px 16px}.crash h1{font-family:var(--display);color:var(--gold)}.noscript{max-width:28rem;margin:2rem auto;padding:1rem;font-size:1.25rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}::selection{background:#f3d48a;color:#1c140c}@media(max-height:700px){.stage{height:clamp(168px,32dvh,240px)}.stage.has-boss,.stage.has-still{height:clamp(188px,34dvh,260px)}}@media(min-width:700px)and (min-height:700px){html{font-size:18px}body{display:grid;place-items:center}.hero-cell img{height:132px}.app{width:min(620px,calc(100vw - 32px));height:min(1040px,calc(100dvh - 32px));border-radius:32px;border:4px solid #3a3120;box-shadow:0 0 0 8px #14110d,0 24px 70px #00000073;overflow:hidden}}@keyframes stage-in{0%{opacity:.2}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes glow{50%{box-shadow:inset 0 0 48px color-mix(in srgb,var(--gold) 55%,transparent)}}@keyframes motes{0%{background-position:0 0,0 0,0 0,0 0,0 0,0 0}to{background-position:14px -72px,-20px -96px,10px -48px,-12px -84px,18px -56px,-8px -110px}}@keyframes orbit{0%{transform:translate(0)}to{transform:translate(16px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
