:root,[data-theme=light]{--bg:#f6f7fb;--surface:#ffffff;--surface-2:#eef1f7;--border:#dde2ec;--text:#1b2333;--text-muted:#5b6577;--primary:#2952cc;--primary-contrast:#ffffff;--primary-soft:#e6ecfc;--success:#1c7c4d;--success-soft:#e3f4ea;--warning:#9a5b00;--warning-soft:#fdf1dc;--danger:#b42318;--danger-soft:#fde8e6;--focus:#6b8cff;--shadow:0 1px 2px rgba(16,24,40,0.06),0 1px 3px rgba(16,24,40,0.08);color-scheme:light}[data-theme=dark]{--bg:#0f141c;--surface:#161d28;--surface-2:#1d2633;--border:#2a3545;--text:#dde3ee;--text-muted:#94a0b4;--primary:#7c9bff;--primary-contrast:#0b1020;--primary-soft:#1f2a46;--success:#5fcf96;--success-soft:#15301f;--warning:#f2b45a;--warning-soft:#33270f;--danger:#ff8a80;--danger-soft:#3a1b1b;--focus:#9db4ff;--shadow:0 1px 2px rgba(0,0,0,0.4);color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.25;margin:0 0 .5em}h1{font-size:1.75rem}h2{font-size:1.3rem}h3{font-size:1.05rem}p{margin:0 0 .75em}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.container{max-width:1180px;margin:0 auto;padding:0 16px}.narrow{max-width:460px;margin:40px auto;padding:0 16px}.stack{display:flex;flex-direction:column;gap:12px}.row,.spread{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.muted{color:var(--text-muted)}.small{font-size:.86rem}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border)}.topbar-inner{display:flex;align-items:center;gap:16px;min-height:56px}.brand{font-weight:800;font-size:1.15rem;color:var(--text);letter-spacing:-.01em}.brand span{color:var(--primary)}.nav{display:flex;gap:4px;flex:1 1;flex-wrap:wrap}.nav a{padding:6px 10px;border-radius:8px;color:var(--text-muted)}.nav a.active,.nav a:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.toggle button{border:0;background:transparent;color:var(--text-muted);padding:5px 10px;cursor:pointer;font:inherit;font-size:.85rem}.toggle button[aria-pressed=true]{background:var(--primary);color:var(--primary-contrast)}.toggle .toggle-item{padding:5px 10px;font-size:.85rem;color:var(--text-muted)}.toggle .toggle-item.active{background:var(--primary);color:var(--primary-contrast)}.toggle a.toggle-item:hover{background:var(--surface-2);text-decoration:none}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);padding:8px 14px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.btn-primary:hover{filter:brightness(1.07);background:var(--primary)}.btn-danger{color:var(--danger);border-color:var(--danger)}.btn-small{padding:4px 10px;font-size:.85rem}label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}label.check{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400}input,select,textarea{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;width:100%}input[type=checkbox]{width:auto;margin-top:4px}textarea{min-height:90px;resize:vertical}.alert{padding:10px 14px;border-radius:8px;border:1px solid transparent}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger)}.alert-success{background:var(--success-soft);color:var(--success)}.alert-warning{background:var(--warning-soft);color:var(--warning)}.alert-info{background:var(--primary-soft);color:var(--text)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--surface-2);color:var(--text-muted)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-primary{background:var(--primary-soft);color:var(--primary)}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:.82rem;color:var(--text-muted);font-weight:600}.table-wrap{overflow-x:auto}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;cursor:pointer;color:var(--text-muted);font:inherit;font-weight:600}.tabs button[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.dropzone{border:2px dashed var(--border);border-radius:12px;padding:28px;text-align:center;cursor:pointer;background:var(--surface-2)}.dropzone.dragging{border-color:var(--primary);background:var(--primary-soft)}.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}@media (max-width:900px){.split{grid-template-columns:1fr}}.paper-canvas{position:relative;background:#fff;border-radius:8px;overflow:hidden;border:1px solid var(--border)}.paper-canvas img{display:block;width:100%;height:auto}[data-theme=dark] .paper-canvas img{filter:brightness(.92)}.heat{display:inline-block;min-width:38px;text-align:center;padding:3px 4px;border-radius:6px;font-weight:600}.progress{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.progress>div{height:100%;background:var(--primary);transition:width .4s}.counter{font-size:2rem;font-weight:800;color:var(--primary)}.hero{padding:64px 0 40px}.hero h1{font-size:clamp(1.8rem,4vw,2.8rem);max-width:820px}.hero p{font-size:1.1rem;max-width:760px;color:var(--text-muted)}.section{padding:32px 0}.footer{border-top:1px solid var(--border);padding:24px 0;margin-top:40px;color:var(--text-muted)}.sidebar-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:20px;gap:20px;padding:20px 0}.sidebar a{display:block;padding:8px 10px;border-radius:8px;color:var(--text-muted)}.sidebar a.active,.sidebar a:hover{background:var(--surface);color:var(--text);text-decoration:none}@media (max-width:800px){.sidebar-layout{grid-template-columns:1fr}}main{padding-bottom:40px}