.stage-view{width:100%;margin:0 auto}.stage-view__play-area{position:relative}.stage-view__puzzle[inert]{opacity:.42;filter:saturate(.55)}.back-button{padding-inline:0}.stage-view__header{border-bottom:1px solid #433858;padding:1rem 4.5rem 1.25rem 0;position:relative}.stage-view__header p{color:#a78bfa;margin:0;font-family:ui-monospace,monospace}.stage-view__header h2{margin:.25rem 0 0;font-size:clamp(2rem,7vw,3.4rem)}.stage-view__header h2:focus-visible{outline-offset:.35rem;outline:3px solid #ffd166}.stage-state{min-width:3.5rem;position:absolute;top:1rem;right:0}.stage-error,.stage-loading{background:#fbbf2412;border:1px solid #7e6840;border-radius:.8rem;margin-top:1rem;padding:1rem}.stage-loading{justify-content:center;align-items:center;gap:.75rem;min-height:clamp(12rem,36vh,24rem);display:flex}.capability-overlay{z-index:10;background:linear-gradient(#100d1d2e,#100d1d66);place-items:start center;padding:clamp(2rem,12vh,7rem) 1rem 1rem;display:grid;position:absolute;inset:0}.capability-message{text-align:center;background:#211a35e6;border-radius:999px;max-width:34rem;box-shadow:0 .75rem 2rem #09061199}.stage-view__navigation{border-top:1px solid #433858;justify-content:space-between;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.stage-view__navigation-button{background:#2a2240;border-radius:.8rem;flex:16rem;max-width:min(100%,28rem);overflow:hidden}.stage-view__navigation-button>button{color:#f7f3ff;text-align:left;grid-template-columns:1fr auto;gap:.1rem .8rem;padding:.75rem .9rem;display:grid}.stage-view__navigation-button--previous>button{grid-template-columns:auto 1fr}.stage-view__navigation-button--next{margin-left:auto}.stage-view__navigation-label{color:#bfb7cf;font-size:.78rem}.stage-view__navigation-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.stage-view__navigation-name span{color:#ffd166;margin-right:.5rem;font-family:ui-monospace,monospace;font-size:.8em}.stage-view__navigation-button--previous .stage-view__navigation-label,.stage-view__navigation-button--previous .stage-view__navigation-name{grid-column:2}.stage-view__navigation-arrow{color:#ffd166;grid-area:1/2/3;align-self:center;font-size:1.35rem}.stage-view__navigation-button--previous .stage-view__navigation-arrow{grid-column:1}@media (width<=560px){.stage-view__navigation{flex-direction:column;align-items:stretch}.stage-view__navigation-button{flex:none;width:100%}}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem;display:flex}.section-heading>div{min-width:0}.section-heading__action{flex:none}.section-heading h2{margin:0;font-size:clamp(1.6rem,5vw,2.25rem)}.section-heading p{color:#bfb7cf;margin:0}.stage-catalogue__continue-code{opacity:.8;margin-left:.5rem;font-family:ui-monospace,monospace;font-size:.82em}.stage-catalogue__progress{border-radius:999px;height:.45rem;margin-bottom:1rem}.stage-catalogue__filters{background:#181329cc;border-radius:1rem;grid-template-columns:minmax(14rem,2fr) minmax(10rem,1fr) minmax(12rem,1fr) auto;align-items:center;gap:.75rem;padding:1rem;display:grid}.stage-catalogue__result-count{font-variant-numeric:tabular-nums;margin:.75rem 0 1rem}.stage-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.stage-grid>li{display:contents}.stage-catalogue{gap:2rem;display:grid}.stage-catalogue__group{margin:0}.stage-catalogue__empty{text-align:center;place-items:center;gap:.75rem;min-height:10rem;padding:2rem;display:grid}.stage-catalogue__marker{opacity:.35;border:2px dashed #413550;border-radius:.5rem;justify-self:end;width:72px;height:72px}.stage-catalogue__marker--active{background:conic-gradient(#0ff 0 25%, #f0f 0 50%, #ff0 0 75%, #000 0);opacity:1;border:8px solid #fff;box-shadow:0 0 0 6px #000}.stage-card{background:linear-gradient(145deg,#211a35e6,#171226e6);border-radius:.85rem;min-height:5.75rem;transition:border-color .14s,transform .14s,background .14s;position:relative;overflow:hidden}.stage-card:after{content:"";background:var(--stage-access-color,#60a5fa);opacity:.1;filter:blur(5px);pointer-events:none;border-radius:50%;width:6rem;height:6rem;position:absolute;bottom:-2.5rem;right:-1.5rem}.stage-card--baseline-direct{--stage-access-color:#60a5fa}.stage-card--baseline-permission{--stage-access-color:#fbbf24}.stage-card--limited{--stage-access-color:#c084fc}.stage-card:hover{border-color:color-mix(in srgb, var(--stage-access-color,#60a5fa), #fff 24%);background:linear-gradient(145deg,#2a2140f2,#1b152cf2);transform:translateY(-2px)}.stage-card:has(.stage-card__action:focus-visible){outline-offset:3px;outline:3px solid #fff}.stage-card__action{text-align:left;grid-template-columns:2.75rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:5.75rem;padding:.7rem .75rem;display:grid}.stage-card__text{min-width:0;padding:0}.stage-card__heading{text-overflow:ellipsis;white-space:nowrap;margin:.2rem 0 0;font-size:.88rem;line-height:1.25;overflow:hidden}.stage-card p{color:#aaa0bc;margin:0;font-size:.7rem}.stage-card p.stage-card__id{color:var(--stage-access-color,#60a5fa);font-family:ui-monospace,monospace}.stage-card .stage-card__progress{color:#e6dff0;font-variant-numeric:tabular-nums;height:1.5rem;font-weight:700}@media (width<=560px){.section-heading{flex-direction:column;align-items:flex-start}.section-heading__action{width:100%}.stage-catalogue__filters{grid-template-columns:1fr}}@media (width>=561px) and (width<=900px){.stage-catalogue__filters{grid-template-columns:1fr 1fr}.stage-catalogue__filters>:first-child{grid-column:1/-1}}.view-loading{place-items:center;min-height:clamp(12rem,36vh,24rem);display:grid}.fatal{text-align:center;place-items:center;min-height:100vh;padding:2rem;display:grid}.fatal>section{justify-items:center;gap:1rem;width:min(36rem,100%);padding:2rem;display:grid}.fatal__box{color:#171020;background:#fb7185;border-radius:.8rem;place-items:center;width:5rem;height:5rem;font-size:3rem;font-weight:900;display:grid}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f7f3ff;font-synthesis:none;background:#100d1d;font-family:Inter,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 50% -10%,#432e68 0,#171329 42rem,#100d1d 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #ffd166}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}.app-shell{width:min(1520px,100%);margin:0 auto;padding:2rem clamp(1rem,4vw,3rem) 5rem}.app-shell--stage{padding-top:clamp(.5rem,2vw,1.5rem)}.navigation-pending{z-index:1400;background:#211a35e6;border:1px solid #7e6840;border-radius:999px;place-items:center;width:3.25rem;height:3.25rem;display:grid;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 .75rem 2rem #09061199}.shell-toolbar{justify-content:flex-end;align-items:center;gap:1rem;min-height:2.75rem;display:flex}.shell-brand{letter-spacing:-.03em;margin-right:auto;font-family:Georgia,serif;font-size:1.35rem}.language-select__value{align-items:center;gap:.4rem;display:flex}.language-select__value svg{font-size:1.2em}.language-select__value strong{color:#f7f3ff;font-weight:600}.hero{text-align:center;padding:2rem 0 1.5rem}.eyebrow{color:#c9b8ee;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem}.hero h1{letter-spacing:-.06em;margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(3.3rem,12vw,7rem);line-height:.95}.hero__tagline{margin:1rem 0 .25rem;font-size:clamp(1rem,3vw,1.35rem);font-weight:700}.hero__subtitle{color:#bfb7cf;margin:0}.content{min-height:24rem}.storage-alert{margin:0 auto 1rem}.panel{background:#1c172de6;border-radius:1.25rem;width:100%;margin:0;padding:clamp(1.25rem,4vw,2.25rem)}.panel a{color:#d8c5ff}.drive-recovery{width:100%}.drive-recovery__replica{border-top:1px solid #d9a45866;padding-top:.8rem}.drive-recovery code{overflow-wrap:anywhere}@media (width<=560px){.app-shell{padding-top:.5rem}.shell-toolbar{gap:.5rem}.shell-brand{min-width:0;padding-inline:.25rem;font-size:1.1rem}}.stage-video{max-width:min(100%,640px)}.problem-row{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:1rem;display:flex}.puzzle{min-height:26rem;padding:clamp(1.5rem,7vw,4rem) 1rem}.puzzle--centered{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;display:flex}.stage-action{color:#f7f3ff;cursor:pointer;background:#35284f;border:1px solid #796799;border-radius:999px;padding:1rem 1.4rem}.stage-action:disabled{opacity:.45;cursor:not-allowed}.stage-action-row{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.stage-field{text-align:left;gap:.45rem;width:min(100%,30rem);display:grid}.stage-field input{color:#f7f3ff;width:100%;font:inherit;background:#171225;border:1px solid #665979;border-radius:.7rem;padding:.8rem 1rem}.stage-status{color:#d8cfdf;max-width:58rem}.measurement{color:#bfb7cf;margin:0;font-family:ui-monospace,monospace}.interaction-status{color:#bfb7cf;min-height:1.5rem;margin:0;font-family:ui-monospace,monospace}.paste-target{color:#cbc1d9;gap:.5rem;display:grid}.paste-target input{color:#f7f3ff;background:#151122;border:1px solid #6d5d84;border-radius:.6rem;padding:.8rem}.encoding-question-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:.85rem;width:100%;display:grid}.parallel-question-card{background:linear-gradient(145deg,#251e38,#171322);border:1px solid #55486a;border-radius:.85rem;align-content:start;gap:.7rem;min-width:0;padding:1rem;display:grid;box-shadow:0 .65rem 1.5rem #09061133}.parallel-question-card strong{color:#a78bfa;letter-spacing:.08em;font-family:ui-monospace,monospace;font-size:.78rem}.parallel-question-card code,.parallel-question-card span{overflow-wrap:anywhere;color:#f7f3ff;font-size:clamp(1rem,2.4vw,1.25rem);line-height:1.65}.parallel-answer{color:#d8d0e6;letter-spacing:.06em;gap:.45rem;width:min(100%,34rem);margin:0 auto;font-size:.85rem;font-weight:700;display:grid}.parallel-answer input{color:#fff;background:#100d1b;border:1px solid #766590;border-radius:.75rem;width:100%;padding:.9rem 1rem;font:1rem ui-monospace,monospace}
