@font-face{font-family:Silkscreen;src:url(../fonts/silkscreen-400.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Silkscreen;src:url(../fonts/silkscreen-700.woff2) format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Pixelify Sans;src:url(../fonts/pixelify-sans-400-700.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--color-bg: #101a20;--color-teal-dark: #05090b;--color-teal-light: #1d2f38;--color-bone: #f2e8d5;--color-bone-shadow: #7a8f8a;--color-bone-dark: #5f736e;--color-bone-light: #fff8e8;--color-nerve: #ffd166;--color-nerve-glow: #fff3b0;--color-nerve-dark: #b8862b;--color-joint: #7bdff2;--color-joint-dark: #3f9fb5;--color-joint-light: #c9f7ff;--color-muscle: #ef476f;--color-muscle-dark: #a82a4a;--color-muscle-light: #ff9fb2;--color-orange: #e59b34;--color-orange-dark: #813115;--color-orange-light: #ffd28a;--color-text: #f7f3ea;--color-muted: #9db4ad;--color-accent: #7bdff2;--color-danger: #ef476f;--color-player-p1: var(--color-orange);--color-player-p2: var(--color-joint);--font-ui: "Pixelify Sans", monospace;--font-display: "Silkscreen", "Pixelify Sans", monospace;--ui-radius: 0px;--ui-border: 2px;--ui-font-scale: 1;--text-label: calc(.75rem * var(--ui-font-scale));--text-chip: calc(.8125rem * var(--ui-font-scale));--text-sm: calc(.875rem * var(--ui-font-scale));--text-body: calc(.9375rem * var(--ui-font-scale));--text-body-lg: calc(1rem * var(--ui-font-scale));--text-title-sm: calc(1.25rem * var(--ui-font-scale));--text-title: calc(1.5rem * var(--ui-font-scale));color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:16px;line-height:1.5}#app,#game-root{position:fixed;inset:0}#game-root canvas{display:block;image-rendering:pixelated}#ui-root{--hud-inset: clamp(12px, 2vw, 28px);position:fixed;inset:0;z-index:10;pointer-events:none;padding:var(--hud-inset)}[hidden]{display:none!important}.hud{position:fixed;inset:var(--hud-inset, clamp(12px, 2vw, 28px));z-index:5;font-size:var(--text-body)}.hud__panel{position:absolute;padding:.85rem 1rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 26%,transparent);border-radius:0;background-color:var( --material-panel-background, var(--color-bg) );background-image:var(--material-panel-pattern, none);background-size:var(--material-panel-pattern-size, auto);background-position:var(--material-panel-pattern-position, 0 0);background-repeat:var(--material-panel-pattern-repeat, repeat);background-blend-mode:var(--material-panel-pattern-blend, normal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 12%,transparent),3px 3px 0 var(--color-teal-dark);animation:hud-in .4s steps(4,end) both}.hud__panel--title{top:0;left:0;max-width:min(30rem,70vw)}.hud__panel--controls{top:0;right:0;min-width:16rem}.hud__panel--assets{bottom:0;left:0;max-width:min(34rem,80vw)}.hud__eyebrow-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.35rem}.hud__eyebrow{margin:0 0 .2rem;font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.hud__stamp{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;min-height:1.3rem;padding:0 .4rem;border:var(--ui-border) solid var(--color-accent);border-radius:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.hud__stamp--image{min-width:2.8rem;min-height:1.7rem;color:transparent;background-color:var(--color-bg);background-repeat:no-repeat;background-position:center;background-size:32px 32px;image-rendering:pixelated}.hud__audio{margin-left:auto;padding:.08rem .45rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-joint) 60%,transparent);border-radius:0;color:var(--color-joint);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.hud__audio[data-muted=true]{border-color:color-mix(in srgb,var(--color-danger) 70%,transparent);color:var(--color-danger)}.hud__title{margin:0;font-family:var(--font-display);font-size:calc(clamp(1.4rem,2.2vw,1.9rem) * var(--ui-font-scale));font-weight:700;line-height:1.1;letter-spacing:0}.hud__mode-badge{display:inline-block;margin-top:.55rem;padding:.22rem .55rem;border:var(--ui-border) solid currentColor;border-radius:0;font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}.hud__mode-badge[data-mode=fixture]{background:var(--color-nerve);color:var(--color-bg);border-color:var(--color-teal-dark)}.hud__mode-badge[data-mode=final]{background:var(--color-joint);color:var(--color-bg);border-color:var(--color-teal-dark)}.hud__meta{margin:.3rem 0 0;color:var(--color-muted);font-size:var(--text-label)}.hud__abilities{margin:.12rem 0 0;color:var(--color-muted);font-size:var(--text-label)}.hud__hint{margin:.2rem 0 0;color:var(--color-accent, var(--color-muted));font-size:var(--text-sm)}.hud__room-id{margin:.15rem 0 0;color:color-mix(in srgb,var(--color-muted) 80%,transparent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-label)}.hud__heading{margin:0 0 .45rem;font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.hud__controls{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:0;font-size:var(--text-sm)}.hud__controls dt{color:var(--color-bone);font-weight:600}.hud__controls dd{margin:0;color:var(--color-muted);font-variant-numeric:tabular-nums}.hud__summary{margin:0;color:var(--color-text);font-size:var(--text-body);font-variant-numeric:tabular-nums}.hud__overrides,.hud__warnings{display:flex;flex-direction:column;gap:.2rem;margin:.45rem 0 0;padding:0;list-style:none}.hud__override{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:var(--text-sm)}.hud__override code{overflow:hidden;color:var(--color-bone-shadow);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.hud__source{flex:none;padding:.05rem .4rem;border:1px solid color-mix(in srgb,var(--color-muted) 40%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-muted) 16%,transparent);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.hud__source--fixture,.hud__source--pack{background:color-mix(in srgb,var(--color-nerve) 22%,transparent);color:var(--color-nerve)}.hud__source--final{background:color-mix(in srgb,var(--color-joint) 22%,transparent);color:var(--color-joint)}.hud__warnings li{color:var(--color-danger);font-size:var(--text-sm);line-height:1.4}.hud__warnings li:before{content:"! ";font-weight:700}.hud__fatal{position:absolute;top:50%;left:50%;width:min(38rem,88vw);padding:1.4rem 1.5rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-danger) 75%,transparent);border-radius:0;background:var(--color-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 12%,transparent),3px 3px 0 var(--color-teal-dark);transform:translate(-50%,-50%);pointer-events:auto}.hud__fatal-title{margin:0 0 .6rem;color:var(--color-danger);font-family:var(--font-display);font-size:var(--text-title-sm)}.hud__fatal-message{margin:0;overflow-wrap:anywhere;color:var(--color-text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);line-height:1.5;white-space:pre-wrap}.hud__fatal-hint{margin:.9rem 0 0;color:var(--color-muted);font-size:var(--text-sm)}@keyframes hud-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}[data-reduced-motion=true] *{animation:none!important;transition:none!important}@media(max-width:720px){#ui-root{--hud-inset: 10px;padding:10px}.hud__panel{padding:.65rem .75rem}.hud__panel--controls{display:none}.hud__panel--assets{max-width:calc(100vw - 20px)}.hud__meta{display:none}}.hud--m1{font-size:var(--text-body)}.hud__bar{top:0;left:0;right:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"identity blueprint progress" "strip strip strip";align-items:start;gap:.55rem 1rem;max-width:none;padding:.65rem .9rem .55rem}.hud__identity{grid-area:identity;min-width:0}.hud__blueprint{grid-area:blueprint;align-self:stretch;min-width:7rem}.hud__progress{grid-area:progress;justify-self:end;min-width:min(15rem,28vw);max-width:26rem}.hud__progress-header{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.hud__progress-count{color:var(--color-bone);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.06em}.hud__strip{grid-area:strip;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0;padding-top:.4rem;border-top:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 12%,transparent)}.hud__strip .hud__mode-badge{margin-top:0}.hud__hint-group{display:flex;flex:1 1 auto;align-items:center;gap:.5rem;min-width:0}.hud__hint-button{flex:none;padding:.08rem .5rem;border:var(--ui-border) solid var(--color-nerve);border-radius:0;background:color-mix(in srgb,var(--color-nerve) 12%,transparent);color:var(--color-nerve);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;pointer-events:auto}.hud__hint-button:hover{background:color-mix(in srgb,var(--color-nerve) 22%,transparent)}.hud__hint-button:disabled{border-color:color-mix(in srgb,var(--color-muted) 35%,transparent);background:transparent;color:var(--color-muted);cursor:default}.hud__hint-count{flex:none;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase}.hud__hint-group .hud__hint{flex:1 1 auto;min-width:0;margin:0;overflow:hidden;color:var(--color-accent);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.hud__badges{display:flex;flex:none;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.hud__save{padding:.08rem .45rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-muted) 45%,transparent);border-radius:0;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.hud__cards{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;pointer-events:none}.hud__controls-card{display:flex;align-items:center;gap:.5rem;width:min(38rem,47vw);padding:.15rem .4rem;border:var(--ui-border) solid var(--color-player-p1);border-radius:0;background:color-mix(in srgb,var(--color-bg) 88%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 8%,transparent),3px 3px 0 var(--color-teal-dark);line-height:1.15;pointer-events:none}.hud__controls-card--p2{border-color:var(--color-player-p2);justify-content:flex-end}.hud__controls-heading{flex:none;margin:0;color:var(--color-player-p1);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.hud__controls-heading:after{content:" controls"}.hud__controls-card--p2 .hud__controls-heading{color:var(--color-player-p2)}.hud__control-list{display:flex;flex-wrap:wrap;align-items:baseline;gap:.05rem .4rem;min-width:0;margin:0;padding:0;list-style:none;font-size:var(--text-label);line-height:1.15}.hud__control{display:inline-flex;align-items:baseline;gap:.25rem;min-width:0;color:var(--color-muted);white-space:nowrap}.hud__control[data-available=false]{opacity:.35}.hud__control-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud__control-keys{flex:none;color:var(--color-bone);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-label)}.hud__controls-card--p1 .hud__control-keys{color:var(--color-player-p1)}.hud__controls-card--p2 .hud__control-keys{color:var(--color-player-p2)}.blueprint--compact{display:flex;align-items:center;justify-content:center;min-height:3rem}.blueprint__minimal-open{display:none;align-items:center;justify-content:center;padding:.2rem .5rem;border:var(--ui-border) solid var(--color-nerve);border-radius:0;background:color-mix(in srgb,var(--color-nerve) 12%,transparent);color:var(--color-nerve);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;pointer-events:auto;cursor:pointer}.blueprint__chain{display:flex;align-items:center;gap:.25rem}.blueprint__component{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 32%,transparent);border-radius:0;background:var(--color-bg);color:var(--color-bone);pointer-events:auto;cursor:pointer}.blueprint__component[data-state=pending]{opacity:.45}.blueprint__component[data-state=done]{border-color:var(--color-joint)}.blueprint__component[data-state=active]{border-color:var(--blueprint-actor-color, var(--color-nerve));box-shadow:inset 0 0 0 1px var(--blueprint-actor-color, var(--color-nerve)),2px 2px 0 var(--color-teal-dark)}.blueprint__component[data-state=done]:after{content:"✓";position:absolute;top:-.45rem;right:-.35rem;padding:0 .15rem;background:var(--color-bg);color:var(--color-joint);font-family:var(--font-display);font-size:var(--text-label)}.blueprint__component[data-actor=p1],.blueprint__actor--p1{--blueprint-actor-color: var(--color-player-p1)}.blueprint__component[data-actor=p2],.blueprint__actor--p2{--blueprint-actor-color: var(--color-player-p2)}.blueprint__component[data-actor=both],.blueprint__actor--both{--blueprint-actor-color: var(--color-nerve)}.blueprint__component[data-actor=shared],.blueprint__actor--shared{--blueprint-actor-color: var(--color-bone)}.blueprint__glyph{font-family:var(--font-display);font-size:var(--text-label);letter-spacing:0;line-height:1}.blueprint__glyph--image{width:2rem;height:2rem;background-position:center;background-repeat:no-repeat;background-size:2rem 2rem;image-rendering:pixelated}.blueprint__actor{position:absolute;right:-.4rem;bottom:-.45rem;display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;height:1.1rem;padding:0 .15rem;border:1px solid var(--blueprint-actor-color, var(--color-bone));background:var(--color-bg);color:var(--blueprint-actor-color, var(--color-bone));font-family:var(--font-display);font-size:var(--text-label);line-height:1}.blueprint__actor-dot{width:.4rem;height:.4rem;margin:0 .05rem}.blueprint__actor-dot--p1{background:var(--color-player-p1)}.blueprint__actor-dot--p2{background:var(--color-player-p2)}.blueprint__tooltip{position:absolute;top:calc(100% + .45rem);left:50%;z-index:8;display:none;padding:.22rem .45rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 30%,transparent);background:var(--color-bg);box-shadow:2px 2px 0 var(--color-teal-dark);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-label);line-height:1.2;white-space:nowrap;pointer-events:none;transform:translate(-50%)}.blueprint__component:hover .blueprint__tooltip,.blueprint__component:focus-visible .blueprint__tooltip{display:block}.blueprint__connector{position:relative;flex:none;width:1.15rem;height:2px;background:currentColor;color:color-mix(in srgb,var(--color-bone) 28%,transparent)}.blueprint__connector[data-state=done]{color:var(--color-joint)}.blueprint__connector[data-state=active]{color:var(--color-nerve)}.blueprint__connector[data-type=oneWay]:after{content:"";position:absolute;top:50%;right:-1px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;transform:translateY(-50%)}.blueprint--expanded{display:flex;flex-direction:column;gap:.6rem}.blueprint__title{margin:0;color:var(--color-nerve);font-family:var(--font-display);font-size:var(--text-title-sm);font-weight:700}.blueprint__expanded-list{display:flex;flex-wrap:wrap;align-items:stretch;gap:.85rem;margin:0;padding:0;list-style:none}.blueprint__expanded-component{position:relative;min-width:9rem;padding:.5rem .6rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 26%,transparent);background:color-mix(in srgb,var(--color-bone) 4%,transparent)}.blueprint__expanded-component[data-state=done]{border-color:var(--color-joint)}.blueprint__expanded-component[data-state=active]{border-color:var(--blueprint-actor-color, var(--color-nerve));box-shadow:2px 2px 0 var(--color-teal-dark)}.blueprint__expanded-component[data-state=pending]{opacity:.5}.blueprint__expanded-component[data-actor=p1],.blueprint__expanded-component[data-actor=p2],.blueprint__expanded-component[data-actor=both],.blueprint__expanded-component[data-actor=shared]{--blueprint-actor-color: var(--color-nerve)}.blueprint__expanded-component[data-actor=p1]{--blueprint-actor-color: var(--color-player-p1)}.blueprint__expanded-component[data-actor=p2]{--blueprint-actor-color: var(--color-player-p2)}.blueprint__expanded-component[data-actor=both]{--blueprint-actor-color: var(--color-nerve)}.blueprint__expanded-component[data-actor=shared]{--blueprint-actor-color: var(--color-bone)}.blueprint__expanded-component .blueprint__glyph{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 25%,transparent)}.blueprint__expanded-body{display:flex;align-items:center;gap:.5rem}.blueprint__expanded-copy{display:flex;flex-direction:column;gap:.05rem}.blueprint__expanded-label{color:var(--color-text);font-size:var(--text-body);font-weight:700}.blueprint__expanded-state,.blueprint__expanded-actor{color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase}.blueprint__expanded-actor{color:var(--blueprint-actor-color, var(--color-bone))}.blueprint__expanded-component:not(:last-child):after{content:"";position:absolute;top:50%;left:100%;width:.85rem;height:2px;background:color-mix(in srgb,var(--color-bone) 28%,transparent);transform:translateY(-50%)}.blueprint__expanded-component[data-edge-state=done]:not(:last-child):after{background:var(--color-joint)}.blueprint__expanded-component[data-edge-state=active]:not(:last-child):after{background:var(--color-nerve)}.blueprint-system{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none}.blueprint-system__item{padding:.22rem .45rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 26%,transparent);background:var(--color-bg);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.04em}.blueprint-system__item[data-state=current]{border-color:var(--color-nerve);color:var(--color-nerve)}.blueprint-system__item[data-state=visited]{border-color:var(--color-joint);color:var(--color-bone)}.blueprint-system__item[data-state=next]{border-color:var(--color-bone);color:var(--color-text)}.blueprint-system__item[data-state=unknown]{border-style:dashed;opacity:.55}.blueprint-legend{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0;padding:0;list-style:none;font-size:var(--text-sm)}.blueprint-legend__item{display:inline-flex;align-items:center;gap:.35rem;color:var(--color-muted)}.blueprint-legend__swatch{display:inline-block;width:.8rem;height:.8rem;border:1px solid var(--color-bone);background:var(--color-bg)}.blueprint-legend__swatch[data-state=done]{background:var(--color-joint)}.blueprint-legend__swatch[data-state=active]{background:var(--color-nerve)}.blueprint-legend__swatch[data-state=pending]{opacity:.4}.blueprint-legend__swatch[data-actor=p1]{border-color:var(--color-player-p1);background:var(--color-player-p1)}.blueprint-legend__swatch[data-actor=p2]{border-color:var(--color-player-p2);background:var(--color-player-p2)}.blueprint-legend__swatch[data-actor=shared]{border-color:var(--color-bone);background:var(--color-bone)}.blueprint-hints__list{display:flex;flex-direction:column;gap:.25rem;margin:0 0 .5rem;padding-left:1.2rem;color:var(--color-muted);font-size:var(--text-sm)}.blueprint-hints button{align-self:flex-start}.hud[data-hud-density=compact] .hud__bar{gap:.45rem .75rem;padding:.55rem .75rem .45rem}.hud[data-hud-density=compact] .hud__title{font-size:calc(clamp(1.15rem,1.8vw,1.5rem) * var(--ui-font-scale))}.hud[data-hud-density=compact] .hud__meta,.hud[data-hud-density=compact] .hud__abilities{font-size:var(--text-label)}.hud[data-hud-density=compact] .hud__progress{min-width:min(12rem,24vw)}.hud[data-hud-density=compact] .hud__progress .feedback-beats__item:not([data-state=active]){display:none}.hud[data-hud-density=compact] .hud__controls-card{width:min(30rem,45vw);padding:.18rem .35rem}.hud[data-hud-density=compact] .hud__controls-heading:after{content:""}.hud[data-hud-density=minimal] .hud__bar{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"identity blueprint progress" "strip strip strip";gap:.35rem .6rem;padding:.5rem .65rem .4rem}.hud[data-hud-density=minimal] .hud__blueprint{min-width:0}.hud[data-hud-density=minimal] .blueprint--compact{display:none}.hud[data-hud-density=minimal] .blueprint__minimal-open{display:inline-flex}.hud[data-hud-density=minimal] .hud__title{font-size:calc(1.1rem * var(--ui-font-scale))}.hud[data-hud-density=minimal] .hud__meta,.hud[data-hud-density=minimal] .hud__abilities,.hud[data-hud-density=minimal] .hud__hint-group .hud__hint,.hud[data-hud-density=minimal] .hud__cards{display:none}.hud[data-hud-density=minimal] .hud__progress{min-width:0}.hud[data-hud-density=minimal] .hud__progress .feedback-beats__item:not([data-state=active]){display:none}.hud[data-hud-density=minimal] .hud__badges{flex-wrap:nowrap}.hud[data-hud-density=minimal] .hud__save{display:none}.hud__prompt{position:absolute;left:50%;bottom:calc(var(--hud-safe-bottom, 84px) + .55rem);display:flex;align-items:center;gap:.55rem;padding:.5rem .85rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-nerve) 70%,transparent);border-radius:0;background:var(--color-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 10%,transparent),3px 3px 0 var(--color-teal-dark);transform:translate(-50%)}.hud__prompt-key,kbd{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;padding:.1rem .35rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 35%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-bone) 12%,transparent);color:var(--color-bone);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-chip)}.hud__prompt-text{font-size:var(--text-body);font-weight:600}.hud__toast{position:absolute;left:50%;bottom:calc(var(--hud-safe-bottom, 84px) + 3.8rem);max-width:min(34rem,82vw);padding:.55rem .9rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-joint) 60%,transparent);border-radius:0;background:var(--color-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 10%,transparent),3px 3px 0 var(--color-teal-dark);color:var(--color-text);font-size:var(--text-body);text-align:center;transform:translate(-50%);animation:hud-in .22s steps(3,end) both}.overlay-root{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:clamp(12px,3vw,36px);overflow:auto;background:color-mix(in srgb,var(--color-teal-dark) 82%,transparent);pointer-events:auto}.overlay{width:min(52rem,92vw);max-height:min(88vh,52rem);overflow:auto;padding:1.15rem 1.25rem 1.25rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 30%,transparent);border-radius:0;background:var(--color-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 12%,transparent),3px 3px 0 var(--color-teal-dark);font-size:var(--text-body);outline:none}.overlay:focus-visible{outline:2px solid var(--color-joint);outline-offset:2px}.overlay--debrief{background-color:var( --material-debrief-background, var(--color-bg) );background-image:var(--material-debrief-pattern, none);background-size:var(--material-debrief-pattern-size, auto);background-position:var(--material-debrief-pattern-position, 0 0);background-repeat:var(--material-debrief-pattern-repeat, repeat);background-blend-mode:var(--material-debrief-pattern-blend, normal)}.overlay--gate{background-color:var( --material-gate-background, var(--color-bg) );background-image:var(--material-gate-pattern, none);background-size:var(--material-gate-pattern-size, auto);background-position:var(--material-gate-pattern-position, 0 0);background-repeat:var(--material-gate-pattern-repeat, repeat);background-blend-mode:var(--material-gate-pattern-blend, normal)}.overlay--map{background-color:var( --material-map-background, var(--color-bg) );background-image:var(--material-map-pattern, none);background-size:var(--material-map-pattern-size, auto);background-position:var(--material-map-pattern-position, 0 0);background-repeat:var(--material-map-pattern-repeat, repeat);background-blend-mode:var(--material-map-pattern-blend, normal)}.overlay__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.overlay__title{margin:0;font-family:var(--font-display);font-size:calc(clamp(1.25rem,2vw,1.6rem) * var(--ui-font-scale));font-weight:700;letter-spacing:0}.overlay__body{display:flex;flex-direction:column;gap:.8rem}.overlay__hint{margin:0;color:var(--color-muted);font-size:var(--text-body);line-height:1.55}.overlay__subheading{margin:.3rem 0 0;font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.overlay__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.button{padding:.48rem .8rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 35%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-bone) 8%,transparent);box-shadow:2px 2px 0 var(--color-teal-dark);color:var(--color-text);font:inherit;font-size:var(--text-body);font-weight:600;cursor:pointer}.button:hover{background:color-mix(in srgb,var(--color-bone) 16%,transparent)}.button:active{box-shadow:none;transform:translate(2px,2px)}.button:focus-visible{outline:2px solid var(--color-joint);outline-offset:2px}.button--primary{border-color:var(--color-teal-dark);background:var(--color-nerve);box-shadow:2px 2px 0 var(--color-teal-dark);color:#16120a}.button--primary:hover{background:var(--color-nerve-glow)}.button--small{padding:.28rem .6rem;font-size:var(--text-chip)}.button--small[data-active=true],.button[aria-pressed=true]{background:var(--color-joint);border-color:var(--color-teal-dark);box-shadow:2px 2px 0 var(--color-teal-dark);color:#08181c}.button--icon{min-width:2rem;padding:.28rem .45rem;font-size:var(--text-body)}.button--choice{width:100%;border-radius:0;padding:.65rem .8rem;text-align:left}.button:disabled{opacity:.4;cursor:not-allowed}.overlay__close{padding:.32rem .7rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 30%,transparent);border-radius:0;background:transparent;box-shadow:2px 2px 0 var(--color-teal-dark);color:var(--color-muted);font:inherit;font-size:var(--text-sm);cursor:pointer}.overlay__close:hover{color:var(--color-text)}.overlay__close:active{box-shadow:none;transform:translate(2px,2px)}.overlay__close:focus-visible{outline:2px solid var(--color-joint);outline-offset:2px}.dialogue__text{margin:0;color:var(--color-text);font-size:var(--text-body-lg);line-height:1.65;text-transform:none}.dialogue__choices{display:flex;flex-direction:column;gap:.45rem}.gate__prompt{margin:0;font-size:var(--text-body-lg);line-height:1.55}.gate__status{margin:0;color:var(--color-joint);font-size:var(--text-sm);font-weight:600}.gate__feedback{margin:0;min-height:1.2em;font-size:var(--text-body)}.gate__feedback[data-correct=true]{color:var(--color-joint)}.gate__feedback[data-correct=false]{color:var(--color-danger)}.gate__hint{margin:0;min-height:1.2em;color:var(--color-nerve);font-size:var(--text-body)}.gate__options{display:grid;gap:.45rem}.gate__option[aria-checked=true]{border-color:var(--color-nerve);background:color-mix(in srgb,var(--color-nerve) 18%,transparent)}.gate__sequence{display:flex;flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none}.gate__sequence-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.35rem;padding:.35rem .45rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 22%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-bone) 5%,transparent)}.gate__sequence-label{font-size:var(--text-body)}.gate__match{display:flex;flex-direction:column;gap:.45rem}.gate__match-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(8rem,1fr);align-items:center;gap:.6rem;font-size:var(--text-body)}.gate__select{padding:.35rem .45rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 32%,transparent);border-radius:0;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--text-body)}.gate__select:focus-visible{outline:2px solid var(--color-joint);outline-offset:2px}.map{position:relative;min-height:15rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 24%,transparent);border-radius:0;background-color:var(--color-bg);background-image:linear-gradient(to right,color-mix(in srgb,var(--color-bone) 8%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--color-bone) 8%,transparent) 1px,transparent 1px);background-size:16px 16px;image-rendering:pixelated}.map__node{position:absolute;transform:translate(-50%,-50%);min-width:6.6rem;padding:.45rem .6rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 26%,transparent);border-radius:0;background:var(--color-bg);box-shadow:2px 2px 0 var(--color-teal-dark);text-align:center}.map__node[data-visited=true]{border-color:var(--color-joint)}.map__node[data-current=true]{border-color:var(--color-nerve);box-shadow:3px 3px 0 var(--color-teal-dark)}.map__label{margin:0;font-size:var(--text-body)}.map__state{margin:.15rem 0 0;color:var(--color-muted);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.06em}.map__edges{display:flex;flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;color:var(--color-muted);font-size:var(--text-sm)}.map__edges li[data-revealed=false]{opacity:.45}.concept-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.6rem}.concept{padding:.6rem .7rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 22%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-bone) 4%,transparent)}.concept[data-discovered=true]{border-color:color-mix(in srgb,var(--color-joint) 60%,transparent)}.concept__term{margin:0 0 .25rem;font-size:var(--text-body-lg)}.concept__definition{margin:0;color:var(--color-text);font-size:var(--text-body);line-height:1.5}.concept__label{margin:.5rem 0 .15rem;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.08em;text-transform:uppercase}.concept__relationships,.concept__misconceptions,.concept__facts,.concept-locked__list{margin:0;padding-left:1rem;font-size:var(--text-sm);line-height:1.5}.concept__relationships li{color:var(--color-joint)}.concept__misconceptions li{color:var(--color-nerve)}.concept__facts li{color:var(--color-text);margin-bottom:.25rem}.concept__facts strong{color:var(--color-bone)}.concept-locked{grid-column:1 / -1}.debrief__prompt{display:flex;flex-direction:column;gap:.35rem;padding:.65rem .75rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 20%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-bone) 3%,transparent)}.debrief__question{margin:0;font-size:var(--text-body-lg);line-height:1.5}.debrief__answer{width:100%;resize:vertical;padding:.5rem .6rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 30%,transparent);border-radius:0;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--text-body);line-height:1.5}.debrief__answer:focus-visible{outline:2px solid var(--color-joint);outline-offset:2px}.debrief__status{color:var(--color-muted);font-size:var(--text-sm)}.debrief__objectives{display:flex;flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;font-size:var(--text-body)}.debrief__objectives li[data-met=true]{color:var(--color-joint)}.debrief__objectives li[data-met=false]{color:var(--color-danger)}.complete__lede{margin:0;font-size:var(--text-body-lg);line-height:1.6}.settings{display:flex;flex-direction:column;gap:.45rem}.settings__row{display:flex;align-items:center;justify-content:space-between;gap:.8rem;font-size:var(--text-body)}.settings__label{color:var(--color-muted)}.settings__choices{display:flex;flex-wrap:wrap;gap:.3rem}.pause__controls,.pause__diagnostics{display:flex;flex-direction:column;gap:.4rem}.overlay--error{border-color:color-mix(in srgb,var(--color-danger) 75%,transparent)}.overlay--host-run{border-color:color-mix(in srgb,var(--color-joint) 65%,transparent)}.host-run__status{margin:0;padding:.5rem .6rem;border:1px solid color-mix(in srgb,var(--color-joint) 45%,transparent);background:color-mix(in srgb,var(--color-joint) 8%,transparent);color:var(--color-text);font-size:var(--text-body);font-weight:600;line-height:1.5}@media(max-width:720px){.overlay{width:calc(100vw - 18px);max-height:92vh}.gate__match-row{grid-template-columns:1fr}}.surface-layer{position:fixed;inset:0;font-size:var(--text-body);pointer-events:none}#world-surface-layer{z-index:3}#hud-surface-layer{z-index:2}#modal-layer{z-index:30}.feedback-surface{position:absolute;left:0;top:0;max-width:min(24rem,78vw);padding:.55rem .7rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 28%,transparent);border-radius:0;background:var(--color-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 10%,transparent),3px 3px 0 var(--color-teal-dark);color:var(--color-text);font-size:var(--text-body);line-height:1.5;pointer-events:none;will-change:transform;transition:transform .12s steps(3,end)}.feedback-surface[data-owner=p1]{border-color:color-mix(in srgb,var(--color-player-p1) 70%,transparent)}.feedback-surface[data-owner=p2]{border-color:color-mix(in srgb,var(--color-player-p2) 70%,transparent)}.feedback-surface[data-severity=warning]{border-color:color-mix(in srgb,var(--color-accent) 75%,transparent)}.feedback-surface[data-severity=critical]{border-color:color-mix(in srgb,var(--color-danger) 85%,transparent)}.feedback-surface--playerCaption{display:block;max-width:min(14rem,55vw);border-radius:0;padding:.15rem .4rem;line-height:1.35;box-shadow:none}.feedback-surface--playerCaption .feedback-surface__header{display:none}.feedback-surface--playerCaption .feedback-surface__text{margin:0}.feedback-surface--speechBubble{border-radius:0;background-color:var( --material-dialogue-background, var(--color-bg) );background-image:var(--material-dialogue-pattern, none);background-size:var(--material-dialogue-pattern-size, auto);background-position:var(--material-dialogue-pattern-position, 0 0);background-repeat:var(--material-dialogue-pattern-repeat, repeat);background-blend-mode:var(--material-dialogue-pattern-blend, normal)}.feedback-surface--screenCaption{max-width:min(30rem,82vw);text-align:center;border-color:color-mix(in srgb,var(--color-nerve) 75%,transparent)}.feedback-surface--hudStatus,.feedback-surface--hudMeter,.feedback-surface--tracker,.feedback-surface--banner,.feedback-surface--prompt{position:absolute;min-width:12rem;max-width:22rem}.feedback-surface--stateSwap,.feedback-surface--socketFill,.feedback-surface--outline,.feedback-surface--pathGlow{padding:.3rem .5rem;border-radius:0;opacity:.94}.feedback-surface--speechBubble,.feedback-surface--prompt,.feedback-surface--stateSwap,.feedback-surface--socketFill,.feedback-surface--outline,.feedback-surface--pathGlow{padding:.2rem .4rem;max-width:min(16rem,65vw)}.feedback-surface--speechBubble{max-width:min(18rem,68vw);padding:.25rem .45rem}.feedback-surface--speechBubble .feedback-surface__header{margin-bottom:.1rem}.feedback-surface__header{display:flex;align-items:center;gap:.4rem;margin-bottom:.15rem}.feedback-surface__owner{display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;padding:.05rem .35rem;border-radius:0;background:color-mix(in srgb,var(--color-bone) 14%,transparent);color:var(--color-bone);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.feedback-surface[data-owner=p1] .feedback-surface__owner{background:color-mix(in srgb,var(--color-player-p1) 24%,transparent);color:var(--color-player-p1)}.feedback-surface[data-owner=p2] .feedback-surface__owner{background:color-mix(in srgb,var(--color-player-p2) 24%,transparent);color:var(--color-player-p2)}.feedback-surface__speaker{font-family:var(--font-display);font-size:var(--text-sm)}.feedback-surface__text{margin:0}.feedback-surface__meter{height:12px;margin-top:.4rem;padding:2px;overflow:hidden;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 28%,transparent);border-radius:0;background:var(--color-bg)}.feedback-surface__meter-fill{display:block;height:100%;border-radius:0;background-color:var(--color-nerve);background-image:repeating-linear-gradient(90deg,transparent 0 4px,color-mix(in srgb,var(--color-teal-dark) 60%,transparent) 4px 6px);transition:width .12s linear}.feedback-surface__choices{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem;pointer-events:auto}.feedback-surface__choice,.feedback-surface__continue,.feedback-surface__close{pointer-events:auto}.feedback-surface__choice[data-selected=true]{outline:2px solid var(--color-nerve);outline-offset:2px}.feedback-surface__continue{margin-top:.4rem}.feedback-beats__title{margin:0;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.feedback-beats__list{display:flex;flex-direction:column;gap:.02rem;margin:.18rem 0 0;padding:0;list-style:none;font-size:var(--text-label);line-height:1.2}.feedback-beats__item{position:relative;padding-left:1rem;color:var(--color-muted);line-height:1.15}.feedback-beats__item:before{content:"○";position:absolute;left:0;color:color-mix(in srgb,var(--color-muted) 70%,transparent)}.feedback-beats__item[data-state=done]{color:var(--color-muted);text-decoration:line-through}.feedback-beats__item[data-state=done]:before{content:"✓";color:var(--color-joint)}.feedback-beats__item[data-state=active]{color:var(--color-nerve);font-weight:700}.feedback-beats__item[data-state=active]:before{content:"●";color:var(--color-nerve)}.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}[data-reduced-motion=true] .feedback-surface,[data-reduced-motion=true] .feedback-surface__meter-fill{transition:none}@media(max-width:720px){.feedback-surface{max-width:70vw}}.hub{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;padding:clamp(14px,3vw,42px);pointer-events:none;font-size:var(--text-body)}.hub__panel{position:relative;width:min(33rem,44vw);max-height:calc(100vh - (2*clamp(14px,3vw,42px)));overflow:auto;padding:.9rem 1rem .75rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 30%,transparent);border-radius:0;background:var(--color-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-bone) 12%,transparent),3px 3px 0 var(--color-teal-dark);pointer-events:auto;animation:hud-in .32s steps(4,end) both}.hub__panel:before{content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--color-joint) 20%,transparent);border-radius:0;pointer-events:none}.hub__header{position:relative;padding-bottom:.55rem}.hub__eyebrow{margin:0 0 .25rem;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.1em;text-transform:uppercase}.hub__title{margin:0;font-family:var(--font-display);font-size:calc(clamp(1.5rem,2.4vw,2rem) * var(--ui-font-scale));font-weight:700;letter-spacing:0}.hub__lede{margin:.25rem 0 0;max-width:34rem;color:var(--color-muted);font-size:var(--text-body);line-height:1.55}.hub__status{margin:.45rem 0 0;min-height:1.1em;color:var(--color-joint);font-size:var(--text-sm);font-weight:600}.hub__group{margin:.5rem 0 0;padding:0;border:0;min-width:0}.hub__legend{padding:0;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.1em;text-transform:uppercase}.hub__packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.35rem}.hub-card{position:relative;display:block;cursor:pointer}.hub-card input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.hub-card__body{display:flex;flex-direction:column;gap:.25rem;min-height:4.8rem;padding:.5rem .6rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 22%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-bone) 4%,transparent);transition:border-color .12s steps(2,end),background .12s steps(2,end)}.hub-card:hover .hub-card__body{border-color:color-mix(in srgb,var(--color-joint) 50%,transparent);transform:translateY(-1px)}.hub-card[data-selected=true] .hub-card__body{border-color:var(--color-joint);background:color-mix(in srgb,var(--color-joint) 12%,transparent);box-shadow:2px 2px 0 var(--color-teal-dark)}.hub-card[data-status=coming-soon],.hub-card[data-status=unavailable]{cursor:not-allowed}.hub-card[data-status=coming-soon] .hub-card__body,.hub-card[data-status=unavailable] .hub-card__body{opacity:.62}.hub-card input:focus-visible+.hub-card__body{outline:2px solid var(--color-joint);outline-offset:2px}.hub-card__title-row{display:flex;align-items:center;gap:.45rem}.hub-card__icon{flex:none;width:2rem;height:2rem;border:1px solid color-mix(in srgb,var(--color-bone) 24%,transparent);background:var(--color-bg);image-rendering:pixelated}.hub-card__title-group{display:flex;flex:1;min-width:0;align-items:flex-start;justify-content:space-between;gap:.35rem}.hub-card__title{font-size:var(--text-body);font-weight:700;line-height:1.3}.hub-card__status{flex:none;padding:.08rem .35rem;border:1px solid color-mix(in srgb,var(--color-nerve) 50%,transparent);border-radius:0;color:var(--color-nerve);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.hub-card[data-status=coming-soon] .hub-card__status{border-color:color-mix(in srgb,var(--color-muted) 45%,transparent);color:var(--color-muted)}.hub-card__subtitle{color:var(--color-joint);font-size:var(--text-label);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hub-card__description{display:none}.hub-card__save{margin-top:auto;color:var(--color-nerve);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.06em;text-transform:uppercase}.hub__modes{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.hub__mode{position:relative;display:inline-flex;cursor:pointer}.hub__mode input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.hub__mode-label{display:inline-flex;padding:.38rem .68rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 26%,transparent);border-radius:0;color:var(--color-text);font-size:var(--text-sm);font-weight:600}.hub__mode input:checked+.hub__mode-label{border-color:var(--color-teal-dark);background:var(--color-joint);color:#08181c}.hub__mode input:focus-visible+.hub__mode-label{outline:2px solid var(--color-joint);outline-offset:2px}.hub__mode input:disabled+.hub__mode-label{opacity:.4;cursor:not-allowed}.hub__input-plan{margin-top:.35rem}.hub__input-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.35rem}.hub__input-slot{min-width:0;margin:0;padding:.35rem .45rem .45rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 18%,transparent);border-radius:0}.hub__input-slot-label{padding:0 .2rem;color:var(--color-joint);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.hub__input-options{display:flex;flex-wrap:wrap;gap:.3rem}.hub__input-option{position:relative;display:inline-flex;cursor:pointer}.hub__input-option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.hub__input-option-label{display:inline-flex;padding:.28rem .55rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 24%,transparent);border-radius:0;color:var(--color-text);font-size:var(--text-chip);font-weight:600}.hub__input-option input:checked+.hub__input-option-label{border-color:var(--color-teal-dark);background:var(--color-joint);color:#08181c}.hub__input-option input:focus-visible+.hub__input-option-label{outline:2px solid var(--color-joint);outline-offset:2px}.hub__input-option input:disabled+.hub__input-option-label{opacity:.4;cursor:not-allowed}.hub__controller{margin-top:.5rem;padding:.45rem .55rem .55rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-joint) 40%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-joint) 5%,var(--color-bg))}.hub__controller[data-status=error]{border-color:color-mix(in srgb,var(--color-danger) 70%,transparent);background:color-mix(in srgb,var(--color-danger) 8%,var(--color-bg))}.hub__controller-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.5rem}.hub__controller-title{margin:0;font-family:var(--font-display);font-size:var(--text-body);font-weight:700}.hub__controller-hint{margin:.15rem 0 0;color:var(--color-muted);font-size:var(--text-chip);line-height:1.45}.hub__controller-room{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.hub__controller-room-label{color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.hub__controller-code{padding:.12rem .35rem;border:1px solid color-mix(in srgb,var(--color-bone) 30%,transparent);background:var(--color-bg);color:var(--color-nerve);font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:700;letter-spacing:.12em}.hub__controller-status{margin:.4rem 0 0;min-height:1.1em;color:var(--color-joint);font-size:var(--text-chip);font-weight:600}.hub__controller-error{margin:.35rem 0 0;padding:.35rem .45rem;border:1px solid color-mix(in srgb,var(--color-danger) 60%,transparent);color:var(--color-danger);font-size:var(--text-chip);line-height:1.45}.hub__controller-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.45rem;margin-top:.45rem}.hub__controller-slot{display:flex;flex-direction:column;align-items:stretch;gap:.25rem;min-width:0;padding:.4rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 18%,transparent);background:color-mix(in srgb,var(--color-bone) 4%,transparent)}.hub__controller-slot[data-status=ready]{border-color:color-mix(in srgb,var(--color-nerve) 60%,transparent)}.hub__controller-slot[data-status=error]{border-color:color-mix(in srgb,var(--color-danger) 60%,transparent)}.hub__controller-slot-head{display:flex;align-items:center;justify-content:space-between;gap:.3rem}.hub__controller-slot-name{margin:0;font-family:var(--font-display);font-size:var(--text-body);font-weight:700}.hub__controller-badge{padding:.06rem .3rem;border:1px solid color-mix(in srgb,var(--color-muted) 50%,transparent);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.05em;text-transform:uppercase}.hub__controller-slot[data-status=connected] .hub__controller-badge,.hub__controller-slot[data-status=ready] .hub__controller-badge{border-color:color-mix(in srgb,var(--color-nerve) 55%,transparent);color:var(--color-nerve)}.hub__controller-slot[data-status=error] .hub__controller-badge{border-color:color-mix(in srgb,var(--color-danger) 60%,transparent);color:var(--color-danger)}.hub__controller-qr{align-self:center;width:8rem;height:8rem;padding:.25rem;background:#fff;image-rendering:pixelated}.hub__controller-code-line{margin:0;color:var(--color-muted);font-size:var(--text-chip)}.hub__controller-link{color:var(--color-joint);font-size:var(--text-chip);font-weight:600}.hub__controller-url{display:block;overflow:hidden;color:var(--color-muted);font-size:var(--text-label);text-overflow:ellipsis;white-space:nowrap;user-select:all}.hub__controller-slot-message{margin:0;color:var(--color-muted);font-size:var(--text-chip);line-height:1.45}.hub__controller-fallback{margin-top:auto}.hub__start{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.6rem;padding-top:.55rem;border-top:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 16%,transparent)}.hub__start-button{flex:1 1 12rem;padding:.62rem 1rem;font-size:var(--text-body-lg);letter-spacing:.02em}.hub__reason{flex-basis:100%;margin:0;color:var(--color-muted);font-size:var(--text-sm)}.hub__confirm{margin-top:.55rem;padding:.55rem .65rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-danger) 60%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-danger) 10%,transparent)}.hub__confirm-text{margin:0 0 .4rem;font-size:var(--text-sm);line-height:1.5}.hub__confirm-actions{display:flex;flex-wrap:wrap;gap:.4rem}.hub__error{margin:.55rem 0 0;padding:.5rem .6rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-danger) 70%,transparent);border-radius:0;color:var(--color-danger);font-size:var(--text-sm);line-height:1.5}.hub__details{margin-top:.35rem;border-top:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 12%,transparent)}.hub__summary{padding:.3rem 0;color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.hub__summary:focus-visible{outline:2px solid var(--color-joint);outline-offset:2px}.hub__details-body{display:flex;flex-direction:column;gap:.4rem;padding-bottom:.45rem}.hub__details:not([open]) .hub__details-body{display:none}.hub__setting{display:flex;align-items:center;justify-content:space-between;gap:.7rem;font-size:var(--text-sm)}.hub__setting-label{color:var(--color-muted)}.hub__choices{display:flex;flex-wrap:wrap;gap:.25rem}.hub__controls{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .7rem;margin:0;font-size:var(--text-sm);line-height:1.45}.hub__controls dt{color:var(--color-muted);font-weight:700}.hub__controls dd{margin:0}.hub__footer{display:flex;justify-content:space-between;gap:.6rem;margin-top:.3rem;padding-top:.3rem;border-top:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 12%,transparent);color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase}.hub[data-phase=starting] .hub__panel{filter:saturate(.8)}.hub[data-phase=starting] .hub__panel:after{content:"CYCLE STARTING";position:absolute;inset:auto 1.15rem 1.4rem;padding:.4rem .5rem;border:var(--ui-border) solid var(--color-nerve);border-radius:0;background:var(--color-bg);color:var(--color-nerve);font-family:var(--font-display);font-size:var(--text-label);font-weight:400;letter-spacing:.12em;text-align:center;pointer-events:none}@media(max-width:1100px){.hub-card__icon{display:none}}@media(max-width:900px){.hub{justify-content:center;align-items:flex-end;padding:10px;background:color-mix(in srgb,var(--color-teal-dark) 62%,transparent)}.hub__panel{width:min(38rem,100%);max-height:calc(100vh - 20px)}.hub__packs,.hub__input-slots{grid-template-columns:1fr}.hub-card__body{min-height:0}}.hub-transition{position:fixed;inset:0;z-index:60;background:var(--color-teal-dark);opacity:0;pointer-events:none;transition:opacity .22s steps(4,end)}.hub-transition[data-visible=true]{opacity:1;pointer-events:auto}.hub-skip{position:fixed;right:clamp(14px,3vw,42px);bottom:clamp(14px,3vw,42px);z-index:55;padding:.5rem .8rem;border:var(--ui-border) solid color-mix(in srgb,var(--color-bone) 35%,transparent);border-radius:0;background:var(--color-bg);box-shadow:3px 3px 0 var(--color-teal-dark);color:var(--color-text);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer}.hub-skip:hover{background:color-mix(in srgb,var(--color-bone) 14%,transparent)}.hub-skip:active{box-shadow:none;transform:translate(2px,2px)}.hub-skip:focus-visible{outline:2px solid var(--color-joint);outline-offset:2px}[data-text-scale="1.5"] .map,[data-text-scale="2"] .map{display:flex;flex-direction:column;gap:.5rem;min-height:0;padding:.5rem}[data-text-scale="1.5"] .map__node,[data-text-scale="2"] .map__node{position:static;min-width:0;transform:none}[data-text-scale="2"] .hub__panel{width:min(42rem,94vw);max-height:calc(100vh - 20px)}
