:root{--ground:#f2f3f5;--surface:#fff;--sunken:#eceef1;--ink:#1d1e22;--ink-soft:#6b6d75;--line:#e0e2e7;--accent:#f5c400;--accent-ink:#2c2400;--accent-soft:#fff6d4;--good:#1f7a4d;--good-bg:#e4f3ea;--warn:#b45309;--warn-bg:#fbeedb;--bad:#b3352f;--bad-bg:#f9e7e6;--info:#33608a;--info-bg:#e7eef6;--radius:12px}@media (prefers-color-scheme:dark){:root{--ground:#141519;--surface:#1e2026;--sunken:#181a1f;--ink:#e8e9ec;--ink-soft:#9a9ca6;--line:#33363e;--accent:#f0c530;--accent-ink:#241d00;--accent-soft:#332b0a;--good:#5cc08b;--good-bg:#1a2e23;--warn:#e2a05c;--warn-bg:#332617;--bad:#e07a74;--bad-bg:#33201f;--info:#82aed6;--info-bg:#1b2733}}*{box-sizing:border-box}html{background:var(--ground)}body{color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Pretendard,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:14.5px;line-height:1.55}.app{max-width:1180px;margin:0 auto;padding:20px 16px 80px}.top{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:6px;display:flex}.logo{letter-spacing:-.02em;align-items:center;gap:9px;font-size:20px;font-weight:800;display:flex}.logo .mark{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:9px;place-items:center;font-size:15px;font-weight:900;display:grid}.proto{letter-spacing:.08em;color:var(--ink-soft);border:1px solid var(--line);border-radius:99px;padding:2px 9px;font-size:11px;font-weight:700}.top .spacer{flex:1}.privacy{color:var(--ink-soft);font-size:12px}.tagline{color:var(--ink-soft);margin:0 0 18px;font-size:13.5px}.grid{grid-template-columns:390px 1fr;align-items:start;gap:16px;display:grid}@media (max-width:920px){.grid{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card h2{margin:0 0 4px;font-size:15px;font-weight:800}.card .sub{color:var(--ink-soft);margin:0 0 12px;font-size:12.5px}.stack{flex-direction:column;gap:16px;display:flex}textarea{resize:vertical;background:var(--sunken);width:100%;height:230px;color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.6}textarea:focus,input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:700}.btn:hover{background:var(--sunken)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.05)}.btn.small{border-radius:8px;padding:5px 10px;font-size:12.5px}.btn.ghost{color:var(--ink-soft);border-color:#0000}.tiles{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px;display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:11px 14px}.tile .k{color:var(--ink-soft);letter-spacing:.02em;font-size:11.5px;font-weight:700}.tile .v{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:1px;font-size:22px;font-weight:800}.tile.warn .v{color:var(--warn)}.tile.bad .v{color:var(--bad)}.tile.good .v{color:var(--good)}.tile[data-tab]{cursor:pointer;transition:border-color .12s}.tile[data-tab]:hover{border-color:var(--accent)}.tile[data-tab]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}mark{background:var(--accent-soft);color:inherit;border-radius:3px;padding:0 2px;font-weight:800}.occ-list{flex-direction:column;gap:6px;max-height:240px;margin-top:6px;display:flex;overflow-y:auto}.occ-row{cursor:pointer;align-items:center;gap:8px;display:flex}.occ-row .src-line{flex:1;margin-top:0}.occ-row input{flex:none}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin-bottom:0;display:flex}.tab{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 13px;font-size:13.5px;font-weight:700;display:flex}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.badge{background:var(--sunken);color:var(--ink-soft);font-variant-numeric:tabular-nums;border-radius:99px;padding:1px 7px;font-size:11px;font-weight:800}.tab .badge.hot{background:var(--warn-bg);color:var(--warn)}.panel{padding-top:12px}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;letter-spacing:.03em;color:var(--ink-soft);border-bottom:1.5px solid var(--line);white-space:nowrap;padding:7px 10px;font-size:11.5px;font-weight:700}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}tr:last-child td{border-bottom:none}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tbox{overflow-x:auto}.muted{color:var(--ink-soft)}.chip{white-space:nowrap;border-radius:99px;padding:1.5px 8px;font-size:11px;font-weight:800;display:inline-block}.chip.good{background:var(--good-bg);color:var(--good)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.info{background:var(--info-bg);color:var(--info)}.src-line{color:var(--ink-soft);background:var(--sunken);white-space:pre-wrap;border-radius:8px;margin-top:6px;padding:6px 10px;font-size:12px}details summary{cursor:pointer;color:var(--info);font-size:12px;font-weight:700;list-style:none}details summary:before{content:"원문 보기 ▸"}details[open] summary:before{content:"원문 닫기 ▾"}details summary span{display:none}.review{border:1px solid var(--line);border-left:3.5px solid var(--warn);background:var(--surface);border-radius:10px;margin-bottom:10px;padding:11px 13px}.review .head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.review .head b{font-size:14px}.review .fix{flex-wrap:wrap;align-items:center;gap:7px;margin-top:9px;display:flex}select,input[type=number],input[type=text]{font:inherit;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:13px}input[type=number]{text-align:right;font-variant-numeric:tabular-nums;width:60px}input[type=checkbox]{width:16px;height:16px;accent-color:var(--good);cursor:pointer}.plist{flex-direction:column;gap:6px;max-height:340px;display:flex;overflow-y:auto}.prow{border:1px solid var(--line);border-radius:9px;grid-template-columns:1fr 86px 28px;align-items:center;gap:8px;padding:7px 10px;display:grid}.prow .nm{font-size:13px;font-weight:700}.prow .al{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.prow input{width:100%;padding:4px 6px;font-size:12.5px}.prow .del{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px;font-size:15px}.prow .del:hover{color:var(--bad)}.addform{grid-template-columns:1fr 90px auto;gap:7px;margin-top:10px;display:grid}.addform input{width:100%}.empty{border:1.5px dashed var(--line);border-radius:var(--radius);text-align:center;color:var(--ink-soft);padding:44px 20px}.empty b{color:var(--ink)}.check-note{align-items:center;gap:7px;margin-top:12px;font-size:12.5px;display:flex}.check-note.ok{color:var(--good)}.check-note.err{color:var(--bad)}.toast{background:var(--ink);color:var(--ground);opacity:0;pointer-events:none;z-index:50;border-radius:99px;padding:10px 18px;font-size:13.5px;font-weight:700;transition:opacity .18s,transform .18s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(8px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){.toast{transition:none}}.section-label{letter-spacing:.05em;color:var(--ink-soft);margin:16px 0 6px;font-size:12px;font-weight:800}.hidden{display:none!important}.adminbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;font-size:12.5px;display:flex}.adminbar b{font-size:13px}.adminbar .muted{flex-basis:100%}.found{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);margin-bottom:12px;padding:12px 16px;font-size:13.5px}.found .frow{border-top:1px solid var(--line);align-items:center;gap:10px;padding:7px 0;display:flex}.found .frow:first-of-type{border-top:none}.found .fname{flex:1;font-weight:700}.found .fprice{font-variant-numeric:tabular-nums;white-space:nowrap}label.btn{margin:0;display:inline-block}
