/* 아스트라 명령 칸 (2026-10-02 · 14차: 오른쪽에 항상 떠 있는 명령 칸 + 왼쪽 위 2500 음성 코어) */
.acmd{position:fixed;right:14px;bottom:16px;left:auto;top:auto;transform:none;z-index:2147483000;width:min(340px,calc(100vw - 28px));font-family:inherit;color:#e6f3ff;display:flex;flex-direction:column;gap:6px;pointer-events:none}
.acmd[popover],.avc[popover]{inset:auto;margin:0;border:0;padding:0;background:transparent;overflow:visible;color:inherit}
.acmd[popover]{right:14px;bottom:16px}
.acmd>*{pointer-events:auto}
.acmd-bar{display:flex;flex-direction:column;gap:7px;padding:10px;border-radius:18px;background:linear-gradient(180deg,#0f2747f5,#071731f5);border:1px solid #5fb8ff77;box-shadow:0 12px 34px #02081acc,0 0 0 1px #0b1d3a,inset 0 1px 0 #ffffff1a;backdrop-filter:blur(8px)}
.acmd-row1{display:flex;align-items:center;gap:8px}
.acmd-orb{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;color:#fff;font-size:14px;background:radial-gradient(circle at 35% 30%,#bfe8ff,#3a8cff 45%,#132e66 80%);box-shadow:0 0 12px #4aa3ffaa}
.acmd-title{flex:1;font-size:14px;letter-spacing:.04em;color:#cfe8ff}
.acmd-input{width:100%;box-sizing:border-box;min-height:52px;max-height:120px;resize:none;border:1px solid #5fb8ff44;border-radius:12px;outline:0;background:#0a1d3a;color:#f2f8ff;font:inherit;font-size:15px;line-height:1.4;padding:7px 10px}
.acmd-input:focus{border-color:#7fd3ff;box-shadow:0 0 0 2px #4aa3ff44}
.acmd-input::placeholder{color:#8fb0d4}
.acmd-row2{display:flex;gap:7px}
.acmd-mic,.acmd-go,.acmd-help{height:40px;border-radius:12px;border:1px solid #5fb8ff66;background:#123461;color:#e6f3ff;cursor:pointer;font:800 15px/1 inherit;padding:0 12px}
.acmd-mic{flex:1}
.acmd-go{flex:1.2;background:linear-gradient(180deg,#2f86ff,#1655c9);border-color:#9fd2ff;font-size:16px}
.acmd-go:active{transform:translateY(1px);filter:brightness(1.15)}
.acmd-help{width:30px;height:28px;padding:0;border-radius:50%;font-size:14px}
.acmd-mic.off{opacity:.45}
.acmd-mic:hover,.acmd-help:hover{background:#1b4a86}
.acmd.listening .acmd-mic{background:#c4202f;border-color:#ff8a8a;animation:acmdPulse 1s ease-in-out infinite}
.acmd.listening .acmd-bar{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff4d4d55,0 12px 34px #02081acc}
@keyframes acmdPulse{50%{box-shadow:0 0 0 7px #ff3b3b33}}
.acmd-hint{align-self:flex-end;max-width:100%;padding:5px 10px;border-radius:10px;background:#081a35ee;border:1px solid #ffd36e55;font-size:13px;color:#ffd38a}
.acmd-hint:empty{display:none}
.acmd-panel{max-height:min(58vh,560px);display:flex;flex-direction:column;border-radius:16px;background:linear-gradient(180deg,#0b1f3cf8,#06142af8);border:1px solid #5fb8ff55;box-shadow:0 18px 50px #000a;overflow:hidden}
.acmd-panel[hidden]{display:none}
.acmd-panel-head{display:flex;justify-content:space-between;align-items:center;padding:7px 12px;border-bottom:1px solid #5fb8ff33;font-size:11px;letter-spacing:.2em;color:#7fd3ff}
.acmd-x{border:1px solid #5fb8ff55;background:transparent;color:#cfe6ff;border-radius:999px;padding:3px 12px;cursor:pointer;font-size:12px;letter-spacing:0}
.acmd-list{overflow:auto;padding:9px 10px 10px;display:grid;gap:9px}
.acmd-card{border:1px solid #5fb8ff33;border-radius:12px;padding:10px 12px;background:#0d2648cc}
.acmd-card.warn{border-color:#ffb35c66}
.acmd-card header{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:5px}
.acmd-card header b{font-size:15.5px;color:#fff}
.acmd-card header small{color:#8fb0d4;font-size:11.5px;text-align:right}
.acmd-sub{margin:4px 0;color:#9fbbdb;font-size:12.5px}
.acmd-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:7px 0}
.acmd-tile{border-radius:10px;padding:6px 9px;background:#123158;border:1px solid #5fb8ff2e}
.acmd-tile span{display:block;font-size:11.5px;color:#9fbbdb}
.acmd-tile strong{font-size:16px;color:#fff;font-variant-numeric:tabular-nums}
.acmd-tile.green strong{color:#5ff0a8}.acmd-tile.red strong{color:#ff8a8a}.acmd-tile.gold strong{color:#ffd76e}
.acmd-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}
.acmd-table th{position:sticky;top:0;background:#0f2a50;color:#9fd2ff;font-weight:700;text-align:left;padding:4px 5px;border-bottom:1px solid #5fb8ff44}
.acmd-table td{padding:4px 5px;border-bottom:1px solid #ffffff12;color:#e6f3ff;font-variant-numeric:tabular-nums}
.acmd-table td.r{color:#ff9d9d}
.acmd-table tr.acmd-link{cursor:pointer}.acmd-table tr.acmd-link:hover td{background:#1a3d6c}
.acmd-dl{display:grid;grid-template-columns:1fr;gap:3px;margin:4px 0 6px}
.acmd-dl div{display:flex;gap:8px;font-size:13px}.acmd-dl dt{color:#8fb0d4;min-width:64px}.acmd-dl dd{margin:0;color:#fff;word-break:break-all}
.acmd-chips,.acmd-acts{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.acmd-chip,.acmd-btn{border:1px solid #5fb8ff55;background:#123461;color:#e6f3ff;border-radius:999px;padding:5px 10px;cursor:pointer;font-size:12.5px}
.acmd-btn{background:linear-gradient(180deg,#2f86ff,#1655c9);border-color:#7cc0ff;font-weight:700}
.acmd-chip:hover{background:#1b4a86}

/* ---- 왼쪽 위 2500 음성 코어 ---- */
.avc{position:fixed;left:10px;top:6px;z-index:2147483000;width:62px;height:76px;border:0;padding:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0;-webkit-tap-highlight-color:transparent}
.avc[popover]{left:10px;top:6px}
.avc svg{width:58px;height:58px;overflow:visible;filter:drop-shadow(0 0 8px #3aa0ffaa) drop-shadow(0 3px 6px #020a1d99)}
.avc-label{margin-top:-2px;padding:1px 7px;border-radius:999px;background:#071731e6;border:1px solid #7ff6ff66;color:#bff6ff;font-size:10.5px;font-weight:800;letter-spacing:.06em;white-space:nowrap}
.avc .avc-orbit{transform-origin:60px 60px;animation:avcOrbit 7s linear infinite}
.avc .avc-halo{transform-origin:60px 60px;animation:avcOrbit 24s linear infinite reverse}
.avc .avc-mic{animation:avcBreath 3.2s ease-in-out infinite}
.avc .avc-wave{opacity:0}
.avc:hover svg{filter:drop-shadow(0 0 14px #7ff6ffdd) drop-shadow(0 3px 6px #020a1d99)}
.avc:focus-visible{outline:2px solid #ffd36e;outline-offset:2px;border-radius:12px}
.avc.on svg{filter:drop-shadow(0 0 16px #ff5a5a) drop-shadow(0 0 30px #ffb35c88)}
.avc.on .avc-hex{stroke:#ff6b6b}
.avc.on .avc-orbit{animation-duration:1.2s}
.avc.on .avc-wave{opacity:1}
.avc.on .avc-wave rect{transform-box:fill-box;transform-origin:center;animation:avcWave .5s ease-in-out infinite alternate}
.avc.on .avc-wave rect:nth-child(2n){animation-delay:.25s}
.avc.on .avc-label{background:#5a0f18;border-color:#ff8a8a;color:#ffe0e0}
@keyframes avcOrbit{to{transform:rotate(360deg)}}
@keyframes avcBreath{50%{opacity:.82}}
@keyframes avcWave{from{transform:scaleY(.35)}to{transform:scaleY(1.35)}}
@media (max-width:1419px){.avc,.avc[popover]{top:72px;left:6px}}
@media (prefers-reduced-motion:reduce){.avc *,.acmd *{animation:none!important}}
@media print{.acmd,.avc{display:none!important}}
