:root{--style: #A50034;--style-active: #FD312E;--style-hover: #8A002B;--style-light: #FFF0F3;--style-gray: #6B6B6B;--style-silver: #8A8D8F;--style-gold: #85714D;--bg-warm: #F0ECE4;--bg-offwhite: #F6F3EB;--bg-white: #FFFFFF;--bg-dark: #1B1A1E;--text-heading: #262626;--text-body: #333333;--text-secondary: #646464;--text-muted: #7E7C77;--border: #CBC8C2;--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 14px rgba(0,0,0,.07), 0 2px 6px rgba(0,0,0,.04);--shadow-lg: 0 10px 30px rgba(0,0,0,.1), 0 4px 10px rgba(0,0,0,.04);--transition: .25s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 280px;--font-size-base: 16px;--level-A: #8B5CF6;--level-A-bg: #F5F3FF;--level-B: #3B82F6;--level-B-bg: #EFF6FF;--level-C: #059669;--level-C-bg: #ECFDF5;--level-D: #D97706;--level-D-bg: #FFFBEB;--level-E: #DC2626;--level-E-bg: #FEF2F2;--level-F: #F59E0B;--level-F-bg: #FFFBEB;--panel-width: 380px;--z-panel-overlay: 105;--z-panel: 110;--z-lms-toolbar: 70;--ta-bg: #0F172A;--ta-card-bg: #1E293B;--ta-alert: #EF4444;--ta-acknowledged: #22C55E}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-size-base);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-body);background:var(--bg-warm);line-height:1.6;word-break:keep-all;overflow-wrap:break-word}html[lang=en] body{font-family:Inter,-apple-system,BlinkMacSystemFont,Noto Sans KR,sans-serif;word-break:normal}a{color:var(--style);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--style-hover)}.scroll-progress{position:fixed;top:0;left:0;height:3px;z-index:1000;background:var(--style);width:0%;transition:width .1s linear}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-dark);color:#fff;display:flex;flex-direction:column;z-index:100;transition:transform var(--transition)}.sidebar-header{padding:24px 20px 16px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-logo{display:flex;align-items:center;gap:12px;cursor:pointer}.sidebar-logo svg{width:36px;height:36px;flex-shrink:0}.sidebar-logo-text{display:flex;flex-direction:column}.sidebar-logo-title{font-size:.9rem;font-weight:700;letter-spacing:-.02em;color:#fff;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.sidebar-chapter{margin-bottom:2px}.sidebar-chapter-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;cursor:pointer;font-size:.82rem;font-weight:500;color:#ffffffd9;transition:background var(--transition),color var(--transition);user-select:none}.sidebar-chapter-header:hover{background:#ffffff0f;color:#fff}.sidebar-chapter-header .ch-label{display:flex;align-items:center;gap:8px}.sidebar-chapter-header .ch-num{font-size:.65rem;font-weight:700;color:var(--style-active);background:#fd312e1f;padding:2px 6px;border-radius:4px;letter-spacing:.05em;white-space:nowrap}.sidebar-chapter-header .ch-time{font-size:.6rem;color:#ffffff59;margin-left:auto;margin-right:8px}.sidebar-chapter-header .chevron{width:16px;height:16px;transition:transform var(--transition);opacity:.4;flex-shrink:0}.sidebar-chapter.open .chevron{transform:rotate(90deg)}.sidebar-clips{max-height:0;overflow:hidden;transition:max-height .35s ease}.sidebar-chapter.open .sidebar-clips{max-height:500px}.sidebar-clip-link{display:flex;align-items:center;gap:8px;padding:8px 20px 8px 44px;font-size:.78rem;color:#ffffff8c;cursor:pointer;border-left:3px solid transparent;transition:all var(--transition);text-decoration:none}.sidebar-clip-link:hover{color:#ffffffe6;background:#ffffff0a}.sidebar-clip-link.active{color:#fff;background:#a5003426;border-left-color:var(--style)}.sidebar-clip-link .clip-dot{width:6px;height:6px;border-radius:50%;background:#fff3;flex-shrink:0;transition:background var(--transition)}.sidebar-clip-link.visited .clip-dot{background:var(--style-active)}.sidebar-clip-link.active .clip-dot{background:var(--style)}.sidebar-clip-link{flex-wrap:nowrap}.sidebar-clip-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-type-tag{font-size:.55rem;font-weight:600;padding:1px 5px;border-radius:3px;flex-shrink:0;letter-spacing:.02em;line-height:1.4}.sidebar-type-tag.st-concept{background:#3b82f62e;color:#93c5fd}.sidebar-type-tag.st-platform{background:#10b9812e;color:#6ee7b7}.sidebar-type-tag.st-practice{background:#f59e0b2e;color:#fcd34d}.sidebar-type-tag.st-reference{background:#ffffff14;color:#ffffff73}.sidebar-type-tag.st-overview{background:#8b5cf62e;color:#c4b5fd}.sidebar-collapse-btn{position:absolute;top:28px;right:12px;width:24px;height:24px;background:#ffffff14;border:none;border-radius:6px;color:#fff6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition);z-index:10}.sidebar-collapse-btn:hover{background:#ffffff26;color:#fff}.sidebar-expand-btn{position:fixed;top:16px;left:16px;width:36px;height:36px;background:var(--bg-dark);color:#ffffffb3;border:none;border-radius:8px;cursor:pointer;display:none;align-items:center;justify-content:center;z-index:101;transition:all var(--transition);box-shadow:0 2px 8px #00000026}.sidebar-expand-btn:hover{background:var(--style);color:#fff}@media(min-width:769px){body.sidebar-collapsed .sidebar{transform:translate(-100%)}body.sidebar-collapsed .main{margin-left:0}body.sidebar-collapsed .main-topbar{padding-left:64px}body.sidebar-collapsed .sidebar-expand-btn{display:flex}body.sidebar-collapsed .scroll-progress{left:0}}@media(max-width:768px){.sidebar-collapse-btn{display:none}.sidebar-expand-btn{display:none!important}}.sidebar-header{position:relative}.sidebar-footer{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.sidebar-resize-handle{position:absolute;top:0;right:0;bottom:0;width:4px;cursor:col-resize;z-index:101;background:transparent;transition:background .15s}.sidebar-resize-handle:hover,.sidebar-resize-handle.active{background:var(--style)}body.sidebar-resizing{cursor:col-resize!important;user-select:none!important}body.sidebar-resizing *{cursor:col-resize!important}.sidebar-progress{display:flex;align-items:center;gap:10px;font-size:.72rem;color:#fff6}.sidebar-progress-bar{flex:1;height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.sidebar-progress-fill{height:100%;background:var(--style);border-radius:2px;transition:width var(--transition);width:0%}.main{margin-left:var(--sidebar-width);min-height:100vh;background:var(--bg-warm)}.main-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:12px 40px;background:#f0ece4eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(203,200,194,.4)}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--text-muted)}.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--style)}.breadcrumb .sep{opacity:.4;font-size:.65rem}.breadcrumb .current{color:var(--text-heading);font-weight:500}.topbar-actions{display:flex;align-items:center;gap:8px}.topbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-white);cursor:pointer;transition:all var(--transition);color:var(--text-secondary);font-size:.8rem}.topbar-btn:hover{border-color:var(--style);color:var(--style)}.topbar-btn.active{background:var(--style);color:#fff;border-color:var(--style)}.font-size-controls{display:flex;align-items:center;gap:2px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-white)}.font-btn{padding:4px 10px;cursor:pointer;border:none;background:none;font-size:.75rem;font-weight:500;color:var(--text-secondary);transition:all var(--transition);font-family:Noto Sans KR,sans-serif}.font-btn:hover{background:var(--bg-offwhite);color:var(--style)}.font-btn-divider{width:1px;height:16px;background:var(--border)}.lang-toggle{display:flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-white);cursor:pointer;transition:all var(--transition);font-size:.7rem;font-weight:600;letter-spacing:.03em;color:var(--text-secondary)}.lang-toggle:hover{border-color:var(--style);color:var(--style)}.lang-toggle-label{pointer-events:none}.main-content{max-width:900px;margin:0 auto;padding:32px 40px 80px}.main-content:has(.admin-wrap){max-width:none;padding:0}.page-enter{animation:pageEnter .35s cubic-bezier(.4,0,.2,1) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.email-prompt-overlay{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center}.email-prompt-card{background:var(--bg-primary, #fff);border-radius:12px;padding:28px 24px;max-width:380px;width:90%;box-shadow:0 8px 32px #00000026}.email-prompt-title{font-size:1rem;font-weight:700;margin:0 0 8px;color:var(--text-primary, #1a1a1a)}.email-prompt-desc{font-size:.82rem;color:var(--text-secondary, #6B6B6B);margin:0 0 16px}.email-prompt-input{width:100%;padding:10px 12px;border:1.5px solid var(--border, #E5E7EB);border-radius:8px;font-size:.9rem;outline:none;box-sizing:border-box}.email-prompt-input:focus{border-color:#a50034}.email-prompt-actions{display:flex;gap:8px;margin-top:16px;justify-content:flex-end}.email-prompt-cancel{padding:8px 16px;border:1.5px solid var(--border, #E5E7EB);border-radius:8px;background:transparent;cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.email-prompt-confirm{padding:8px 20px;border:none;border-radius:8px;background:#a50034;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600}.home-hero{text-align:center;padding:48px 0 40px}.home-logo-wrap{display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px}.home-logo-wrap svg{width:72px;height:72px}.home-title{font-size:2rem;font-weight:700;color:var(--text-heading);letter-spacing:-.03em;margin-bottom:8px}.home-subtitle{font-size:1rem;color:var(--text-secondary);font-weight:300;margin-bottom:6px}.home-meta{display:flex;align-items:center;justify-content:center;gap:16px;font-size:.82rem;color:var(--text-muted);margin-top:12px}.home-meta-item{display:flex;align-items:center;gap:5px}.home-meta-dot{width:4px;height:4px;border-radius:50%;background:var(--border)}.timeline-section{margin:32px 0}.timeline-label{font-size:.72rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.timeline-bar{display:flex;border-radius:var(--radius);overflow-x:auto;background:var(--bg-white);box-shadow:var(--shadow-sm);border:1px solid var(--border)}.timeline-block{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 6px;cursor:pointer;transition:all var(--transition);border-right:1px solid rgba(203,200,194,.3);position:relative;text-decoration:none;min-width:64px}.timeline-block:last-child{border-right:none}.timeline-block:hover{background:var(--style-light)}.timeline-block.now{background:var(--style);color:#fff}.timeline-block.now .tl-time,.timeline-block.now .tl-name{color:#fff}.timeline-block .tl-time{font-size:.6rem;font-weight:500;color:var(--text-muted);margin-bottom:3px}.timeline-block .tl-name{font-size:.68rem;font-weight:500;color:var(--text-heading);text-align:center;line-height:1.3;max-width:100%;word-break:keep-all}.timeline-block .tl-type{font-size:.55rem;color:var(--text-muted);margin-top:2px}.timeline-lunch{background:var(--bg-offwhite);opacity:.7}.chapters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.chapter-card{background:var(--bg-white);border-radius:var(--radius);padding:20px;border:1px solid var(--border);cursor:pointer;transition:all var(--transition);text-decoration:none;color:inherit;display:flex;flex-direction:column;position:relative;overflow:hidden}.chapter-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--style);transform:scaleY(0);transition:transform var(--transition);transform-origin:bottom}.chapter-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#a5003433}.chapter-card:hover:before{transform:scaleY(1)}.chapter-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.chapter-card-num{font-size:.65rem;font-weight:700;color:var(--style);background:var(--style-light);padding:3px 8px;border-radius:4px;letter-spacing:.05em}.chapter-card-time{font-size:.65rem;color:var(--text-muted)}.chapter-card-title{font-size:.95rem;font-weight:600;color:var(--text-heading);margin-bottom:6px;letter-spacing:-.01em}.chapter-card-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.5;flex:1}.chapter-card-clips{display:flex;align-items:center;gap:4px;margin-top:12px;font-size:.68rem;color:var(--text-muted)}.quick-access{display:flex;gap:10px;margin-top:32px;flex-wrap:wrap;justify-content:center}.quick-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:100px;background:var(--bg-white);border:1px solid var(--border);font-size:.78rem;font-weight:500;color:var(--text-body);cursor:pointer;transition:all var(--transition);text-decoration:none;font-family:Noto Sans KR,sans-serif}.quick-btn:hover{border-color:var(--style);color:var(--style);box-shadow:var(--shadow-sm)}.quick-btn .q-icon{font-size:1rem}.clip-header{margin-bottom:32px}.clip-badges{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.clip-badge{font-size:.65rem;font-weight:600;padding:3px 10px;border-radius:100px;letter-spacing:.02em}.clip-badge.time{background:var(--bg-offwhite);color:var(--text-secondary)}.clip-badge.chapter{background:var(--style-light);color:var(--style)}.clip-badge.type-concept{background:#85714d0f;color:var(--style-gold)}.clip-badge.type-platform{background:#85714d0a;color:var(--style-gold)}.clip-badge.type-practice{background:#85714d0f;color:var(--style-gold)}.clip-badge.type-reference{background:var(--bg-offwhite);color:var(--text-secondary)}.clip-title{font-size:1.6rem;font-weight:700;color:var(--text-heading);letter-spacing:-.03em;line-height:1.3}.clip-overview{margin-top:12px;font-size:.92rem;color:var(--text-secondary);line-height:1.7}.clip-nav-footer{display:flex;justify-content:space-between;align-items:center;margin-top:48px;padding-top:24px;border-top:1px solid var(--border)}.clip-nav-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-sm);background:var(--bg-white);border:1px solid var(--border);font-size:.82rem;font-weight:500;color:var(--text-body);cursor:pointer;transition:all var(--transition);text-decoration:none;font-family:Noto Sans KR,sans-serif}.clip-nav-btn:hover{border-color:var(--style);color:var(--style);box-shadow:var(--shadow-sm)}.clip-nav-btn.disabled{opacity:.3;pointer-events:none}.bookmark-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);font-size:1.2rem;color:var(--border)}.bookmark-btn:hover{color:var(--style)}.bookmark-btn.bookmarked{color:var(--style-active)}.clip-badge.type-overview{background:#a500340a;color:var(--style)}.clip-infographic{width:100%;max-width:800px;border-radius:12px;box-shadow:0 2px 12px #00000014}.clip-infographic.square{width:80%}.practice-shortcut-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:24px;background:#85714d0f;border:1px solid rgba(133,113,77,.2);border-radius:var(--radius-sm);font-size:.82rem;color:var(--style-gold)}.practice-shortcut-text{font-weight:500;color:var(--text-secondary)}.practice-shortcut-link{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-weight:600;color:var(--style);text-decoration:none;white-space:nowrap;transition:color var(--transition)}.practice-shortcut-link:hover{color:var(--style-hover);text-decoration:underline}@media(max-width:600px){.practice-shortcut-bar{flex-wrap:wrap;gap:6px}.practice-shortcut-link{margin-left:0;width:100%}}.product-hero{display:flex;align-items:center;gap:16px;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin:20px 0}.product-hero img{width:48px;height:48px;border-radius:10px;object-fit:contain}.product-hero-info{flex:1}.product-hero-name{font-size:1rem;font-weight:600;color:var(--text-heading)}.product-hero-desc{font-size:.8rem;color:var(--text-secondary);margin-top:2px}.product-hero-link{font-size:.75rem;color:var(--style);text-decoration:none;font-weight:500}.product-hero-link:hover{text-decoration:underline}.product-screenshot{width:100%;border-radius:var(--radius);border:1px solid var(--border);margin:16px 0;box-shadow:var(--shadow-sm)}.product-logo-inline{width:22px;height:22px;vertical-align:middle;margin-right:6px;border-radius:4px}.clip-section{margin-top:36px}.clip-section-title{font-size:1.05rem;font-weight:600;color:var(--text-heading);padding-bottom:10px;border-bottom:2px solid var(--style);display:inline-block;margin-bottom:16px}.clip-section-content{font-size:.9rem;line-height:1.8;color:var(--text-body)}.clip-section-content ul{list-style:none;padding:0}.clip-section-content ul li{padding:6px 0 6px 20px;position:relative}.clip-section-content ul li:before{content:"";position:absolute;left:0;top:14px;width:6px;height:6px;border-radius:50%;background:var(--style);opacity:.5}.prompt-block{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:16px 0}.prompt-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-offwhite);border-bottom:1px solid var(--border)}.prompt-label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}.copy-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;border-radius:6px;background:var(--bg-white);border:1px solid var(--border);font-size:.82rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:Noto Sans KR,sans-serif}.copy-btn:hover{border-color:var(--style);color:var(--style)}.copy-btn.copied{background:var(--style);color:#fff;border-color:var(--style)}.prompt-content{padding:16px;font-size:.85rem;line-height:1.7;white-space:pre-wrap;font-family:Noto Sans KR,monospace;color:var(--text-body)}.tip-block{background:#fef0f3;border-radius:var(--radius);padding:16px 20px;margin:16px 0;border-left:3px solid var(--style)}.tip-block-title{font-size:.8rem;font-weight:600;color:var(--style);margin-bottom:6px}.tip-block-content{font-size:.85rem;line-height:1.7;color:var(--text-body)}.tip-block.warning{background:#a500340d;border-left:4px solid var(--style)}.clip-intro{background:#fef0f3;border-radius:var(--radius);padding:16px 20px;margin:16px 0;border-left:3px solid var(--style)}.info-block{background:#85714d0f;border-radius:var(--radius);padding:16px 20px;margin:16px 0;border-left:3px solid var(--style-gold)}.info-block-title{font-size:.8rem;font-weight:600;color:var(--style-gold);margin-bottom:6px}.ref-links{list-style:none;padding:0}.ref-link-item{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid rgba(203,200,194,.4)}.ref-link-item:last-child{border-bottom:none}.ref-link-icon{width:20px;height:20px;flex-shrink:0;color:var(--text-muted);margin-top:2px}.ref-link-text{flex:1}.ref-link-title{font-size:.85rem;font-weight:500;color:var(--style)}.ref-link-desc{font-size:.75rem;color:var(--text-muted);margin-top:2px}.ref-link-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.ref-link-source{font-size:.65rem;font-weight:500;color:var(--text-secondary)}.ref-link-time{font-size:.6rem;color:var(--text-muted);background:var(--bg-offwhite);padding:1px 8px;border-radius:8px}.ref-link-cat{font-size:.6rem;font-weight:500;color:#fff;background:var(--style);padding:1px 8px;border-radius:8px}.comparison-table{width:100%;border-collapse:collapse;border-radius:var(--radius);border:1px solid var(--border);margin:16px 0}.comparison-table th{background:var(--bg-offwhite);padding:12px 16px;text-align:left;font-size:.78rem;font-weight:600;color:var(--text-heading);border-bottom:1px solid var(--border)}.comparison-table td{padding:10px 16px;font-size:.82rem;border-bottom:1px solid rgba(203,200,194,.3);color:var(--text-body)}.comparison-table tr:last-child td{border-bottom:none}[data-lucide]{display:inline-block;vertical-align:middle;width:18px;height:18px}.menu-icon{width:16px;height:16px;margin-right:6px}.nav-icon [data-lucide]{width:20px;height:20px}.has-tooltip{position:relative;cursor:default}.author-tooltip{display:none;position:absolute;left:0;top:calc(100% + 6px);background:var(--bg-dark, #1B1A1E);color:#fff;padding:8px 12px;border-radius:6px;font-size:.78rem;line-height:1.6;white-space:nowrap;z-index:200;box-shadow:0 4px 12px #0003;pointer-events:none}.author-tooltip:before{content:"";position:absolute;bottom:100%;left:12px;border:5px solid transparent;border-bottom-color:var(--bg-dark, #1B1A1E)}.has-tooltip:hover .author-tooltip{display:block}.copy-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:2px solid #A50034;border-radius:16px;padding:28px 48px;box-shadow:0 8px 32px #0000002e;opacity:0;pointer-events:none}.copy-toast.show{animation:copyToastIn .3s ease forwards}.copy-toast.hide{animation:copyToastOut .3s ease forwards}.copy-toast-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#a50034;color:#fff;font-size:1.6rem;font-weight:700;line-height:1}.copy-toast-text{font-size:1.05rem;font-weight:600;color:#a50034;font-family:Noto Sans KR,sans-serif}@keyframes copyToastIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes copyToastOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}@media(max-width:600px){.copy-toast{padding:22px 36px}.copy-toast-icon{width:40px;height:40px;font-size:1.3rem}.copy-toast-text{font-size:.95rem}}.glossary-term{cursor:help;border-bottom:1.5px dashed var(--style);color:inherit;transition:color var(--transition)}.glossary-term:hover{color:var(--style)}.glossary-tooltip-global{display:none;position:fixed;background:var(--bg-dark, #1B1A1E);color:#fff;padding:10px 14px;border-radius:8px;font-size:.78rem;line-height:1.6;min-width:240px;max-width:360px;white-space:normal;z-index:9999;box-shadow:0 4px 16px #00000040;pointer-events:none}.glossary-tooltip-global strong{color:#fcd34d;font-weight:600}.glossary-tooltip-global.arrow-down:after{content:"";position:absolute;top:100%;left:var(--arrow-left, 50%);transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-dark, #1B1A1E)}.glossary-tooltip-global.arrow-up:after{content:"";position:absolute;bottom:100%;left:var(--arrow-left, 50%);transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--bg-dark, #1B1A1E)}@media(max-width:600px){.glossary-tooltip-global{min-width:160px;max-width:min(260px,calc(100vw - 16px));font-size:.75rem}}.prompt-fill{display:inline-block;background:#fff8e1;border:1.5px dashed var(--style);border-radius:4px;padding:1px 8px;font-weight:600;font-size:.88em;color:var(--style);white-space:nowrap;line-height:1.6}.prompt-fill:before{content:"✎ ";font-size:.85em;opacity:.7}.file-ref{display:inline;background:var(--bg-offwhite);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-family:Noto Sans KR,monospace;font-size:.88em;font-weight:500;color:var(--text-heading);white-space:nowrap}.badge-advanced{display:inline-block;background:#f3e8ff;color:#7c3aed;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:6px;vertical-align:middle}.md-live-editor{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:16px 0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.md-editor-pane{display:flex;flex-direction:column;border-right:1px solid var(--border)}.md-preview-pane{display:flex;flex-direction:column}.md-editor-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);padding:10px 16px;background:var(--bg-offwhite);border-bottom:1px solid var(--border)}.md-editor-input{flex:1;min-height:300px;padding:16px;border:none;resize:vertical;font-size:.85rem;line-height:1.7;font-family:Noto Sans KR,monospace;color:var(--text-body);background:var(--bg-white)}.md-editor-input:focus{outline:none;background:#fffef5}.md-editor-preview{flex:1;padding:16px;font-size:.85rem;line-height:1.7;color:var(--text-body);overflow-y:auto}.md-editor-preview h1{font-size:1.15rem;font-weight:700;color:var(--style);margin:12px 0 6px;padding-bottom:4px;border-bottom:2px solid var(--style)}.md-editor-preview h2{font-size:1rem;font-weight:600;color:var(--text-heading);margin:10px 0 4px}.md-editor-preview h3{font-size:.92rem;font-weight:600;color:var(--text-heading);margin:8px 0 4px}.md-editor-preview ul{padding-left:20px;margin:4px 0}.md-editor-preview li,.md-editor-preview p{margin:2px 0}@media(max-width:600px){.md-live-editor{grid-template-columns:1fr}.md-editor-pane{border-right:none;border-bottom:1px solid var(--border)}.md-editor-input{min-height:200px}}.security-notice{background:#a500340a;border-radius:var(--radius);padding:14px 20px;margin:16px 0;border-left:3px solid var(--style);font-size:.85rem;line-height:1.7;color:var(--text-body)}.security-notice strong{color:var(--style)}.shared-resources-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:9998;backdrop-filter:blur(2px)}.shared-resources-overlay.show{display:block}.shared-resources-popup{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000002e;z-index:9999;width:90%;max-width:400px;overflow:hidden}.shared-resources-popup.show{display:block}.sr-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:2px solid #A50034}.sr-title{margin:0;font-size:1rem;font-weight:700;color:#1a1a1a;letter-spacing:-.3px}.sr-close{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;font-size:1.2rem;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.sr-close:hover{background:#eee;color:#333}.sr-body{padding:16px 24px 24px;display:flex;flex-direction:column;gap:10px}.sr-empty{text-align:center;color:#999;font-size:.88rem;padding:24px 0}.sr-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e8e8e8;border-radius:10px;text-decoration:none;color:#333;transition:border-color .15s,background .15s}.sr-link:hover,.sr-link-active{border-color:#a50034;background:#fdf2f4}.sr-link-badge{display:inline-flex;align-items:center;justify-content:center;width:36px;height:24px;border-radius:6px;font-size:.72rem;font-weight:700;color:#fff;flex-shrink:0}.sr-link-badge.level-A{background:#8b5cf6}.sr-link-badge.level-B{background:#2563eb}.sr-link-badge.level-C{background:#059669}.sr-link-badge.level-D{background:#a50034}.sr-link-badge.level-E{background:#7c3aed}.sr-link-badge.level-F{background:#f59e0b}.sr-link-label{flex:1;font-size:.88rem;font-weight:500}.sr-link-mine{font-size:.68rem;font-weight:600;color:#a50034;background:#a5003414;padding:2px 8px;border-radius:4px}.ref-link-with-prompt{display:grid!important;grid-template-columns:260px 1fr;gap:0 16px;align-items:stretch;padding:0!important;overflow:hidden}.ref-link-with-prompt .ref-link-left{display:flex;flex-direction:column;padding:14px 0 14px 16px}.ref-link-with-prompt .ref-link-left .ref-link-title{font-size:.88rem;font-weight:600;color:var(--text-primary);text-decoration:none}.ref-link-with-prompt .ref-link-left .ref-link-title:hover{color:var(--style)}.ref-link-with-prompt .ref-link-left .ref-link-desc{font-size:.75rem;color:var(--text-muted);margin-top:6px;line-height:1.5}.ref-link-with-prompt .ref-link-left .ref-link-meta{margin-top:6px}.ref-link-download-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:auto;padding:7px 0;width:100%;background:var(--style);color:#fff;border-radius:8px;text-decoration:none;font-size:.78rem;font-weight:500;transition:opacity .15s}.ref-link-download-btn:hover{opacity:.85}@media(max-width:768px){.ref-link-with-prompt{grid-template-columns:1fr}.ref-link-with-prompt .ref-link-left{padding:14px 16px 10px}}.prompt-inline-block{margin-top:0;border:none;border-left:1px solid #e5e5e5;border-radius:0;overflow:hidden;background:#fafafa}.ref-link-item:not(.ref-link-with-prompt)>.prompt-inline-block{margin-top:10px;border:1px solid #e5e5e5;border-radius:10px;border-left:1px solid #e5e5e5}.prompt-inline-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#f0f0f0;border-bottom:1px solid #e5e5e5}.prompt-inline-label{font-size:.72rem;font-weight:600;color:#666;letter-spacing:-.02em}.prompt-inline-copy{border:1px solid #ccc;background:#fff;color:#555;padding:3px 12px;border-radius:6px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s}.prompt-inline-copy:hover{border-color:#a50034;color:#a50034}.prompt-inline-copy.copied{border-color:#059669;color:#059669;background:#ecfdf5}.prompt-inline-content{margin:0;padding:14px;max-height:300px;overflow-y:auto;font-size:.78rem;line-height:1.7;color:#333;white-space:pre-wrap;word-break:break-word;font-family:Apple SD Gothic Neo,Malgun Gothic,sans-serif}.prompt-inline-content::-webkit-scrollbar{width:6px}.prompt-inline-content::-webkit-scrollbar-track{background:transparent}.prompt-inline-content::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.prompt-inline-content::-webkit-scrollbar-thumb:hover{background:#999}.fclass-overlay{display:none;position:fixed;inset:0;background:#00000073;z-index:9998;backdrop-filter:blur(4px)}.fclass-overlay.show{display:block}.fclass-modal{display:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:4px;box-shadow:0 12px 48px #00000038,0 2px 8px #00000014;z-index:9999;width:90%;max-width:440px;overflow:hidden;animation:fclassIn .3s cubic-bezier(.16,1,.3,1)}.fclass-modal.show{display:block}@keyframes fclassIn{0%{opacity:0;transform:translate(-50%,-46%)}to{opacity:1;transform:translate(-50%,-50%)}}.fclass-modal-header{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 18px;border-bottom:1px solid #e8e8e8;background:linear-gradient(135deg,#a50034,#8a002c)}.fclass-modal-header h3{margin:0;font-size:.92rem;font-weight:600;color:#fff;letter-spacing:.04em}.fclass-modal-close{width:28px;height:28px;border:none;background:#ffffff26;border-radius:2px;font-size:1.1rem;color:#fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.fclass-modal-close:hover{background:#ffffff40;color:#fff}.fclass-modal-body{padding:28px 28px 20px;text-align:left;line-height:1.9;font-size:.9rem;color:#333}.fclass-modal-body p{margin:0 0 14px}.fclass-modal-body p:last-of-type{margin-bottom:0}.fclass-contact{margin-top:18px;padding-top:16px;border-top:1px solid #eee;font-size:.82rem;color:#666;line-height:1.8}.fclass-contact a{color:#a50034;text-decoration:none;font-weight:500}.fclass-contact a:hover{text-decoration:underline}.fclass-modal-footer{padding:0 28px 24px;text-align:center}.fclass-modal-btn{display:inline-block;padding:11px 52px;border:none;border-radius:2px;background:#a50034;color:#fff;font-size:.86rem;font-weight:600;cursor:pointer;letter-spacing:.03em;transition:background .15s}.fclass-modal-btn:hover{background:#8a002c}.callout-warning{background:#a500340d;border-radius:var(--radius);padding:16px 20px;margin:16px 0;border-left:4px solid var(--style)}.callout-warning .callout-title{font-size:.8rem;font-weight:600;color:var(--style);margin-bottom:6px}.callout-warning .callout-content{font-size:.85rem;line-height:1.7;color:var(--text-body)}.callout-info{background:#85714d14;border-radius:var(--radius);padding:16px 20px;margin:16px 0;border-left:4px solid var(--style-gold)}.callout-info .callout-title{font-size:.8rem;font-weight:600;color:var(--style-gold);margin-bottom:6px}.callout-info .callout-content{font-size:.85rem;line-height:1.7;color:var(--text-body)}.difficulty-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:10px;vertical-align:middle;margin-left:8px}.difficulty-badge.essential{background:#a500341a;color:var(--style)}.difficulty-badge.practical{background:#85714d1f;color:var(--style-gold)}.difficulty-badge.reference{background:#8a8d8f26;color:var(--style-silver)}.md-render-example{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0;font-size:.85rem}.md-render-input,.md-render-output{padding:12px 16px;border-radius:var(--radius-sm);line-height:1.7}.md-render-input{background:#f5f5f5;font-family:SFMono-Regular,Consolas,monospace;color:var(--text-body);border:1px solid var(--border)}.md-render-output{background:#fafaf8;border:1px solid var(--border)}.md-render-result{font-size:.85rem;line-height:1.7;color:var(--text-body)}.md-render-label{font-size:.7rem;font-weight:600;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}@media(max-width:600px){.md-render-example{grid-template-columns:1fr}}.cheatsheet-table{margin:16px 0}.cheatsheet-table table{width:100%;border-collapse:collapse;font-size:.82rem}.cheatsheet-table th{background:#8a8d8f1f;color:var(--text-heading);font-weight:600;padding:10px 12px;text-align:left;border-bottom:2px solid var(--style-silver)}.cheatsheet-table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.cheatsheet-table tr:hover{background:#85714d0a}.cheatsheet-table code{font-size:.8rem;background:#f0f0f0;padding:1px 5px;border-radius:3px}.md-blockquote-example{border-left:3px solid var(--style-silver);padding:8px 16px;margin:8px 0;color:var(--text-secondary);background:#f9f9f7;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.md-blockquote-example.nested{margin-left:16px;border-left-color:var(--style-gold)}.md-task-list{list-style:none;padding-left:0;margin:8px 0}.md-task-list li{padding:4px 0;font-size:.85rem;display:flex;align-items:center;gap:8px}.md-task-list .task-checkbox{width:16px;height:16px;border:2px solid var(--style-silver);border-radius:3px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.md-task-list .task-checkbox.checked{background:var(--style);border-color:var(--style);color:#fff;font-size:11px}.md-task-list .task-done{text-decoration:line-through;color:var(--text-muted)}.news-filters{display:flex;gap:8px;margin-bottom:20px}.news-filter-btn{padding:6px 16px;border-radius:100px;border:1px solid var(--border);background:var(--bg-white);font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:Noto Sans KR,sans-serif}.news-filter-btn:hover{border-color:var(--style);color:var(--style)}.news-filter-btn.active{background:var(--style);color:#fff;border-color:var(--style)}.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.news-card{background:var(--bg-white);border-radius:var(--radius);padding:18px;border:1px solid var(--border);border-left:3px solid var(--style);transition:all var(--transition);cursor:pointer;text-decoration:none;color:inherit;display:block}.news-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.news-card-cat{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.news-card-cat.business{color:var(--style)}.news-card-cat.technology,.news-card-cat.policy{color:var(--style-gold)}.news-card-headline{font-size:.88rem;font-weight:600;color:var(--text-heading);margin-bottom:8px;line-height:1.4}.news-card-insight{font-size:.78rem;color:var(--text-secondary);line-height:1.6}.news-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:.65rem;color:var(--text-muted)}.concepts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.concept-card{perspective:1000px;cursor:pointer;height:200px}.concept-card-inner{position:relative;width:100%;height:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);transform-style:preserve-3d}.concept-card.flipped .concept-card-inner{transform:rotateY(180deg)}.concept-card-front,.concept-card-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius);border:1px solid var(--border);padding:20px;display:flex;flex-direction:column}.concept-card-front{background:var(--bg-white);justify-content:center;align-items:center;text-align:center}.concept-card-back{background:var(--bg-dark);color:#fff;transform:rotateY(180deg);overflow-y:auto}.concept-term-ko{font-size:1.05rem;font-weight:700;color:var(--text-heading);margin-bottom:4px}.concept-term-en{font-size:.72rem;color:var(--text-muted);margin-bottom:12px}html[lang=en] .concept-term-en{font-size:1.05rem;font-weight:700;color:var(--text-heading);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;margin-bottom:12px}.concept-short-def{font-size:.78rem;color:var(--text-secondary);line-height:1.5}.concept-cat-badge{position:absolute;top:12px;right:12px;font-size:.58rem;font-weight:600;padding:2px 8px;border-radius:100px}.concept-cat-badge.core{background:var(--style-light);color:var(--style)}.concept-cat-badge.advanced,.concept-cat-badge.technical{background:#85714d0f;color:var(--style-gold)}.concept-back-title{font-size:.85rem;font-weight:600;margin-bottom:10px;color:var(--style-active)}.concept-back-text{font-size:.75rem;line-height:1.7;color:#fffc}.concept-back-examples{margin-top:12px;font-size:.7rem;color:#ffffff80}.tech-tree{display:flex;align-items:stretch;gap:16px;padding:32px 0}.tech-tree-node{flex:1;text-align:center;display:flex;flex-direction:column;background:var(--bg-white);border-radius:var(--radius);border:2px solid var(--border);padding:24px 16px;transition:all var(--transition);cursor:pointer;position:relative}.tech-tree-node:hover{border-color:var(--style);box-shadow:var(--shadow-md);transform:translateY(-3px)}.tech-tree-node.level-1,.tech-tree-node.level-2{border-top:3px solid var(--style-gold)}.tech-tree-node.level-3{border-top:3px solid var(--style)}.tech-tree-level{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.tech-tree-node.level-1 .tech-tree-level,.tech-tree-node.level-2 .tech-tree-level{color:var(--style-gold)}.tech-tree-node.level-3 .tech-tree-level{color:var(--style)}.tech-tree-title{font-size:1.1rem;font-weight:700;color:var(--text-heading);margin-bottom:10px}.tech-tree-desc{font-size:.78rem;color:var(--text-secondary);line-height:1.5;margin-bottom:14px}.tech-tree-tools{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:auto}.tech-tree-tool-tag{font-size:.65rem;padding:2px 8px;border-radius:100px;background:var(--bg-offwhite);color:var(--text-secondary)}.tech-tree-arrow{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--border);flex-shrink:0;padding-top:30px}.tool-section-title{font-size:.85rem;font-weight:600;color:var(--text-heading);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.tool-list{display:flex;flex-direction:column;gap:8px}.tool-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--bg-white);border-radius:var(--radius-sm);border:1px solid var(--border);transition:all var(--transition)}.tool-item:hover{border-color:var(--style);box-shadow:var(--shadow-sm)}.tool-name{font-size:.85rem;font-weight:600;color:var(--text-heading)}.tool-desc{font-size:.78rem;color:var(--text-secondary);margin-top:2px}.tool-usecase{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px}.tool-usecase .pill-tag{display:inline-block;font-size:.65rem;font-weight:500;background:var(--style);color:#fff;padding:2px 10px;border-radius:12px;white-space:nowrap}.tool-link{margin-left:auto;flex-shrink:0;font-size:.7rem;color:var(--style);font-weight:500}.gallery-filters{margin-bottom:28px}.gallery-filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.gallery-filter-spacer{flex:1}.gallery-filter-btn{padding:6px 16px;border-radius:100px;border:1px solid var(--border);background:var(--bg-white);font-size:.75rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:Noto Sans KR,sans-serif}.gallery-filter-btn:hover{border-color:var(--style);color:var(--style)}.gallery-filter-btn.active{background:var(--style);color:#fff;border-color:var(--style)}.gallery-filter-divider{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0}.gallery-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.gallery-tag{padding:4px 12px;border-radius:100px;border:1px solid var(--border);background:var(--bg-white);font-size:.68rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:Noto Sans KR,sans-serif}.gallery-tag:hover{border-color:var(--style-gold);color:var(--style-gold)}.gallery-tag.active{background:var(--style);color:#fff;border-color:var(--style)}.gallery-keyword-toggle{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border:1px dashed var(--border);border-radius:100px;background:transparent;font-size:.72rem;font-weight:500;color:var(--text-secondary, #6B6B6B);cursor:pointer;margin-top:10px;font-family:Noto Sans KR,sans-serif;transition:all var(--transition)}.gallery-keyword-toggle:hover{border-color:#a50034;color:#a50034}.gallery-keyword-reset{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid #A50034;border-radius:100px;background:transparent;font-size:.7rem;color:#a50034;cursor:pointer;margin-top:10px;margin-left:8px;font-family:Noto Sans KR,sans-serif;transition:all var(--transition)}.gallery-keyword-reset:hover{background:#a50034;color:#fff}.gallery-toggle-arrow{font-size:.6rem;transition:transform .2s}.gallery-tags-collapsible{max-height:0;overflow:hidden;transition:max-height .3s ease;margin-top:0}.gallery-tags-collapsible.open{max-height:200px;margin-top:10px}.gallery-tags-collapsible .gallery-tags{margin-top:0}.gallery-tag-static{padding:4px 12px;border-radius:100px;border:1px solid var(--border);background:var(--bg-offwhite);font-size:.68rem;font-weight:500;color:var(--text-secondary);font-family:Noto Sans KR,sans-serif;cursor:default}.gallery-result-count{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.gallery-grid{grid-template-columns:1fr}}.gallery-card{background:var(--bg-white);border-radius:10px;border:1px solid var(--border);transition:all var(--transition);cursor:pointer;overflow:hidden;display:flex;flex-direction:column}.gallery-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.gallery-card-img{aspect-ratio:16 / 10;overflow:hidden;position:relative;background:var(--bg-offwhite)}.gallery-card-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition);display:block}.gallery-card:hover .gallery-card-img img{transform:scale(1.03)}.gallery-card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.gallery-card-cat{display:inline-block;padding:2px 10px;border-radius:100px;font-size:.62rem;font-weight:600;letter-spacing:.02em;width:fit-content}.gallery-card-cat[data-cat=fun]{background:#a500341a;color:var(--style)}.gallery-card-cat[data-cat=meaning]{background:#85714d1a;color:var(--style-gold)}.gallery-card-cat[data-cat=creative]{background:#8a8d8f1a;color:var(--style-silver)}.gallery-card-biz{display:inline-block;padding:2px 10px;border-radius:100px;font-size:.62rem;font-weight:600;background:#85714d1a;color:var(--style-gold);width:fit-content}.gallery-card-title{font-size:.88rem;font-weight:600;color:var(--text-heading);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-card-desc{font-size:.78rem;color:var(--style-gray);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gallery-card-meta{font-size:.65rem;color:var(--style-silver);margin-top:auto;padding-top:4px}.gallery-detail-overlay{position:fixed;inset:0;background:#0009;z-index:10000;display:flex;align-items:center;justify-content:center;animation:galleryFadeIn .2s ease-out both}.gallery-detail-card{background:var(--bg-white);border-radius:14px;max-width:520px;width:92%;max-height:90vh;overflow-y:auto;box-shadow:0 12px 40px #0003;position:relative;animation:galleryScaleIn .25s cubic-bezier(.4,0,.2,1) both}.gallery-detail-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:#00000073;color:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition);z-index:1}.gallery-detail-close:hover{background:#000000a6}.gallery-detail-img{width:100%;display:block;border-radius:14px 14px 0 0;background:var(--bg-offwhite)}.gallery-detail-body{padding:24px}.gallery-detail-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.gallery-detail-title{font-size:1.15rem;font-weight:700;color:#1a1a1a;margin:0 0 12px;line-height:1.4}.gallery-detail-desc{font-size:.85rem;color:var(--style-gray);line-height:1.7;margin:0 0 16px}.gallery-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.gallery-detail-meta{font-size:.72rem;color:var(--style-silver);margin-bottom:20px}.gallery-detail-open{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border:none;border-radius:var(--radius-sm);background:var(--style);color:#fff;font-size:.88rem;font-weight:600;cursor:pointer;transition:background var(--transition);text-decoration:none;font-family:Noto Sans KR,sans-serif}.gallery-detail-open:hover{background:var(--style-hover)}@keyframes galleryFadeIn{0%{opacity:0}to{opacity:1}}@keyframes galleryScaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.scroll-indicator{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:95;opacity:0;transition:opacity .4s ease;pointer-events:none}.scroll-indicator.visible{opacity:1;pointer-events:auto}.scroll-indicator-track{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:12px 8px 12px 16px}.scroll-indicator-tick{width:14px;height:2px;background:var(--text-muted);opacity:.25;border-radius:1px;transition:all .25s ease;cursor:pointer;flex-shrink:0}.scroll-indicator-tick:hover{opacity:.5;width:18px}.scroll-indicator-tick.active{width:22px;height:3px;background:var(--style);opacity:.85}.scroll-indicator-menu{position:fixed;z-index:96;background:var(--bg-dark, #1B1A1E);border-radius:var(--radius, 12px);padding:8px 0;min-width:140px;max-width:300px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;box-shadow:0 4px 20px #00000040}.scroll-indicator-menu.desktop-pos{top:50%;right:40px;transform:translateY(-50%) translate(6px)}.scroll-indicator-menu.menu-open{opacity:1;pointer-events:auto}.scroll-indicator-menu.menu-open.desktop-pos{transform:translateY(-50%) translate(0)}.scroll-indicator-menu-item{display:block;width:100%;padding:7px 16px;font-size:.73rem;font-family:Noto Sans KR,sans-serif;line-height:1.5;color:#fff9;background:none;border:none;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .15s ease}.scroll-indicator-menu-item:hover{background:#ffffff14;color:#fff}.scroll-indicator-menu-item.active{color:var(--style-active, #FD312E);font-weight:600}.scroll-indicator-backdrop{display:none;position:fixed;inset:0;z-index:95;background:#00000059;backdrop-filter:blur(2px)}.scroll-indicator-backdrop.show{display:block}@media(max-width:768px){.scroll-indicator-track{gap:5px;padding:10px 4px 10px 12px}.scroll-indicator-tick{width:10px}.scroll-indicator-tick.active{width:16px}.scroll-indicator-menu{inset:auto 16px 80px;transform:translateY(10px);min-width:auto;max-width:none;max-height:55vh;overflow-y:auto;border-radius:var(--radius-lg, 16px);padding:10px 0}.scroll-indicator-menu.desktop-pos{top:auto;right:16px;transform:translateY(10px)}.scroll-indicator-menu.menu-open,.scroll-indicator-menu.menu-open.desktop-pos{transform:translateY(0)}.scroll-indicator-menu-item{padding:12px 20px;font-size:.82rem;white-space:normal}}@media print{.scroll-indicator,.scroll-indicator-menu,.scroll-indicator-backdrop{display:none!important}}.hamburger{display:none;position:fixed;top:12px;left:12px;z-index:200;width:36px;height:36px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);cursor:pointer;align-items:center;justify-content:center;padding:0;transition:all var(--transition)}.hamburger:hover{background:var(--bg-offwhite);border-color:var(--style)}.hamburger svg{width:18px;height:18px;color:var(--text-body)}.hamburger-close,.hamburger.open .hamburger-icon{display:none}.hamburger.open .hamburger-close{display:inline-flex}.sidebar-overlay{display:none;position:fixed;inset:0;z-index:90;background:#0006;backdrop-filter:blur(4px)}.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-white);border-top:1px solid var(--border);padding:8px 16px;z-index:80;justify-content:space-around;align-items:center;box-shadow:0 -2px 10px #0000000d;transition:transform .3s ease}.mobile-bottom-nav.nav-hidden{transform:translateY(100%)}.mobile-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border:none;background:none;font-size:.62rem;color:var(--text-muted);cursor:pointer;font-family:Noto Sans KR,sans-serif;transition:color var(--transition)}.mobile-nav-btn:hover,.mobile-nav-btn.active{color:var(--style)}.mobile-nav-btn .nav-icon{font-size:1.1rem}@media(max-width:1024px){.chapters-grid,.concepts-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.show{display:block}.hamburger{display:flex}.main{margin-left:0}.main-topbar{padding:12px 16px 12px 56px}.main-content{padding:20px 16px 100px}.home-title{font-size:1.5rem}.chapters-grid,.concepts-grid,.news-grid{grid-template-columns:1fr}.tech-tree{flex-direction:column}.tech-tree-arrow{transform:rotate(90deg);padding:0}.clip-title{font-size:1.3rem}.timeline-bar{flex-wrap:wrap}.timeline-block{flex:1 1 auto;min-width:60px}.mobile-bottom-nav{display:flex}body.nav-hidden .chatbot-fab{bottom:88px}.clip-nav-footer{flex-direction:column;gap:10px}.clip-nav-btn{width:100%;justify-content:center}}.fab{position:fixed;bottom:24px;right:24px;z-index:90;transition:bottom .3s ease}@media(max-width:768px){.fab{bottom:80px}body.nav-hidden .fab{bottom:24px}}.fab-main{width:48px;height:48px;border-radius:50%;background:var(--style);color:#fff;border:none;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #a500344d;transition:all var(--transition)}.fab-main:hover{background:var(--style-hover);transform:scale(1.05)}.fab-menu{position:absolute;bottom:56px;right:0;display:flex;flex-direction:column;gap:8px;opacity:0;pointer-events:none;transform:translateY(10px);transition:all var(--transition)}.fab.open .fab-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.fab-item{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 14px;border-radius:var(--radius-sm);background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow-md);font-size:.78rem;font-weight:500;color:var(--text-body);cursor:pointer;transition:all var(--transition);text-decoration:none}.fab-item:hover{border-color:var(--style);color:var(--style)}body.page-login .sidebar,body.page-login .main-topbar,body.page-login .fab,body.page-login .mobile-bottom-nav,body.page-login .hamburger,body.page-login .scroll-progress,body.page-login .sidebar-overlay{display:none!important}body.page-login .main{margin-left:0}body.page-login .main-content{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg-warm)}body.page-admin .sidebar,body.page-admin .fab,body.page-admin .mobile-bottom-nav{display:none!important}body.page-admin .main{margin-left:0}body.page-admin-members .sidebar,body.page-admin-members .main-topbar,body.page-admin-members .fab,body.page-admin-members .mobile-bottom-nav,body.page-admin-members .hamburger,body.page-admin-members .scroll-progress,body.page-admin-members .sidebar-overlay{display:none!important}body.page-admin-members .main{margin-left:0}body.page-admin-members .main-content{min-height:100vh;background:var(--bg-offwhite)}body.page-ta-dashboard .sidebar,body.page-ta-dashboard .main-topbar,body.page-ta-dashboard .fab,body.page-ta-dashboard .mobile-bottom-nav,body.page-ta-dashboard .hamburger,body.page-ta-dashboard .scroll-progress,body.page-ta-dashboard .sidebar-overlay{display:none!important}body.page-ta-dashboard .main{margin-left:0}.login-card{width:100%;max-width:400px;margin:0 auto;padding:40px;background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.login-logo{margin-bottom:24px}.login-logo-img{height:60px;width:auto}.login-title{font-size:1.75rem;font-weight:700;color:var(--style);margin:0 0 8px;letter-spacing:-.02em}.login-subtitle{font-size:.95rem;color:var(--text-secondary);margin:0 0 32px;transition:opacity .2s ease,max-height .2s ease;max-height:3em;overflow:hidden}.login-subtitle-hidden{opacity:0;max-height:0;margin-bottom:0}.login-input{display:block;width:100%;height:48px;padding:0 16px;margin-bottom:12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;color:var(--text-body);background:var(--bg-white);transition:border-color var(--transition);box-sizing:border-box;font-family:inherit}.login-input:focus{outline:none;border-color:var(--style);box-shadow:0 0 0 3px #a5003414}.login-input::placeholder{color:var(--text-muted)}.login-btn{display:block;width:100%;height:48px;margin-top:8px;padding:0 24px;background:var(--style);color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);font-family:inherit}.login-btn:hover{background:var(--style-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-back-btn{display:block;width:100%;height:40px;margin-top:8px;padding:0;background:transparent;color:var(--text-secondary);font-size:.875rem;border:none;cursor:pointer;transition:color var(--transition);font-family:inherit}.login-back-btn:hover{color:var(--text-body)}.login-ta-hint{font-size:.875rem;color:var(--text-secondary);margin:0 0 12px}.login-error{display:none;margin-top:16px;padding:10px 14px;font-size:.875rem;color:var(--style);background:#a500340f;border-radius:var(--radius-sm);text-align:left}.login-level-badge{display:none;flex-direction:column;align-items:center;gap:8px;margin-top:24px;animation:loginFadeIn .4s ease}.level-badge-icon{width:56px;height:56px;border-radius:50%;background:var(--style);color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.level-badge-name{font-size:1.1rem;font-weight:600;color:var(--text-heading)}.level-badge-level{font-size:.9rem;color:var(--text-secondary);padding:4px 16px;background:var(--bg-warm);border-radius:20px}@keyframes loginFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-footer{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:24px}.login-footer a{font-size:.8rem;color:var(--text-muted);text-decoration:none;transition:color var(--transition)}.login-footer a:hover{color:var(--text-body)}.login-footer-sep{color:var(--border);font-size:.75rem}@media(max-width:600px){.login-card{margin:16px;padding:32px 24px}.login-title{font-size:1.5rem}}.lms-menu{position:relative;margin-left:8px}.lms-menu-btn{width:36px;height:36px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--border);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition);color:var(--text-body)}.lms-menu-btn:hover{background:var(--bg-offwhite);border-color:var(--style)}.lms-menu-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:90;min-width:180px;padding:6px 0;animation:lmsDropIn .15s ease}.lms-menu-dropdown.show{display:block}.lms-menu-item{display:block;width:100%;padding:10px 16px;background:transparent;border:none;text-align:left;font-size:.9rem;font-family:inherit;color:var(--text-body);cursor:pointer;transition:background .15s}.lms-menu-item:hover{background:var(--bg-offwhite)}.lms-menu-divider{height:1px;background:var(--border);margin:4px 0}.lms-menu-logout{color:var(--text-muted);font-size:.85rem}.lms-menu-role{color:var(--style);font-weight:500}@keyframes lmsDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}body.page-login .lms-menu{display:none!important}.panel-overlay{position:fixed;inset:0;background:#0000004d;z-index:var(--z-panel-overlay);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.panel-overlay.show{opacity:1;visibility:visible}.lms-panel{position:fixed;top:0;right:0;bottom:0;width:var(--panel-width);background:var(--bg-white);box-shadow:var(--shadow-lg);z-index:var(--z-panel);transform:translate(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.lms-panel.open{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);font-weight:600;font-size:.95rem;color:var(--text-heading);flex-shrink:0}.panel-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;font-size:1rem;color:var(--text-muted);border-radius:var(--radius-sm);transition:all var(--transition)}.panel-close:hover{background:var(--bg-offwhite);color:var(--text-body)}.panel-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;padding:0 0 12px;display:flex;flex-direction:column;gap:8px}.chat-msg{max-width:85%;padding:10px 14px;border-radius:12px;font-size:.88rem;line-height:1.5;word-break:break-word}.chat-msg-user{align-self:flex-end;background:var(--style-light);color:var(--text-body)}.chat-msg-assistant{align-self:flex-start;background:var(--bg-offwhite);color:var(--text-body)}.chat-welcome{text-align:center;padding:32px 16px;color:var(--text-secondary);font-size:.9rem}.chat-welcome p{margin:0 0 8px}.chat-note{font-size:.78rem;color:var(--text-muted)}.chat-input-area{display:flex;gap:8px;padding:12px 0 0;border-top:1px solid var(--border);flex-shrink:0}.chat-input{flex:1;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;color:var(--text-body);background:var(--bg-white);transition:border-color var(--transition);font-family:inherit;box-sizing:border-box}.chat-input:focus{outline:none;border-color:var(--style)}.chat-send{padding:0 16px;height:40px;background:var(--style);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:background var(--transition);font-family:inherit;white-space:nowrap}.chat-send:hover{background:var(--style-hover)}.questions-filter-row{display:flex;gap:6px;margin-bottom:14px;flex-shrink:0;flex-wrap:wrap}.questions-filter-btn{padding:6px 14px;font-size:.8rem;font-weight:500;border:1px solid var(--border);border-radius:100px;background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit;transition:all var(--transition)}.questions-filter-btn:hover{border-color:var(--style);color:var(--style)}.questions-filter-btn.active{background:var(--style);color:#fff;border-color:var(--style)}.question-level-tag{display:inline-block;font-size:.68rem;padding:1px 6px;border-radius:100px;font-weight:500;vertical-align:middle}.question-level-tag.level-A{background:#a500340a;color:var(--style)}.question-level-tag.level-B{background:#85714d14;color:var(--style-gold)}.question-level-tag.level-C{background:#85714d0f;color:var(--style-gold)}.question-level-tag.level-D{background:#85714d14;color:var(--style-gold)}.question-level-tag.level-E{background:#a5003414;color:var(--style-hover)}.questions-input-area{display:flex;gap:8px;margin-bottom:16px;flex-shrink:0}.questions-input{flex:1;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;color:var(--text-body);background:var(--bg-white);transition:border-color var(--transition);font-family:inherit;box-sizing:border-box}.questions-input:focus{outline:none;border-color:var(--style)}.questions-submit{padding:0 16px;height:40px;background:var(--style);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;cursor:pointer;transition:background var(--transition);font-family:inherit;white-space:nowrap}.questions-submit:hover{background:var(--style-hover)}.questions-list{flex:1;overflow-y:auto}.questions-loading,.questions-empty{text-align:center;color:var(--text-muted);font-size:.88rem;padding:24px 0}.question-card{padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:10px;transition:border-color var(--transition)}.question-card.answered{border-left:3px solid var(--style);background:var(--style-light)}.question-card.question-mine{border-left:3px solid var(--style-gold);background:#85714d0f}.question-card.question-mine.answered{border-left:3px solid var(--style-gold);background:linear-gradient(135deg,rgba(133,113,77,.06),var(--style-light))}.question-mine-badge{display:inline-block;font-size:.65rem;font-weight:600;color:var(--style-gold);background:#85714d14;padding:1px 8px;border-radius:4px;margin-bottom:6px}.question-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.question-author{font-size:.78rem;font-weight:500;color:var(--text-secondary)}.question-time{font-size:.72rem;color:var(--text-muted)}.question-text{margin:0 0 8px;font-size:.88rem;color:var(--text-body);line-height:1.5}.question-answer{background:var(--bg-offwhite);padding:10px 12px;border-radius:var(--radius-sm);font-size:.82rem;color:var(--text-body);margin-bottom:8px;line-height:1.5}.question-answer .answer-author{display:inline-block;font-size:.75rem;color:var(--text-muted);margin-left:8px;font-style:italic}.question-upvote{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:100px;background:none;font-size:.78rem;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);font-family:inherit}.question-upvote:hover{border-color:var(--style);color:var(--style);background:var(--style-light)}.question-reply-btn{display:inline-block;padding:4px 10px;font-size:.78rem;color:var(--style);background:transparent;border:1px solid var(--style);border-radius:100px;cursor:pointer;font-family:inherit;transition:all var(--transition)}.question-reply-btn:hover{background:var(--style-light)}.question-answer-form{margin-top:8px}.question-answer-input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;font-family:inherit;color:var(--text-body);resize:vertical;box-sizing:border-box;transition:border-color var(--transition)}.question-answer-input:focus{outline:none;border-color:var(--style)}.question-answer-actions{display:flex;gap:6px;margin-top:6px}.question-answer-btn{padding:6px 14px;font-size:.8rem;font-weight:500;background:var(--style);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;transition:background var(--transition)}.question-answer-btn:hover{background:var(--style-hover)}.question-answer-cancel{padding:6px 14px;font-size:.8rem;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;transition:all var(--transition)}.question-answer-cancel:hover{background:var(--bg-offwhite)}.ta-call-content{text-align:center;padding:32px 16px}.ta-call-icon{font-size:3rem;margin-bottom:16px}.ta-call-desc{color:var(--text-secondary);font-size:.92rem;line-height:1.6;margin:0 0 24px}.ta-call-btn{display:inline-block;padding:14px 32px;background:var(--style);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background var(--transition);font-family:inherit}.ta-call-btn:hover{background:var(--style-hover)}.ta-call-btn:disabled{opacity:.6;cursor:not-allowed}.ta-call-status{margin-top:20px}.ta-call-waiting{color:var(--style-gold);font-size:.9rem;font-weight:500;animation:taPulse 2s ease-in-out infinite}@keyframes taPulse{0%,to{opacity:1}50%{opacity:.5}}.ta-call-ack{color:var(--style-gold);font-size:.9rem;font-weight:500}.ta-call-resolved{color:var(--text-muted);font-size:.88rem}.ta-call-cancel-btn{display:inline-block;padding:10px 28px;margin-top:16px;background:transparent;color:var(--style);border:1.5px solid var(--style);border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition);font-family:inherit}.ta-call-cancel-btn:hover{background:#a500340a;border-color:var(--style-hover);color:var(--style-hover)}.ta-call-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.survey-form{display:flex;flex-direction:column;gap:4px}.survey-section{margin-bottom:16px}.survey-label{display:block;font-weight:600;font-size:.9rem;color:var(--text-heading);margin-bottom:8px}.survey-stars{display:flex;gap:4px}.survey-star{font-size:1.5rem;cursor:pointer;background:transparent;border:none;color:var(--text-muted);padding:2px;transition:color var(--transition),transform .15s ease;line-height:1}.survey-star:hover{transform:scale(1.15)}.survey-star.active{color:var(--style-gold)}.survey-pace{display:flex;gap:16px;font-size:.88rem;color:var(--text-body)}.survey-pace label{display:flex;align-items:center;gap:4px;cursor:pointer}.survey-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.88rem;color:var(--text-body);font-family:inherit;resize:vertical;box-sizing:border-box;transition:border-color var(--transition)}.survey-textarea:focus{outline:none;border-color:var(--style)}.survey-submit{width:100%;height:44px;background:var(--style);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--transition);font-family:inherit;margin-top:8px}.survey-submit:hover{background:var(--style-hover)}.survey-done{text-align:center;padding:48px 16px 0}.survey-done-icon{font-size:3rem;margin-bottom:16px}.survey-done p{font-size:.95rem;color:var(--text-secondary);line-height:1.6}@media(max-width:768px){.lms-panel{width:100%}}.chat-window{position:fixed;bottom:24px;right:24px;width:380px;height:520px;background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000026;z-index:120;display:none;flex-direction:column;overflow:hidden;border:1px solid var(--border)}.chat-window.open{display:flex}.chat-window-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--style);color:#fff;flex-shrink:0;position:relative;z-index:2}.chat-header-left{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.chat-window-title{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-btn{width:28px;height:28px;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.chat-header-btn:hover{background:#ffffff4d}.chat-window-actions{display:flex;gap:6px}.chat-conv-list{display:none;position:absolute;top:0;left:0;bottom:0;width:240px;background:var(--bg-offwhite);border-right:1px solid var(--border);z-index:5;flex-direction:column;overflow:hidden;border-radius:var(--radius) 0 0 var(--radius)}.chat-conv-list.open{display:flex}.chat-conv-list-header{padding:14px 16px;font-size:.85rem;font-weight:600;color:var(--text-heading);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.chat-conv-list-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:1.1rem;line-height:1}.chat-conv-list-close:hover{color:var(--text-heading)}.chat-conv-list-inner{flex:1;overflow-y:auto;padding:8px}.chat-conv-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .15s;gap:8px}.chat-conv-item:hover{background:#0000000d}.chat-conv-item.active{background:var(--style-light)}.chat-conv-item-info{flex:1;min-width:0}.chat-conv-item-title{font-size:.8rem;font-weight:500;color:var(--text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-conv-item-date{font-size:.7rem;color:var(--text-muted);margin-top:2px}.chat-conv-delete{flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;opacity:0;transition:opacity .15s}.chat-conv-item:hover .chat-conv-delete{opacity:1}.chat-conv-delete:hover{color:var(--style)}.chat-conv-empty{text-align:center;padding:24px 16px;color:var(--text-muted);font-size:.8rem}.chat-window-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px;background:#f8f7f4}.chat-window-footer{display:flex;align-items:center;gap:8px;padding:12px 14px;border-top:1px solid var(--border);background:var(--bg-white);flex-shrink:0}.chat-window-footer .chat-input{flex:1;min-height:40px;max-height:120px;border:1px solid var(--border);border-radius:20px;padding:10px 16px;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s;resize:none;overflow-y:auto;line-height:1.4}.chat-window-footer .chat-input:focus{border-color:var(--style)}.chat-send-btn{width:40px;height:40px;border-radius:50%;background:var(--style);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}.chat-send-btn:hover{background:var(--style-hover)}.chat-window-body .chat-welcome{text-align:center;padding:24px 16px;color:var(--text-secondary)}.chat-welcome-icon{font-size:2.5rem;margin-bottom:12px}.chat-window-body .chat-welcome p{margin:0 0 4px;font-size:.9rem;line-height:1.5}.chat-welcome-note{font-size:.8rem;color:var(--text-muted)}.chat-bubble-row{display:flex;flex-direction:column;max-width:80%}.chat-bubble-user{align-self:flex-end;align-items:flex-end}.chat-bubble-assistant{align-self:flex-start;align-items:flex-start}.chat-bubble{padding:10px 14px;border-radius:16px;font-size:.9rem;line-height:1.5;word-break:break-word}.chat-bubble-user .chat-bubble{background:var(--style);color:#fff;border-bottom-right-radius:4px}.chat-bubble-assistant .chat-bubble{background:var(--bg-white);color:var(--text-body);border-bottom-left-radius:4px;border:1px solid var(--border)}.chat-bubble-time{font-size:.7rem;color:var(--text-muted);margin-top:3px;padding:0 4px}.chat-typing{display:flex;gap:4px;padding:12px 16px!important}.chat-typing span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:chatTyping 1.4s infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chatTyping{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-progress-indicator{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);max-width:85%}.chat-progress-step{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-secondary);transition:all .3s ease}.chat-progress-step.active .chat-progress-text{color:var(--text-heading);font-weight:500}.chat-progress-step.done .chat-progress-text{color:var(--text-muted);font-weight:400}.chat-progress-step.done .chat-progress-dots{display:none}.chat-progress-step.done:after{content:"✓";color:var(--style-gold);font-size:.75rem;margin-left:auto}.chat-progress-icon{font-size:.9rem;flex-shrink:0}.chat-progress-text{flex:1}.chat-progress-dots{display:inline-flex;gap:2px}.chat-progress-dots span{animation:progressDot 1.4s infinite both;font-weight:700}.chat-progress-dots span:nth-child(2){animation-delay:.2s}.chat-progress-dots span:nth-child(3){animation-delay:.4s}@keyframes progressDot{0%,80%,to{opacity:0}40%{opacity:1}}@media(max-width:768px){.chat-window{bottom:0;right:0;left:0;width:100%!important;height:80vh!important;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}body.page-login .chat-window{display:none!important}.chat-action-bar{display:flex;gap:6px;margin-top:6px;width:100%}.chat-action-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text-muted);font-size:.72rem;cursor:pointer;font-family:inherit;transition:all .2s;white-space:nowrap}.chat-action-btn:hover{border-color:var(--style);color:var(--style);background:#a500340a}.chat-action-btn:disabled{opacity:.6;cursor:default}.chat-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin-top:8px;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text-muted);font-size:.75rem;cursor:pointer;font-family:inherit;transition:all .2s}.chat-sources-toggle:hover{border-color:var(--style);color:var(--style)}.chat-sources-arrow{display:inline-block;font-size:.65rem;transition:transform .2s}.chat-sources-arrow.open{transform:rotate(90deg)}.chat-sources{display:none;margin-top:8px;max-height:250px;overflow-y:auto}.chat-sources.open{display:flex;flex-direction:column;gap:6px}.chat-source-item{display:flex;align-items:center;padding:4px 0}.chat-source-tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:.65rem;font-weight:600;margin-right:6px;flex-shrink:0}.chat-source-tag.faq,.chat-source-tag.edu{background:#85714d14;color:var(--style-gold)}.chat-source-tag.web{background:#85714d0f;color:var(--style-gold)}.chat-source-label{font-size:.75rem;color:var(--text-secondary)}a.chat-source-label{color:var(--style);text-decoration:underline}.chat-resize-handle{position:absolute;z-index:5}.chat-resize-n{top:0;left:8px;right:8px;height:4px;cursor:n-resize}.chat-resize-s{bottom:0;left:8px;right:8px;height:4px;cursor:s-resize}.chat-resize-e{right:0;top:8px;bottom:8px;width:4px;cursor:e-resize}.chat-resize-w{left:0;top:8px;bottom:8px;width:4px;cursor:w-resize}.chat-resize-ne{top:0;right:0;width:10px;height:10px;cursor:ne-resize}.chat-resize-nw{top:0;left:0;width:10px;height:10px;cursor:nw-resize}.chat-resize-se{bottom:0;right:0;width:10px;height:10px;cursor:se-resize}.chat-resize-sw{bottom:0;left:0;width:10px;height:10px;cursor:sw-resize}.chat-resize-grip{position:absolute;bottom:2px;right:2px;width:20px;height:20px;cursor:nwse-resize;z-index:3;opacity:.25;transition:opacity .2s;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='14' cy='14' r='1.5' fill='%23666'/%3E%3Ccircle cx='8' cy='14' r='1.5' fill='%23666'/%3E%3Ccircle cx='14' cy='8' r='1.5' fill='%23666'/%3E%3C/svg%3E")}.chat-window:hover .chat-resize-grip{opacity:.5}@media(max-width:768px){.chat-resize-handle,.chat-resize-grip{display:none!important}}.chat-msg-content strong{font-weight:600}.chat-msg-content ul,.chat-msg-content ol{margin:4px 0;padding-left:20px}.chat-msg-content li{margin:2px 0}.chat-msg-content code{background:#0000000f;padding:1px 4px;border-radius:3px;font-size:.85em}.chat-msg-content p{margin:4px 0}.chat-msg-content table.chat-table{border-collapse:collapse;font-size:.78rem;margin:6px 0;width:100%}.chat-msg-content table.chat-table th,.chat-msg-content table.chat-table td{border:1px solid var(--border);padding:4px 8px;text-align:left}.chat-msg-content table.chat-table th{background:var(--bg-offwhite);font-weight:600}.chat-msg-content h1,.chat-msg-content h2,.chat-msg-content h3,.chat-msg-content h4{font-weight:600;margin:8px 0 4px}.chat-msg-content h1{font-size:1.05rem}.chat-msg-content h2{font-size:.95rem}.chat-msg-content h3{font-size:.9rem}.chat-msg-content h4{font-size:.85rem}.chat-msg-content hr{border:none;border-top:1px solid var(--border);margin:8px 0}.chat-msg-content pre{background:#1e1e1e;color:#d4d4d4;padding:10px 12px;border-radius:6px;overflow-x:auto;font-size:.78rem;margin:6px 0}.chat-msg-content a{color:var(--style);text-decoration:underline}.chatbot-fab{position:fixed;bottom:88px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--style);color:#fff;z-index:85;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #a500344d;transition:all .3s ease}.chatbot-fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #a5003466}.chatbot-fab:hover .chatbot-fab-tooltip{opacity:1;transform:translateY(-50%);pointer-events:auto}.chatbot-fab-tooltip{position:absolute;right:100%;top:50%;transform:translate(-12px) translateY(-50%);white-space:nowrap;background:var(--text-heading);color:#fff;padding:8px 14px;border-radius:8px;font-size:.82rem;font-weight:500;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 2px 8px #00000026;margin-right:12px}body.page-login .chatbot-fab{display:none!important}@media(max-width:768px){.chatbot-fab{bottom:140px;right:24px;width:48px;height:48px;transition:bottom .3s ease}}.chatbot-announce{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(4px)}.chatbot-announce-card{background:#fff;border-radius:16px;padding:32px 28px;text-align:center;max-width:340px;box-shadow:0 20px 60px #00000026}.chatbot-announce-icon{margin-bottom:16px}.chatbot-announce-title{font-size:1.1rem;font-weight:700;color:var(--text-heading);margin:0 0 8px}.chatbot-announce-desc{font-size:.88rem;color:var(--text-secondary);line-height:1.6;margin:0 0 20px}.chatbot-announce-btn{background:var(--style);color:#fff;border:none;padding:10px 32px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s}.chatbot-announce-btn:hover{background:var(--style-hover)}.faq-page{max-width:1100px;margin:0 auto;padding:24px 0}.faq-header{text-align:center;margin-bottom:32px}.faq-title{font-size:1.75rem;font-weight:700;color:var(--text-heading);margin:0 0 8px}.faq-subtitle{font-size:.95rem;color:var(--text-secondary);margin:0}.faq-search{position:relative;display:flex;align-items:center;margin-bottom:16px}.faq-search>[data-lucide]{position:absolute;left:14px;color:var(--text-muted);pointer-events:none}.faq-search-input{width:100%;padding:12px 40px 12px 42px;border:1px solid var(--border);border-radius:12px;background:var(--bg-white);font-size:.9rem;font-family:inherit;color:var(--text-body);transition:border-color .2s}.faq-search-input:focus{outline:none;border-color:var(--style)}.faq-search-input::placeholder{color:var(--text-muted)}.faq-search-clear{position:absolute;right:12px;background:none;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:4px 8px;line-height:1}.faq-search-clear:hover{color:var(--text-body)}.faq-category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.faq-cat-btn{padding:6px 14px;border:1px solid var(--border);border-radius:20px;background:var(--bg-white);color:var(--text-secondary);font-size:.82rem;font-family:inherit;cursor:pointer;transition:all .2s}.faq-cat-btn:hover:not(.active){border-color:var(--style);color:var(--style)}.faq-cat-btn.active{background:var(--style);border-color:var(--style);color:#fff;font-weight:500}.faq-cat-count{font-size:.75rem;opacity:.7;margin-left:2px}.faq-keyword-filter{margin-bottom:16px}.faq-kw-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.faq-kw-label{font-size:.8rem;color:var(--text-muted);font-weight:500}.faq-kw-selected-count{font-size:.75rem;color:var(--style);font-weight:500}.faq-kw-clear{font-size:.75rem;color:var(--text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0;font-family:inherit}.faq-kw-clear:hover{color:var(--style)}.faq-kw-buttons{display:flex;flex-wrap:wrap;gap:6px}.faq-kw-btn{padding:4px 10px;border:1px solid var(--border);border-radius:14px;background:var(--bg-white);color:var(--text-muted);font-size:.75rem;font-family:inherit;cursor:pointer;transition:all .2s}.faq-kw-btn:hover:not(.active){border-color:var(--style);color:var(--style)}.faq-kw-btn.active{background:var(--style-light);border-color:var(--style);color:var(--style);font-weight:500}.faq-card-keywords{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.faq-keyword-badge{display:inline-block;padding:2px 8px;background:var(--bg-offwhite);color:var(--text-muted);font-size:.7rem;border-radius:10px}.faq-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.faq-controls-left{display:flex;align-items:center;gap:12px}.faq-sort{display:flex;gap:4px;background:var(--bg-offwhite);border-radius:20px;padding:3px}.faq-sort-btn{padding:6px 16px;border:none;border-radius:18px;background:transparent;color:var(--text-secondary);font-size:.85rem;font-family:inherit;cursor:pointer;transition:all .2s}.faq-sort-btn.active{background:var(--style);color:#fff;font-weight:500}.faq-sort-btn:hover:not(.active){background:var(--bg-warm)}.faq-count{font-size:.85rem;color:var(--text-muted)}.faq-view-toggle{display:flex;gap:2px;background:var(--bg-offwhite);border-radius:8px;padding:3px}.faq-view-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.faq-view-btn.active{background:var(--style);color:#fff}.faq-view-btn:hover:not(.active){background:var(--bg-warm)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.faq-card{background:var(--bg-white);border-radius:var(--radius);padding:0;border:1px solid transparent;box-shadow:0 1px 3px #0000000a;transition:all .25s ease;display:flex;flex-direction:column}.faq-card-body{padding:24px 24px 12px;cursor:pointer}.faq-card:hover{box-shadow:0 4px 16px #00000014;border-color:var(--border);transform:translateY(-2px)}.faq-card-highlight{border-color:var(--style)!important;box-shadow:0 0 0 3px #a5003426,0 4px 16px #00000014!important;animation:faq-highlight-pulse 1.5s ease-in-out 2}@keyframes faq-highlight-pulse{0%,to{box-shadow:0 0 0 3px #a5003426}50%{box-shadow:0 0 0 6px #a5003440}}.faq-card-category{display:inline-block;padding:3px 10px;background:var(--style-light);color:var(--style);font-size:.75rem;font-weight:500;border-radius:12px;margin-bottom:12px;align-self:flex-start}.faq-card-question{font-size:1rem;font-weight:600;color:var(--text-heading);margin:0 0 12px;line-height:1.5}.faq-card-answer{font-size:.9rem;color:var(--text-body);line-height:1.7;margin:0;flex:1}.faq-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:0;padding:8px 24px 16px;border-top:1px solid var(--bg-offwhite)}.faq-permalink{display:inline-flex;align-items:center;color:var(--text-muted);opacity:.5;transition:opacity .2s}.faq-card:hover .faq-permalink,.faq-list-item:hover .faq-permalink{opacity:1}.faq-permalink:hover{color:var(--style)}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-list-item{background:var(--bg-white);border-radius:var(--radius);border:1px solid transparent;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:border-color .2s}.faq-list-item:hover{border-color:var(--border)}.faq-list-item-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;gap:16px}.faq-list-item-left{display:flex;align-items:center;gap:12px;min-width:0}.faq-list-item-left .faq-card-category{margin-bottom:0;flex-shrink:0}.faq-list-item-question{font-size:.95rem;font-weight:600;color:var(--text-heading);line-height:1.5}.faq-list-chevron{color:var(--text-muted);transition:transform .2s;flex-shrink:0}.faq-list-item.open .faq-list-chevron{transform:rotate(180deg)}.faq-list-item-body{display:none;padding:0 20px 16px;border-top:1px solid var(--bg-offwhite)}.faq-list-item.open .faq-list-item-body{display:block}.faq-list-item-body .faq-card-answer{margin-top:12px}.faq-empty{text-align:center;padding:60px 20px}.faq-empty-icon{font-size:3rem;margin-bottom:16px}.faq-empty p{color:var(--text-secondary);margin:0 0 4px}.faq-empty-note{font-size:.85rem;color:var(--text-muted)}.faq-loading{text-align:center;padding:60px;color:var(--text-muted)}@media(max-width:768px){.faq-grid{grid-template-columns:1fr}.faq-controls{flex-direction:column;gap:12px;align-items:flex-start}.faq-list-item-left{flex-direction:column;align-items:flex-start;gap:6px}.faq-title{font-size:1.4rem}}@media(min-width:769px)and (max-width:1024px){.faq-grid{grid-template-columns:repeat(2,1fr)}}.faq-detail-overlay{position:fixed;inset:0;z-index:9999;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;padding:24px}.faq-detail-overlay.open{opacity:1}.faq-detail-modal{background:var(--bg-white);border-radius:16px;max-width:680px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026;transform:translateY(20px);transition:transform .2s}.faq-detail-overlay.open .faq-detail-modal{transform:translateY(0)}.faq-detail-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border)}.faq-detail-back{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;font-family:inherit;padding:4px 8px;border-radius:6px;transition:all .15s}.faq-detail-back:hover{background:var(--bg-offwhite);color:var(--text-primary)}.faq-detail-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted);font-size:.8rem;text-decoration:none;padding:4px 10px;border-radius:6px;transition:all .15s}.faq-detail-link:hover{background:var(--bg-offwhite);color:var(--style)}.faq-detail-body{padding:24px;overflow-y:auto;flex:1}.faq-detail-question{font-size:1.15rem;font-weight:700;margin:12px 0 20px;line-height:1.5;color:var(--text-primary)}.faq-detail-answer{font-size:.95rem;line-height:1.75;color:var(--text-secondary);white-space:pre-line}.faq-detail-author{margin-top:20px;font-size:.8rem;color:var(--text-muted)}.faq-detail-footer{padding:12px 24px 16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end}@media(max-width:768px){.faq-detail-overlay{padding:0;align-items:flex-end}.faq-detail-modal{max-height:90vh;border-radius:16px 16px 0 0;max-width:100%}}
