body{-webkit-font-smoothing:antialiased}:root{--bg:#f6f3ee;--ink:#1c1915;--muted:#6f675c;--panel:#fffdf9;--line:#ddd4c6;--accent:#9a3412;--hit1:#fef3c7;--hit2:#fed7aa;--hit3:#fdba74;--warn:#7c2d12;--font:"Iowan Old Style", "Palatino Linotype", "Songti SC", "Source Han Serif SC", serif;--sans:"Avenir Next", "PingFang SC", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body,#root{background:radial-gradient(1200px 500px at 10% -10%, #efe6d8 0%, transparent 55%), radial-gradient(900px 400px at 100% 0%, #e7ddd0 0%, transparent 50%), var(--bg);min-height:100%;color:var(--ink);font-family:var(--sans);margin:0}.page{max-width:1440px;margin:0 auto;padding:28px 22px 40px}.top{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.top h1{font-family:var(--font);letter-spacing:.02em;margin:0;font-size:34px;font-weight:600}.sub{color:var(--muted);margin:6px 0 0;font-size:14px}.meta{color:var(--muted);font-size:12px}.top-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.muted.over{color:var(--warn)}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:4px;width:min(420px,100%);padding:28px 24px 24px}.login-card h1{font-family:var(--font);margin:0;font-size:30px;font-weight:600}.login-sub{color:var(--muted);margin:8px 0 18px;font-size:14px}.login-tabs{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;display:grid}.login-tabs button{border:1px solid var(--line);cursor:pointer;color:var(--muted);font:13px/1.2 var(--sans);background:0 0;padding:8px 10px}.login-tabs button.active{color:var(--ink);border-color:var(--ink);background:#f3ece3}.login-form{flex-direction:column;gap:12px;display:flex}.login-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:12px;display:flex}.login-form input{border:1px solid var(--line);font:15px/1.4 var(--sans);color:var(--ink);background:#fff;outline:none;padding:10px 12px}.login-form input:focus{border-color:#b45309}.code-row{grid-template-columns:1fr auto;gap:8px;display:grid}.dev-code{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;margin:0;padding:8px 10px;font-size:13px}.login-card .error{max-width:none;margin-top:12px;position:static;transform:none}.grid{grid-template-columns:1fr 1.15fr 1fr;gap:14px;min-height:calc(100vh - 140px);display:grid}.col{background:var(--panel);border:1px solid var(--line);border-radius:4px;flex-direction:column;min-height:0;display:flex}.col-head,.col-foot{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.col-foot{border-bottom:0;border-top:1px solid var(--line)}.col-head h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px;font-weight:600}.row{gap:8px;display:flex}textarea{resize:none;width:100%;font:15px/1.7 var(--font);color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-height:420px;padding:14px}.panel{flex:1;min-height:420px;padding:14px;overflow:auto}.annotated{font:15px/1.75 var(--font);white-space:pre-wrap;word-break:break-word}.hit{cursor:pointer;border-bottom:2px solid #0000;border-radius:2px;padding:0 1px}.hit.sev-1{background:var(--hit1)}.hit.sev-2{background:var(--hit2)}.hit.sev-3{background:var(--hit3)}.hit.active{border-bottom-color:var(--accent)}.rewrite-view .chg{background:#dcfce7;border-bottom:2px solid #16a34a;border-radius:2px;padding:0 1px}.rewrite-view .chg.active{background:#bbf7d0;border-bottom-color:#15803d}.rewrite-panel{flex-direction:column;gap:12px;display:flex}.change-list{border-top:1px solid var(--line);gap:8px;margin:0;padding:12px 0 0;list-style:none;display:grid}.change-list li{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:3px;padding:10px 12px;font-size:13px;line-height:1.5}.change-list li.active{background:#f0fdf4;border-color:#86efac}.change-label{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.change-before{color:#9a3412;opacity:.85;white-space:pre-wrap;text-decoration:line-through}.change-arrow{color:var(--muted);margin:4px 0}.change-after{color:#166534;white-space:pre-wrap}.foot-note{padding:0 14px 12px}.span-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.span-list li{border:1px solid var(--line);cursor:pointer;background:#fff;border-left-width:3px;padding:10px 12px}.span-list li.sev-1{border-left-color:#d97706}.span-list li.sev-2{border-left-color:#c2410c}.span-list li.sev-3{border-left-color:#9a3412}.span-list li.active{background:#fff7ed}.span-list li.empty{cursor:default;color:var(--muted)}.span-title{margin-bottom:4px;font-size:13px;font-weight:600}.span-reason{color:var(--muted);font-size:13px;line-height:1.5}.active-card{border:1px dashed var(--line);background:#fffaf3;margin-top:14px;padding:12px}.active-card p{color:var(--muted);margin:6px 0 8px;font-size:13px}.active-card code{font-family:var(--font);white-space:pre-wrap;font-size:13px;display:block}.placeholder,.note,.muted{color:var(--muted);font-size:13px}.note{margin:10px 0 0}button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:3px;padding:8px 12px;font-size:13px}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff7ed;font-weight:600}button.ghost{background:0 0}.warn{color:var(--warn);background:#fff1e8;border:1px solid #f3d5c4;margin:0 14px 12px;padding:10px 12px;font-size:12px;line-height:1.5}.error{color:#ffedd5;background:#3f1d12;border-radius:4px;max-width:min(720px,92vw);padding:12px 16px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000002e}@media (width<=1100px){.grid{grid-template-columns:1fr}.top{flex-direction:column;align-items:start}textarea,.panel{min-height:280px}}
