:root{color:#ede5d5;font-synthesis:none;--ink:#ede5d5;--muted:#9f988b;--line:#ecdec226;--panel:#1f1c17db;--gold:#d4a84e;--gold-soft:#efd493;--red:#8c302b;--inner-power:#376987;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-caption:var(--text-xs);--text-label:var(--text-sm);--text-body-sm:var(--text-md);--text-body:var(--text-base);--text-emphasis:var(--text-lg);--text-title-sm:var(--text-xl);--text-title:var(--text-2xl);--text-display-sm:var(--text-3xl);--text-display:var(--text-4xl);background:#11100e;font-family:Inter,Noto Sans SC,PingFang SC,system-ui,sans-serif;font-size:16px}*{box-sizing:border-box}.fatal-screen{background:#100d0b;min-height:100vh;padding:4rem}.fatal-screen pre{border:1px solid var(--line);color:#e8b4a5;white-space:pre-wrap;background:#050403;max-width:100%;padding:1rem;overflow:auto}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 70% 0,#7c4e213d,#0000 38rem),linear-gradient(135deg,#171410,#0c0b09 65%);min-height:100vh}button,select{font:inherit}button{color:inherit}.panel{border:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 70px #00000042}.eyebrow{color:var(--gold);font-size:var(--text-label);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .45rem;font-weight:700}.button{cursor:pointer;border:1px solid #0000;border-radius:4px;min-height:42px;padding:.7rem 1.1rem;font-weight:700}.button.primary{color:#17110a;background:var(--gold)}.button.secondary{border-color:var(--gold);color:var(--gold-soft);background:0 0}.button.ghost{border-color:var(--line);background:#ffffff06}.button:hover{filter:brightness(1.12)}.button:disabled{opacity:.35;cursor:not-allowed;filter:none}.home-shell,.lab-shell,.game-shell{width:min(1440px,100%);min-height:100vh;margin:0 auto;padding:1.5rem clamp(1rem,4vw,4rem) 4rem}.home-shell,.lab-shell{padding-top:max(1.5rem, env(safe-area-inset-top));padding-right:max(clamp(1rem, 4vw, 4rem), env(safe-area-inset-right));padding-bottom:max(4rem, env(safe-area-inset-bottom));padding-left:max(clamp(1rem, 4vw, 4rem), env(safe-area-inset-left))}.home-nav,.lab-header,.game-topbar{align-items:center;gap:1rem;display:flex}.home-nav .button,.lab-header .button,.game-topbar .button{margin-left:auto}.brand-mark{object-fit:cover;width:44px;height:44px;image-rendering:pixelated;background:#120f0c;border:1px solid #efd49359;border-radius:10px;flex:none;display:block;box-shadow:0 0 0 1px #00000059}.brand{display:grid}.brand span{color:var(--muted);font-size:var(--text-label)}.home-nav-actions{align-items:center;gap:.55rem;margin-left:auto;display:flex}.bgm-toggle{border:1px solid var(--line);width:2.45rem;height:2.45rem;color:var(--muted);font-size:var(--text-body);cursor:pointer;background:#0c0a088c;border-radius:999px;place-items:center;padding:0;line-height:1;transition:border-color .12s,color .12s,background .12s,opacity .12s;display:grid}.bgm-toggle:hover{border-color:var(--gold);color:var(--ink)}.bgm-toggle.active{color:#17110a;background:var(--gold);border-color:#efd493b8;box-shadow:0 0 0 1px #16130f59,0 6px 18px #d4a84e47}.bgm-toggle:not(.active){opacity:.72}.bgm-toggle:not(.active) span{filter:grayscale();opacity:.78}.dev-tools{z-index:20;position:relative}.dev-tools summary{border:1px solid var(--line);color:var(--muted);font-size:var(--text-label);cursor:pointer;border-radius:4px;padding:.7rem .9rem;list-style:none}.dev-tools summary::-webkit-details-marker{display:none}.dev-tools[open] summary{border-color:var(--gold);color:var(--gold-soft)}.dev-tools-menu{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d8a84273 transparent;background:#110e0af7;grid-template-columns:1fr 1fr;gap:0 .15rem;width:min(460px,100vw - 1.5rem);max-height:min(70vh,100dvh - 5rem);padding:.55rem;display:grid;position:absolute;top:calc(100% + .65rem);right:0;overflow-y:auto;box-shadow:0 22px 70px #00000094}.dev-tools-menu::-webkit-scrollbar{width:6px}.dev-tools-menu::-webkit-scrollbar-thumb{background:#d8a84273;border-radius:999px}.dev-tools-menu::-webkit-scrollbar-track{background:0 0}.dev-tools-menu>span{color:var(--gold);font-size:var(--text-caption);letter-spacing:.12em;grid-column:1/-1;padding:.65rem .55rem .35rem;font-weight:800}.dev-tools-menu button,.dev-file-button{min-width:0;min-height:34px;color:var(--muted);font-size:var(--text-label);text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;padding:.45rem .55rem;overflow:hidden}.dev-tools-menu button:hover,.dev-file-button:hover{color:var(--ink);background:#ffffff0d}.dev-file-button input{display:none}.hero{grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);align-items:center;gap:clamp(2rem,7vw,7rem);min-height:58vh;padding:4rem 0 3rem;display:grid}.hero h1{letter-spacing:-.05em;max-width:9em;margin:0;font-family:Songti SC,serif;font-size:clamp(3rem,7vw,6.8rem);font-weight:500;line-height:.98}.hero-copy>p:not(.eyebrow){max-width:38rem;color:var(--muted);font-size:var(--text-body);line-height:1.8}.hero-actions{gap:.8rem;margin-top:2rem;display:flex}.character-montage{aspect-ratio:4/3;isolation:isolate;background:#0a0908;width:100%;position:relative;overflow:hidden;box-shadow:0 38px 90px #00000080}.character-montage:after{z-index:2;content:"";pointer-events:none;border:1px solid #efd49321;position:absolute;inset:0}.immersive-home{background:radial-gradient(at 18% 100%,#7a582f2e,#0000 43%),radial-gradient(at 76% 20%,#5c3c1d21,#0000 34%),linear-gradient(112deg,#12100d 0%,#0b0a08 58%,#100d09 100%);width:100%;max-width:none;height:100vh;min-height:660px;padding-bottom:0;position:relative;overflow:hidden}.immersive-home:before{z-index:0;content:"";filter:blur(10px);opacity:.72;pointer-events:none;background:linear-gradient(156deg,#0000 0 28%,#28221a80 28.2% 39%,#0000 39.2%),linear-gradient(204deg,#0000 0 35%,#1f1c17b8 35.2% 49%,#0000 49.2%),linear-gradient(167deg,#0000 0 48%,#171512e6 48.2% 67%,#0000 67.2%);height:52%;position:absolute;bottom:-6%;left:-8%;right:-8%}.immersive-home:after{z-index:1;content:"";filter:blur(28px);pointer-events:none;background:radial-gradient(at 18% 62%,#d8cfbe13 0 10%,#0000 35%),radial-gradient(at 52% 74%,#d8cfbe11 0 12%,#0000 38%),radial-gradient(at 84% 48%,#d8cfbe0e 0 9%,#0000 34%);animation:18s ease-in-out infinite alternate jianghu-mist;position:absolute;inset:17% -18% -22%;transform:translate(-2%)}.immersive-home>*{z-index:2;position:relative}.immersive-home .home-nav{z-index:12;width:min(1440px,100%);margin:0 auto}.immersive-hero{width:min(1440px,100%);min-height:calc(100vh - 78px);margin:0 auto;position:relative}.immersive-home .poster-montage{width:min(1080px,78vw);box-shadow:none;background:0 0;position:absolute;top:50%;left:clamp(-5rem,-3vw,-1rem);overflow:visible;transform:translateY(-50%);-webkit-mask-image:linear-gradient(#0000 0,#000 7% 91%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 7% 91%,#0000 100%)}.immersive-home .poster-montage:before,.immersive-home .poster-montage:after{display:none}.poster-figure{opacity:.94;height:auto;image-rendering:pixelated;filter:saturate(.76)brightness(.94)contrast(1.02)drop-shadow(0 18px 22px #0000005c);display:block;position:absolute}.poster-figure.figure-0{width:48.5938%;top:0;left:50.7813%}.poster-figure.figure-1{width:45.1563%;top:17.7083%;left:9.84375%}.poster-figure.figure-2{width:44.5313%;top:34.1667%;left:43.2813%}.poster-figure.figure-3{width:54.5313%;top:0;left:0}.poster-figure.figure-4{width:57.5%;top:34.5833%;left:12.8125%}.poster-figure.figure-5{width:44.8438%;top:1.66667%;left:37.5%}.poster-figure.figure-0,.poster-figure.figure-3,.poster-figure.figure-5{z-index:1}.poster-figure.figure-1,.poster-figure.figure-2{z-index:2}.poster-figure.figure-4{z-index:3}.immersive-actions{z-index:9;flex-direction:column;align-items:stretch;gap:.8rem;width:220px;padding:1.2rem 0;display:flex;position:absolute;top:50%;right:clamp(0rem,4vw,4rem);transform:translateY(-50%)}.immersive-actions:before{content:"";background:linear-gradient(90deg,#0000,#d4a84e75);width:min(330px,100%);height:1px;position:absolute;top:0;right:0}.immersive-actions .button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;min-height:48px}.shell-load-error{color:#e8a895;font-size:var(--text-caption);line-height:1.5}.save-slot-backdrop{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#040302db;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.save-slot-picker{flex-direction:column;width:min(980px,100%);max-height:min(88vh,840px);padding:0;display:flex;position:relative;overflow:hidden}.save-slot-picker>header{border-bottom:1px solid var(--line);background:#181511f5;flex:none;padding:1.35rem 4.5rem 1.1rem 1.5rem;position:relative}.save-slot-picker>header .inspector-close{top:50%;right:1.4rem;transform:translateY(-50%)}.save-slot-picker h2{margin:0;font:500 clamp(1.8rem,4vw,2.45rem)/1.08 Songti SC,serif}.save-slot-picker header p:not(.eyebrow){color:var(--muted);font-size:var(--text-label);margin:.4rem 0 0}.save-slot-body{scrollbar-width:thin;min-height:0;padding:0 1.5rem 1.5rem;overflow:auto}.save-slot-section{padding-top:1.1rem}.save-slot-section+.save-slot-section{border-top:1px solid var(--line);margin-top:1.1rem;padding-top:1.1rem}.save-slot-section-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.save-slot-section-heading>div{gap:.15rem;display:grid}.save-slot-section-heading h3{font:var(--text-emphasis) "Songti SC", serif;margin:0}.save-slot-section-heading p{color:var(--muted);font-size:var(--text-caption);margin:0}.save-slot-section-heading span{color:var(--muted);font-size:var(--text-caption)}.save-slot-grid{gap:.55rem;padding-top:.65rem;display:grid}.automatic-save-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.independent-save-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.save-slot-card{border:1px solid var(--line);background:#08070547;min-width:0}.save-slot-card button{font:inherit}.save-slot-card.automatic{background:linear-gradient(145deg,#42879012,#0807054d);border-color:#5ca7ae47}.save-slot-card.automatic.empty{opacity:.48;background:0 0;border-color:#5ca7ae1c}.save-slot-card.independent.empty{background:0 0;border-color:#ecdec212}.save-slot-card.automatic:first-child.occupied{border-color:#75c7cd9e;box-shadow:inset 0 0 0 1px #75c7cd1a}.automatic-save-hit{width:100%;min-height:138px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr) auto;gap:.25rem .7rem;padding:.85rem .9rem;display:grid;position:relative}.automatic-save-hit:disabled{cursor:default;opacity:.52}.automatic-save-hit:not(:disabled):hover,.automatic-save-hit:not(:disabled):focus-visible,.independent-save-hit:is(button):hover,.independent-save-hit:is(button):focus-visible{outline-offset:-1px;background:#d4a84e0e;outline:1px solid #efd4936b}.automatic-save-rank{color:#9ed7dc;font-size:var(--text-caption);letter-spacing:.08em;background:#529ba324;border-radius:999px;justify-self:start;padding:.16rem .42rem;font-weight:800}.save-slot-technical-label{color:var(--muted);font-size:var(--text-caption);align-self:center}.automatic-save-hit>strong{color:var(--gold-soft);font:var(--text-title-sm) "Songti SC", serif;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;align-self:end;overflow:hidden}.save-slot-location{color:var(--ink);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.save-slot-time{color:var(--muted);font-size:var(--text-caption);white-space:nowrap;align-self:end}.save-slot-action{color:var(--gold);font-size:var(--text-caption);white-space:nowrap;place-self:end;font-weight:750}.save-slot-empty-note{color:var(--muted);font-size:var(--text-caption);grid-column:1/-1;place-self:center}.independent-save-hit{width:100%;min-height:76px;color:var(--ink);text-align:left;background:0 0;border:0;grid-template-rows:1fr auto;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.1rem .7rem;padding:.7rem .8rem;display:grid}.independent-save-hit:is(button){cursor:pointer}.independent-save-hit.empty{min-height:62px;color:var(--muted);opacity:.42;background:0 0}.independent-save-hit.empty:is(button){transition:opacity .14s,background .14s}.independent-save-hit.empty:is(button):hover,.independent-save-hit.empty:is(button):focus-visible{opacity:.82;background:#ffffff05}.independent-save-number{color:var(--gold);font:var(--text-body) ui-monospace, monospace;grid-row:1/3}.independent-save-main{gap:.15rem;min-width:0;display:grid}.independent-save-main strong{color:var(--gold-soft);font:var(--text-body) "Songti SC", serif;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.independent-save-main small{color:var(--muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.independent-save-hit>.save-slot-time{grid-column:2}.independent-save-hit>.save-slot-action{grid-area:1/3/3;align-self:center}.independent-save-hit.empty .independent-save-number{color:var(--muted);font-size:var(--text-body-sm)}.independent-save-hit.empty .independent-save-main strong{color:var(--muted);font:var(--text-caption) system-ui, sans-serif;font-weight:500}.independent-save-hit.empty .save-slot-action{color:var(--muted);font-weight:500}.overwrite-confirmation.compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:76px;padding:.55rem .7rem;display:grid}.overwrite-confirmation.compact>p{color:#e8b4a5;font-size:var(--text-caption);margin:0;line-height:1.5}.overwrite-confirmation.compact>div{gap:.35rem;display:flex}.overwrite-confirmation.compact .button{min-height:34px;font-size:var(--text-caption);padding:.4rem .55rem}@media (width<=720px){.save-slot-picker{max-height:calc(100vh - 1rem)}.save-slot-picker>header{padding:1rem 3.6rem .9rem 1rem}.save-slot-picker>header .inspector-close{right:.8rem}.save-slot-body{padding:0 1rem 1rem}.automatic-save-grid,.independent-save-grid{grid-template-columns:1fr}.automatic-save-hit{min-height:116px}.overwrite-confirmation.compact{grid-template-columns:1fr}.overwrite-confirmation.compact>div{justify-content:flex-end}}@keyframes jianghu-mist{0%{transform:translate(-2%)scale(1)}to{transform:translate(3%,-2%)scale(1.04)}}@media (prefers-reduced-motion:reduce){.immersive-home:after{animation:none}}.map-showcase{border-radius:3px;min-height:430px;position:relative;overflow:hidden}.map-showcase img{object-fit:cover;width:100%;height:430px;image-rendering:pixelated;filter:saturate(.88)contrast(1.04)}.map-showcase:after{content:"";background:linear-gradient(#0000 54%,#080705ed);position:absolute;inset:0}.map-showcase>div{z-index:1;display:grid;position:absolute;bottom:1.4rem;left:1.5rem;right:1.5rem}.map-showcase span,.map-showcase small{color:var(--muted)}.map-showcase strong{font-family:serif;font-size:var(--text-display-sm);font-weight:500}.setup{gap:2rem;margin-top:1.25rem;padding:clamp(1.2rem,3vw,2.4rem);display:grid}.setup-heading h2{font-family:serif;font-size:var(--text-display-sm);margin:0;font-weight:500}.setup-shell{padding-bottom:5rem}.setup-field>span{color:var(--muted);font-size:var(--text-body-sm);margin-bottom:.8rem;display:block}.choice-grid{gap:.65rem;display:grid}.choice-grid.maps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.choice-grid.characters{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}.choice-grid button{border:1px solid var(--line);cursor:pointer;text-align:left;background:#15130f;border-radius:3px;padding:0;overflow:hidden}.choice-grid button.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.choice-grid.maps img{object-fit:cover;width:100%;height:clamp(140px,16vw,220px);image-rendering:pixelated;display:block}.choice-grid button span,.choice-grid button small{padding:.55rem .65rem;display:block}.choice-grid button small{color:var(--muted);padding-top:0}.choice-grid.characters button{aspect-ratio:169/122;min-height:0;box-shadow:none;background:#0f0c09;border-width:2px;display:block}.choice-grid.characters button.mode-0{border-color:var(--gold);box-shadow:0 0 0 1px #efd493f2,0 0 0 3px #16130feb,0 0 18px #d4a84e6b}.choice-grid.characters button.character-choice{position:relative}.choice-grid.characters .character-portrait{object-fit:cover;object-position:center top;width:100%;height:100%;image-rendering:pixelated;display:block}.choice-grid.characters button.mode-3 .character-portrait{opacity:.28;filter:grayscale()}.choice-grid.characters button.mode-3{background:#090806;border-color:#ecdec214}.choice-grid.characters .character-control-mode{width:2rem;height:2rem;color:var(--ink);font-size:var(--text-caption);letter-spacing:0;text-align:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#080705e6;border:1.5px solid #ecdec259;border-radius:50%;place-items:center;padding:0;font-weight:800;line-height:1;display:grid;position:absolute;bottom:.32rem;left:.32rem;right:auto;box-shadow:0 2px 8px #00000073}.choice-grid.characters button.mode-0 .character-control-mode{color:#17110a;background:var(--gold);border-color:#efd493f2;box-shadow:0 0 0 1px #16130f8c,0 2px 10px #d4a84e73}.setup-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:1.5rem;padding-top:1.2rem;display:flex}.setup-actions>div{margin-right:auto;display:grid}.setup-actions span{color:var(--muted);font-size:var(--text-caption)}.setup-actions strong{color:var(--gold-soft);font:var(--text-emphasis) "Songti SC", serif}.setup-actions .button{min-width:150px}.game-shell{width:100%;max-width:none;height:100dvh;min-height:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);--hud-bottom-clearance:124px}.pwa-install{z-index:45;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0a08d1;position:fixed}.pwa-notice{z-index:80;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));width:fit-content;max-width:min(42rem,100vw - 2rem);min-height:48px;color:var(--gold-soft);background:#120f0cf5;border:1px solid #d4a84e8c;border-radius:6px;align-items:center;gap:.8rem;margin-left:auto;padding:.65rem .75rem .65rem 1rem;display:flex;position:fixed;box-shadow:0 12px 36px #0006}.pwa-notice.error{top:max(1rem, env(safe-area-inset-top));color:#ffd7d1;border-color:#e1786ebf;bottom:auto}.pwa-notice .button{white-space:nowrap;min-height:34px;padding:.45rem .75rem}.pwa-notice-close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:1.35rem}.pwa-install-backdrop{z-index:90;padding:max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));background:#040302c7;place-items:center;display:grid;position:fixed;inset:0}.pwa-install-dialog{width:min(30rem,100%);padding:1.5rem;position:relative}.pwa-install-dialog h2{margin:0 2rem 1rem 0;font-family:Songti SC,serif}.pwa-install-dialog p:last-child{color:var(--muted);margin-bottom:0}.game-layout{width:100%;height:100%;position:relative}.board-frame{border-width:0;min-height:0;position:absolute;inset:0;overflow:hidden}.board-canvas{width:100%;height:100%}.board-canvas canvas{cursor:grab;width:100%;height:100%;image-rendering:pixelated;touch-action:none;-webkit-user-select:none;user-select:none;display:block}.board-caption{z-index:4;right:1rem;bottom:calc(var(--hud-bottom-clearance) + .75rem);border:1px solid var(--line);max-width:min(390px,100% - 2rem);color:var(--gold-soft);font-size:var(--text-label);pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090806e6;border-radius:3px;gap:.15rem;padding:.55rem .8rem;display:grid;position:absolute}.board-caption.detail{border-color:#d4a84e8c;gap:.35rem;width:300px;padding:.75rem .85rem}.board-caption.detail>strong{margin-bottom:.35rem;display:block}.board-caption-meta{color:var(--gold);font-size:var(--text-caption);letter-spacing:.08em;justify-content:space-between;gap:1rem;margin-bottom:.2rem;display:flex}.board-caption-meta small{color:var(--muted);font-size:inherit;letter-spacing:0}.board-caption.detail>strong{color:var(--gold-soft);font:var(--text-body) "Songti SC", serif}.board-caption.detail>p{color:#b8ad96;font-size:var(--text-caption);margin:0;line-height:1.5}.board-caption.detail dl{border-top:1px solid #ffffff14;flex-wrap:wrap;gap:.25rem .65rem;margin:.1rem 0 0;padding-top:.4rem;display:flex}.board-caption.detail dl div{font-size:var(--text-caption);gap:.25rem;display:flex}.board-caption.detail dt{color:var(--muted)}.board-caption.detail dd{color:var(--ink);margin:0}.hud-top-strip{z-index:3;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex;position:absolute;inset:.9rem .9rem auto}.hud-top-strip>*{pointer-events:auto}.hud-character-card{max-width:min(22rem,100vw - 7.5rem);color:inherit;text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0c08db;border:1px solid #d4a84e6b;border-radius:4px;grid-template-columns:auto minmax(9.5rem,auto);align-items:start;gap:.3rem .7rem;padding:.35rem;transition:border-color .14s,box-shadow .14s,background .14s;display:grid;box-shadow:0 16px 44px #00000085}.hud-character-card:hover{background:#16120ceb;border-color:#d4a84eb8;box-shadow:0 16px 44px #00000094,0 0 0 1px #d4a84e2e}.hud-character-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.portrait{background:#17130e;border:1px solid #d4a84e57;line-height:0;overflow:hidden}.hud-character-card .portrait{align-self:start;width:fit-content}.character-portrait{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;display:block}.character-portrait.info{object-fit:unset;width:104px;height:128px}.hud-character-card .character-portrait.info{width:78px;height:96px}.hud-character-stats{align-content:center;gap:.08rem;min-width:0;display:grid}.stat{font-size:var(--text-body-sm);grid-template-columns:2.15em minmax(0,1fr) auto;align-items:center;gap:.35rem .4rem;margin:.08rem 0;display:grid}.stat span{color:var(--muted);white-space:nowrap}.stat progress{width:100%;min-width:0;height:.55rem;accent-color:var(--red)}.stat.inner-power-stat progress{accent-color:var(--inner-power)}.stat strong{color:var(--gold-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.money-stat{border-top:1px solid var(--line);margin-top:.2rem;padding-top:.22rem}.money-stat strong{font-size:var(--text-body);text-align:right;grid-column:2/4}.player-legal-status{color:#f1cf85;font-size:var(--text-caption);background:#9f2f2733;border:1px solid #9f2f27b8;border-radius:3px;grid-column:1/-1;margin:0;padding:.4rem .55rem;line-height:1.4}.player-legal-status.jailed:before{content:"囚 ";color:#e56b5e;font-weight:900}.hud-system-bar{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0c08d1;border-radius:4px;align-items:center;gap:.6rem;padding:.4rem .55rem;display:flex}.hud-date{align-items:baseline;gap:.4rem;display:flex}.hud-date span{color:var(--muted);font-size:var(--text-caption)}.hud-date strong{color:var(--gold-soft);font:var(--text-body) "Songti SC", serif}.my-warrant-status{border-left:2px solid #c44b3f;gap:.06rem;padding-left:.5rem;line-height:1.25;display:grid}.my-warrant-status b{color:#ee8a7f;font-size:var(--text-caption);letter-spacing:.04em}.my-warrant-status small{color:#aa9b83;font-size:var(--text-caption);white-space:nowrap}.hud-exit{border:1px solid var(--line);color:var(--muted);font-size:var(--text-label);cursor:pointer;background:0 0;border-radius:3px;padding:.4rem .6rem}.hud-exit:hover:not(:disabled){border-color:var(--gold);color:var(--ink)}.hud-exit:disabled{opacity:.35;cursor:not-allowed}.action-dock{z-index:3;padding:0 clamp(.7rem,2.5vw,1.4rem);padding-bottom:max(.7rem, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.action-dock:before{z-index:-1;content:"";background:linear-gradient(#0000,#080604a8);height:calc(100% + 4rem);position:absolute;bottom:0;left:0;right:0}.action-island{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#0f0c08cc;border:1px solid #d4a84e42;border-radius:6px;align-items:center;gap:.7rem;min-width:0;padding:.4rem .5rem;display:flex;box-shadow:0 14px 40px #00000080}.action-bar-entries{grid-auto-flow:column;gap:.4rem;display:grid}.action-bar-entry{border:1px solid var(--line);min-width:60px;color:var(--ink);cursor:pointer;background:#ffffff08;border-radius:4px;gap:.1rem;padding:.3rem .55rem;display:grid}.action-bar-entry:hover{border-color:var(--gold);background:#d4a84e17}.action-bar-entry strong{font:var(--text-body) "Songti SC", serif}.action-bar-entry small{color:var(--muted);font:var(--text-caption) ui-monospace, monospace}.action-bar-items{scrollbar-width:thin;gap:.4rem;min-width:0;display:flex;position:relative;overflow-x:auto}.action-bar-items-empty{color:var(--muted);font-size:var(--text-caption);white-space:nowrap;margin:0}.action-bar-item{cursor:pointer;background:#20251be6;border:1px solid #d4a84e8c;border-radius:4px;flex:none;gap:.1rem;width:62px;padding:.25rem .2rem .22rem;display:grid;position:relative}.action-bar-item:hover:not(.blocked),.action-bar-item:focus-visible:not(.blocked){border-color:var(--gold-soft);background:#292d20f2}.action-bar-item.blocked{border-color:var(--line);cursor:help}.action-bar-item.blocked .action-bar-item-icon,.action-bar-item.blocked .action-bar-item-name{opacity:.42}.action-bar-item.blocked:hover,.action-bar-item.blocked:focus-visible{border-color:#d4a84e73}.action-bar-item-icon{height:28px;image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}.action-bar-item-name{color:var(--gold-soft);font-size:var(--text-caption);text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.action-bar-item-tip-reason{color:#ee8a7f;font-size:var(--text-caption);margin:.15rem 0 0;line-height:1.45}.action-bar-reason{border:1px solid var(--gold);color:var(--ink);font-size:var(--text-caption);white-space:nowrap;background:#0c0a07fa;border-radius:3px;margin:0;padding:.4rem .6rem;position:absolute;bottom:calc(100% + .5rem);left:0;box-shadow:0 12px 30px #00000080}.action-bar-movement{justify-content:flex-end}.action-bar-status{text-align:right;justify-items:end;gap:.12rem;min-width:120px;display:grid}.action-bar-status strong{color:var(--gold-soft);font:var(--text-body-sm) ui-monospace, monospace}.action-bar-status small{color:var(--muted);font:var(--text-caption) ui-monospace, monospace}.character-panel-backdrop{z-index:14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040302cc;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.character-panel{width:min(980px,100%);max-height:calc(100vh - 2rem);padding:clamp(1.2rem,3vw,2rem);position:relative;overflow:auto}.character-panel>header{border-bottom:1px solid var(--line);align-items:end;gap:1.5rem;padding-right:2rem;display:flex}.character-panel h2{font:var(--text-display) "Songti SC", serif;margin:0}.character-faction{color:var(--muted);font-size:var(--text-label);margin:.2rem 0 1rem}.character-rank{text-align:right;grid-template-columns:auto minmax(190px,240px);align-items:end;gap:1.25rem;margin:0 0 1rem auto;display:grid}.character-rank>div:first-child{display:grid}.character-rank span,.character-rank small{color:var(--muted);font-size:var(--text-caption)}.character-rank strong{color:var(--gold-soft);font:var(--text-title) ui-monospace, monospace}.character-experience{text-align:left;gap:.45rem;display:grid}.character-experience span{justify-content:space-between;gap:1rem;display:flex}.character-experience progress,.character-resource progress{appearance:none;background:#ffffff12;border:0;border-radius:0;width:100%;height:7px;overflow:hidden}.character-experience progress::-webkit-progress-bar{background:#ffffff12}.character-resource progress::-webkit-progress-bar{background:#ffffff12}.character-experience progress::-webkit-progress-value{background:var(--gold)}.character-experience progress::-moz-progress-bar{background:var(--gold)}.character-summary{grid-template-columns:1fr .8fr 1.25fr;gap:.7rem;margin:1rem 0;display:grid}.character-stat-group{border:1px solid var(--line);background:#0807054d;min-width:0}.character-summary dl{background:var(--line);gap:1px;height:100%;margin:0;display:grid}.trait-group dl{grid-template-columns:repeat(3,1fr)}.martial-group dl{grid-template-columns:repeat(2,1fr)}.character-summary dl div{background:#15120e;align-content:center;gap:.3rem;min-width:0;padding:.65rem .75rem;display:grid}.character-summary dt{color:var(--muted);font-size:var(--text-caption)}.character-summary dd{color:var(--ink);font:var(--text-body) ui-monospace, monospace;margin:0;display:grid}.character-summary dd small{min-height:1em;color:var(--gold);font:var(--text-caption) system-ui, sans-serif;white-space:nowrap}.attribute-with-tip{cursor:help;outline:none;transition:background .14s,box-shadow .14s;position:relative}.attribute-with-tip:before{z-index:7;content:"";opacity:0;pointer-events:none;border-bottom:6px solid #d4a84e;border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;transition:opacity .12s,transform .12s;position:absolute;bottom:-.55rem;left:50%;transform:translate(-50%,4px)}.attribute-with-tip:after{z-index:6;border:1px solid var(--gold);width:min(250px,76vw);color:var(--ink);content:attr(data-tip);font:var(--text-caption)/1.65 system-ui, sans-serif;text-align:left;opacity:0;pointer-events:none;background:#0c0a07fa;padding:.65rem .75rem;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + .55rem);left:50%;transform:translate(-50%,4px);box-shadow:0 14px 36px #00000085}.attribute-with-tip:hover,.attribute-with-tip:focus{z-index:5;background:#d4a84e12;box-shadow:inset 0 0 0 1px #d4a84e61}.attribute-with-tip:hover:before,.attribute-with-tip:hover:after,.attribute-with-tip:focus:before,.attribute-with-tip:focus:after{opacity:1;transform:translate(-50%)}.character-resource-grid{height:100%;display:grid}.character-resource{grid-template-columns:1fr auto;align-content:center;gap:.45rem .7rem;padding:.65rem .75rem;display:grid}.character-resource+.character-resource{border-top:1px solid var(--line)}.character-resource>span{color:var(--muted);font-size:var(--text-caption)}.character-resource strong{font:var(--text-body) ui-monospace, monospace}.character-resource strong small{color:var(--muted);font-size:var(--text-caption)}.character-resource progress{grid-column:1/-1}.character-resource progress::-webkit-progress-value{background:#9c3932}.character-resource progress::-moz-progress-bar{background:#9c3932}.character-resource.inner-power progress::-webkit-progress-value{background:var(--inner-power)}.character-resource.inner-power progress::-moz-progress-bar{background:var(--inner-power)}.character-panel-portrait{flex:none;margin-bottom:1rem}.character-tabs{gap:.4rem;margin:1rem 0 .8rem;display:flex}.character-tabs>button{border:1px solid var(--line);color:var(--muted);font:var(--text-body) "Songti SC", serif;cursor:pointer;background:0 0;border-radius:3px;align-items:baseline;gap:.45rem;padding:.5rem 1rem;display:flex}.character-tabs>button small{font:var(--text-caption) ui-monospace, monospace}.character-tabs>button:hover{color:var(--ink);border-color:#d4a84e9e}.character-tabs>button[aria-selected=true]{border-color:var(--gold);color:var(--gold-soft);background:#d4a84e1a}.character-columns{align-items:start;display:grid}.character-columns>section{border:1px solid var(--line);min-width:0;padding:1rem}.panel-section-heading{justify-content:space-between;align-items:baseline;margin:.4rem 0 .7rem;display:flex}.panel-section-heading h3{font:var(--text-emphasis) "Songti SC", serif;margin:0}.panel-section-heading span{color:var(--muted);font-size:var(--text-caption)}.equipment-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-bottom:1.4rem;display:grid}.skill-list{gap:.35rem;margin-bottom:1.4rem;display:grid}.equipment-list button,.inventory-list button,.skill-list button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:.35rem .55rem}.equipment-list button:disabled,.inventory-list button:disabled,.skill-list button:disabled{opacity:.3;cursor:not-allowed}.inventory-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin-bottom:1.4rem;display:grid}.inventory-list>p{grid-column:1/-1}.inventory-item{border:1px solid var(--line);cursor:help;background:#20251b;outline:none;place-items:center;min-width:0;height:88px;transition:border-color .13s,background .13s;display:grid;position:relative}.inventory-item-icon{image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:contain;position:absolute;inset:.25rem}.inventory-slot-number{color:var(--gold-soft);font:var(--text-caption) ui-monospace, monospace;background:#080705c7;padding:.08rem .2rem;position:absolute;top:.2rem;left:.25rem}.inventory-item-tooltip{z-index:9;border:1px solid var(--gold);opacity:0;pointer-events:none;background:#0c0a07fa;gap:.25rem;width:250px;padding:.65rem .75rem;transition:opacity .12s,transform .12s;display:grid;position:absolute;bottom:calc(100% + .55rem);left:50%;transform:translate(-50%,4px);box-shadow:0 14px 36px #00000085}.inventory-item-tooltip:after{border-top:6px solid var(--gold);content:"";border-left:6px solid #0000;border-right:6px solid #0000;width:0;height:0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.inventory-item-tooltip strong{color:var(--gold-soft);font-size:var(--text-label)}.inventory-item-tooltip p{color:var(--muted);font-size:var(--text-caption);margin:0;line-height:1.55}.item-description{gap:.35rem;min-width:0;display:grid}.item-description-flavor,.item-description-effect{color:var(--muted);font-size:var(--text-caption);margin:0;line-height:1.55}.item-description-effect{color:#d8c48a}.item-description-effect-label{color:var(--gold-soft);letter-spacing:.06em;vertical-align:baseline;border:1px solid #d4a84e73;margin-right:.35em;padding:.05em .35em;font-size:.92em;display:inline-block}.shop-family-item-tip .item-description-flavor,.shop-family-item-tip .item-description-effect{font:.95cqw/1.55 system-ui,sans-serif}.shop-family-item-tip .item-description-effect{color:#d8c48a}.shop-family-item-tip .item-description-effect-label{font-size:.85cqw}.shop-purchase-copy .item-description{margin:0 0 .55rem}.shop-purchase-copy .item-description-flavor,.shop-purchase-copy .item-description-effect{font-size:1.05cqw}.action-bar-item-tip.inventory-item-tooltip{z-index:12;opacity:1;pointer-events:none;position:fixed;bottom:auto;left:auto}.action-bar-item-tip.inventory-item-tooltip:after{left:var(--tip-arrow-left,50%)}.inventory-item:nth-child(5n+1) .inventory-item-tooltip{left:0;transform:translateY(4px)}.inventory-item:nth-child(5n+1) .inventory-item-tooltip:after{left:2.2rem}.inventory-item:nth-child(5n) .inventory-item-tooltip{left:auto;right:0;transform:translateY(4px)}.inventory-item:nth-child(5n) .inventory-item-tooltip:after{left:auto;right:2.2rem;transform:none}.inventory-item-actions{opacity:0;transition:opacity .12s,transform .12s;display:flex;position:absolute;bottom:.22rem;left:.22rem;right:.22rem;transform:translateY(3px)}.inventory-item-actions:empty{display:none}.inventory-item-actions button{border-color:var(--gold);min-width:0;color:var(--gold-soft);font-size:var(--text-caption);background:#0c0a07eb;flex:1;padding:.28rem .15rem}.inventory-item:hover,.inventory-item:focus,.inventory-item:focus-within{z-index:8;border-color:var(--gold);background:#292d20}.inventory-item:hover .inventory-item-tooltip,.inventory-item:focus .inventory-item-tooltip,.inventory-item:focus-within .inventory-item-tooltip{opacity:1;transform:translate(-50%)}.inventory-item:nth-child(5n+1):hover .inventory-item-tooltip,.inventory-item:nth-child(5n+1):focus .inventory-item-tooltip,.inventory-item:nth-child(5n+1):focus-within .inventory-item-tooltip,.inventory-item:nth-child(5n):hover .inventory-item-tooltip,.inventory-item:nth-child(5n):focus .inventory-item-tooltip,.inventory-item:nth-child(5n):focus-within .inventory-item-tooltip{transform:translate(0)}.inventory-item:hover .inventory-item-actions,.inventory-item:focus .inventory-item-actions,.inventory-item:focus-within .inventory-item-actions{opacity:1;transform:translateY(0)}.equipment-item{height:116px}.equipment-item .inventory-item-icon{inset:.85rem .3rem 1.35rem}.equipment-slot-label{z-index:2;color:var(--gold-soft);font-size:var(--text-caption);background:#080705d1;padding:.08rem .28rem;position:absolute;top:.25rem;left:.3rem}.equipment-item-name{z-index:2;color:var(--ink);font-size:var(--text-caption);text-align:center;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#0000,#080705e6 52%);padding:.62rem .35rem .24rem;font-weight:600;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.equipment-item:hover .equipment-item-name,.equipment-item:focus-within .equipment-item-name{opacity:0}.equipment-empty-mark{color:var(--muted);place-items:center;gap:.2rem;display:grid}.equipment-empty-mark span{color:#c8b78f80;width:2rem;height:2rem;font:var(--text-body-sm) "Songti SC", serif;border:1px dashed #c8b78f57;border-radius:50%;place-items:center;display:grid}.equipment-empty-mark small{font-size:var(--text-caption)}.equipment-item:nth-child(3n+1) .inventory-item-tooltip{left:0;transform:translateY(4px)}.equipment-item:nth-child(3n+1) .inventory-item-tooltip:after{left:2.2rem}.equipment-item:nth-child(3n) .inventory-item-tooltip{left:auto;right:0;transform:translateY(4px)}.equipment-item:nth-child(3n) .inventory-item-tooltip:after{left:auto;right:2.2rem;transform:none}.equipment-item:nth-child(3n+1):hover .inventory-item-tooltip,.equipment-item:nth-child(3n+1):focus .inventory-item-tooltip,.equipment-item:nth-child(3n+1):focus-within .inventory-item-tooltip,.equipment-item:nth-child(3n):hover .inventory-item-tooltip,.equipment-item:nth-child(3n):focus .inventory-item-tooltip,.equipment-item:nth-child(3n):focus-within .inventory-item-tooltip{transform:translate(0)}.skill-item-copy{gap:.25rem;min-width:0;display:grid}.skill-list strong{font-size:var(--text-label);font-weight:600}.skill-list small{color:var(--muted);font-size:var(--text-caption);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.inventory-list>p,.skill-list>p{color:var(--muted);font-size:var(--text-label);line-height:1.6}.skill-item{border-bottom:1px solid var(--line);cursor:help;outline:none;grid-template-columns:1fr auto;align-items:center;gap:.6rem;padding:.6rem;transition:border-color .13s,background .13s;display:grid;position:relative}.skill-item:hover,.skill-item:focus,.skill-item:focus-within{z-index:8;border-color:var(--gold);background:#d4a84e12}.skill-item:hover .skill-item-tooltip,.skill-item:focus .skill-item-tooltip,.skill-item:focus-within .skill-item-tooltip{opacity:1;transform:translate(-50%)}.skill-item-tooltip.inventory-item-tooltip{width:min(280px,70vw)}.skill-description{gap:.4rem;min-width:0;display:grid}.skill-description-flavor,.skill-description-stats,.skill-description-effect{color:var(--muted);font-size:var(--text-caption);margin:0;line-height:1.55}.skill-description-stats{white-space:pre-line;color:#d8c48a;font-variant-numeric:tabular-nums}.skill-description-effect{color:#d8c48a}.skill-list button.active{color:#17110a;background:var(--gold)}.character-panel-note{color:var(--muted);font-size:var(--text-caption);text-align:center;margin:1rem 0 0}@media (width<=760px){.character-panel>header{flex-direction:column;align-items:start}.character-rank{width:100%;margin:-.25rem 0 1rem}.character-summary,.character-columns{grid-template-columns:1fr}}@media (hover:none){.inventory-item-actions{opacity:1;transform:none}}.inspector-close{border:1px solid var(--line);width:32px;height:32px;color:var(--muted);font-size:var(--text-body);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;line-height:1;display:grid;position:absolute;top:.75rem;right:.75rem}.inspector-close:hover{border-color:var(--gold);color:var(--ink)}.hint{color:var(--muted);font-size:var(--text-label);margin-top:1.5rem;line-height:1.65}.ai-thinking{color:var(--muted);font-size:var(--text-label);align-items:center;gap:.55rem;display:flex}.ai-thinking span{background:var(--gold);border-radius:50%;width:8px;height:8px;animation:1.25s infinite ai-pulse;box-shadow:0 0 #d4a84e8c}@keyframes ai-pulse{70%{box-shadow:0 0 0 8px #d4a84e00}to{box-shadow:0 0 #d4a84e00}}.single-game-settings-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040302d1;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.single-game-settings{width:min(420px,100%);max-height:calc(100vh - 2rem);padding:1.25rem 1.4rem 1.1rem;position:relative;overflow:auto}.single-game-settings>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:0 0 .85rem;display:flex}.single-game-settings>header .inspector-close{flex:none;width:1.75rem;height:1.75rem;position:static;transform:translateY(-.12em)}.single-game-settings h2{margin:0;font:500 1.75rem/1 Songti SC,serif}.single-game-settings h3{color:var(--ink);font:var(--text-body) "Songti SC", serif;margin:0;font-weight:600}.single-game-setting-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 0;display:grid}.settings-playback{gap:0;display:flex}.settings-progress-actions{gap:.45rem;display:flex}.settings-playback button,.settings-toggle{border:1px solid var(--line);min-width:2.6rem;min-height:36px;color:var(--muted);font-size:var(--text-label);cursor:pointer;background:0 0;padding:.45rem .7rem}.settings-playback button+button{border-left:0}.settings-progress-actions .button{min-height:36px;padding:.45rem .85rem}.settings-playback button:hover,.settings-toggle:hover{border-color:var(--gold);color:var(--ink)}.settings-playback button.active,.settings-toggle.active{border-color:var(--gold);color:#17110a;background:var(--gold)}.single-game-settings>footer{justify-content:flex-end;padding:.95rem 0 0;display:flex}.settings-storage-health{justify-items:end;gap:.15rem;display:grid}.settings-storage-health strong{color:var(--gold-soft);font-size:var(--text-body-sm)}.settings-storage-health small{color:var(--muted);font-size:var(--text-caption)}.leave-game-button{color:#e8b4a5;min-width:7.5rem;border-color:#b0483d8c!important}@media (width<=560px){.single-game-setting-row{grid-template-columns:1fr;gap:.55rem}.settings-playback,.settings-progress-actions,.settings-playback button,.settings-toggle,.leave-game-button,.settings-progress-actions .button{width:100%}.settings-playback button,.settings-progress-actions .button{flex:1}}.movement-selector{align-items:center;gap:.5rem;display:flex}.movement-mode-tabs{gap:.25rem;display:flex}.movement-mode-tabs>button{border:1px solid var(--line);min-height:26px;color:var(--muted);font-size:var(--text-label);cursor:pointer;background:#ffffff06;border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.2rem .55rem;display:flex}.movement-mode-tabs>button>span{text-overflow:ellipsis;white-space:nowrap;max-width:5.5rem;overflow:hidden}.movement-mode-tabs>button small{color:#8fcbd2;font:var(--text-caption) ui-monospace, monospace}.movement-mode-tabs>button:hover:not(:disabled){color:var(--ink);border-color:#d4a84e9e}.movement-mode-tabs>button.selected{border-color:var(--gold);color:#17110a;background:var(--gold)}.movement-mode-tabs>button.selected small{color:#49340f}.movement-mode-tabs>button:disabled{opacity:.34;cursor:not-allowed}.movement-launcher,.movement-wheel-stage{grid-template-columns:68px minmax(0,1fr);align-items:center;gap:.5rem;min-width:0;height:44px;padding:0 .6rem 0 .35rem;display:grid;position:relative}.movement-launcher{color:var(--ink);text-align:left;cursor:pointer;background:radial-gradient(circle at 22%,#a1412a33,#0000 45%),linear-gradient(135deg,#d4a84e1f,#ffffff04);border:1px solid #d4a84e80;border-radius:999px;transition:border-color .16s,background .16s,transform .16s;box-shadow:inset 0 0 36px #00000029}.movement-launcher.lightness{background:radial-gradient(circle at 22%,#32778540,#0000 37%),linear-gradient(135deg,#78babe17,#ffffff04)}.movement-launcher.mount{background:radial-gradient(circle at 22%,#9a602742,#0000 37%),linear-gradient(135deg,#d4a84e1f,#ffffff04)}.movement-launcher:hover:not(:disabled),.movement-launcher:focus-visible{border-color:var(--gold-soft);background-color:#d4a84e0f;outline:none;transform:translateY(-2px)}.movement-launcher:hover:not(:disabled) .movement-wheel-disc{transform:rotate(8deg)}.movement-launcher:active:not(:disabled){transform:translateY(0)scale(.99)}.movement-launcher:disabled{opacity:.42;cursor:not-allowed}.movement-preview-wrap{aspect-ratio:1;filter:drop-shadow(0 3px 5px #0000006b);justify-self:center;width:40px;display:block;position:relative}.movement-preview-wrap .movement-wheel-disc{border-width:2px;transition:transform .26s;inset:2px}.movement-preview-wrap .movement-wheel-hub{border-width:2px;width:46%}.movement-preview-wrap .movement-wheel-hub span{font-size:var(--text-caption)}.movement-launch-copy,.movement-wheel-heading{gap:.05rem;min-width:84px;display:grid}.movement-launch-copy>strong,.movement-wheel-heading>strong{color:var(--gold-soft);font:var(--text-body) "Songti SC", serif;text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.movement-launch-copy>span,.movement-wheel-heading>span{color:var(--muted);font-size:var(--text-caption)}.movement-launch-copy>b{color:#df8179;font-size:var(--text-caption)}.movement-dismount{color:var(--muted);font-size:var(--text-caption);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #d4a84e6b;padding:.15rem .4rem}.movement-dismount:hover{color:var(--gold-soft)}.movement-unavailable{color:#df8179;font-size:var(--text-label);margin:0}.movement-wheel-stage{border:1px solid #0000}.movement-wheel-heading{grid-column:2}.movement-wheel-wrap{aspect-ratio:1;filter:drop-shadow(0 10px 14px #0000008c);border-radius:50%;width:88px;animation:.16s ease-out both movement-wheel-rise;position:absolute;bottom:-2px;left:-10px}@keyframes movement-wheel-rise{0%{opacity:0;transform:translateY(10px)scale(.7)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.movement-wheel-wrap{animation:none}}.movement-wheel-wrap.result{filter:drop-shadow(0 0 18px #efd49359)drop-shadow(0 14px 18px #0000006b)}.movement-wheel-pointer{z-index:4;filter:drop-shadow(0 3px 2px #0009);border-top:22px solid #f0d58e;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.movement-wheel-disc{will-change:transform;border:4px solid #d7ad5d;border-radius:50%;position:absolute;inset:7px;overflow:hidden;box-shadow:inset 0 0 0 2px #301f0ccc,inset 0 0 26px #0006}.movement-wheel-disc:after{content:"";pointer-events:none;background:repeating-conic-gradient(#ffffff6b 0deg .7deg,#0000 .7deg 36deg),radial-gradient(circle,#0000 54%,#130c0633 100%);border-radius:50%;position:absolute;inset:0}.movement-wheel-hub{z-index:3;aspect-ratio:1;background:radial-gradient(circle at 38% 32%,#4f3120,#17100c 72%);border:3px double #e3bd6e;border-radius:50%;place-items:center;width:42%;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 14px #00000094}.movement-wheel-hub span{color:#eccd83;font:var(--text-body) ui-monospace, monospace}.event-backdrop{--backdrop-inset:1rem;z-index:10;padding:var(--backdrop-inset);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#040302b8;place-items:center;display:grid;position:fixed;inset:0}.effect-event-backdrop{padding-bottom:calc(var(--hud-bottom-clearance) + .6rem);-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:linear-gradient(#0000 35%,#0403027a);place-items:end center}.effect-event-backdrop .event-dialog,.effect-event-backdrop .event-scroll{pointer-events:auto;box-shadow:0 20px 60px #0000009e}.event-backdrop.event-dismissible{cursor:pointer;pointer-events:auto}.event-backdrop.event-dismissible:focus-visible{outline:2px solid var(--gold-soft);outline-offset:-6px}.event-dismissible .event-dialog,.event-dismissible .event-scroll{transition:filter .15s,transform .15s}.event-dismissible:hover .event-dialog,.event-dismissible:hover .event-scroll{filter:brightness(1.06);transform:translateY(-2px)}.target-selection-backdrop{padding-bottom:calc(var(--hud-bottom-clearance) + .6rem);-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none;background:linear-gradient(#0000 25%,#04030261);place-items:end center}.target-selection-backdrop .event-dialog{pointer-events:auto;box-shadow:0 20px 60px #0000009e}.event-dialog{width:min(470px,100%);padding:2rem}.event-dialog h2{font:var(--text-display-sm) "Songti SC", serif;margin:0}.event-dialog>p:not(.eyebrow){color:var(--muted);line-height:1.8}.event-scroll{isolation:isolate;color:#f5efdd;scrollbar-color:#c6a9508c #142a1899;background-color:#2f4d2d;background-image:linear-gradient(#11241414,#11241414),url(/generated/ui/event-scroll-paper.webp);background-repeat:repeat;background-clip:padding-box;border:18px solid #0000;border-width:18px 14px;border-image:url(/generated/ui/event-scroll-frame.webp) 18 14;width:min(680px,100%);max-height:calc(100vh - 2rem);position:relative;overflow:auto;box-shadow:0 28px 80px #0000009e,inset 0 0 45px #09170c47}.event-scroll:before,.event-scroll:after{z-index:2;content:"";pointer-events:none;opacity:.62;width:30px;height:30px;position:absolute}.event-scroll:before{border-top:2px solid #b9a34f;border-left:2px solid #b9a34f;top:16px;left:16px}.event-scroll:after{border-bottom:2px solid #b9a34f;border-right:2px solid #b9a34f;bottom:16px;right:16px}.event-scroll-heading{text-align:center;border-bottom:1px solid #cab25b73;align-content:center;justify-items:center;min-height:104px;padding:clamp(1.2rem,3vw,2rem) clamp(1.5rem,5vw,3.5rem);display:grid}.event-scroll-heading .eyebrow{color:#d5bd68;text-shadow:0 1px 1px #142617;margin-bottom:.55rem}.event-scroll-heading h2{color:#fffaf0;text-shadow:2px 2px #0a170cdb;letter-spacing:.04em;margin:0;font:600 clamp(1.75rem,4vw,2.8rem)/1.2 Songti SC,serif}.event-scroll-media{background:#152117;border:1px solid #d8c1779e;margin:0 clamp(.45rem,1.4vw,.85rem);overflow:hidden;box-shadow:0 8px 24px #030a055c}.event-scroll-media img{aspect-ratio:3/2;object-fit:cover;width:100%;max-height:min(46vh,430px);image-rendering:pixelated;display:block}.event-scroll-animation{max-height:min(46vh,430px)}.event-scroll-animation img{aspect-ratio:auto;object-fit:fill;height:100%;max-height:none}.event-scroll-animation.layout-full{box-shadow:none;background:0 0;border:0}.event-scroll-animation.layout-effect{max-width:calc(100% - 1.7rem);max-height:min(34vh,260px);box-shadow:none;background:0 0;border:0;margin:1rem auto 0}.combat-animation-backdrop{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle,#24160d85,#040302e6)}.combat-animation-stage{filter:drop-shadow(0 24px 36px #000000b8);width:min(660px,100vw - 2rem);margin:0;overflow:hidden}.combat-animation-stage img{max-width:none;height:100%;image-rendering:pixelated;display:block}.skill-animation-backdrop{z-index:20;pointer-events:none;background:#04030257}.skill-animation-stage{place-items:center;max-height:min(480px,100vh - 2rem);margin:0;display:grid}.skill-animation-stage img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}@keyframes sprite-sheet-frames{to{transform:translateX(calc(-100% + 100% / var(--sprite-frame-count)))}}.event-scroll.media-icon .event-scroll-media{width:min(168px,42vw);box-shadow:none;background:0 0;border:0;border-radius:0;place-items:center;margin:1.35rem auto .15rem;padding:0;display:grid}.event-scroll.media-icon .event-scroll-media img{aspect-ratio:auto;object-fit:contain;filter:drop-shadow(0 2px 4px #00000047);width:auto;max-width:96px;height:auto;max-height:120px}.event-scroll-body{text-align:center;gap:.85rem;padding:clamp(1.2rem,3vw,2rem) clamp(1.5rem,5vw,3.5rem);display:grid}.event-scroll-message{color:#f1ead6;text-shadow:0 1px 1px #142617;margin:0;font-size:clamp(.9rem,2vw,1.08rem);line-height:1.75}.event-scroll-body>.button{color:#172116;background:#d8bd68;border-color:#caae57;justify-self:center;width:min(320px,100%);margin-top:.15rem}.event-scroll .effect-results{text-align:left;margin:.15rem 0}.event-scroll .effect-results>div{background:#09180c4d;border-color:#d8c17759}.bonus-result{background:#09180c57;border:1px solid #d8c17780;justify-content:center;justify-self:center;align-items:baseline;gap:1rem;width:min(300px,100%);padding:.7rem 1.1rem;display:flex}.bonus-result span{color:#f4e6b1;font:var(--text-title-sm) "Songti SC", serif}.bonus-result strong{color:#ffd66f;text-shadow:0 2px #142617;font:700 clamp(1.45rem,4vw,2.2rem)/1 ui-monospace,monospace}.event-scroll .station-options{margin:.15rem 0}.event-scroll .station-options .button{color:#f4e6b1;background:#09180c33;border-color:#d8c177b8}.station-travel-layer{z-index:11;pointer-events:none;place-items:start center;padding:.7rem;display:grid;position:fixed;inset:0}.station-travel-panel{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c0a07f0;border-color:#d8ab4c9e;width:min(760px,100vw - 1.4rem);padding:.85rem 1rem 1rem;box-shadow:0 18px 52px #00000094}.station-travel-heading{justify-content:space-between;align-items:end;gap:1rem;padding:0 .15rem .65rem;display:flex}.station-travel-heading .eyebrow{margin:0 0 .12rem}.station-travel-heading h2{color:var(--gold-soft);font:var(--text-title) "Songti SC", serif;margin:0}.station-travel-heading>p{color:var(--muted);font-size:var(--text-label);margin:0 0 .12rem}.station-destinations{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;display:grid}.station-destination{color:var(--ink);text-align:left;cursor:pointer;background:#ffffff09;border:1px solid #d4a84e47;border-radius:3px;gap:.12rem;padding:.62rem .72rem;transition:border-color .14s,background .14s,transform .14s;display:grid}.station-destination:hover,.station-destination:focus-visible{border-color:var(--gold);background:#d4a84e17;outline:none;transform:translateY(-1px)}.station-destination.selected{border-color:var(--gold-soft);box-shadow:inset 3px 0 0 var(--gold);background:linear-gradient(135deg,#9f2f274d,#d4a84e1f)}.station-destination strong{color:var(--gold-soft);font:var(--text-body) "Songti SC", serif;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-travel-confirmation{border-top:1px solid #d4a84e38;align-items:center;gap:1rem;margin-top:.65rem;padding-top:.65rem;display:flex}.station-travel-confirmation>div{min-width:0;margin-right:auto;display:grid}.station-travel-confirmation span{color:var(--muted);font-size:var(--text-caption)}.station-travel-confirmation strong{color:var(--ink);font-size:var(--text-label);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.station-travel-confirmation .button{min-width:min(250px,42vw)}@media (width<=620px){.event-backdrop{--backdrop-inset:.45rem}.event-scroll{border-width:14px 10px;max-height:calc(100vh - .9rem)}.event-scroll-heading{min-height:84px;padding:1rem 1.2rem}.event-scroll-heading h2{font-size:clamp(1.45rem,8vw,2rem)}.event-scroll-body{padding:1rem 1.2rem 1.25rem}.event-scroll:before,.event-scroll:after{width:22px;height:22px}.station-travel-layer{padding:.4rem}.station-travel-panel{width:calc(100vw - .8rem);padding:.7rem}.station-travel-heading{align-items:start}.station-travel-heading>p{text-align:right;max-width:10rem}.station-destinations{scroll-snap-type:x proximity;display:flex;overflow-x:auto}.station-destination{scroll-snap-align:start;min-width:42vw}.station-travel-confirmation{gap:.55rem}.station-travel-confirmation .button{min-width:0;padding-inline:.8rem}}.effect-results{gap:.5rem;margin:1rem 0;display:grid}.effect-results>div{background:#0003;border:1px solid #d8ab4c4d;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.55rem .65rem;display:flex}.effect-results strong{min-width:4rem;color:var(--gold-soft)}.effect-results span{color:#f4dfaa;font:var(--text-label) ui-monospace, monospace;background:#9f2f2747;border-radius:999px;padding:.25rem .45rem;animation:.42s ease-out both effect-rise}@keyframes effect-rise{0%{opacity:0;transform:translateY(8px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}.terminal-dialog{text-align:center}.terminal-dialog .button{width:100%}.terminal-backdrop{z-index:14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 15%,#7e481a3d,#0000 42%),#030302f0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.terminal-result{border-color:#d8ab4c70;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);width:min(1180px,100%);max-height:calc(100vh - 2rem);display:grid;overflow:hidden}.terminal-ending-media{background:#000;place-items:center;min-height:0;display:grid;overflow:hidden}.terminal-ending-media video{object-fit:contain;width:100%;height:100%;max-height:calc(100vh - 2rem);image-rendering:pixelated;display:block}.terminal-summary{padding:clamp(1.2rem,3vw,2.4rem);overflow:auto}.terminal-summary header h2{color:var(--gold-soft);word-break:keep-all;margin:.25rem 0 .65rem;font:500 clamp(1.8rem,3vw,2.5rem)/1.25 Songti SC,serif}.terminal-summary header>p:not(.eyebrow){color:var(--muted);line-height:1.65}.terminal-side-results{grid-template-columns:repeat(2,1fr);gap:.65rem;margin:1.3rem 0;display:grid}.terminal-side-results>div{border:1px solid var(--line);gap:.3rem;padding:.8rem;display:grid}.terminal-side-results span{color:var(--muted);font-size:var(--text-label)}.terminal-side-results strong{font-size:var(--text-body)}.terminal-side-results .defeated strong{color:#df8179}.terminal-side-results .surviving strong{color:#8fc896}.terminal-roster{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.terminal-roster li{background:#ffffff06;border:1px solid #0000;grid-template-columns:2rem minmax(3rem,.55fr) minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.58rem .65rem;display:grid}.terminal-roster li>small{color:var(--muted)}.terminal-roster li>span:last-child{color:var(--muted);font:var(--text-label) ui-monospace, monospace}.terminal-roster li.winner{border-color:var(--gold);background:#d8ab4c1a}.terminal-roster li.eliminated{opacity:.52}.terminal-rank-mark{width:1.55rem;height:1.55rem;color:var(--gold);font-size:var(--text-caption);border:1px solid;border-radius:50%;place-items:center;display:grid}.terminal-roster .eliminated .terminal-rank-mark{color:#a45e58}.terminal-actions{grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:1.3rem;display:grid}.combat-actions{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1.2rem;display:grid}.skill-target-list{grid-template-columns:repeat(2,1fr);gap:.6rem;margin:1rem 0;display:grid}.skill-cell-hint{z-index:16;left:50%;bottom:calc(var(--hud-bottom-clearance) + .6rem);align-items:center;gap:1rem;width:min(720px,100% - 2rem);padding:.8rem 1rem;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 40px #00000073}.skill-cell-hint strong{color:var(--gold-soft)}.skill-cell-hint span{color:var(--muted);font-size:var(--text-label);flex:1}.institution-backdrop{z-index:15;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040302d1;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.institution-panel{width:min(900px,100%);max-height:calc(100vh - 2rem);padding:clamp(1.2rem,3vw,2rem);position:relative;overflow:auto}.institution-panel>header{align-items:center;gap:1rem;display:flex}.institution-panel h2{font:var(--text-display-sm) "Songti SC", serif;margin:0}.institution-panel-leave{flex:none;align-self:start;margin-top:.1rem;margin-left:auto}.institution-balances{color:var(--muted);font-size:var(--text-label);align-items:center;gap:.65rem;margin-left:auto;display:flex}.institution-balances+.institution-panel-leave{margin-left:0}.institution-balances .balance-chip,.institution-balances>span{white-space:nowrap;background:#ffffff08;border:1px solid #d4a84e38;border-radius:4px;align-items:baseline;gap:.4rem;min-height:1.75rem;padding:.28rem .55rem;display:inline-flex}.institution-balances .balance-chip>span:first-child,.institution-balances>span{color:var(--muted)}.institution-balances strong{color:var(--gold-soft);font:var(--text-body)/1.2 ui-monospace, monospace;font-variant-numeric:tabular-nums;margin-left:0}.institution-tabs{border-bottom:1px solid var(--line);margin:1.2rem 0;display:flex}.institution-tabs button{min-width:90px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.7rem 1rem}.institution-tabs button.active{color:#17110a;background:var(--gold)}.bank-summary{border:1px solid var(--line);margin:0;padding:1rem;line-height:1.6;color:var(--gold-soft)!important}.bank-panel{border:1px solid var(--line);background:#0000001f;gap:1.25rem;margin-top:1.5rem;padding:clamp(1rem,3vw,1.6rem);display:grid}.bank-allocation-labels{justify-content:space-between;align-items:end;gap:2rem;display:flex}.bank-allocation-labels>div{gap:.3rem;display:grid}.bank-allocation-labels>div:last-child{text-align:right;justify-items:end}.bank-allocation-labels span{color:var(--muted);font-size:var(--text-label)}.bank-allocation-labels strong{color:var(--gold-soft);font:clamp(1.25rem,3vw,1.75rem)/1 ui-monospace,monospace}.bank-allocation-slider{appearance:none;cursor:ew-resize;border-radius:999px;width:100%;height:.7rem;margin:.35rem 0;box-shadow:inset 0 0 0 1px #eed17e47,0 .35rem 1rem #0000004d;border:0!important;padding:0!important}.bank-allocation-slider::-webkit-slider-thumb{appearance:none;background:#f0d078;border:3px solid #17120c;border-radius:50%;width:1.6rem;height:1.6rem;box-shadow:0 0 0 2px #aa7e2e,0 .35rem .8rem #00000080}.bank-allocation-slider::-moz-range-thumb{background:#f0d078;border:3px solid #17120c;border-radius:50%;width:1.25rem;height:1.25rem;box-shadow:0 0 0 2px #aa7e2e,0 .35rem .8rem #00000080}.bank-allocation-slider:focus-visible{outline:2px solid var(--gold-soft);outline-offset:6px}.bank-allocation-status{min-height:1.25rem;color:var(--muted);font-size:var(--text-caption);justify-content:center;align-items:center;gap:.5rem;display:flex}.bank-allocation-status.changed{color:var(--ink)}.bank-allocation-status strong{color:var(--gold-soft);font-family:ui-monospace,monospace}.bank-panel .bank-cash-warning{color:#e47b72;font-size:var(--text-label);background:#8e27211f;border-left:3px solid #b64138;margin:-.35rem 0 0;padding:.65rem .75rem;line-height:1.65}.bank-confirm{width:100%;min-height:3rem}.bank-confirm:disabled{opacity:.38;cursor:default}.bank-panel>p{color:var(--muted);font-size:var(--text-caption)}.shop-grid{grid-template-columns:repeat(2,1fr);gap:.55rem;display:grid}.shop-grid>.shop-item,.pawn-list>.shop-item{border:1px solid var(--line);background:#ffffff05;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:64px minmax(0,1fr);gap:.4rem .75rem;min-height:98px;padding:.7rem;display:grid}.shop-item-icon{object-fit:contain;width:56px;height:73px;image-rendering:pixelated;filter:drop-shadow(0 5px 5px #00000057);grid-row:1/3;align-self:center}.shop-item-copy{align-content:start;gap:.25rem;min-width:0;display:grid}.shop-item-actions{justify-content:space-between;align-items:end;gap:.75rem;display:flex}.shop-grid strong,.pawn-list strong{font-size:var(--text-body-sm)}.shop-grid small,.pawn-list small{color:var(--muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-grid span,.pawn-list span{color:var(--gold-soft);font-size:var(--text-caption)}.shop-grid button,.pawn-list button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;flex:none;padding:.4rem .65rem}.shop-grid button:disabled,.pawn-list button:disabled{opacity:.3;cursor:not-allowed}.trade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.trade-card{border:1px solid var(--line);background:#ffffff05;grid-template-columns:76px minmax(0,1fr);gap:.7rem;padding:.75rem;display:grid}.trade-card>img,.cargo-row>img{object-fit:contain;image-rendering:pixelated;align-self:center}.trade-card-copy{gap:.25rem;min-width:0;display:grid}.trade-card-copy strong{color:var(--ink)}.trade-card-copy small{color:var(--muted);font-size:var(--text-caption);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trade-card-copy span{color:var(--muted);font-size:var(--text-label)}.trade-card-copy b{color:var(--gold-soft)}.trade-card-actions{grid-column:1/-1;justify-content:flex-end;gap:.45rem;display:flex}.trade-card-actions input,.cargo-row input{border:1px solid var(--line);width:4.5rem;color:var(--ink);background:#00000047;padding:.45rem}.trade-card-actions button,.cargo-row button{color:#17130b;background:var(--gold);cursor:pointer;border:1px solid #d8a6408c;padding:.45rem .8rem}.trade-card-actions button:disabled{opacity:.3;cursor:not-allowed}.cargo-heading{margin-top:1.2rem}.cargo-list{gap:.4rem;display:grid}.cargo-row{border:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto auto;align-items:center;gap:.65rem;padding:.55rem .7rem;display:grid}.cargo-row>div{gap:.15rem;min-width:0;display:grid}.cargo-row small{color:var(--muted)}.cargo-row em{font-style:normal}.trade-profit{color:#93c98b}.trade-loss{color:#d47b70}.pawn-list{gap:.45rem;display:grid}.notice-item-award{text-align:left;background:#00000047;border:1px solid #d8ab4c6b;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:.6rem;margin:.75rem auto 0;padding:.5rem .8rem .5rem .55rem;display:inline-grid}.notice-item-award img{object-fit:contain;image-rendering:pixelated}.notice-item-award strong{color:var(--gold-soft);font-size:var(--text-body);display:block}.notice-item-award small{color:#d8cdb8;font-size:var(--text-label)}.escort-counter{margin-top:1.15rem}.escort-intro{border-bottom:1px solid #d8c17724;margin-bottom:.95rem;padding-bottom:.85rem}.escort-intro h3{font:var(--text-emphasis) "Songti SC", serif;margin:0 0 .35rem}.escort-note{max-width:40rem;color:var(--muted);font-size:var(--text-label);margin:0;line-height:1.65}.escort-note-warn{color:#d47b70}.escort-offers{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.75rem;margin:0;display:grid}.escort-offer{border:1px solid var(--line);background:#ffffff05;flex-direction:column;gap:.55rem;min-height:100%;padding:.85rem;display:flex}.escort-offer-directed{background:#d8a6400d;border-color:#d8a64080}.escort-offer>header{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.escort-offer>header span{color:var(--gold-soft);font:var(--text-body) "Songti SC", serif}.escort-offer>header strong{color:var(--ink);font-size:var(--text-body-sm)}.escort-offer-terms{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.escort-offer-terms li{font-size:var(--text-label);justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.escort-offer-terms span{color:var(--muted);flex:none}.escort-offer-terms b{min-width:0;color:var(--ink);text-align:right;font-weight:600}.escort-offer-bonus{background:#00000038;border:1px solid #d8a64047;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:.55rem;padding:.45rem .55rem;display:grid}.escort-offer-bonus img{object-fit:contain;image-rendering:pixelated}.escort-offer-bonus strong{color:var(--gold-soft);font-size:var(--text-label);display:block}.escort-offer-bonus small{color:var(--muted);font-size:var(--text-caption)}.escort-offer>.button{width:100%;margin-top:auto}.escort-mission{justify-items:start;gap:.5rem;margin:.7rem 0 1rem;display:grid}.escort-mission p{margin:0}.escort-mission strong{color:var(--gold-soft)}.dev-only-section{margin-top:1rem}.dev-only-section .station-options{margin:.55rem 0 0}.dev-only-divider{color:var(--muted);font-size:var(--text-caption);letter-spacing:.04em;opacity:.78;align-items:center;gap:.65rem;display:flex}.dev-only-divider:before,.dev-only-divider:after{content:"";background:var(--line);flex:auto;height:1px}.dev-only-divider span{white-space:nowrap;flex:none}@media (width<=620px){.escort-offers{grid-template-columns:minmax(0,1fr)}}.pawnshop-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#050403;padding:0;overflow:hidden}.institution-scene-stage{aspect-ratio:4/3;background:#15100a;width:min(100vw,133.333vh);max-width:none;position:relative;overflow:hidden;box-shadow:0 0 8cqw #000000eb;container-type:inline-size}.institution-scene-art{object-fit:fill;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.institution-scene-leave{z-index:40;color:#d8cdb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#110d09d1;position:absolute;top:clamp(.65rem,1.5cqw,1.1rem);right:clamp(.65rem,1.5cqw,1.1rem)}.institution-scene-leave:hover,.institution-scene-leave:focus-visible{border-color:var(--gold);color:#fff1c5;outline:none}.pawnshop-interaction{color:#f4f0df;width:28.15%;height:57.7%;position:absolute;top:17.5%;left:63.75%}.pawnshop-list{scrollbar-color:#b22c25 #171717;scrollbar-width:thin;align-content:start;gap:.45cqw;padding:.5cqw .25cqw .8cqw;display:grid;position:absolute;inset:17% 6% 18%;overflow:auto}.pawnshop-empty{color:#ddd7c8;text-align:center;text-shadow:0 .2cqw #000;margin:3cqw .5cqw 0;font:2.15cqw/1.6 Songti SC,serif}.pawnshop-row{color:#eee9d9;text-align:left;cursor:pointer;background:#0003;border:.12cqw solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2cqw .7cqw;width:100%;padding:.45cqw .6cqw;font-family:Songti SC,serif;display:grid}.pawnshop-row:hover,.pawnshop-row:focus-visible{background:#9e1f1b3d;border-color:#d4382d;outline:none}.pawnshop-row[data-unavailable=true]{opacity:.58}.pawnshop-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:2.1cqw;overflow:hidden}.pawnshop-item-value{color:#f4eee0;font:1.85cqw ui-monospace,monospace}.pawnshop-row-action{color:#c64a42;letter-spacing:.2em;grid-column:1/-1;font:1.35cqw ui-monospace,monospace}.pawnshop-cash{color:#f0ede5;text-shadow:0 .18cqw #000;justify-content:space-between;align-items:center;font:2cqw Songti SC,serif;display:flex;position:absolute;bottom:8%;left:16%;right:15%}.pawnshop-cash strong{font:2cqw ui-monospace,monospace}.general-shop-interaction{color:#f4f0df;width:34.55%;height:89.2%;position:absolute;top:5.2%;left:62.65%}.general-shop-list{scrollbar-color:#b22c25 #171717;scrollbar-width:thin;align-content:start;gap:.36cqw;padding:.4cqw .2cqw .8cqw;display:grid;position:absolute;inset:14% 7% 18%;overflow:auto}.general-shop-empty{color:#ddd7c8;text-align:center;margin:6cqw 1cqw 0;font:2.2cqw Songti SC,serif}.general-shop-row{color:#eee9d9;text-align:left;cursor:pointer;background:#0003;border:.12cqw solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15cqw .8cqw;width:100%;padding:.42cqw .65cqw;font-family:Songti SC,serif;display:grid}.general-shop-row:hover,.general-shop-row:focus-visible{background:#9e1f1b3d;border-color:#d4382d;outline:none}.general-shop-row[data-unavailable=true]{opacity:.58}.general-shop-row>span{text-overflow:ellipsis;white-space:nowrap;font-size:2cqw;overflow:hidden}.general-shop-row>strong{color:#f4eee0;font:1.8cqw ui-monospace,monospace}.general-shop-row>small{color:#c64a42;letter-spacing:.15em;grid-column:1/-1;font:1.25cqw ui-monospace,monospace}.general-shop-cash{color:#f0ede5;text-shadow:0 .18cqw #000;justify-content:space-between;font:2.1cqw Songti SC,serif;display:flex;position:absolute;bottom:5.3%;left:8%;right:18%}.general-shop-cash strong{font:2.1cqw ui-monospace,monospace}.shop-family-interaction{color:#f4f0df;position:absolute;inset:0}.shop-family-list{scrollbar-color:#a82f28 #171717;scrollbar-width:thin;align-content:start;gap:.28cqw;width:32.2%;height:37.5%;padding:.35cqw .8cqw;display:grid;position:absolute;top:13.5%;right:2.8%;overflow:auto}.shop-family-empty{color:#ddd7c8;text-align:center;text-shadow:0 .2cqw #000;margin:7cqw .8cqw 0;font:2cqw/1.5 Songti SC,serif}.shop-family-row{color:#f2ede0;text-align:left;cursor:pointer;background:#0000003d;border:.12cqw solid #0000;grid-template-columns:minmax(0,1fr) auto;gap:.08cqw .65cqw;width:100%;padding:.34cqw .5cqw;font-family:Songti SC,serif;display:grid}.shop-family-row:hover,.shop-family-row:focus-visible{background:#96181447;border-color:#dd3a31;outline:none}.shop-family-row[data-unavailable=true]{opacity:.58}.shop-family-row>span{text-overflow:ellipsis;white-space:nowrap;font-size:1.85cqw;overflow:hidden}.shop-family-row>strong{font:1.62cqw ui-monospace,monospace}.shop-family-row>small{color:#d14a41;letter-spacing:.12em;grid-column:1/-1;font:1.08cqw ui-monospace,monospace}.shop-family-item-tip{z-index:18;border:.12cqw solid var(--gold);width:30%;color:var(--ink);pointer-events:none;background:#0c0a07f7;grid-template-columns:auto minmax(0,1fr);gap:.8cqw;padding:.9cqw;animation:.12s ease-out both shop-tip-in;display:grid;position:absolute;right:36.5%;box-shadow:0 1.2cqw 3.2cqw #00000094}.shop-family-item-tip:after{border-top:.5cqw solid #0000;border-bottom:.5cqw solid #0000;border-left:.55cqw solid var(--gold);content:"";width:0;height:0;position:absolute;top:1.1cqw;left:100%}.shop-family-item-tip-icon{background-color:#1b2018;border:.1cqw solid #d2a84c5c;align-self:start;place-items:center;width:5cqw;min-width:0;height:5cqw;min-height:0;padding:.42cqw;display:grid;overflow:hidden}.shop-family-item-tip-icon img{object-fit:contain;object-position:center;width:100%;max-width:100%;height:100%;max-height:100%;image-rendering:pixelated;display:block}.shop-family-item-tip>span:last-child{align-content:start;gap:.35cqw;min-width:0;display:grid}.shop-family-item-tip strong{color:var(--gold-soft);font:1.45cqw Songti SC,serif}.shop-family-item-tip p{color:var(--muted);margin:0;font:.95cqw/1.55 system-ui,sans-serif}@keyframes shop-tip-in{0%{opacity:0;transform:translate(.4cqw)}to{opacity:1;transform:translate(0)}}.shop-family-cash{color:#321a10;text-shadow:0 .1cqw #ffeeb2bf;justify-content:space-between;align-items:center;width:21.6%;font:1.8cqw/1 Songti SC,serif;display:flex;position:absolute;top:62.5%;right:8.4%}.shop-family-cash strong{font:1.8cqw/1 ui-monospace,monospace}.shop-family-inventory{grid-template-rows:repeat(5,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));width:27.6%;height:22%;display:grid;position:absolute;top:68.75%;right:5.1%}.shop-family-inventory-slot{color:#391d13;text-align:left;cursor:pointer;background:0 0;border:.1cqw solid #0000;align-self:center;align-items:center;gap:.35cqw;width:100%;min-width:0;height:82%;padding:.05cqw .2cqw;font-family:Songti SC,serif;display:flex}.shop-family-inventory-slot:hover,.shop-family-inventory-slot:focus-visible{background:#ffe99c6b;border-color:#8b2a1fb8;outline:none}.shop-family-inventory-slot:disabled{cursor:default}.shop-family-inventory-slot.empty{opacity:0}.shop-family-inventory-icon{width:2.7cqw;height:2.7cqw;image-rendering:pixelated;background-position:50%;background-repeat:no-repeat;background-size:contain;flex:0 0 2.7cqw}.shop-family-inventory-slot strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.25cqw;font-weight:600;line-height:1;overflow:hidden}.shop-resale-backdrop{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0503028f;place-items:center;display:grid;position:absolute;inset:0}.shop-resale-confirm{color:#eee5d1;background:#16110cf7;border:.14cqw solid #c99c43;grid-template-columns:auto minmax(0,1fr);gap:1.2cqw;width:min(36rem,58%);padding:1.5cqw;display:grid;box-shadow:0 1.5cqw 5cqw #000000b8}.shop-resale-icon{background-color:#1b2018;border:.1cqw solid #d2a84c6b;place-items:center;width:7cqw;height:7cqw;padding:.7cqw;display:grid}.shop-resale-icon img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.shop-resale-confirm .eyebrow{color:#d9ae53;letter-spacing:.16em;margin:0 0 .25cqw;font-size:1.1cqw}.shop-resale-confirm h3{margin:0;font:2.2cqw Songti SC,serif}.shop-resale-confirm p:not(.eyebrow){color:#bcb29f;margin:.55cqw 0 0;font-size:1.15cqw}.shop-resale-confirm p strong{color:#efd17a;font-family:ui-monospace,monospace}.shop-resale-actions{grid-column:1/-1;justify-content:flex-end;gap:.65cqw;display:flex}.shop-resale-actions .button{min-width:8cqw;padding:.65cqw .9cqw;font-size:1.15cqw}.shop-purchase-copy{min-width:0}.shop-purchase-copy>p:not(.eyebrow){line-height:1.55}.shop-purchase-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55cqw;margin:.9cqw 0 0;display:grid}.shop-purchase-facts>div{background:#ffffff06;border:.08cqw solid #d2a84c42;gap:.18cqw;padding:.5cqw .6cqw;display:grid}.shop-purchase-facts dt{color:#928978;font-size:.86cqw}.shop-purchase-facts dd{color:#efd17a;white-space:nowrap;margin:0;font:1.05cqw ui-monospace,monospace}.shop-purchase-copy .shop-purchase-warning{color:#e08a72}.amusement-stage{cursor:url(/generated/amusement/cursor.webp) 15 9,crosshair;-webkit-user-select:none;user-select:none;background:#9bab76}.amusement-stage.hammering,.amusement-stage.hammering *{cursor:none!important}.amusement-scoreboard{z-index:8;color:#f4e6aa;pointer-events:none;background:#161007c2;border:.12cqw solid #39290f80;grid-template-columns:auto auto;gap:.1cqw .8cqw;min-width:13%;padding:.45cqw .75cqw;display:grid;position:absolute;top:2.2%;left:2%;box-shadow:0 .45cqw 1.2cqw #1e180a59}.amusement-scoreboard strong{color:#ffe275;text-shadow:.15cqw .18cqw #5f2719;grid-row:1/3;align-self:center;min-width:3.5cqw;font:2.9cqw/1 ui-monospace,monospace}.amusement-scoreboard span{color:#d9cda5;white-space:nowrap;font:.9cqw/1.2 ui-monospace,monospace}.amusement-target-field{z-index:4;position:absolute;inset:0}.amusement-hole{cursor:inherit;background:0 0;border:0;outline:none;padding:0;display:block;position:absolute;overflow:hidden}.amusement-hole:disabled{cursor:default}.amusement-hole img{object-fit:fill;width:101.01%;max-width:none;height:100.98%;image-rendering:pixelated;pointer-events:none;position:absolute;top:0;left:0}.amusement-hole-0 img{width:101.136%;height:100%}.amusement-hammer{z-index:12;pointer-events:none;width:15.625%;height:22.5%;position:absolute}.amusement-hammer-frame{opacity:0;object-fit:fill;width:100%;height:100%;image-rendering:pixelated;animation:71ms step-end forwards amusement-hammer-frame;position:absolute;inset:0}@keyframes amusement-hammer-frame{0%{opacity:1}to{opacity:0}}.amusement-finished{z-index:20;color:#f3ead2;text-shadow:0 .18cqw #000;background:#110c06a3;place-content:center;justify-items:center;gap:.5cqw;animation:.18s ease-out both amusement-finished-in;display:grid;position:absolute;inset:0}.amusement-finished .eyebrow{color:#deb952;letter-spacing:.25em;margin:0;font:1.15cqw ui-monospace,monospace}.amusement-finished strong{font:3.8cqw Songti SC,serif}.amusement-finished span{color:#c7bfae;font:1.1cqw ui-monospace,monospace}@keyframes amusement-finished-in{0%{opacity:0}to{opacity:1}}.justice-scene-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#120503;padding:0;overflow:hidden}.justice-magistrate-remark{z-index:5;color:#fff0a6;text-align:center;text-shadow:.12cqw .15cqw #4a0904,0 0 .45cqw #160301;pointer-events:none;background:linear-gradient(90deg,#0000,#1e0906ad 12% 88%,#0000);border:.08cqw solid #f1c95c33;border-radius:.35cqw;place-items:center;width:46%;min-height:7.4%;margin:0;padding:.35cqw 1.1cqw;font:2.05cqw/1.25 Songti SC,serif;display:grid;position:absolute;top:24.2%;left:27%}.justice-scene-scroll{z-index:4;color:#24150f;width:43.2%;height:14.2%;position:absolute;top:40.5%;left:32.35%;overflow:hidden}.justice-scene-list{box-sizing:border-box;overscroll-behavior:contain;scrollbar-color:#8b5d33 #d7cda1;scrollbar-gutter:stable;scrollbar-width:thin;align-content:start;gap:.12cqw;height:100%;padding:0 2.25cqw .28cqw .75cqw;display:grid;overflow:hidden auto}.justice-scene-option{color:#2c190f;text-align:left;cursor:pointer;background:#fff8cf57;border:.1cqw solid #5d3a1f57;justify-content:space-between;align-items:center;gap:.7cqw;width:100%;min-height:3.35cqw;padding:.24cqw .55cqw;font-family:Songti SC,serif;display:flex}.justice-scene-option:hover:not(:disabled),.justice-scene-option:focus-visible:not(:disabled){background:#ffeeaad1;border-color:#a21818;outline:none}.justice-scene-option.selected{background:#ffe389e0;border-color:#991d17;box-shadow:inset 0 0 0 .1cqw #92191352}.justice-scene-option:disabled{color:#342e275c;filter:grayscale(.9);cursor:not-allowed;background:#736f5c24;border-color:#453e3424}.justice-offense-copy{min-width:0;display:grid}.justice-offense-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.7cqw;font-weight:700;line-height:1;overflow:hidden}.justice-offense-sentence{color:#8e2119;white-space:nowrap;flex:none;font:1.35cqw ui-monospace,monospace}.justice-offense-sentence.requirement{text-overflow:ellipsis;max-width:43%;font-size:.9cqw;overflow:hidden}.justice-scene-option:disabled .justice-offense-sentence{color:#342e275c}.justice-defendants{z-index:6;opacity:0;pointer-events:none;justify-content:center;align-items:end;gap:.55cqw;width:52%;height:18.5%;transition:opacity .18s ease-out,transform .18s ease-out;display:flex;position:absolute;top:64.5%;left:24%;transform:translateY(1.4cqw)}.justice-defendants.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.justice-defendant{color:#fff0bd;min-width:0;height:100%;box-shadow:none;text-shadow:.1cqw .12cqw #210302;cursor:pointer;background:0 0;border:.12cqw solid #0000;border-radius:.45cqw;flex:1 1 0;align-content:end;justify-items:center;padding:0 .25cqw .35cqw;display:grid;position:relative}.justice-defendant:hover,.justice-defendant:focus-visible{background:linear-gradient(#0000 28%,#8320122e 50%,#370a06db);border-color:#ffdc60b8;outline:none}.justice-defendant.selected{background:linear-gradient(#0000 20%,#c739193d 48%,#510c06eb);border-color:#ffe474;transform:translateY(-.35cqw);box-shadow:0 0 1.1cqw #ffbe3961,inset 0 0 0 .08cqw #791309d1}.justice-defendant-sprite{filter:drop-shadow(0 .35cqw .25cqw #230503b8);pointer-events:none;height:10.1cqw;display:block;overflow:hidden}.justice-defendant-sprite img{max-width:none;height:100%;image-rendering:pixelated;display:block}.justice-defendant strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:1.1cqw/1.1 Songti SC,serif;overflow:hidden}.justice-defendant-chance{color:#ffe16a;margin-top:.12cqw;font:1.05cqw/1 ui-monospace,monospace}.justice-confirm{z-index:8;color:#ffe79a;letter-spacing:.12em;text-shadow:.1cqw .12cqw #3a0603;cursor:pointer;background:#650d07e6;border:.16cqw solid #e9b840;border-radius:.22cqw;min-width:15%;padding:.7cqw 1.5cqw;font:1.55cqw Songti SC,serif;position:absolute;bottom:3.5%;left:50%;transform:translate(-50%);box-shadow:0 .45cqw .9cqw #1e03028c}.justice-confirm:hover:not(:disabled),.justice-confirm:focus-visible:not(:disabled){background:#9f2113;border-color:#fff0a0;outline:none;transform:translate(-50%)translateY(-.12cqw)}.justice-confirm:disabled{color:#eedaa557;box-shadow:none;cursor:not-allowed;background:#30150f94;border-color:#ae8f4e59}.institution-test-directory{z-index:50;color:#e9dfc7;background:#070503f0;border:1px solid #d6ab4ca6;flex-direction:column;width:min(20rem,100vw - 2rem);max-height:calc(100vh - 2rem);font-family:Songti SC,serif;display:flex;position:fixed;top:1rem;left:1rem;overflow:hidden;box-shadow:0 1rem 3rem #000000b8}.institution-test-directory summary{color:#f1d276;font-size:var(--text-body-sm);letter-spacing:.12em;cursor:pointer;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,#b0332057,#d8a84214);flex:none;padding:.7rem .85rem}.institution-test-directory-list{scrollbar-color:#a72d25 #17120d;scrollbar-width:thin;background:#d6ab4c29;flex:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;min-height:0;max-height:min(85vh,42rem);padding:1px;display:grid;overflow:auto}.institution-test-directory-list button{color:#d9d0bd;text-align:left;cursor:pointer;background:#15110d;border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);gap:.1rem .45rem;min-width:0;padding:.55rem .6rem;font-family:inherit;display:grid}.institution-test-directory-list button:hover,.institution-test-directory-list button:focus-visible{z-index:1;background:#241a11;border-color:#d3a64a;outline:none}.institution-test-directory-list button.active{color:#fff2cf;background:#3a1711;border-color:#d13c2e}.institution-test-directory-list button>span{color:#d8a943;min-width:1.65rem;font:var(--text-label) ui-monospace, monospace;grid-row:1/3;align-self:center}.institution-test-directory-list button>strong{font-size:var(--text-body-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.institution-test-directory-list button>small{color:#8f8879;font:var(--text-caption) ui-monospace, monospace;white-space:nowrap}.building-preview-stage-generic{background:radial-gradient(circle at 32% 40%,#ad371e47,#0000 28%),linear-gradient(135deg,#2a1b11,#080605 70%)}.building-preview-stage-generic:before{content:"";border:.35cqw double #cb9d3e80;position:absolute;inset:4%}.building-preview-stage-generic:after{color:#dcb25373;content:"門\a 派\a 駐\a 地";white-space:pre;font:7cqw/1.1 Songti SC,serif;position:absolute;top:12%;left:9%}.building-preview-interaction{color:#eee5ca;background:#120c07e0;border:.14cqw solid #e0b85cbf;gap:.75cqw;width:31%;padding:1.5cqw;display:grid;position:absolute;top:7%;right:4%;box-shadow:0 1.2cqw 4cqw #00000094}.building-preview-interaction .eyebrow{color:#d6a948;letter-spacing:.18em;margin:0;font:1.1cqw ui-monospace,monospace}.building-preview-interaction h2{margin:0;font:500 2.8cqw Songti SC,serif}.building-preview-interaction>p:not(.eyebrow){color:#bdb39f;margin:0;font-size:1.25cqw;line-height:1.55}.building-preview-interaction>div{gap:.5cqw;display:grid}.building-preview-interaction>div button{color:#dfd5bd;text-align:left;background:#ffffff0a;border:.12cqw solid #d8a94b75;justify-content:space-between;align-items:center;gap:.5cqw;padding:.7cqw .8cqw;font:1.45cqw Songti SC,serif;display:flex}.building-preview-interaction>div button:disabled{opacity:.78}.building-preview-interaction>div small{color:#918777;font:.9cqw ui-monospace,monospace}.casino-stage{background:#1c3212}.casino-stage .institution-scene-leave:disabled{opacity:.25;cursor:wait}.casino-bet-side{z-index:2;justify-items:center;gap:.7cqw;width:31%;display:grid;position:absolute;top:4.5%}.casino-bet-side.large{left:1.8%}.casino-bet-side.small{right:1.8%}.casino-side-mark{object-fit:contain;width:15cqw;height:17cqw;image-rendering:pixelated;filter:drop-shadow(0 .5cqw .7cqw #00000073)}.casino-chip-slots{background:#0f220d94;border:.12cqw solid #e4ca6b66;grid-template-columns:repeat(5,4.7cqw);gap:.4cqw;padding:.65cqw;display:grid;box-shadow:inset 0 0 1.5cqw #00000061}.casino-chip-slots button{cursor:pointer;background:#050e0561;border:.12cqw solid #e1c66442;place-items:center;width:4.7cqw;height:5.6cqw;padding:0;display:grid}.casino-chip-slots button.empty:before{color:#efd98759;content:"+";font:2.6cqw ui-monospace,monospace}.casino-chip-slots button:hover,.casino-chip-slots button:focus-visible{background:#e8c65329;border-color:#f1da76;outline:none}.casino-chip-slots button:disabled{opacity:.4;cursor:not-allowed}.casino-chip-slots img{max-width:3.8cqw;max-height:5cqw;image-rendering:pixelated;filter:drop-shadow(0 .25cqw .18cqw #000000b3)}.casino-bet-side>strong{color:#f0d77b;text-shadow:0 .2cqw #10210e;font:1.65cqw Songti SC,serif}.casino-bowl{z-index:1;aspect-ratio:273/241;width:42.7%;position:absolute;top:0%;left:28.7%}.casino-result-bowl,.casino-roll-animation{object-fit:fill;width:100%;height:100%;image-rendering:pixelated;position:absolute;inset:0}.casino-roll-animation{z-index:2;background:0 0}.casino-dice{z-index:3;position:absolute;inset:0}.casino-dice img{object-fit:contain;image-rendering:auto;height:auto;position:absolute}.casino-dice img:first-child{z-index:3;width:16.5%;top:52.1%;left:48.4%}.casino-dice img:nth-child(2){z-index:2;width:16.1%;top:48.1%;left:37.4%}.casino-dice img:nth-child(3){z-index:1;width:17.6%;top:39%;left:45.1%}.casino-controls{z-index:4;color:#eee4c1;background:#081608e0;border:.12cqw solid #e8cd678c;align-items:center;gap:.55cqw;min-height:16%;padding:.8cqw 1.1cqw;display:grid;position:absolute;bottom:2.2%;left:25%;right:25%;box-shadow:0 .8cqw 2.8cqw #00000094}.casino-controls>p{color:#b9b293;text-align:center;margin:0;font-size:1.08cqw}.casino-cash{color:#c7bd9b;justify-content:space-between;font-size:1.25cqw;display:flex}.casino-cash strong{color:#f2d66f;font:1.45cqw ui-monospace,monospace}.casino-denominations{justify-content:center;gap:.6cqw;display:flex}.casino-denominations button{color:#ded4b7;cursor:pointer;background:#ffffff0a;border:.12cqw solid #e7cc635c;justify-content:center;align-items:center;gap:.4cqw;min-width:6cqw;padding:.25cqw .55cqw;font:1.25cqw ui-monospace,monospace;display:flex}.casino-denominations button.active{color:#2b1b07;background:#d7aa3f;border-color:#f1d665}.casino-denominations img{object-fit:contain;width:2.2cqw;height:3.1cqw;image-rendering:pixelated}.casino-roll-button{color:#0000;cursor:pointer;width:14.2cqw;height:6.7cqw;image-rendering:pixelated;background:url(/generated/casino/betokbn.webp) 50%/contain no-repeat;border:0;padding:0;position:absolute;bottom:2cqw;right:-20cqw}.casino-roll-button:hover,.casino-roll-button:focus-visible{filter:drop-shadow(0 0 .4cqw #f3df73);background-image:url(/generated/casino/betokbh.webp);outline:none}.casino-roll-button:active{background-image:url(/generated/casino/betokbp.webp)}.casino-roll-button:disabled{opacity:.35;cursor:not-allowed;filter:grayscale()}.casino-result-copy,.casino-rolling-copy{text-align:center;justify-items:center;gap:.3cqw;display:grid}.casino-result-copy>strong,.casino-rolling-copy>strong{color:#f2dc82;font:2cqw Songti SC,serif}.casino-result-copy.win>span{color:#f1cf62}.casino-result-copy.lose>span{color:#df8170}.casino-result-copy.draw>span{color:#cac1a7}.casino-result-copy>span{font:1.55cqw Songti SC,serif}.casino-result-copy>small,.casino-rolling-copy>small{color:#9e967f;font:.95cqw ui-monospace,monospace}.casino-result-copy>button{color:#241707;cursor:pointer;background:#d5a83f;border:.12cqw solid #d6ad48;margin-top:.25cqw;padding:.5cqw 1.5cqw;font:1.3cqw Songti SC,serif}@media (width<=680px){.shop-grid,.trade-grid{grid-template-columns:1fr}.institution-balances{gap:.25rem;display:grid}.cargo-row{grid-template-columns:44px minmax(0,1fr)}.cargo-row input,.cargo-row button{grid-row:2}}.property-panel{width:min(920px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:clamp(1rem,3vw,1.8rem);overflow:auto}.property-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:0 5rem 1rem 0;display:flex}.property-panel>header .institution-balances{flex:none;align-self:center}.property-panel h2{font:var(--text-display-sm) "Songti SC", serif;margin:.2rem 0 0;font-weight:500}.property-panel section{padding-top:1.2rem}.property-panel section>p{color:var(--muted);line-height:1.7}.property-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.property-card{border:1px solid var(--line);background:#d4a84e09;grid-template-rows:auto auto 1fr auto;gap:.55rem;padding:1rem;display:grid}.property-card-preview{object-fit:contain;width:min(100%,120px);height:96px;image-rendering:pixelated;filter:drop-shadow(0 6px 10px #00000059);margin:0 auto}.property-card strong{color:var(--gold-soft);font:var(--text-emphasis) "Songti SC", serif;text-align:center}.property-card p{min-height:2.8em;color:var(--muted);font-size:var(--text-label);text-align:center;margin:0;line-height:1.55}.property-card button{white-space:normal;align-self:stretch;min-height:2.75rem;line-height:1.35}.property-card button:disabled{opacity:1;cursor:not-allowed;color:#c6bca86b;box-shadow:none;filter:grayscale(.55);background:#ffffff0a;border:1px solid #d4a84e1f}.property-card button:disabled:hover{color:#c6bca86b;background:#ffffff0a;border-color:#d4a84e1f}.property-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-bottom:1rem;display:grid}.property-summary span{border:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:1rem;padding:.75rem;display:flex}.property-summary strong{color:var(--ink)}.justice-panel{width:min(680px,100vw - 2rem)}.justice-offenses{gap:.65rem;margin:1rem 0;display:grid}.justice-offenses button{text-align:left;justify-content:space-between;gap:1rem;display:flex}.justice-offenses span{color:var(--muted)}@media (width<=720px){.property-grid,.property-summary{grid-template-columns:1fr}.property-panel>header{flex-direction:column;align-items:start}}.tournament-backdrop{z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#050403e0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.tournament-dialog{width:min(1180px,100%);max-height:calc(100vh - 2rem);padding:clamp(1rem,2.4vw,1.8rem);overflow:auto}.tournament-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1rem;display:flex}.tournament-heading h2{margin:0;font:500 clamp(1.8rem,4vw,3.2rem) Songti SC,serif}.tournament-heading>span{color:var(--gold-soft);font:var(--text-emphasis) ui-monospace, monospace}.tournament-body{grid-template-columns:minmax(245px,.7fr) minmax(500px,1.5fr);gap:1.25rem;padding-top:1.25rem;display:grid}.tournament-bracket,.tournament-placements{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.tournament-bracket li{border:1px solid var(--line);color:var(--muted);font-size:var(--text-label);gap:.2rem;padding:.65rem .75rem;display:grid}.tournament-bracket li>span{color:var(--gold);font-size:var(--text-caption);letter-spacing:.12em}.tournament-bracket li>strong{color:var(--ink);font-weight:500}.tournament-bracket li.completed{opacity:.68;border-left-color:#d4a84e80}.tournament-bracket li.active{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold);background:linear-gradient(90deg,#d4a84e26,#d4a84e08)}.tournament-stage{border:1px solid var(--line);text-align:center;background:radial-gradient(circle at 50% 20%,#824c1f33,#0000 55%);align-content:center;min-height:480px;padding:clamp(.85rem,2vw,1.5rem);display:grid}.tournament-stage>p:not(.eyebrow){color:var(--muted);line-height:1.7}.tournament-stage h3{font:var(--text-display-sm) "Songti SC", serif;margin:.4rem 0 .8rem}.tournament-arena{aspect-ratio:4/3;width:min(100%,640px);image-rendering:pixelated;background-position:50%;background-size:100% 100%;border:2px solid #7d5b2e;margin:.55rem auto;position:relative;overflow:hidden;box-shadow:0 12px 32px #00000073,inset 0 0 0 1px #ffdd943d}.tournament-arena:after{content:"";pointer-events:none;background:linear-gradient(#0000 55%,#0c070352);position:absolute;inset:0}.tournament-arena-banners{z-index:3;grid-template-columns:minmax(0,1fr) clamp(42px,10vw,74px) minmax(0,1fr);align-items:end;gap:.55rem;display:grid;position:absolute;bottom:2.5%;left:2.5%;right:2.5%}.tournament-entrant-banner{color:#fff3d2;text-shadow:0 2px 2px #000;justify-items:center;min-width:0;display:grid}.tournament-entrant-banner>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.tournament-entrant-banner>img{object-fit:contain;width:100%;height:auto;max-height:56px;image-rendering:pixelated;display:block}.tournament-entrant-banner>strong{font:var(--text-label) "Songti SC", serif;white-space:nowrap;background:#0f0803c7;margin-top:-.15rem;padding:.12rem .65rem}.tournament-versus-mark{width:100%;height:auto;image-rendering:pixelated;filter:drop-shadow(0 3px #000000b8);align-self:center}.cycling-category{z-index:4;color:#fff1b8;text-shadow:0 3px #5b260e;background:#220d04c2;padding:.25rem 1.2rem;font:clamp(1.8rem,5vw,3.6rem) Songti SC,serif;display:block;position:absolute;top:33%;left:50%;transform:translate(-50%,-50%)}.comparison-values{z-index:4;background:#130803a8;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.55rem;display:grid;position:absolute;top:57%;left:10%;right:10%}.comparison-values span{color:#f4dfb8;text-shadow:0 1px #000;gap:.2rem;display:grid}.comparison-values strong{color:#fff3b0;font:var(--text-display-sm) ui-monospace, monospace}.comparison-values i{color:var(--gold);font-style:normal}.tournament-category-rail{justify-content:center;gap:clamp(.35rem,1.5vw,.9rem);margin:.65rem 0 0;padding:0;list-style:none;display:flex}.tournament-category-rail li{color:#887c67;font-size:var(--text-caption);border:1px solid #0000;grid-template-columns:auto auto;align-items:center;gap:.25rem;padding:.22rem .45rem;display:grid}.tournament-category-rail li.active{color:var(--gold-soft);background:#d4a84e17;border-color:#d4a84e8c}.tournament-category-rail img{width:22px;height:auto;image-rendering:pixelated}.tournament-category-performance{z-index:2;filter:drop-shadow(0 5px 2px #00000073);width:min(32%,180px);margin:0;position:absolute;top:45%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.tournament-category-performance img,.tournament-dual-performance img{max-width:none;height:100%;image-rendering:pixelated;display:block}.tournament-dual-performance{z-index:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:9%;display:grid;position:absolute;inset:24% 9% 17%}.tournament-dual-performance figure{filter:drop-shadow(0 6px 2px #0006);justify-self:center;width:min(100%,190px);max-height:100%;margin:0;overflow:hidden}.tournament-winner-reveal{z-index:5;color:#fff0ba;text-align:left;text-shadow:0 2px #481606;background:#341104e0;border:1px solid #e7ad42;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;padding:.4rem .8rem;animation:.28s ease-out both tournament-winner-in;display:grid;position:absolute;top:11%;left:50%;transform:translate(-50%)}.tournament-winner-reveal img{width:clamp(34px,6vw,58px);image-rendering:pixelated;grid-row:1/3}.tournament-winner-reveal strong{font:var(--text-title-sm) "Songti SC", serif;white-space:nowrap}.tournament-winner-reveal span{color:#e0bc73;font-size:var(--text-caption);letter-spacing:.12em}@keyframes tournament-winner-in{0%{opacity:0;transform:translate(-50%,-12px)scale(.9)}}.tournament-actions{flex-wrap:wrap;justify-content:center;gap:.55rem;margin-top:1.2rem;display:flex}.tournament-skip-reveal{color:#9c907a;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #6e624e;justify-self:center;margin-top:.45rem;padding:.3rem .7rem}.tournament-skip-reveal:hover{color:var(--gold-soft);border-color:var(--gold)}.tournament-placements li{border-bottom:1px solid var(--line);text-align:left;grid-template-columns:5rem 1fr auto;gap:.7rem;padding:.65rem 0;display:grid}.tournament-placements span{color:var(--gold)}.tournament-placements small{color:var(--muted)}.tournament-report{aspect-ratio:4/3;width:min(100%,640px);image-rendering:pixelated;background-position:50%;background-size:100% 100%;align-content:end;margin:auto;padding:5% 12% 4%;display:grid}.tournament-report-copy{image-rendering:auto;background:#220f05db;border:1px solid #f1c15fa6;padding:.75rem 1rem}.tournament-report .tournament-placements{gap:0}.tournament-report .tournament-placements li{padding:.35rem 0}.tournament-input-hint{color:#8f856f;font:var(--text-caption) ui-monospace, monospace;margin-top:.75rem;display:block}@media (width<=820px){.tournament-body{grid-template-columns:1fr}.tournament-bracket{grid-template-columns:repeat(7,minmax(150px,1fr));padding-bottom:.4rem;overflow-x:auto}.tournament-stage{min-height:360px}.tournament-placements li{grid-template-columns:4.5rem 1fr}.tournament-placements small{grid-column:2}}@media (width<=540px){.tournament-backdrop{padding:0}.tournament-dialog{border:0;max-height:100vh}.tournament-arena-banners{grid-template-columns:minmax(0,1fr) 38px minmax(0,1fr)}.tournament-entrant-banner>strong{font-size:.72rem}.tournament-category-rail li{grid-template-columns:1fr;padding-inline:.25rem}.tournament-category-rail img{margin:auto}.tournament-report{padding-inline:7%}}@media (prefers-reduced-motion:reduce){.tournament-winner-reveal{animation:none}}.station-options{grid-template-columns:repeat(2,1fr);gap:.5rem;margin:1rem 0;display:grid}.studio-shell h1 small{color:var(--gold);font:var(--text-label) system-ui, sans-serif}.studio-controls{flex-wrap:wrap}.studio-controls input[type=number]{border:1px solid var(--line);width:72px;color:var(--ink);background:#181510;padding:.55rem}.studio-controls button:disabled{opacity:.3}.file-button{place-items:center;display:grid}.file-button input{display:none}.studio-workspace{grid-template-columns:minmax(0,1fr) 280px;gap:1rem;height:calc(100vh - 190px);display:grid}.studio-canvas{background:#080705;place-items:center;min-height:520px;display:grid;overflow:auto}.studio-canvas canvas{width:min(78vh,100%);height:auto;image-rendering:pixelated;cursor:crosshair}.diagnostic-error{color:#e1786e;font-weight:800}.voice-bubble{z-index:5;visibility:hidden;transform-origin:0 0;cursor:pointer;--bubble-scale:1;background:0 0;border:0;padding:0;animation:.14s ease-out both voice-bubble-in;position:absolute;top:0;left:0}.voice-bubble-shape{width:100%;height:100%;image-rendering:pixelated;filter:drop-shadow(0 calc(var(--bubble-scale) * 1px) 0 #0000008c);-webkit-user-select:none;user-select:none;display:block}.voice-bubble-copy{padding:calc(var(--bubble-scale) * 2px);color:var(--gold-soft);text-align:center;text-shadow:0 1px #000;overflow-wrap:anywhere;justify-content:center;align-items:center;font-weight:700;line-height:1.25;display:flex;position:absolute}.voice-bubble.class-2 .voice-bubble-copy{color:#ffcf7a}.voice-bubble:hover .voice-bubble-copy,.voice-bubble:focus-visible .voice-bubble-copy{color:#fff2d2}.voice-bubble:focus-visible{outline:none}@keyframes voice-bubble-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.voice-bubble{animation:none}}.numeric-feedback{z-index:6;visibility:hidden;pointer-events:none;transform-origin:0 0;image-rendering:pixelated;filter:drop-shadow(0 1px #000000bf);display:flex;position:absolute;top:0;left:0}.numeric-feedback-digit{flex:none;display:block;overflow:hidden}.numeric-feedback-digit img{max-width:none;image-rendering:pixelated;will-change:transform;display:block}.lab-header{min-height:74px}.lab-controls{align-items:end;gap:1rem;margin:1rem 0;padding:1rem;display:flex}.lab-controls label{color:var(--muted);font-size:var(--text-label);gap:.35rem;display:grid}.lab-controls select{border:1px solid var(--line);min-width:180px;color:var(--ink);background:#181510;padding:.55rem}.segmented{margin-left:auto;display:flex}.segmented button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;padding:.6rem .9rem}.segmented button.active{color:#19120a;background:var(--gold)}.lab-workspace{grid-template-columns:minmax(0,1fr) 270px;gap:1rem;height:calc(100vh - 190px);display:grid}.lab-map-frame{background:#090806;place-items:center;min-height:500px;display:grid;position:relative;overflow:auto}.lab-map-frame>img{object-fit:contain;max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.lab-map-frame>img,.lab-pixel-map{cursor:crosshair}.lab-pixel-map{width:min(80vh,100%);height:auto;image-rendering:pixelated}.start-markers{pointer-events:none;position:absolute;inset:0}.start-markers span{background:var(--red);border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #111}.start-markers .selected-cell-marker{border-color:var(--gold);width:16px;height:16px;box-shadow:0 0 0 2px #111, 0 0 12px var(--gold);background:0 0;border-radius:0}.lab-inspector{padding:1.3rem;overflow:auto}.lab-inspector h2{font-family:serif;font-size:var(--text-display-sm);margin:0 0 1.2rem;font-weight:500}.lab-inspector dl{margin:0}.lab-inspector dl div,.start-list li{border-bottom:1px solid var(--line);justify-content:space-between;padding:.65rem 0;display:flex}.lab-inspector dt{color:var(--muted)}.lab-inspector dd{margin:0}.start-list{padding:0;list-style:none}.start-list code{color:var(--gold-soft)}.cell-inspector{margin-top:1.5rem}.cell-inspector dd{max-width:55%;color:var(--gold-soft);text-align:right;word-break:break-all}.rule-lab .lab-header .button{margin-left:0}.rule-lab .lab-header>div{margin-right:auto}.rule-operation{gap:.3rem;margin-right:auto;display:grid}.rule-operation span{color:var(--muted);font-size:var(--text-label)}.rule-operation code{color:var(--gold-soft)}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.rule-card{min-height:510px;padding:1.2rem;overflow:hidden}.rule-card textarea,.rule-card pre{border:1px solid var(--line);color:#e8dcc4;width:100%;height:405px;font:var(--text-label)/1.55 ui-monospace, SFMono-Regular, Menlo, monospace;white-space:pre-wrap;background:#0c0b09;margin:0;padding:1rem;overflow:auto}.rule-card textarea{resize:none;outline:none}.rule-card textarea:focus{border-color:var(--gold)}.rule-card .button{margin-top:.8rem}.rule-card .button:disabled{opacity:.35}.rule-result-heading{justify-content:space-between;display:flex}.rule-result-heading .pass{color:#80c58a}.rule-result-heading .fail{color:#e1786e}.lab-note{color:var(--muted);font-size:var(--text-label)}@media (width<=900px){:root{--text-sm:.75rem;--text-md:.8125rem;--text-base:.9375rem;--text-lg:1.0625rem;--text-xl:1.1875rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--text-4xl:2.25rem}.hero{grid-template-columns:1fr;padding-top:5rem}.immersive-home{height:100vh;min-height:620px;padding-bottom:0;overflow:hidden}.immersive-hero{min-height:calc(100vh - 78px);padding:0}.immersive-home .poster-montage{width:min(850px,115vw);margin:0;top:44%;left:50%;transform:translate(-50%,-50%)}.immersive-actions{width:min(260px,100% - 2rem);margin:0;padding-bottom:1.2rem;top:auto;bottom:2.5rem;right:50%;transform:translate(50%)}.immersive-actions:before{right:50%;transform:translate(50%)}.choice-grid.maps{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-grid.characters{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-grid.maps img{height:clamp(120px,22vw,180px)}.game-shell{height:100dvh;min-height:0;overflow:hidden}.lab-workspace{grid-template-columns:1fr;height:auto}.rule-grid{grid-template-columns:1fr}.studio-workspace{grid-template-columns:1fr;height:auto}.terminal-result{grid-template-columns:1fr;max-height:none;overflow:visible}.terminal-ending-media video{max-height:52vh}.hud-top-strip{gap:.45rem;inset:.6rem .6rem auto}.hud-character-card{grid-template-columns:auto minmax(7.5rem,auto);gap:.28rem .45rem;max-width:min(18rem,100vw - 6.5rem);padding:.3rem}.hud-character-card .character-portrait.info{width:52px;height:64px}.stat{gap:.22rem .3rem;margin:.04rem 0}.stat progress{height:.48rem}.money-stat{margin-top:.18rem;padding-top:.18rem}.hud-system-bar{flex-wrap:wrap;justify-content:flex-end;gap:.35rem .45rem;min-width:0;padding:.3rem .45rem}.hud-date span{display:none}.hud-exit{padding:.3rem .5rem}.action-dock{padding:0 .7rem;padding-bottom:max(.55rem, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:.4rem}.action-island{gap:.5rem;max-width:100%;padding:.35rem .45rem}.action-bar-entry{min-width:52px;padding:.3rem .45rem}.action-bar-movement{align-self:stretch}.movement-selector,.movement-launcher,.movement-wheel-stage{flex:1}.movement-wheel-wrap{bottom:calc(var(--hud-bottom-clearance) + .6rem);width:76px;position:fixed;left:.9rem}.action-bar-status{text-align:left;justify-items:start;min-width:0}.movement-mode-tabs>button{min-height:24px;padding:.18rem .45rem}.lab-map-frame{height:65vh}}@media (width<=560px){.home-nav .brand{display:none}.immersive-home{padding-top:1rem}.immersive-hero{padding-top:0}.immersive-home .poster-montage{width:145vw;top:42%}.immersive-actions{width:min(260px,100% - 2rem);display:flex;bottom:1.25rem}.immersive-actions .button{min-width:0;padding-left:.55rem;padding-right:.55rem}.hero h1{font-size:var(--text-display)}.setup-actions{flex-direction:column;align-items:stretch}.setup-actions>div{margin-right:0}.setup-actions .button{width:100%}.choice-grid.maps{grid-template-columns:1fr}.choice-grid.characters{grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-side-results,.terminal-actions{grid-template-columns:1fr}.terminal-roster li{grid-template-columns:2rem 1fr auto}.terminal-roster li>small{grid-column:2/-1}.lab-controls{flex-direction:column;align-items:stretch}.segmented{margin-left:0}.hud-character-card{grid-template-columns:auto minmax(7rem,auto);max-width:min(17rem,100vw - 5.5rem)}.action-bar-item{width:58px}.action-bar-item-icon{height:30px}.movement-mode-tabs>button>span{max-width:4.2rem}}
