:root{--font:"Paperlogy", "Malgun Gothic", "맑은 고딕", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bg:#f2f4f8;--card:#fff;--text:#111827;--sub:#64748b;--muted:#94a3b8;--line:#e9ecf2;--line-soft:#f1f5f9;--border:#e5e7eb;--primary:#0d1f3c;--primary-light:#1a3a6b;--accent:#1d4ed8;--ok:#16a34a;--ok-bg:#f0fdf4;--ok-text:#15803d;--ok-line:#bbf7d0;--bad:#dc2626;--bad-bg:#fef2f2;--bad-text:#b91c1c;--bad-line:#fecaca;--warn:#d97706;--warn-bg:#fffbeb;--warn-text:#92400e;--warn-line:#fcd34d;--radius-card:16px;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0f172a0f;--shadow-lg:0 1px 2px #0f172a0f, 0 4px 14px #0f172a0d;--pc:#1d4ed8;--steel:#c2410c;--select:#047857;--mode:var(--pc);--mode-soft:#eff6ff;--mode-ink:#1e3a8a}body[data-discipline=steel]{--mode:var(--steel);--mode-soft:#fff7ed;--mode-ink:#7c2d12}#appbar{background:var(--card);box-shadow:0 1px 0 var(--line);z-index:5;font-family:var(--font);letter-spacing:-.02em;color:var(--text);flex-wrap:wrap;flex:none;align-items:center;gap:6px 14px;padding:8px 18px;display:flex}#appbar .logolink{line-height:0;display:block}#appbar .logo{aspect-ratio:5/2;object-fit:cover;object-position:center;width:120px;display:block}#appbar .divider{background:var(--line);width:1px;height:28px}#appbar h1{color:var(--primary);margin:0;font-size:18px;font-weight:700}#appbar .spacer{flex:1}#appbar .back{color:var(--sub);white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none}#appbar .back:hover{color:var(--text)}#saveStatus{color:var(--sub);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:280px;font-size:12px;overflow:hidden}#appbar :is(.btn,button,select){border-radius:var(--radius-sm);border:1px solid var(--border);background-color:var(--card);min-height:32px;color:var(--text);letter-spacing:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;margin:0;padding:0 10px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}#appbar :is(.btn,button):hover{background-color:#f8fafc;border-color:#cbd5e1}#appbar .soft{color:var(--accent);background-color:#eff6ff;border-color:#bfdbfe}#appbar .soft:hover{background-color:#dbeafe}#appbar select{appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;outline:none;padding-right:28px}#appbar .btn input[type=file]{display:none}#appbar #openExample{max-width:220px}#appbar .discsel{margin:0;display:inline-flex}#appbar .discsel>select{width:auto;font-size:13px}body[data-discipline] #appbar{box-shadow:inset 0 -3px 0 var(--mode)}body[data-discipline] #appbar h1{color:var(--mode);white-space:nowrap}@media (width<=760px){#appbar{gap:6px 8px;padding:8px 12px}#appbar .logo{width:84px}#appbar .divider{display:none}#appbar h1{font-size:16px}#appbar .spacer{display:none}#appbar #openExample{width:auto;max-width:150px}#saveStatus{flex-basis:100%;order:10;font-size:11px}}.stepnav{font-family:var(--font);letter-spacing:-.02em}.stepnav button{width:100%;min-height:56px;color:var(--sub);font:600 11px/1.25 var(--font);letter-spacing:inherit;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;margin:0;padding:6px 2px;display:flex;position:relative}.stepnav button:hover{background:var(--line-soft);color:var(--text)}.stepnav .ic{display:inline-flex;position:relative}.stepnav svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.stepnav .nm .full,.stepnav small{display:none}.stepnav .dot{color:#fff;width:13px;height:13px;font:700 9px/13px var(--font);text-align:center;border-radius:50%;font-style:normal;display:none;position:absolute;top:-4px;right:-6px}.stepnav .done .dot{background:var(--ok);display:block}.stepnav .done .dot:after{content:"✓"}.stepnav .stale .dot{background:var(--warn);display:block}.stepnav .stale .dot:after{content:"!"}.stepnav .stale small{color:var(--warn-text)}.stepnav .next{border-color:var(--mode);color:var(--mode);background:var(--mode-soft);font-weight:700}.stepnav .active{color:var(--mode);background:var(--mode-soft)}.stepnav .off{opacity:.4}#steps:not(.row){background:var(--card);height:100%;min-height:0;box-shadow:1px 0 0 var(--line);flex-direction:column;gap:2px;padding:10px 6px;display:flex;overflow-y:auto}#steps .sum{border-top:1px solid var(--line);color:var(--sub);word-break:keep-all;overflow-wrap:anywhere;margin-top:auto;padding:8px 2px 2px;font-size:10.5px;line-height:1.35}#steps .sum span{margin-top:3px;display:block}@media (width>=1400px){#steps:not(.row) button{text-align:left;grid-template-columns:24px 1fr;place-items:center start;column-gap:8px;min-height:44px;padding:6px 10px;font-size:13px;display:grid}#steps:not(.row) .ic{grid-row:span 2}#steps:not(.row) .nm .full{display:inline}#steps:not(.row) .nm .short{display:none}#steps:not(.row) small{text-overflow:ellipsis;max-width:100%;color:var(--sub);font-size:11px;font-weight:500;display:block;overflow:hidden}#steps .sum{padding:10px 6px 2px;font-size:12px}}@media (width>=1001px){body:has(#steps:not(.row)) #appbar .back{display:none}}@media (width<=1000px){#steps:not(.row){display:none}}.stepnav.row{justify-content:center;gap:2px;padding:6px;display:flex;overflow-x:auto}.stepnav.row button{flex:1 1 0;min-width:42px;max-width:96px;min-height:52px;padding:6px 0}#stepsToc{border-bottom:1px solid var(--line)}
