/* 本地工具统一界面，文档内容及打印版式使用各工具原有规则。 */
@media screen {
:root { --bg:#f4f6fa; --panel:#fff; --border:#dce3ed; --line:#dce3ed; --text:#20324b; --ink:#20324b; --muted:#718096; --primary:#2563eb; --brand:#2563eb; --brand2:#2563eb; --font-sans:"Microsoft YaHei","Segoe UI",system-ui,sans-serif; }
body { color:var(--ink); background:var(--bg); font-family:var(--font-sans); }
.topbar { background:#fff; border-bottom:1px solid var(--line); box-shadow:none; gap:12px; }
.topbar .brand, .topbar .title { font-weight:650; letter-spacing:0; }
.topbar .mode-note,.topbar .sub { color:var(--muted); font-size:12px; }
.sidebar { background:#f7f9fc; border-color:var(--line); padding:14px; }
.sidebar .card, .sidebar section.card { background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:none; padding:14px; margin-bottom:12px; }
.sidebar h3 { font-size:14px; font-weight:650; margin:0 0 12px; }
.sidebar label { font-size:12px; color:#526278; line-height:1.5; }
.sidebar .field { margin-bottom:10px; }
.sidebar .field { min-width:0; }
.sidebar .grid2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.text-group .grid2:has(#advNameFont) { grid-template-columns:minmax(0,1fr); }
.sidebar input[type=file] { max-width:100%; width:100%; font-size:11px; }
.sidebar input[type=text],.sidebar input[type=number],.sidebar input:not([type]),.sidebar select,.sidebar textarea { border:1px solid #d5deea; border-radius:7px; padding:7px 9px; min-height:34px; color:#20324b; background:#fff; font:inherit; font-size:12px; width:100%; max-width:100%; }
.sidebar textarea { line-height:1.7; resize:vertical; }
.sidebar input[type=range] { accent-color:var(--primary); }
button,.btn { border-radius:7px; font-family:inherit; cursor:pointer; transition:background .15s,border-color .15s; }
button:disabled,.btn:disabled { cursor:default; }
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible { outline:2px solid #60a5fa; outline-offset:2px; }
.btn.primary { background:#2563eb; border-color:#2563eb; box-shadow:none; }
.sidebar .hint,.sidebar .desc,.sidebar .help { font-size:11px; color:var(--muted); line-height:1.6; }
.preview-toolbar { background:#fff; border-bottom:1px solid var(--line); padding:10px 14px; height:auto; min-height:46px; gap:8px; }
.canvas-wrap { background:#eef2f7; padding:18px; }
.pv-empty h2 { font-size:18px; font-weight:650; }
.pv-empty p { font-size:13px; line-height:1.8; }
.pv-note { font-size:12px; color:var(--muted); }
.text-group { background:#f8faff; border-color:var(--line); border-radius:10px; }
.page-editor { border-radius:12px; border-color:var(--line); }
.hero h1 { background:none; -webkit-text-fill-color:#20324b; color:#20324b; font-size:28px; }
.hero { margin-bottom:28px; }
.tool-card { border:1px solid var(--line); border-radius:14px; box-shadow:none; }
.tool-card:hover { border-color:#a5bdf0; box-shadow:0 6px 18px #20324b0a; }
.grid > .card { border-radius:14px; border-color:var(--line); box-shadow:none; }
.grid > .card::before { background:#a8bfef; height:3px; }
.grid > .card .ic { background:#eef4ff; color:#2563eb; box-shadow:none; border-radius:12px; }
.grid > .card .cta { background:#2563eb; box-shadow:none; border-radius:7px; font-size:13px; }
.grid > .card:hover { transform:translateY(-2px); box-shadow:0 6px 18px #20324b0a; }
.topbar .brand-logo,.topbar .logo { background:#2563eb; box-shadow:none; }
.grid > .card .tags > :nth-child(n+4) { display:none; }
.toolbar { background:white; border-color:var(--line); box-shadow:none; }
.toolbar button { min-height:30px; }
.hint-bar { color:var(--muted); font-size:11px; background:#f7f9fc; }
.toast { border-radius:8px; font-size:12px; }
.workspace-card summary { cursor:pointer; font-size:13px; font-weight:650; color:#20324b; }
.workspace-card details[open] summary { margin-bottom:12px; }
.workspace-actions { display:flex; flex-wrap:wrap; gap:6px; margin:8px 0; }
.workspace-actions button { font-size:11px; padding:5px 8px; border:1px solid #d5deea; background:white; color:#294b78; }
.workspace-actions button:disabled { opacity:.4; }
@media(max-width:700px) {
 .topbar { padding:8px 12px; flex-wrap:wrap; height:auto; }
 .sidebar { padding:10px; }
 .preview-toolbar { flex-wrap:wrap; }
 .canvas-wrap { padding:10px; }
 .topbar .mode-note { display:none; }
 .hero h1 { font-size:24px; }
}
}
