:root{--ak2-font-ui:system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", Roboto, sans-serif;--ak2-font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", "Courier New", monospace;--ak2-fg:#dbecdf;--ak2-fg-dim:#8fa896;--ak2-accent:#7cf29a;--ak2-amber:#ffc24d;--ak2-red:#ff5a5a;--ak2-cyan:#6fd8ff;--ak2-panel-bg:#060c09a8;--ak2-panel-border:#7cf29a73;--ak2-bar-bg:#ffffff1a}.ak2-hud,.ak2-garage,.ak2-overlays{font-family:var(--ak2-font-ui);color:var(--ak2-fg);box-sizing:border-box;font-size:14px;line-height:1.35}.ak2-hud *,.ak2-garage *,.ak2-overlays *{box-sizing:border-box}.ak2-num{font-family:var(--ak2-font-mono);font-variant-numeric:tabular-nums}.ak2-hud{pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 2px #000,0 0 4px #000000e6;position:absolute;inset:0;overflow:hidden}.ak2-hud-layer{position:absolute;inset:0;overflow:hidden}.ak2-hud-vignette{opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 90px 30px #ff2828d9}.ak2-hud-center{width:0;height:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ak2-lock-svg{position:absolute;top:0;left:0;overflow:visible}.ak2-lock-svg circle{fill:none}.ak2-lock-base{stroke:#c8d2c88c;stroke-width:1.5px;stroke-dasharray:6 6}.ak2-lock-svg[data-state=acquiring] .ak2-lock-base{stroke:#ffc24d99}.ak2-lock-svg[data-state=locked] .ak2-lock-base{stroke:#7cf29ae6;stroke-dasharray:none;stroke-width:2.5px}.ak2-lock-progress{stroke:var(--ak2-amber);stroke-width:4px;stroke-linecap:butt;display:none}.ak2-lock-svg[data-state=acquiring] .ak2-lock-progress{display:inline}.ak2-lock-solid{stroke:var(--ak2-accent);stroke-width:3px;display:none}.ak2-lock-svg[data-state=locked] .ak2-lock-solid{display:inline}.ak2-crosshair{width:0;height:0;position:absolute;top:0;left:0}.ak2-crosshair:before{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;left:-3px;box-shadow:0 0 0 1px #000c}.ak2-crosshair-line{background:#ffffffd9;position:absolute;box-shadow:0 0 1px #000}.ak2-crosshair-line.h{width:14px;height:1px;top:0}.ak2-crosshair-line.v{width:1px;height:14px;left:0}.ak2-lock-text{text-align:center;letter-spacing:.06em;width:320px;color:var(--ak2-fg-dim);white-space:nowrap;margin-left:-160px;font-size:15px;font-weight:600;position:absolute;left:0}.ak2-lock-text[data-state=acquiring]{color:var(--ak2-amber)}.ak2-lock-text[data-state=locked]{color:var(--ak2-accent)}.ak2-lock-sub{color:var(--ak2-fg);font-size:13px;font-weight:400;display:block}.ak2-marker{will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.ak2-marker-shape{position:absolute;top:0;left:0}.ak2-marker-label{white-space:nowrap;letter-spacing:.03em;font-size:12px;font-weight:600;position:absolute;top:0;left:0;transform:translate(14px,10px)}.ak2-marker-arrow{width:0;height:0;font-size:22px;line-height:0;display:none;position:absolute;top:0;left:0}.ak2-marker-arrow>span{line-height:0;position:absolute;top:0;left:-8px}.ak2-marker.offscreen .ak2-marker-arrow{display:block}.ak2-marker.offscreen .ak2-marker-shape{display:none}.ak2-marker-target{color:var(--ak2-amber)}.ak2-marker-target .ak2-marker-shape{width:30px;height:30px;margin-top:-15px;margin-left:-15px}.ak2-marker-target .ak2-marker-shape:before,.ak2-marker-target .ak2-marker-shape:after{content:"";border:2px solid;width:8px;height:30px;position:absolute;top:0}.ak2-marker-target .ak2-marker-shape:before{border-right:none;left:0}.ak2-marker-target .ak2-marker-shape:after{border-left:none;right:0}.ak2-marker-target.locked{color:var(--ak2-accent)}.ak2-marker-aim{color:var(--ak2-cyan)}.ak2-marker-aim .ak2-marker-shape{border:2px solid;width:16px;height:16px;margin-top:-8px;margin-left:-8px;transform:rotate(45deg)}.ak2-marker-aim .ak2-marker-shape:after{content:"";background:currentColor;width:4px;height:4px;position:absolute;top:4px;left:4px}.ak2-marker-aim.no-solution{color:var(--ak2-red)}.ak2-marker-aim.no-solution .ak2-marker-shape{border-style:dashed}.ak2-marker-telegraph{color:var(--ak2-red)}.ak2-marker-telegraph .ak2-marker-shape{border-bottom:20px solid;border-left:11px solid #0000;border-right:11px solid #0000;width:0;height:0;margin-top:-12px;margin-left:-11px;animation:.3s ease-in-out infinite alternate ak2-pulse}.ak2-marker-telegraph .ak2-marker-label{color:#fff;font-size:14px;transform:translate(-4px,-8px)}@keyframes ak2-pulse{0%{opacity:.45;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}.ak2-marker-control{color:var(--ak2-red)}.ak2-marker-control .ak2-marker-shape{border:2px solid;border-radius:3px;width:18px;height:18px;margin-top:-9px;margin-left:-9px;transform:rotate(45deg)}.ak2-marker-control.dead{color:var(--ak2-fg-dim);opacity:.55}.ak2-marker-control.dead .ak2-marker-shape{border-style:dotted}.ak2-marker-objective{color:var(--ak2-accent)}.ak2-marker-objective .ak2-marker-label{transform:translate(14px,-26px)}.ak2-marker-objective .ak2-marker-shape{border:2px solid;border-radius:50%;width:22px;height:22px;margin-top:-11px;margin-left:-11px}.ak2-marker-objective .ak2-marker-shape:after{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;left:6px}.ak2-hit-svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.ak2-hit-svg path{fill:none;stroke:var(--ak2-red);stroke-width:9px;stroke-linecap:butt}.ak2-panel{background:var(--ak2-panel-bg);border:1px solid var(--ak2-panel-border);border-radius:4px;min-width:200px;padding:8px 12px;position:absolute}.ak2-panel-title{letter-spacing:.18em;color:var(--ak2-fg-dim);text-transform:uppercase;margin-bottom:4px;font-size:11px}.ak2-bar{background:var(--ak2-bar-bg);border:1px solid #ffffff40;height:10px;margin:4px 0;position:relative;overflow:hidden}.ak2-bar-fill{background:var(--ak2-accent);transform-origin:0;width:100%;position:absolute;top:0;bottom:0;left:0}.ak2-bar-fill.amber{background:var(--ak2-amber)}.ak2-bar-fill.red{background:var(--ak2-red)}.ak2-weapon{min-width:250px;bottom:80px;left:16px}.ak2-weapon-row{color:var(--ak2-fg-dim);align-items:baseline;gap:8px;padding:3px 0;display:flex}.ak2-weapon-row.active{color:var(--ak2-fg)}.ak2-weapon-key{text-align:center;border:1px solid;border-radius:2px;min-width:18px;font-size:11px;line-height:16px;display:inline-block}.ak2-weapon-row.active .ak2-weapon-key{background:var(--ak2-accent);color:#062010;border-color:var(--ak2-accent)}.ak2-weapon-name{min-width:96px;font-weight:600}.ak2-weapon-row.active .ak2-weapon-name{font-size:16px}.ak2-weapon-ammo{font-size:13px}.ak2-weapon-row.active .ak2-weapon-ammo{font-size:15px}.ak2-weapon-ammo.empty{color:var(--ak2-red)}.ak2-en{min-width:250px;bottom:170px;right:16px}.ak2-en-value{font-size:20px;font-weight:600}.ak2-en-sub{color:var(--ak2-fg-dim);font-size:12px}.ak2-move{min-width:250px;bottom:80px;right:16px}.ak2-move-line{justify-content:space-between;gap:12px;padding:1px 0;display:flex}.ak2-move-line .k{color:var(--ak2-fg-dim);font-size:12px}.ak2-move-line.qb.ready .v{color:var(--ak2-accent)}.ak2-move-line.qb.cooling .v{color:var(--ak2-amber)}.ak2-move-line.qb.noen .v{color:var(--ak2-red)}.ak2-move-line.qb.boosting .v{color:var(--ak2-cyan)}.ak2-hp{text-align:center;width:420px;bottom:18px;left:50%;transform:translate(-50%)}.ak2-hp-value{font-size:20px;font-weight:600}.ak2-hp-state{letter-spacing:.2em;min-height:16px;font-size:12px}.ak2-hp.amber .ak2-hp-value,.ak2-hp.amber .ak2-hp-state{color:var(--ak2-amber)}.ak2-hp.red .ak2-hp-value,.ak2-hp.red .ak2-hp-state{color:var(--ak2-red)}.ak2-objective{text-align:center;min-width:480px;max-width:760px;padding:6px 16px;top:14px;left:50%;transform:translate(-50%)}.ak2-obj-sector{letter-spacing:.06em;font-size:16px;font-weight:600}.ak2-obj-next{color:var(--ak2-amber);font-size:13px}.ak2-obj-row{color:var(--ak2-fg-dim);flex-wrap:wrap;justify-content:center;gap:18px;font-size:12px;display:flex}.ak2-obj-row .gate.open{color:var(--ak2-accent);font-weight:600}.ak2-obj-recent{color:var(--ak2-accent);font-size:13px;font-weight:600}.ak2-obj-barriers{color:var(--ak2-fg-dim);font-size:12px}.ak2-toast{border:1px solid var(--ak2-red);color:#fff;letter-spacing:.04em;white-space:nowrap;background:#3c0808cc;border-radius:3px;padding:6px 18px;font-size:16px;font-weight:600;line-height:20px;display:none;position:absolute;top:36px;left:0;transform:translate(-50%)}.ak2-toast.show{display:block}.ak2-garage{border-left:1px solid var(--ak2-panel-border);pointer-events:auto;background:#080d0adb;width:45%;min-width:560px;padding:18px 22px 28px;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.ak2-garage h1{letter-spacing:.12em;color:var(--ak2-accent);margin:0 0 4px;font-size:22px}.ak2-garage h2{letter-spacing:.18em;color:var(--ak2-fg-dim);text-transform:uppercase;border-bottom:1px solid #7cf29a40;margin:14px 0 6px;padding-bottom:3px;font-size:13px}.ak2-garage-sub{color:var(--ak2-fg-dim);margin-bottom:6px;font-size:12px}.ak2-part-group{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ak2-part-group.two{grid-template-columns:repeat(2,1fr)}.ak2-part-btn{text-align:left;width:100%;color:var(--ak2-fg);font:inherit;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff38;border-radius:4px;padding:7px 9px;display:block}.ak2-part-btn:hover{border-color:var(--ak2-accent)}.ak2-part-btn[aria-pressed=true]{border-color:var(--ak2-accent);box-shadow:inset 0 0 0 1px var(--ak2-accent);background:#7cf29a1f}.ak2-part-btn .name{font-size:15px;font-weight:600;display:block}.ak2-part-btn[aria-pressed=true] .name:after{content:"  ✔ 選択中";color:var(--ak2-accent);font-size:11px}.ak2-part-btn .nums{color:var(--ak2-cyan);margin:2px 0;font-size:12px;display:block}.ak2-part-btn .pros,.ak2-part-btn .cons{font-size:11.5px;line-height:1.3;display:block}.ak2-part-btn .pros{color:var(--ak2-accent)}.ak2-part-btn .cons{color:var(--ak2-amber)}.ak2-stats{border:1px solid var(--ak2-panel-border);background:#00000059;border-radius:4px;padding:8px 12px}.ak2-stats-selected{margin-bottom:6px;font-size:13px}.ak2-stats table{border-collapse:collapse;width:100%;font-size:13px}.ak2-stats td{vertical-align:top;padding:2px 4px}.ak2-stats td:first-child{color:var(--ak2-fg-dim);white-space:nowrap;width:34%}.ak2-stats .formula{color:var(--ak2-fg-dim);font-size:11.5px}.ak2-controls-box{background:#00000059;border:1px solid #fff3;border-radius:4px;max-height:240px;padding:8px 12px;font-size:12.5px;overflow-y:auto}.ak2-controls-box h3{color:var(--ak2-accent);margin:8px 0 3px;font-size:12.5px}.ak2-controls-box h3:first-child{margin-top:0}.ak2-controls-box ul{margin:0 0 4px;padding-left:18px}.ak2-controls-box li{margin:2px 0}.ak2-launch-area{text-align:center;margin-top:16px}.ak2-btn{font:inherit;border:1px solid var(--ak2-accent);color:var(--ak2-fg);cursor:pointer;letter-spacing:.08em;background:#7cf29a1f;border-radius:4px;margin:4px;padding:8px 22px;font-size:15px}.ak2-btn:hover{background:#7cf29a47}.ak2-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.ak2-btn.primary{background:var(--ak2-accent);color:#062010;padding:12px 56px;font-size:22px;font-weight:700}.ak2-btn.primary:hover{background:#a3ffbb}.ak2-launch-note{color:var(--ak2-fg-dim);margin-top:6px;font-size:12px}.ak2-plerror{border:1px solid var(--ak2-red);text-align:left;background:#3c080899;border-radius:4px;margin-top:10px;padding:8px 12px;font-size:13px;display:none}.ak2-plerror.show{display:block}.ak2-plerror .title{color:var(--ak2-red);font-weight:700}.ak2-plerror .msg{font-family:var(--ak2-font-mono);color:var(--ak2-amber);word-break:break-all;margin:4px 0;font-size:12px}.ak2-overlays{pointer-events:auto;background:#0009;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.ak2-overlays.show{display:flex}.ak2-dialog{border:1px solid var(--ak2-panel-border);background:#080d0af0;border-radius:6px;width:min(760px,100% - 40px);max-height:calc(100% - 40px);padding:18px 24px 22px;display:none;overflow-y:auto}.ak2-dialog.show{display:block}.ak2-dialog h1{letter-spacing:.14em;text-align:center;margin:0 0 8px;font-size:30px}.ak2-dialog h1.cleared{color:var(--ak2-accent)}.ak2-dialog h1.failed{color:var(--ak2-red)}.ak2-dialog h2{letter-spacing:.18em;color:var(--ak2-fg-dim);text-transform:uppercase;margin:14px 0 6px;font-size:13px}.ak2-dialog-buttons{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0;display:flex}.ak2-result-table{border-collapse:collapse;margin:8px auto;font-size:15px}.ak2-result-table td{padding:3px 14px}.ak2-result-table td:first-child{color:var(--ak2-fg-dim);text-align:right}.ak2-result-reason{text-align:center;color:var(--ak2-amber);margin-bottom:6px}
