@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.contents{display:contents}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#101b2d;--muted:#68758a;--line:#cbd3dc;--paper:#edf1f4;--panel:#f7f9fa;--red:#9f1d2d;--red-bright:#dc3349;--blue:#168bd7;--orange:#f28b25;--danger:#cc243c;--cyan:#58d5dd;--shadow:0 18px 50px #0f1c2f21}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);background:radial-gradient(circle at 18% 3%,#58d5dd21,#0000 28rem),linear-gradient(135deg,#dfe5e9 0%,#f4f6f7 48%,#dde4e9 100%);font-family:Microsoft YaHei UI,PingFang SC,Noto Sans SC,sans-serif;overflow-x:hidden}button{color:inherit;font:inherit}button:focus-visible{outline-offset:2px;outline:3px solid #168bd78c}.simulation-shell{min-height:100vh;padding:18px clamp(16px,2vw,32px) 32px}.topbar,.mission-strip,.game-layout{width:min(1600px,100%);margin-inline:auto}.topbar{border-bottom:1px solid #46587040;justify-content:space-between;align-items:center;min-height:70px;padding:8px 14px 14px;display:flex}.brand-lockup,.turn-cluster,.mission-strip,.unit-title-row,.panel-heading,.combat-line,.modal-kicker{align-items:center;display:flex}.strategic-return{color:#53657b;letter-spacing:.08em;background:#ffffff6b;border:1px solid #4a5e774d;align-self:stretch;place-items:center;margin-right:14px;padding:0 13px;font:700 10px Consolas,Microsoft YaHei UI,monospace;text-decoration:none;display:grid}.strategic-return:hover,.strategic-return:focus-visible{color:#f3f7f8;background:#455d72;border-color:#455d72}.academy-standard{filter:drop-shadow(0 8px 8px #500c183d);flex:none;width:58px;height:58px;margin-right:14px;position:relative}.standard-pole{background:linear-gradient(90deg,#778394,#e3ebef 42%,#586576);border-radius:3px;width:4px;height:54px;position:absolute;top:2px;left:7px;box-shadow:0 0 0 1px #15203057}.standard-pole:before{content:"";background:#d8b76a;border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-2px}.standard-cloth{color:#fff4e7;clip-path:polygon(0 0,100% 7%,83% 52%,100% 94%,0 100%);transform-origin:0;background:linear-gradient(125deg,#ffffff38,#0000 38%),linear-gradient(135deg,#cc3045,#6f101e 82%);place-items:center;width:45px;height:34px;animation:2.8s ease-in-out infinite standard-wave;display:grid;position:absolute;top:7px;left:10px}.standard-cloth b{text-shadow:0 1px 2px #4d0b15;margin-left:-5px;font:900 19px Georgia,serif}.eyebrow,.modal-kicker,.panel-heading,.phase-chip,.mission-label,.turn-readout span,.background-front,.cell-coordinate{letter-spacing:.12em;text-transform:uppercase;font-family:Consolas,Microsoft YaHei UI,monospace}.eyebrow{color:#7c8898;margin:0 0 2px;font-size:10px}.brand-lockup h1{letter-spacing:.08em;margin:0;font-size:clamp(19px,2vw,27px)}.turn-cluster{gap:22px}.turn-readout{align-items:baseline;gap:10px;display:flex}.turn-readout span{color:var(--muted);font-size:10px}.turn-readout strong{font:800 33px/1 Consolas,monospace}.phase-chip{background:#ffffff80;border:1px solid #b5c0cc;align-items:center;gap:8px;min-width:112px;padding:10px 13px;font-size:11px;font-weight:700;display:flex}.phase-chip.phase-enemy{color:#9a1c2e;background:#9f1d2d14;border-color:#9f1d2d61}.pulse-dot{background:#26a57a;border-radius:50%;width:7px;height:7px;animation:1.7s infinite breathe;box-shadow:0 0 0 5px #26a57a1f}.phase-enemy .pulse-dot{background:var(--red-bright);box-shadow:0 0 0 5px #dc33491f}.mission-strip{color:#eaf2f5;border-left:4px solid var(--red-bright);background:linear-gradient(90deg,#59d5dd1a,#0000 38%),#17263a;justify-content:space-between;gap:18px;margin-top:14px;padding:14px 18px;box-shadow:0 8px 22px #101b2d21}.mission-strip>div:first-child{flex-direction:column;gap:3px;display:flex}.mission-label{color:#7f9bb0;font-size:9px}.mission-strip strong{letter-spacing:.05em;font-size:15px}.background-front{color:#8fa1b2;border-inline:1px solid #ffffff1f;flex-direction:column;gap:2px;padding:0 24px;font-size:9px;display:flex}.background-front b{color:#c2ced7;letter-spacing:.02em;font-family:inherit;font-size:10px}.danger-toggle{color:#c4d0da;cursor:pointer;background:#213248;border:1px solid #45556a;align-items:center;gap:9px;padding:9px 13px;transition:all .16s;display:flex}.danger-toggle:hover,.danger-toggle.active{color:#fff;background:#532231;border-color:#b13b4b}.danger-icon{color:#ff6679;font-size:19px}.game-layout{grid-template-columns:minmax(630px,1fr) 368px;gap:16px;margin-top:16px;display:grid}.board-panel,.command-panel{min-width:0}.board-frame{box-shadow:var(--shadow);background-color:#fafcfcdb;background-image:linear-gradient(90deg,#4d61770d 1px,#0000 1px),linear-gradient(#4d61770d 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #bdc7d1;padding:28px 24px 14px;position:relative;overflow:hidden}.board-frame:before,.board-frame:after{z-index:20;border-color:var(--red-bright);content:"";pointer-events:none;width:40px;height:40px;position:absolute}.board-frame:before{border-top:2px solid;border-left:2px solid;top:9px;left:9px}.board-frame:after{border-bottom:2px solid;border-right:2px solid;bottom:9px;right:9px}.axis-label{color:#8592a2;letter-spacing:.18em;font:9px Consolas,monospace;position:absolute;top:8px;left:50%;transform:translate(-50%)}.grid-board{--cols:20;grid-template-columns:repeat(var(--cols), minmax(26px, 1fr));background-color:#485243;background-image:linear-gradient(#5bd4e003,#0a25301f),url(/assets/terrain/mount-hood-academy-battlefield-v4.png);background-position:50%;background-size:100% 100%;border:1px solid #5e93a1;gap:0;width:100%;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #4ac9dc1f,0 0 22px #239db52e,inset 0 0 22px #3acfe214}.grid-board:before{z-index:12;content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#73ebf714,#0000);width:16%;animation:8s linear infinite map-scan;position:absolute;top:0;bottom:0;left:-18%}.grid-board:after{z-index:1;content:"";pointer-events:none;background-image:linear-gradient(90deg,#c3e7e35c 1px,#0000 1px),linear-gradient(0deg,#c3e7e35c 1px,#0000 1px),linear-gradient(90deg,#c3e7e329 1px,#0000 1px),linear-gradient(0deg,#c3e7e329 1px,#0000 1px);background-size:5% 100%,100% 6.25%,2.5% 100%,100% 3.125%;border:1px solid #a0f0f733;position:absolute;inset:0;box-shadow:inset 0 0 18px #4eddeb14}.grid-cell{z-index:2;aspect-ratio:1.22;cursor:pointer;isolation:isolate;background:0 0;border:0;min-width:0;padding:0;display:block;position:relative;overflow:hidden}.grid-cell:after{z-index:0;content:"";pointer-events:none;background:linear-gradient(135deg,#d5fbf909,#0000 46%);position:absolute;inset:0}.grid-cell:hover{box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 4px #168bd7a6}.terrain-water{background:#2299ba09}.terrain-forest{background:#12513409}.terrain-mountain{background:#36424b0b}.cell-coordinate{z-index:8;color:#bcf2f7d6;text-shadow:0 1px 1px #00000073;background:#081b2694;border-radius:2px;padding:1px 3px;font-size:7px;position:absolute;top:4px;left:5px}.terrain-mark{z-index:7;color:#fff4e2f0;letter-spacing:.08em;background:#531c18b8;border:1px solid #ffdeb580;padding:2px 4px;font-size:clamp(6px,.58vw,9px);font-weight:800;position:absolute;bottom:3px;right:7px}.terrain-mark:empty{display:none}.pass-road-axis{z-index:1;pointer-events:none;background:#594c3b29;border-block:1px solid #e6cd9a4d;height:12%;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.pass-landmark{z-index:7;color:#f4eee0;letter-spacing:.04em;white-space:nowrap;pointer-events:none;background:#182327c7;border-left:2px solid #d7c28c;max-width:calc(100% - 8px);padding:2px 4px;font:700 clamp(6px,.55vw,9px) Consolas,Microsoft YaHei UI,monospace;position:absolute;bottom:4px;right:4px}.landmark-pass,.landmark-defense{color:#eaf7f4;background:#173d43d6;border-left-color:#6fd0d8}.landmark-bridge{border-left-color:#e2b66f}.landmark-ridge{color:#e7e9df;background:#2c312fd1;border-left-color:#929e98}.range-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.potential-layer{z-index:2;background:#f28b2547;box-shadow:inset 0 0 0 2px #f28b25b8}.move-layer{z-index:3;background:#168bd759;border:1px solid #34abeceb;inset:4px;box-shadow:inset 0 0 14px #28a9eb42}.move-layer:after{content:"";border:2px solid #ffffffe6;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.move-layer small{color:#e8f8ff;font:8px Consolas,monospace;position:absolute;bottom:1px;right:3px}.attack-layer{z-index:4;background:#dc334947;box-shadow:inset 0 0 0 3px #dc3349d9}.attack-layer:before,.attack-layer:after{content:"";background:#ffffffd9;width:20px;height:1px;position:absolute;top:50%;left:50%}.attack-layer:before{transform:translate(-50%,-50%)rotate(45deg)}.attack-layer:after{transform:translate(-50%,-50%)rotate(-45deg)}.danger-layer{z-index:5;background:repeating-linear-gradient(135deg,#b6183038 0 4px,#0000 4px 9px);box-shadow:inset 0 0 0 1px #b6183061}.danger-layer.overlap{background:repeating-linear-gradient(135deg,#a40d266b 0 5px,#0000 5px 9px);box-shadow:inset 0 0 0 2px #a40d26c7,inset 0 0 16px #a40d264d}.danger-layer b{color:#fff;background:#a30d25;padding:1px 3px;font:8px Consolas,monospace;position:absolute;top:3px;right:3px}.enemy-inspect-layer{z-index:4;background:#9f1d2d2e;border:2px dashed #891729}.unit-token{z-index:10;color:#fff;filter:drop-shadow(0 5px 5px #121b2647);pointer-events:none;place-items:center;width:clamp(57px,6.4vw,88px);height:clamp(57px,6.4vw,88px);transition:all .15s;animation:.22s cubic-bezier(.2,.75,.25,1) both unit-arrival;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.team-player.unit-token:before{z-index:0;filter:blur(2px);content:"";background:radial-gradient(#66edf5b8,#45b1d338 48%,#0000 72%);border-radius:50%;width:44%;height:16%;animation:1.55s ease-in-out infinite thruster-pulse;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.mini-token.team-player{background:linear-gradient(145deg,#c42a40,#761421 62%,#4f0d17)}.mini-token.team-enemy{background:linear-gradient(145deg,#596878,#283645 62%,#17232f)}.unit-base-ring{z-index:-1;background:#721220ad;border:2px solid #ffffffd1;border-radius:50%;height:29%;position:absolute;bottom:5%;left:9%;right:9%;box-shadow:0 0 0 3px #b21f3438,0 5px 8px #10192452}.team-player .unit-base-ring{animation:2.7s ease-in-out infinite base-signal}.team-enemy .unit-base-ring{background:#192c3cc2;border-color:#8bd5e8c7;box-shadow:0 0 0 3px #35718e33,0 5px 8px #10192452}.unit-sprite{z-index:1;object-fit:contain;transform-origin:50% 72%;-webkit-user-select:none;user-select:none;width:92%;height:92%;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.role-fast .unit-sprite{width:104%;height:104%}.role-aa .unit-sprite{width:88%;height:88%}.role-enemy-command .unit-sprite{width:91%;height:91%}.team-player.role-command .unit-sprite{animation:3.2s ease-in-out infinite command-idle}.team-player.role-assault .unit-sprite{animation:2.65s ease-in-out infinite assault-idle}.team-player.role-fast .unit-sprite{animation:2.1s ease-in-out infinite fast-idle}.team-enemy.role-aa .unit-sprite,.team-enemy.role-enemy-command .unit-sprite{animation:none}.team-enemy.role-aa.unit-token:before{z-index:3;content:"";transform-origin:50% 100%;background:linear-gradient(90deg,#0000,#64deeb33,#0000);border-top:2px solid #83e9f2eb;border-radius:50%;width:47%;height:17%;animation:3.8s ease-in-out infinite ground-weapon-scan;position:absolute;top:25%;left:50%;transform:translate(-50%,-50%)rotate(-5deg);box-shadow:0 -2px 7px #57cdde4d}.team-enemy.role-enemy-command.unit-token:before{z-index:3;content:"";background:#4cc9db52;border:1px solid #84e7f1e6;border-radius:50%;width:9px;height:9px;animation:2.6s ease-in-out infinite ground-sensor-ping;position:absolute;top:17%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 7px #4cc9dbb8}.grid-cell:nth-child(3n+1) .unit-sprite,.grid-cell:nth-child(3n+1) .unit-base-ring,.grid-cell:nth-child(3n+1) .unit-token:before{animation-delay:-.7s}.grid-cell:nth-child(3n+2) .unit-sprite,.grid-cell:nth-child(3n+2) .unit-base-ring,.grid-cell:nth-child(3n+2) .unit-token:before{animation-delay:-1.35s}.selected-cell .unit-token{filter:drop-shadow(0 0 6px #fff)drop-shadow(0 0 11px #42beeee6);transform:translate(-50%,-50%)scale(1.07)}.unit-token.acted{opacity:.42;filter:grayscale(.72)drop-shadow(0 3px 3px #121b2640)}.unit-token.acted .unit-sprite,.unit-token.acted .unit-base-ring,.unit-token.acted:before{animation:none}.unit-token.acted .unit-sprite{transform:translate(-50%,-50%)}.team-player.unit-token.acted:before{opacity:.12}@keyframes unit-arrival{0%{opacity:0;transform:translate(-50%,-42%)scale(.82)}70%{opacity:1;transform:translate(-50%,-52%)scale(1.04)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes command-idle{0%,to{transform:translate(-50%,-50%)rotate(-.5deg)}50%{transform:translate(-50%,-54%)rotate(.7deg)}}@keyframes assault-idle{0%,to{transform:translate(-50%,-50%)scale(1)}45%{transform:translate(-50%,-52%)scale(1.018,.99)}58%{transform:translate(-50%,-51%)scale(.995,1.012)}}@keyframes fast-idle{0%,to{transform:translate(-50%,-50%)rotate(-1deg)}35%{transform:translate(-51.5%,-54%)rotate(.8deg)}68%{transform:translate(-49%,-52%)rotate(-.2deg)}}@keyframes ground-weapon-scan{0%,16%,to{opacity:.46;transform:translate(-50%,-50%)rotate(-6deg)}44%,62%{opacity:.92;transform:translate(-50%,-50%)rotate(6deg)}}@keyframes ground-sensor-ping{0%,to{opacity:.35;transform:translate(-50%,-50%)scale(.72)}48%{opacity:1;transform:translate(-50%,-50%)scale(1.22)}}@keyframes thruster-pulse{0%,to{opacity:.38;transform:translate(-50%)scale(.82)}48%{opacity:.86;transform:translate(-50%)scale(1.08)}}@keyframes base-signal{0%,to{opacity:.72;transform:scale(.96)}50%{opacity:1;transform:scale(1.025)}}.unit-token.defending:after{content:"";border:2px solid #8ee8ee;border-radius:50%;height:30%;position:absolute;bottom:4%;left:8%;right:8%;box-shadow:0 0 12px #8ee8ee}.unit-symbol{margin-top:-8px;font-size:clamp(16px,1.5vw,23px);font-weight:900}.unit-name{z-index:3;color:#fff;letter-spacing:.04em;white-space:nowrap;background:#4b0c17e0;border:1px solid #ffffff94;padding:1px 4px;font-size:clamp(7px,.7vw,10px);font-weight:800;position:absolute;bottom:5px}.team-enemy .unit-name{background:#142330e6}.unit-facing{z-index:3;color:#eaffff;background:#0f1f2bcc;border:1px solid #92f6ffb8;border-radius:50%;place-items:center;width:17px;height:17px;font:700 10px Consolas,monospace;display:grid;position:absolute;top:2px;right:5px}.unit-hpbar{z-index:4;background:#0000006b;width:74%;height:3px;position:absolute;bottom:0;left:13%}.unit-hpbar i{background:#91f1de;height:100%;display:block}.unit-hptext{z-index:3;background:#0b1722c7;border-radius:3px;padding:1px 3px;font:700 8px Consolas,monospace;position:absolute;top:3px;left:5px}.board-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.legend-items{flex-wrap:wrap;gap:10px 16px;display:flex}.legend-items span{color:#59677a;align-items:center;gap:5px;font-size:10px;display:flex}.legend-swatch{border:1px solid;width:15px;height:10px;display:inline-block}.legend-swatch.move{border-color:var(--blue);background:#168bd76b}.legend-swatch.attack{border-color:var(--red-bright);background:#dc334959}.legend-swatch.potential{border-color:var(--orange);background:#f28b255c}.legend-swatch.danger{background:repeating-linear-gradient(135deg,#b6183059 0 2px,#0000 2px 4px);border-color:#b6183080}.legend-swatch.overlap{background:repeating-linear-gradient(135deg,#a40d26b3 0 2px,#0000 2px 4px);border-color:#a40d26}.board-tip{color:#8792a0;text-align:right;font-size:9px}.terrain-doctrine{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;display:grid}.terrain-doctrine>span{color:#647284;white-space:nowrap;background:#f9fbfcd6;border:1px solid #d6dde3;align-items:center;gap:5px;min-width:0;padding:6px 7px;font-size:8px;display:flex}.terrain-doctrine b{color:#26384b;font-size:9px}.terrain-symbol{border:1px solid #22394847;border-radius:3px;flex:none;width:13px;height:13px;box-shadow:inset 0 0 6px #ffffff73}.terrain-symbol-plain{background:linear-gradient(145deg,#b8d690,#88ad70)}.terrain-symbol-forest{background:linear-gradient(145deg,#4f9566,#246348)}.terrain-symbol-water{background:linear-gradient(145deg,#69cae0,#2684ae)}.terrain-symbol-mountain{background:linear-gradient(145deg,#a6a8a1,#646b70)}.command-panel{flex-direction:column;gap:10px;display:flex}.panel-card{background:#f8fafbe6;border:1px solid #c3ccd5;box-shadow:0 7px 20px #1d2b3d14}.terrain-card{min-height:118px;position:relative;overflow:hidden}.terrain-card:after{content:"";pointer-events:none;border:1px solid #1e7a9724;border-radius:50%;width:118px;height:118px;position:absolute;bottom:-48px;right:-28px;box-shadow:0 0 0 12px #1e7a970a,0 0 0 24px #1e7a9706}.terrain-intel{align-items:center;gap:9px;padding:8px 12px 5px;display:flex}.terrain-intel .terrain-symbol{border-radius:6px;width:30px;height:30px}.terrain-intel strong{color:#25394d;font-size:13px;display:block}.terrain-intel p{color:#798696;margin:2px 0 0;font-size:9px}.terrain-effects{grid-template-columns:1fr 1fr;gap:5px;padding:0 12px 9px;display:grid}.terrain-effects span{color:#677588;background:#e3ebef94;border-left:2px solid #8aa6b6;flex-direction:column;gap:1px;padding:5px 7px;font-size:8px;display:flex}.terrain-effects b{color:#30465a;letter-spacing:.08em;font-size:8px}.panel-heading{color:#657489;background:#e8edf0a3;border-bottom:1px solid #d4dbe1;justify-content:space-between;min-height:31px;padding:0 12px;font-size:9px;font-weight:700}.panel-heading b{color:#8b9bad;font-size:8px}.status-card .panel-heading b,.log-card .panel-heading b{color:#2b9a79}.force-counts{grid-template-columns:1fr 1fr;display:grid}.force-counts>div{justify-content:space-between;align-items:center;padding:9px 13px;display:flex}.force-counts>div+div{border-left:1px solid #d4dbe1}.force-counts span{color:var(--muted);font-size:10px}.force-counts strong{color:var(--red);font:800 22px Consolas,monospace}.force-counts div:last-child strong{color:#34475b}.force-counts small{color:#8c98a6;font-size:10px}.unit-card{min-height:240px}.unit-title-row{gap:11px;padding:13px 13px 8px}.mini-token{color:#fff;clip-path:polygon(50% 0,92% 22%,92% 75%,50% 100%,8% 75%,8% 22%);place-items:center;width:42px;height:42px;font-size:18px;display:grid;position:relative;overflow:hidden}.mini-token img{object-fit:contain;filter:drop-shadow(0 3px 4px #0006);width:100%;height:100%}.mini-token span{font-size:9px;position:absolute;bottom:2px;right:3px}.unit-title-row h2{margin:0;font-size:14px}.unit-title-row p{color:#8995a3;letter-spacing:.08em;margin:3px 0 0;font:8px Consolas,monospace}.large-hp{padding:0 13px 10px}.large-hp>span{justify-content:space-between;margin-bottom:5px;display:flex}.large-hp b,.large-hp strong{font-size:9px}.large-hp strong{font-family:Consolas,monospace}.large-hp>i{background:#d7dde1;height:6px;display:block;overflow:hidden}.large-hp em{background:linear-gradient(90deg,#ba2338,#e64a5f);height:100%;display:block}.stat-grid{border:1px solid #d1d8df;grid-template-columns:repeat(4,1fr);margin-inline:13px;display:grid}.stat-grid>div{flex-direction:column;gap:2px;padding:7px 8px;display:flex}.stat-grid>div+div{border-left:1px solid #d1d8df}.stat-grid span{color:#778496;font-size:8px}.stat-grid b{font:800 16px Consolas,monospace}.unit-flags{grid-template-columns:1fr 1fr;gap:8px;padding:10px 13px 12px;display:grid}.unit-flags span{color:#7d8998;font-size:9px}.unit-flags b{color:#27394d;margin-left:5px}.empty-inspector{color:#9aa5b0;text-align:center;place-items:center;min-height:192px;display:grid}.empty-inspector span{color:#bcc5cc;font-size:30px}.empty-inspector p{margin:-25px 0 0;font-size:11px;line-height:1.7}.combat-card{min-height:112px;transition:all .18s}.combat-card.active{border-color:#9f1d2d8c;box-shadow:0 8px 24px #9f1d2d1f}.combat-line{justify-content:space-between;gap:6px;padding:10px 12px 6px}.combat-line>div{flex-direction:column;gap:2px;display:flex}.combat-line .enemy{text-align:right}.combat-line span{font-size:10px;font-weight:700}.combat-line b{font:700 10px Consolas,monospace}.combat-line .enemy b{color:var(--red)}.versus{color:#aab3bc;font:9px Consolas,monospace}.damage-readout{border:1px solid #d5dce2;grid-template-columns:repeat(4,1fr);margin:0 12px 7px;display:grid}.damage-readout span{color:#7b8796;flex-direction:column;gap:2px;padding:5px;font-size:7px;display:flex}.damage-readout span+span{border-left:1px solid #d5dce2}.damage-readout b{color:#8f1d2d;font-size:10px}.confirm-attack,.start-button,.end-turn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#b8253a,#801525);border:0}.confirm-attack{letter-spacing:.1em;width:calc(100% - 24px);margin:0 12px;padding:8px;font-size:10px;font-weight:800}.text-button{color:#778493;cursor:pointer;background:0 0;border:0;width:100%;padding:5px;font-size:8px}.preview-hint{color:#7f8c9b;margin:0;padding:14px 13px;font-size:10px;line-height:1.5}.action-grid{grid-template-columns:1fr 1fr;gap:6px;padding:9px;display:grid}.action-grid button{cursor:pointer;background:#f8fafb;border:1px solid #c9d1d9;justify-content:space-between;align-items:center;min-height:35px;padding:7px 9px;font-size:10px;font-weight:700;display:flex}.action-grid button:hover:not(:disabled){background:#fff;border-color:#7d92a7}.action-grid button:disabled{color:#adb5bd;cursor:not-allowed;background:#edf0f2}.action-grid small{color:#8a96a4;font-size:7px;font-weight:400}.action-grid .restart-small{color:#8f1d2d;border-color:#9f1d2d40}.end-turn{justify-content:space-between;align-items:center;width:calc(100% - 18px);margin:0 9px 9px;padding:12px 14px;font-weight:800;display:flex}.end-turn b{color:#ffffff94;font:8px Consolas,monospace}.end-turn:disabled{cursor:not-allowed;background:#89939d}.log-card ol{max-height:112px;margin:0;padding:7px 10px 9px;list-style:none;overflow-y:auto}.log-card li{color:#7c8897;grid-template-columns:22px 1fr;gap:5px;padding:4px 2px;font-size:8px;line-height:1.35;display:grid}.log-card li+li{border-top:1px dotted #d3d9de}.log-card li span{color:#a5afb9;font:8px Consolas,monospace}.log-card li.latest{color:#26384d}.log-card li.latest span{color:var(--red)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:linear-gradient(#09121fba,#09121fdb),repeating-linear-gradient(0deg,#0000 0 3px,#ffffff08 3px 4px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.briefing-modal,.result-modal{background:linear-gradient(135deg,#56d9e012,#0000 45%),#f4f7f8;border:1px solid #75879b;width:min(590px,100%);padding:27px 30px 30px;position:relative;box-shadow:0 30px 80px #00000061}.briefing-modal:before,.result-modal:before{background:var(--red-bright);content:"";width:110px;height:3px;position:absolute;top:-1px;left:30px}.modal-kicker{color:#8592a0;justify-content:space-between;font-size:9px}.modal-kicker b{color:var(--red)}.briefing-modal h2,.result-modal h2{color:#17293d;letter-spacing:.12em;margin:18px 0 5px;font-size:clamp(31px,5vw,48px)}.brief-objective{color:#69778a;margin:0 0 20px;font-size:13px}.dialogue-block{color:#e4edf2;background:#18283b;border-left:3px solid #55d2db;padding:15px 17px}.dialogue-block>div{grid-template-columns:42px 1fr;align-items:baseline;gap:10px;display:grid}.dialogue-block>div+div{margin-top:8px}.dialogue-block span{color:#78dce3;font-size:10px;font-weight:800}.dialogue-block .cadet span{color:#f2687b}.dialogue-block p{margin:0;font-size:12px}.three-rules{border-block:1px solid #d2d9df;grid-template-columns:repeat(3,1fr);margin:18px 0;display:grid}.three-rules>div{grid-template-columns:14px 1fr;padding:10px 8px;display:grid}.three-rules>div+div{border-left:1px solid #d2d9df}.three-rules i{border-radius:50%;grid-row:1/span 2;align-self:center;width:9px;height:9px}.rule-blue{background:var(--blue)}.rule-orange{background:var(--orange)}.rule-red{background:var(--danger)}.three-rules b{font-size:10px}.three-rules span{color:#7c8998;font-size:8px}.start-button{letter-spacing:.12em;justify-content:space-between;align-items:center;width:100%;padding:14px 18px;font-size:13px;font-weight:800;display:flex}.start-button span{font-size:21px}.start-button:hover{background:linear-gradient(135deg,#cb3046,#971a2d)}.result-modal{text-align:center}.result-emblem{color:#fff;clip-path:polygon(50% 0,94% 22%,86% 78%,50% 100%,14% 78%,6% 22%);background:#16866a;place-items:center;width:70px;height:70px;margin:0 auto;font-size:34px;font-weight:800;display:grid}.result-modal.defeat .result-emblem{background:#a52336}.result-modal>p{color:#81909f;letter-spacing:.2em;margin:13px 0 -10px;font:9px Consolas,monospace}.result-modal blockquote{color:#566577;margin:10px 0 20px;font-size:13px}.result-stats{border:1px solid #cfd7dd;grid-template-columns:repeat(3,1fr);margin-bottom:20px;display:grid}.result-stats>div{flex-direction:column;gap:5px;padding:11px;display:flex}.result-stats>div+div{border-left:1px solid #cfd7dd}.result-stats span{color:#7d8997;font-size:8px}.result-stats b{color:#25384d;font:800 21px Consolas,monospace}@keyframes breathe{0%,to{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes standard-wave{0%,to{transform:perspective(80px)rotateY(-2deg)skewY(-1deg)}50%{transform:perspective(80px)rotateY(7deg)skewY(1deg)}}@keyframes map-scan{0%{transform:translate(0)}to{transform:translate(740%)}}@media (max-width:1180px){.game-layout{grid-template-columns:minmax(570px,1fr) 330px}.background-front{display:none}.unit-token{width:66px;height:66px}}@media (max-width:940px){.game-layout{grid-template-columns:1fr}.command-panel{grid-template-columns:1fr 1fr;display:grid}.status-card,.log-card{grid-column:1/-1}.grid-board{grid-template-columns:repeat(var(--cols), minmax(22px, 1fr))}}@media (max-width:680px){.simulation-shell{padding:8px}.topbar{align-items:flex-start}.academy-standard{transform-origin:0;width:48px;height:50px;margin-right:8px;transform:scale(.88)}.eyebrow{display:none}.brand-lockup h1{font-size:16px}.turn-cluster{gap:8px}.phase-chip{display:none}.mission-strip{flex-direction:column;align-items:stretch}.danger-toggle{justify-content:center}.board-frame{padding:24px 5px 8px;overflow-x:auto}.grid-board{width:700px}.board-footer{flex-direction:column;align-items:flex-start;width:700px}.command-panel{grid-template-columns:1fr}.status-card,.log-card{grid-column:auto}.briefing-modal,.result-modal{padding:22px 18px}.three-rules{grid-template-columns:1fr}.three-rules>div+div{border-top:1px solid #d2d9df;border-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.military-interface{--ink:#d8ddd7;--muted:#919b96;--line:#4b5550;--paper:#171d1c;--panel:#242b28;--red:#8e4d48;--red-bright:#b46b60;--blue:#6d9ca3;--orange:#b79a62;--danger:#98534d;--cyan:#84afb0;--shadow:0 12px 30px #00000047;min-height:100vh;color:var(--ink);background-color:#151b1a;background-image:linear-gradient(#75867d06 1px,#0000 1px),linear-gradient(90deg,#75867d06 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.military-interface .topbar{background:#1c2422;border-color:#45504b}.military-interface .strategic-return{color:#a9b4ae;background:#2b3430;border-color:#59635e;border-radius:0}.military-interface .strategic-return:hover,.military-interface .strategic-return:focus-visible{color:#eef1eb;background:#44514c}.military-interface .academy-standard{filter:grayscale(.65)saturate(.45)contrast(.95)}.military-interface .standard-cloth{background:linear-gradient(135deg,#596159,#303a36 82%);animation:none}.military-interface .eyebrow,.military-interface .turn-readout span{color:#84918a}.military-interface .brand-lockup h1{color:#e0e4dd;font-weight:600}.military-interface .turn-readout strong{color:#c7d0c9}.military-interface .phase-chip{color:#bec8c2;background:#29322f;border-color:#58635e;border-radius:0}.military-interface .mission-strip{color:#d6dcd6;box-shadow:none;background:#242c29;border-color:#515c57}.military-interface .mission-label,.military-interface .background-front,.military-interface .mission-strip strong{color:#cbd3cd}.military-interface .danger-toggle{color:#c7ceca;background:#303936;border-color:#59645e;border-radius:0}.military-interface .danger-toggle.active{color:#ecd9d4;background:#4b302d;border-color:#8d5b53}.military-interface .board-frame{background:linear-gradient(90deg,#87978e0a 1px,#0000 1px),linear-gradient(#87978e0a 1px,#0000 1px),#202725;border-color:#56625c;border-radius:0;box-shadow:0 12px 32px #00000052}.military-interface .board-frame:before,.military-interface .board-frame:after{border-color:#8a9a91}.military-interface .axis-label{color:#aeb9b2}.military-interface .grid-board{filter:saturate(.72)contrast(1.04);border-color:#71817a;box-shadow:0 0 0 1px #d0dbd31a,inset 0 0 32px #0a121052}.military-interface .grid-board:before{display:none}.military-interface .grid-board:after{box-shadow:none;background-image:linear-gradient(90deg,#cbd7cf3d 1px,#0000 1px),linear-gradient(0deg,#cbd7cf3d 1px,#0000 1px);border-color:#c2cfc62e}.military-interface .grid-cell:hover{box-shadow:inset 0 0 0 1px #d6ddd5,inset 0 0 0 3px #7497969e}.military-interface .cell-coordinate{color:#dce4ddcc;background:#141d1bad;border-radius:0}.military-interface .terrain-mark{color:#d7d2c3;background:#42352bc7;border-color:#bead8966;border-radius:0}.military-interface .pass-road-axis{background:#63543e1f;border-color:#d7c7a238}.military-interface .pass-landmark{color:#d9dfd9;background:#1c2421db;border-color:#9b9e83;border-radius:0}.military-interface .landmark-pass,.military-interface .landmark-defense{color:#dce9e5;background:#233836e6;border-color:#75999a}.military-interface .move-layer{background:#4d757b40;box-shadow:inset 0 0 0 2px #6d9ca39e}.military-interface .attack-layer{background:#8e4d483d;box-shadow:inset 0 0 0 2px #b46b60a3}.military-interface .potential-layer{background:#9a7e493d;box-shadow:inset 0 0 0 2px #b79a629e}.military-interface .danger-layer{background:repeating-linear-gradient(135deg,#70302d38 0 3px,#0000 3px 7px)}.military-interface .unit-token{color:#a8c9cd;filter:drop-shadow(0 3px 4px #0000007a);background:#192c2de6;border:2px solid;border-radius:0;width:62px;height:43px;transform:translate(-50%,-50%)}.military-interface .team-enemy.unit-token{color:#d0a099;background:#3d2422e8}.military-interface .unit-token:before,.military-interface .team-enemy.role-aa.unit-token:before,.military-interface .team-enemy.role-enemy-command.unit-token:before{box-shadow:none;clip-path:none;background:0 0;border:1px solid;border-left:0;border-right:0;border-radius:0;animation:none;inset:4px 8px;transform:none}.military-interface .unit-base-ring,.military-interface .unit-sprite{display:none}.military-interface .unit-symbol-code{z-index:5;color:currentColor;letter-spacing:.08em;font:800 13px/1 Consolas,monospace;position:absolute;top:8px;left:50%;transform:translate(-50%)}.military-interface .unit-facing{color:currentColor;text-shadow:none;top:12px;right:-14px}.military-interface .unit-name{color:#e1e6df;background:#18201eeb;border-radius:0;padding:2px 3px;font:700 7px Consolas,Microsoft YaHei UI,monospace;bottom:-15px;left:-2px;right:-2px}.military-interface .team-enemy .unit-name{background:#301f1df0}.military-interface .unit-hpbar{background:#00000061;border-radius:0;height:3px;bottom:4px;left:5px;right:5px}.military-interface .unit-hpbar i{background:currentColor}.military-interface .unit-hptext{color:currentColor;font-size:6px;top:4px;right:4px}.military-interface .selected-cell .unit-token{filter:drop-shadow(0 0 5px #cfdcd3b8);transform:translate(-50%,-50%)}.military-interface .unit-token.acted{filter:grayscale(.65)opacity(.62)}.military-interface .board-footer,.military-interface .terrain-doctrine{color:#aab4ae;background:#252d2a;border-color:#4e5954}.military-interface .terrain-doctrine>span+span{border-color:#48534e}.military-interface .panel-card{color:#d0d7d1;box-shadow:none;background:#232a28;border-color:#4d5853;border-radius:0}.military-interface .panel-heading{color:#aeb9b2;background:#2d3532;border-color:#4c5752}.military-interface .force-counts>div,.military-interface .terrain-effects span,.military-interface .stat-grid>div,.military-interface .unit-flags span,.military-interface .damage-readout span{color:#b9c2bc;background:#29312e;border-color:#46514c}.military-interface .force-counts strong,.military-interface .unit-title-row h2,.military-interface .large-hp strong,.military-interface .stat-grid b{color:#dbe1dc}.military-interface .terrain-intel,.military-interface .unit-title-row,.military-interface .large-hp,.military-interface .preview-hint,.military-interface .empty-inspector,.military-interface .log-card li{color:#aeb8b2}.military-interface .action-grid button,.military-interface .text-button{color:#c6cec8;background:#2d3632;border-color:#505c56;border-radius:0}.military-interface .action-grid button:hover:not(:disabled){color:#eff2ec;background:#3a4540;border-color:#75847c}.military-interface .action-grid button:disabled{color:#66716b;background:#252d2a;border-color:#3d4742}.military-interface .confirm-attack,.military-interface .end-turn,.military-interface .start-button{color:#eef1eb;background:#56645e;border-radius:0}.military-interface .confirm-attack:hover,.military-interface .end-turn:hover:not(:disabled),.military-interface .start-button:hover{background:#6a7a72}.military-interface .modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a0f0ed1}.military-interface .briefing-modal,.military-interface .result-modal{color:#d6dcd7;background:#242c29;border-color:#68736d;border-radius:0;box-shadow:0 24px 60px #00000073}.military-interface .briefing-modal:before,.military-interface .result-modal:before{background:#718078}.military-interface .briefing-modal h2,.military-interface .result-modal h2,.military-interface .brief-objective{color:#e1e5df}.military-interface .dialogue-block{color:#d2d9d4;background:#1a211f;border-color:#708d8c}.military-interface .dialogue-block span,.military-interface .dialogue-block .cadet span{color:#9db7b4}.military-interface .three-rules,.military-interface .three-rules>div+div{border-color:#4e5954}.military-interface .three-rules span{color:#9aa59f}.battlefield-viewport{touch-action:none;background:#151d1b;border:1px solid #71817a;width:100%;position:relative;overflow:hidden}.battlefield-viewport.is-zoomed{cursor:grab}.battlefield-viewport.is-dragging{cursor:grabbing}.battlefield-camera-controls{z-index:40;color:#d9e0db;background:#161e1ce6;border:1px solid #8c9d94b8;grid-template-columns:30px minmax(112px,auto) 30px;align-items:stretch;font-family:Consolas,Microsoft YaHei UI,monospace;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 4px 14px #00000061}.battlefield-camera-controls button{color:#e5eae5;cursor:pointer;background:#35413c;border:0;place-items:center;padding:0;font:600 18px/1 Consolas,monospace;display:grid}.battlefield-camera-controls button:hover:not(:disabled){background:#4a5a53}.battlefield-camera-controls button:disabled{color:#68746e;cursor:not-allowed;background:#29322f}.battlefield-camera-controls>span{text-align:center;border-inline:1px solid #7c8e8580;align-content:center;min-height:34px;padding:4px 9px;display:grid}.battlefield-camera-controls b{letter-spacing:.08em;font-size:9px}.battlefield-camera-controls small{color:#99a59f;font-size:7px}.camera-drag-hint{z-index:39;color:#e1e7e1db;pointer-events:none;background:#131b19b8;padding:3px 6px;font:600 7px/1.3 Microsoft YaHei UI,sans-serif;position:absolute;top:52px;right:10px}.military-interface .grid-board{isolation:isolate;transform-origin:50%;filter:saturate(.9)contrast(1.04)brightness(1.07);background-image:linear-gradient(#121d1b05,#08111029),url(/assets/terrain/mount-hood-academy-battlefield-topdown-v1.png);transition:transform .18s ease-out}.military-interface .grid-board.detail-level-1{filter:saturate(.92)contrast(1.08)brightness(1.06);background-image:linear-gradient(#121d1b04,#0811101f),url(/assets/terrain/mount-hood-academy-battlefield-topdown-hd-v2.jpg);background-position:50%;background-size:100% 100%}.military-interface .grid-board.detail-level-2,.military-interface .grid-board.detail-level-3{filter:saturate(.94)contrast(1.11)brightness(1.06);background-image:linear-gradient(#121d1b03,#0811101a),url(/assets/terrain/mount-hood-academy-battlefield-topdown-hd-v2.jpg);background-position:50%;background-size:100% 100%}.military-interface .grid-board.detail-level-4{filter:saturate(.95)contrast(1.14)brightness(1.07);background-image:linear-gradient(#121d1b00,#08111012),url(/assets/terrain/mount-hood-academy-battlefield-topdown-hd-v2.jpg);background-position:50%;background-size:100% 100%}.battlefield-viewport.is-dragging .grid-board{transition:none}.military-interface .grid-board:after{z-index:6;opacity:.18;transition:opacity .16s}.military-interface .grid-board.has-selection:after{opacity:.46}.tactical-detail-overlay{z-index:5;opacity:0;pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.detail-level-2 .tactical-detail-overlay{opacity:.42}.detail-level-3 .tactical-detail-overlay{opacity:.68}.detail-level-4 .tactical-detail-overlay{opacity:.86}.detail-feature{transform-origin:50%;display:block;position:absolute}.detail-building{background:repeating-linear-gradient(90deg,#eeebd629 0 2px,#0000 2px 5px),#252d2a1f;border:1px solid #ece7cad1;box-shadow:0 0 0 1px #12191757,inset 0 0 0 1px #ffffff14}.detail-fence{background:0 0;border:1px dashed #dbd3b5ad}.detail-road{background:linear-gradient(90deg,#0000 0 4%,#f0e6c6a8 4% 8%,#0000 8% 14%),#423e3657;border-block:1px solid #dad2b86b;box-shadow:0 0 0 1px #171e1b59}.detail-tree-line{background:radial-gradient(circle at 12% 35%,#1e3c28a8 0 5%,#0000 6%),radial-gradient(circle at 27% 65%,#294c30b3 0 6%,#0000 7%),radial-gradient(circle at 44% 30%,#193a26ad 0 6%,#0000 7%),radial-gradient(circle at 61% 68%,#25482db3 0 6%,#0000 7%),radial-gradient(circle at 78% 32%,#1d3f28ad 0 6%,#0000 7%),radial-gradient(circle at 92% 62%,#26492eb3 0 5%,#0000 6%);border:1px solid #34523c6b;border-radius:48%}.detail-house{background:linear-gradient(135deg,#5b3c2dc7 0 48%,#815b42c7 49% 100%);border:1px solid #ece2c9c7;box-shadow:0 1px #fff5da47,0 2px 3px #0d141280}.military-interface .grid-cell{overflow:visible}.ground-restriction-layer{z-index:1;pointer-events:none;background:repeating-linear-gradient(135deg,#6268662e 0 3px,#3f454314 3px 7px);border:1px solid #b8bebb38;position:absolute;inset:1px;box-shadow:inset 0 0 9px #1d222129}.terrain-mountain .ground-restriction-layer{background:repeating-linear-gradient(135deg,#6a6f6e6b 0 4px,#373d3c33 4px 9px);border-color:#d2d6d361;box-shadow:inset 0 0 0 1px #1f242347,inset 0 0 12px #191e1d57}.terrain-water .ground-restriction-layer{background:repeating-linear-gradient(135deg,#53686a47 0 3px,#3143451a 3px 8px);border-color:#a2babe47}.ground-passable-cell{box-shadow:inset 0 0 0 1px #bcd3c30a}.route-cell .ground-restriction-layer{display:none}.military-interface .cell-coordinate{opacity:0;transition:opacity .12s}.military-interface .grid-board.has-selection .cell-coordinate,.military-interface .grid-cell:hover .cell-coordinate{opacity:1}.deployment-zone{z-index:4;color:#dbe7e3;letter-spacing:.08em;clip-path:polygon(0 32%,26% 0,100% 9%,91% 100%,8% 91%);pointer-events:none;background:#1c323514;border:1px solid;flex-direction:column;justify-content:flex-end;width:29%;height:31%;padding:10px 12px;font:600 9px/1.3 Consolas,Microsoft YaHei UI,monospace;display:flex;position:absolute}.deployment-zone span{opacity:.82;font-size:8px}.deployment-zone b{font-size:11px}.deployment-player{color:#89cbd0;background:linear-gradient(135deg,#26687133,#0000 72%);bottom:3%;left:2%}.deployment-enemy{color:#cf9389;text-align:right;clip-path:polygon(9% 0,100% 10%,94% 88%,70% 100%,0 91%);background:linear-gradient(315deg,#753a3233,#0000 72%);justify-content:flex-start;align-items:flex-end;top:3%;right:2%}.map-north{z-index:8;color:#ebf0ebe6;text-align:center;text-shadow:0 1px 4px #000000d9;pointer-events:none;font:700 10px/1 Consolas,monospace;display:grid;position:absolute;top:2.5%;left:2%}.map-north span{font-size:22px}.map-scale{z-index:8;color:#eff2ede6;text-shadow:0 1px 4px #000000e6;pointer-events:none;grid-template-columns:1fr 1fr;width:100px;font:700 7px/1.4 Consolas,monospace;display:grid;position:absolute;bottom:2%;right:2%}.map-scale i{border:1px solid;border-top:0;grid-column:1/-1;height:5px}.map-scale span:last-child{text-align:right}.route-axis{z-index:2;filter:drop-shadow(0 1px 2px #000000bf);pointer-events:none;border-top:2px dashed #e2dac07a;width:120%;height:0;position:absolute;top:50%;left:-10%}.route-north .route-axis{border-top-color:#b1c7b67a;transform:rotate(-7deg)}.route-center .route-axis{border-top-color:#d7cdb294;transform:rotate(-13deg)}.route-south .route-axis{border-top:3px solid #e0c8979e;top:57%}.route-label{z-index:7;color:#e2e5dd;text-align:left;white-space:nowrap;pointer-events:none;background:#151d1bc7;border-left:2px solid #c2b38b;padding:3px 5px;font:600 clamp(6px,.52vw,8px)/1.2 Consolas,Microsoft YaHei UI,monospace;display:grid;position:absolute;top:5px;left:5px}.route-label b{color:#b8c6bd;letter-spacing:.1em;font-size:.82em}.strategic-objective{--objective-color:#c8b985;z-index:8;color:var(--objective-color);pointer-events:none;align-items:center;gap:5px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.strategic-objective:before{z-index:-1;aspect-ratio:1;background:currentColor;border:1px dashed;border-radius:50%;width:clamp(66px,7vw,102px);position:absolute;top:50%;left:14px}@supports (color:color-mix(in lab, red, red)){.strategic-objective:before{background:color-mix(in srgb, currentColor 8%, transparent)}}.strategic-objective:before{content:"";transform:translate(-50%,-50%)}.strategic-objective>i{background:#181f1de6;border:2px solid;border-radius:50%;place-items:center;width:28px;height:28px;font:800 12px/1 Consolas,monospace;display:grid;box-shadow:0 2px 8px #00000073}.strategic-objective>span{color:#e7ebe6;text-align:left;background:#161d1bd6;border-left:2px solid;min-width:max-content;padding:3px 5px;font:600 clamp(6px,.52vw,8px)/1.2 Microsoft YaHei UI,sans-serif;display:grid}.strategic-objective small{color:#b1bbb5;font-size:.85em}.owner-player{--objective-color:#72bec5}.owner-enemy{--objective-color:#c87d72}.owner-contested{--objective-color:#d8a559}.military-interface .selected-cell{z-index:9}.military-interface .selected-cell:before{z-index:3;aspect-ratio:1;content:"";pointer-events:none;border:1px solid #82caceb3;border-radius:50%;width:320%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 26px #589a9e0d,0 0 0 52px #589a9e06}.military-interface .unit-token{width:var(--unit-token-width,72%);height:var(--unit-token-height,68%);filter:drop-shadow(0 2px 3px #0000008f);background:0 0;border:0}.military-interface .team-enemy.unit-token{background:0 0}.military-interface .unit-token:before,.military-interface .team-enemy.role-aa.unit-token:before,.military-interface .team-enemy.role-enemy-command.unit-token:before{width:var(--unit-plate-width,56%);height:var(--unit-plate-height,30%);background:#142829e8;border:1px solid;inset:0 auto auto 50%;transform:translate(-50%);box-shadow:0 1px 4px #00000080}.military-interface .team-enemy.unit-token:before{background:#381f1deb}.military-interface .unit-base-ring{background:currentColor;border:1px solid;height:20%;display:block;bottom:1px;left:22%;right:22%}@supports (color:color-mix(in lab, red, red)){.military-interface .unit-base-ring{background:color-mix(in srgb, currentColor 22%, transparent)}}.military-interface .unit-base-ring{box-shadow:none}.military-interface .unit-sprite{width:var(--unit-model-size,80%);height:var(--unit-model-size,80%);filter:drop-shadow(0 2px 2px #00000080);display:block;top:61%;transform:translate(-50%,-50%)}.military-interface .grid-board.detail-level-0{--unit-token-width:36%;--unit-token-height:34%;--unit-model-size:58%;--unit-plate-width:100%;--unit-plate-height:54%}.military-interface .grid-board.detail-level-1{--unit-token-width:54%;--unit-token-height:50%;--unit-model-size:70%;--unit-plate-width:76%;--unit-plate-height:40%}.military-interface .grid-board.detail-level-2{--unit-token-width:72%;--unit-token-height:68%;--unit-model-size:80%;--unit-plate-width:56%;--unit-plate-height:30%}.military-interface .grid-board.detail-level-3{--unit-token-width:104%;--unit-token-height:94%;--unit-model-size:96%;--unit-plate-width:42%;--unit-plate-height:22%}.military-interface .grid-board.detail-level-4{--unit-token-width:130%;--unit-token-height:116%;--unit-model-size:108%;--unit-plate-width:34%;--unit-plate-height:18%}.military-interface .grid-board.detail-level-0 .unit-name{opacity:0}.military-interface .unit-symbol-code{font-size:7px;top:3px}.military-interface .unit-facing{z-index:7;width:12px;height:12px;font-size:7px;top:2px;right:-5px}.military-interface .unit-name{white-space:nowrap;padding:1px 2px;font-size:6px;inset:-9px -7px auto}.military-interface .unit-hpbar{width:auto;height:2px;bottom:-3px;left:5px;right:5px}.military-interface .unit-hptext{z-index:8;padding:0 1px;font-size:5px;top:2px;left:auto;right:1px}.legend-swatch.deployment-blue{background:#3672783d;border:1px solid #72bec5}.legend-swatch.objective-neutral{background:0 0;border:1px dashed #c8b985;border-radius:50%}.legend-swatch.route{background:0 0;border:0;border-top:2px dashed #c2b38b;border-radius:0;height:0}.objective-readout{border-top:1px solid #46514c;padding:8px 10px 10px}.objective-readout>div{color:#aeb8b2;justify-content:space-between;align-items:baseline;margin-bottom:6px;font-size:9px;display:flex}.objective-readout>div strong{color:#dce3de;font:700 18px/1 Consolas,monospace}.objective-readout>div small{color:#95a19b;margin-left:4px;font-size:8px}.objective-readout ol{gap:3px;margin:0;padding:0;list-style:none;display:grid}.objective-readout li{color:#b8c1bc;grid-template-columns:18px 1fr auto;align-items:center;gap:5px;font-size:8px;display:grid}.objective-readout li i{color:#c8b985;border:1px solid;border-radius:50%;place-items:center;width:16px;height:16px;font:700 8px/1 Consolas,monospace;display:grid}.objective-readout li b{color:#8f9b95;font-size:8px}.objective-readout li.owner-player i,.objective-readout li.owner-player b{color:#72bec5}.objective-readout li.owner-enemy i,.objective-readout li.owner-enemy b{color:#c87d72}.objective-readout li.owner-contested i,.objective-readout li.owner-contested b{color:#d8a559}.military-interface .action-grid{grid-template-columns:1fr 1fr}.military-interface .action-grid button:last-child{grid-column:1/-1}.secondary-actions{grid-template-columns:repeat(3,1fr);gap:4px;padding:0 12px 8px;display:grid}.secondary-actions button{color:#9fa9a3;cursor:pointer;background:#29312e;border:1px solid #46514c;min-height:25px;font:600 8px/1 Microsoft YaHei UI,sans-serif}.secondary-actions button:disabled{opacity:.42;cursor:not-allowed}.military-interface .briefing-modal{width:min(720px,100%)}.deployment-plan{grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0 12px;display:grid}.deployment-plan>div{color:#d5dcd7;background:#1d2522;border:1px solid #4d5953;grid-template-columns:28px 1fr;align-items:center;padding:10px;display:grid}.deployment-plan b{color:#c6b98f;border:1px solid;border-radius:50%;grid-row:1/span 2;place-items:center;width:22px;height:22px;font:800 10px/1 Consolas,monospace;display:grid}.deployment-plan span{font-size:10px;font-weight:700}.deployment-plan small{color:#9ba7a0;font-size:8px}.objective-roster{grid-template-columns:repeat(5,1fr);gap:4px;margin-bottom:16px;display:grid}.objective-roster span{color:#b8c2bc;text-align:center;border-block:1px solid #48534e;justify-items:center;gap:4px;padding:7px 4px;font-size:8px;display:grid}.objective-roster i{color:#c8b985;border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font:700 9px/1 Consolas,monospace;display:grid}@media (max-width:760px){.deployment-zone{width:34%;height:28%;padding:6px}.deployment-zone b,.deployment-zone span{font-size:7px}.route-label,.strategic-objective>span{display:none}.deployment-plan{grid-template-columns:1fr}.objective-roster{grid-template-columns:repeat(3,1fr)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
:root{--sim-ink:#10283a;--sim-navy:#132d43;--sim-blue:#147f9e;--sim-cyan:#50bdd0;--sim-red:#a51f35;--sim-paper:#eef3f3;--sim-line:#c5d1d3;--sim-muted:#667984}.sim-shell{min-height:100vh;color:var(--sim-ink);background-color:#e9efef;background-image:linear-gradient(#184e5b09 1px,#0000 1px),linear-gradient(90deg,#184e5b09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;font-family:Inter,Microsoft YaHei,sans-serif}.sim-topbar{z-index:80;color:#dce9eb;background:#0e2537f7;border-bottom:1px solid #2f5264;grid-template-columns:auto 1fr auto;align-items:stretch;min-height:66px;display:grid;position:sticky;top:0;box-shadow:0 7px 24px #0c21302e}.sim-brand{min-width:310px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-right:1px solid #aed2d92e;align-items:center;gap:11px;padding:0 24px;display:flex}.sim-brand>span{color:#fff;clip-path:polygon(0 0,100% 8%,82% 52%,100% 96%,0 100%);background:linear-gradient(145deg,#c33149,#761326);place-items:center;width:34px;height:38px;font:800 17px serif;display:grid}.sim-brand div{flex-direction:column;gap:2px;display:flex}.sim-brand b{color:#f3fafb;letter-spacing:.08em;font-size:14px}.sim-brand small{color:#7fa8b5;letter-spacing:.16em;font:8px Consolas,monospace}.sim-topbar nav{align-items:stretch;padding-left:12px;display:flex}.sim-topbar nav button{color:#9cb3bc;cursor:pointer;background:0 0;border:0;padding:0 17px;font-size:11px;position:relative}.sim-topbar nav button:hover,.sim-topbar nav button.active{color:#fff;background:#4a9db21a}.sim-topbar nav button.active:after{content:"";background:#48bed0;height:3px;position:absolute;bottom:0;left:15px;right:15px}.sim-topbar nav i{color:#dffcff;background:#21839c;border-radius:10px;place-items:center;min-width:16px;height:16px;margin-left:3px;font:8px Consolas,monospace;display:inline-grid}.tactical-link{color:#fff;background:#971d32;align-items:center;gap:14px;padding:0 22px;font-size:11px;font-weight:700;text-decoration:none;display:flex}.tactical-link:hover{background:#b52a42}.tactical-link span{font-size:15px}.sim-notice{z-index:100;color:#e9feff;background:#0f3b49f2;border:1px solid #62c7d6;padding:12px 18px;font-size:11px;position:fixed;top:78px;right:24px;box-shadow:0 9px 30px #081e2a38}.sim-home{width:min(1480px,100% - 64px);margin:0 auto;padding:36px 0 70px}.home-hero{color:#d8e9ea;background:linear-gradient(120deg,#152f45 0 57%,#1f5563 100%);grid-template-columns:1.25fr .75fr;min-height:420px;display:grid;overflow:hidden;box-shadow:0 22px 48px #122d3d2e}.hero-copy{background:radial-gradient(circle at 80% 30%,#4eb5c62b,#0000 36%);padding:62px 68px}.hero-copy>p{color:#65c5d3;letter-spacing:.21em;margin:0 0 21px;font:9px Consolas,monospace}.hero-copy h1{color:#fff;letter-spacing:-.05em;margin:0;font-size:clamp(36px,4vw,60px);font-weight:650;line-height:1.12}.hero-copy h1 span{color:#7fd4dc}.hero-copy>strong{color:#adc3c8;max-width:690px;margin:24px 0 0;font-size:13px;font-weight:400;line-height:1.9;display:block}.hero-actions{gap:10px;margin-top:34px;display:flex}.hero-actions button,.story-entry button,.run-simulation{color:#fff;cursor:pointer;background:linear-gradient(135deg,#b72b42,#84162b);border:0;padding:13px 21px;font-size:11px;font-weight:800}.hero-actions button.secondary{color:#d7e8eb;background:#09223045;border:1px solid #b6dde266}.hero-radar{background:radial-gradient(circle,#40a6b436,#0a283657 55%,#091d2b8c);border-left:1px solid #aedce22e;place-items:center;display:grid;position:relative;overflow:hidden}.radar-grid{background:repeating-radial-gradient(circle,#0000 0 48px,#63d1db21 49px 50px);border:1px solid #68dae13b;border-radius:50%;width:310px;height:310px;position:absolute}.radar-grid:before,.radar-grid:after{content:"";background:#5dcfd726;position:absolute}.radar-grid:before{width:100%;height:1px;top:50%;left:0}.radar-grid:after{width:1px;height:100%;top:0;left:50%}.radar-sweep{background:conic-gradient(from 10deg, transparent 0 69%, #64e1e538 78%, transparent 82%);border-radius:50%;width:310px;height:310px;animation:8s linear infinite radarSweep;position:absolute}@keyframes radarSweep{to{transform:rotate(360deg)}}.hero-radar>b{z-index:2;color:#ccf1f21a;letter-spacing:-.08em;font:800 56px/1 Consolas,monospace;position:relative}.radar-city,.radar-air{z-index:4;color:#89e2e6;align-items:center;gap:6px;font-size:17px;display:flex;position:absolute}.radar-city{bottom:30%;right:25%}.radar-air{color:#ff8798;top:29%;left:24%;transform:rotate(20deg)}.radar-city small,.radar-air small{color:#e7f8fa;background:#092532cc;padding:3px 5px;font:7px Consolas,monospace}.workflow-strip{border:1px solid var(--sim-line);background:#f7fafadb;border-top:0;grid-template-columns:repeat(5,1fr);display:grid}.workflow-strip div{border-right:1px solid var(--sim-line);align-items:center;gap:10px;min-height:62px;padding:0 22px;display:flex;position:relative}.workflow-strip div:last-child{border:0}.workflow-strip span{color:#a1afb3;font:10px Consolas,monospace}.workflow-strip b{font-size:11px}.workflow-strip i{z-index:2;color:#84989e;background:#f5f8f8;font-style:normal;position:absolute;right:-5px}.home-grid{grid-template-columns:1.15fr .85fr;gap:18px;margin-top:22px;display:grid}.story-entry,.lab-principles{border:1px solid var(--sim-line);background:#f8fbfbe6;padding:30px 34px;box-shadow:0 12px 28px #17364412}.card-kicker{color:#76909a;letter-spacing:.17em;justify-content:space-between;align-items:center;font:8px Consolas,monospace;display:flex}.card-kicker b{color:var(--sim-red);font-size:9px}.story-entry h2{margin:20px 0 8px;font-size:25px}.story-entry>p{color:var(--sim-muted);font-size:11px;line-height:1.8}.story-facts{border:1px solid #d2dcde;grid-template-columns:repeat(3,1fr);margin:20px 0;display:grid}.story-facts span{color:#778991;flex-direction:column;gap:4px;padding:11px 13px;font-size:8px;display:flex}.story-facts span+span{border-left:1px solid #d2dcde}.story-facts b{color:var(--sim-ink);font-size:14px}.story-entry button{justify-content:space-between;width:100%;display:flex}.lab-principles ul{margin:17px 0 0;padding:0;list-style:none}.lab-principles li{border-top:1px solid #d6dfe1;grid-template-columns:85px 1fr;gap:12px;padding:12px 0;display:grid}.lab-principles li b{color:#21495c;font-size:10px}.lab-principles li span{color:var(--sim-muted);font-size:9px;line-height:1.6}.sim-editor-shell{background:#f7fafaeb;border:1px solid #bdcbce;grid-template-columns:260px 1fr;width:min(1500px,100% - 48px);min-height:calc(100vh - 108px);margin:22px auto 40px;display:grid;box-shadow:0 18px 44px #1432401f}.wizard-sidebar{color:#d9e8eb;background:linear-gradient(#16354b,#102a3d)}.wizard-sidebar>p{color:#6999a8;letter-spacing:.18em;margin:0;padding:24px 23px 8px;font:8px Consolas,monospace}.wizard-sidebar>h2{color:#fff;border-bottom:1px solid #aed3d929;min-height:54px;margin:0;padding:0 23px 19px;font-size:15px}.wizard-sidebar ol{margin:0;padding:15px 0;list-style:none}.wizard-sidebar li button{color:#8eabb5;text-align:left;cursor:pointer;background:0 0;border:0;border-left:3px solid #0000;align-items:center;gap:12px;width:100%;padding:12px 20px;display:flex}.wizard-sidebar li.active button{color:#fff;background:#52b5c51f;border-left-color:#56c5d3}.wizard-sidebar li.done button{color:#8dd0d7}.wizard-sidebar li button span{border:1px solid;border-radius:50%;place-items:center;width:23px;height:23px;font:8px Consolas,monospace;display:grid}.wizard-sidebar li button b{font-size:10px}.wizard-actions{border-top:1px solid #aed3d929;gap:6px;padding:20px;display:grid}.wizard-actions button{color:#b9cdd2;cursor:pointer;background:#091e2b40;border:1px solid #a9d1d838;padding:9px 10px;font-size:9px}.wizard-content{flex-direction:column;min-width:0;display:flex}.wizard-header{border-bottom:1px solid var(--sim-line);background:#f6f9f9;justify-content:space-between;align-items:center;min-height:92px;padding:0 34px;display:flex}.wizard-header span{color:#5e8d9a;letter-spacing:.14em;font:8px Consolas,monospace}.wizard-header h1{margin:4px 0 0;font-size:24px}.scenario-id{color:#8a9aa0;text-align:right;font:7px/1.7 Consolas,monospace}.scenario-id b{color:#45636f;font-weight:400}.wizard-page{flex:1;padding:30px 36px}.page-lead{color:var(--sim-muted);margin:0 0 24px;font-size:10px;line-height:1.8}.sim-form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.sim-form-grid.three{grid-template-columns:1.3fr .7fr 1fr}.sim-form-grid label,.assignment-grid label,.wide-field,.compact-number{color:#687d85;flex-direction:column;gap:7px;font-size:9px;display:flex}.sim-form-grid input,.sim-form-grid select,.assignment-grid select,.wide-field textarea,.compact-number input{width:100%;color:var(--sim-ink);background:#fff;border:1px solid #bccbce;outline:none;padding:11px 12px;font:11px inherit}.sim-form-grid input:focus,.sim-form-grid select:focus,.assignment-grid select:focus,.wide-field textarea:focus{border-color:#2a91a6;box-shadow:0 0 0 2px #2a91a61f}.wide-field{margin-top:20px}.wide-field textarea{resize:vertical;line-height:1.7}.campaign-type-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:25px;display:grid}.campaign-type-grid button{color:#667b84;cursor:pointer;background:#f7f9f9;border:1px solid #c6d2d4;flex-direction:column;align-items:center;gap:7px;padding:19px 8px;display:flex}.campaign-type-grid button span{color:#7295a0;font-size:23px}.campaign-type-grid button b{font-size:10px}.campaign-type-grid button.active{color:#0d637a;background:#eaf6f7;border-color:#2e9cb0;box-shadow:inset 0 -3px #2f96aa}.split-input{grid-template-columns:1fr 1fr;gap:6px;display:grid}.sim-range-grid{grid-template-columns:repeat(3,1fr);gap:16px 22px;margin-top:27px;display:grid}.sim-range-field{flex-direction:column;gap:9px;display:flex}.sim-range-field>span{color:#647981;justify-content:space-between;font-size:9px;display:flex}.sim-range-field b{color:#187b90;font:8px Consolas,monospace}.sim-range-field b.inverse{color:var(--sim-red)}.sim-range-field input{accent-color:#278da2;width:100%}.defense-specials{background:#edf3f3;border:1px solid #d1dade;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:27px;padding:21px;display:grid}.toggle-grid{grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.sim-toggle{color:#506974;cursor:pointer;background:#f8fafa;border:1px solid #c9d5d7;align-items:center;gap:8px;min-height:37px;padding:0 10px;font-size:9px;display:flex}.sim-toggle input{opacity:0;position:absolute}.sim-toggle>span{background:#aab8bd;border-radius:8px;width:25px;height:13px;position:relative}.sim-toggle>span:after{content:"";background:#fff;border-radius:50%;width:9px;height:9px;transition:all .12s;position:absolute;top:2px;left:2px}.sim-toggle input:checked+span{background:#21869b}.sim-toggle input:checked+span:after{transform:translate(12px)}.assignment-grid{border-top:1px solid #ccd7d9;grid-template-columns:1.4fr .6fr;gap:8px 15px;margin-top:28px;padding-top:24px;display:grid}.commander-assignment{flex-direction:column;grid-column:1/-1;gap:7px;margin-bottom:6px;display:flex}.assignment-label{color:#687d85;font-size:9px}.commander-file-summary{width:100%;min-height:84px;color:var(--sim-ink);text-align:left;cursor:pointer;background:linear-gradient(100deg,#f8fbfb,#e9f1f2);border:1px solid #aebfc3;grid-template-columns:58px minmax(170px,1fr) auto 45px;align-items:center;gap:14px;padding:11px 16px;display:grid;position:relative;overflow:hidden}.commander-file-summary:before{content:"";background:#9e2136;width:4px;position:absolute;top:0;bottom:0;left:0}.commander-file-summary:hover{border-color:#27889c;box-shadow:0 7px 18px #1d5c691c}.file-avatar{color:#e7f6f7;clip-path:polygon(0 0,100% 0,100% 86%,84% 100%,0 100%);background:linear-gradient(150deg,#385d69,#142f43);place-items:center;width:52px;height:60px;font:800 25px serif;display:grid;position:relative}.file-avatar i{color:#67c4d0;letter-spacing:.08em;font:6px Consolas,monospace;position:absolute;bottom:4px;right:4px}.file-identity{flex-direction:column;gap:3px;display:flex}.file-identity small{color:#7a9098;letter-spacing:.12em;font:7px Consolas,monospace}.file-identity strong{font-size:17px}.file-identity>b{color:#2a7587;font-size:8px}.file-stats{border:1px solid #ccd7d9;grid-template-columns:repeat(3,52px);display:grid}.file-stats i{color:#7c8e94;flex-direction:column;gap:2px;padding:7px 8px;font-size:7px;font-style:normal;display:flex}.file-stats i+i{border-left:1px solid #ccd7d9}.file-stats b{color:#8f2236;font:800 11px Consolas,monospace}.change-file{color:#34798a;font-size:7px;position:absolute;bottom:6px;right:14px}.assignment-preview{background:#f3f7f7;border:1px solid #d1dade;align-items:center;gap:8px;padding:7px 10px;display:flex}.assignment-preview div{flex-direction:column;gap:2px;min-width:0;display:flex}.assignment-preview div b{font-size:10px}.assignment-preview div span{color:#768990;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.archive-grade{color:#fff;clip-path:polygon(7% 0,100% 0,91% 100%,0 100%);background:#6c7c83;flex:none;place-items:center;width:38px;height:30px;font:900 10px Consolas,monospace;display:grid}.grade-ssr{background:linear-gradient(135deg,#bd2c47,#711328)}.grade-a{background:linear-gradient(135deg,#217d95,#174a66)}.grade-b{background:#536c78}.grade-c{background:#78888d}.personnel-picker-backdrop{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#071824bd;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.personnel-picker{background:#eaf0f0;border:1px solid #8db0b7;width:min(1120px,100%);max-height:calc(100vh - 56px);overflow:auto;box-shadow:0 30px 80px #03121c66}.personnel-picker>header{z-index:2;color:#d9eaec;background:#153449;border-bottom:1px solid #3b6270;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.personnel-picker>header span{color:#61bccc;letter-spacing:.17em;font:7px Consolas,monospace}.personnel-picker>header h2{color:#fff;margin:4px 0 0;font-size:20px}.personnel-picker>header p{color:#8eabb3;margin:5px 0 0;font-size:8px}.personnel-picker>header button{color:#d8e8ea;cursor:pointer;background:#04152142;border:1px solid #b7dadf52;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.personnel-card-grid{grid-template-columns:repeat(3,1fr);gap:11px;padding:18px;display:grid}.personnel-file-card{min-width:0;color:var(--sim-ink);text-align:left;cursor:pointer;background:#f8fafa;border:1px solid #bccbce;flex-direction:column;gap:12px;padding:17px;display:flex;position:relative;overflow:hidden}.personnel-file-card:after{content:"";border:1px solid #2f87971c;border-radius:50%;width:100px;height:100px;position:absolute;top:-30px;right:-38px;box-shadow:0 0 0 11px #2f879709,0 0 0 22px #2f879706}.personnel-file-card:hover{border-color:#278da2;transform:translateY(-2px);box-shadow:0 10px 24px #19505d1f}.personnel-file-card.selected{border-color:#a82439;box-shadow:inset 0 0 0 2px #a824392e}.dossier-index{color:#85979d;letter-spacing:.13em;font:7px Consolas,monospace}.dossier-head{grid-template-columns:54px 1fr auto;align-items:center;gap:10px;display:grid}.dossier-avatar{color:#f2fbfb;clip-path:polygon(0 0,100% 0,100% 85%,82% 100%,0 100%);background:linear-gradient(150deg,#426b77,#152f43 70%);place-items:center;width:52px;height:62px;font:800 24px serif;display:grid;position:relative}.dossier-avatar i{color:#75cbd4;font:6px sans-serif;position:absolute;bottom:4px;right:4px}.dossier-head>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.dossier-head small{color:#809198;font:7px Consolas,monospace}.dossier-head strong{font-size:17px}.dossier-head span>b{color:#2a7889;font-size:8px}.dossier-stats{border:1px solid #d0dadd;grid-template-columns:repeat(4,1fr);display:grid}.dossier-stats i{color:#849399;flex-direction:column;gap:3px;padding:7px;font-size:7px;font-style:normal;display:flex}.dossier-stats i+i{border-left:1px solid #d0dadd}.dossier-stats b{color:#8e2035;font:800 11px Consolas,monospace}.dossier-duty,.dossier-risk{color:#60757d;flex-direction:column;gap:3px;min-height:30px;font-size:8px;line-height:1.5;display:flex}.dossier-duty b,.dossier-risk b{color:#829399;font-size:7px}.dossier-risk{background:#f5ecee;border-left:2px solid #a12a3d;padding:7px 8px}.dossier-select{color:#fff;text-align:right;background:#2b7181;margin:auto -17px -17px;padding:10px 17px;font-size:8px;font-weight:700}.personnel-file-card.selected .dossier-select{background:#9a2135}.map-workspace{grid-template-columns:230px 1fr;gap:22px;display:grid}.terrain-palette{flex-direction:column;gap:4px;max-height:580px;padding-right:4px;display:flex;overflow:auto}.terrain-palette>p{color:#72868d;margin:0 0 5px;font-size:9px}.terrain-palette button{color:#566e77;text-align:left;cursor:pointer;background:#f8fafa;border:1px solid #cad5d7;grid-template-columns:34px 1fr;align-items:center;gap:8px;padding:7px;display:grid}.terrain-palette button.active{color:#175f72;background:#e8f4f5;border-color:#3192a5}.terrain-palette button span{flex-direction:column;gap:2px;display:flex}.terrain-palette button b{font-size:9px}.terrain-palette button small{color:#829197;font-size:7px}.map-terrain{color:#fff;place-items:center;width:32px;height:32px;font-size:16px;font-style:normal;display:grid}.editor-map{grid-template-columns:repeat(var(--map-cols), 1fr);background:#8ba4a9;border:1px solid #8ba4a9;gap:1px;display:grid}.editor-map button{aspect-ratio:1.25;color:#fff;cursor:pointer;border:0;place-items:center;min-width:0;padding:0;display:grid;position:relative}.editor-map button:hover{z-index:2;box-shadow:inset 0 0 0 3px #fff,0 0 0 2px #197f96}.editor-map button small{color:#ffffffb3;font:6px Consolas,monospace;position:absolute;top:3px;left:4px}.editor-map button b{text-shadow:0 2px 5px #00000040;font-size:20px}.editor-map button span{background:#0e242e73;padding:1px 3px;font-size:6px;position:absolute;bottom:3px;right:3px}.editor-map .terrain-plain,.map-terrain.terrain-plain{background:linear-gradient(145deg,#9fbd78,#779d65)}.editor-map .terrain-forest,.map-terrain.terrain-forest{background:linear-gradient(145deg,#4b8c62,#225a43)}.editor-map .terrain-highland,.map-terrain.terrain-highland{background:linear-gradient(145deg,#8d9383,#5b665e)}.editor-map .terrain-river,.map-terrain.terrain-river{background:linear-gradient(145deg,#55b8d0,#27799d)}.editor-map .terrain-bridge,.map-terrain.terrain-bridge{background:linear-gradient(145deg,#a88b62,#6d5941)}.editor-map .terrain-road,.map-terrain.terrain-road{background:linear-gradient(145deg,#a7a58b,#747561)}.editor-map .terrain-city,.map-terrain.terrain-city{background:linear-gradient(145deg,#66818a,#394f58)}.editor-map .terrain-wall,.map-terrain.terrain-wall{background:linear-gradient(145deg,#6b7076,#343b44)}.editor-map .terrain-aa,.map-terrain.terrain-aa{background:linear-gradient(145deg,#8b575c,#522d36)}.editor-map .terrain-airport,.map-terrain.terrain-airport{background:linear-gradient(145deg,#628d97,#345a69)}.editor-map .terrain-hq,.map-terrain.terrain-hq{background:linear-gradient(145deg,#a62c43,#66152a)}.editor-map .terrain-supply,.map-terrain.terrain-supply{background:linear-gradient(145deg,#b79248,#7e652f)}.map-help{color:#7b8d93;margin:10px 0 0;font-size:8px;line-height:1.6}.condition-numbers{grid-template-columns:1fr 1fr;gap:18px;display:grid}.condition-numbers label{background:#f7fafa;border:1px solid #c6d2d4;grid-template-columns:1fr 90px;align-items:center;padding:17px;display:grid}.condition-numbers span{font-size:11px;font-weight:700}.condition-numbers input{width:75px;color:var(--sim-red);text-align:center;background:#fff;border:1px solid #b9c7ca;grid-area:1/2/3;padding:10px;font:800 18px Consolas,monospace}.condition-numbers small{color:#819198;margin-top:5px;font-size:8px}.condition-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin-top:22px;display:grid}.preflight-question{color:#dcebec;background:#17384c;border-left:4px solid #50c1d1;padding:20px 23px}.preflight-question span{color:#62bdca;letter-spacing:.15em;font:8px Consolas,monospace}.preflight-question h2{color:#fff;margin:8px 0 0;font-size:16px;font-weight:500;line-height:1.6}.preflight-grid{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:17px;display:grid}.preflight-grid article{background:#f7fafa;border:1px solid #cad5d7;padding:17px}.preflight-grid article>span{color:#7d9299;letter-spacing:.12em;font:7px Consolas,monospace}.preflight-grid h3{margin:7px 0 4px;font-size:12px}.preflight-grid article>b{color:#23697b;font-size:9px}.preflight-grid p{color:#7b8b91;margin:9px 0 0;font-size:8px}.model-note{border:1px solid #c7d3d5;grid-template-columns:130px 1fr;margin-top:17px;display:grid}.model-note b{color:#fff;background:#386676;padding:14px;font-size:9px}.model-note span{color:#637980;background:#edf3f3;padding:14px;font-size:9px}.run-simulation{justify-content:space-between;width:100%;margin-top:17px;padding:16px 20px;display:flex}.wizard-footer{border-top:1px solid var(--sim-line);background:#f5f8f8;justify-content:space-between;padding:15px 35px;display:flex}.wizard-footer button{color:#61747c;cursor:pointer;background:#fff;border:1px solid #bdcacc;padding:10px 17px;font-size:9px}.wizard-footer button.primary{color:#fff;background:#256f82;border-color:#1f7184}.wizard-footer button:disabled{opacity:.4;cursor:not-allowed}.report-shell,.archive-shell{width:min(1460px,100% - 64px);margin:0 auto;padding:34px 0 70px}.report-header,.archive-shell>header{border-bottom:1px solid #b8c8cb;justify-content:space-between;align-items:flex-end;padding:0 4px 23px;display:flex}.report-header p,.archive-shell>header p{color:#4c8997;letter-spacing:.18em;margin:0 0 7px;font:8px Consolas,monospace}.report-header h1,.archive-shell>header h1{margin:0;font-size:28px}.report-header div>span,.archive-shell>header>span{color:#71858c;margin-top:8px;font-size:9px;display:block}.report-actions{gap:7px;display:flex}.report-actions button,.archive-shell>header button{color:#48616b;cursor:pointer;background:#f4f8f8;border:1px solid #b8c8cb;padding:9px 13px;font-size:9px}.report-summary{color:#dbe9eb;background:#173549;border:1px solid #264b5c;grid-template-columns:1.3fr repeat(5,1fr);margin-top:18px;display:grid}.report-summary>div{border-right:1px solid #a7ced62b;flex-direction:column;justify-content:center;gap:5px;min-height:92px;padding:0 20px;display:flex}.report-summary>div:last-child{border:0}.report-summary span{color:#83a7b1;font-size:8px}.report-summary b{color:#fff;font-size:14px}.report-summary .probability{background:linear-gradient(145deg,#8e1a31,#641126);grid-template-rows:auto auto;grid-template-columns:1fr auto;display:grid}.report-summary .probability span{color:#f0b5be}.report-summary .probability strong{color:#fff;grid-area:1/2/3;font:800 39px Consolas,monospace}.report-summary .probability strong small{font-size:14px}.report-summary .probability p{color:#f3cbd1;margin:0;font-size:8px}.plan-comparison{grid-template-columns:repeat(3,1fr);gap:13px;margin-top:16px;display:grid}.plan-card{background:#f8fbfbf0;border:1px solid #c1cfd2;overflow:hidden}.plan-card.recommended{border-color:#2c91a4;box-shadow:0 10px 28px #1c68771f}.plan-card header{justify-content:space-between;align-items:center;padding:17px 19px 10px;display:flex}.plan-card header span{color:#82949a;letter-spacing:.1em;font:7px Consolas,monospace}.plan-card.recommended header span{color:var(--sim-red)}.plan-card h3{margin:3px 0 0;font-size:17px}.plan-card header>strong{color:#8e2134;font:800 31px Consolas,monospace}.plan-card header strong small{font-size:11px}.plan-card>p{color:#71838a;min-height:28px;margin:0;padding:0 19px;font-size:9px}.plan-metrics{border:1px solid #d3dcde;grid-template-columns:repeat(4,1fr);margin:12px 19px;display:grid}.plan-metrics span{color:#829097;flex-direction:column;gap:3px;padding:7px;font-size:7px;display:flex}.plan-metrics span+span{border-left:1px solid #d3dcde}.plan-metrics b{color:#334f5a;font-size:9px}.success-track{background:#dde5e6;height:5px;margin:0 19px}.success-track i{background:linear-gradient(90deg,#287f92,#55bdc9);height:100%;display:block}.plan-card footer{color:#788a90;justify-content:space-between;padding:10px 19px 14px;font-size:7px;display:flex}.report-grid{grid-template-columns:repeat(2,1fr);gap:15px;margin-top:16px;display:grid}.report-grid>article{background:#f8fbfbeb;border:1px solid #c3d0d2;padding:24px 27px}.report-grid .rationality-card{color:#e1edef;background:#17384b}.rationality-card>span{color:#6bbdca;letter-spacing:.13em;font:8px Consolas,monospace}.rationality-card h2{color:#fff;margin:10px 0 19px;font-size:16px;font-weight:500;line-height:1.65}.factor-list{background:#a6cbd224;grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.factor-list>b{color:#8fb5bc;background:#091d2a59;grid-column:1/-1;padding:7px 9px;font-size:8px}.factor-list div{background:#0e2b39bf;justify-content:space-between;padding:7px 9px;font-size:8px;display:flex}.factor-list strong.positive{color:#74d4b7}.factor-list strong.negative{color:#ff8c9b}.section-title{border-bottom:1px solid #d0dadc;align-items:center;gap:10px;padding-bottom:13px;display:flex}.section-title span{color:#a1afb4;font:9px Consolas,monospace}.section-title h2{margin:0;font-size:14px}.process-list{margin:13px 0 0;padding:0;list-style:none}.process-list li{border-bottom:1px dashed #d6dfe1;grid-template-columns:42px 1fr;gap:9px;padding:8px 0;display:grid}.process-list b{color:#25859a;font:8px Consolas,monospace}.process-list span{color:#61757d;font-size:9px;line-height:1.6}.condition-columns{grid-template-columns:1fr 1fr;gap:15px;margin-top:14px;display:grid}.condition-columns>div{background:#edf5f2;border-left:3px solid #2a8f78;padding:11px}.condition-columns>div.failure{background:#f7edef;border-left-color:#a6293d}.condition-columns b{color:#315d53;font-size:9px}.condition-columns .failure b{color:#8b2b3a}.condition-columns p{color:#61756e;margin:8px 0 0;font-size:8px;line-height:1.5}.plot-list{grid-template-columns:1fr 1fr;gap:8px;margin:15px 0 0;padding:0;list-style:none;display:grid}.plot-list li{color:#566d76;background:#f3f7f7;border:1px solid #d0dadd;padding:9px 10px;font-size:8px}.execution-bar{color:#d9e9eb;background:#17364a;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;margin-top:16px;padding:18px 22px;display:grid}.execution-bar span{color:#68bac7;letter-spacing:.14em;font:7px Consolas,monospace}.execution-bar h2{color:#fff;margin:4px 0 0;font-size:14px}.execution-bar button,.execution-bar a{color:#d8e7e9;cursor:pointer;background:#081d2a47;border:1px solid #aad1d74d;padding:10px 14px;font-size:9px;text-decoration:none}.execution-bar a{color:#fff;background:#922038;border-color:#9f263a}.execution-result{color:#e6f4f2;background:#20725f;grid-template-columns:auto auto 1fr auto;align-items:center;gap:15px;padding:14px 21px;display:grid}.execution-result.loss{background:#84243a}.execution-result span{font-size:8px}.execution-result strong{font-size:18px}.execution-result p{margin:0;font-size:9px}.execution-result b{font-size:8px;font-weight:400}.archive-shell>header{align-items:center}.archive-shell>header>div{gap:7px;display:flex}.archive-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px;display:grid}.archive-grid article{background:#f8fbfbf0;border:1px solid #c2d0d2;padding:22px;box-shadow:0 8px 22px #1636430f}.archive-grid article.assigned{border-color:#a52339;box-shadow:inset 0 0 0 2px #a523391f,0 8px 22px #1636430f}.archive-card-head{align-items:center;gap:12px;display:flex}.archive-card-head>.archive-grade{margin-left:auto}.archive-portrait{color:#effafa;clip-path:polygon(0 0,100% 0,100% 85%,82% 100%,0 100%);background:linear-gradient(150deg,#426a76,#173044);flex:none;place-items:center;width:48px;height:57px;font:800 23px serif;display:grid;position:relative}.archive-portrait i{color:#75c9d3;font:6px sans-serif;position:absolute;bottom:4px;right:4px}.archive-card-head div{flex-direction:column;gap:2px;display:flex}.archive-card-head span{color:#7c8f96;font:7px Consolas,monospace}.archive-card-head h2{margin:0;font-size:17px}.archive-card-head div b{color:#2b7b8c;font-size:8px}.archive-grid article>p{color:#687b83;min-height:46px;margin:17px 0;font-size:9px;line-height:1.7}.archive-stats{border:1px solid #d0dadd;grid-template-columns:repeat(4,1fr);display:grid}.archive-stats span{color:#839298;flex-direction:column;gap:3px;padding:7px;font-size:7px;display:flex}.archive-stats span+span{border-left:1px solid #d0dadd}.archive-stats b{color:#9c2438;font:800 11px Consolas,monospace}.archive-grid dl{grid-template-columns:45px 1fr;gap:6px 8px;margin:15px 0 0;font-size:8px;display:grid}.archive-grid dt{color:#849399}.archive-grid dd{color:#4d6670;margin:0}.archive-assign{color:#fff;text-align:right;cursor:pointer;background:#286f80;border:0;width:calc(100% + 44px);margin:17px -22px -22px;padding:11px 16px;font-size:8px;font-weight:700}.archive-grid article.assigned .archive-assign{background:#9a2135}.staff-radar{gap:7px;margin-top:20px;display:grid}.staff-radar div{color:#71858d;grid-template-columns:35px 1fr 25px;align-items:center;gap:7px;font-size:7px;display:grid}.staff-radar i{background:#dce4e5;height:5px}.staff-radar em{background:#2a8da0;height:100%;display:block}.staff-radar b{color:#405c67;text-align:right;font:8px Consolas,monospace}.staff-grid article footer{color:#64808a;background:#eaf2f3;margin-top:18px;padding:10px;font-size:8px}.staff-grid article footer b{float:right;color:#8c2336}.library-list{gap:9px;margin-top:20px;display:grid}.library-list article{background:#f8fafa;border:1px solid #c3d0d2;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.library-list article>div:first-child{grid-template-columns:145px 1fr auto;align-items:center;gap:13px;display:grid}.library-list span{color:#839399;font:7px Consolas,monospace}.library-list h2{margin:0;font-size:14px}.library-list b{color:#2b7b8c;font-size:8px}.library-list article>div:last-child{gap:6px;display:flex}.library-list button{color:#41606b;cursor:pointer;background:#fff;border:1px solid #bdcbce;padding:8px 12px;font-size:8px}.library-list button.delete{color:#9a2337}.empty-library{color:#71858d;place-items:center;min-height:380px;display:grid}.empty-library span{color:#9fb0b5;font-size:48px}.empty-library h2{color:#455e68;margin:-50px 0 0;font-size:18px}.empty-library p{margin:-60px 0 0;font-size:9px}.empty-library button{color:#fff;cursor:pointer;background:#277f93;border:0;margin-top:-70px;padding:10px 16px;font-size:9px}@media (max-width:1180px){.sim-topbar{grid-template-columns:1fr auto}.sim-topbar nav{border-top:1px solid #aed2d91f;order:3;grid-column:1/-1;min-height:44px;overflow-x:auto}.sim-topbar nav button{min-width:max-content}.home-hero{grid-template-columns:1fr}.hero-radar{display:none}.preflight-grid,.sim-range-grid,.archive-grid,.personnel-card-grid{grid-template-columns:1fr 1fr}.report-summary{grid-template-columns:repeat(3,1fr)}.report-summary>div:nth-child(3){border-right:0}}@media (max-width:820px){.sim-brand{min-width:0;padding:0 14px}.sim-brand small{display:none}.tactical-link{padding:0 13px;font-size:9px}.sim-home,.report-shell,.archive-shell{width:calc(100% - 24px)}.hero-copy{padding:35px 26px}.workflow-strip{grid-template-columns:1fr}.workflow-strip div{border-right:0;border-bottom:1px solid var(--sim-line)}.workflow-strip i{display:none}.home-grid,.report-grid,.plan-comparison,.archive-grid{grid-template-columns:1fr}.sim-editor-shell{grid-template-columns:1fr;width:calc(100% - 18px)}.wizard-sidebar{display:none}.wizard-page{padding:22px 17px}.sim-form-grid,.sim-form-grid.three,.sim-range-grid,.defense-specials,.assignment-grid,.condition-numbers,.condition-grid{grid-template-columns:1fr}.commander-file-summary{grid-template-columns:52px 1fr 40px}.file-stats{grid-column:1/-1}.personnel-picker-backdrop{padding:8px}.personnel-card-grid{grid-template-columns:1fr;padding:10px}.toggle-grid{grid-template-columns:1fr 1fr}.map-workspace{grid-template-columns:1fr}.terrain-palette{grid-template-columns:1fr 1fr;max-height:none;display:grid}.terrain-palette>p{grid-column:1/-1}.preflight-grid{grid-template-columns:1fr}.report-summary{grid-template-columns:1fr 1fr}.report-summary .probability{grid-column:1/-1}.execution-bar{grid-template-columns:1fr}.report-header,.archive-shell>header{flex-direction:column;align-items:flex-start;gap:15px}}
