:root{color-scheme:dark;font-family:VT323,monospace;background:#000;color:#3f0;--surface: rgba(0, 20, 0, .85);--surface-strong: rgba(0, 10, 0, .95);--border: rgba(51, 255, 0, .35);--accent: #33ff00;--accent-warm: #ffcc00;--success: #33ff00;--danger: #ff4444;--text-muted: rgba(51, 255, 0, .65);--shadow: 0 0 20px rgba(51, 255, 0, .15)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overflow:hidden}.game-shell{position:relative;width:100%;height:100%}.game-canvas{width:100%;height:100%;display:block}.hud-layer{position:absolute;inset:0;pointer-events:none;text-transform:uppercase}.overlay-label-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden;text-transform:uppercase}.city-label{position:absolute;left:0;top:0;color:var(--city-label-color, rgba(51, 255, 0, .75));font-size:var(--city-label-font-size, 12px);line-height:var(--city-label-line-height, 12px);letter-spacing:.18em;font-variant:normal;text-transform:uppercase;white-space:nowrap;text-shadow:var( --city-label-shadow, 0 0 8px rgba(51, 255, 0, .3), 0 0 2px rgba(0, 0, 0, .8) );opacity:var(--city-label-opacity, .7);transform:translate(-9999px,-9999px)}.defense-badge{position:absolute;left:0;top:0;min-width:34px;padding:4px 9px;border-radius:0;border:1px solid rgba(51,255,0,.35);background:#000a00e6;color:#3f0;font-size:22px;line-height:1;font-weight:400;letter-spacing:.05em;text-align:center;white-space:nowrap;text-shadow:0 0 6px rgba(51,255,0,.6);box-shadow:0 0 12px #33ff0026;transform:translate(-9999px,-9999px)}.defense-badge--player{border-color:#33ff008c;background:#001400eb;color:#50ff50f5}.defense-badge--enemy{border-color:#ff3c3c73;background:#140000eb;color:#ff7878f5}.defense-badge--neutral{border-color:#50ffff66;background:#000f0feb;color:#b4fffff0}.defense-badge--offline{border-style:dashed;color:#ffc850e6}.hud-card{position:absolute;pointer-events:auto;border-radius:0}.hud-stack{position:absolute;pointer-events:none}.hud-stack--left{top:24px;left:24px;display:grid;gap:12px;width:min(100px,calc(100vw - 48px))}.hud-stack>.hud-card{position:relative;pointer-events:auto}.objective-chip{width:min(340px,calc(100vw - 48px));padding:14px 16px;border-radius:0;justify-self:start}.hexes-card{width:120px;padding:14px 16px}.objective-chip__label{margin:0 0 6px;font-size:16px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.objective-chip__title{margin:0;font-size:24px;line-height:1.25;text-shadow:0 0 6px rgba(51,255,0,.4)}.status-strip{top:24px;right:24px;display:grid;gap:10px;min-width:100px;padding:14px 16px;border-radius:0}.event-feed{display:grid;gap:10px;padding:14px 16px;border-radius:0}.event-feed__list{display:grid;gap:8px}.event-feed__item,.event-feed__empty{padding:10px 12px;border-radius:0;font-size:18px;line-height:1.35;color:var(--text-muted);background:#00140099;border:1px solid rgba(51,255,0,.12)}.event-feed__item--critical{color:#33ff00f0;background:#001e00b3;border-width:2px}.event-feed__item--hostile{background:#28000080;border-left:3px solid rgba(255,60,60,.45)}.event-feed__item--player{border-left:3px solid rgba(51,255,0,.35)}.event-feed__item--captured,.event-feed__item--reinforced,.event-feed__item--returned{border-color:#33ff0040}.event-feed__item--attack-resolved{border-color:#ff3c3c40}.event-feed__item--capacity-lost{border-color:#ff3c3c66;background:#28000080}.event-feed__item--insufficient-drones{border-color:#ffc85073;background:#1e190080;color:#ffdc96f0}.selected-tile-card{right:24px;bottom:92px;display:grid;gap:8px;min-width:250px;padding:14px 16px;border-radius:0}.status-strip__row{display:flex;justify-content:space-between;gap:16px;font-size:20px}.status-strip__row span:last-child{color:var(--text-muted);text-align:right}.status-strip__hex-value{color:var(--text-muted)}.status-strip__row--enemy,.status-strip__row--enemy .status-strip__hex-value{color:var(--danger)}.selected-tile-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}.tile-action-button{appearance:none;border:1px solid rgba(51,255,0,.4);background:#001400e6;color:#3f0;border-radius:0;padding:8px 14px;font:inherit;font-size:18px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;transition:background .12s ease,border-color .12s ease,color .12s ease}.tile-action-button:hover{background:#33ff0026;border-color:#33ff00b3;color:#fff}.help-card{left:24px;bottom:24px;padding:12px 16px;border-radius:0}.help-card__grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;font-size:18px;color:var(--text-muted)}.pause-menu{top:50%;left:50%;width:min(92vw,520px);padding:24px;border-radius:0;transform:translate(-50%,-50%);background:var(--surface-strong);box-shadow:var(--shadow)}.pause-menu[hidden]{display:none}.pause-menu h2{margin:0 0 16px;font-size:28px;letter-spacing:.08em;text-shadow:0 0 8px rgba(51,255,0,.4)}.pause-menu h3{margin:0 0 10px;font-size:20px;letter-spacing:.08em;color:var(--accent)}.pause-menu__objective{margin:0 0 14px}.pause-menu__section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(51,255,0,.15)}.pause-menu__section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.pause-menu p,.pause-menu ul{margin:0 0 12px;color:var(--text-muted);font-size:18px;line-height:1.4}.pause-menu ul{padding-left:20px;list-style-type:square}.pause-menu__button{appearance:none;border:1px solid rgba(51,255,0,.4);background:#001400e6;color:#3f0;border-radius:0;padding:10px 20px;font:inherit;font-size:20px;cursor:pointer;text-transform:uppercase;letter-spacing:.08em;transition:background .12s ease,border-color .12s ease,color .12s ease;margin-top:8px}.pause-menu__button:hover{background:#33ff0026;border-color:#33ff00b3;color:#fff}.debug-panel{left:24px;bottom:88px;min-width:240px;padding:12px 16px;border-radius:0;font-size:16px;line-height:1.4}.debug-panel[hidden]{display:none}.debug-panel strong{display:block;margin-bottom:10px;color:var(--accent-warm);font-size:18px;letter-spacing:.1em}@media(max-width:720px){.status-strip{top:16px}.hud-stack--left{top:16px;left:16px;right:16px;width:auto}.status-strip{inset:auto 16px 72px;min-width:0}.status-meter{grid-template-columns:56px minmax(0,1fr) max-content;gap:10px}.status-meter__value{min-width:70px;font-size:18px}.help-card{left:16px;bottom:16px;right:16px;width:auto}.selected-tile-card{left:16px;right:16px;bottom:126px;min-width:0}.debug-panel{left:16px;bottom:354px}}
