:root{--bg: #f4f5f7;--panel: #ffffff;--line: #dde1e6;--text: #1c2026;--muted: #667085;--accent: #1f6feb;--warn-bg: #fff4e5;--warn: #9a5b00;--ok: #1a7f37;--ink: #111;--paper: #ffffff;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #14171c;--panel: #1c2027;--line: #2d333d;--text: #e6e8eb;--muted: #8b949e;--accent: #4c8dff;--warn-bg: #3a2a10;--warn: #f0b45a;--ok: #4ac26b;--ink: #e8e8e8;--paper: #0f1216;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 Malgun Gothic,Noto Sans KR,system-ui,sans-serif}button,input,select{font:inherit;color:inherit}.app{display:grid;grid-template-columns:320px 1fr;grid-template-rows:auto 1fr;height:100%}.topbar{grid-column:1 / -1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.topbar h1{font-size:16px;margin:0;font-weight:700}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto;align-items:center}.sep{width:1px;height:20px;background:var(--line);margin:0 4px}button{padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel);cursor:pointer}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.side{overflow-y:auto;background:var(--panel);border-right:1px solid var(--line)}.input-form{padding:8px 12px 24px}fieldset{border:none;border-top:1px solid var(--line);margin:0;padding:10px 0 6px}legend{font-weight:700;padding:0 6px 0 0;color:var(--accent)}.field{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:6px;margin:4px 0}.field-label{color:var(--muted)}.field-input{display:flex;align-items:center;gap:4px;min-width:0}.field-input input,.field-input select{width:100%;min-width:0;padding:4px 6px;border:1px solid var(--line);border-radius:5px;background:var(--bg)}.pair{display:flex;gap:4px;width:100%}.unit{color:var(--muted);font-size:12px;min-width:34px}.derived{font-size:12px;color:var(--muted);margin:4px 0 0 118px}.main{display:flex;flex-direction:column;min-width:0;min-height:0;padding:12px 16px;gap:10px}.summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.card-k{color:var(--muted);font-size:12px}.card-v{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.card-s{color:var(--muted);font-size:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:none;padding:6px 12px}.tabs button.on{border-bottom-color:var(--accent);color:var(--accent);font-weight:700}.pane{flex:1;min-height:0;background:var(--panel);border:1px solid var(--line);border-radius:8px}.scroll{overflow:auto;padding:12px 16px}.drawing-pane{display:flex;flex-direction:column;overflow:hidden}.drawing-tools{display:flex;gap:6px;align-items:center;padding:6px 10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.grow{flex:1}.drawing-view{flex:1;min-height:0;background:var(--paper);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drawing-view:active{cursor:grabbing}.drawing-view svg{width:100%;height:100%;display:block}.warnings{margin:0 0 12px;padding:8px 12px;list-style:none;background:var(--warn-bg);color:var(--warn);border-radius:6px}.ok{color:var(--ok);font-weight:700;margin-bottom:12px}.report h3{font-size:14px;margin:16px 0 6px}.report table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.report th,.report td{border-bottom:1px solid var(--line);padding:4px 8px;text-align:left;vertical-align:top}.report th{color:var(--muted);font-weight:600;font-size:12px}.report .num{text-align:right;white-space:nowrap}.report .sym{font-style:italic;white-space:nowrap}.report .formula{color:var(--muted);font-family:Consolas,monospace;font-size:12px}.print-drawings,.print-report{display:none}@media (max-width: 900px){.app{grid-template-columns:1fr;grid-template-rows:auto auto 1fr;height:auto}.side{border-right:none;border-bottom:1px solid var(--line);max-height:none}.summary{grid-template-columns:repeat(2,minmax(0,1fr))}.drawing-pane{min-height:70vh}}@page a3{size:A3 landscape;margin:0}@page a4{size:A4 portrait;margin:12mm}@media print{:root{--ink: #111;--text: #111;--muted: #444;--line: #bbb;--panel: #fff;--bg: #fff;--warn-bg: #fff;color-scheme:light}body{background:#fff}.app>:not(.print-drawings):not(.print-report){display:none!important}.app{display:block;height:auto}body[data-print=drawings] .print-drawings{display:block}body[data-print=report] .print-report{display:block;page:a4}.sheet-page{page:a3;width:420mm;height:297mm;break-after:page;overflow:hidden}.sheet-page svg{width:420mm;height:297mm;display:block}.print-report h1{font-size:18px;margin:0 0 4px}.print-report .summary{grid-template-columns:repeat(4,1fr);margin:10px 0}.print-report section{break-inside:avoid}}
