:root{color-scheme:dark;font-family:Segoe UI,system-ui,sans-serif;background-color:#0b0b12;color:#edf1f8;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#141622,#08080f 55%,#050509)}#app{min-height:100vh}button{font:inherit;border:none;background:transparent}p,h1,h2,h3{margin:0}ul{list-style:none;padding:0;margin:0}.game-shell{display:flex;flex-direction:column;min-height:100vh;padding:18px;gap:16px}.hud{display:flex;flex-direction:column;gap:12px;background:#0f121ce6;border:1px solid rgba(120,135,180,.2);border-radius:16px;padding:16px 18px;box-shadow:0 10px 24px #04060c66}.hud__title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.hud__brand{font-size:18px;font-weight:700;letter-spacing:.04em}.hud__subtitle{font-size:14px;color:#9fb0d1}.hud__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.stat{background:#191c2cb3;padding:8px 10px;border-radius:10px;font-size:13px;color:#dfe6f6}.game-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;flex:1;align-content:start}.panel{background:#0b0d16e6;border-radius:18px;border:1px solid rgba(92,104,142,.3);padding:14px 16px;display:flex;flex-direction:column;gap:14px;box-shadow:inset 0 0 0 1px #ffffff05}.panel__header h2{font-size:18px}.panel__header span{color:#9fb0d1;font-size:13px}.tab-bar{grid-column:span 12;display:flex;flex-wrap:wrap;gap:8px;background:#0c0f1ae6;padding:8px;border-radius:14px;border:1px solid rgba(92,104,142,.3)}.tab-bar__button{background:#191e2ee6;color:#d4e0ff;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s ease,transform .2s ease}.tab-bar__button--active{background:linear-gradient(135deg,#b21f42,#e34d6d);color:#fff}.tab-bar__button--locked{opacity:.6;cursor:not-allowed}.tab-bar__button:hover:not(.tab-bar__button--active){transform:translateY(-1px)}.toast-stack{position:fixed;top:18px;right:18px;display:grid;gap:8px;z-index:50;max-width:280px}.toast{background:#0f121cf2;border-radius:12px;padding:10px 12px;font-size:13px;border:1px solid rgba(92,104,142,.4);color:#dfe6f6;box-shadow:0 6px 18px #04060c59}.toast--warning{border-color:#ffb26e99;color:#ffd7b1}.toast--success{border-color:#76e8aa99;color:#c6ffe3}.toast--info{border-color:#91b5ff99;color:#cbd9ff}.panel--story{grid-column:span 12}.panel--map{grid-column:span 7}.panel--details{grid-column:span 5}.panel--modules{grid-column:span 7}.panel--combat{grid-column:span 12}.panel--doctrine{grid-column:span 5}.panel--save,.panel--faq{grid-column:span 6}.panel--training,.panel--tutorial{grid-column:span 12}.panel--research{grid-column:span 7}.panel--lore,.panel--achievements{grid-column:span 12}.panel--log{grid-column:span 7}.panel--notifications{grid-column:span 5}.level-progress{display:grid;gap:8px;background:#121624bf;padding:12px;border-radius:12px;font-size:13px;color:#cdd8f3}.level-progress__title{font-weight:600}.level-progress__meta{color:#9fb0d1}.action-group{display:grid;gap:10px}.action-group h3{font-size:15px;color:#d7e1f7}.actions{display:grid;gap:10px}.actions button,.details__actions button,.combat__actions button,.module-card button,.doctrine-card button,.research-card button,.save-actions button{background:linear-gradient(135deg,#b21f42,#e34d6d);color:#fff;padding:9px 12px;border-radius:10px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;display:grid;gap:6px;text-align:left}.actions button:disabled,.details__actions button:disabled,.combat__actions button:disabled,.module-card button:disabled,.doctrine-card button:disabled,.research-card button:disabled,.save-actions button:disabled{background:#454c5fb3;cursor:not-allowed;box-shadow:none}.actions button:hover:not(:disabled),.details__actions button:hover:not(:disabled),.combat__actions button:hover:not(:disabled),.module-card button:hover:not(:disabled),.doctrine-card button:hover:not(:disabled),.research-card button:hover:not(:disabled),.save-actions button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #e2466759}.rates{font-size:13px;color:#b6c2de;display:grid;gap:6px}.action-cost{font-size:12px;color:#f4c6d1}.action-insight{background:#111624cc;border-radius:12px;padding:12px;border:1px solid rgba(92,104,142,.2);display:grid;gap:6px;font-size:13px}.action-insight__title{font-weight:600;color:#f1c2ce}.action-insight__effect{color:#a7c1ff}.map-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.map-node{background:#161b2de6;border:1px solid rgba(92,104,142,.4);padding:12px;border-radius:14px;text-align:left;color:#e5ebf7;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.map-node--active{border-color:#ff7895;box-shadow:0 0 0 2px #ff789533}.map-node--cleared{background:#112320e6;border-color:#56a08080}.map-node--locked{opacity:.5;cursor:not-allowed}.map-node:hover:not(.map-node--locked){transform:translateY(-2px)}.map-node__title{font-weight:600;margin-bottom:6px}.map-node__meta{font-size:12px;color:#a9b7d7}.details{display:grid;gap:12px}.details__header{display:flex;justify-content:space-between;align-items:center;gap:12px}.details__reward ul{display:grid;gap:6px;font-size:13px;color:#ccd6f3}.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600}.tag--success{background:#24925f33;color:#7ef0b4}.tag--warning{background:#d77e4433;color:#ffc392}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.module-card{background:#14192acc;border-radius:14px;padding:12px;border:1px solid rgba(85,97,134,.4);display:grid;gap:12px}.module-card__header{display:flex;justify-content:space-between;gap:10px}.module-card__cost{display:flex;gap:10px;font-size:13px;color:#c1cce7}.module-card__actions,.doctrine-card__actions{display:grid;gap:8px}.module-card__upgrade,.doctrine-card__upgrade,.doctrine-card__activate{background:#191e2ee6}.module-card__requires{font-size:12px;color:#9fb0d1}.module-card__meta,.module-card__effects{display:flex;flex-wrap:wrap;gap:6px}.module-card__upgrade-costs{font-size:12px;color:#b9c6e4;display:grid;gap:4px}.doctrine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.doctrine-card{background:#14192acc;border-radius:14px;padding:12px;border:1px solid rgba(85,97,134,.4);display:grid;gap:10px}.doctrine-card__header{display:flex;justify-content:space-between;gap:10px}.pill{background:#232a40cc;border-radius:999px;padding:4px 10px;font-size:12px;color:#c4d4f5}.pill--dark{background:#181c2ce6;color:#f0c8d4}.combat{display:grid;gap:12px}.combat__enemy,.combat__player{display:grid;gap:8px}.bar{width:100%;height:10px;border-radius:999px;background:#1b2234e6;overflow:hidden}.bar__fill{height:100%;background:linear-gradient(90deg,#6dd5ed,#2193b0);transition:width .3s ease}.bar__fill--danger{background:linear-gradient(90deg,#ff416c,#ff4b2b)}.combat__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.combat__intent{font-size:12px;color:#ffb7c6}.combat__buffs{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#cfe2ff}.combat--idle{font-size:14px;color:#b2bfdc}.log{display:grid;gap:8px;max-height:180px;overflow:auto;padding-right:6px}.notification-list{display:grid;gap:8px}.notification-item{background:#131826cc;border-radius:10px;padding:10px 12px;font-size:13px;border:1px solid rgba(92,104,142,.3)}.notification-item--warning{border-color:#ffb26e99;color:#ffd7b1}.notification-item--success{border-color:#76e8aa99;color:#c6ffe3}.notification-item--info{border-color:#91b5ff99;color:#cbd9ff}.notification-empty{color:#8fa1c5;font-size:13px}.save-box{display:grid;gap:12px}.save-box textarea{background:#141826cc;border:1px solid rgba(92,104,142,.4);color:#e1e9ff;border-radius:12px;padding:10px;resize:vertical}.save-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.save-reset{background:linear-gradient(135deg,#2f394f,#4d5978)}.save-reset:hover:not(:disabled){box-shadow:0 6px 16px #7388b959}.save-status{font-size:13px;color:#9fc2ff}.faq{display:grid;gap:12px;font-size:13px;color:#d1dbf5}.faq__item{background:#121624a6;padding:12px;border-radius:12px;border:1px solid rgba(92,104,142,.2);display:grid;gap:6px}.faq__item summary{font-weight:600;cursor:pointer;list-style:none}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";float:right;color:#9fb0d1}.faq__item[open] summary:after{content:"–"}.faq__item p{margin-top:8px}.log li{display:grid;grid-template-columns:70px 1fr;gap:10px;font-size:13px;color:#d7e1f7}.log__time{color:#8fa1c5}.footer{text-align:center;font-size:14px;color:#9fb0d1}.training{display:grid;gap:12px;font-size:13px;color:#d1dbf5}.tree-grid{display:grid;gap:16px}.tree-branch{background:#101422b3;border-radius:16px;border:1px solid rgba(92,104,142,.3);padding:12px;display:grid;gap:12px}.tree-branch__header{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#b8c7e6}.tree-branch__header h3{font-size:16px;color:#f5c7d5}.tree-branch__nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.lore-grid{display:grid;gap:16px}.lore-era{background:#101422b3;border-radius:16px;border:1px solid rgba(92,104,142,.3);padding:14px;display:grid;gap:12px}.lore-era__header{display:flex;justify-content:space-between;gap:12px;color:#b8c7e6}.lore-era__header h3{font-size:18px;color:#f5c7d5}.lore-era__summary{font-size:13px;color:#cfd8f0}.lore-chapters{display:grid;gap:12px}.lore-chapter{background:#121624a6;border-radius:12px;border:1px solid rgba(92,104,142,.2);padding:12px;display:grid;gap:8px}.lore-chapter h4{font-size:15px;color:#f1c2ce}.lore-chapter p{font-size:13px;color:#d1dbf5;line-height:1.6}.combat-overlay{position:fixed;inset:0;background:#05070ed1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:40;padding:20px}.combat-overlay__card{width:min(720px,100%);background:#0b0d16f2;border-radius:18px;border:1px solid rgba(92,104,142,.4);padding:16px;display:grid;gap:14px;box-shadow:0 16px 30px #04060c73}.tutorial-card{display:grid;gap:10px;background:#121624bf;border-radius:14px;padding:12px;border:1px solid rgba(92,104,142,.3)}.tutorial-card__meta{display:flex;gap:8px;flex-wrap:wrap}.tutorial-card__title{font-size:16px;color:#f5c7d5}.tutorial-card__text{color:#cfd8f0}.tutorial-card__hint{background:#181c2ce6;border-radius:10px;padding:8px 10px;color:#a7c1ff;font-size:13px}.tutorial-card__locked{font-size:12px;color:#ffb7c6}.research-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.research-card{background:#14192acc;border-radius:14px;padding:12px;border:1px solid rgba(85,97,134,.4);display:grid;gap:10px}.research-card__header{display:flex;justify-content:space-between;gap:10px}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.achievement-card{background:#121624cc;border-radius:14px;padding:12px;border:1px solid rgba(92,104,142,.3);display:grid;gap:8px}.achievement-card--unlocked{border-color:#76e8aa99}.achievement-card__header{display:flex;justify-content:space-between;gap:10px}.achievement-card__progress{display:grid;gap:6px;font-size:12px;color:#c4d4f5}.training__toggle{display:flex;flex-wrap:wrap;gap:10px}.training__button{background:#191e2ee6;color:#d4e0ff;border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer}.training__button--active{background:linear-gradient(135deg,#2f994c,#3fd37c);color:#052011}.training__steps{display:grid;gap:10px}.training__step{background:#121624a6;border-radius:12px;padding:12px;border:1px solid rgba(92,104,142,.2);display:grid;gap:4px}.training__step--active{border-color:#ffaac399;box-shadow:0 0 0 1px #ffaac333}.training__step--done{border-color:#76e8aa80}.training__title{font-weight:600;color:#f5c7d5}.training__note{color:#8fa1c5}@media(max-width:720px){.toast-stack{left:18px;right:18px}.tab-bar{position:sticky;top:0;z-index:10}}.game-over{color:#ff9aa8;font-weight:600}@media(max-width:1200px){.panel--map,.panel--details,.panel--modules,.panel--combat,.panel--doctrine,.panel--research,.panel--save,.panel--faq,.panel--log,.panel--notifications,.panel--training,.panel--achievements,.panel--tutorial,.panel--lore{grid-column:span 12}}
