:root{--fg:#1a1a1a;--bg:#f5f6f8;--card:#fff;--accent:#2557d6;--muted:#667085;--bad:#c62828;--line:#d9dce3}@media (prefers-color-scheme:dark){:root{--fg:#e9e9ea;--bg:#14161b;--card:#1d2027;--muted:#9aa1ad;--line:#333845}}*{box-sizing:border-box}body{color:var(--fg);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Noto Sans KR,Malgun Gothic,sans-serif;line-height:1.5}a{color:var(--accent)}.wrap{max-width:1040px;margin:0 auto;padding:16px}header.top{background:var(--card);border-bottom:1px solid var(--line)}header.top .wrap{flex-wrap:wrap;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px;display:flex}header.top nav{flex-wrap:wrap;flex:1;gap:14px;display:flex}header.top .who{color:var(--muted);font-size:.9rem}h1{margin:.2em 0 .6em;font-size:1.35rem}h2{font-size:1.1rem}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:16px}label{color:var(--muted);margin:10px 0 4px;font-size:.85rem;display:block}input,select,textarea{border:1px solid var(--line);width:100%;color:inherit;font:inherit;background:0 0;border-radius:8px;padding:9px 10px}textarea{min-height:110px;font-family:ui-monospace,Consolas,monospace}button,.btn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;padding:9px 14px;text-decoration:none;display:inline-block}button.ghost,.btn.ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}button.danger{background:var(--bad)}button:disabled{opacity:.5;cursor:not-allowed}.row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.filters{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:end;gap:8px;display:grid}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}.clamp{max-height:4.6em;overflow:hidden}.msg{border-radius:8px;margin:10px 0;padding:10px}.err{background:#c6282822}.ok{background:#2e7d3222}.muted{color:var(--muted)}.split{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:800px){.split{grid-template-columns:1fr}}.math img{max-width:100%}.math p{margin:.4em 0}.pager{justify-content:center;align-items:center;gap:10px;margin-top:12px;display:flex}.sheet{color:#000;background:#fff;max-width:210mm;margin:0 auto;padding:12mm}.sheet .math img{max-width:100%}.cols{column-count:2;column-rule:1px solid #000;column-gap:12mm}.qblock{break-inside:avoid;margin-bottom:8mm}@media print{@page{size:A4;margin:12mm}body{background:#fff}header.top,.noprint{display:none!important}.wrap,.sheet{max-width:none;padding:0}}
