@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");:root{--neutral-900:#0F1014;--neutral-800:#20222A;--neutral-700:#2D313D;--neutral-600:#383D4C;--neutral-500:#454C5E;--neutral-400:#656B7C;--neutral-300:#9EA4B3;--neutral-200:#BFC2CC;--neutral-100:#DFE1E6;--neutral-50:#EFF0F2;--neutral-25:#F9F9FA;--neutral-0:#FFFFFF;--primary-100:#CCF8FD;--primary-500:#00CEE6;--primary-600:#00AFC4;--primary-700:#008393;--primary-800:#005862;--success-500:#18A957;--success-600:#11763D;--success-100:#E8F6EE;--warning-500:#FFA538;--warning-600:#E88206;--warning-100:#FFEDD7;--text-warning:#E2A610;--danger-500:#DF1642;--danger-600:#9C0F2E;--danger-100:#FCE8EC;--secondary-500:#FFBB38;--bg:var(--neutral-25);--surface:var(--neutral-0);--ink:var(--neutral-800);--body:var(--neutral-500);--muted:var(--neutral-400);--line:var(--neutral-100);--accent:var(--primary-500);--accent-strong:var(--primary-600);--accent-ink:var(--primary-700);--accent-soft:var(--primary-100);--good:var(--success-500);--good-soft:var(--success-100);--good-ink:var(--success-600);--bad:var(--danger-500);--bad-soft:var(--danger-100);--bad-ink:var(--danger-600);--warn:var(--warning-500);--warn-soft:var(--warning-100);--warn-ink:var(--warning-600);--radius:14px;--radius-sm:10px;--radius-lg:18px;--shadow-sm:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06);--shadow-md:0 6px 16px rgba(16,24,40,.07),0 2px 6px rgba(16,24,40,.04);--font:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--body);font-family:var(--font);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{max-width:1040px;margin:0 auto;padding:0 24px 96px}.topbar{display:flex;align-items:center;gap:14px;padding:30px 0 18px}.brand-mark{width:44px;height:44px;flex:none;border-radius:12px;background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#04343b;font-size:22px;display:grid;place-items:center;box-shadow:var(--shadow-sm)}.brand-mark,h1{font-weight:700}h1{font-size:25px;color:var(--ink);margin:0;letter-spacing:-.01em}.sub{color:var(--muted);font-size:13.5px;margin:3px 0 0;max-width:680px}h2{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--neutral-400);margin:32px 0 12px}.tabs{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;gap:2px;flex-wrap:wrap;margin:0 0 26px;padding:6px 0;background:rgba(249,249,250,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.tabs button{font:inherit;font-size:14px;font-weight:600;color:var(--neutral-400);background:none;border:none;cursor:pointer;padding:9px 14px;border-radius:9px;position:relative;transition:color .15s,background .15s}.tabs button:hover{color:var(--neutral-700);background:var(--neutral-50)}.tabs button[aria-selected=true]{color:var(--primary-700)}.tabs button[aria-selected=true]:after{content:"";position:absolute;left:14px;right:14px;bottom:-7px;height:2.5px;border-radius:2px;background:var(--primary-600)}.tabs button:focus-visible{outline:3px solid var(--primary-100);outline-offset:0}.triggers{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn{font:inherit;font-size:14px;font-weight:600;cursor:pointer;background:var(--primary-500);color:#04343b;border:none;border-radius:var(--radius-sm);padding:11px 22px;box-shadow:var(--shadow-sm);transition:background .15s,transform .05s,box-shadow .15s}.btn:hover{background:var(--primary-600);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(1px)}.btn.secondary{background:var(--surface);color:var(--neutral-700);border:1.5px solid var(--line);box-shadow:none}.btn.secondary:hover{background:var(--neutral-50);border-color:var(--neutral-300)}.btn:disabled{background:var(--neutral-100);color:var(--neutral-300);cursor:not-allowed;box-shadow:none}.btn:focus-visible{outline:3px solid var(--primary-100);outline-offset:2px}.hint{font-size:12.5px;color:var(--muted);line-height:1.55}.token{display:flex;gap:8px;margin-top:10px}.token input{font:inherit;font-size:13px;padding:9px 13px;border:1.5px solid var(--line);border-radius:9px;width:280px;background:var(--surface);color:var(--ink)}.token input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.job{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:15px 18px;margin-bottom:12px;box-shadow:var(--shadow-sm)}.job-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.job-head b{font-size:14.5px;color:var(--ink)}.status{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.status.queued{background:var(--warning-100);color:var(--warning-600)}.status.running{background:var(--primary-100);color:var(--primary-700)}.status.completed{background:var(--success-100);color:var(--success-600)}.status.failed{background:var(--danger-100);color:var(--danger-600)}.job time{font-size:12px;color:var(--muted)}.joblog{margin:12px 0 0;padding:12px 15px;background:var(--neutral-900);color:#cdd8ec;border-radius:var(--radius-sm);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.7;max-height:220px;overflow-y:auto;white-space:pre-wrap}.row{display:flex;gap:12px;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 16px;margin-bottom:8px;font-size:14px;box-shadow:var(--shadow-sm);transition:border-color .15s,background .15s}.row:hover{background:var(--neutral-50);border-color:var(--neutral-200)}.time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--muted);font-size:12.5px;flex:none;min-width:118px}.badge{flex:none;font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.badge.record{background:var(--primary-100);color:var(--primary-700)}.badge.upload{background:var(--success-100);color:var(--success-600)}.badge.system{background:var(--neutral-50);color:var(--neutral-500)}.what{min-width:0;color:var(--body)}.what a{color:var(--primary-700);font-weight:600;text-decoration:none}.what a:hover{text-decoration:underline}.empty{color:var(--muted);font-size:14px;border:1px dashed var(--neutral-200);border-radius:var(--radius);padding:18px}.articles,.empty{background:var(--surface)}.articles{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;box-shadow:var(--shadow-sm)}.articles table{width:100%;border-collapse:collapse;font-size:13.5px}.articles th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--neutral-400);background:var(--neutral-25);padding:12px 16px}.articles td,.articles th{border-bottom:1px solid var(--line)}.articles td{padding:11px 16px;color:var(--body)}.articles tr:last-child td{border-bottom:none}.articles tbody tr:hover{background:var(--neutral-25)}.articles td a{color:var(--ink);font-weight:500;text-decoration:none}.articles td a:hover{color:var(--primary-700)}.articles td.old{color:var(--warning-600);font-weight:600}.review{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.review-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.review-head b{font-size:15.5px;color:var(--ink)}.review-head a{color:var(--primary-700)}.review img{max-width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);display:block}.review-actions{display:flex;gap:10px;margin-top:14px}.review .rationale{margin:0;font-size:14px;color:var(--body)}.chart{display:flex;gap:10px;align-items:flex-end;height:128px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 10px;box-shadow:var(--shadow-sm)}.bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:5px}.bar-col .bar{width:100%;max-width:46px;background:var(--primary-500);border-radius:6px 6px 0 0;transition:height .3s ease}.bar-col .bar.good{background:var(--success-500)}.bar-col span{font-size:11px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal{background:linear-gradient(135deg,#ECFCFF,#FFFFFF 58%);border:1px solid #bceef4;border-radius:var(--radius-lg);padding:22px 24px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.goal-head{display:flex;align-items:baseline;gap:16px;margin-bottom:14px}.goal-num{font-size:48px;font-weight:700;color:var(--neutral-800);line-height:1;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.goal-label{font-size:13px;font-weight:600;color:var(--neutral-500)}.goal-track{position:relative;height:16px;background:var(--neutral-100);border-radius:999px;overflow:hidden}.goal-zone{background:var(--success-100);border-left:1.5px solid var(--success-500);border-right:1.5px solid var(--success-500)}.goal-fill,.goal-zone{position:absolute;top:0;bottom:0}.goal-fill{left:0;background:var(--primary-500);border-radius:999px 0 0 999px;transition:width .4s ease}.goal-fill.in{background:var(--success-500)}.gap-split{display:flex;height:24px;border-radius:8px;overflow:hidden;background:var(--neutral-100);box-shadow:var(--shadow-sm)}.gap-seg{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;transition:width .4s ease}.gap-seg.fit{background:var(--warning-600)}.gap-seg.cov{background:var(--primary-700)}.gap-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:10px;font-size:12.5px;color:var(--body)}.gap-legend .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:baseline}.gap-legend .dot.fit{background:var(--warning-600)}.gap-legend .dot.cov{background:var(--primary-700)}.keywords{display:flex;flex-wrap:wrap;gap:8px}.kw{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 13px;font-size:13px;color:var(--body);box-shadow:var(--shadow-sm)}.kw b{color:var(--primary-700);font-weight:700;margin-left:2px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));grid-gap:12px;gap:12px;margin-bottom:8px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;font-size:12.5px;color:var(--muted);box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s}.stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat b{display:block;font-size:26px;color:var(--ink);font-weight:700;letter-spacing:-.01em;margin-bottom:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.btn.undo{padding:4px 12px;font-size:12px;margin-left:auto;flex-shrink:0;box-shadow:none}.steps-preview{margin:8px 0;font-size:13px}.steps-preview summary{cursor:pointer;color:var(--muted)}.steps-preview ol{margin:8px 0 0 18px;color:var(--body)}.steps-preview li{margin:3px 0}.video-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.video-links .btn{text-decoration:none}.acad-form{display:flex;flex-direction:column;gap:10px;max-width:620px}.acad-input{font:inherit;padding:11px 13px;border:1.5px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);resize:vertical}.acad-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px var(--primary-100)}.acad-form .btn{align-self:flex-start}@media (max-width:640px){.wrap{padding:0 16px 72px}h1{font-size:22px}.goal-num{font-size:38px}.stats{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}}