@import"https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #fafafa;--bg-card: #ffffff;--bg-sidebar: #f5f5f5;--bg-hover: #f0f0f0;--text: #1a1a1a;--text-secondary: #666666;--text-muted: #999999;--border: #e5e5e5;--accent: #d97706;--accent-light: #fef3c7;--accent-hover: #b45309;--en-color: #1e293b;--ko-color: #92400e;--highlight: rgba(217, 119, 6, .1);--shadow: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px;--max-width: 1200px}body{font-family:Noto Sans KR,Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}code,pre{font-family:JetBrains Mono,Consolas,monospace}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:24px 20px}.header{background:var(--bg-card);border-bottom:1px solid var(--border);box-shadow:var(--shadow);position:sticky;top:0;z-index:100}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 20px;height:56px;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:var(--text);text-decoration:none}.header-logo:hover{text-decoration:none;color:var(--accent)}.header-logo svg{width:24px;height:24px}.header-nav{display:flex;align-items:center;gap:20px}.header-nav a{font-size:14px;font-weight:500;color:var(--text-secondary)}.header-nav a:hover{color:var(--accent);text-decoration:none}.footer{background:var(--bg-card);border-top:1px solid var(--border);padding:20px;text-align:center;font-size:13px;color:var(--text-muted)}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;margin-top:24px}.course-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow)}.course-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.course-card-icon{width:40px;height:40px;border-radius:var(--radius);background:var(--accent-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:20px}.course-card h3{font-size:16px;font-weight:600;margin-bottom:8px;line-height:1.4}.course-card p{font-size:14px;color:var(--text-secondary);margin-bottom:16px;line-height:1.5}.course-card-meta{display:flex;gap:16px;font-size:12px;color:var(--text-muted)}.course-card-meta span{display:flex;align-items:center;gap:4px}.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.badge-beginner{background:#dcfce7;color:#166534}.badge-intermediate{background:#fef3c7;color:#92400e}.badge-advanced{background:#fee2e2;color:#991b1b}.course-layout{display:flex;gap:0;margin:-24px -20px;height:calc(100vh - 117px)}.course-sidebar{width:300px;min-width:300px;background:var(--bg-sidebar);border-right:1px solid var(--border);overflow-y:auto;display:flex;flex-direction:column}.course-sidebar-header{padding:16px;border-bottom:1px solid var(--border)}.course-sidebar-header h2{font-size:14px;font-weight:600;margin-bottom:4px}.course-sidebar-header p{font-size:12px;color:var(--text-muted)}.lesson-list{flex:1;overflow-y:auto;list-style:none}.lesson-item{padding:10px 16px;font-size:13px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;gap:8px;transition:background .15s}.lesson-item:hover{background:var(--bg-hover)}.lesson-item.active{background:var(--accent-light);border-left:3px solid var(--accent);font-weight:500}.lesson-item .lesson-number{color:var(--text-muted);font-size:12px;min-width:24px}.lesson-item .lesson-title{flex:1}.lesson-item .no-subtitle{font-size:11px;color:var(--text-muted)}.subtitle-viewer{flex:1;overflow-y:auto;padding:24px}.subtitle-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:20px;flex-wrap:wrap}.subtitle-toolbar h2{font-size:18px;font-weight:600;flex:1}.toolbar-btn{padding:6px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-card);color:var(--text);font-size:13px;cursor:pointer;transition:all .15s;font-family:inherit}.toolbar-btn:hover{border-color:var(--accent);color:var(--accent)}.toolbar-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.search-input{padding:6px 12px;border:1px solid var(--border);border-radius:6px;font-size:13px;width:200px;font-family:inherit;outline:none}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.subtitle-table{width:100%;border-collapse:collapse}.subtitle-table th{text-align:left;padding:10px 12px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border);position:sticky;top:0;background:var(--bg)}.subtitle-table td{padding:8px 12px;font-size:14px;border-bottom:1px solid var(--border);vertical-align:top;line-height:1.6}.subtitle-table tr:hover{background:var(--highlight)}.time-cell{color:var(--text-muted);font-size:12px;font-family:JetBrains Mono,monospace;white-space:nowrap;width:60px}.en-cell{color:var(--en-color)}.ko-cell{color:var(--ko-color);font-weight:400}.highlight-match{background:#fde68a;padding:1px 2px;border-radius:2px}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text-secondary)}.summary-page{max-width:800px;margin:0 auto}.summary-header{margin-bottom:32px}.summary-header h1{font-size:24px;font-weight:700;margin-bottom:8px}.summary-header p{color:var(--text-secondary);font-size:14px}.summary-content{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow)}.summary-content h1{font-size:24px;margin:24px 0 12px}.summary-content h2{font-size:20px;margin:28px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.summary-content h3{font-size:16px;margin:20px 0 8px}.summary-content p{margin:8px 0;line-height:1.8}.summary-content ul,.summary-content ol{margin:8px 0;padding-left:24px}.summary-content li{margin:4px 0;line-height:1.7}.summary-content blockquote{border-left:3px solid var(--accent);padding:8px 16px;margin:12px 0;background:var(--accent-light);border-radius:0 var(--radius) var(--radius) 0}.summary-content code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:13px}.summary-content pre{background:#1e293b;color:#e2e8f0;padding:16px;border-radius:var(--radius);overflow-x:auto;margin:12px 0}.summary-content pre code{background:none;padding:0;color:inherit}.summary-content table{width:100%;border-collapse:collapse;margin:12px 0}.summary-content th,.summary-content td{padding:8px 12px;border:1px solid var(--border);text-align:left;font-size:14px}.summary-content th{background:var(--bg-sidebar);font-weight:600}.home-hero{text-align:center;padding:40px 0 32px}.home-hero h1{font-size:28px;font-weight:700;margin-bottom:12px}.home-hero p{font-size:16px;color:var(--text-secondary);max-width:600px;margin:0 auto}.category-filter{display:flex;justify-content:center;gap:8px;margin-top:24px}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);margin-bottom:16px}.back-link:hover{color:var(--accent);text-decoration:none}.course-actions{display:flex;gap:8px;margin-bottom:16px}.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text-muted)}@media (max-width: 768px){.course-layout{flex-direction:column;height:auto}.course-sidebar{width:100%;min-width:100%;max-height:40vh;border-right:none;border-bottom:1px solid var(--border)}.subtitle-viewer{padding:16px}.home-hero h1{font-size:22px}.course-grid{grid-template-columns:1fr}.subtitle-toolbar{flex-direction:column;align-items:stretch}.search-input{width:100%}.subtitle-table td{font-size:13px;padding:6px 8px}.category-filter{flex-wrap:wrap}.header-inner{padding:0 12px}.main-content{padding:16px 12px}}
