@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(./barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(./barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(./barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c1011;--surface-1:#14191b;--surface-2:#1a2022;--surface-3:#202729;--border:#3a4244;--border-strong:#545d5f;--text:#e8e9e3;--text-muted:#9ba19e;--amber:#efad3c;--amber-strong:#ffba3f;--amber-soft:#4d3919;--cyan:#3bc6cc;--cyan-soft:#15393c;--danger:#e15349;--success:#68bd74;--radius-sm:4px;--radius-md:7px;--motion-fast:.16s;--motion-normal:.24s;font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter Variable,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}:focus-visible{outline:2px solid var(--amber-strong);outline-offset:2px}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,SFMono-Regular,monospace}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.skip-link{z-index:100;border-radius:var(--radius-sm);background:var(--amber);color:#181207;padding:9px 12px;font-weight:700;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-header{z-index:20;border-bottom:1px solid var(--border);background:#101516;grid-template-columns:minmax(260px,1fr) auto minmax(160px,1fr);align-items:center;min-height:62px;padding:0 18px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand img{width:38px;height:38px}.brand div{flex-direction:column;min-width:0;display:flex}.brand h1{letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:14px;overflow:hidden}.brand span,.eyebrow{color:var(--text-muted);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:700}.mode-tabs{align-items:stretch;height:62px;display:flex}.mode-tabs button{min-width:112px;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;display:flex;position:relative}.mode-tabs svg{width:17px}.mode-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:0;left:12px;right:12px}.mode-tabs button:hover{color:var(--text);background:var(--surface-1)}.mode-tabs button.active{color:var(--amber)}.mode-tabs button.active:after{background:var(--amber)}.header-actions{justify-content:flex-end;gap:6px;display:flex}.header-button,.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);justify-content:center;align-items:center;gap:7px;min-width:44px;min-height:40px;display:inline-flex}.header-button{padding:0 12px;font-size:13px}.header-button:hover,.icon-button:hover{border-color:var(--border-strong);background:var(--surface-3)}.header-button svg,.icon-button svg{width:17px;height:17px}.workspace{border-bottom:1px solid var(--border);grid-template-columns:306px minmax(440px,1fr) 326px;min-height:calc(100vh - 242px);display:grid}.input-rail,.result-rail{background:var(--surface-1)}.input-rail{border-right:1px solid var(--border)}.result-rail{border-left:1px solid var(--border)}.map-rail{background:#0f1415;min-width:0;padding:16px}.input-panel,.result-panel,.locate-analysis{padding:18px}.locate-analysis{border-bottom:1px solid var(--border);padding-bottom:0}.panel-heading,.analysis-heading,.queue-heading{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.panel-heading h2,.analysis-heading h2,.queue-heading h2,.ammo-workspace h2{letter-spacing:-.01em;margin:3px 0 0;font-size:18px;font-weight:650}.analysis-heading svg{width:22px;color:var(--cyan)}.field{flex-direction:column;gap:6px;margin:0 0 14px;display:flex;position:relative}.field label,fieldset legend{color:#c8cbc7;font-size:12px;font-weight:650}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:42px;color:var(--text);background:#0f1415;padding:9px 10px}select{appearance:auto}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--amber);outline:1px solid var(--amber)}input[aria-invalid=true]{border-color:var(--danger)}.field-hint,.field-error{font-size:10px;line-height:1.4}.field-hint{color:var(--text-muted)}.field-error{color:#ff877d}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.input-with-unit{display:flex;position:relative}.input-with-unit span{color:var(--text-muted);font-size:12px;position:absolute;top:12px;right:10px}.input-with-unit input{padding-right:36px}.segmented-field{border:0;margin:0 0 14px;padding:0}.segmented-field legend{margin-bottom:7px}.segmented{border:1px solid var(--border);border-radius:var(--radius-sm);background:#0f1415;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;display:grid}.segmented.two{grid-template-columns:repeat(2,1fr)}.segmented button{min-height:36px;color:var(--text-muted);background:0 0;border:0;border-radius:3px;font-size:11px}.segmented button.active{background:var(--amber-soft);color:var(--amber-strong)}.recommendation-inline,.course-summary{border-left:2px solid var(--cyan);background:var(--cyan-soft);align-items:center;gap:10px;margin:-2px 0 14px;padding:10px;display:flex}.recommendation-inline svg,.course-summary svg{width:18px;color:var(--cyan)}.recommendation-inline div{flex:1;justify-content:space-between;align-items:center;display:flex}.recommendation-inline span,.course-summary{color:#b8d5d5;font-size:11px}.recommendation-inline strong{color:var(--cyan);font-size:12px}.primary-action,.secondary-action,.text-action{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;min-height:43px;font-weight:700;display:inline-flex}.primary-action{border:1px solid var(--amber-strong);background:var(--amber);color:#181207}.primary-action:hover{background:var(--amber-strong)}.secondary-action{border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text)}.secondary-action:hover{border-color:var(--cyan)}.text-action{min-height:38px;color:var(--amber);background:0 0;border:0;padding:0;font-size:12px}.primary-action svg,.secondary-action svg,.text-action svg{width:17px}.full{width:100%}.map-panel{height:100%;min-height:430px}.map-heading{align-items:center;margin-bottom:12px}.map-legend{color:var(--text-muted);flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:10px;display:flex}.map-legend span{align-items:center;gap:5px;display:flex}.legend-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.legend-dot.gun{background:var(--amber)}.legend-dot.target{background:var(--danger)}.legend-dot.candidate{background:var(--cyan)}.legend-dot.reference{border:1px solid var(--amber);background:0 0;border-radius:1px}.map-stage{border:1px solid var(--border);background:#0a0e0f;justify-content:center;align-items:center;width:100%;min-height:390px;display:flex;position:relative;overflow:hidden}.map-stage.point-panel-open{min-height:480px}.simulation-heatmap{z-index:3;aspect-ratio:2;pointer-events:none;mix-blend-mode:screen;width:100%;height:auto;position:absolute;top:50%;left:0;transform:translateY(-50%)}.marker-coordinate-readout{--readout-offset-x:-50%;--readout-offset-y:calc(-100% - 16px);z-index:8;min-width:92px;transform:translate(var(--readout-offset-x), var(--readout-offset-y));border:1px solid var(--amber);border-radius:var(--radius-sm);color:var(--text-muted);pointer-events:none;white-space:nowrap;background:#101516f5;flex-direction:column;gap:1px;padding:6px 9px;font-size:9px;line-height:1.15;display:flex;position:fixed;box-shadow:0 4px 12px #00000045}.marker-coordinate-readout strong{color:var(--amber-strong);letter-spacing:.02em;font-family:IBM Plex Mono,monospace;font-size:13px}.marker-coordinate-readout[data-horizontal-placement=start]{--readout-offset-x:14px}.marker-coordinate-readout[data-horizontal-placement=end]{--readout-offset-x:calc(-100% - 14px)}.marker-coordinate-readout[data-vertical-placement=below]{--readout-offset-y:16px}.tactical-map{z-index:2;cursor:grab;touch-action:none;aspect-ratio:2;width:100%;height:auto;max-height:calc(100vh - 230px);display:block;position:relative}.map-controls{z-index:4;border:0;gap:4px;margin:0;padding:0;display:flex;position:absolute;top:10px;right:10px}.map-controls button{border:1px solid var(--border);border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-muted);background:#101516e8;justify-content:center;align-items:center;display:inline-flex}.map-controls button:hover{border-color:var(--cyan);color:var(--text)}.map-controls svg{width:15px}.map-base{fill:#0b1112}.subgrid-line{fill:none;stroke:#233033;stroke-width:.35px}.majorgrid-line{fill:none;stroke:#3b4b4d;stroke-width:1px}.map-label{fill:#778284;pointer-events:none;font-family:IBM Plex Mono,monospace;font-size:10px}.target-region{fill:#e1534930;stroke:var(--danger);stroke-width:1.5px}.map-marker{outline:none}.map-marker.editable{cursor:grab}.map-marker.editable.dragging{cursor:grabbing}.map-marker.editable.locked{cursor:not-allowed}.map-marker.readonly{pointer-events:none}.marker-hit-target{fill:#0000;stroke:#0000;stroke-width:2px}.map-marker:focus-visible .marker-hit-target{stroke:var(--amber-strong);stroke-dasharray:3 2;vector-effect:non-scaling-stroke}.marker-selection{fill:none;stroke:#f2f4ed;stroke-dasharray:3 2;stroke-width:1.5px;vector-effect:non-scaling-stroke}.gun-marker .marker-glyph circle{fill:#231b0d;stroke:var(--amber);stroke-width:3px}.gun-marker .marker-glyph path{stroke:var(--amber);stroke-width:2px}.target-marker .marker-glyph circle:first-child{fill:#321513;stroke:var(--danger);stroke-width:2px}.target-marker .marker-glyph circle:nth-child(2){fill:none;stroke:#ff746a;stroke-width:1.5px}.target-marker .marker-glyph path{stroke:var(--danger);stroke-width:2px}.observer-marker .marker-glyph circle{fill:#102c2e;stroke:var(--cyan);stroke-width:2px}.reference-marker .marker-glyph rect{fill:#101516;stroke:var(--amber);stroke-width:2px;transform:rotate(45deg)}.intercept-marker .marker-glyph circle{fill:#102c2e;stroke:var(--cyan);stroke-dasharray:3 2;stroke-width:2px}.intercept-marker .marker-glyph path{stroke:var(--cyan);stroke-width:2px}.map-marker-label{fill:#a4d9db;paint-order:stroke;stroke:#0b1112;stroke-width:3px;font-family:IBM Plex Mono,monospace;font-size:11px}.target-marker .map-marker-label{fill:#ff9a92}.reference-marker .map-marker-label{fill:var(--amber);font-size:10px;font-weight:700}.map-marker .marker-lock>circle{fill:#101516;stroke:var(--amber-strong);stroke-width:1.5px}.map-marker .marker-lock>svg{color:var(--amber-strong);stroke-width:2.5px}.candidate{fill:#3bc6cc2c;stroke:var(--cyan);stroke-width:1.5px;vector-effect:non-scaling-stroke}.candidate:hover,.candidate.selected{fill:#3bc6cc59;stroke-width:2.5px}.sample{fill:#efad3c;opacity:.26;pointer-events:none}.movement-path line{stroke:var(--cyan);stroke-width:2.5px;stroke-dasharray:8 5}.tactical-map .movement-path circle{fill:#142b2d;stroke:var(--cyan);stroke-width:2px}.map-empty{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex;position:absolute}.map-empty svg{width:20px}.map-caption{min-height:34px;color:var(--text-muted);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;font-size:10px;display:flex}.map-caption span{align-items:center;gap:6px;display:flex}.map-caption svg{width:14px}.map-point-tools{z-index:6;position:absolute;top:10px;left:10px}.map-point-trigger{border:1px solid var(--border);border-radius:var(--radius-sm);min-height:40px;color:var(--text);background:#101516f2;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.map-point-trigger:hover,.map-point-trigger[aria-expanded=true]{border-color:var(--cyan);background:#152123f2}.map-point-trigger svg{width:16px;color:var(--cyan)}.map-point-trigger b{border-left:1px solid var(--border);color:var(--amber);padding-left:7px;font-size:9px;font-weight:700}.map-point-panel{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:min(310px,100vw - 44px);box-shadow:var(--shadow-panel);color:var(--text);background:#121819fa;margin-top:6px}.map-point-panel-heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;min-height:54px;padding:8px 8px 8px 12px;display:flex}.map-point-panel-heading div{flex-direction:column;gap:2px;display:flex}.map-point-panel-heading strong{font-size:12px}.map-point-panel-heading span{color:var(--text-muted);font-size:9px}.map-point-panel-heading button{width:36px;height:36px;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.map-point-panel-heading button:hover{color:var(--text)}.map-point-panel-heading svg{width:16px}.map-point-selection-actions{border-bottom:1px solid var(--border);justify-content:flex-end;gap:4px;padding:5px 8px;display:flex}.map-point-selection-actions button{min-height:30px;color:var(--cyan);background:0 0;border:0;padding:0 8px;font-size:10px}.map-point-list{max-height:240px;padding:4px;overflow-y:auto}.map-point-list label{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;grid-template-columns:20px 10px minmax(0,1fr) 18px;align-items:center;gap:8px;min-height:46px;padding:4px 8px;display:grid}.map-point-list label:hover{background:var(--surface-2)}.map-point-list label.selected{background:var(--cyan-soft);border-color:#3bc6cc55}.map-point-list input{width:16px;height:16px;accent-color:var(--cyan)}.point-kind{width:8px;height:8px;color:var(--cyan);border:2px solid;border-radius:50%;display:block}.point-kind.gun{color:var(--amber)}.point-kind.target{color:var(--danger)}.map-point-list label>span{flex-direction:column;gap:2px;min-width:0;display:flex}.map-point-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.map-point-list small{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:9px}.map-point-list label>svg{width:15px;color:var(--text-muted)}.map-point-list label.selected>svg{color:var(--amber)}.map-point-lock-actions{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:6px;padding:8px;display:grid}.map-point-lock-actions button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);min-height:40px;color:var(--text);justify-content:center;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.map-point-lock-actions button:not(:disabled):hover{border-color:var(--cyan)}.map-point-lock-actions svg{width:14px}.result-heading{align-items:center}.valid-state{color:var(--success);align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.valid-state svg{width:15px}.primary-readouts{background:var(--border);border:1px solid var(--border);grid-template-columns:1.4fr .8fr 1.1fr;gap:1px;margin-bottom:14px;display:grid}.primary-readouts div{background:#0f1415;flex-direction:column;gap:4px;min-width:0;padding:12px 9px;display:flex}.primary-readouts span{color:var(--text-muted);font-size:10px}.primary-readouts strong{color:var(--amber-strong);letter-spacing:.01em;white-space:nowrap;font-family:Barlow Condensed,Arial Narrow,sans-serif;font-size:29px;line-height:1}.secondary-readouts{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:0;margin:0 0 14px;display:grid}.secondary-readouts div{border-bottom:1px solid var(--border);justify-content:space-between;gap:7px;min-width:0;padding:9px 2px;display:flex}.secondary-readouts dt{color:var(--text-muted);align-items:center;gap:5px;font-size:10px;display:flex}.secondary-readouts dt svg{width:13px}.secondary-readouts dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;font-weight:700;overflow:hidden}.status-notice{border-left:2px solid var(--border-strong);background:var(--surface-2);color:#c9cdca;align-items:flex-start;gap:9px;margin:0 0 14px;padding:10px;font-size:11px;line-height:1.45;display:flex}.status-notice>svg{width:17px;min-width:17px}.status-notice div{flex-direction:column;gap:2px;display:flex}.status-notice.error{border-color:var(--danger);color:#ffc1bd;background:#2d1716}.status-notice.warning{border-color:var(--amber);color:#f2d59e;background:#2c2314}.status-notice.neutral{border-color:var(--cyan);background:var(--cyan-soft);color:#bdd8d9}.uncertainty-block{border:1px solid var(--border);background:#101516;margin-bottom:14px;padding:10px}.uncertainty-block>span{color:var(--text-muted);font-size:10px}.uncertainty-block p{margin:6px 0 0;font-family:IBM Plex Mono,monospace;font-size:10px}.charge-section{margin-bottom:14px}.charge-section h3,.subsection-heading h3{margin:0;font-size:12px}.charge-table{border-top:1px solid var(--border);margin-top:8px}.charge-table button{border:0;border-bottom:1px solid var(--border);width:100%;min-height:33px;color:var(--text-muted);text-align:right;background:0 0;grid-template-columns:.7fr 1fr 1fr;align-items:center;padding:0 7px;font-family:IBM Plex Mono,monospace;font-size:10px;display:grid}.charge-table b{text-align:left}.charge-table button:hover{background:var(--surface-2);color:var(--text)}.charge-table button.selected{border-left:2px solid var(--amber);background:var(--amber-soft);color:var(--amber-strong)}.result-actions{grid-template-columns:1fr;gap:8px;display:grid}.result-empty{min-height:240px;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.result-empty svg{width:32px;height:32px}.result-empty p{max-width:220px;font-size:12px;line-height:1.6}.subsection-heading{justify-content:space-between;align-items:center;margin:18px 0 9px;display:flex}.subsection-heading div{align-items:center;gap:6px;display:flex}.subsection-heading svg{width:15px;color:var(--cyan)}.subsection-heading span{color:var(--text-muted);font-size:10px}.observer-row{border-bottom:1px solid #2c3436;grid-template-columns:1fr 1.25fr 34px;align-items:end;gap:5px;margin-bottom:8px;padding-bottom:8px;display:grid}.reference-row{grid-template-columns:26px 1fr 34px;align-items:center;gap:5px;margin-bottom:5px;display:grid}.reference-row input{min-height:36px}.reference-row .icon-button{min-width:34px;min-height:36px}.observer-row>input{min-height:36px}.observer-row .field{margin:0}.observer-row .field label{display:none}.observer-row .field input{min-height:36px}.observer-row .icon-button,.observation-row .icon-button{min-width:34px;min-height:36px}.observation-row{grid-template-columns:20px .9fr .9fr .7fr .65fr 34px;gap:4px;margin-bottom:5px;display:grid}.observation-row input,.observation-row select{min-height:36px;padding:6px;font-size:10px}.row-number{color:var(--text-muted);align-items:center;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.intel-parser{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:12px 0}.intel-parser summary{min-height:42px;color:var(--text-muted);cursor:pointer;align-items:center;gap:7px;font-size:11px;display:flex}.intel-parser summary svg{width:15px}.intel-parser textarea{resize:vertical;min-height:90px;font-size:11px}.intel-parser .secondary-action{width:100%;margin-top:6px}.candidate-summary{border:1px solid var(--border);background:#0f1415;grid-template-columns:auto 1fr auto;align-items:baseline;gap:6px;margin-bottom:10px;padding:10px;display:grid}.candidate-summary strong{color:var(--cyan);font-family:Barlow Condensed,sans-serif;font-size:28px}.candidate-summary span,.candidate-summary b{color:var(--text-muted);font-size:10px}.candidate-list{gap:5px;margin-bottom:10px;display:grid}.candidate-list button{border:1px solid var(--border);text-align:left;background:#101516;grid-template-columns:1fr auto;gap:3px 8px;padding:8px 10px;display:grid}.candidate-list button.selected{border-color:var(--cyan);background:var(--cyan-soft)}.candidate-list span{font-size:11px;font-weight:700}.candidate-list b,.candidate-list small{font-family:IBM Plex Mono,monospace;font-size:9px}.candidate-list small{color:var(--text-muted)}.geometry-quality{grid-template-columns:1fr auto;gap:3px 8px;margin-bottom:10px;font-size:10px;display:grid}.geometry-quality span,.geometry-quality small{color:var(--text-muted)}.geometry-quality small{grid-column:1/-1}.simulation-stats,.best-fit{border:1px solid var(--border);background:#101516;margin:9px 0 14px;padding:9px}.simulation-stats span,.simulation-stats p,.best-fit li{color:var(--text-muted);font-size:9px;line-height:1.5}.simulation-stats p{margin:5px 0 0;font-family:IBM Plex Mono,monospace}.best-fit>strong{color:var(--amber);margin:10px 0;font-size:16px;display:block}.best-fit ul{margin:0;padding-left:18px}.queue-wrap{background:#101516}.queue-panel{padding:13px 18px 18px}.queue-heading{align-items:flex-end;margin-bottom:8px}.queue-heading h2{font-size:15px}.queue-heading>span{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:10px}.queue-empty{border:1px dashed var(--border);min-height:50px;color:var(--text-muted);text-align:center;margin:0;padding:16px;font-size:11px}.queue-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:10px}th{color:var(--text-muted);text-align:left;padding:7px 9px;font-weight:600}td{border-top:1px solid var(--border);padding:7px 9px}.queue-index{color:var(--amber);margin-right:8px;font-family:IBM Plex Mono,monospace}.queue-actions{justify-content:flex-end;gap:3px;display:flex}.queue-actions button{width:30px;height:30px;color:var(--text-muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.queue-actions button:hover{background:var(--surface-2);color:var(--text)}.queue-actions svg{width:14px}.ammo-main{min-height:calc(100vh - 190px);padding:36px clamp(20px,5vw,76px)}.ammo-workspace{grid-template-columns:280px 1fr;gap:44px;max-width:1160px;margin:0 auto;display:grid}.ammo-intro>p{color:var(--text-muted);margin:10px 0 26px;font-size:13px;line-height:1.6}.shell-list{border-top:1px solid var(--border)}.shell-row{border-bottom:1px solid var(--border);grid-template-columns:40px 120px minmax(220px,1fr) 52px 160px;align-items:center;gap:14px;padding:16px 4px;display:grid}.shell-rank{color:var(--cyan);font-family:IBM Plex Mono,monospace;font-size:11px}.shell-rank svg{width:20px}.shell-code{flex-direction:column;display:flex}.shell-code strong{color:var(--amber);font-size:17px}.shell-code span,.shell-row p,.ammo-alternatives{color:var(--text-muted);font-size:10px;line-height:1.55}.shell-row p{margin:0}.shell-cost{align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.shell-cost svg{width:14px;color:var(--amber)}.ammo-alternatives{margin-top:18px}.mobile-task-nav{display:none}.toast{z-index:50;border:1px solid var(--success);border-radius:var(--radius-sm);color:#cceacf;background:#17251a;align-items:center;gap:8px;padding:12px 14px;font-size:12px;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 24px #0006}.toast>svg{width:17px}.toast.error{border-color:var(--danger);color:#ffd8d4;background:#2a1715}.status-notice.info{background:var(--cyan-soft);color:#c7f2f4;border-color:#296b70}.app-footer{border-top:1px solid var(--border);color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;font-size:10px;line-height:1.5;display:flex}.app-footer .text-action{flex:none}.toast button{background:0 0;border:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.toast button svg{width:14px}@media (width<=1279px){.workspace{grid-template-columns:282px minmax(380px,1fr) 290px}.brand h1{max-width:220px}.mode-tabs button{min-width:96px;padding:0 9px}.primary-readouts strong{font-size:25px}}@media (width<=1040px){.app-header{grid-template-columns:240px 1fr auto;padding:0 10px}.mode-tabs button{min-width:auto}.mode-tabs button svg{display:none}.workspace{grid-template-columns:270px minmax(360px,1fr)}.result-rail{border-top:1px solid var(--border);border-left:0;grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.result-rail>*+*{border-left:1px solid var(--border)}}@media (width<=899px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app-header{grid-template-columns:minmax(0,1fr) auto;min-height:58px;padding:8px 12px 0;position:relative}.brand img{width:33px;height:33px}.brand h1{max-width:min(63vw,330px);font-size:13px}.brand span{font-size:8px}.brand{grid-area:1/1}.header-actions{grid-area:1/2;justify-self:end;gap:4px}.header-button{width:40px;min-width:40px;min-height:38px;padding:0}.header-button span{display:none}.mode-tabs{scrollbar-width:none;grid-area:2/1/auto/-1;justify-content:flex-start;width:100%;height:48px;overflow-x:auto}.mode-tabs button{min-width:100px;padding:0 10px;font-size:12px}.mode-tabs button svg{width:15px;display:block}.workspace{min-height:0;display:block}.input-rail,.map-rail,.result-rail{border:0;min-height:calc(100vh - 172px);display:none}[data-mobile-pane=input] .input-rail,[data-mobile-pane=map] .map-rail,[data-mobile-pane=result] .result-rail{display:block}.input-panel,.result-panel,.locate-analysis{max-width:620px;margin:0 auto;padding:18px 16px 24px}.result-rail>*+*{border-left:0}.map-rail{padding:12px}.map-panel{min-height:0}.map-stage{min-height:280px}.map-point-trigger,.map-controls button,.map-point-panel-heading button,.map-point-lock-actions button{min-height:44px}.map-controls button{width:44px;height:44px}.tactical-map{max-height:none}.primary-readouts strong{font-size:38px}.queue-wrap{display:none}.app-footer{padding-bottom:78px}[data-mobile-pane=result] .queue-wrap{display:block}.mobile-task-nav{z-index:30;padding:6px 10px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:#101516;grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-task-nav button{min-height:48px;color:var(--text-muted);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;display:flex}.mobile-task-nav button svg{width:19px}.mobile-task-nav button.active{color:var(--amber)}.toast{right:12px;bottom:calc(72px + env(safe-area-inset-bottom));left:12px}.ammo-main{min-height:0;padding:24px 16px}.ammo-workspace{display:block}.ammo-result{margin-top:24px}.shell-row{grid-template-columns:34px 1fr auto;gap:8px}.shell-row p,.shell-row .secondary-action{grid-column:2/-1}.shell-cost{grid-area:1/3}.queue-actions button,.observer-row .icon-button,.reference-row .icon-button,.observation-row .icon-button{width:44px;min-width:44px;height:44px;min-height:44px}}@media (width<=480px){.brand h1{max-width:55vw}.primary-readouts{grid-template-columns:1.35fr .8fr 1.1fr}.primary-readouts strong{font-size:32px}.field-row{grid-template-columns:1fr 1fr}.observer-row{grid-template-columns:1fr 1fr 34px}.observation-row{grid-template-columns:18px 1fr 1fr 34px}.observation-row>select:first-of-type{grid-area:1/2}.observation-row>select:nth-of-type(2){grid-area:1/3}.observation-row>select:nth-of-type(3){grid-area:2/2}.observation-row>input{grid-area:2/3}.observation-row>.icon-button{grid-area:1/4/3;height:100%}.map-caption{flex-direction:column;align-items:flex-start;padding-top:8px}}@media (prefers-reduced-motion:no-preference){button,input,select{transition:border-color var(--motion-fast), background-color var(--motion-fast), color var(--motion-fast)}.map-marker:not(.dragging){transition:transform var(--motion-normal)}}
