:root{--color-primary: #334155;--color-primary-dark: #1e293b;--color-primary-light: #475569;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-light: #a5b4fc;--color-accent-bg: #e0e7ff;--color-page: #f0f3f8;--color-surface: #ffffff;--color-input: #fafbfd;--color-text: #1e293b;--color-text-secondary: #526079;--color-text-muted: #8a97ab;--color-border: #dce2ec;--color-input-border: #cfd7e3;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--radius-control: 9px;--radius-card: 14px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--bg: var(--color-page);--panel: var(--color-surface);--input-bg: var(--color-input);--input-line: var(--color-input-border);--fg: var(--color-text);--muted: var(--color-text-secondary);--faint: var(--color-text-muted);--line: var(--color-border);--soft: #e9edf4;--accent: var(--color-accent);--accent-hover: var(--color-accent-hover);--accent-light: var(--color-accent-light);--accent-ink: #4338ca;--accent-2: var(--color-accent-hover);--accent-fg: #ffffff;--accent-soft: var(--color-accent-bg);--grad: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-hover) 100%);--link: #2563eb;--info: var(--color-info);--ok: var(--color-success);--ok-soft: #d1fae5;--ok-fg: #065f46;--warn: var(--color-warning);--warn-soft: #fef3c7;--warn-fg: #92400e;--danger: var(--color-error);--danger-soft: #fee2e2;--danger-fg: #991b1b;--info-soft: #dbeafe;--info-fg: #1e40af;--tag-bg: #e2e8f0;--tag-fg: #334155;--side-bg: var(--color-primary-dark);--side-fg: #f1f5f9;--side-muted: #b4c0d0;--side-hover: var(--color-primary);--side-line: rgba(255, 255, 255, .1);--radius: var(--radius-card);--radius-sm: var(--radius-control);--shadow-sm: 0 1px 2px rgba(30, 41, 59, .07), 0 1px 3px rgba(30, 41, 59, .04);--shadow-md: 0 4px 14px -2px rgba(30, 41, 59, .08), 0 2px 4px rgba(30, 41, 59, .04);--shadow-lg: 0 24px 60px -12px rgba(30, 41, 59, .28);--ring: 0 0 0 3px color-mix(in srgb, var(--color-accent-light) 55%, transparent);--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:light}:root:not([data-theme=light]){--bg: #121212;--panel: #1e293b;--input-bg: #172033;--input-line: #3b4a61;--fg: #e2e8f0;--muted: #a3b1c4;--faint: #74839a;--line: #3a4a61;--soft: #263246;--accent: #6366f1;--accent-hover: #818cf8;--accent-2: #818cf8;--accent-ink: #a5b4fc;--accent-soft: #272c5c;--link: #93c5fd;--ok-soft: #0f3a2a;--ok-fg: #6ee7b7;--warn-soft: #3d2a07;--warn-fg: #fcd34d;--danger-soft: #3f1212;--danger-fg: #fca5a5;--info-soft: #172554;--info-fg: #93c5fd;--tag-bg: #334155;--tag-fg: #e2e8f0;--side-bg: #0f172a;--side-hover: #1e293b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 6px 18px -4px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 60px -12px rgba(0, 0, 0, .7);--ring: 0 0 0 3px color-mix(in srgb, var(--color-accent) 45%, transparent);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:14px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:color-mix(in srgb,var(--accent) 25%,transparent)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}h1,h2,h3,h4{margin:0;line-height:1.3;letter-spacing:-.02em}input,select,textarea,button{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--ring)}input[type=text],input[type=number],input[type=password],input[type=search],select,textarea{width:100%;padding:9px 12px;border:1px solid var(--input-line);border-radius:var(--radius-sm);background:var(--input-bg);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--accent-light) 60%,var(--input-line))}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-light);background:var(--panel);box-shadow:var(--ring)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}textarea{resize:vertical;min-height:60px}.btn{border:1px solid var(--line);background:var(--panel);padding:7px 14px;border-radius:var(--radius-sm);cursor:pointer;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:var(--fg);box-shadow:var(--shadow-sm);transition:background .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .1s var(--ease),filter .15s var(--ease)}.btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-light) 70%,var(--line));background:var(--soft);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:transparent;color:var(--accent-fg);font-weight:600;box-shadow:0 2px 8px -2px color-mix(in srgb,var(--accent) 50%,transparent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:transparent;box-shadow:0 6px 16px -4px color-mix(in srgb,var(--accent) 55%,transparent)}.btn.danger{color:var(--danger)}.btn.danger-solid{background:var(--danger);border-color:transparent;color:#fff}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 40%,var(--line))}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--soft)}.btn.sm{padding:4px 10px;font-size:12.5px;border-radius:8px}.btn.tone-ai,.btn.tone-info,.btn.tone-ok,.btn.tone-warn,.btn.tone-danger{background:var(--tone-bg);color:var(--tone-fg);border-color:color-mix(in srgb,var(--tone-fg) 30%,transparent);font-weight:600}.btn.tone-ai:hover:not(:disabled),.btn.tone-info:hover:not(:disabled),.btn.tone-ok:hover:not(:disabled),.btn.tone-warn:hover:not(:disabled),.btn.tone-danger:hover:not(:disabled){background:color-mix(in srgb,var(--tone-fg) 18%,var(--tone-bg));border-color:color-mix(in srgb,var(--tone-fg) 55%,transparent)}.btn.tone-ai{--tone-bg: var(--accent-soft);--tone-fg: var(--accent-ink)}.btn.tone-info{--tone-bg: var(--info-soft);--tone-fg: var(--info-fg)}.btn.tone-ok{--tone-bg: var(--ok-soft);--tone-fg: var(--ok-fg)}.btn.tone-warn{--tone-bg: var(--warn-soft);--tone-fg: var(--warn-fg)}.btn.tone-danger{--tone-bg: var(--danger-soft);--tone-fg: var(--danger-fg)}.row{display:flex;gap:10px;align-items:center}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.small{font-size:12.5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.pill{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-size:12px;white-space:nowrap;font-weight:500}.pill.ok{background:var(--ok-soft);color:var(--ok-fg);border-color:transparent}.pill.warn{background:var(--warn-soft);color:var(--warn-fg);border-color:transparent}.pill.err{background:var(--danger-soft);color:var(--danger-fg);border-color:transparent}.pill.info{background:var(--accent-soft);color:var(--accent-ink);border-color:transparent}.tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;background:var(--tag-bg);color:var(--tag-fg);font-size:12px;font-weight:500}.lbl{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.spinner{width:18px;height:18px;border:2px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%);background:color-mix(in srgb,#1e293b 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:12px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-lg);z-index:1000;animation:up .3s var(--ease);font-weight:500}.toast.err{background:#ef4444}.toast.ok{background:#10b981}.toast.warn{background:#f59e0b;color:#1e293b}@keyframes up{0%{transform:translate(-50%,12px);opacity:0}to{transform:translate(-50%);opacity:1}}.stars button{background:none;border:0;cursor:pointer;font-size:18px;color:#f59e0b;padding:0 1px;transition:transform .1s var(--ease)}.stars button:hover{transform:scale(1.15)}.empty{padding:64px 40px;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 30%,transparent);border-radius:999px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted) 55%,transparent);background-clip:padding-box;border:3px solid transparent}.icon{display:inline-block;flex:none;vertical-align:-.2em}.btn .icon,.pill .icon,.tag .icon,.badge .icon{vertical-align:0}.ui-page-head{display:flex;align-items:center;gap:14px;margin:0 0 20px;flex-wrap:wrap}.ui-page-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:0 0 auto}.ui-page-titles{flex:1 1 260px;min-width:0}.ui-page-titles h2{margin:0;font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.25}.ui-page-titles p{margin:3px 0 0;color:var(--muted);font-size:13.5px;line-height:1.5}.ui-page-actions{display:flex;gap:8px;flex-wrap:wrap}.ui-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;min-width:0}.ui-card-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}.ui-card-ico{color:var(--accent-ink);display:inline-flex}.ui-card-titles{flex:1;min-width:0}.ui-card-titles h3{margin:0;font-size:14.5px;font-weight:650}.ui-card-titles p{margin:2px 0 0;font-size:12.5px;color:var(--muted)}.ui-card-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ui-card-body{padding:16px 18px;display:flex;flex-direction:column;gap:12px}.ui-card-body.flush{padding:6px 0;gap:0}.ui-card-body>p{margin:0;line-height:1.6}.ui-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.6;white-space:nowrap;background:var(--soft);color:var(--muted);border:0;font-family:inherit}.ui-badge.accent,.ui-badge.info{background:var(--accent-soft);color:var(--accent-ink)}.ui-badge.ok{background:var(--ok-soft);color:var(--ok-fg)}.ui-badge.warn{background:var(--warn-soft);color:var(--warn-fg)}.ui-badge.danger{background:var(--danger-soft);color:var(--danger-fg)}.ui-badge.clickable{cursor:pointer}.ui-badge.clickable:hover{filter:brightness(.96)}.ui-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:0 0 16px;overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tabs button{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:0;background:none;color:var(--muted);font-size:13.5px;font-weight:500;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:8px 8px 0 0}.ui-tabs button:hover{color:var(--fg);background:var(--soft)}.ui-tabs button.on{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:650}.ui-tab-count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:11px;font-weight:700;line-height:18px;text-align:center}.ui-tab-count.danger{background:var(--danger-soft);color:var(--danger-fg)}.ui-tab-count.warn{background:var(--warn-soft);color:var(--warn-fg)}.ui-tabs button.on .ui-tab-count:not(.danger):not(.warn){background:var(--accent-soft);color:var(--accent-ink)}.ui-seg{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--soft);border:1px solid var(--line)}.ui-seg button{border:0;background:none;padding:5px 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer;display:inline-flex;gap:6px;align-items:center}.ui-seg button.on{background:var(--panel);color:var(--fg);box-shadow:var(--shadow-sm);font-weight:600}.ui-seg-n{font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}.ui-ring-wrap{display:flex;align-items:center;gap:14px}.ui-ring{position:relative;display:grid;place-items:center;flex:0 0 auto}.ui-ring svg{position:absolute;top:0;right:0;bottom:0;left:0}.ui-ring b{font-size:24px;font-weight:750;font-variant-numeric:tabular-nums}.ui-ring-bg{fill:none;stroke:var(--soft)}.ui-ring-fg{fill:none;stroke-linecap:round;stroke:var(--accent);transition:stroke-dasharray .5s var(--ease)}.ui-ring.ok .ui-ring-fg{stroke:var(--ok)}.ui-ring.ok b{color:var(--ok-fg)}.ui-ring.warn .ui-ring-fg{stroke:var(--warn)}.ui-ring.warn b{color:var(--warn-fg)}.ui-ring.danger .ui-ring-fg{stroke:var(--danger)}.ui-ring.danger b{color:var(--danger-fg)}.ui-ring-text{display:flex;flex-direction:column;gap:2px}.ui-ring-text span{font-weight:650;font-size:14px}.ui-ring-text small{color:var(--muted);font-size:12.5px}.ui-bar{display:grid;grid-template-columns:minmax(110px,38%) 1fr 30px;align-items:center;gap:12px}.ui-bar-label{font-size:13px;color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-bar-track{height:8px;border-radius:99px;background:var(--soft);overflow:hidden}.ui-bar-fill{height:100%;border-radius:99px;background:var(--accent)}.ui-bar-fill.ok{background:var(--ok)}.ui-bar-fill.warn{background:var(--warn)}.ui-bar-fill.danger{background:var(--danger)}.ui-bar-val{font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.ui-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px}.ui-stat{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;background:var(--soft);min-width:0}.ui-stat b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:6px}.ui-stat span{font-size:12px;color:var(--muted)}.ui-stat.danger b{color:var(--danger-fg)}.ui-stat.warn b{color:var(--warn-fg)}.ui-stat.ok b{color:var(--ok-fg)}.ui-stat.info b,.ui-stat.accent b{color:var(--accent-ink)}.ui-dis{--indent: 0;--tone: var(--line);border-left:3px solid var(--tone);margin-left:calc(var(--indent) * 22px)}.ui-dis+.ui-dis{border-top:1px solid var(--line)}.ui-dis.ok{--tone: var(--ok)}.ui-dis.warn{--tone: var(--warn)}.ui-dis.danger{--tone: var(--danger)}.ui-dis.info,.ui-dis.accent{--tone: var(--accent)}.ui-dis.neutral{--tone: transparent}.ui-dis-head{width:100%;display:flex;align-items:center;gap:10px;padding:11px 16px;background:none;border:0;text-align:left;color:var(--fg);font-size:13.5px;min-height:44px}button.ui-dis-head{cursor:pointer}button.ui-dis-head:hover{background:var(--soft)}.ui-dis.strong>.ui-dis-head{font-weight:650;background:var(--soft)}.ui-dis-ico{flex:0 0 auto;color:var(--muted)}.ui-dis.ok .ui-dis-ico{color:var(--ok-fg)}.ui-dis.warn .ui-dis-ico{color:var(--warn-fg)}.ui-dis.danger .ui-dis-ico{color:var(--danger-fg)}.ui-dis.info .ui-dis-ico{color:var(--accent-ink)}.ui-dis-title{flex:1;min-width:0;line-height:1.45}.ui-dis-meta{color:var(--faint);font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.ui-dis-chev{color:var(--faint);width:14px;flex:0 0 14px}.ui-dis-body{padding:2px 16px 14px 42px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;line-height:1.6}.ui-dis-body p{margin:0}.ui-field{display:grid;grid-template-columns:150px 1fr;gap:12px}.ui-field-label{font-size:12.5px;font-weight:600;color:var(--muted);padding-top:1px}.ui-field-val{min-width:0}.ui-field-val ol,.ui-field-val ul{margin:0;padding-left:18px}.ui-callout{display:flex;gap:10px;padding:11px 14px;border-radius:10px;font-size:13px;line-height:1.55;background:var(--accent-soft);color:var(--accent-ink)}.ui-callout>.icon{flex:0 0 auto;margin-top:1px}.ui-callout b{display:block;margin-bottom:1px}.ui-callout.ok{background:var(--ok-soft);color:var(--ok-fg)}.ui-callout.warn{background:var(--warn-soft);color:var(--warn-fg)}.ui-callout.danger{background:var(--danger-soft);color:var(--danger-fg)}.ui-callout.neutral{background:var(--soft);color:var(--muted)}.ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:36px 20px;color:var(--muted)}.ui-empty-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--soft);color:var(--faint);margin-bottom:4px}.ui-empty b{color:var(--fg);font-size:15px}.ui-empty p{margin:0;max-width:460px;font-size:13.5px;line-height:1.55}.ui-steps{display:flex;flex-direction:column;gap:12px}.ui-steps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.ui-steps li{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--faint)}.ui-step-dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--soft);border:1px solid var(--line);flex:0 0 auto}.ui-steps li.done{color:var(--muted)}.ui-steps li.done .ui-step-dot{background:var(--ok);border-color:transparent;color:#fff}.ui-steps li.now{color:var(--fg);font-weight:600}.ui-steps li.now .ui-step-dot{background:var(--accent);border-color:transparent;color:var(--accent-fg);box-shadow:0 0 0 4px var(--accent-soft)}.ui-steps li.fail{color:var(--danger-fg);font-weight:600}.ui-steps li.fail .ui-step-dot{background:var(--danger);border-color:transparent;color:#fff}.ui-steps-msg{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.ui-drop{display:flex;align-items:center;gap:14px;padding:18px;border:1.5px dashed var(--input-line);border-radius:12px;background:var(--soft);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease)}.ui-drop:hover,.ui-drop:focus-visible,.ui-drop.drag{border-color:var(--accent);background:var(--accent-soft);outline:none}.ui-drop.has-file{border-style:solid;border-color:color-mix(in srgb,var(--ok) 55%,var(--line));background:var(--ok-soft)}.ui-drop-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--panel);color:var(--accent-ink);flex:0 0 auto;box-shadow:var(--shadow-sm)}.ui-drop.has-file .ui-drop-ico{color:var(--ok-fg)}.ui-drop-text{display:flex;flex-direction:column;gap:3px;min-width:0}.ui-drop-text b{font-size:14px;font-weight:600;overflow-wrap:anywhere}.ui-drop-text u{color:var(--accent-ink);text-underline-offset:2px}.ui-drop-text span{font-size:12.5px;color:var(--muted)}.ui-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.ui-grid-2>.ui-card{margin-bottom:0;display:flex;flex-direction:column}.ui-grid-2>.ui-card>.ui-card-body{flex:1}.ui-stack{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}@media(max-width:860px){.ui-grid-2{grid-template-columns:1fr}}@media(max-width:600px){.ui-field{grid-template-columns:1fr;gap:2px}.ui-dis-body{padding-left:16px}.ui-dis{margin-left:calc(var(--indent) * 10px)}.ui-dis-meta{display:none}.ui-drop{flex-direction:column;text-align:center}.ui-card-head,.ui-card-body{padding-left:14px;padding-right:14px}}.app{display:grid;grid-template-columns:256px 1fr;height:100vh}.side{border-right:1px solid var(--side-line);background:var(--side-bg);color:var(--side-fg);display:flex;flex-direction:column;overflow:hidden}.brand{display:flex;align-items:center;gap:12px;padding:18px 18px 16px;border-bottom:1px solid var(--side-line);margin-bottom:8px}.brand .muted{color:var(--side-muted)}.brand img{width:36px;height:36px;border-radius:10px;box-shadow:0 4px 12px -2px #00000059}.brand b{font-size:15px;font-weight:700;letter-spacing:-.02em;color:#fff}.side-scroll{overflow-y:auto;padding:4px 12px 16px;flex:1}.side-scroll::-webkit-scrollbar{width:6px}.side h4{font-size:10.5px;text-transform:uppercase;color:#94a3b8;letter-spacing:.08em;padding:18px 10px 6px;display:flex;align-items:center;justify-content:space-between;font-weight:600}.side h4:first-of-type{padding-top:6px}.nav{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s var(--ease),color .15s var(--ease);margin:1px 0;color:var(--side-fg);position:relative}.nav:hover{background:var(--side-hover);color:#fff}.nav.active{background:color-mix(in srgb,var(--color-accent) 30%,transparent);color:#fff;font-weight:600}.nav.menu.active{background:var(--color-accent);box-shadow:0 4px 12px -4px #0f172a80}.nav.menu.active .ico{color:#fff}.nav.menu.active .count{background:#ffffff38}.nav.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent-light)}.nav .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav .count{margin-left:auto;font-size:11px;font-weight:600;color:#e2e8f0;background:#ffffff1f;padding:0 7px;border-radius:999px;font-variant-numeric:tabular-nums}.nav.active .count{background:var(--color-accent);color:#fff}.nav .dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 2px #ffffff24}.nav .acts{display:none;gap:2px;margin-left:4px}.nav:hover .acts{display:inline-flex}.nav:hover .count{display:none}.nav .acts button{background:none;border:0;cursor:pointer;padding:2px 5px;color:var(--side-muted);border-radius:6px;transition:background .15s var(--ease),color .15s var(--ease)}.nav .acts button:hover{background:#ffffff1a;color:#fff}.nav.drop{outline:2px dashed var(--accent-light);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 25%,transparent)}.main{display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.topbar{display:flex;align-items:center;gap:14px;padding:0 24px;min-height:56px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.topbar-title{display:flex;align-items:center;gap:10px;min-width:0}.topbar-title>b{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--fg);white-space:nowrap}.topbar-title>b .icon{color:var(--accent-ink)}.scope-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;cursor:pointer;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scope-chip:hover{border-color:var(--accent)}.menu-btn{display:none;padding:6px}.tabs{display:flex;flex-wrap:nowrap;align-items:stretch;gap:2px;margin-left:auto;align-self:stretch;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;white-space:nowrap;background:none;border:0;padding:0 12px;font-size:13px;cursor:pointer;color:var(--muted);font-weight:500;transition:color .15s var(--ease);position:relative}.tabs button:hover{color:var(--fg)}.tabs button.active{color:var(--accent-ink);font-weight:600}.tabs button.active:after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--accent)}.tabs button:focus-visible{box-shadow:inset var(--ring);border-radius:8px}.content{flex:1;overflow-y:auto;padding:24px 28px 64px}.page{max-width:1120px;margin:0 auto}.page h2{font-size:20px;font-weight:700;letter-spacing:-.01em}.toolbar:has(>.grow>h2){background:none;border:0;box-shadow:none;padding:0;margin-bottom:18px}.toolbar:has(>.grow>h2) .grow>.muted{margin-top:2px}.sub-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:22px 0 10px}.sub-head:first-child{margin-top:0}.sub-head h3{font-size:15px;font-weight:650}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.toolbar input[type=search]{max-width:340px;box-shadow:none}.toolbar select{width:auto;box-shadow:none}.toolbar-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;flex-basis:100%;padding-top:10px;border-top:1px solid var(--line)}.toolbar-actions .lbl{margin-right:4px}.side-foot{display:flex;gap:6px;padding:10px 12px;border-top:1px solid var(--side-line)}.side-foot .btn{background:#ffffff0f;border-color:var(--side-line);color:var(--side-fg);box-shadow:none}.side-foot .btn:hover:not(:disabled){background:var(--side-hover);border-color:var(--side-line);color:#fff}.side-foot .btn{flex:1;justify-content:center;padding-inline:6px}.side-foot .theme-btn{flex:none}.side-foot .btn.on{color:#fff;background:var(--accent);border-color:transparent}.bulk{position:sticky;top:-24px;z-index:5;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 14px;margin-bottom:12px;background:color-mix(in srgb,var(--panel) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:var(--radius);box-shadow:var(--shadow-md)}.bulk select{width:auto;padding:5px 10px}.plist{display:flex;flex-direction:column;gap:10px}.pitem{display:grid;grid-template-columns:22px 1fr auto;gap:12px;padding:16px 18px;cursor:pointer;transition:border-color .15s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);border-radius:var(--radius)}.pitem:hover{border-color:color-mix(in srgb,var(--accent-light) 70%,var(--line));box-shadow:var(--shadow-md);transform:translateY(-1px)}.pitem.sel{border-color:var(--accent);box-shadow:var(--ring),var(--shadow-md);background:color-mix(in srgb,var(--accent-soft) 35%,var(--panel))}.pitem .t{font-weight:600;font-size:14.5px;line-height:1.45;letter-spacing:-.01em}.pitem .meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);margin-top:4px}.pitem .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.status{font-size:11px;font-weight:600;padding:1px 9px;border-radius:999px}.status.unread{background:var(--soft);color:var(--muted)}.status.reading{background:var(--warn-soft);color:var(--warn-fg)}.status.read{background:var(--ok-soft);color:var(--ok-fg)}.drawer-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;animation:fade .2s var(--ease)}.drawer{position:fixed;top:10px;right:10px;bottom:10px;width:min(680px,calc(100vw - 20px));background:var(--panel);z-index:51;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;animation:slide .3s var(--ease)}.drawer-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:flex-start}.drawer-body{padding:18px 20px 40px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.field{display:flex;flex-direction:column;gap:5px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.cite-box{border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;background:var(--soft)}.cite-box p{margin:4px 0 0;font-size:13px;white-space:pre-wrap;word-break:break-word}.summary{display:grid;grid-template-columns:140px 1fr;gap:8px 14px}.summary dt{font-weight:600;color:var(--muted)}.summary dd{margin:0}.qr-overview-card{background:color-mix(in srgb,var(--accent-soft) 55%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line));border-radius:var(--radius-sm);padding:12px 16px;font-size:13px;line-height:1.65}.qr-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm)}.qr-block-title{font-size:13px;font-weight:700;color:var(--fg);display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--line);padding-bottom:8px}.qr-field{display:flex;flex-direction:column;gap:2px}.qr-field-label{font-size:11px;font-weight:600;color:var(--accent-ink);text-transform:uppercase;letter-spacing:.05em}.qr-field-val{margin:0;font-size:13px;line-height:1.6;white-space:pre-wrap;color:var(--fg)}table.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:12.5px;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}table.matrix th,table.matrix td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 10px;vertical-align:top;text-align:left}table.matrix th{background:var(--soft);position:sticky;top:-24px;font-size:11.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}table.matrix td{background:var(--panel);min-width:140px}table.matrix tr:hover td{background:color-mix(in srgb,var(--accent-soft) 30%,var(--panel))}table.matrix td:first-child{min-width:30px}.bib{white-space:pre-wrap;font-size:13.5px;line-height:1.75;padding:20px}.section{padding:18px 20px;display:flex;flex-direction:column;gap:12px;margin-bottom:14px}.section h3{font-size:15px;font-weight:650}.section>ul,.section>ol,.section>p{margin:0}.section>ul,.section>ol{padding-left:20px}.gap-list li{margin-bottom:6px}.gap-list li:last-child{margin-bottom:0}.pj-list{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.pj-card{padding:16px 18px}.pj-head{display:flex;gap:12px;align-items:flex-start}.pj-num{flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);font-weight:700;font-size:13px}.pj-title{font-weight:600;font-size:15px;line-height:1.35;color:inherit}.pj-title:hover{color:var(--accent-ink)}.pj-fokus{margin:10px 0 12px}.pj-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}.pj-grid>div{background:var(--soft);border-radius:var(--radius-sm);padding:10px 12px}.pj-grid .lbl,.pj-gap .lbl{margin-bottom:4px}.pj-gap{margin-top:12px;padding:10px 12px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.pj-gap ul{margin:0;padding-left:18px}.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.kpi .card{padding:14px 16px;position:relative;overflow:hidden}.kpi .card:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--grad);opacity:.8}.kpi b{font-size:24px;font-weight:700;display:block;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.bars{display:flex;align-items:flex-end;gap:4px;height:90px;padding-top:8px}.bars div{flex:1;background:linear-gradient(180deg,var(--accent-2) 0%,var(--accent) 100%);border-radius:4px 4px 1px 1px;min-height:2px;position:relative;opacity:.9;transition:opacity .15s var(--ease)}.bars div:hover{opacity:1}.bars span{position:absolute;bottom:-18px;left:50%;transform:translate(-50%);font-size:10px;color:var(--muted)}.ref-chip{display:inline-flex;align-items:center;border:0;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:700;padding:0 6px;margin:0 2px;border-radius:5px;cursor:pointer;vertical-align:1px;transition:background .15s var(--ease),color .15s var(--ease)}.ref-chip:hover{background:var(--accent);color:var(--accent-fg)}.md p{margin:6px 0}.md ul,.md ol{margin:6px 0;padding-left:22px}.md li{margin:3px 0}.md-h{font-weight:700;margin:14px 0 4px;letter-spacing:-.01em}.md-h1{font-size:17px}.md-h2{font-size:15.5px}.md-h3,.md-h4{font-size:14px}.md code{background:var(--soft);border:1px solid var(--line);padding:0 5px;border-radius:5px;font-size:12.5px}.md-table{margin:8px 0}.queue-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.queue-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--grad)}.queue-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}.queue-title{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px}.queue-bar-wrap{width:100%;height:8px;background:var(--soft);border-radius:999px;overflow:hidden}.queue-bar-fill{height:100%;background:var(--grad);border-radius:999px;transition:width .4s var(--ease)}.queue-stats-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.queue-stat-pill{padding:3px 10px;border-radius:999px;font-weight:600;display:inline-flex;align-items:center;gap:4px;font-size:11.5px}.queue-stat-pill.pending,.job-badge.pending{background:var(--warn-soft);color:var(--warn-fg)}.queue-stat-pill.processing,.job-badge.processing{background:var(--accent-soft);color:var(--accent-ink)}.queue-stat-pill.completed,.job-badge.completed{background:var(--ok-soft);color:var(--ok-fg)}.queue-stat-pill.failed,.job-badge.failed{background:var(--danger-soft);color:var(--danger-fg)}.queue-active-banner{background:var(--soft);border:1px dashed var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-size:12.5px;display:flex;align-items:center;gap:8px}.queue-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.job-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.btn.xs{padding:2px 8px;font-size:11px;border-radius:6px;height:22px}.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--muted);box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--soft);color:var(--fg);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.job-list-drawer{max-height:240px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);margin-top:4px}.job-list-row{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;gap:10px}.job-list-row:last-child{border-bottom:none}.kw{display:flex;flex-direction:column;gap:14px}.kw .section{margin-bottom:0}.kw-story{min-height:180px;line-height:1.65;font-size:14px}.kw-topic{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 70%,var(--panel)) 0%,var(--panel) 100%);border-color:color-mix(in srgb,var(--accent) 25%,var(--line))}.kw-concepts{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.kw-concept{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}.kw-role,.kw-kind{font-size:11px;font-weight:600;padding:1px 9px;border-radius:999px;background:var(--soft);color:var(--muted);white-space:nowrap}.kw-role.objek,.kw-kind.inti{background:var(--accent-soft);color:var(--accent-ink)}.kw-role.metode,.kw-kind.metode{background:var(--tag-bg);color:var(--tag-fg)}.kw-role.variabel,.kw-kind.sempit{background:var(--warn-soft);color:var(--warn-fg)}.kw-role.konteks,.kw-kind.lokal{background:var(--ok-soft);color:var(--ok-fg)}.kw-kind.review{background:var(--danger-soft);color:var(--danger-fg)}.kw-terms{display:flex;flex-wrap:wrap;gap:6px}.kw-term{border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:3px 11px;font-size:12.5px;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}.kw-term:hover{border-color:var(--accent);color:var(--accent-ink)}.kw-term.on{background:var(--accent);border-color:transparent;color:var(--accent-fg)}.kw-term.id:not(.on){background:var(--soft)}.kw-built{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 35%,var(--panel))}.kw-built code,.kw-query code{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:12.5px;word-break:break-word;line-height:1.5}.kw-queries{display:flex;flex-direction:column;gap:8px}.kw-query{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);transition:border-color .15s var(--ease),box-shadow .2s var(--ease)}.kw-query:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow-md)}.kw-query code{display:block;margin-top:4px}.wf{display:flex;flex-direction:column;gap:14px}.wf .section{margin-bottom:0}.wf-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-soft) 70%,var(--panel)) 0%,var(--panel) 70%);border-color:color-mix(in srgb,var(--accent) 22%,var(--line))}.wf-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.wf-project{display:flex;flex-direction:column;gap:8px;padding:14px 16px;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:border-color .15s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease)}.wf-project:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:var(--shadow-md);transform:translateY(-1px)}.wf-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;position:relative}.wf-steps:before{content:"";position:absolute;left:33px;top:24px;bottom:24px;width:2px;background:var(--line)}.wf-step{display:flex;gap:14px;padding:16px 18px;position:relative;transition:border-color .15s var(--ease),box-shadow .2s var(--ease),opacity .2s var(--ease)}.wf-step.todo{opacity:.72}.wf-step.todo:hover{opacity:1}.wf-step.active{border-color:var(--accent);box-shadow:var(--ring),var(--shadow-md)}.wf-num{flex:0 0 32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--soft);color:var(--muted);border:2px solid var(--line);position:relative;z-index:1}.wf-step.active .wf-num{background:var(--accent);color:var(--accent-fg);border-color:transparent;box-shadow:0 4px 12px -2px color-mix(in srgb,var(--accent) 55%,transparent)}.wf-step.done .wf-num{background:var(--ok-soft);color:var(--ok-fg);border-color:transparent}.wf-q{display:flex;gap:10px;align-items:center;padding:6px 6px 6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.wf-q code{font-family:ui-monospace,JetBrains Mono,SF Mono,Menlo,monospace;font-size:12px;word-break:break-word;min-width:0}.ref-list{display:flex;flex-direction:column;gap:10px}.ref-item{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);transition:opacity .2s var(--ease),border-color .2s var(--ease)}.ref-item.found{opacity:.65;border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}.ref-num{flex:0 0 26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;background:var(--accent-soft);color:var(--accent-ink)}.ref-item.found .ref-num{background:var(--ok-soft);color:var(--ok-fg)}.ref-ctx{font-size:12.5px;color:var(--muted);font-style:italic;border-left:3px solid var(--line);padding-left:10px;line-height:1.55}.ref-src{font-size:11px;font-weight:600;padding:1px 9px;border-radius:999px;white-space:nowrap;background:var(--accent-soft);color:var(--accent-ink)}.ref-src.buku{background:var(--tag-bg);color:var(--tag-fg)}.ref-src.data{background:var(--warn-soft);color:var(--warn-fg)}.pdf-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f172a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;animation:fade .2s var(--ease)}.pdf-modal{width:min(1100px,calc(100vw - 32px));height:calc(100vh - 48px);background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.pdf-head{display:flex;align-items:center;gap:8px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--line)}.pdf-head b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-frame{flex:1;width:100%;border:0;background:var(--soft)}.nav{width:100%;border:0;background:none;font:inherit;text-align:left}.nav:focus-visible{box-shadow:0 0 0 2px var(--accent-light)}.side-menu{display:flex;flex-direction:column;gap:2px;padding:4px 0 6px}.nav.menu{padding:9px 10px;font-weight:500;font-size:14px}.nav.menu .ico{color:#a5b4fc}.nav.menu.active .ico,.nav.menu:hover .ico{color:var(--accent-light)}.nav-ico{display:inline-flex;width:16px;justify-content:center;color:#a5b4fc;flex:none}.nav.active .nav-ico{color:var(--accent-light)}.sdot{width:8px;height:8px;border-radius:50%;display:inline-block}.sdot.unread{background:var(--side-muted)}.sdot.reading{background:var(--color-warning)}.sdot.read{background:var(--color-success)}.side-sep{height:1px;background:var(--side-line);margin:8px 10px}.side h4 .btn.ghost{color:var(--side-muted)}.side h4 .btn.ghost:hover:not(:disabled){background:var(--side-hover);color:#fff}.side-close{display:none;margin-left:auto;background:none;border:0;color:var(--side-muted);cursor:pointer;padding:6px;border-radius:8px}.side-close:hover{background:var(--side-hover);color:#fff}.side-scrim{display:none}.brand .grow{min-width:0}.page-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:24px}.page-head h1{font-size:30px;font-weight:700;letter-spacing:-.025em;line-height:1.2}.page-head p{margin:6px 0 0;max-width:680px;font-size:14px}.page-actions{flex-wrap:wrap}.fg{color:var(--fg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.link-btn{background:none;border:0;padding:0;color:var(--link);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.empty.compact{padding:28px 20px;gap:8px}.empty .icon{color:var(--faint)}.empty-inline{padding:4px 0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:18px 20px;text-align:left;font:inherit;color:inherit}button.kpi-card{cursor:pointer;transition:border-color .15s var(--ease),box-shadow .2s var(--ease)}button.kpi-card:hover{border-color:var(--accent-light);box-shadow:var(--shadow-md)}.kpi-card>b{color:var(--fg);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.meter{width:100%;height:6px;border-radius:999px;background:var(--soft);overflow:hidden}.meter>i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .4s var(--ease)}.meter.lg{height:8px;margin:12px 0 8px}.dash-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:20px;align-items:start}.section h3{display:flex;align-items:center;gap:8px}.section h3 .icon{color:var(--accent-ink)}.activity{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.activity li{display:grid;grid-template-columns:30px 1fr;column-gap:10px;padding:10px 0;border-top:1px solid var(--line)}.activity li:first-child{border-top:0;padding-top:2px}.act-ico{grid-row:span 2;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--soft);color:var(--muted)}.act-title{background:none;border:0;padding:0;text-align:left;font:inherit;font-weight:600;color:var(--fg);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.act-title:hover{color:var(--accent-ink)}.act-meta{grid-column:2}.ai-panel{background:var(--color-primary);color:#e2e8f0;border-radius:var(--radius-card);padding:20px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-md);position:sticky;top:0}:root:not([data-theme=light]) .ai-panel{background:#1a2232;border:1px solid var(--line)}.ai-head{display:flex;gap:12px;align-items:flex-start}.ai-head b{color:#fff;font-size:15px}.ai-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--color-accent) 30%,transparent);color:var(--color-accent-light);flex:none}.ai-sub{font-size:12.5px;color:#a3b0c2;margin-top:2px}.ai-quick{display:flex;flex-direction:column;gap:8px}.ai-quick button{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#e2e8f0;text-align:left;cursor:pointer;font:inherit;transition:background .15s var(--ease),border-color .15s var(--ease)}.ai-quick button:hover{background:#ffffff1a;border-color:var(--color-accent)}.ai-quick button:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 55%,transparent)}.ai-quick .qi{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--color-accent) 25%,transparent);color:var(--color-accent-light);flex:none}.ai-quick b{display:block;color:#fff;font-size:13.5px}.ai-quick small{display:block;color:#a3b0c2;font-size:12px}.ai-quick>button>.icon:last-child{color:#a3b0c2}.ai-ask{display:flex;flex-direction:column;gap:8px}.ai-lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#a3b0c2}.ai-panel textarea{background:#0f172a59;border-color:#ffffff24;color:#f1f5f9;min-height:72px}.ai-panel textarea::placeholder{color:#8391a7}.ai-panel textarea:focus{background:#0f172a80;border-color:var(--color-accent-light)}.ai-ask .btn{align-self:flex-end}.ai-note{margin:0;font-size:11.5px;color:#8391a7}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;background:var(--soft);color:var(--muted);white-space:nowrap}.badge.ok{background:var(--ok-soft);color:var(--ok-fg)}.badge.warn{background:var(--warn-soft);color:var(--warn-fg)}.badge.err{background:var(--danger-soft);color:var(--danger-fg)}.badge.info{background:var(--accent-soft);color:var(--accent-ink)}.spinner.sm{width:12px;height:12px;border-width:2px}.lang-badge{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.04em;padding:0 4px;margin-right:4px;border-radius:4px;background:var(--soft);color:var(--muted);border:1px solid var(--line);vertical-align:1px}.an-progress-num{font-size:14px;margin-top:2px}.an-progress-num b{font-size:20px;font-variant-numeric:tabular-nums}.seg{display:inline-flex;gap:2px;padding:3px;border-radius:10px;background:var(--soft);border:1px solid var(--line);margin:4px 0 14px;flex-wrap:wrap}.seg button{border:0;background:none;padding:6px 12px;border-radius:8px;font:inherit;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer}.seg button.on{background:var(--panel);color:var(--fg);box-shadow:var(--shadow-sm);font-weight:600}.seg-n{font-size:11px;color:var(--faint);margin-left:2px;font-variant-numeric:tabular-nums}.an-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.an-card{display:flex;gap:16px;align-items:flex-start;padding:16px 18px}.an-card.failed{border-color:color-mix(in srgb,var(--danger) 35%,var(--line))}.an-card.processing{border-color:color-mix(in srgb,var(--warn) 45%,var(--line))}.an-card-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.an-card-title{background:none;border:0;padding:0;font:inherit;font-weight:600;font-size:14.5px;line-height:1.45;text-align:left;color:var(--fg);cursor:pointer}.an-card-title:hover{color:var(--accent-ink)}.an-card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.an-card-acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.an-error{margin:6px 0 0;font-size:12.5px;color:var(--danger-fg);display:flex;gap:6px;align-items:flex-start}.an-error .icon{margin-top:2px}.an{display:flex;flex-direction:column;gap:10px;margin-top:4px}.an-sec{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.an-sec-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--soft);border-bottom:1px solid var(--line)}.an-sec-head h4{font-size:13.5px;font-weight:650}.an-num{width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:11.5px;font-weight:700;background:var(--accent);color:#fff;flex:none}.an-sec-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.an-item p{margin:0;line-height:1.65;white-space:pre-wrap}.an-item-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:3px}.an-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.an-wait{margin:0;font-style:italic}.an-meta{display:grid;grid-template-columns:130px 1fr;gap:6px 14px;margin:0}.an-meta dt{color:var(--muted);font-size:12.5px}.an-meta dd{margin:0;overflow-wrap:anywhere}.an-kw{display:flex;flex-wrap:wrap;gap:6px}.an-stars{display:inline-flex;color:var(--warn)}.an-foot{padding-top:2px}.origin{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:600;padding:1px 8px;border-radius:999px;white-space:nowrap}.origin.doc{background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--link)}.origin.ai{background:var(--accent-soft);color:var(--accent-ink)}.origin.meta{background:var(--soft);color:var(--muted);border:1px solid var(--line)}.an-steps{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--soft);display:flex;flex-direction:column;gap:10px}.an-steps ol{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}.an-steps li{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--faint);flex:1;min-width:110px}.an-steps li.done{color:var(--ok-fg)}.an-steps li.now{color:var(--fg);font-weight:600}.an-dot{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;border:1.5px solid currentColor;flex:none}.an-steps li.done .an-dot{background:var(--ok);border-color:var(--ok);color:#fff}.an-steps li.now .an-dot{background:var(--accent);border-color:var(--accent);color:#fff}.an-steps-msg{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}.ai-panel{position:static}.content{padding:20px 20px 56px}.topbar{padding:0 20px}}@media(max-width:900px){.app{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:min(290px,86vw);z-index:70;transform:translate(-100%);transition:transform .25s var(--ease);box-shadow:var(--shadow-lg)}.app.side-open .side{transform:none}.app.side-open .side-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:69;background:#1e293b73}.side-close,.menu-btn{display:inline-flex}.topbar{padding:8px 16px 0;gap:8px 10px}.tabs{margin-left:0;width:100%;min-height:40px}.tabs button{padding:0 10px}.content{padding:16px 16px 48px}.page-head h1{font-size:24px}.grid2,.grid3{grid-template-columns:1fr}}@media(max-width:560px){.kpi-grid{grid-template-columns:1fr;gap:10px}.an-card{flex-direction:column;gap:10px}.an-card-acts{justify-content:flex-start}.an-meta{grid-template-columns:1fr;gap:0 0}.an-meta dd{margin-bottom:6px}.page-actions,.page-actions .btn{width:100%}.page-actions .btn{justify-content:center}.drawer{top:0;right:0;bottom:0;width:100vw;border-radius:0}}.kw-term-wrap{display:inline-flex;align-items:center;gap:0;border-radius:999px}.kw-term-wrap .btn.ghost.sm{padding:3px 5px;color:var(--faint);border-radius:6px}.kw-term-wrap .btn.ghost.sm:hover:not(:disabled){color:var(--accent-ink);background:var(--accent-soft)}.kw-role,.kw-kind{display:inline-flex;align-items:center;gap:4px}.tab-spin{margin-left:6px;vertical-align:-1px}.job-pending{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:color-mix(in srgb,var(--accent-soft) 45%,var(--panel));display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ob-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:16px;background:#0f172a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .2s var(--ease)}.ob-modal{position:relative;width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);padding:32px 28px 20px}.ob-skip{position:absolute;top:14px;right:16px;background:none;border:0;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;padding:4px 6px;border-radius:6px}.ob-skip:hover{color:var(--fg);background:var(--soft)}.ob-slide{text-align:center;min-height:270px;animation:obIn .3s var(--ease)}.ob-ico{width:64px;height:64px;margin:4px auto 16px;border-radius:18px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink)}.ob-slide h2{margin:0 0 10px;font-size:21px;letter-spacing:-.02em}.ob-slide p{margin:0 auto;max-width:420px;color:var(--muted);line-height:1.6}.ob-points{list-style:none;margin:18px auto 0;padding:0;max-width:400px;display:grid;gap:8px;text-align:left}.ob-points li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--soft);font-size:13.5px}.ob-points li .icon{color:var(--accent-ink);flex:none}.ob-dots{display:flex;justify-content:center;gap:6px;margin:18px 0 16px}.ob-dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:var(--line);cursor:pointer;transition:width .2s var(--ease),background .2s var(--ease)}.ob-dots button.on{width:22px;background:var(--accent)}.ob-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.ob-foot-r{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@keyframes obIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.tour-dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c}.tour-hole{position:fixed;border-radius:12px;box-shadow:0 0 0 9999px #0f172a8c,0 0 0 2px var(--accent-light);transition:all .25s var(--ease);pointer-events:none}.tour-tip{position:fixed;background:var(--panel);color:var(--fg);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:16px;animation:fade .2s var(--ease)}.tour-count{font-size:11px;font-weight:700;color:var(--accent-ink);text-transform:uppercase;letter-spacing:.06em}.tour-tip h3{margin:4px 0 6px;font-size:16px}.tour-tip p{margin:0 0 14px;color:var(--muted);font-size:13.5px;line-height:1.55}.tour-foot{display:flex;align-items:center;gap:6px}@media(prefers-reduced-motion:reduce){.ob-slide,.tour-hole,.tour-tip{animation:none;transition:none}}@media(max-width:560px){.ob-modal{padding:28px 18px 16px}.ob-slide{min-height:0}.ob-foot-r .btn{flex:1;justify-content:center}}.rfab{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.rfab-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:none;border-radius:999px;background:var(--accent);color:var(--accent-fg);font:inherit;font-weight:600;font-size:13.5px;cursor:pointer;box-shadow:0 8px 22px -6px color-mix(in srgb,var(--accent) 65%,transparent),var(--shadow-md);transition:transform .15s var(--ease),background .15s var(--ease)}.rfab-btn:hover,.rfab-btn.on{background:var(--accent-hover);transform:translateY(-1px)}.rfab-badge{font-size:11.5px;padding:1px 8px;border-radius:999px;background:#ffffff38}.rfab-panel{width:min(360px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 110px));overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--panel);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:rfab-in .2s var(--ease)}@keyframes rfab-in{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.rfab-head{display:flex;gap:8px;align-items:flex-start}.rfab-title{display:flex;align-items:center;gap:6px;max-width:100%;margin-top:4px;padding:0;border:none;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.rfab-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rfab .dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%}.rfab-list{display:flex;flex-direction:column;gap:4px}.rfab-pick{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;font-size:13px;text-align:left;cursor:pointer}.rfab-pick:hover{background:var(--soft)}.rfab-pick.on{border-color:var(--accent);background:var(--accent-soft)}.rfab-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.rfab-step{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease)}.rfab-step:hover{background:var(--soft)}.rfab-step.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}.rfab-step.todo{opacity:.75}.rfab-step-title{font-size:13px;font-weight:600}.rfab-num{flex:0 0 24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;background:var(--soft);color:var(--muted);border:2px solid var(--line)}.rfab-step.active .rfab-num{background:var(--accent);color:var(--accent-fg);border-color:transparent}.rfab-step.done .rfab-num{background:var(--ok-soft);color:var(--ok-fg);border-color:transparent}@media(max-width:600px){.rfab{right:12px;bottom:12px}.rfab-btn span:not(.rfab-badge){display:none}}.kw-alts{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed color-mix(in srgb,var(--accent) 30%,var(--line))}.kw-alt{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel)}.kw-alt .spinner{width:12px;height:12px}.sl .ui-card-body>textarea{min-height:150px}.sl-block{margin-bottom:16px}.sl-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}.sl-label small{font-weight:400;color:var(--muted)}.sl-label input{font-weight:400}.sl-upload-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;padding-top:4px}.sl-privacy{display:inline-flex;gap:6px;align-items:center;font-size:12.5px;color:var(--muted)}.sl-how{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.sl-how-item{display:flex;gap:12px;padding:14px;border-radius:var(--radius);border:1px dashed var(--line);background:var(--panel)}.sl-how-item b{font-size:13.5px}.sl-how-item p{margin:3px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}.sl-how-ico{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:0 0 auto}.sl-doc{display:flex;align-items:center;gap:14px;padding:14px 18px;flex-wrap:wrap}.sl-doc-ico{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-ink);flex:0 0 auto}.sl-doc-main{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:2px}.sl-doc-main b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sl-doc-main span{font-size:12.5px;color:var(--muted);display:inline-flex;align-items:center;gap:6px}.sl-doc-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.sl-history{width:auto;max-width:260px;padding:5px 8px;font-size:12.5px}.sl-sev{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sl-sev-item{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--soft);cursor:pointer;text-align:left;font:inherit;color:inherit}.sl-sev-item:hover{border-color:var(--accent-light)}.sl-sev-item b{font-size:20px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1.2}.sl-sev-item span{font-size:11.5px;color:var(--muted);line-height:1.3}.sl-sev-item.danger b{color:var(--danger-fg)}.sl-sev-item.warn b{color:var(--warn-fg)}.sl-sev-item.info b{color:var(--accent-ink)}.sl-fields{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--line)}.sl-fields .ui-field:first-child{padding-top:10px}.sl-chips{display:flex;flex-wrap:wrap;gap:6px}.sl-notes{margin:2px 0 0;padding-left:18px}.sl-pending{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;padding:6px 0}.sl-foot{font-size:12px;color:var(--faint);margin:4px 0 0}.sl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sl-check{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.sl-quote{margin:0;padding:2px 0 2px 12px;border-left:3px solid var(--line);font-style:italic;color:var(--muted)}.sl-quote cite{display:block;font-style:normal;font-size:12px;color:var(--faint);margin-top:2px}.sl-example{background:var(--soft);border-radius:8px;padding:8px 12px}.sl-example p{margin:0}.sl-row-actions{display:flex;justify-content:flex-end}.sl-ref-extra{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted)}.sl-libmatch{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--ok-soft);color:var(--ok-fg);border:0;font:inherit;font-size:12.5px;text-align:left;cursor:pointer;align-self:flex-start}.sl-patch-box{margin-top:8px;padding:12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:10px}.sl-patch-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.sl-patch-head b{font-size:13px;color:var(--accent-ink);display:inline-flex;align-items:center;gap:6px}.sl-patch-content{display:flex;flex-direction:column;gap:8px;font-size:13px}.sl-patch-para{background:var(--soft);border-left:3px solid var(--accent);padding:8px 12px;border-radius:4px;line-height:1.6}.sl-patch-ref{background:var(--soft);padding:6px 10px;border-radius:6px;font-size:12px;font-family:monospace;word-break:break-all}.sl-patch-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sl-patch-select{display:flex;align-items:center;gap:8px;font-size:12.5px;flex-wrap:wrap;margin-top:4px}.sl-patch-select select{max-width:250px;padding:4px 8px;font-size:12.5px}.sl-eval-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:12px;font-weight:500}.sl-eval-pill.sangat_relevan{background:var(--ok-soft);color:var(--ok-fg)}.sl-eval-pill.cukup_relevan{background:var(--warn-soft);color:var(--warn-fg)}.sl-eval-pill.kurang_nyambung{background:var(--danger-soft);color:var(--danger-fg)}.sl-auto-list{display:flex;flex-direction:column;gap:8px;margin-top:6px}.sl-auto-card{padding:10px 12px;border-radius:8px;border:1px solid var(--line);background:var(--soft);display:flex;flex-direction:column;gap:4px}.sl-auto-card b{font-size:13px;color:var(--fg)}.sl-auto-card p{margin:0;font-size:12px;color:var(--muted);line-height:1.4}.sl-auto-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:4px}.sl-suggest{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px}.sl-suggest-item{display:flex;gap:8px;align-items:flex-start;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--soft);font:inherit;font-size:13px;color:var(--fg);cursor:pointer;line-height:1.45}.sl-suggest-item:hover{border-color:var(--accent-light);background:var(--accent-soft)}.sl-suggest-item .icon{color:var(--accent-ink);margin-top:2px;flex:0 0 auto}.sl-turn{display:flex;flex-direction:column;gap:8px}.sl-bubble{padding:10px 14px;border-radius:14px;font-size:13.5px;line-height:1.6;max-width:92%}.sl-bubble.q{align-self:flex-end;background:var(--accent);color:var(--accent-fg);border-bottom-right-radius:4px;font-weight:500}.sl-bubble.a{align-self:flex-start;background:var(--soft);border:1px solid var(--line);border-bottom-left-radius:4px}.sl-bubble.a.pending{display:flex;align-items:center;gap:8px;color:var(--muted)}.sl-bubble-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;font-size:11.5px;color:var(--faint)}.sl-composer{display:flex;gap:8px;align-items:flex-end;padding-top:4px}.sl-composer textarea{flex:1;min-height:46px}.sl-composer .btn{height:46px;width:46px;justify-content:center;padding:0}@media(max-width:600px){.sl-sev{grid-template-columns:repeat(2,minmax(0,1fr))}.sl-doc-actions{width:100%}.sl-history{max-width:100%;flex:1}}.sl-preview-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.sl-preview-modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:100%;max-width:840px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden}.sl-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--soft)}.sl-preview-header h3{margin:0;font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}.sl-preview-body{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.sl-preview-paper{background:#fff;color:#1e293b;border:1px solid #cbd5e1;border-radius:8px;padding:32px 36px;box-shadow:0 4px 12px #0000000f;font-family:Times New Roman,Times,serif;font-size:14px;line-height:1.8}[data-theme=dark] .sl-preview-paper{background:#0f172a;color:#e2e8f0;border-color:#334155}.sl-preview-heading{font-size:16px;font-weight:700;margin-bottom:12px;font-family:inherit}.sl-preview-orig{color:var(--muted);margin-bottom:14px}.sl-preview-revised{border-left:4px solid #10b981;background:#10b98114;padding:12px 16px;border-radius:0 6px 6px 0;font-weight:500}.sl-preview-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--line);background:var(--soft)}
