:root{--bg:#f4f6f9;--card:#fff;--border:#e3e8ef;--text:#1a2233;--muted:#6b7688;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-soft:#eff4ff;--green:#0a9d5a;--green-soft:#e7f7ee;--danger:#dc2626;--radius:12px;--shadow:0 1px 3px #1018280f, 0 1px 2px #1018280a}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5}.nav{background:var(--card);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:4px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.nav .brand{color:var(--primary);margin-right:20px;font-weight:700}.nav a{color:var(--muted);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:500;text-decoration:none}.nav a:hover{background:var(--bg);color:var(--text)}.nav a.active{background:var(--primary-soft);color:var(--primary)}.nav .spacer{flex:1}.container{max-width:900px;margin:24px auto;padding:0 20px}.page-title{margin:0 0 16px;font-size:22px;font-weight:700}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.btn{border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;border-radius:9px;padding:9px 16px;font-size:14px;font-weight:600;transition:background .12s,border-color .12s}.btn:hover{background:var(--bg)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-lg{padding:14px 26px;font-size:17px}.btn-sm{padding:5px 10px;font-size:13px}.btn-ghost{color:var(--primary);background:0 0;border-color:#0000}.btn-danger{color:var(--danger);background:0 0;border-color:#0000}.input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:9px;padding:10px 12px;font-size:14px}.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.row{align-items:center;gap:8px;display:flex}.tag{background:var(--primary-soft);color:var(--primary);border-radius:999px;margin:2px 3px 2px 0;padding:2px 9px;font-size:12px;font-weight:600;display:inline-block}.chip{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600}.chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.table{border-collapse:collapse;width:100%}.table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--border);padding:10px 12px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#fafbfc}.mono{font-variant-numeric:tabular-nums;letter-spacing:.01em}.code-badge{color:var(--green);background:var(--green-soft);font-variant-numeric:tabular-nums;border-radius:8px;padding:3px 10px;font-size:15px;font-weight:700}.muted{color:var(--muted)}.center{text-align:center}.empty{color:var(--muted);text-align:center;padding:40px 0}a{color:var(--primary)}.work-number{letter-spacing:.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.work-code{color:var(--green);letter-spacing:.06em;font-size:40px;font-weight:800}.stack{gap:14px;display:grid}
