.app-shell{background:radial-gradient(circle at top,#8b54332e,#0000 28%),linear-gradient(#1c1410 0%,#0f0b09 100%);min-height:100vh;position:relative}.app-shell__canvas{min-height:100vh;position:relative}.app-shell__launcher{z-index:7;align-items:center;gap:.55rem;display:flex;position:absolute;top:1rem;left:1rem}.app-shell__icon-button{box-sizing:border-box;color:#f4efe1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#0f0b09c7;border:1px solid #f4efe11f;border-radius:999px;align-items:center;gap:.45rem;height:2.15rem;padding:0 .7rem;transition:background-color .14s,border-color .14s,transform .14s;display:inline-flex;box-shadow:0 8px 22px #00000038}.app-shell__icon-button:hover,.app-shell__icon-button--active{background:#d4b17924;border-color:#d4b1796b;transform:translateY(-1px)}.app-shell__icon-button--attention{background:#d6bc6b24;border-color:#d6bc6b8c;box-shadow:0 8px 22px #00000038,0 0 0 2px #d6bc6b1f}.app-shell__icon-button svg{stroke:currentColor;stroke-width:1.7px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.app-shell__icon-button span{font-size:.82rem;font-weight:700}.app-shell__attention-badge{color:#f8e7a4;letter-spacing:.04em;text-transform:uppercase;background:#d6bc6b2e;border-radius:999px;padding:.16rem .38rem;font-size:.64rem}.app-shell__conductor-dock{z-index:7;pointer-events:none;position:absolute;bottom:1rem;left:1rem}.app-shell__conductor-avatar{color:#f4efe1;cursor:pointer;pointer-events:auto;background:radial-gradient(circle at 50% 30%,#f4efe124,#0000 42%),linear-gradient(145deg,#543823f2,#0f0b09f0);border:1px solid #f4efe12e;border-radius:999px;place-items:center;width:6.1rem;height:6.1rem;padding:.3rem;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid;position:relative;overflow:hidden;box-shadow:0 14px 34px #00000057,inset 0 0 0 2px #d4b17924}.app-shell__conductor-avatar:hover,.app-shell__conductor-avatar--active{border-color:#d4b17994;transform:translateY(-1px);box-shadow:0 16px 38px #0000005c,0 0 0 3px #d4b1791f,inset 0 0 0 2px #d4b17942}.app-shell__conductor-avatar-ring{border-radius:inherit;pointer-events:none;border:2px solid #d4b179ad;position:absolute;inset:.25rem}.app-shell__conductor-avatar-hit-flash{z-index:2;border-radius:inherit;pointer-events:none;border:2px solid #e06060db;animation:.52s ease-out forwards conductor-avatar-hit;position:absolute;inset:-.16rem;box-shadow:0 0 0 4px #e060602e,inset 0 0 0 2px #ffaa844d}.app-shell__conductor-avatar-ring:before,.app-shell__conductor-avatar-ring:after{content:"";background:#d4b179;border-radius:999px;width:.34rem;height:.34rem;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 12px #d4b1796b}.app-shell__conductor-avatar-ring:before{top:-.18rem}.app-shell__conductor-avatar-ring:after{bottom:-.18rem}.app-shell__conductor-avatar-svg{z-index:1;border-radius:inherit;width:100%;height:100%;position:relative}.app-shell__conductor-avatar-bob{transform-origin:48px 50px;animation:3.8s ease-in-out infinite conductor-avatar-bob}.app-shell__conductor-avatar-blink{transform-origin:48px 45px;animation:4.8s step-end infinite conductor-avatar-blink}@keyframes conductor-avatar-bob{0%,to{transform:translateY(0)}50%{transform:translateY(1.5px)}}@keyframes conductor-avatar-hit{0%{transform:translate(0)scale(1)}18%{transform:translate(-4px)scale(1.04)}36%{transform:translate(4px)scale(1.03)}58%{transform:translate(-2px)scale(1.01)}to{transform:translate(0)scale(1)}}@keyframes conductor-avatar-blink{0%,88%,to{transform:scaleY(1)}90%,93%{transform:scaleY(.12)}}.render-surface{width:100%;height:100vh}.hud-overlay{z-index:6;pointer-events:none;flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:.42rem;max-width:calc(100% - 23rem);display:flex;position:absolute;top:1rem;right:1rem}.hud-overlay--bottom-right{top:auto;bottom:1rem;right:1rem}.hud-overlay__chip{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0b09c7;border:1px solid #f4efe11a;border-radius:999px;justify-content:center;align-items:center;gap:.3rem;min-width:2.65rem;height:2.15rem;padding:0 .52rem;display:inline-flex;box-shadow:0 8px 22px #00000038}.hud-overlay__chip--interactive{appearance:none;pointer-events:auto;cursor:pointer;color:inherit;font:inherit}.hud-overlay__chip--interactive:hover{border-color:#f4efe147;transform:translateY(-1px)}.hud-overlay__chip--attention{border-color:#f2c45cb8;box-shadow:0 0 0 1px #f2c45c38,0 8px 22px #00000038}.hud-overlay__chip--error{border-color:#e06060d1;box-shadow:0 0 0 1px #e0606042,0 8px 22px #00000038}.hud-overlay__icon{font-size:.84rem;line-height:1}.hud-overlay__value{font-size:.78rem;font-weight:700;line-height:1}.battle-hud{z-index:4;pointer-events:none;width:min(34rem,100% - 2rem);position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.battle-hud__panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f0b09d1;border:1px solid #f4efe11a;border-radius:1rem;padding:.85rem 1rem;box-shadow:0 12px 30px #00000047}.battle-hud__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#d4b179;margin:0;font-size:.72rem}.battle-hud__title{color:#f4efe1;margin:.15rem 0 .35rem;font-size:1.05rem;font-weight:700}.battle-hud__body{color:#f4efe1cc;margin:.1rem 0 0}.battle-hud--engine-hit .battle-hud__panel{background:#380f0bdb;box-shadow:0 12px 30px #00000047,inset 0 0 0 2px #ff6e50bf}.menu-system{z-index:5;pointer-events:none;background:#0706054d;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.menu-system--surface,.menu-system--station-surface{background:0 0;justify-content:stretch;align-items:stretch;padding:0}.menu-system--collapsed{background:0 0;justify-content:flex-end;align-items:flex-end;padding:1.25rem}.menu-system__panel{pointer-events:auto;background:linear-gradient(#271b14f5,#140e0bf5);border:1px solid #f4efe11a;border-radius:1rem;width:min(34rem,100%);max-height:calc(100vh - 3rem);padding:1rem;overflow:auto;box-shadow:0 24px 48px #00000059}.menu-system__panel--conductor-overview{width:min(70rem,100%);overflow:hidden}.menu-system__panel--conductor-overview .menu-system__eyebrow,.menu-system__panel--conductor-overview>.menu-system__body{display:none}.menu-system__panel--conductor-overview .menu-system__title{margin:0;font-size:1.35rem}.menu-system__panel--conductor-overview .menu-system__content{margin-top:.55rem}.menu-system__panel--train-overview,.menu-system__panel--station-overview{width:100%;height:100%;max-height:none;box-shadow:none;pointer-events:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.menu-system__panel--train-overview>.menu-system__header,.menu-system__panel--station-overview>.menu-system__header{z-index:2;pointer-events:auto;position:absolute;top:1rem;right:1rem}.menu-system__panel--train-overview .menu-system__header-copy,.menu-system__panel--train-overview>.menu-system__body,.menu-system__panel--station-overview .menu-system__header-copy,.menu-system__panel--station-overview>.menu-system__body{display:none}.menu-system__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.menu-system__header-copy{min-width:0}.menu-system__header-actions{align-items:center;gap:.5rem;display:flex}.menu-system__eyebrow{letter-spacing:.1em;text-transform:uppercase;color:#d4b179;margin:0;font-size:.7rem}.menu-system__title{margin:.25rem 0 .35rem;font-size:1.55rem}.menu-system__collapse-toggle,.menu-system__close-toggle,.menu-system__collapsed-toggle{color:#f4efe1;cursor:pointer;white-space:nowrap;background:#0f0b09db;border:1px solid #f4efe124;border-radius:999px;padding:.5rem .75rem}.menu-system__close-toggle{width:2.05rem;height:2.05rem;padding:0;font-size:1.1rem;line-height:1}.menu-system__collapsed-toggle{pointer-events:auto;box-shadow:0 16px 32px #00000047}.menu-system__body{color:#f4efe1c7;margin:0}.menu-system__content{gap:.75rem;margin-top:.75rem;display:grid}.menu-system__section{gap:.35rem;display:grid}.menu-system__label{letter-spacing:.08em;text-transform:uppercase;color:#d4b179;margin:0;font-size:.7rem}.menu-system__label-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.menu-system__label-action{color:#f4efe1d6;cursor:pointer;background:#ffffff0a;border:1px solid #d4b1792e;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;display:inline-flex;position:relative;overflow:hidden}.menu-system__label-action:hover{color:#f4efe1;border-color:#d4b1796b}.menu-system__label-action:disabled{cursor:wait;opacity:.75}.menu-system__label-action-progress{background:linear-gradient(90deg,#d4b17966,#f4d37f94);width:0;transition:width .16s;position:absolute;inset:0 auto 0 0}.menu-system__label-action-icon{z-index:1;justify-content:center;align-items:center;display:inline-flex;position:relative}.menu-system__label-action svg{width:1.35rem;height:1.35rem}.menu-system__input{color:#f4efe1;background:#ffffff0a;border:1px solid #f4efe124;border-radius:.7rem;width:100%;padding:.65rem .75rem}.menu-system__input-shell{flex:16rem;position:relative}.menu-system__input-shell .menu-system__input{padding-right:3.5rem}.menu-system__input-action{color:#f4efe1d1;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;display:inline-flex;position:absolute;top:50%;right:.2rem;transform:translateY(-50%)}.menu-system__input-action:hover{color:#f4efe1}.menu-system__input-action svg{width:1.6rem;height:1.6rem}.menu-system__textarea{color:#f4efe1;resize:vertical;width:100%;min-height:7rem;font:inherit;background:#ffffff0a;border:1px solid #f4efe124;border-radius:.7rem;padding:.65rem .75rem}.menu-system__chip-row{flex-wrap:wrap;gap:.4rem;display:flex}.menu-system__chip{color:#f4efe1d1;cursor:pointer;background:#ffffff0a;border:1px solid #f4efe124;border-radius:999px;padding:.28rem .6rem}.menu-system__chip--selected,.menu-system__chip:hover{color:#f4efe1;background:#d4b1791f;border-color:#d4b17973}.menu-system__options{gap:.55rem;display:grid}.menu-system__button-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.menu-system__option{text-align:left;color:#f4efe1;cursor:pointer;background:#ffffff0a;border:1px solid #f4efe11a;border-radius:.8rem;gap:.25rem;padding:.68rem;display:grid}.menu-system__option--selected,.menu-system__option:hover{background:#d4b1791f;border-color:#d4b17973}.menu-system__option span{color:#f4efe1b8}.conductor-selection__race-option{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.68rem}.conductor-selection__race-portrait{background:radial-gradient(circle at 50% 30%,#f4efe12e,#0000 52%),#0f0b09b8;border:1px solid #d4b17957;border-radius:999px;place-items:center;width:3.2rem;height:3.2rem;display:grid;overflow:hidden;box-shadow:0 8px 18px #00000042,inset 0 0 0 2px #0f0b09a8}.conductor-selection__race-portrait-svg{filter:drop-shadow(0 4px 8px #00000047);width:100%;height:100%;display:block}.conductor-selection__race-option.menu-system__option--selected .conductor-selection__race-portrait{border-color:#f4d37fad;box-shadow:0 8px 18px #00000042,0 0 16px #f4d37f2e,inset 0 0 0 2px #0f0b09a8}.conductor-selection__race-eyes{transform-box:fill-box;transform-origin:50%}.conductor-selection__race-option.menu-system__option--selected .conductor-selection__race-eyes{animation:3.2s step-end infinite conductor-race-eyes-blink}.conductor-selection__race-copy{gap:.22rem;min-width:0;display:grid}.conductor-selection__race-copy strong{color:#f4efe1}.conductor-selection__race-copy span{font-size:.68rem;line-height:1.28}@keyframes conductor-race-eyes-blink{0%,86%,to{transform:scaleY(1)}88%,92%{transform:scaleY(.12)}}.menu-system__support{background:#ffffff08;border:1px solid #f4efe11a;border-radius:.8rem;padding:.65rem .75rem}.menu-system__support-row{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.menu-system__support-copy{flex:auto;gap:.45rem;display:grid}.menu-system__progress{background:#0f0b098c;border-radius:999px;width:min(18rem,100%);height:.45rem;position:relative;overflow:hidden}.menu-system__progress-fill{border-radius:inherit;background:linear-gradient(90deg,#d4b179,#f4d37f);transition:width .16s;position:absolute;inset:0 auto 0 0}.menu-system__ready{color:#b9e7a8;align-items:center;gap:.4rem;margin:0;font-size:.86rem;font-weight:700;display:inline-flex}.menu-system__tome-icon{fill:#d4b17947;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.05rem;height:1.05rem}.menu-system__badge-row{justify-content:flex-start;margin-bottom:.8rem;display:flex}.menu-system__tome-badge{color:#f4efe1;background:#d4b17914;border:1px solid #d4b17942;border-radius:999px;align-items:center;gap:.45rem;width:fit-content;padding:.42rem .65rem;font-size:.78rem;font-weight:800;display:inline-flex}.menu-system__tome-generating{color:#f4efe1c7;background:linear-gradient(90deg,#d4b17914,#f4d37f0a),#0f0b0947;border:1px solid #d4b17929;border-radius:.85rem;gap:.5rem;margin-bottom:.8rem;padding:.72rem;font-size:.78rem;line-height:1.35;display:grid}.menu-system__help{color:#f4efe1;outline:none;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.menu-system__help-icon{background:#0f0b09b3;border:1px solid #f4efe133;border-radius:999px;justify-content:center;align-items:center;width:1.45rem;height:1.45rem;font-size:.78rem;font-weight:800;display:inline-flex}.menu-system__help-tooltip{z-index:12;color:#f4efe1db;opacity:0;pointer-events:none;background:#0f0b09f5;border:1px solid #f4efe124;border-radius:.8rem;width:min(20rem,72vw);padding:.75rem .85rem;font-size:.82rem;line-height:1.4;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .55rem);right:0;transform:translateY(.2rem);box-shadow:0 18px 34px #00000052}.menu-system__help:hover .menu-system__help-tooltip,.menu-system__help:focus-visible .menu-system__help-tooltip{opacity:1;transform:translateY(0)}.menu-system__support--warning{background:#d4b17914;border-color:#d4b17952}.menu-system__support--error{background:#d6727214;border-color:#d6727266}.menu-system__secondary{color:#f4efe1;cursor:pointer;background:#ffffff0d;border:1px solid #f4efe124;border-radius:999px;padding:.8rem 1rem}.menu-system__secondary--progress{position:relative;overflow:hidden}.menu-system__secondary--ready{border-color:#b9e7a86b}.menu-system__button-progress-fill{background:linear-gradient(90deg,#d4b17970,#f4d37f9e);width:0;transition:width .16s;position:absolute;inset:0 auto 0 0}.menu-system__button-label{z-index:1;align-items:center;gap:.4rem;display:inline-flex;position:relative}.menu-system__secondary:disabled,.menu-system__primary:disabled{cursor:wait;opacity:.7}.menu-system__primary{color:#f4efe1;cursor:pointer;background:#d4b17924;border:1px solid #d4b1795c;border-radius:999px;padding:.8rem 1rem}.conductor-roster__list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:.75rem}.conductor-roster__card{gap:.6rem;padding:.9rem;display:grid}.conductor-roster__card-body{text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;gap:.35rem;padding:0;display:grid}.conductor-roster__card-description{color:#f4efe199;font-style:italic}.conductor-roster__card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.conductor-roster__delete-confirm{color:#f4efe1;background:#d672721f;border-color:#d672728c}.conductor-roster__create{border-style:dashed;align-content:center;justify-items:start}.conductor-roster__footer{justify-content:flex-start;margin-top:.5rem}.conductor-roster__selection-note{margin:0}.battle-report{position:relative;overflow:hidden}.battle-report__layout{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:stretch;gap:.85rem;display:grid;position:relative}.battle-report__hero,.battle-report__stat-grid{background:linear-gradient(#ffffff0d,#ffffff05),radial-gradient(circle at top,#d4b1791f,#07060500);border:1px solid #d4b17938;border-radius:1.15rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff0d}.battle-report__hero{flex-direction:column;justify-content:space-between;gap:1rem;min-height:100%;padding:1rem;display:flex}.battle-report__hero-status{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:1.45rem;font-weight:700;line-height:1.1}.battle-report__hero-status--victory{color:#f4d37f}.battle-report__hero-status--defeat{color:#f09b93}.battle-report__stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.75rem;display:grid}.battle-report__stat-card{background:#ffffff0a;border:1px solid #f4efe114;border-radius:.95rem;align-content:start;gap:.35rem;min-height:5.6rem;padding:.85rem .9rem;display:grid}.battle-report__reward-row{flex-wrap:wrap;gap:.45rem;display:flex}.battle-report__reward-chip{color:#f4efe1;background:#ffffff0a;border:1px solid #d4b17933;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .55rem;line-height:1;display:inline-flex}.battle-report__reward-icon{font-size:.9rem}.battle-report__stat-icon{color:#d4b179e0;font-size:1rem}.battle-report__stat-label{color:#f4efe1a8;letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.battle-report__stat-value{color:#f4efe1;font-size:1.25rem;font-weight:700;line-height:1}.battle-report__confetti{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.battle-report__confetti-piece{opacity:0;filter:drop-shadow(0 6px 10px #0000003d);border-radius:999px;width:.5rem;height:.95rem;animation-name:battle-report-confetti-fall;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;top:-14%}.battle-report__confetti-piece--tone-1{background:#f4d37f}.battle-report__confetti-piece--tone-2{background:#8bc7ff}.battle-report__confetti-piece--tone-3{background:#8ee1b1}.battle-report__confetti-piece--tone-4{background:#f3a7b6}@keyframes battle-report-confetti-fall{0%{opacity:0}12%{opacity:1}to{opacity:0;transform:translateY(18rem)rotate(520deg)}}@media (width<=640px){.battle-report__layout{grid-template-columns:1fr}.battle-report__hero{padding:.85rem}.battle-report__hero-status{font-size:1.2rem}.battle-report__stat-grid{gap:.55rem;padding:.65rem}.battle-report__stat-card{min-height:5rem}}.battle-report>.menu-system__primary{z-index:1;position:relative}.train-overview{pointer-events:none;height:100%;margin-top:0}.train-overview__surface{pointer-events:none;width:100%;height:100%;position:relative}.train-overview__surface:before{content:"";background:radial-gradient(circle,#0000 32%,#07060533 100%),linear-gradient(#0706050d,#07060524);position:absolute;inset:0}.train-overview__continue-row{z-index:2;pointer-events:auto;gap:.42rem;display:flex;position:absolute;bottom:.58rem;left:50%;transform:translate(-50%)}.train-overview-anchor{pointer-events:none}.train-overview-hotspot,.train-overview-panel{pointer-events:auto}.train-overview-hotspot{color:#f4efe1;cursor:pointer;white-space:nowrap;background:#0f0b09e6;border:1px solid #f4efe124;border-radius:999px;justify-content:center;align-items:center;min-width:1.45rem;padding:.16rem .32rem;display:inline-flex;position:relative;box-shadow:0 7px 16px #00000038}.train-overview-hotspot:hover,.train-overview-hotspot--active{background:#251b13f0;border-color:#d4b17973}.train-overview-hotspot--disabled,.train-overview-hotspot--disabled:hover{opacity:.76}.train-overview-hotspot__label{letter-spacing:.02em;font-size:.5rem;font-weight:700;line-height:1}.train-overview-hotspot--upgrade{min-width:1.28rem;padding:.13rem .26rem}.train-overview-hotspot__icon{color:#f4efe1;font-size:.7rem;font-weight:700;line-height:1}.train-overview-hotspot__tooltip{color:#f4efe1db;letter-spacing:.01em;opacity:0;pointer-events:none;background:#0f0b09f0;border:1px solid #f4efe11f;border-radius:999px;min-width:max-content;padding:.14rem .34rem;font-size:.5rem;font-weight:700;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .22rem);left:50%;transform:translate(-50%)translateY(.12rem);box-shadow:0 8px 18px #0000003d}.train-overview-hotspot:hover .train-overview-hotspot__tooltip,.train-overview-hotspot:focus-visible .train-overview-hotspot__tooltip{opacity:1;transform:translate(-50%)translateY(0)}.train-overview-panel{color:#f4efe1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f0b09e6;border:1px solid #f4efe11f;border-radius:.56rem;width:min(14.5rem,100vw - 2rem);padding:.48rem;position:relative;box-shadow:0 14px 26px #00000042}.train-overview-panel-slot{z-index:3;pointer-events:auto;position:absolute}.train-overview-panel-slot--left{top:3.25rem;left:.62rem}.train-overview-panel-slot--right{top:3.25rem;right:.62rem}.train-overview-panel--buy{width:min(44rem,100vw - 2rem);max-height:min(33rem,100vh - 4rem);overflow:auto}.train-overview-panel-slot--center{top:2.55rem;left:50%;transform:translate(-50%)}.train-overview-panel__eyebrow,.train-overview-panel__title,.train-overview-panel__body,.train-overview-panel__warning{margin:0}.train-overview-panel__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#d4b179;font-size:.48rem}.train-overview-panel__title{margin-top:.12rem;font-size:.72rem}.train-overview-panel__body{color:#f4efe1c2;margin-top:.2rem;font-size:.63rem}.train-overview-panel__warning{color:#e4b4a6;margin-top:.28rem}.train-overview-panel__header-row,.train-overview-panel__actions{justify-content:space-between;align-items:center;gap:.32rem;display:flex}.train-overview-panel__actions{justify-content:flex-start;margin-top:.36rem}.train-overview-panel__dismiss{z-index:1;position:absolute;top:.4rem;right:.4rem}.train-overview-panel .menu-system__primary{margin-top:0}.station-menu{height:100%;margin-top:0}.station-menu__surface{pointer-events:none;width:100%;height:100%;position:relative}.station-menu__surface:before{content:"";background:radial-gradient(circle,#0000 35%,#0706052e 100%),linear-gradient(#07060514,#0706052e);position:absolute;inset:0}.station-menu__marker{pointer-events:auto;text-align:left;color:#f4efe1;cursor:pointer;background:#0f0b09d1;border:1px solid #f4efe11f;border-radius:.75rem;gap:.2rem;min-width:9.6rem;max-width:12rem;padding:.55rem .68rem;display:grid;position:absolute;box-shadow:0 16px 32px #0000003d}.station-menu__marker:hover{background:#251b13eb;border-color:#d4b1796b}.station-menu__marker--disabled,.station-menu__marker--disabled:hover{opacity:.68;cursor:not-allowed}.station-menu__marker-dot{background:#d4b179;border-radius:999px;width:.48rem;height:.48rem;box-shadow:0 0 0 .18rem #d4b1792e}.station-menu__marker-label{font-size:.82rem;font-weight:700}.station-menu__marker-detail{color:#f4efe1b8;font-size:.68rem}.station-menu__marker--conductor{top:33%;left:10%}.station-menu__marker--dispatch{top:25%;left:39%}.station-menu__marker--train{top:52%;right:14%}.station-menu__marker--archives{top:33%;right:10%}.station-plot-tooltip{pointer-events:none}.station-plot-card{color:#f4efe1;text-align:left;background:#0f0b09e0;border:1px solid #f4efe124;border-radius:.42rem;gap:.1rem;width:6.8rem;padding:.28rem .36rem;display:grid;box-shadow:0 7px 14px #00000038}.station-plot-card--built{background:#181c26e0;border-color:#8ea7d45c}.station-plot-card strong{font-size:.56rem}.station-plot-card span{color:#f4efe1b8;font-size:.5rem}.overmap-node-tooltip{pointer-events:none}.overmap-node-tooltip__card{color:#f4efe1;text-align:left;background:#0f0b09f0;border:1px solid #f4efe13d;border-radius:.7rem;gap:.34rem;width:14rem;padding:.68rem .8rem;display:grid;box-shadow:0 10px 24px #00000057,inset 0 0 0 1px #d4b17914}.overmap-node-tooltip__card strong{font-size:1rem;line-height:1.2}.overmap-node-tooltip__card span,.overmap-node-tooltip__card em{color:#f4efe1d6;font-size:.82rem;font-style:normal;line-height:1.4}.overmap-node-tooltip__type{letter-spacing:.08em;text-transform:uppercase;background:#f4efe129;border-radius:999px;width:max-content;padding:.14rem .5rem;font-weight:800;color:#f4efe1!important;font-size:.68rem!important}.train-refit{gap:.34rem;display:grid}.train-refit__layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:.34rem;display:grid}.train-refit__summary-card,.train-refit__carousel-card{background:#ffffff09;border:1px solid #f4efe11a;border-radius:.6rem;gap:.3rem;padding:.42rem .54rem .5rem;display:grid}.train-refit__carousel-header{justify-content:space-between;align-items:center;gap:.52rem;display:flex}.train-refit__hint,.train-refit__summary-line,.train-refit__description,.train-refit__design,.train-refit__effect-line{color:#f4efe1b8;margin:0}.train-refit__hint{font-size:.66rem}.train-refit__arrow-row{z-index:1;pointer-events:none;justify-content:space-between;align-items:center;padding:0 .34rem;display:flex;position:absolute;inset:0}.train-refit__arrow{color:#f4efe1;pointer-events:auto;cursor:pointer;background:#0f0b09db;border:1px solid #f4efe124;border-radius:999px;width:1.48rem;height:1.48rem;font-size:.72rem}.train-refit__carousel-surface{touch-action:pan-y;background:linear-gradient(#18110dfa,#0e0a08fa);border:1px solid #f4efe114;border-radius:.6rem;min-height:min(3.55rem,7vh);position:relative;overflow:hidden}.train-refit__carousel-surface canvas{display:block;width:100%!important;height:100%!important}.train-refit__details{gap:.12rem;display:grid}.train-refit__name{color:#f4efe1;margin:0;font-size:.8rem;font-weight:700}.train-refit__design{letter-spacing:.06em;text-transform:uppercase;font-size:.58rem}.train-refit__info-grid{grid-template-columns:minmax(0,1.45fr) minmax(10rem,.9fr);align-items:start;gap:.44rem;display:grid}.train-refit__info-main,.train-refit__info-side{gap:.28rem;display:grid}.train-refit__cost-row{flex-wrap:wrap;gap:.26rem;display:flex}.train-refit__effect-list{gap:.12rem;display:grid}.train-refit__effect-line{font-size:.6rem}.train-refit__cost-pill{color:#f4efe1;background:#ffffff0a;border:1px solid #f4efe11f;border-radius:999px;padding:.2rem .44rem;font-size:.6rem}.train-refit__cost-pill--error{color:#ffd7d7;background:#781a1a52;border-color:#e06060d1}.train-refit__meta{gap:.18rem;display:grid}.train-refit__buy-button{cursor:default;place-self:start}.train-refit__buy-button:hover{transform:none}.train-refit__buy-button--blocked{color:#f4efe1db;border-color:#e0606059}.conductor-menu{gap:0;height:min(31rem,100vh - 9.5rem)}.conductor-menu__hero-sheet{grid-template-columns:minmax(13rem,.7fr) minmax(22rem,1.5fr) minmax(15rem,1fr);align-items:stretch;gap:0;height:100%;min-height:0;display:grid}.conductor-menu__panel{flex-direction:column;gap:.6rem;min-height:0;padding:.8rem .7rem;display:flex;overflow:hidden}.conductor-menu__panel--left{background:#0f0b098c;border-right:1px solid #d4b1791f}.conductor-menu__panel--center{background:radial-gradient(65% 50% at 50% 40%,#1e463773,#0000),radial-gradient(80% 60% at 50% 90%,#0f0b09e6,#0000),linear-gradient(#162a22f2,#0c120efa);justify-content:center;align-items:center;position:relative}.conductor-menu__panel--right{background:#0f0b098c;border-left:1px solid #d4b1791f}.conductor-menu__panel-heading{letter-spacing:.1em;text-transform:uppercase;color:#d4b179;border-bottom:1px solid #d4b17924;margin:0;padding-bottom:.4rem;font-size:.78rem}.conductor-menu__skill-list{gap:.45rem;display:grid}.conductor-menu__skill-row{background:#ffffff06;border:1px solid #f4efe10f;border-radius:.65rem;align-items:center;gap:.6rem;padding:.25rem .35rem;display:flex;position:relative}.conductor-menu__skill-icon{color:#d4b179;background:#0f0b0980;border:1px solid #d4b17959;border-radius:999px;flex-shrink:0;place-items:center;width:1.95rem;height:1.95rem;font-size:.82rem;font-weight:700;display:grid}.conductor-menu__skill-name{color:#f4efe1;margin:0;font-size:.8rem;font-weight:600}.conductor-menu__trait-tooltip,.conductor-menu__artifact-tooltip{z-index:8;color:#f4efe1d6;opacity:0;pointer-events:none;background:#0f0b09f5;border:1px solid #d4b17938;border-radius:.55rem;width:max-content;max-width:16rem;padding:.38rem .5rem;font-size:.62rem;line-height:1.25;transition:opacity .14s,transform .14s;position:absolute;bottom:calc(100% + .35rem);left:50%;transform:translate(-50%)translateY(.2rem);box-shadow:0 10px 24px #00000052}.conductor-menu__skill-row:hover .conductor-menu__trait-tooltip,.conductor-menu__skill-row:focus-visible .conductor-menu__trait-tooltip,.conductor-menu__artifact-button:hover .conductor-menu__artifact-tooltip,.conductor-menu__artifact-button:focus-visible .conductor-menu__artifact-tooltip,.conductor-menu__artifact-slot:hover .conductor-menu__artifact-tooltip,.conductor-menu__artifact-slot:focus-visible .conductor-menu__artifact-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.conductor-menu__muted{color:#f4efe180;margin:0;font-size:.82rem}.conductor-menu__portrait-stage{flex:auto;place-items:center;width:100%;min-height:18.5rem;display:grid;position:relative}.conductor-menu__portrait-frame{z-index:1;aspect-ratio:3/4;background:radial-gradient(circle at 50% 30%,#32785040,#0000 60%),linear-gradient(#32241af2,#140e0afa);border:1px solid #d4b17933;border-radius:1rem;width:min(17rem,84%);padding:.4rem;position:relative;box-shadow:0 0 40px #1e503726,inset 0 0 0 1px #f4efe10a}.conductor-menu__portrait-art{text-align:center;background:radial-gradient(circle at 50% 25%,#f4efe12e,#0000 28%),radial-gradient(50% 20% at 50% 88%,#0000005c,#0000 72%),linear-gradient(#553c2aeb,#1e1610f5);border:1px solid #f4efe10f;border-radius:.75rem;place-items:center;width:100%;height:100%;padding:.35rem;display:grid}.conductor-menu__full-body-svg{filter:drop-shadow(0 10px 18px #00000057);width:100%;height:100%}.conductor-menu__full-body-idle{transform-origin:90px 130px;animation:4.4s ease-in-out infinite conductor-full-body-idle}.conductor-menu__full-body-blink{transform-origin:91px 78px;animation:5.2s step-end infinite conductor-full-body-blink}@keyframes conductor-full-body-idle{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}@keyframes conductor-full-body-blink{0%,88%,to{transform:scaleY(1)}90%,93%{transform:scaleY(.12)}}.conductor-menu__artifact-ring{pointer-events:none;position:absolute;inset:0}.conductor-menu__artifact-slot{pointer-events:auto;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;position:absolute}.conductor-menu__artifact-slot-icon{color:#f4efe1b3;background:#0f0b09d9;border:1px solid #d4b17947;border-radius:999px;place-items:center;width:2.15rem;height:2.15rem;font-size:.82rem;font-weight:600;display:grid;box-shadow:0 6px 18px #0000004d}.conductor-menu__artifact-slot:hover .conductor-menu__artifact-slot-icon,.conductor-menu__artifact-slot:focus-visible .conductor-menu__artifact-slot-icon,.conductor-menu__artifact-slot--drop-valid .conductor-menu__artifact-slot-icon{color:#f4efe1;background:#1c4a30bf;border-color:#8ee1b1b3}.conductor-menu__artifact-slot--drop-invalid .conductor-menu__artifact-slot-icon{border-color:#f09b9373}.conductor-menu__artifact-slot-label{color:#f4efe19e;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.5rem;font-weight:700;position:absolute;top:calc(100% + .14rem);left:50%;transform:translate(-50%)}.conductor-menu__artifact-svg{width:1.45rem;height:1.45rem;display:block}.conductor-menu__equipment-hint{color:#f4efe18f;text-align:center;max-width:18rem;margin:0;font-size:.66rem;line-height:1.35}.conductor-menu__artifact-slot--top{top:0;left:50%;transform:translate(-50%)}.conductor-menu__artifact-slot--top-right{top:8%;right:3%}.conductor-menu__artifact-slot--right{top:45%;right:0;transform:translateY(-50%)}.conductor-menu__artifact-slot--bottom-right{bottom:10%;right:5%}.conductor-menu__artifact-slot--bottom{bottom:0;left:50%;transform:translate(-50%)}.conductor-menu__artifact-slot--bottom-left{bottom:10%;left:5%}.conductor-menu__artifact-slot--left{top:45%;left:0;transform:translateY(-50%)}.conductor-menu__identity-block{gap:.28rem;display:grid}.conductor-menu__hero-name{color:#f4efe1;margin:0;font-size:1.05rem;font-weight:700}.conductor-menu__hero-subtitle{color:#d4b179;margin:0;font-size:.76rem}.conductor-menu__hero-description{color:#f4efe1b8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.25rem 0 0;font-size:.76rem;display:-webkit-box;overflow:hidden}.conductor-menu__hero-backstory{color:#f4efe18c;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.2rem 0 0;font-size:.72rem;font-style:italic;display:-webkit-box;overflow:hidden}.conductor-menu__divider{background:#d4b17924;height:1px}.conductor-menu__ability-list{gap:.45rem;display:grid}.conductor-menu__ability-row{align-items:flex-start;gap:.45rem;display:flex}.conductor-menu__ability-icon{color:#d4b179;background:#0f0b0973;border:1px solid #d4b17940;border-radius:.45rem;flex-shrink:0;place-items:center;width:1.55rem;height:1.55rem;font-size:.7rem;font-weight:700;display:grid}.conductor-menu__ability-body{min-width:0}.conductor-menu__ability-name{color:#f4efe1;margin:0;font-size:.76rem;font-weight:600}.conductor-menu__ability-effect{color:#f4efe194;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.1rem 0 0;font-size:.66rem;display:-webkit-box;overflow:hidden}.conductor-menu__upgrade-list{gap:.45rem;display:grid}.conductor-menu__upgrade-card{color:#f4efe1;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #f4efe114;border-radius:.65rem;gap:.2rem;padding:.45rem .55rem;display:grid}.conductor-menu__upgrade-card:hover{background:#d4b17914;border-color:#d4b17966}.conductor-menu__upgrade-card--locked,.conductor-menu__upgrade-card--locked:hover{opacity:.6;cursor:not-allowed;background:#ffffff05;border-color:#f4efe10f}.conductor-menu__upgrade-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.conductor-menu__cost-pill{color:#f4efe1;background:#ffffff09;border:1px solid #f4efe11a;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.68rem;display:inline-flex}.conductor-menu__upgrade-note{color:#f4efe173;margin:0;font-size:.64rem}.conductor-menu__summary-row{flex-wrap:wrap;gap:.4rem;display:flex}.conductor-menu__summary-chip{color:#f4efe1d1;letter-spacing:.04em;text-transform:uppercase;background:#ffffff08;border:1px solid #f4efe114;border-radius:999px;align-items:center;padding:.24rem .55rem;font-size:.68rem;font-weight:600;display:inline-flex}.conductor-menu__detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-height:0;display:grid}.conductor-menu__detail-card{background:#ffffff08;border:1px solid #f4efe114;border-radius:.8rem;align-content:start;gap:.45rem;min-height:0;padding:.55rem .6rem;display:grid}.conductor-menu__artifact-inventory{grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr));gap:.45rem;display:grid}.conductor-menu__artifact-button{color:#f4efe1;cursor:grab;background:#0f0b098c;border:1px solid #d4b1792e;border-radius:.7rem;place-items:center;min-height:2.75rem;display:grid;position:relative;box-shadow:inset 0 1px #f4efe10a}.conductor-menu__artifact-button:hover,.conductor-menu__artifact-button:focus-visible,.conductor-menu__artifact-button--selected{background:#d4b1791f;border-color:#d4b1798c}.conductor-menu__artifact-button:active{cursor:grabbing}.conductor-menu__artifact-count{color:#f4efe1b8;font-size:.54rem;font-weight:800;position:absolute;bottom:.18rem;right:.24rem}.conductor-menu__bottom-bar{justify-content:center;padding:.75rem 0 0;display:flex}.conductor-menu__action-button{color:#f4efe1;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:#0f0b09b3;border:1px solid #d4b17940;border-radius:.5rem;min-width:14rem;padding:.65rem 1.5rem;font-size:.88rem;font-weight:600}.conductor-menu__action-button:hover{background:#d4b1791a;border-color:#d4b17973}.conductor-menu__empty{gap:1rem;display:grid}@media (width<=960px){.app-shell__launcher,.hud-overlay{top:.75rem}.app-shell__launcher{gap:.5rem;left:.75rem}.app-shell__conductor-dock{bottom:.75rem;left:.75rem}.app-shell__conductor-avatar{width:4rem;height:4rem;padding:.2rem}.hud-overlay{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 1.5rem);right:.75rem}.app-shell__icon-button{padding:0 .65rem}.menu-system__panel--conductor-overview{width:min(100%,42rem)}.menu-system__panel--station-overview>.menu-system__header{top:.75rem;right:.75rem}.train-refit__layout{grid-template-columns:1fr}.menu-system__panel--train-overview>.menu-system__header{top:.75rem;right:.75rem}.train-overview__continue-row{bottom:1rem}.train-overview-panel{width:min(22rem,100vw - 1.5rem)}.train-overview-panel-slot--left,.train-overview-panel-slot--right,.train-overview-panel-slot--center{top:auto;left:.75rem;right:.75rem;transform:none}.train-overview-panel-slot--left,.train-overview-panel-slot--right{bottom:11.5rem}.train-overview-panel-slot--center{top:3.5rem;bottom:auto}.train-overview-panel--buy{width:auto;max-height:min(40rem,100vh - 4.5rem)}.station-menu__marker{min-width:10rem;max-width:12rem;padding:.7rem .8rem}.station-menu__marker--conductor{top:24%;left:5%}.station-menu__marker--dispatch{top:14%;left:35%}.station-menu__marker--train{top:45%;right:4%}.station-menu__marker--archives{top:24%;right:7%}.train-refit__carousel-surface{min-height:4.75rem}.train-refit__info-grid{grid-template-columns:1fr}.conductor-menu__hero-sheet{grid-template-columns:1fr;height:auto}.conductor-menu__panel--left,.conductor-menu__panel--right{border-bottom:1px solid #d4b1791f;border-left:none;border-right:none}.conductor-menu__portrait-stage{min-height:18rem}.conductor-menu{height:auto}.conductor-menu__detail-grid{grid-template-columns:1fr}}:root{color:#f4efe1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#120d0b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{min-height:100vh}button,input,select{font:inherit}
