:root{--c-charcoal:#121417;--c-warm:#e7e1d8;--c-ink:#0e2a3b;--c-signal:#ff6b35;--c-moss:#2f6f5e;--c-border:#12141724;--c-border-strong:#12141747;--bg:var(--c-warm);--panel:#ffffffb8;--panel-strong:#ffffffe6;--text:#121417db;--muted:#12141794;--title:#121417eb;--shadow:0 14px 34px #12141724;--shadow-tight:0 10px 22px #1214171f;--font-title:"DIN Alternate", "DIN", "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei";--font-body:"Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei";--font-mono:"JetBrains Mono", Consolas, "SFMono-Regular";font:16px/1.45 var(--font-body);letter-spacing:.12px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{height:100%}body{margin:0}*{box-sizing:border-box}a{color:inherit}.app{background:linear-gradient(170deg, #0e2a3b1f, #0e2a3b00 44%), radial-gradient(1200px 420px at 12% 0%, #ff6b352e, #ff6b3500 60%), radial-gradient(900px 420px at 92% 10%, #2f6f5e29, #2f6f5e00 58%), var(--bg);min-height:100vh}.shell{max-width:1120px;margin:0 auto;padding:18px 14px 28px}.topbar{justify-content:space-between;align-items:flex-end;gap:14px;padding:10px 10px 6px;display:flex}.brand{flex-direction:column;gap:6px;display:flex}.brand h1{font-family:var(--font-title);letter-spacing:.8px;text-transform:uppercase;color:var(--title);margin:0;font-size:18px;font-weight:600}.brand .sub{color:var(--muted);font-size:12px}.nav{gap:10px;display:flex}.nav a{font-family:var(--font-mono);letter-spacing:.5px;border:1px solid var(--c-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff8c;border-radius:10px;padding:8px 10px;font-size:12px;text-decoration:none}.nav a.router-link-active{border-color:var(--c-border-strong);background:#ffffffd6}.panel{border:1px solid var(--c-border);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);border-radius:18px}.panelHeader{border-bottom:1px solid var(--c-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 14px 10px;display:flex}.panelTitle{font-family:var(--font-title);color:var(--title);letter-spacing:.2px;font-size:14px;font-weight:650}.tag{font-family:var(--font-mono);letter-spacing:.3px;color:#0e2a3bd9;background:#0e2a3b14;border:1px solid #0e2a3b33;border-radius:999px;padding:6px 8px;font-size:11px}.btnRow{flex-wrap:wrap;gap:10px;display:flex}.btn{appearance:none;border:1px solid var(--c-border);font-family:var(--font-mono);letter-spacing:.3px;cursor:pointer;background:#ffffffb8;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;display:inline-flex}.btnPrimary{background:#ff6b352e;border-color:#ff6b3559}.btnSuccess{background:#2f6f5e24;border-color:#2f6f5e59}.btnDanger{background:#1214170f;border-color:#12141747}.btn[disabled]{opacity:.55;cursor:not-allowed}.btnRecording{animation:1.5s ease-in-out infinite pulse;border-color:var(--c-signal)!important;background:var(--c-signal)!important;color:#fff!important}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.micPulse{animation:1s ease-in-out infinite micPulse}@keyframes micPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.stickyActions{z-index:10;border:1px solid var(--c-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-tight);background:#ffffffd1;border-radius:18px;margin:12px 0;padding:12px;position:sticky;top:10px}.grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:14px;display:grid}@media (width<=960px){.grid{grid-template-columns:1fr}}@media (width<=768px){:root{font-size:14px}.shell{padding:12px 10px 24px}.topbar{gap:8px;padding:8px 8px 6px}.brand h1{font-size:16px}.brand .sub{font-size:11px}.panel{box-shadow:var(--shadow-tight);border-radius:12px}.panelHeader{gap:8px;padding:12px 12px 8px}.panelTitle{font-size:13px}.tag{padding:4px 6px;font-size:10px}.fieldGrid{grid-template-columns:1fr;gap:8px;padding:12px}.label{padding-top:6px;font-size:11px}.input,.textarea,.select{border-radius:10px;padding:10px 11px;font-size:14px}.textarea{min-height:120px}.btn{border-radius:10px;flex:1;min-width:calc(50% - 5px);padding:11px 10px;font-size:12px}.btnRow{gap:8px}}@media (width<=480px){:root{font-size:13px}.shell{padding:10px 8px 20px}.panel{border-radius:10px}.fieldGrid{padding:10px}.btn{min-width:calc(50% - 4px);padding:10px 8px;font-size:12px}.btnRow{gap:6px}.input,.textarea,.select{padding:9px 10px;font-size:13px}.textarea{min-height:100px}}.fieldGrid{grid-template-columns:130px 1fr;gap:10px 12px;padding:14px;display:grid}.label{font-family:var(--font-mono);letter-spacing:.35px;color:#121417ad;padding-top:10px;font-size:11px}.input,.textarea,.select{border:1px solid var(--c-border);width:100%;font-family:var(--font-body);background:#ffffffe6;border-radius:12px;outline:none;padding:10px 12px;font-size:14px}.textarea{resize:vertical;min-height:160px}.muted{color:var(--muted);font-size:12px}.ok{color:var(--c-moss);font-family:var(--font-mono);font-size:12px}.warn{color:#ff6b35eb;font-family:var(--font-mono);font-size:12px}.voiceInputHint[data-v-16b14bf6]{background:linear-gradient(135deg,#f6f8ff 0%,#f0f4ff 100%);border:1px solid #d1d9ff;border-radius:12px;gap:12px;margin-bottom:16px;padding:16px;display:flex;box-shadow:0 2px 8px #4169e114}.hintIcon[data-v-16b14bf6]{flex-shrink:0;font-size:24px;line-height:1}.hintContent[data-v-16b14bf6]{flex:1}.hintTitle[data-v-16b14bf6]{color:#2c3e50;margin-bottom:10px;font-size:14px;font-weight:600}.hintSteps[data-v-16b14bf6]{flex-direction:column;gap:8px;display:flex}.step[data-v-16b14bf6]{align-items:flex-start;gap:8px;display:flex}.stepNum[data-v-16b14bf6]{color:#fff;background:linear-gradient(135deg,#4a90e2 0%,#357abd 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;font-weight:600;display:flex}.stepDesc[data-v-16b14bf6]{color:#5a6c7d;font-size:12px;line-height:1.5}@media (width<=768px){.voiceInputHint[data-v-16b14bf6]{padding:12px}.hintIcon[data-v-16b14bf6]{font-size:20px}.hintTitle[data-v-16b14bf6]{font-size:13px}.stepDesc[data-v-16b14bf6]{font-size:11px}}
