:root{--bg: #0c1210;--bg-elevated: #141f1a;--bg-panel: #1a2822;--border: #2a3d34;--text: #e8f0ec;--text-muted: #8fa89a;--accent: #3ecf8e;--accent-dim: #2a9d68;--pull: #5eb3ff;--key: #ffb347;--radius: 12px;--font: "Noto Sans KR", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none}.app{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--bg-elevated);border-right:1px solid var(--border);padding:1.5rem 1rem;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;gap:.75rem;align-items:center;padding:.5rem;margin-bottom:2rem}.brand-icon{font-size:1.75rem}.brand strong{display:block;font-size:1rem}.brand small{color:var(--text-muted);font-size:.75rem}.nav{display:flex;flex-direction:column;gap:.25rem}.nav-link{padding:.65rem .85rem;border-radius:8px;color:var(--text-muted);font-weight:500;transition:background .15s,color .15s}.nav-link:hover{background:var(--bg-panel);color:var(--text)}.nav-link.active{background:var(--bg-panel);color:var(--accent)}.sidebar-foot{margin-top:auto;padding-top:1.5rem}.sidebar-foot p{font-size:.7rem;color:var(--text-muted);line-height:1.5}.main{flex:1;overflow:auto;padding:2rem;max-width:960px}.page-header h1{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.subtitle{color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.stat-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;flex-direction:column;gap:.25rem}.stat-num{font-size:2rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.85rem;color:var(--text-muted)}.section{margin-bottom:2rem}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-head h2{font-size:1.1rem}.link-sm{font-size:.85rem}.card-list{display:flex;flex-direction:column;gap:.75rem}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.card-click{color:inherit;transition:border-color .15s,transform .15s}.card-click:hover{border-color:var(--accent-dim);transform:translateY(-1px)}.card-top{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.ep-num{font-size:.75rem;font-weight:600;color:var(--accent);background:#3ecf8e1f;padding:.15rem .5rem;border-radius:4px}.card h3{font-size:1.05rem;margin-bottom:.75rem}.card-meta{font-size:.8rem;color:var(--text-muted);margin-top:.5rem}.badge{display:inline-block;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:4px}.badge-pull{background:#5eb3ff26;color:var(--pull)}.badge-key{background:#ffb34726;color:var(--key)}.badge-muted{background:#8fa89a26;color:var(--text-muted)}.badge-progress{background:#3ecf8e26;color:var(--accent)}.badge-done{background:#3ecf8e40;color:var(--accent)}.progress-track{height:4px;background:var(--bg-panel);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s}.step-dots{display:flex;gap:6px;margin-bottom:.75rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.dot.filled{background:var(--accent)}.tabs{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.tab{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.9rem;display:flex;align-items:center;gap:.35rem}.tab:hover{border-color:var(--accent-dim)}.tab.active{background:var(--bg-panel);border-color:var(--accent);color:var(--accent)}.tab.done .tab-check{color:var(--accent);font-size:.75rem}.content-panel{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.markdown h1{font-size:1.4rem;margin-bottom:1rem}.markdown h2{font-size:1.15rem;margin:1.25rem 0 .75rem;color:var(--accent)}.markdown h3{font-size:1rem;margin:1rem 0 .5rem}.markdown p,.markdown li{color:var(--text);margin-bottom:.5rem}.markdown ul,.markdown ol{padding-left:1.25rem;margin-bottom:1rem}.markdown table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.markdown th,.markdown td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.markdown th{background:var(--bg-panel)}.markdown blockquote{border-left:3px solid var(--accent-dim);padding-left:1rem;color:var(--text-muted);margin:1rem 0}.markdown code{background:var(--bg-panel);padding:.15rem .35rem;border-radius:4px;font-size:.85em}.markdown hr{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.back-link{display:inline-block;margin-bottom:1rem;font-size:.9rem}.table-wrap{overflow-x:auto;margin-bottom:1.5rem}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{border:1px solid var(--border);padding:.65rem .85rem;text-align:left}.data-table th{background:var(--bg-panel);font-weight:600}.data-table tbody tr:hover{background:var(--bg-elevated)}.topic-cell{font-weight:500}.hook-cell{color:var(--text-muted);font-size:.85rem}.raw-details{margin-top:1rem}.raw-details summary{cursor:pointer;color:var(--text-muted);font-size:.85rem;margin-bottom:.75rem}.strategy-layout{display:grid;grid-template-columns:180px 1fr;gap:1rem}.strategy-nav{display:flex;flex-direction:column;gap:.35rem}.strategy-btn{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-muted);padding:.65rem .85rem;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.85rem;text-align:left}.strategy-btn.active{border-color:var(--accent);color:var(--accent);background:var(--bg-panel)}.tip-box{background:var(--bg-elevated);border:1px dashed var(--border);border-radius:var(--radius);padding:1.25rem}.tip-box h2{font-size:1rem;margin-bottom:.75rem}.tip-list{padding-left:1.25rem;color:var(--text-muted);font-size:.9rem}.tip-list li.current{color:var(--accent);font-weight:600}.workflow-steps{margin-bottom:.75rem}.empty{color:var(--text-muted);padding:2rem;text-align:center}@media(max-width:768px){.app{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:1rem}.nav{flex-direction:row;flex-wrap:wrap}.sidebar-foot{display:none}.main{padding:1.25rem}.stat-grid{grid-template-columns:repeat(2,1fr)}.strategy-layout{grid-template-columns:1fr}.strategy-nav{flex-direction:row;flex-wrap:wrap}}
