:root{
  color-scheme:light;
  --font-ui:"Segoe UI","Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;
  --font-mono:"Cascadia Code","SFMono-Regular",Consolas,monospace;
  --bg:#fbfbf8;
  --panel:#ffffff;
  --panel2:#f1f4f0;
  --text:#151512;
  --muted:#66685f;
  --soft:#8f9288;
  --line:rgba(20,22,18,.12);
  --line2:rgba(20,22,18,.22);
  --accent:#245c9f;
  --accent2:#2f6d4f;
  --accent-bg:#e8f1fb;
  --good:#33751e;
  --good-bg:#e9f6e2;
  --warn:#c08a12;
  --warn-soft:#f8d982;
  --bad:#a83434;
  --bad-bg:#fdeaea;
  --shadow:0 18px 46px rgba(23,25,20,.08);
  --max:1480px;
}
@media(prefers-color-scheme:dark){
  :root{
    color-scheme:dark;
    --bg:#161713;
    --panel:#20211d;
    --panel2:#292b25;
    --text:#eeeee7;
    --muted:#b9bbae;
    --soft:#85887d;
    --line:rgba(255,255,255,.12);
    --line2:rgba(255,255,255,.22);
    --accent:#74a7df;
    --accent2:#80bd92;
    --accent-bg:#17283a;
    --good:#98d57a;
    --good-bg:#1a2b15;
    --warn:#ffd166;
    --warn-soft:#fff0a8;
    --bad:#f06b68;
    --bad-bg:#311919;
    --shadow:0 18px 46px rgba(0,0,0,.24);
  }
}
[data-theme="light"]{color-scheme:light;--bg:#fbfbf8;--panel:#ffffff;--panel2:#f1f4f0;--text:#151512;--muted:#66685f;--soft:#8f9288;--line:rgba(20,22,18,.12);--line2:rgba(20,22,18,.22);--accent:#245c9f;--accent2:#2f6d4f;--accent-bg:#e8f1fb;--good:#33751e;--good-bg:#e9f6e2;--warn:#c08a12;--warn-soft:#f8d982;--bad:#a83434;--bad-bg:#fdeaea;--shadow:0 18px 46px rgba(23,25,20,.08)}
[data-theme="dark"]{color-scheme:dark;--bg:#161713;--panel:#20211d;--panel2:#292b25;--text:#eeeee7;--muted:#b9bbae;--soft:#85887d;--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.22);--accent:#74a7df;--accent2:#80bd92;--accent-bg:#17283a;--good:#98d57a;--good-bg:#1a2b15;--warn:#ffd166;--warn-soft:#fff0a8;--bad:#f06b68;--bad-bg:#311919;--shadow:0 18px 46px rgba(0,0,0,.24)}
*{box-sizing:border-box;margin:0;padding:0}
body{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:18px;line-height:1.55;font-weight:500}
body[data-font-mode="sans"]{--font-ui:"Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC","Segoe UI",system-ui,sans-serif}
body[data-font-mode="serif"]{--font-ui:"Noto Serif CJK SC","Source Han Serif SC","Songti SC","SimSun",Georgia,serif}
body[data-font-mode="mono"]{--font-ui:"Cascadia Code","SFMono-Regular","Microsoft YaHei UI",Consolas,monospace}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.auth-screen{position:fixed;inset:0;z-index:3000;display:none;place-items:center;padding:24px;background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--accent-bg) 62%,transparent),transparent 34%),var(--bg)}
body.auth-required .auth-screen{display:grid}
body.auth-required .sidebar,body.auth-required .app{display:none}
.auth-card{width:min(440px,100%);border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(18px);box-shadow:var(--shadow);padding:28px;display:grid;gap:14px}
.auth-kicker{font-size:14px;color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.auth-card h1{font-size:34px;line-height:1.12;font-weight:850}
.auth-card p{font-size:16px;color:var(--muted);font-weight:500;line-height:1.55}
.auth-form{display:grid;gap:10px;margin-top:4px}
.auth-main-btn{min-height:50px;font-size:18px}
.auth-links{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-links button{border:0;background:transparent;color:var(--muted);font-size:14px;font-weight:650;padding:4px 0}
.auth-divider{display:flex;align-items:center;gap:10px;color:var(--soft);font-size:13px;font-weight:650}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--line);flex:1}
.auth-alt{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.auth-alt button{border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);font-size:14px;font-weight:650;padding:9px 10px}
.auth-note{border-top:1px solid var(--line);padding-top:11px;font-size:14px;color:var(--soft);font-weight:800;line-height:1.45}
.app{max-width:var(--max);margin:0 auto;padding:22px 28px 44px 256px}
.sidebar{position:fixed;left:max(24px,calc((100vw - var(--max))/2 + 24px));top:22px;bottom:22px;width:204px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:18px;display:flex;flex-direction:column;gap:16px}
.brand{border:0;background:transparent;color:var(--text);display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:0;text-align:left;cursor:pointer}
.brand-icon{position:relative;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:12px;background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--accent-bg) 82%,white),transparent 48%),linear-gradient(145deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel2));box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 12%,transparent),inset 0 0 0 1px rgba(255,255,255,.12);display:grid;place-items:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.brand-icon:before{content:"";position:absolute;right:7px;bottom:7px;width:11px;height:2px;border-radius:999px;background:var(--accent);transform:rotate(45deg);transform-origin:right center;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 38%,transparent)}
.brand-icon:after{content:"";position:absolute;inset:8px;border:2px solid color-mix(in srgb,var(--accent) 66%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 46%,transparent)}
.brand-icon i{position:relative;z-index:1;color:var(--accent);font-size:14px;font-style:normal;font-weight:950;letter-spacing:0}
.brand-text{min-width:0;font-size:25px;font-weight:850;line-height:1.15}
.brand:hover .brand-icon,.brand:focus-visible .brand-icon{transform:translateY(-1px) rotate(-3deg) scale(1.04);border-color:var(--accent);box-shadow:0 18px 36px color-mix(in srgb,var(--accent) 18%,transparent),inset 0 0 0 1px rgba(255,255,255,.16)}
.brand:focus-visible{outline:0}
.brand:focus-visible .brand-text{color:var(--accent)}
.nav{display:grid;gap:7px}
.nav-item{border:0;background:transparent;color:var(--muted);border-radius:8px;padding:11px 12px;font-weight:650;text-align:left;transition:transform .18s ease,background .18s ease,color .18s ease}
.nav-item.active,.nav-item:hover{background:var(--accent-bg);color:var(--accent)}
.nav-item:hover{transform:translateX(3px) scale(1.02)}
.side-note{margin-top:auto;color:var(--soft);font-size:13px;line-height:1.5}
.topbar{display:flex;justify-content:space-between;align-items:center;margin:4px 0 18px}
.title-wrap{display:grid;gap:4px;min-width:0}
.app-title{font-size:28px;font-weight:850;line-height:1.1}
.app-sub{font-size:15px;color:var(--muted);font-weight:500}
.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:none}
.account-btn{min-width:68px;height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:8px;padding:0 13px;font-size:14px;font-weight:700;box-shadow:0 8px 22px rgba(0,0,0,.04)}
.account-btn.signed-in{background:var(--good-bg);border-color:var(--good);color:var(--good)}
.theme-btn{width:48px;height:44px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:0;display:grid;place-items:center;box-shadow:0 8px 22px rgba(0,0,0,.04);font-size:21px;line-height:1;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.theme-btn:hover{transform:translateY(-1px) scale(1.04);background:var(--accent-bg);border-color:var(--accent)}
.account-panel{position:fixed;top:78px;right:32px;z-index:1200;width:min(390px,calc(100vw - 28px));display:none;gap:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(18px);box-shadow:0 22px 60px rgba(0,0,0,.16);padding:16px}
.account-panel.open{display:grid;animation:enter .16s ease both}
.account-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.account-title{font-size:20px;font-weight:800}
.account-sub{font-size:13px;color:var(--muted);font-weight:800;line-height:1.45;margin-top:3px}
.account-close{border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);width:32px;height:32px;font-size:20px;font-weight:700}
.account-form{display:grid;gap:8px}
.account-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.account-actions.cloud-only{grid-template-columns:repeat(2,minmax(0,1fr))}
.sync-status{border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);padding:10px 12px;font-size:13px;font-weight:800;line-height:1.45}
.sync-status.good,.setting-sub.good{color:var(--good)}
.sync-status.bad,.setting-sub.bad{color:var(--bad)}
.sync-status.info,.setting-sub.info{color:var(--muted)}
body.cloud-syncing .sync-status:before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:999px;border:2px solid var(--line);border-top-color:var(--accent);vertical-align:-1px;animation:spin .8s linear infinite}
body.cloud-logged-in .logged-out-only,body.cloud-logged-in .offline-only{display:none}
body:not(.cloud-logged-in) .cloud-only{display:none}
body.offline-mode .logged-out-only{display:none}
body:not(.offline-mode) .offline-only{display:none}
body.offline-mode .account-form,body.cloud-logged-in .account-form{display:none}
body.cloud-logged-in.password-recovery .account-form{display:grid}
body.cloud-logged-in .account-form #account-email{display:none}
.view{display:none}
.view.active{display:block;animation:enter .18s ease both}
@keyframes enter{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.workspace{min-height:calc(100vh - 108px);display:grid;gap:14px}
.workspace.layout-top{grid-template-rows:auto minmax(520px,1fr)}
.workspace.layout-split{height:calc(100vh - 108px);min-height:620px;grid-template-columns:minmax(360px,.62fr) minmax(520px,1fr)}
.editor-pane{position:relative;display:grid;padding:10px 12px;gap:10px}
.layout-top .editor-pane{grid-template-columns:1fr;align-items:center}
.layout-split .editor-pane{grid-template-rows:auto minmax(0,1fr);align-content:start}
.query-row{display:grid;grid-template-columns:minmax(320px,1fr) minmax(260px,380px) auto;gap:10px;align-items:center}
.query-shell{position:relative;display:block;height:60px;min-height:60px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--panel) 70%,transparent);overflow:visible;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.query-shell:focus-within,.query-shell:hover{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 10%,transparent),inset 0 1px 0 color-mix(in srgb,var(--panel) 78%,transparent)}
#query-input{display:block;width:100%;height:58px;min-height:58px;max-height:58px;resize:none;border:0;background:transparent;color:var(--text);padding:13px 66px 13px 24px;font-size:20px;font-weight:650;line-height:32px;overflow:hidden;outline:0}
.clear-query-btn{position:absolute;right:22px;top:50%;z-index:30;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--bad) 26%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--bad-bg) 72%,var(--panel));color:var(--bad);display:grid;place-items:center;font-size:16px;font-weight:800;line-height:1;cursor:pointer;opacity:.9;transform:translateY(-50%) scale(.9);transition:opacity .16s ease,transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.clear-query-btn:hover,.clear-query-btn:focus-visible{opacity:1;transform:translateY(-50%) scale(1.08);background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 36%,var(--line));color:var(--bad);box-shadow:0 6px 16px color-mix(in srgb,var(--bad) 12%,transparent);outline:0}
.clear-query-btn:active{transform:translateY(-50%) scale(.88)}
.assist-fields{display:grid;grid-template-columns:1fr;gap:6px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);padding:7px 14px;transition:border-color .16s ease,box-shadow .16s ease}
.assist-fields:hover,.assist-fields:focus-within{border-color:var(--accent);box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 8%,transparent)}
.assist-fields input{width:100%;min-width:0;border:0;background:transparent;color:var(--text);font-size:14px;font-weight:550;outline:0}
.assist-fields input+input{display:none}
.query-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:none}
.lookup-queue{display:none;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 78%,var(--panel));padding:10px;gap:9px}
.lookup-queue.open{display:grid}
.queue-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:13px;font-weight:800}
.queue-head b{color:var(--text);font-size:14px}
.queue-list{display:grid;gap:8px}
.queue-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:8px}
.queue-index{width:28px;height:28px;border-radius:999px;background:var(--accent-bg);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:900}
.queue-copy{min-width:0;display:grid;gap:1px}
.queue-copy strong{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queue-copy span{font-size:12px;color:var(--soft);font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queue-actions{display:flex;align-items:center;gap:4px}
.queue-actions .icon-btn{width:30px;min-width:30px;height:30px;font-size:13px}
.layout-split .editor-pane{padding:16px}
.layout-split .query-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}
.layout-split .query-shell{height:220px;min-height:220px;border-radius:12px}
.layout-split #query-input{height:220px;min-height:220px;max-height:40vh;padding:22px 66px 22px 24px;font-size:20px;line-height:1.55;overflow:auto;resize:vertical}
.layout-split .clear-query-btn{right:18px;top:24px;transform:scale(.9)}
.layout-split .clear-query-btn:hover,.layout-split .clear-query-btn:focus-visible{transform:scale(1.08)}
.layout-split .clear-query-btn:active{transform:scale(.88)}
.layout-split .assist-fields{position:absolute;left:24px;right:24px;bottom:16px;grid-template-columns:1fr 1fr;border-radius:10px;padding:0;background:transparent;border:0;box-shadow:none;gap:10px}
.layout-split .assist-fields input{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:10px 12px}
.layout-split .assist-fields input+input{display:block}
.layout-split .query-actions{align-items:flex-start;padding-top:6px}
#query-input::placeholder,.cloud-input::placeholder{color:var(--soft)}
.cloud-input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:10px 12px;font-size:14px;font-weight:800;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.cloud-input:focus{outline:0;transform:scale(1.01);border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 12%,transparent)}
.secret-input{-webkit-text-security:disc;font-family:var(--font-mono);letter-spacing:.04em}
.hidden{display:none!important}
.query-shell .clear-query-btn.hidden{display:grid!important;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.68)}
.layout-split .query-shell .clear-query-btn.hidden{transform:scale(.68)}
.action-row{display:flex;gap:8px;flex-wrap:wrap}
.action-row.compact{justify-content:flex-end}
.plain-btn,.danger-btn{border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--text);padding:9px 14px;font-weight:650;min-width:104px;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.plain-btn:hover,.danger-btn:hover{transform:translateY(-1px) scale(1.025);box-shadow:0 10px 26px rgba(0,0,0,.08)}
.primary-btn{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.ghost-btn{color:var(--muted)}
.danger-btn{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}
.icon-btn{position:relative;width:42px;min-width:42px;height:42px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:18px;font-weight:700;line-height:1;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.icon-btn:hover{transform:translateY(-1px) scale(1.04);background:var(--panel2);border-color:var(--line2);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.icon-btn:active{transform:translateY(0) scale(.94)}
.primary-icon{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent)}
.primary-icon:hover{background:var(--accent-bg);border-color:var(--accent)}
.danger-icon{color:var(--bad)}
.danger-icon:hover{background:var(--bad-bg);border-color:var(--bad)}
.tab-btn:hover,.seg button:hover{border-color:var(--accent);color:var(--accent)}
[data-tip]:not(.clear-query-btn):not(.history-clear-btn){position:relative}
[data-tip]:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 6px);z-index:6000;transform:translateX(-50%) translateY(4px);opacity:0;pointer-events:none;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(14px);box-shadow:0 12px 30px rgba(0,0,0,.12);color:var(--text);font-size:12px;font-weight:650;padding:5px 9px;transition:.14s ease}
[data-tip]:before{content:"";position:absolute;left:50%;bottom:calc(100% + 2px);z-index:6001;transform:translateX(-50%) translateY(4px) rotate(45deg);width:7px;height:7px;background:var(--panel);border-right:1px solid var(--line);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;transition:.14s ease}
[data-tip]:hover:after,[data-tip]:hover:before{opacity:1;transform:translateX(-50%) translateY(0)}
.topbar-actions [data-tip]:after{top:calc(100% + 8px);bottom:auto}
.topbar-actions [data-tip]:before{top:calc(100% + 4px);bottom:auto;transform:translateX(-50%) translateY(-4px) rotate(225deg)}
.topbar-actions [data-tip]:hover:before{transform:translateX(-50%) translateY(0) rotate(225deg)}
.result-toolbar [data-tip]:after,.modal-head [data-tip]:after{top:calc(100% + 8px);bottom:auto}
.result-toolbar [data-tip]:before,.modal-head [data-tip]:before{top:calc(100% + 4px);bottom:auto;transform:translateX(-50%) translateY(-4px) rotate(225deg)}
.result-toolbar [data-tip]:hover:before,.modal-head [data-tip]:hover:before{transform:translateX(-50%) translateY(0) rotate(225deg)}
.result-pane{position:relative;overflow:visible;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}
.result-toolbar{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--line)}
.result-tabs,.result-icons{display:flex;gap:8px}
.tab-btn{border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);padding:6px 12px;font-size:13px;font-weight:700;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.tab-btn:hover{transform:translateY(-1px) scale(1.04)}
.tab-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.result-page{display:none;overflow:auto;min-height:0;padding:18px}
.result-page.active{display:block}
.result-page.result-typing .typewriter-chunk{transition:opacity .18s ease,transform .18s ease}
.result-page.result-typing .typewriter-chunk.pending{opacity:0;transform:translateY(8px);pointer-events:none}
.result-page.result-typing .typewriter-chunk.active{opacity:1;transform:none}
.result-page.result-typing .typewriter-chunk.typing:after{content:"";display:inline-block;width:7px;height:1.1em;margin-left:4px;border-radius:999px;background:var(--accent);vertical-align:-.18em;animation:streamCaret 1s ease-in-out infinite}
.json-view{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--muted)}
.json-view.json-typing .json-section.typing summary{color:var(--accent)}
.json-view.json-typing .json-section.typing pre:after,.json-stream-loading pre:after{content:"";display:inline-block;width:7px;height:1.1em;margin-left:4px;border-radius:999px;background:var(--accent);vertical-align:-.18em;animation:streamCaret 1s ease-in-out infinite}
.json-stream-loading{height:100%;min-height:280px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:14px;overflow:auto;color:var(--muted)}
.json-stream-loading pre{margin:0;white-space:pre-wrap;font-family:var(--font-mono);font-size:13px;line-height:1.65}
.empty{height:100%;display:grid;place-items:center;color:var(--soft);font-size:20px;font-weight:650}
.lookup-state{height:100%;min-height:300px;display:grid;place-items:center;color:var(--muted);text-align:left;padding:24px}
.lookup-stream{position:relative;display:grid;gap:14px;min-height:100%;padding:4px 0 18px}
.lookup-progress-badge{position:sticky;top:4px;z-index:25;justify-self:end;display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(14px);box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-size:13px;font-weight:900;padding:6px 10px}
.lookup-progress-badge i{width:9px;height:9px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 36%,transparent);animation:loadingDot 1.2s ease-out infinite}
.lookup-skeleton-head{border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 38%,transparent),color-mix(in srgb,var(--panel2) 78%,transparent));padding:14px;margin:0;box-shadow:0 18px 42px color-mix(in srgb,var(--accent) 8%,transparent)}
.skeleton-text{display:inline-block;min-width:82px;height:1.05em;border-radius:999px;background:linear-gradient(90deg,var(--panel2),color-mix(in srgb,var(--accent-bg) 70%,var(--panel)),var(--panel2));background-size:220% 100%;animation:skeletonSweep 1.45s ease-in-out infinite;vertical-align:-.14em}
.skeleton-text.wide{min-width:min(280px,62vw)}
.skeleton-text.short{min-width:72px}
.lookup-skeleton-block{opacity:.66;transform:translateY(8px);transition:opacity .24s ease,transform .24s ease,border-color .24s ease;background:color-mix(in srgb,var(--panel) 76%,var(--panel2))}
.lookup-skeleton-block.active{opacity:1;transform:none;border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}
.lookup-skeleton-block .block-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lookup-skeleton-block .block-title small{color:var(--soft);font-size:12px;font-weight:750;line-height:1.35;text-align:right}
.lookup-skeleton-lines{display:grid;gap:9px;margin-top:10px}
.lookup-skeleton-lines i{display:block;height:13px;border-radius:999px;background:linear-gradient(90deg,var(--panel2),color-mix(in srgb,var(--accent-bg) 62%,var(--panel)),var(--panel2));background-size:220% 100%;animation:skeletonSweep 1.55s ease-in-out infinite}
.lookup-skeleton-lines i:nth-child(2){width:82%;animation-delay:.12s}
.lookup-skeleton-lines i:nth-child(3){width:58%;animation-delay:.24s}
.lookup-stream.live{animation:none}
.lookup-live-head{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--panel) 74%,var(--panel2));padding:14px;margin:0}
.stream-block{transition:border-color .18s ease,background .18s ease}
.stream-block .block-title{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stream-block .block-title small{color:var(--soft);font-size:12px;font-weight:800}
.stream-placeholder,.stream-empty{color:var(--soft);font-weight:750}
.stream-placeholder{display:inline-block;opacity:.82}
.stream-empty{border:1px dashed var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 62%,transparent);padding:12px;font-size:14px}
.stream-item{animation:none}
.lookup-loading{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--line));border-radius:12px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 48%,transparent),color-mix(in srgb,var(--panel2) 74%,transparent) 48%,transparent);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--panel) 78%,transparent),0 20px 44px color-mix(in srgb,var(--accent) 10%,transparent)}
.lookup-loading:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 12%,color-mix(in srgb,var(--panel) 64%,transparent) 44%,transparent 72%);transform:translateX(-100%);animation:lookupSheen 2.8s ease-in-out infinite;pointer-events:none}
.lookup-copy{position:relative;z-index:1;width:min(600px,100%);padding:6px 2px}
.lookup-title{font-size:20px;font-weight:800;color:var(--text);margin-bottom:10px}
.lookup-steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.lookup-steps span{border:1px solid var(--line);border-radius:999px;background:var(--panel2);padding:4px 9px;font-size:13px;font-weight:650;color:var(--muted);animation:lookupStep 4.8s ease-in-out infinite}
.lookup-steps span:nth-child(2){animation-delay:1.2s}
.lookup-steps span:nth-child(3){animation-delay:2.4s}
.lookup-steps span:nth-child(4){animation-delay:3.6s}
.lookup-progress{height:10px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel2) 84%,var(--accent-bg));overflow:hidden;margin:12px 0;box-shadow:inset 0 1px 4px rgba(0,0,0,.06)}
.lookup-progress i{display:block;height:100%;width:46%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 34%,transparent);animation:lookupProgress 2.4s ease-in-out infinite}
.lookup-state p{font-size:14px;font-weight:500}
.lookup-state p b{color:var(--text)}
.lookup-error{color:var(--bad)}
.lookup-error .lookup-title{color:var(--bad)}
.lookup-error-mark{width:42px;height:42px;border-radius:999px;border:2px solid var(--bad);color:var(--bad);display:grid;place-items:center;font-size:24px;font-weight:850}
.error-pre{margin:0;border:1px solid var(--bad);border-radius:10px;background:var(--bad-bg);color:var(--bad);padding:14px;white-space:pre-wrap;overflow:auto}
body.lookup-busy .primary-icon{animation:pulse .9s ease-in-out infinite}
.entry-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px}
.entry-kicker{color:var(--accent);font-size:13px;font-weight:750;margin-bottom:4px;letter-spacing:.04em}
.entry-title{font-size:34px;font-weight:850;line-height:1.15}
.entry-meta{margin-top:10px;color:var(--muted);font-size:15px;font-weight:500}
.entry-core{margin-top:12px;border:1px solid color-mix(in srgb,var(--accent) 36%,var(--line));border-radius:10px;background:linear-gradient(135deg,var(--accent-bg),color-mix(in srgb,var(--panel2) 84%,transparent));padding:12px 14px;display:grid;gap:5px}
.entry-core b{color:var(--soft);font-size:12px;font-weight:800}
.entry-core mark{width:max-content;max-width:100%;border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text);padding:2px 0;font-size:20px;font-weight:850;line-height:1.35;overflow-wrap:anywhere}
.entry-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.entry-meta-grid span{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:9px 11px;color:var(--muted);font-size:14px;font-weight:500}
.entry-meta-grid b{display:block;color:var(--soft);font-size:12px;font-weight:700;margin-bottom:2px}
mark{background:linear-gradient(transparent 54%,color-mix(in srgb,var(--accent) 22%,transparent) 54%);color:var(--text);font-weight:750;padding:0 .08em}
mark.hit-mark{border-radius:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--warn-soft) 50%,transparent),color-mix(in srgb,var(--warn) 20%,transparent));box-shadow:0 0 0 1px color-mix(in srgb,var(--warn) 18%,transparent) inset;color:var(--text);font-weight:850;padding:0 .16em}
.block{margin-top:18px}
.block-title{font-size:19px;font-weight:800;margin-bottom:10px}
.item{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 72%,var(--panel));padding:13px 14px;margin-bottom:10px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.item:hover{transform:translateY(-1px) scale(1.005);border-color:var(--line2);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.item-index{height:32px;border-radius:8px;background:var(--accent-bg);color:var(--accent);display:grid;place-items:center;font-size:15px;font-weight:850}
.item-title{font-size:17px;font-weight:650;color:var(--text);margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pos-pill{border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);padding:2px 8px;font-size:12px;font-weight:700}
.sense-group{position:relative;display:grid;gap:8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 52%,transparent);padding:10px;margin-bottom:10px}
.sense-group:last-child{margin-bottom:0}
.sense-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 2px}
.sense-group-head .pos-pill{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));color:var(--accent);font-size:13px}
.sense-group-head em{font-style:normal;color:var(--soft);font-size:12px;font-weight:850;white-space:nowrap}
.sense-group .item{margin-bottom:0;background:color-mix(in srgb,var(--panel) 54%,var(--panel2))}
.line{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;font-size:15px;color:var(--muted);font-weight:500;margin-top:5px}
.line b{color:var(--soft);font-weight:700}
.line span{color:var(--muted)}
.chip{display:inline-flex;margin-left:2px;border-radius:999px;background:var(--accent-bg);color:var(--accent);padding:2px 8px;font-size:12px;font-weight:700}
.empty-item{display:block;color:var(--soft);font-weight:500}
.register-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.register-grid div{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:12px}
.register-grid b{display:block;color:var(--soft);font-size:13px;font-weight:700;margin-bottom:4px}
.register-grid span{font-size:15px;color:var(--muted);font-weight:500}
.confusion-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.confusion-table th,.confusion-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top;font-size:14px}
.confusion-table th{background:var(--panel2);font-weight:750;color:var(--text)}
.confusion-table td{color:var(--muted);font-weight:500}
.related-block{border-top:1px solid var(--line);padding-top:16px}
.related-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}
.related-item{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:10px 11px;display:grid;gap:4px;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.related-item:hover,.related-item:focus-visible{transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent-bg) 42%,var(--panel2));box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 10%,transparent);outline:0}
.related-word{font-size:15px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.related-summary{font-size:13px;font-weight:650;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.related-meta{display:flex;flex-wrap:wrap;gap:5px}
.related-meta em{font-style:normal;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--soft);padding:1px 6px;font-size:11px;font-weight:800;line-height:1.35}
.history-panel{padding:18px}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}
.section-title{font-size:24px;font-weight:850}
.section-sub{font-size:14px;color:var(--muted);font-weight:600}
.history-tools{display:grid;grid-template-columns:minmax(260px,1fr);gap:9px;margin-bottom:14px}
.history-scope{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.scope-btn{border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);padding:8px 14px;font-size:14px;font-weight:850;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.scope-btn:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent)}
.scope-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.history-search,.history-sort{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);padding:7px 8px}
.history-filter-toggle{display:none;border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text);min-height:42px;padding:8px 12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;font-weight:850;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.history-filter-toggle span{color:var(--soft);font-size:13px}
.history-filter-toggle b{min-width:0;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-filter-toggle i{font-style:normal;color:var(--soft);transition:transform .16s ease}
.history-filter-toggle.active{border-color:color-mix(in srgb,var(--accent) 48%,var(--line));background:var(--accent-bg);color:var(--accent)}
.history-filter-toggle.active b{color:var(--accent)}
.history-tools.filters-open .history-filter-toggle i{transform:rotate(180deg)}
.history-filterbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;align-items:start}
.history-filter{position:relative;min-width:0}
.history-filter-trigger{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:7px 10px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.history-filter-trigger:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 8%,transparent)}
.history-filter-trigger span{font-size:12px;color:var(--soft);font-weight:850;white-space:nowrap}
.history-filter-trigger b{min-width:0;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-filter-trigger i{font-style:normal;color:var(--soft);transition:transform .16s ease}
.history-filter-trigger.active{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 56%,var(--line))}
.history-filter-trigger.active b{color:var(--accent)}
.history-filter.open .history-filter-trigger i{transform:rotate(180deg)}
.history-filter-menu{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:90;display:none;gap:6px;max-height:250px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(16px);box-shadow:0 18px 44px rgba(0,0,0,.14);padding:8px}
.history-filter.open .history-filter-menu{display:grid}
.history-filter-option,.history-filter-clear{border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);min-height:32px;padding:6px 9px;font-size:13px;font-weight:800;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.history-filter-option:hover,.history-filter-clear:hover{transform:translateY(-1px);background:var(--panel2);border-color:var(--line2)}
.history-filter-option.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.history-filter-clear{color:var(--muted);text-align:center}
.history-filter-clear:disabled{opacity:.42;cursor:not-allowed;transform:none}
.history-filter-empty{color:var(--soft);font-size:13px;font-weight:850;text-align:center;padding:8px}
.history-sortbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sort-btn{border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);padding:7px 12px;font-size:13px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:82px;min-height:34px;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.sort-btn:hover{transform:translateY(-1px);border-color:var(--accent);color:var(--accent)}
.sort-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.sort-btn span{display:inline-block;min-width:12px;text-align:center}
.history-search{position:relative;width:100%;max-width:100%;overflow:visible;padding-right:44px}
.history-search:focus-within,.history-search:hover{border-color:var(--accent);box-shadow:0 12px 30px color-mix(in srgb,var(--accent) 10%,transparent)}
.history-search span,.history-sort span{color:var(--accent);font-size:18px;font-weight:700;padding-left:4px}
.history-search input,.history-sort select{min-width:0;width:100%;border:0;background:transparent;color:var(--text);font-size:15px;font-weight:550;outline:0}
.history-search input::placeholder{color:var(--soft)}
.history-clear-btn{position:absolute;right:10px;top:50%;z-index:30;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--bad) 26%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--bad-bg) 72%,var(--panel));color:var(--bad);display:grid;place-items:center;font-size:16px;font-weight:800;line-height:1;cursor:pointer;opacity:.9;transform:translateY(-50%) scale(.9);transition:opacity .16s ease,transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.history-clear-btn.hidden{display:grid!important;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.68)}
.history-clear-btn:hover,.history-clear-btn:focus-visible{opacity:1;transform:translateY(-50%) scale(1.08);background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 36%,var(--line));color:var(--bad);box-shadow:0 6px 16px color-mix(in srgb,var(--bad) 12%,transparent);outline:0}
.history-clear-btn:active{transform:translateY(-50%) scale(.88)}
.history-list{display:grid;gap:10px}
.history-item{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:13px 14px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer}
.history-item:hover{transform:translateY(-1px);border-color:var(--line2);box-shadow:0 10px 26px rgba(0,0,0,.07)}
.history-item.favorite-item{isolation:isolate;border-color:color-mix(in srgb,var(--warn) 64%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warn) 20%,var(--panel)) 0%,color-mix(in srgb,var(--panel2) 96%,var(--warn)) 42%,color-mix(in srgb,var(--warn-soft) 18%,var(--panel)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn-soft) 42%,transparent),inset 5px 0 0 color-mix(in srgb,var(--warn) 88%,transparent),0 14px 32px color-mix(in srgb,var(--warn) 14%,transparent)}
.history-item.favorite-item:before{content:"";position:absolute;z-index:0;inset:-40% -18%;background:radial-gradient(circle at 18% 48%,color-mix(in srgb,var(--warn-soft) 46%,transparent) 0 2px,transparent 3px),radial-gradient(circle at 76% 22%,color-mix(in srgb,var(--warn) 38%,transparent) 0 1.5px,transparent 3px),linear-gradient(105deg,transparent 28%,color-mix(in srgb,var(--warn-soft) 44%,transparent) 44%,transparent 58%);opacity:.7;transform:translateX(-42%);animation:favoriteGleam 5.8s ease-in-out infinite;pointer-events:none}
.history-item.favorite-item:after{content:"";position:absolute;z-index:0;right:88px;top:50%;width:42px;height:42px;background:radial-gradient(circle,color-mix(in srgb,var(--warn-soft) 72%,transparent) 0 2px,transparent 3px),linear-gradient(var(--warn),var(--warn)),linear-gradient(90deg,var(--warn),var(--warn));background-size:100% 100%,1px 100%,100% 1px;background-position:center;background-repeat:no-repeat;opacity:.34;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--warn) 38%,transparent));transform:translateY(-50%) rotate(45deg) scale(.82);animation:favoriteTwinkle 2.8s ease-in-out infinite;pointer-events:none}
.history-item.favorite-item>*{position:relative;z-index:1}
.history-item.favorite-item:hover{border-color:color-mix(in srgb,var(--warn) 82%,var(--line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn-soft) 58%,transparent),inset 5px 0 0 var(--warn),0 18px 42px color-mix(in srgb,var(--warn) 18%,transparent)}
.history-item.favorite-item .history-word{color:color-mix(in srgb,var(--warn) 28%,var(--text));text-shadow:0 1px 0 color-mix(in srgb,var(--panel) 78%,transparent)}
.history-copy{min-width:0;display:grid;gap:4px}
.history-word{font-size:18px;font-weight:750}
.history-summary{min-width:0;color:var(--muted);font-size:14px;font-weight:650;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.history-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.history-tags button,.history-tags em{border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--accent-bg) 58%,transparent);color:var(--accent);padding:2px 7px;font-size:11px;font-weight:850;line-height:1.3;font-style:normal}
.history-tags button{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.history-tags button:hover,.history-tags button:focus-visible{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-bg);outline:0}
.history-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--soft);font-size:12px;font-weight:750}
.history-meta span{border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 72%,transparent);color:var(--muted);padding:2px 7px;line-height:1.3}
.history-meta em{font-style:normal;line-height:1.35}
.history-time{font-size:13px;color:var(--soft);font-weight:550}
.history-actions{display:flex;gap:8px}
.history-load-more{border:1px dashed color-mix(in srgb,var(--accent) 42%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--accent-bg) 42%,var(--panel));color:var(--accent);padding:12px 14px;font-size:14px;font-weight:900;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.history-load-more:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-bg)}
.favorite-icon{color:var(--soft)}
.favorite-icon.active{border-color:color-mix(in srgb,var(--warn) 78%,var(--line));background:radial-gradient(circle at 35% 24%,color-mix(in srgb,var(--warn-soft) 70%,var(--panel)),color-mix(in srgb,var(--warn) 20%,var(--panel)) 56%,var(--panel2));color:color-mix(in srgb,var(--warn) 78%,var(--text));box-shadow:0 0 0 1px color-mix(in srgb,var(--warn-soft) 42%,transparent) inset,0 0 18px color-mix(in srgb,var(--warn) 22%,transparent),0 8px 22px color-mix(in srgb,var(--warn) 14%,transparent);text-shadow:0 0 10px color-mix(in srgb,var(--warn-soft) 78%,transparent)}
.settings-wrap{max-width:1280px;display:grid;gap:12px}
.setting-group{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:18px;display:grid;gap:12px;transition:transform .18s ease,border-color .18s ease}
.setting-group:hover{transform:translateY(-1px);border-color:var(--line2)}
.setting-group.profile-menu-host-open{position:relative;z-index:11000;transform:none}
.setting-title{font-size:14px;color:var(--soft);font-weight:750;letter-spacing:.08em}
.api-profile-bar{display:grid;grid-template-columns:minmax(320px,1fr);gap:12px;align-items:stretch}
.api-profile-picker{position:relative;min-width:0}
.api-profile-current{min-height:70px;border:1px solid var(--line);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-bg) 22%,var(--panel2)),var(--panel2));padding:10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.api-profile-current-copy{min-width:0;display:grid;gap:3px}
.api-profile-current-copy span{font-size:12px;color:var(--soft);font-weight:850;letter-spacing:.04em}
.api-profile-current-copy strong{font-size:18px;color:var(--text);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-menu-btn{width:42px;min-width:42px;min-height:42px;padding:0;font-size:20px}
.profile-menu-btn span{display:inline-block;margin-left:0;transition:transform .16s ease}
.api-profile-picker.open .profile-menu-btn span{transform:rotate(180deg)}
.api-profile-menu{position:fixed;left:0;top:0;width:100%;z-index:12000;display:none;gap:8px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(18px);box-shadow:0 22px 54px rgba(0,0,0,.26);padding:8px;overflow:auto;overscroll-behavior:contain}
.api-profile-picker.open .api-profile-menu{display:grid}
.api-profile-menu-list{display:grid;gap:6px}
.api-profile-create{border:1px dashed color-mix(in srgb,var(--accent) 52%,var(--line));border-radius:8px;background:var(--accent-bg);color:var(--accent);padding:10px;font-size:14px;font-weight:850;text-align:center}
.api-profile-option{border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);display:grid;grid-template-columns:minmax(0,1fr) auto 34px;gap:6px;align-items:center;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.api-profile-option:hover{transform:translateY(-1px);border-color:var(--line2);background:var(--panel2)}
.api-profile-option.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}
.api-profile-select{min-width:0;border:0;background:transparent;color:inherit;padding:9px 10px;display:grid;gap:2px;text-align:left}
.api-profile-option span{font-size:14px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.api-profile-option em{font-size:12px;color:var(--muted);font-weight:750;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.api-profile-option.active em{color:var(--accent)}
.api-profile-edit{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--muted);padding:7px 9px;font-size:13px;font-weight:850}
.api-profile-edit:hover{border-color:var(--accent);color:var(--accent)}
.api-profile-delete{width:30px;height:30px;border:1px solid color-mix(in srgb,var(--bad) 48%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--bad) 9%,var(--panel));color:var(--bad);font-size:20px;font-weight:850;line-height:1}
.tag-manager{display:grid;gap:8px}
.tag-manager-list{display:grid;gap:8px}
.tag-manager-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:10px}
.tag-manager-copy{min-width:0;display:grid;gap:2px}
.tag-manager-copy strong{font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag-manager-copy span{font-size:12px;color:var(--soft);font-weight:800}
.tag-manager-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.tag-manager-actions .plain-btn,.tag-manager-actions .danger-btn{min-width:68px;padding:7px 9px;font-size:13px}
.tag-empty{min-height:72px;height:auto;font-size:15px}
.api-profile-modal-card{width:min(720px,calc(100vw - 32px))}
.api-profile-form{display:grid;gap:12px;padding:16px}
.model-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.model-list{display:flex;flex-wrap:wrap;gap:7px;max-height:128px;overflow:auto}
.model-choice{border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:var(--muted);padding:6px 10px;font-size:13px;font-weight:800;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.model-choice:hover{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}
.setting-field{display:grid;gap:6px}
.setting-field span,.setting-row span{font-size:14px;color:var(--muted);font-weight:650}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}
.setting-row:last-child{border-bottom:0}
.stack-row{display:grid;align-items:stretch}
.setting-label{font-size:18px;font-weight:750}
.setting-sub{font-size:14px;color:var(--muted);font-weight:500;line-height:1.45}
.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;width:100%;max-width:1120px;margin-inline:auto}
.setting-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%;max-width:960px;margin-inline:auto}
.seg{display:flex;background:var(--panel2);padding:3px;border-radius:8px;gap:2px;width:max-content;min-width:180px}
.seg button{position:relative;flex:1;border:0;background:transparent;color:var(--muted);border-radius:6px;padding:8px 13px;font-size:19px;font-weight:700;line-height:1;transition:transform .18s ease,background .18s ease,color .18s ease}
.seg button:hover{transform:scale(1.06)}
.seg button.active{background:var(--panel);color:var(--text)}
.log-list{display:grid;gap:8px;max-height:360px;overflow:auto}
.log-item{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:10px 12px;transition:transform .18s ease,border-color .18s ease}
.log-item:hover{transform:translateY(-1px) scale(1.004);border-color:var(--line2)}
.log-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.log-head b{font-size:14px;font-weight:700;color:var(--text)}
.log-head span{font-size:12px;font-weight:850;color:var(--soft)}
.log-item p{margin-top:4px;font-size:14px;color:var(--muted);font-weight:750;line-height:1.45}
.small-empty{min-height:84px;font-size:15px}
.about-wrap{max-width:980px;display:grid;gap:14px}
.about-hero,.about-card,.about-link{background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease}
.about-hero:hover,.about-card:hover,.about-link:hover{transform:translateY(-1px) scale(1.003);border-color:var(--line2)}
.about-hero{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px;align-items:center}
.about-hero h2{font-size:38px;line-height:1.08;font-weight:850;margin:2px 0 10px}
.about-hero p{font-size:17px;line-height:1.65;color:var(--muted);font-weight:700;max-width:680px}
.about-version{height:150px;border:1px solid var(--line);border-radius:10px;background:var(--accent-bg);display:grid;place-items:center;text-align:center;padding:14px}
.about-version span,.about-version em{font-size:13px;color:var(--muted);font-weight:850;font-style:normal}
.about-version strong{font-size:36px;color:var(--accent);font-weight:850}
.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.about-link{padding:14px 16px;text-decoration:none;color:var(--text);display:grid;gap:4px}
.about-link b{font-size:16px;font-weight:750}
.about-link span{font-size:14px;color:var(--muted);font-weight:750;word-break:break-word}
.about-card{padding:18px}
.release-list{display:grid;gap:10px;margin-top:12px}
.release-item{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:14px 16px;transition:transform .18s ease,border-color .18s ease}
.release-item:hover{transform:translateY(-1px) scale(1.004);border-color:var(--line2)}
.release-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--accent);font-weight:750}
.release-head span{font-size:13px;color:var(--soft);font-weight:850}
.release-item h3{font-size:20px;margin:8px 0;color:var(--text)}
.release-item ul{margin:0;padding-left:18px;color:var(--muted);font-size:15px;font-weight:750;line-height:1.65}
.toast-stack{position:fixed;right:22px;top:22px;z-index:4000;display:grid;gap:12px;width:min(370px,calc(100vw - 28px));pointer-events:none}
.toast{--toast-color:var(--accent);--toast-glow:color-mix(in srgb,var(--accent) 18%,transparent);position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--toast-color) 24%,var(--line));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--toast-color) 9%,var(--panel)) 0%,color-mix(in srgb,var(--panel) 94%,transparent) 48%,color-mix(in srgb,var(--panel2) 90%,transparent) 100%);backdrop-filter:blur(22px) saturate(1.25);box-shadow:0 20px 54px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.06) inset,0 0 34px var(--toast-glow);padding:13px 13px 14px 14px;pointer-events:auto;animation:toastIn .34s cubic-bezier(.2,.9,.25,1.18) both}
.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,color-mix(in srgb,var(--toast-color) 78%,white),var(--toast-color));box-shadow:0 0 22px color-mix(in srgb,var(--toast-color) 52%,transparent)}
.toast:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.16) 28%,transparent 45%);transform:translateX(-120%);animation:toastSheen 1.1s ease .08s both;pointer-events:none}
.toast.good{--toast-color:var(--good);--toast-glow:color-mix(in srgb,var(--good) 18%,transparent)}
.toast.bad{--toast-color:var(--bad);--toast-glow:color-mix(in srgb,var(--bad) 17%,transparent)}
.toast.warn{--toast-color:var(--warn);--toast-glow:color-mix(in srgb,var(--warn) 18%,transparent)}
.toast.bump{animation:toastBump .24s cubic-bezier(.2,.9,.25,1.12) both}
.toast.leaving{pointer-events:none;animation:toastOut .26s ease both}
.toast-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:9px;position:relative;z-index:1}
.toast-mark{width:24px;height:24px;border:1px solid color-mix(in srgb,var(--toast-color) 42%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--toast-color) 14%,var(--panel));color:var(--toast-color);display:grid;place-items:center;font-size:13px;font-weight:900;line-height:1;box-shadow:0 8px 20px color-mix(in srgb,var(--toast-color) 12%,transparent)}
.toast-title{min-width:0;font-size:14px;font-weight:850;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.toast-count{min-width:28px;height:22px;border:1px solid color-mix(in srgb,var(--toast-color) 34%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--toast-color) 13%,var(--panel));color:var(--toast-color);display:grid;place-items:center;padding:0 7px;font-size:12px;font-weight:850;opacity:0;transform:scale(.72);transform-origin:center;transition:transform .18s ease,opacity .18s ease}
.toast.counted .toast-count{opacity:1;transform:scale(1)}
.toast.counted.bump .toast-count{transform:scale(1.22)}
.toast-close{width:26px;height:26px;border:1px solid color-mix(in srgb,var(--toast-color) 18%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--panel) 70%,transparent);color:var(--muted);display:grid;place-items:center;font-size:18px;font-weight:750;line-height:1;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.toast-close:hover,.toast-close:focus-visible{transform:scale(1.08) rotate(90deg);border-color:color-mix(in srgb,var(--toast-color) 45%,var(--line));background:color-mix(in srgb,var(--toast-color) 12%,var(--panel));color:var(--toast-color);outline:0}
.toast-msg{position:relative;z-index:1;margin:7px 34px 0 33px;font-size:13px;color:var(--muted);font-weight:800;line-height:1.5}
.toast-progress{position:absolute;left:4px;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--toast-color),color-mix(in srgb,var(--toast-color) 34%,transparent));transform-origin:left;animation:toastProgress 3.2s linear both}
.modal-layer{position:fixed;inset:0;z-index:4300;display:none;place-items:center;padding:24px;background:rgba(0,0,0,.28);backdrop-filter:blur(12px)}
.modal-layer.open{display:grid}
body.modal-open{overflow:hidden}
.modal-card{width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.26);overflow:hidden;animation:enter .16s ease both}
.modal-head{position:relative;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0;background:var(--panel)}
.modal-title-block{min-width:0}
.modal-head .section-title{font-size:19px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-head .section-sub{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.modal-head .result-icons{align-items:center;gap:6px;flex-wrap:nowrap}
.modal-head .tab-btn{padding:5px 10px}
.modal-head .icon-btn{width:36px;min-width:36px;height:36px;font-size:16px}
.modal-body{overflow:auto;padding:14px}
.modal-rollbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.roll-tabs{display:flex;gap:8px;overflow-x:auto;min-width:0;padding-bottom:2px}
.roll-btn{border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--muted);padding:7px 10px;display:grid;gap:1px;text-align:left;min-width:130px;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.roll-btn:hover{transform:translateY(-1px);border-color:var(--accent)}
.roll-btn.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.roll-btn span{font-size:13px;font-weight:800}
.roll-btn em{font-size:11px;font-style:normal;font-weight:650;color:var(--soft);white-space:nowrap}
.roll-btn strong{font-size:11px;font-weight:750;color:var(--accent);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reroll-btn{min-width:100px;flex:none}
.modal-page{display:none}
.modal-page.active{display:block}
.edit-page{display:none;gap:10px}
.edit-page.active{display:grid}
.visual-page{display:none;gap:12px}
.visual-page.active{display:grid}
.visual-editor{display:grid;gap:14px}
.visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.visual-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.visual-wide{grid-column:1/-1}
.visual-input{width:100%;min-height:74px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:10px 11px;font-size:14px;line-height:1.55;resize:vertical;outline:0}
.visual-input:focus{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 10%,transparent)}
.visual-section{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:12px}
.visual-head,.visual-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.visual-head b{font-size:16px;color:var(--text)}
.visual-head .plain-btn,.visual-card-head .danger-btn{min-width:64px;padding:6px 10px;font-size:13px}
.visual-list{display:grid;gap:10px}
.visual-card{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 72%,var(--panel));padding:12px;display:grid;gap:10px}
.visual-card-head b{font-size:14px;color:var(--muted)}
.modal-json-field{min-height:0}
.note-toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.note-toolbar button{min-width:32px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:900;display:grid;place-items:center;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}
.note-toolbar button:hover,.note-toolbar button:focus-visible{transform:translateY(-1px);border-color:var(--accent);background:var(--accent-bg);color:var(--accent);outline:0}
.note-editor{width:100%;min-height:92px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:11px 12px;font-size:15px;line-height:1.55;resize:vertical;outline:0}
.note-editor:focus{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 10%,transparent)}
.note-block{border-top:1px solid var(--line);padding-top:16px}
.note-block .history-tags{margin-bottom:8px}
.history-note{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel2) 74%,var(--panel));padding:11px 12px}
.history-note.followup-answer{margin-left:0}
.modal-edit-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.modal-edit-footer .plain-btn{min-width:96px}
.json-status{min-width:0;color:var(--muted);font-size:13px;font-weight:750;line-height:1.4}
.json-status.good{color:var(--good)}
.json-status.bad{color:var(--bad)}
.json-sections{display:grid;gap:10px}
.json-section{border:1px solid var(--line);border-radius:10px;background:var(--panel2);overflow:hidden}
.json-section summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;color:var(--text);font-family:var(--font-ui)}
.json-section summary span{font-weight:750}
.json-section summary code{font-size:12px;color:var(--accent);font-weight:650}
.json-section pre{margin:0;padding:12px;border-top:1px solid var(--line);overflow:auto;white-space:pre-wrap;color:var(--muted);font-weight:450}
.json-editor{width:100%;min-height:430px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:14px;font-family:var(--font-mono);font-size:13px;line-height:1.6;resize:vertical;outline:0;font-weight:450}
.followup-panel{min-width:0;max-width:100%;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.followup-list{min-width:0;max-width:100%;display:grid;gap:12px;margin-bottom:12px}
.followup-empty{border:1px dashed var(--line2);border-radius:10px;color:var(--soft);background:color-mix(in srgb,var(--panel2) 60%,transparent);padding:14px;font-size:15px}
.followup-item{min-width:0;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel2) 72%,var(--panel));padding:14px;display:grid;gap:10px}
.followup-item.pending{border-style:dashed;opacity:.86}
.followup-item.pending .followup-answer:after{content:"";display:inline-block;width:7px;height:1.1em;margin-left:3px;border-radius:999px;background:var(--accent);vertical-align:-.18em;animation:streamCaret 1s ease-in-out infinite}
.followup-question{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
.followup-question b{width:28px;height:28px;border-radius:999px;background:var(--accent-bg);color:var(--accent);display:grid;place-items:center;font-size:13px;font-weight:800}
.followup-question span{font-size:16px;color:var(--text);font-weight:650;line-height:1.55}
.followup-answer{min-width:0;max-width:100%;overflow-x:hidden;margin-left:44px;color:var(--muted);font-size:14px;line-height:1.62}
.followup-answer p{margin:0 0 8px}
.followup-answer p:last-child{margin-bottom:0}
.followup-answer h4{margin:10px 0 6px;color:var(--text);font-size:16px;font-weight:800}
.followup-answer h4:first-child{margin-top:0}
.followup-answer ul,.followup-answer ol{margin:0 0 8px;padding-left:20px}
.followup-answer li{margin:3px 0}
.followup-answer blockquote{position:relative;margin:8px 0 10px;padding:10px 12px 10px 15px;border-left:3px solid color-mix(in srgb,var(--accent) 62%,var(--line));border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--accent-bg) 44%,transparent);color:color-mix(in srgb,var(--text) 62%,var(--muted))}
.followup-answer blockquote p{margin-bottom:6px}
.followup-answer blockquote p:last-child{margin-bottom:0}
.followup-answer hr{height:1px;border:0;background:linear-gradient(90deg,transparent,var(--line2),transparent);margin:12px 0}
.followup-answer .md-table-wrap{display:block;width:100%;max-width:100%;min-width:0;margin:8px 0 10px;overflow-x:auto;overflow-y:hidden;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,var(--panel2));box-shadow:inset -18px 0 18px -24px color-mix(in srgb,var(--text) 44%,transparent);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x}
.followup-answer table{width:max(100%,calc(var(--cols,3) * var(--col-min,150px)));border-collapse:collapse;min-width:calc(var(--cols,3) * var(--col-min,150px));font-size:14px;table-layout:auto}
.followup-answer th,.followup-answer td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;min-width:var(--col-min,150px);overflow-wrap:anywhere}
.followup-answer th{background:color-mix(in srgb,var(--accent-bg) 46%,var(--panel));color:var(--text);font-weight:850}
.followup-answer tr:last-child td{border-bottom:0}
.followup-answer strong{color:var(--text);font-weight:800}
.followup-answer em{font-style:normal;color:var(--accent)}
.followup-answer del{color:var(--soft);text-decoration-color:color-mix(in srgb,var(--bad) 44%,var(--soft))}
.followup-answer a{color:var(--accent);font-weight:800;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent) 42%,transparent)}
.followup-answer a:hover{border-bottom-color:var(--accent)}
.followup-answer code{border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--text);padding:1px 5px;font-family:var(--font-mono);font-size:.92em}
.followup-answer .md-code-block{position:relative;margin:8px 0 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 78%,var(--panel2));overflow:auto}
.followup-answer .md-code-block:before{content:attr(data-lang);display:block;min-height:0;padding:5px 10px 0;color:var(--soft);font-size:11px;font-weight:850;text-transform:uppercase}
.followup-answer .md-code-block:not([data-lang]):before{display:none}
.followup-answer .md-code-block code{display:block;border:0;border-radius:0;background:transparent;padding:10px 12px;color:var(--text);white-space:pre;font-size:13px;line-height:1.6}
.followup-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.followup-actions .plain-btn,.followup-actions .danger-btn{min-width:74px;padding:7px 10px;font-size:14px}
.followup-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.followup-compose textarea,.followup-edit-input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--text);padding:11px 12px;font-size:15px;line-height:1.55;resize:vertical;outline:0}
.followup-compose textarea:focus,.followup-edit-input:focus{border-color:var(--accent);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 10%,transparent)}
.followup-edit-input.answer{min-height:140px}
body.followup-busy .followup-compose .primary-btn{animation:pulse .9s ease-in-out infinite}
.confirm-layer{position:fixed;inset:0;z-index:5000;display:none;place-items:center;padding:24px;background:rgba(0,0,0,.32);backdrop-filter:blur(12px)}
.confirm-layer.open{display:grid}
.confirm-card{width:min(420px,calc(100vw - 32px));border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.25);padding:18px;display:grid;gap:12px;animation:enter .16s ease both}
.confirm-title{font-size:20px;font-weight:800}
.confirm-message{font-size:15px;color:var(--muted);font-weight:750;line-height:1.55}
.confirm-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.confirm-card.sync-card{width:min(640px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;gap:14px}
.sync-simple{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch}
.sync-side{border:1px solid var(--line);border-radius:10px;padding:13px;background:var(--panel2);display:grid;gap:4px}
.sync-side span{font-size:13px;font-weight:850;color:var(--muted)}
.sync-side strong{font-size:34px;line-height:1;font-weight:850;color:var(--text)}
.sync-side em{font-size:12px;color:var(--soft);font-style:normal;font-weight:750}
.sync-side.local{border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent-bg) 48%,var(--panel))}
.sync-side.remote{border-color:color-mix(in srgb,var(--good) 42%,var(--line));background:color-mix(in srgb,var(--good) 12%,var(--panel))}
.sync-vs{align-self:center;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;color:var(--muted);font-weight:850;background:var(--panel)}
.sync-plain{font-size:15px;color:var(--muted);font-weight:750;line-height:1.55;background:var(--panel2);border-radius:10px;padding:11px 12px}
.sync-plain b{color:var(--text)}
.sync-toggle{justify-self:start;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--accent);padding:8px 10px;font-size:13px;font-weight:850}
.sync-detail{display:none;gap:8px}
.sync-detail.open{display:grid}
.sync-help{border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 72%,var(--panel2));padding:10px 12px;font-size:13px;color:var(--muted);font-weight:750;line-height:1.6}
.sync-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sync-breakdown div{border:1px dashed var(--line);border-radius:10px;padding:9px 10px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.sync-breakdown b{font-size:20px;color:var(--text)}
.sync-breakdown span{font-size:12px;color:var(--muted);font-weight:750}
.sync-kinds{display:grid;gap:8px}
.sync-kind{display:grid;grid-template-columns:1fr auto auto auto;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:color-mix(in srgb,var(--panel) 72%,var(--panel2))}
.sync-kind b{font-size:14px;color:var(--text)}
.sync-kind span,.sync-kind em{font-size:12px;color:var(--muted);font-weight:750;font-style:normal}
.sync-kind em{color:var(--accent)}
.sync-data-list{display:grid;gap:8px}
.sync-data-row{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:10px;display:grid;gap:8px}
.sync-data-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sync-data-head b{font-size:13px;color:var(--text)}
.sync-data-head em{font-size:12px;color:var(--accent);font-style:normal;font-weight:850;white-space:nowrap}
.sync-data-cols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sync-data-cols div{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:8px;min-width:0}
.sync-data-cols span{display:block;font-size:12px;color:var(--soft);font-weight:850;margin-bottom:4px}
.sync-data-cols p{font-size:12px;color:var(--muted);font-weight:650;line-height:1.45;word-break:break-word}
.sync-card .confirm-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.sync-card .confirm-actions .plain-btn{width:100%;min-height:48px}
.sync-card .merge-btn{background:color-mix(in srgb,var(--accent2) 14%,var(--panel));border-color:color-mix(in srgb,var(--accent2) 58%,var(--line));color:var(--accent2)}
@keyframes toastIn{from{opacity:0;filter:blur(8px);transform:translateX(28px) translateY(-14px) scale(.92)}62%{filter:blur(0);transform:translateX(-3px) translateY(0) scale(1.018)}to{opacity:1;filter:none;transform:none}}
@keyframes toastOut{from{opacity:1;filter:none;transform:none}to{opacity:0;filter:blur(5px);transform:translateX(28px) translateY(-8px) scale(.94)}}
@keyframes toastBump{0%{transform:translateY(0) scale(1)}45%{transform:translateY(-3px) scale(1.028)}100%{transform:translateY(0) scale(1)}}
@keyframes toastProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes toastSheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@keyframes favoriteGleam{0%,42%{transform:translateX(-46%);opacity:.18}58%{transform:translateX(18%);opacity:.74}100%{transform:translateX(46%);opacity:.2}}
@keyframes favoriteTwinkle{0%,100%{opacity:.22;transform:translateY(-50%) rotate(45deg) scale(.72)}48%{opacity:.5;transform:translateY(-50%) rotate(45deg) scale(.96)}}
@keyframes lookupSheen{0%,30%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@keyframes lookupStep{0%,80%,100%{background:var(--panel2);border-color:var(--line);color:var(--muted);transform:none}12%,28%{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}}
@keyframes lookupProgress{0%{transform:translateX(-105%);width:35%}45%{width:58%}100%{transform:translateX(285%);width:35%}}
@keyframes streamCaret{0%,100%{opacity:.25;transform:scaleY(.72)}45%{opacity:.95;transform:scaleY(1)}}
@keyframes loadingDot{70%,100%{box-shadow:0 0 0 9px transparent}}
@keyframes skeletonSweep{0%{background-position:120% 0}100%{background-position:-120% 0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes pulse{50%{transform:scale(1.08)}}
@media(max-width:900px){
  body{font-size:16px}
  .app{padding:16px 14px 86px}
  .sidebar{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;height:auto;border-radius:0;border-left:0;border-right:0;border-bottom:0;border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom));display:block;background:var(--panel);z-index:1000;box-shadow:0 -12px 30px rgba(0,0,0,.10)}
  .brand,.side-note{display:none}
  .nav{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
  .nav-item{text-align:center;justify-content:center;padding:10px 6px}
  .nav-item:hover{transform:translateY(-1px) scale(1.02)}
  .topbar{position:sticky;top:0;z-index:900;padding:8px 0;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px)}
  .workspace,.workspace.layout-top,.workspace.layout-split{height:auto;min-height:0;grid-template-columns:1fr;grid-template-rows:auto auto}
  .layout-top .editor-pane{grid-template-columns:1fr}
  .editor-pane{min-height:0}
  .result-pane{min-height:52vh}
  .query-row,.query-row:hover,.query-row:focus-within{grid-template-columns:minmax(0,1fr) auto}
  .assist-fields{grid-column:1 / -1;border-radius:10px}
  .layout-split .assist-fields{position:static;grid-column:1 / -1}
  .queue-item{grid-template-columns:24px minmax(0,1fr)}
  .queue-actions{grid-column:1 / -1;justify-content:flex-end}
  .account-panel{top:72px;left:14px;right:14px;width:auto}
  .account-actions.cloud-only{grid-template-columns:1fr}
  .section-head,.setting-row{display:grid;align-items:stretch}
  .api-profile-bar{grid-template-columns:1fr}
  .api-profile-current{grid-template-columns:minmax(0,1fr) auto}
  .tag-manager-item{grid-template-columns:1fr}
  .tag-manager-actions{justify-content:flex-start}
  .model-field-row{grid-template-columns:1fr}
  .settings-grid{grid-template-columns:1fr}
  .history-panel{padding:14px}
  .history-tools{grid-template-columns:1fr;gap:8px;margin-bottom:10px}
  .history-filter-toggle{display:grid}
  .history-filterbar{display:none;grid-template-columns:1fr 1fr}
  .history-tools.filters-open .history-filterbar{display:grid}
  .history-sortbar{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:7px;padding:1px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .history-sortbar::-webkit-scrollbar{display:none}
  .sort-btn{flex:0 0 auto;min-width:72px;min-height:36px;padding:7px 12px}
  .history-item{grid-template-columns:1fr;gap:10px;padding:13px}
  .history-summary{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}
  .history-actions{justify-content:flex-end;border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent);padding-top:8px}
  .history-actions .icon-btn{width:34px;min-width:34px;height:34px;min-height:34px}
  .history-search{width:100%}
  .action-row.compact{justify-content:flex-start}
  .plain-btn,.danger-btn{min-height:46px}
  .modal-layer{padding:12px}
  .modal-card{width:100%;max-height:calc(100vh - 24px)}
  .modal-head{grid-template-columns:1fr;align-items:start}
  .modal-head .result-icons{width:100%;overflow-x:auto;padding-bottom:2px}
  .json-editor{min-height:48vh}
  .visual-grid,.visual-grid.compact{grid-template-columns:1fr}
  .modal-rollbar{display:grid;align-items:stretch}
  .reroll-btn{width:100%}
  .sync-simple,.sync-breakdown,.sync-data-cols{grid-template-columns:1fr}
  .sync-vs{text-align:center}
  .sync-kind{grid-template-columns:1fr auto}
  .sync-kind em{grid-column:1 / -1}
  .sync-card .confirm-actions{grid-template-columns:1fr}
  .followup-compose{grid-template-columns:1fr}
  .followup-answer{margin-left:0;font-size:13px;line-height:1.56}
  .followup-answer p{margin-bottom:6px}
  .followup-answer h4{font-size:15px}
  .followup-question span{font-size:14px;line-height:1.48}
  .followup-answer .md-table-wrap{width:100%;max-width:100%;margin-right:0;margin-left:0}
  .followup-answer table{width:max(100%,calc(var(--cols,3) * var(--mobile-col-min,var(--col-min,138px))));min-width:calc(var(--cols,3) * var(--mobile-col-min,var(--col-min,138px)));font-size:12.5px}
  .followup-answer th,.followup-answer td{min-width:var(--mobile-col-min,var(--col-min,138px));padding:6px 7px;line-height:1.5}
  .about-hero,.about-grid{grid-template-columns:1fr}
  .about-version{height:auto;min-height:110px}
  .about-hero h2{font-size:32px}
}
@media(max-width:560px){
  #query-input{font-size:18px;padding:13px 60px 13px 18px}
  .query-row,.query-row:hover,.query-row:focus-within{grid-template-columns:1fr}
  .query-actions{justify-content:flex-start}
  .history-filter-menu{position:static;margin-top:6px}
  .history-filterbar{grid-template-columns:1fr}
  .history-scope{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .scope-btn{min-height:38px;padding:7px 10px}
  .history-word{font-size:17px}
  .history-meta{font-size:11.5px}
  .result-toolbar{align-items:flex-start}
}
