.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:480px;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000001f}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:18px;font-weight:600;color:#1e293b}.modal-close{width:32px;height:32px;border:none;background:transparent;font-size:18px;color:#64748b;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#f1f5f9;color:#1e293b}.modal-new-btn{margin:12px 24px;padding:10px 16px;border:2px dashed #cbd5e1;background:transparent;border-radius:8px;font-size:14px;color:#64748b;cursor:pointer;transition:all .2s}.modal-new-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.modal-error{margin:0 24px;padding:8px 12px;background:#fef2f2;color:#dc2626;border-radius:6px;font-size:13px}.modal-list{overflow-y:auto;padding:8px 24px 20px;flex:1}.modal-loading,.modal-empty{text-align:center;color:#94a3b8;font-size:14px;padding:24px 0}.modal-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;transition:background .15s}.modal-list-item:hover{background:#f8fafc}.modal-item-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.modal-item-title{font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-item-date{font-size:12px;color:#94a3b8}.modal-item-actions{display:flex;gap:6px;flex-shrink:0;margin-left:12px}.modal-btn-open,.modal-btn-delete{padding:6px 14px;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s}.modal-btn-open{background:#3b82f6;color:#fff}.modal-btn-open:hover{background:#2563eb}.modal-btn-delete{background:#f1f5f9;color:#64748b}.modal-btn-delete:hover{background:#fef2f2;color:#dc2626}.left-sidebar{width:56px;background:#f1f5f9;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;padding:16px 0;flex-shrink:0}.sidebar-logo{padding:8px;cursor:pointer;transition:transform .2s}.sidebar-logo:hover{transform:scale(1.05)}.sidebar-top{display:flex;flex-direction:column;gap:8px;margin-top:8px}.sidebar-spacer{flex:1}.sidebar-bottom{display:flex;flex-direction:column;gap:8px}.sidebar-btn{width:40px;height:40px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.sidebar-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.sidebar-btn:disabled{color:#cbd5e1;cursor:default}.save-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#00000059;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center}.save-confirm-modal{background:#fff;border-radius:14px;padding:24px 28px;width:300px;max-width:90vw;box-shadow:0 12px 40px #0000001f;text-align:center}.save-confirm-modal p{margin:0 0 16px;font-size:14px;font-weight:600;color:#1c2b42}.save-confirm-actions{display:flex;gap:8px;margin-top:12px}.save-confirm-yes{flex:1;padding:9px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:13px;font-weight:600;font-family:Noto Sans KR,sans-serif;cursor:pointer}.save-confirm-yes:hover:not(:disabled){background:#2563eb}.save-confirm-yes:disabled{opacity:.4;cursor:not-allowed}.save-confirm-no{flex:1;padding:9px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:13px;font-family:Noto Sans KR,sans-serif;cursor:pointer}.save-title-input{width:100%;padding:9px 12px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;font-family:Noto Sans KR,sans-serif;outline:none;box-sizing:border-box}.save-title-input:focus{border-color:#3b82f6}.text-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1300}.text-editor-modal{width:min(960px,calc(100vw - 48px));height:min(720px,calc(100vh - 64px));display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 30px 80px #0f172a47;overflow:hidden}.text-editor-header{padding:20px 24px 0;display:flex;align-items:center;justify-content:space-between}.text-editor-title{font-size:18px;font-weight:800;color:#0f172a}.te-tabs{display:flex;gap:2px;background:#f1f5f9;border-radius:10px;padding:3px}.te-tab{padding:6px 16px;border:none;background:transparent;font-size:12px;font-weight:700;color:#64748b;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.te-tab:hover{color:#334155}.te-tab.active{background:#fff;color:#0f172a;box-shadow:0 1px 3px #00000014}.te-table-hint{padding:8px 24px;font-size:11px;color:#94a3b8;border-bottom:1px solid #e2e8f0}.te-table-wrap{flex:1;overflow:auto;min-height:200px}.te-table{width:100%;border-collapse:collapse;font-size:13px}.te-th{position:sticky;top:0;z-index:2;background:#f1f5f9;padding:10px 12px;text-align:center;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.4px;border-bottom:2px solid #cbd5e1;border-right:1px solid #e2e8f0;white-space:nowrap}.te-th:last-child{border-right:none}.te-th-subject{width:120px;position:relative}.te-th-subject span{margin-right:4px}.te-th-add-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #cbd5e1;background:#fff;color:#64748b;font-size:14px;font-weight:700;border-radius:5px;cursor:pointer;transition:all .15s;vertical-align:middle}.te-th-add-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.te-th-textbook{width:160px}.te-th-content{text-align:left}.te-th-act{width:36px}.te-td{padding:0;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;vertical-align:middle}.te-td:last-child{border-right:none}.te-td-subject,.te-td-textbook{padding:12px 10px;vertical-align:middle;text-align:center;background:#f8fafc;border-right:2px solid #cbd5e1}.te-td-subject{background:#f0f4ff}.te-group-label{font-size:13px;font-weight:700;color:#334155;line-height:1.4}.te-input-group{font-weight:700;color:#334155;font-size:13px;text-align:center}.te-td-content{padding:4px 8px}.te-node-box{display:flex;align-items:center;gap:6px;border-radius:8px;padding:4px 8px;border:1px solid transparent;transition:border-color .15s,background .15s}.te-node-box:hover{border-color:#e2e8f0;background:#fafbfc}.te-node-box.depth-3{border-left:3px solid #f59e0b;background:#fffbeb;margin-left:0}.te-node-box.depth-4{border-left:3px solid #10b981;background:#ecfdf5;margin-left:24px}.te-node-box.depth-5{border-left:3px solid #8b5cf6;background:#f5f3ff;margin-left:48px}.te-node-box.depth-6{border-left:3px solid #ec4899;background:#fdf2f8;margin-left:72px}.te-depth-tag{flex-shrink:0;font-size:9px;font-weight:800;padding:2px 5px;border-radius:4px;letter-spacing:.3px;white-space:nowrap}.te-depth-tag.depth-3{background:#fef3c7;color:#92400e}.te-depth-tag.depth-4{background:#d1fae5;color:#065f46}.te-depth-tag.depth-5{background:#ede9fe;color:#5b21b6}.te-depth-tag.depth-6{background:#fce7f3;color:#9d174d}.te-input{flex:1;border:none;outline:none;background:transparent;font-size:13px;font-weight:500;color:#0f172a;padding:6px;border-radius:5px;font-family:inherit;box-sizing:border-box;min-width:0}.te-input:focus{background:#fff;box-shadow:inset 0 0 0 1.5px #93c5fd}.te-input::-moz-placeholder{color:#cbd5e1}.te-input::placeholder{color:#cbd5e1}.te-td-act{text-align:center;padding:0 4px}.te-del-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#cbd5e1;font-size:16px;cursor:pointer;border-radius:5px;transition:color .15s,background .15s}.te-del-btn:hover{color:#ef4444;background:#fef2f2}.te-textbook-cell{display:flex;flex-direction:column;align-items:center;gap:6px}.te-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:4px 10px;border:1px dashed #cbd5e1;background:transparent;color:#94a3b8;font-size:11px;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}.te-add-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.te-add-content{margin:6px 8px}.te-node-add-child{flex-shrink:0;width:22px;height:22px;border:1px solid #e2e8f0;background:#fff;color:#94a3b8;font-size:14px;font-weight:700;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .15s}.te-node-box:hover .te-node-add-child{opacity:1}.te-node-add-child:hover{border-color:#3b82f6;color:#3b82f6;background:#eff6ff}.te-empty-add{padding:8px 12px;text-align:center}.te-row:hover .te-td-content,.te-row:hover .te-td-act{background:#fafbfc}.te-row-new .te-td-content{background:#eff6ff}.te-row-new .te-node-box{border-color:#93c5fd;background:#eff6ff}.te-json-wrap{flex:1;display:flex;flex-direction:column;min-height:200px}.te-json-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;border-bottom:1px solid #e2e8f0;gap:12px}.te-json-toolbar-left{display:flex;align-items:center;gap:10px}.te-btn-validate{min-width:64px;height:32px;background:#f8fafc;color:#334155;border:1px solid #cbd5e1;border-radius:8px;font-size:12px;font-weight:700}.te-btn-validate:hover{background:#e2e8f0}.te-btn-copy{min-width:56px;height:32px;background:#f8fafc;color:#334155;border:1px solid #cbd5e1;border-radius:8px;font-size:12px;font-weight:700}.te-btn-copy:hover{background:#e2e8f0}.te-btn-apply-json{min-width:auto;height:32px;padding:0 14px;background:#059669;color:#fff;border:1px solid #047857;border-radius:8px;font-size:12px;font-weight:700}.te-btn-apply-json:hover{background:#047857}.te-validation-msg{font-size:12px;font-weight:600}.te-validation-msg.te-valid{color:#059669}.te-validation-msg.te-invalid{color:#dc2626}.te-json-errors{padding:8px 24px;background:#fef2f2;border-bottom:1px solid #fecaca;max-height:100px;overflow-y:auto}.te-json-error-item{font-size:11px;color:#991b1b;padding:2px 0;font-family:JetBrains Mono,monospace}.te-json-textarea{flex:1;margin:0;padding:16px 24px;border:none;outline:none;resize:none;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;line-height:1.6;color:#0f172a;background:#fafbfc;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.te-json-textarea::-moz-placeholder{color:#cbd5e1}.te-json-textarea::placeholder{color:#cbd5e1}.te-json-hint{padding:8px 24px;font-size:11px;color:#94a3b8;border-top:1px solid #e2e8f0;background:#f8fafc}.text-editor-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-top:1px solid #e2e8f0}.text-editor-count{font-size:12px;color:#94a3b8;font-variant-numeric:tabular-nums}.text-editor-footer-actions{display:flex;gap:10px}.te-btn{min-width:80px;height:36px;border-radius:10px;border:1px solid #dbe3ef;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}.te-btn-secondary{background:#fff;color:#475569}.te-btn-secondary:hover{background:#f8fafc}.te-btn-primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#1d4ed8;color:#fff}.te-btn-primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af)}.header{height:40px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 14px;gap:10px;flex-shrink:0}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:12px}.header-left{flex-shrink:0}.header-title h1{font-size:13px;font-weight:600;color:#1e293b;margin:0;font-family:Inter,Noto Sans KR,sans-serif}.header-subtitle{font-size:12px;color:#3b82f6;display:block}.header-context{display:flex;align-items:center;gap:8px}.header-context-back,.header-filter-reset{border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;border-radius:8px;padding:7px 10px;font-size:12px;font-family:Inter,Noto Sans KR,sans-serif}.header-context-chip{padding:7px 10px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;color:#334155;font-size:12px;white-space:nowrap}.header-context-select,.header-filter-select{border:1px solid #e2e8f0;background:#fff;color:#334155;border-radius:8px;padding:7px 10px;font-size:12px;font-family:Inter,Noto Sans KR,sans-serif}.header-tool-btn{width:28px;height:28px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s}.header-tool-btn:hover,.header-context-back:hover,.header-filter-reset:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.ai-label{font-weight:600;font-size:14px;font-family:Inter,sans-serif}.header-center{flex:1 1 auto;justify-content:center;min-width:0}.header-filter-bar{display:flex;align-items:center;gap:8px;min-width:0}.header-right{flex-shrink:0}.save-status{font-size:12px;font-weight:500;padding:4px 10px;border-radius:6px;transition:all .3s;min-height:24px}.save-status--idle{color:transparent}.save-status--saving{color:#f59e0b;background:#fef3c7}.save-status--saved{color:#10b981;background:#d1fae5}.save-status--error{color:#ef4444;background:#fee2e2}.action-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #e2e8f0;background:#fff;color:#475569;cursor:pointer;border-radius:6px;font-size:11px;font-weight:500;font-family:Inter,sans-serif;transition:all .2s}.action-btn:hover:not(.disabled){background:#f1f5f9;border-color:#cbd5e1}.action-btn.disabled{opacity:.5;cursor:not-allowed}.header-publish{display:flex;align-items:center;gap:6px}.publish-badge{padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.publish-badge--draft{color:#92400e;background:#fef3c7;border:1px solid #fde68a}.publish-badge--published{color:#065f46;background:#d1fae5;border:1px solid #a7f3d0}.legend-bar{min-height:46px;flex-shrink:0;background:#fffffffa;border-top:1px solid var(--b2);display:flex;align-items:center;flex-wrap:wrap;row-gap:4px;padding:6px 14px;z-index:50;position:relative;width:100%}.legend-group{display:flex;align-items:center;gap:9px;padding-right:16px;border-right:1px solid var(--b1);margin-right:16px;flex-shrink:0}.legend-group:last-child{border-right:none;padding-right:0;margin-right:0}.legend-title{font-size:9px;font-family:JetBrains Mono,monospace;color:var(--m1);letter-spacing:1px;margin-right:3px}.legend-item{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--m2);white-space:nowrap;flex-shrink:0}.legend-item-button{border:1px solid var(--b2);background:#fff;cursor:pointer;border-radius:999px;padding:5px 10px;transition:background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.legend-item-button:hover{background:#f8fafc;border-color:var(--m1);color:var(--m3)}.legend-item-button.active{font-weight:600}.legend-item-button.disabled,.legend-item-button:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;border-style:dashed}.legend-group-dim .legend-item-button:not(.active){opacity:.5}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.square{border-radius:2px}.legend-x{font-size:9px;margin-left:2px;opacity:.7}.legend-reset{margin-left:auto;display:flex;align-items:center;gap:4px;border:1px solid var(--b2);background:#fff;border-radius:999px;padding:5px 10px;font-size:11px;color:var(--m2);cursor:pointer}.legend-reset:hover{background:#f8fafc;color:var(--m3)}.legend-reset kbd{font-size:9px;border:1px solid var(--b2);border-radius:3px;padding:0 3px}.playlist-panel{flex:1;display:flex;flex-direction:column;border-bottom:1px solid #e2e8f0;overflow:hidden;min-height:0}.playlist-panel.collapsed{flex:none}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;cursor:pointer;transition:background .2s}.panel-header:hover{background:#f8fafc}.panel-header h3{font-size:14px;font-weight:600;color:#1e293b;margin:0;font-family:Inter,sans-serif}.collapse-btn{width:24px;height:24px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:transform .2s}.collapse-btn.rotated{transform:rotate(180deg)}.search-box{display:flex;align-items:center;gap:8px;margin:12px 16px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#94a3b8}.search-box input{border:none;background:transparent;outline:none;font-size:13px;color:#1e293b;width:100%;font-family:Inter,sans-serif}.search-box input::-moz-placeholder{color:#94a3b8}.search-box input::placeholder{color:#94a3b8}.video-list{flex:1;overflow-y:auto;padding:0 16px 16px}.video-item{display:flex;gap:12px;padding:8px 0;cursor:pointer;transition:opacity .2s}.video-item:hover{opacity:.8}.video-item.main-video{flex-direction:column;margin-bottom:12px}.video-thumbnail{width:100%;height:140px;border-radius:8px;position:relative;overflow:hidden}.video-item:not(.main-video) .video-thumbnail{width:120px;height:68px;flex-shrink:0}.video-thumbnail.mountain{background:linear-gradient(180deg,#475569,#1e293b)}.video-thumbnail.ocean{background:linear-gradient(180deg,#0ea5e9,#0369a1)}.video-thumbnail.forest{background:linear-gradient(180deg,#22c55e,#15803d)}.play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0000004d;transition:background .2s}.video-item:hover .play-overlay{background:#00000080}.video-duration{position:absolute;bottom:4px;right:4px;background:#000c;color:#fff;font-size:11px;padding:2px 6px;border-radius:4px;font-family:Inter,sans-serif}.video-info{flex:1;min-width:0}.video-info h4{font-size:13px;font-weight:500;color:#1e293b;margin:0 0 2px;font-family:Inter,Noto Sans KR,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-info p{font-size:12px;color:#64748b;margin:0;font-family:Inter,sans-serif}.ai-panel{height:300px;display:flex;flex-direction:column;background:#fff;flex-shrink:0}.ai-panel.collapsed{height:auto}.ai-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.ai-panel-header h3{font-size:14px;font-weight:600;color:#1e293b;margin:0;font-family:Inter,sans-serif}.close-btn{width:24px;height:24px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background:#f1f5f9;color:#1e293b}.ai-messages{flex:1;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.ai-message{display:flex;gap:12px}.ai-message.user{justify-content:flex-end}.ai-avatar{width:32px;height:32px;background:linear-gradient(135deg,#8b5cf6,#6366f1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:600;flex-shrink:0;font-family:Inter,sans-serif}.ai-bubble{max-width:80%;padding:12px 16px;border-radius:12px;font-size:13px;line-height:1.5;font-family:Inter,Noto Sans KR,sans-serif}.ai-bubble.assistant{background:#1e293b;color:#fff;border-top-left-radius:4px}.ai-bubble.user{background:#eff6ff;color:#1e293b;border-top-right-radius:4px}.ai-suggestions{display:flex;gap:8px;padding:0 16px;flex-wrap:wrap}.suggestion-btn{padding:8px 14px;border:1px solid #e2e8f0;background:#fff;color:#3b82f6;font-size:12px;border-radius:20px;cursor:pointer;transition:all .2s;font-family:Inter,Noto Sans KR,sans-serif}.suggestion-btn:hover{background:#eff6ff;border-color:#3b82f6}.collapse-suggestion-btn{padding:8px 14px;border:none;background:#ef4444;color:#fff;font-size:12px;border-radius:20px;cursor:pointer;transition:all .2s;font-family:Inter,Noto Sans KR,sans-serif}.collapse-suggestion-btn:hover{background:#dc2626}.ai-input-area{padding:16px;border-top:1px solid #e2e8f0}.ai-input-area input{width:100%;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;outline:none;font-family:Inter,Noto Sans KR,sans-serif;transition:border-color .2s}.ai-input-area input:focus{border-color:#3b82f6}.ai-input-area input::-moz-placeholder{color:#94a3b8}.ai-input-area input::placeholder{color:#94a3b8}.right-panel{width:320px;background:var(--s1, white);border-left:1px solid var(--b2, #e2e8f0);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.right-panel-tabs{display:flex;padding:7px 10px;gap:3px;border-bottom:1px solid var(--b1, #e2e8f0);flex-shrink:0}.rp-tab{font-size:10px;padding:4px 9px;border-radius:5px;cursor:pointer;font-weight:700;font-family:JetBrains Mono,monospace;transition:all .2s;border:1px solid transparent;background:transparent;color:var(--m1, #94a3b8)}.rp-tab:hover{background:var(--s2, #f1f5f9);color:var(--m2, #475569)}.rp-tab.active{background:var(--L1, #00D4BC);color:#000;border-color:var(--L1, #00D4BC)}.right-panel-content{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--s3, #e2e8f0) transparent}.rp-placeholder{display:flex;flex-direction:column;height:100%}.rp-placeholder-text{text-align:center;color:var(--m1, #94a3b8);padding:40px 0;font-size:12px;font-family:JetBrains Mono,monospace}@media (max-width: 1024px){.right-panel{width:280px}}@media (max-width: 768px){.right-panel{display:none}}.adaptive-panel{width:0;flex-shrink:0;background:var(--s1);border-right:1px solid var(--b2);overflow:hidden;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;z-index:10}.adaptive-panel.open{width:260px}.adaptive-header{padding:14px 15px 10px;border-bottom:1px solid var(--b1);flex-shrink:0}.adaptive-title{font-family:JetBrains Mono,monospace;font-weight:800;font-size:13px;color:var(--txt);margin-bottom:3px}.adaptive-subtitle{font-size:9px;color:var(--m2);font-family:JetBrains Mono,monospace;letter-spacing:.5px}.adaptive-content{flex:1;overflow-y:auto;padding:10px;scrollbar-width:thin;scrollbar-color:var(--s3) transparent}.adaptive-section{margin-bottom:14px}.adaptive-section-title{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:2px;color:var(--m1);text-transform:uppercase;margin-bottom:6px}.adaptive-node{display:flex;align-items:center;gap:7px;padding:7px 9px;background:var(--s2);border-radius:7px;margin-bottom:4px;cursor:pointer;transition:all .15s;border:1px solid transparent;font-size:11px}.adaptive-node:hover{background:var(--s3);border-color:var(--b2)}.adaptive-node-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.adaptive-node-name{flex:1;color:var(--txt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adaptive-node-mc{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--m1)}.adaptive-progress{margin-top:10px}.adaptive-progress-bar{height:4px;background:var(--s3);border-radius:2px;overflow:hidden}.adaptive-progress-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,var(--L1),var(--L3));transition:width .5s}.adaptive-progress-label{font-size:10px;color:var(--m2);margin-top:3px;font-family:JetBrains Mono,monospace}.quiz-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.quiz-box{background:var(--s1);border:1px solid var(--b2);box-shadow:0 20px 60px #00000026;border-radius:14px;padding:24px;width:540px;max-width:95vw;max-height:88vh;overflow-y:auto}.quiz-title{font-family:JetBrains Mono,monospace;font-weight:800;font-size:17px;color:var(--txt);margin-bottom:3px}.quiz-subtitle{font-size:11px;color:var(--m2);margin-bottom:18px}.quiz-card{background:var(--s2);border-radius:9px;padding:14px;margin-bottom:10px;border:1px solid var(--b1)}.quiz-card-num{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:2px;margin-bottom:5px;color:var(--m1)}.quiz-card-question{font-size:13px;color:var(--txt);font-weight:500;line-height:1.6;margin-bottom:9px}.quiz-input{width:100%;background:var(--s3);border:1px solid var(--b2);border-radius:6px;padding:8px 10px;color:var(--txt);font-size:12px;font-family:Noto Sans KR,sans-serif;resize:none;outline:none;transition:border-color .2s}.quiz-input:focus{border-color:var(--L1)}.quiz-hint{font-size:10px;color:var(--m2);margin-top:5px}.quiz-hint span{color:var(--L1)}.quiz-self-eval{margin-top:14px;background:var(--s2);border-radius:9px;padding:12px}.quiz-self-eval-title{font-size:12px;color:var(--txt);font-weight:600;margin-bottom:9px}.quiz-slider{width:100%;-webkit-appearance:none;height:4px;background:var(--s3);border-radius:2px;outline:none;margin-bottom:5px}.quiz-slider::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:var(--L1);cursor:pointer}.quiz-slider-value{font-family:JetBrains Mono,monospace;font-size:14px;font-weight:700;text-align:center;color:var(--L1)}.quiz-actions{display:flex;gap:9px;margin-top:14px}.quiz-btn{flex:1;padding:9px;border-radius:7px;border:none;font-weight:700;font-size:12px;cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .2s}.quiz-btn.primary{background:linear-gradient(135deg,var(--L1),#00A896);color:#000}.quiz-btn.secondary{background:var(--s2);color:var(--m2);border:1px solid var(--b2)}.quiz-btn:hover{filter:brightness(1.05)}.ai-picker-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a6b;display:flex;align-items:center;justify-content:center;z-index:1200}.ai-picker-modal{width:min(720px,calc(100vw - 48px));max-height:min(720px,calc(100vh - 64px));overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px #0f172a47;padding:24px}.ai-picker-title{font-size:20px;font-weight:800;color:#0f172a}.ai-picker-subtitle{margin-top:8px;font-size:13px;line-height:1.5;color:#475569}.ai-picker-list{margin-top:18px;display:flex;flex-direction:column;gap:12px}.ai-picker-item{display:flex;gap:12px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.ai-picker-item.checked{border-color:#93c5fd;background:#eff6ff;box-shadow:0 10px 24px #3b82f61a}.ai-picker-item input{margin-top:4px}.ai-picker-copy{display:flex;flex-direction:column;gap:4px}.ai-picker-item-title{font-size:15px;font-weight:700;color:#0f172a}.ai-picker-item-meta{color:#64748b;font-size:13px;line-height:1.45}.ai-picker-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}.ai-picker-btn{min-width:92px;height:40px;border-radius:12px;border:1px solid #dbe3ef;font-size:13px;font-weight:700;cursor:pointer}.ai-picker-btn.secondary{background:#fff;color:#475569}.ai-picker-btn.primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#1d4ed8;color:#fff}.ai-picker-btn:disabled{opacity:.45;cursor:not-allowed}.ai-generating-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9000}.ai-generating-card{display:flex;flex-direction:column;align-items:center;gap:14px;background:#fff;border-radius:20px;padding:32px 48px;box-shadow:0 20px 60px #0f172a38}.ai-generating-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#2563eb;border-radius:50%;animation:ai-spin .8s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-generating-text{font-size:15px;font-weight:700;color:#0f172a}.ai-generating-detail{font-size:13px;color:#64748b;font-variant-numeric:tabular-nums}.ai-generating-bar-track{width:200px;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.ai-generating-bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6);border-radius:3px;transition:width .3s ease}.file-selector{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);font-family:Noto Sans KR,sans-serif}.file-selector-card{width:420px;max-width:92vw;max-height:80vh;background:#fff;border-radius:16px;border:1px solid var(--b1);box-shadow:0 8px 32px #00000014;display:flex;flex-direction:column;overflow:hidden}.file-selector-header{text-align:center;padding:28px 24px 16px;border-bottom:1px solid var(--b1)}.file-selector-icon{font-size:36px;display:block;margin-bottom:6px}.file-selector-header h2{margin:0;font-size:18px;font-weight:700;color:var(--txt)}.file-selector-header p{margin:6px 0 0;font-size:13px;color:#64748b}.file-selector-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px;min-height:120px;max-height:400px}.file-selector-empty{text-align:center;color:#94a3b8;font-size:13px;padding:32px 0}.file-item{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--b1);border-radius:10px;cursor:pointer;transition:all .15s}.file-item:hover{border-color:#3b82f6;background:#f0f5ff}.file-item-info{flex:1;min-width:0}.file-item-name{font-size:14px;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-date{font-size:11px;color:#94a3b8;margin-top:2px}.file-item-actions{display:flex;gap:4px;flex-shrink:0;opacity:0;transition:opacity .15s}.file-item:hover .file-item-actions{opacity:1}.file-action-btn{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .15s}.file-action-btn:hover{background:#e2e8f0}.file-action-delete:hover{background:#fee2e2}.file-rename-form{flex:1}.file-rename-input{width:100%;padding:4px 8px;border:1.5px solid #3b82f6;border-radius:6px;font-size:14px;font-family:Noto Sans KR,sans-serif;outline:none}.file-selector-footer{padding:12px;border-top:1px solid var(--b1)}.file-create-btn{width:100%;padding:10px;border:1.5px dashed #cbd5e1;border-radius:10px;background:transparent;color:#64748b;font-size:13px;font-weight:600;font-family:Noto Sans KR,sans-serif;cursor:pointer;transition:all .15s}.file-create-btn:hover{border-color:#3b82f6;color:#3b82f6;background:#f0f5ff}.file-create-form{display:flex;gap:8px}.file-create-input{flex:1;padding:8px 12px;border:1.5px solid var(--b1);border-radius:8px;font-size:13px;font-family:Noto Sans KR,sans-serif;outline:none}.file-create-input:focus{border-color:#3b82f6}.file-create-confirm{padding:8px 16px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:13px;font-weight:600;font-family:Noto Sans KR,sans-serif;cursor:pointer}.file-create-confirm:hover{background:#2563eb}.file-create-cancel{padding:8px 12px;border:1px solid var(--b1);border-radius:8px;background:#fff;color:#64748b;font-size:13px;font-family:Noto Sans KR,sans-serif;cursor:pointer}.sample-checkbox{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:10px;cursor:pointer;transition:all .15s;font-size:13px;color:#475569;font-weight:500}.sample-checkbox:hover{border-color:#f59e0b;background:#fffbeb}.sample-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:#f59e0b;cursor:pointer}.sample-checkbox input:checked+span{color:#92400e;font-weight:600}.file-create-panel{padding:20px 24px;display:flex;flex-direction:column;gap:16px}.file-create-field{display:flex;flex-direction:column;gap:6px}.file-create-field label{font-size:12px;font-weight:600;color:#475569}.file-create-field input{padding:9px 12px;border:1.5px solid var(--b1);border-radius:8px;font-size:13px;font-family:Noto Sans KR,sans-serif;outline:none;transition:border-color .15s}.file-create-field input:focus{border-color:#3b82f6}.subject-input-row{display:flex;gap:6px}.subject-input-row input{flex:1}.subject-add-btn{padding:8px 14px;border:none;border-radius:8px;background:#e2e8f0;color:#475569;font-size:12px;font-weight:600;font-family:Noto Sans KR,sans-serif;cursor:pointer;flex-shrink:0}.subject-add-btn:hover{background:#cbd5e1}.subject-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.subject-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;font-size:12px;font-weight:500;color:#1e40af}.subject-chip button{border:none;background:none;color:#93c5fd;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.subject-chip button:hover{color:#ef4444}.file-create-actions{display:flex;gap:8px;margin-top:4px}.file-create-submit{flex:1;padding:10px;border:none;border-radius:10px;background:#3b82f6;color:#fff;font-size:14px;font-weight:600;font-family:Noto Sans KR,sans-serif;cursor:pointer;transition:background .15s}.file-create-submit:hover:not(:disabled){background:#2563eb}.file-create-submit:disabled{opacity:.4;cursor:not-allowed}.file-create-back{padding:10px 20px;border:1px solid var(--b1);border-radius:10px;background:#fff;color:#64748b;font-size:14px;font-family:Noto Sans KR,sans-serif;cursor:pointer}.file-pw-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.file-pw-modal{background:#fff;border-radius:16px;padding:28px 32px;width:320px;max-width:90vw;box-shadow:0 16px 48px #0000001f;text-align:center}.file-pw-modal h3{margin:0 0 4px;font-size:16px;font-weight:700;color:#1c2b42}.file-pw-modal p{margin:0 0 16px;font-size:13px;color:#64748b}.file-pw-input{width:100%;padding:10px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:14px;font-family:Noto Sans KR,sans-serif;text-align:center;outline:none;box-sizing:border-box;transition:border-color .2s}.file-pw-input:focus{border-color:#3b82f6}.file-pw-input.error{border-color:#ef4444;animation:loginShake .3s ease}.file-pw-error{display:block;font-size:12px;color:#ef4444;font-weight:500;margin-top:6px}.file-pw-actions{display:flex;gap:8px;margin-top:14px}.file-pw-confirm{flex:1;padding:10px;border:none;border-radius:10px;background:#3b82f6;color:#fff;font-size:13px;font-weight:600;font-family:Noto Sans KR,sans-serif;cursor:pointer}.file-pw-confirm:hover{background:#2563eb}.file-pw-cancel{flex:1;padding:10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;color:#64748b;font-size:13px;font-family:Noto Sans KR,sans-serif;cursor:pointer}.pw-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;z-index:9600;padding:20px}.pw-modal{background:#fff;border-radius:16px;padding:24px;width:min(100%,380px);box-shadow:0 24px 60px #0f172a40}.pw-modal-title{font-size:17px;font-weight:700;color:#0f172a;margin:0 0 6px}.pw-modal-desc{font-size:13px;color:#64748b;margin:0 0 18px;line-height:1.5}.pw-form{display:flex;flex-direction:column;gap:14px}.pw-field{display:flex;flex-direction:column;gap:6px}.pw-field>span{font-size:12px;font-weight:600;color:#475569}.pw-field>span em{font-style:normal;font-weight:400;color:#94a3b8}.pw-field input{height:40px;border:1px solid #cbd5e1;border-radius:8px;padding:0 12px;font-size:14px;color:#0f172a;outline:none;transition:border-color .15s,box-shadow .15s}.pw-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f62e}.pw-error{margin:0;font-size:13px;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px;line-height:1.45}.pw-note{margin:0;font-size:11.5px;color:#94a3b8;line-height:1.45}.pw-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.pw-btn{height:38px;padding:0 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background-color .15s,color .15s}.pw-btn:disabled{opacity:.55;cursor:not-allowed}.pw-btn-ghost{background:#fff;border-color:#cbd5e1;color:#475569}.pw-btn-ghost:hover:not(:disabled){background:#f8fafc}.pw-btn-primary{background:#2563eb;color:#fff}.pw-btn-primary:hover:not(:disabled){background:#1d4ed8}.skillcheck-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.skillcheck-box{background:var(--s1);border:1px solid var(--b2);box-shadow:0 20px 60px #00000026;border-radius:14px;padding:24px;width:480px;max-width:95vw;max-height:88vh;overflow-y:auto}.skillcheck-header{display:flex;align-items:center;gap:7px;margin-bottom:8px}.skillcheck-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.skillcheck-self-label{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;color:var(--m2)}.skillcheck-node-label{font-weight:800;font-size:15px;color:var(--txt);margin-bottom:3px;line-height:1.4}.skillcheck-subtitle{font-size:11px;color:var(--m2);margin-bottom:16px}.skillcheck-question{font-size:13px;font-weight:600;color:var(--txt);background:var(--s2);border:1px solid var(--b1);border-radius:9px;padding:12px 14px;margin-bottom:12px;line-height:1.6}.skillcheck-options{display:flex;flex-direction:column;gap:7px;margin-bottom:4px}.skillcheck-option{text-align:left;background:var(--s2);border:1px solid var(--b2);border-radius:8px;padding:10px 12px;color:var(--txt);font-size:12.5px;font-family:Noto Sans KR,sans-serif;cursor:pointer;transition:all .15s}.skillcheck-option:hover:not(:disabled){border-color:var(--L1);background:var(--s3)}.skillcheck-option.correct{border-color:#0acf83;background:#0acf8324;color:#0acf83;font-weight:700}.skillcheck-option.wrong{border-color:#ff6b6b;background:#ff6b6b24;color:#ff6b6b;font-weight:700}.skillcheck-option.disabled{opacity:.5;cursor:default}.skillcheck-feedback{margin-top:14px;border-radius:9px;padding:12px 14px;border:1px solid var(--b1);background:var(--s2)}.skillcheck-feedback.is-correct{border-color:#0acf8366}.skillcheck-feedback.is-wrong{border-color:#ff6b6b66}.skillcheck-feedback-verdict{font-weight:800;font-size:13px;color:var(--txt);margin-bottom:5px}.skillcheck-feedback-tag{font-family:JetBrains Mono,monospace;font-size:10.5px;color:var(--L1)}.skillcheck-feedback-message{font-size:12px;color:var(--txt);line-height:1.6;margin-bottom:7px}.skillcheck-feedback-explain{font-size:11px;color:var(--m2);line-height:1.6;margin-bottom:7px}.skillcheck-feedback-av{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--m1)}.skillcheck-actions{display:flex;gap:9px;margin-top:16px}.skillcheck-btn{flex:1;padding:9px;border-radius:7px;border:none;font-weight:700;font-size:12px;cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .2s}.skillcheck-btn.primary{background:linear-gradient(135deg,var(--L1),#00A896);color:#000}.skillcheck-btn.primary:disabled{opacity:.4;cursor:not-allowed}.skillcheck-btn.secondary{background:var(--s2);color:var(--m2);border:1px solid var(--b2)}.skillcheck-btn:hover:not(:disabled){filter:brightness(1.05)}.selfassess-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.selfassess-box{background:var(--s1);border:1px solid var(--b2);box-shadow:0 20px 60px #00000026;border-radius:14px;padding:24px;width:520px;max-width:95vw;max-height:88vh;overflow-y:auto}.selfassess-progress{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:1px;color:var(--m2);margin-bottom:8px}.selfassess-title{font-weight:800;font-size:16px;color:var(--txt);margin-bottom:8px;line-height:1.4}.selfassess-desc{font-size:12.5px;color:var(--m2);line-height:1.7;margin-bottom:20px}.selfassess-leaf-list{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}.selfassess-leaf-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--s2);border:1px solid var(--b1);border-radius:9px;padding:10px 12px}.selfassess-leaf-row.locked{opacity:.75}.selfassess-leaf-label{font-size:12.5px;color:var(--txt);line-height:1.5;flex:1}.selfassess-leaf-locked-badge{flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:10.5px;font-weight:700;border:1px solid;border-radius:999px;padding:4px 9px;white-space:nowrap}.selfassess-seg{display:flex;gap:5px;flex-shrink:0}.selfassess-seg-btn{border:1.5px solid var(--b2);background:var(--s1);color:var(--m2);border-radius:7px;padding:6px 10px;font-size:11.5px;font-weight:700;cursor:pointer;transition:all .15s;font-family:Noto Sans KR,sans-serif}.selfassess-seg-btn:hover{border-color:var(--L1)}.selfassess-seg-btn.active{color:#000;font-weight:800}.selfassess-summary{background:var(--s2);border:1px solid var(--b1);border-radius:9px;padding:14px;margin-bottom:6px}.selfassess-summary-row{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;font-weight:700;font-family:JetBrains Mono,monospace}.selfassess-summary-unanswered{color:var(--m2)}.selfassess-actions{display:flex;gap:8px;margin-top:18px}.selfassess-btn{flex:1;padding:9px;border-radius:7px;border:none;font-weight:700;font-size:12px;cursor:pointer;font-family:JetBrains Mono,monospace;transition:all .2s}.selfassess-btn.primary{background:linear-gradient(135deg,var(--L1),#00A896);color:#000}.selfassess-btn.primary:disabled{opacity:.4;cursor:not-allowed}.selfassess-btn.secondary{background:var(--s2);color:var(--m2);border:1px solid var(--b2)}.selfassess-btn:hover:not(:disabled){filter:brightness(1.05)}.selfassess-fab{position:fixed;right:24px;bottom:62px;z-index:50;padding:10px 18px;border:1.5px solid #0ACF83;border-radius:999px;background:#fff;color:#0acf83;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px #0000001f;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.selfassess-fab:hover{background:#0acf83;color:#fff;box-shadow:0 6px 18px #0acf834d}.career-path-edit-toast{position:fixed;left:50%;bottom:40px;transform:translate(-50%);background:#0f172a;color:#f8fafc;font-size:13px;font-weight:600;padding:12px 20px;border-radius:12px;box-shadow:0 12px 32px #0f172a47;z-index:9500;pointer-events:none;animation:career-path-toast-in .18s ease-out;max-width:min(92vw,420px);text-align:center;line-height:1.4}@keyframes career-path-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.ahp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.ahp-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;text-align:left;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.ahp-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0f}.ahp-card:active{transform:scale(.995)}.ahp-card--new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border-style:dashed;border-color:#cbd5e1;color:#64748b;min-height:118px}.ahp-card--new:hover{border-color:#6366f1;color:#4f46e5}.ahp-card--error{border-color:#fecaca;background:#fef2f2}.ahp-skel-line{height:10px;border-radius:4px;background:linear-gradient(90deg,#eef0f3 25%,#f6f7f9 37%,#eef0f3 63%);background-size:400% 100%;animation:ahp-shimmer 1.4s ease infinite}@keyframes ahp-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-bounce{animation:bounce .6s infinite}.animate-pulse{animation:pulse 1.2s infinite}.animate-spin{animation:spin .8s linear infinite}.fade-in{animation:fadeIn .3s ease forwards}.analyze-root{width:100vw;height:100vh;display:flex;flex-direction:column;background:#040910;color:#e1e8f0;overflow:hidden;font-family:Noto Sans KR,system-ui,sans-serif}.analyze-root ::-webkit-scrollbar{width:4px}.analyze-root ::-webkit-scrollbar-track{background:transparent}.analyze-root ::-webkit-scrollbar-thumb{background:#2a3a55;border-radius:2px}.analyze-topbar{height:50px;flex-shrink:0;background:#0a1220;border-bottom:1px solid #192D4A;display:flex;align-items:center;padding:0 16px;gap:10px}.analyze-brand{font-weight:800;font-size:15px;letter-spacing:-.5px;white-space:nowrap}.analyze-brand-meta{color:#06b6d4}.analyze-brand-sub{font-family:monospace;font-size:9px;color:#4a5e78;margin-left:8px;letter-spacing:1px}.analyze-tabs{display:flex;background:#0e1829;border-radius:7px;border:1px solid #192D4A;padding:2px;gap:1px;margin-left:10px}.analyze-tab{padding:4px 14px;border-radius:5px;font-weight:700;font-size:10px;cursor:pointer;font-family:monospace;letter-spacing:.5px;border:none;background:transparent;color:#8b9db5;transition:all .2s}.analyze-topbar-right{margin-left:auto;display:flex;align-items:center;gap:8px}.analyze-traffic{display:flex;gap:4px;padding:4px 10px;background:#0e1829;border-radius:7px;border:1px solid #192D4A}.analyze-traffic-dot{width:10px;height:10px;border-radius:50%;transition:opacity .4s}.analyze-mci{font-family:monospace;font-size:12px;padding:3px 12px;border-radius:6px;border:1px solid #192D4A;transition:color .4s}.analyze-main{flex:1;display:flex;overflow:hidden;position:relative}.upload-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:30px}.upload-cards{display:flex;gap:20px;max-width:860px;width:100%}.upload-cards.single{max-width:420px;justify-content:center}.analyze-root.analyze-embedded{width:100%;height:100%;background:transparent;color:#1c2b42}.analyze-root.analyze-embedded .analyze-main,.analyze-root.analyze-embedded .upload-wrapper{background:transparent}.analyze-root.analyze-embedded .upload-card{background:#fff;border-color:#e2e8f0;box-shadow:0 4px 20px #00000014}.analyze-root.analyze-embedded .upload-card-title{color:#1c2b42}.analyze-root.analyze-embedded .upload-card-desc{color:#64748b}.analyze-root.analyze-embedded .upload-dropzone{background:#f8fafc;border-color:#cbd5e1}.analyze-root.analyze-embedded .upload-dropzone-label{color:#475569}.analyze-root.analyze-embedded .upload-dropzone-hint{color:#94a3b8}.analyze-root.analyze-embedded .upload-btn-file{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.analyze-root.analyze-embedded .result-wrapper{padding:32px 28px}.analyze-root.analyze-embedded .result-content{padding-top:16px}.analyze-root.analyze-embedded .result-actions{margin-bottom:40px}.upload-card{flex:1;background:#0e1829;border:1px solid #192D4A;border-radius:18px;padding:28px;display:flex;flex-direction:column;align-items:center;text-align:center}.upload-card-icon{width:68px;height:68px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:30px;margin-bottom:16px}.upload-card-title{font-weight:800;font-size:17px;color:#fff;margin-bottom:8px}.upload-card-desc{font-size:12px;color:#8b9db5;line-height:1.8;margin-bottom:22px;white-space:pre-line}.upload-dropzone{width:100%;border:2px dashed #192D4A;border-radius:12px;padding:22px 12px;cursor:pointer;background:#ffffff05;margin-bottom:12px;transition:border-color .2s}.upload-dropzone-icon{font-size:26px;margin-bottom:6px}.upload-dropzone-label{font-size:12px;font-weight:600;color:#e1e8f0}.upload-dropzone-hint{font-size:10px;color:#4a5e78;font-family:monospace;margin-top:3px}.upload-actions{display:flex;gap:8px;width:100%}.upload-btn-file{flex:1;padding:8px 0;border-radius:8px;border:1px solid #192D4A;background:#0a1220;color:#8b9db5;font-size:10px;font-family:monospace;cursor:pointer;transition:background .2s}.upload-btn-file:hover{background:#121f36}.upload-btn-demo{flex:1;padding:8px 0;border-radius:8px;border:none;font-size:11px;font-weight:700;cursor:pointer;transition:filter .2s}.ready-layout{flex:1;display:flex;overflow:hidden}.image-panel{flex:1;position:relative;background:#000;overflow:hidden}.image-panel-img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.museum-page-nav{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:6px 14px;border-radius:10px;z-index:10}.museum-page-btn{border:none;background:#ffffff1f;color:#fff;font-size:12px;font-weight:600;padding:4px 12px;border-radius:6px;cursor:pointer;transition:background .15s}.museum-page-btn:hover:not(:disabled){background:#ffffff40}.museum-page-btn:disabled{opacity:.3;cursor:not-allowed}.museum-page-indicator{font-size:11px;font-weight:700;color:#fffc;font-family:JetBrains Mono,monospace;min-width:32px;text-align:center}.draw-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:10}.control-panel{width:280px;background:#0a1220;border-left:1px solid #192D4A;display:flex;flex-direction:column;padding:16px;gap:12px;overflow-y:auto}.control-panel-title{font-weight:800;font-size:15px;color:#fff}.control-panel-desc{font-size:12px;color:#8b9db5;line-height:1.7}.tool-section{display:flex;flex-direction:column;gap:0}.tool-section-label{font-size:9px;font-family:monospace;color:#4a5e78;letter-spacing:2px;margin-bottom:8px;text-transform:uppercase}.tool-buttons{display:flex;gap:6px;flex-wrap:wrap}.tool-btn{padding:4px 10px;border-radius:6px;border:1px solid #192D4A;background:transparent;color:#4a5e78;font-size:10px;font-family:monospace;cursor:pointer;transition:all .15s}.color-swatches{display:flex;gap:8px}.color-swatch{width:18px;height:18px;border-radius:50%;cursor:pointer;transition:border .15s,transform .15s}.color-swatch:hover{transform:scale(1.15)}.canvas-actions{display:flex;gap:6px}.canvas-action-btn{flex:1;padding:6px 0;border-radius:6px;border:1px solid #192D4A;background:transparent;color:#4a5e78;font-size:10px;cursor:pointer;transition:background .15s}.canvas-action-btn:hover{background:#ffffff0a}.canvas-action-btn--clear{border-color:#ef44444d;color:#ef4444}.spacer{flex:1}.rec-start-btn{padding:14px 0;border-radius:10px;border:none;background:linear-gradient(135deg,#ff3b3b,#c11);color:#fff;font-weight:800;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:filter .2s}.rec-start-btn:hover{filter:brightness(1.1)}.rec-dot{width:10px;height:10px;background:#fff;border-radius:50%;flex-shrink:0}.recording-layout{flex:1;display:flex;overflow:hidden}.rec-badge{position:absolute;top:12px;left:12px;background:#000c;border:1px solid #FF3B3B;border-radius:8px;padding:5px 12px;display:flex;align-items:center;gap:8px;z-index:20}.rec-badge-dot{width:8px;height:8px;border-radius:50%;background:#ff3b3b;flex-shrink:0}.rec-badge-time{font-family:monospace;font-size:12px;color:#ff3b3b;font-weight:700}.rec-mini-tools{position:absolute;top:12px;right:12px;display:flex;gap:4px;flex-direction:column;z-index:20}.rec-mini-tool-btn{width:34px;height:34px;border-radius:8px;border:1px solid #192D4A;background:#0e1829cc;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.rec-mini-tool-btn--active{border-color:#fff}.rec-mini-color{width:34px;height:34px;border-radius:8px;cursor:pointer;transition:border .15s,transform .15s}.rec-mini-color:hover{transform:scale(1.08)}.chat-panel{width:340px;background:#0a1220;border-left:1px solid #192D4A;display:flex;flex-direction:column}.chat-header{padding:10px 14px;border-bottom:1px solid #192D4A;display:flex;align-items:center;gap:10px;flex-shrink:0}.chat-avatar{width:34px;height:34px;border-radius:10px;background:#06b6d42e;border:1px solid rgba(6,182,212,.35);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.chat-header-info{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-header-name{font-weight:700;font-size:13px;color:#e1e8f0}.chat-header-sub{font-size:9px;color:#4a5e78;font-family:monospace}.chat-header-mci{margin-left:auto;font-family:monospace;font-size:10px;color:#4a5e78;white-space:nowrap}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.chat-empty{text-align:center;padding:20px;color:#4a5e78;font-size:12px}.chat-empty-icon{font-size:28px;margin-bottom:8px}.chat-msg{display:flex;flex-direction:column;max-width:88%}.chat-msg--ai{align-self:flex-start}.chat-msg--student{align-self:flex-end}.chat-msg-meta{font-size:9px;font-family:monospace;margin-bottom:3px}.chat-bubble{padding:9px 13px;font-size:12px;line-height:1.75;color:#e1e8f0;word-break:break-word}.chat-bubble--ai{border-radius:12px 12px 12px 3px}.chat-bubble--student{border-radius:12px 12px 3px}.typing-indicator{display:flex;align-items:center;gap:5px;padding:6px 10px;background:#06b6d41a;border:1px solid rgba(6,182,212,.2);border-radius:10px 10px 10px 3px;align-self:flex-start}.typing-dot{width:5px;height:5px;border-radius:50%;background:#06b6d4}.chat-footer{padding:12px;border-top:1px solid #192D4A;flex-shrink:0}.rec-stop-btn{width:100%;padding:11px 0;border-radius:9px;border:1px solid rgba(255,59,59,.4);background:#ff3b3b1f;color:#ff3b3b;font-weight:700;font-size:13px;cursor:pointer;transition:background .2s}.rec-stop-btn:hover{background:#ff3b3b33}.analyzing-wrapper{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}.analyzing-card{background:#0e1829;border:1px solid #192D4A;border-radius:18px;padding:32px 44px;width:400px;text-align:center}.analyzing-spinner{width:52px;height:52px;border-radius:50%;border:3px solid #192D4A;margin:0 auto 20px}.analyzing-title{font-weight:800;font-size:18px;color:#fff;margin-bottom:4px}.analyzing-sub{font-size:11px;color:#4a5e78;font-family:monospace;margin-bottom:20px}.analyzing-steps{text-align:left}.analyzing-step{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12px;font-family:monospace;transition:color .4s}.analyzing-step-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:all .4s}.result-wrapper{flex:1;overflow-y:auto;padding:28px;display:flex;justify-content:center}.result-content{width:680px;max-width:100%;display:flex;flex-direction:column;gap:0}.result-header-card{background:#0e1829;border:1px solid #192D4A;border-radius:16px;padding:24px 28px;margin-bottom:16px;text-align:center}.result-brain-icon{font-size:40px;margin-bottom:10px}.result-title{font-weight:800;font-size:20px;color:#fff;margin-bottom:4px}.result-mcg-info{font-size:12px;color:#4a5e78;font-family:monospace}.result-bar-wrap{margin-top:16px;height:6px;background:#192d4a;border-radius:3px;overflow:hidden}.result-bar-fill{height:100%;border-radius:3px;transition:width 1s ease}.result-bar-label{font-size:12px;color:#8b9db5;margin-top:4px}.result-section-card{background:#0e1829;border:1px solid #192D4A;border-radius:16px;padding:20px 24px;margin-bottom:16px}.result-section-title{font-weight:700;font-size:13px;color:#fff;margin-bottom:14px}.dimension-item{margin-bottom:12px}.dimension-header{display:flex;justify-content:space-between;margin-bottom:4px}.dimension-name{font-size:11px;color:#8b9db5}.dimension-score{font-size:12px;font-weight:700;font-family:monospace}.dimension-bar-bg{height:5px;background:#192d4a;border-radius:3px;overflow:hidden}.dimension-bar-fill{height:100%;border-radius:3px;transition:width 1s ease}.dimension-detail{font-size:10px;color:#4a5e78;margin-top:2px}.result-intervention-card{background:#06b6d414;border:1px solid rgba(6,182,212,.2);border-radius:12px;padding:16px 20px;margin-bottom:12px}.result-intervention-title{font-weight:700;font-size:12px;margin-bottom:10px}.intervention-item{font-size:11px;color:#8b9db5;margin-bottom:6px;line-height:1.6}.result-next-card{background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:12px;padding:16px 20px;margin-bottom:16px}.result-next-title{font-weight:700;font-size:12px;margin-bottom:10px}.next-item{display:flex;gap:6px;font-size:11px;color:#8b9db5;margin-bottom:6px;line-height:1.6}.next-item-num{font-weight:700;flex-shrink:0}.result-actions{display:flex;gap:10px}.result-action-btn{flex:1;padding:12px;border-radius:10px;font-weight:700;font-size:13px;cursor:pointer;transition:filter .2s,background .2s}.result-action-btn--reset{border:1px solid #192D4A;background:#0a1220;color:#8b9db5}.result-action-btn--reset:hover{background:#121f36}.result-action-btn--primary{border:none;color:#000;font-weight:800}.result-action-btn--primary:hover{filter:brightness(1.1)}.mc-update-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;animation:mcOverlayIn .25s ease}@keyframes mcOverlayIn{0%{opacity:0}to{opacity:1}}.mc-update-modal{position:relative;background:#0e1829;border:1px solid #192D4A;border-radius:20px;width:480px;max-width:92vw;max-height:85vh;overflow-y:auto;box-shadow:0 24px 80px #00000080;animation:mcModalIn .35s cubic-bezier(.22,1,.36,1)}@keyframes mcModalIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.mc-update-header{text-align:center;padding:28px 24px 16px;border-bottom:1px solid #192D4A}.mc-update-icon{font-size:36px;display:block;margin-bottom:8px}.mc-update-header h2{margin:0;font-size:18px;font-weight:800;color:#e1e8f0}.mc-update-header p{margin:6px 0 0;font-size:12px;color:#6b7f99}.mc-update-list{padding:16px 24px;display:flex;flex-direction:column;gap:14px}.mc-update-row{background:#121f36;border:1px solid #1E2F4A;border-radius:12px;padding:14px 16px;transition:border-color .4s,box-shadow .4s}.mc-update-row.completed{border-color:#10b98140;box-shadow:0 0 12px #10b9811f}.mc-update-node-info{display:flex;align-items:center;gap:8px;margin-bottom:8px}.mc-update-node-icon{font-size:18px}.mc-update-node-name{font-size:13px;font-weight:700;color:#e1e8f0}.mc-update-values{display:flex;align-items:center;gap:10px;margin-bottom:8px}.mc-update-from{font-size:14px;font-weight:600;color:#4a5e78;font-family:JetBrains Mono,monospace}.mc-update-arrow{font-size:14px;color:#4a5e78}.mc-counter{font-size:22px;font-weight:900;color:#4a5e78;font-family:JetBrains Mono,monospace;transition:color .3s;min-width:60px}.mc-counter.counting{color:#f59e0b}.mc-counter.done{color:#10b981;animation:mcCounterPop .4s cubic-bezier(.22,1,.36,1)}@keyframes mcCounterPop{0%{transform:scale(1)}40%{transform:scale(1.3)}70%{transform:scale(.95)}to{transform:scale(1)}}.mc-update-bar-bg{height:6px;background:#1a2a42;border-radius:3px;overflow:hidden;display:flex}.mc-update-bar-from{height:100%;border-radius:3px 0 0 3px;flex-shrink:0}.mc-update-bar-fill{height:100%;border-radius:0 3px 3px 0;flex-shrink:0}@keyframes mcBarReveal{0%{opacity:0;transform:scaleX(.7)}to{opacity:1;transform:scaleX(1)}}.mc-bar-reveal{animation:mcBarReveal .5s cubic-bezier(.22,1,.36,1) both;transform-origin:left}.mc-update-row.active{border-color:#f59e0b40;box-shadow:0 0 16px #f59e0b26}.mc-update-bar-labels{position:relative;height:16px;margin-top:4px}.mc-bar-label-from,.mc-bar-label-to{position:absolute;font-size:10px;font-weight:700;font-family:JetBrains Mono,monospace;transform:translate(-50%);animation:mcLabelFadeIn .4s ease both}.mc-bar-label-from{color:#4a5e78}.mc-bar-label-to{animation-delay:.15s}@keyframes mcLabelFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mc-confetti-container{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:10;border-radius:20px}@keyframes mcConfettiFall{0%{opacity:1;transform:translateY(-20px) rotate(0) scale(1)}50%{opacity:1}to{opacity:0;transform:translateY(500px) rotate(720deg) scale(.3)}}.mc-confetti-particle{position:absolute;top:-10px;animation:mcConfettiFall ease-out forwards}.mc-update-success{text-align:center;padding:12px 24px;font-size:14px;font-weight:800;color:#10b981;animation:mcSuccessIn .5s cubic-bezier(.22,1,.36,1)}@keyframes mcSuccessIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.mc-update-footer{padding:12px 24px 20px;text-align:center}.mc-update-close{padding:8px 28px;border-radius:10px;border:1px solid #243B5E;background:#1a2a42;color:#8b9db5;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s}.mc-update-close:hover{background:#243b5e;color:#e1e8f0}.analyze-root.analyze-embedded .mc-update-overlay{background:#0006}.analyze-root.analyze-embedded .mc-update-modal{background:#fff;border-color:#e2e8f0}.analyze-root.analyze-embedded .mc-update-header{border-color:#e2e8f0}.analyze-root.analyze-embedded .mc-update-header h2{color:#1c2b42}.analyze-root.analyze-embedded .mc-update-header p{color:#64748b}.analyze-root.analyze-embedded .mc-update-row{background:#f8fafc;border-color:#e2e8f0}.analyze-root.analyze-embedded .mc-update-row.completed{border-color:#10b98140}.analyze-root.analyze-embedded .mc-update-node-name{color:#1c2b42}.analyze-root.analyze-embedded .mc-update-bar-bg{background:#e2e8f0}.analyze-root.analyze-embedded .mc-update-close{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.hb-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#f0f2f8;display:flex;flex-direction:column;overflow:hidden;font-family:Noto Sans KR,sans-serif}.hb-hdr{height:52px;flex-shrink:0;background:#fff;border-bottom:1px solid rgba(0,0,0,.1);display:flex;align-items:center;gap:10px;padding:0 14px;box-shadow:0 2px 8px #0000000f}.hb-title{font-family:Syne,Noto Sans KR,sans-serif;font-weight:800;font-size:14px;color:#1c2b42;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hb-title em{color:#7c3aed;font-style:normal}.hb-rec-timer{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;color:#ef4444;display:none;align-items:center;gap:5px;padding:4px 10px;background:#fef2f2;border-radius:6px;border:1px solid #FECACA}.hb-rec-timer.show{display:flex}.hb-rec-dot{width:8px;height:8px;border-radius:50%;background:#ef4444;animation:recpulse 1s infinite;flex-shrink:0}.hb-hbtn{padding:5px 12px;border-radius:7px;font-size:11px;font-family:JetBrains Mono,monospace;font-weight:700;cursor:pointer;border:1.5px solid;transition:all .15s;letter-spacing:.4px;white-space:nowrap;flex-shrink:0}.hb-hbtn.rec{background:#fef2f2;color:#ef4444;border-color:#fecaca}.hb-hbtn.rec:hover,.hb-hbtn.rec.on{background:#ef4444;color:#fff;border-color:#ef4444}.hb-hbtn.live{background:#f0f9ff;color:#0284c7;border-color:#bae6fd}.hb-hbtn.live:hover,.hb-hbtn.live.on{background:#0284c7;color:#fff;border-color:#0284c7}.hb-hbtn.cls{background:#f8f9fa;color:#6b7280;border-color:#e5e7eb}.hb-hbtn.cls:hover{background:#1c2b42;color:#fff;border-color:#1c2b42}.hb-body{flex:1;display:flex;overflow:hidden}.hb-wb-panel{flex:1;display:flex;flex-direction:column;background:#fff;border-right:1px solid rgba(0,0,0,.08);position:relative;min-width:0}.hb-board-tabs{height:40px;flex-shrink:0;display:flex;align-items:center;background:#f8fafd;border-bottom:1.5px solid rgba(0,0,0,.09);padding:0 12px;position:relative;z-index:4}.hb-btab{padding:5px 14px;border-radius:6px 6px 0 0;font-size:11px;font-weight:700;cursor:pointer;font-family:JetBrains Mono,monospace;border:1.5px solid transparent;border-bottom:none;transition:all .15s;color:#9aacc4;background:transparent;margin-right:3px;letter-spacing:.4px;position:relative;bottom:-1px}.hb-btab:hover{color:#4c6a90;background:#eef2fa}.hb-btab.on{color:#7c3aed;background:#fff;border-color:#0000001a;border-bottom-color:#fff}.hb-board-view{flex:1;position:relative;overflow:hidden;display:none;flex-direction:column;min-height:0}.hb-board-view.active{display:flex}.hb-canvas{flex:1;display:block;touch-action:none;background:#fff;cursor:crosshair;width:100%}.hb-canvas.tool-eraser{cursor:cell}.hb-canvas.tool-text{cursor:text}.hb-canvas.tool-move{cursor:default}.hb-pages{position:absolute;top:10px;right:10px;display:flex;gap:4px;z-index:5}.hb-page-btn{width:26px;height:26px;border-radius:6px;background:#f0f2f8;border:1.5px solid #D0D8E8;color:#4c6a90;font-size:10px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:Syne,sans-serif}.hb-page-btn.on{background:#7c3aed;border-color:#7c3aed;color:#fff}.hb-page-btn:hover:not(.on){background:#e8ecf4}.hb-tools{height:52px;flex-shrink:0;background:#f8fafd;border-top:1px solid rgba(0,0,0,.08);display:flex;align-items:center;padding:0 12px;gap:8px;overflow-x:auto;scrollbar-width:none}.hb-tools::-webkit-scrollbar{display:none}.hb-tool-sep{width:1px;height:28px;background:#0000001a;flex-shrink:0}.hbt{width:34px;height:34px;border-radius:8px;border:1.5px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:15px;transition:all .15s;flex-shrink:0}.hbt:hover{background:#e8ecf4;border-color:#d0d8e8}.hbt.on{background:#ede9fe;border-color:#7c3aed;color:#7c3aed}.hbt-color{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:all .15s;flex-shrink:0}.hbt-color.on{border-color:#1c2b42;transform:scale(1.15)}.hb-size-wrap{display:flex;align-items:center;gap:6px}.hb-size-lbl{font-family:JetBrains Mono,monospace;font-size:9px;color:#9aacc4;white-space:nowrap}.hb-size-slider{width:70px;-webkit-appearance:none;height:3px;background:#d0d8e8;border-radius:2px;outline:none}.hb-size-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#7c3aed;cursor:pointer}.hb-img-view{flex:1;display:flex;flex-direction:column;min-height:0}.hb-img-toolbar{height:44px;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 10px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08);overflow-x:auto}.hb-itbtn{padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;font-family:JetBrains Mono,monospace;cursor:pointer;border:1.5px solid;transition:all .15s;letter-spacing:.4px;white-space:nowrap;flex-shrink:0}.hb-itbtn.upload{color:#7c3aed;border-color:#ddd6fe;background:#ede9fe}.hb-itbtn.upload:hover{background:#7c3aed;color:#fff}.hb-itbtn.del{color:#ef4444;border-color:#fecaca;background:#fef2f2}.hb-itbtn.del:hover{background:#ef4444;color:#fff}.hb-img-main{flex:1;display:flex;min-height:0;overflow:hidden}.hb-img-strip{width:80px;flex-shrink:0;background:#e8edf4;border-right:1px solid rgba(0,0,0,.08);overflow-y:auto;padding:8px 6px;display:flex;flex-direction:column;gap:6px;scrollbar-width:thin;scrollbar-color:#C0CCDE transparent}.hb-img-thumb{width:68px;height:52px;border-radius:6px;overflow:hidden;cursor:pointer;border:2.5px solid transparent;transition:all .15s;background:#fff;flex-shrink:0;position:relative}.hb-img-thumb.on{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}.hb-img-thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.hb-img-thumb-del{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:4px;background:#ef4444d9;color:#fff;font-size:9px;display:none;align-items:center;justify-content:center;cursor:pointer;font-weight:700;border:none}.hb-img-thumb:hover .hb-img-thumb-del{display:flex}.hb-img-add{width:68px;height:42px;border-radius:6px;border:2px dashed #C0CCDE;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#9aacc4;font-size:18px;transition:all .15s;flex-shrink:0}.hb-img-add:hover{border-color:#7c3aed;color:#7c3aed;background:#7c3aed0d}.hb-img-stage{flex:1;min-height:0;position:relative;overflow:hidden;background:repeating-conic-gradient(#e8edf4,#e8edf4 25%,#f0f2f8 0%,#f0f2f8 50%) 0 0 / 24px 24px;display:flex;align-items:center;justify-content:center}.hb-img-stage img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;display:block;border-radius:4px}.hb-img-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#9aacc4;width:100%;height:100%}.hb-img-drop-ico{font-size:54px;opacity:.35}.hb-img-drop-txt{font-size:13px;font-family:JetBrains Mono,monospace;text-align:center;line-height:1.7}.hb-img-drop-btn{padding:9px 22px;border-radius:9px;background:linear-gradient(135deg,#7c3aed,#4f46e5);border:none;color:#fff;font-weight:700;font-size:12px;cursor:pointer;font-family:Syne,Noto Sans KR,sans-serif}.hb-img-drop-btn:hover{filter:brightness(1.1)}.hb-mm-view{flex:1;display:flex;flex-direction:column;background:#f6f8fc;min-height:0}.hb-analyze-embed{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-radius:0 0 14px 14px}.hb-mm-toolbar{height:38px;flex-shrink:0;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border-bottom:1px solid rgba(0,0,0,.08)}.hb-mm-focus-info{font-family:JetBrains Mono,monospace;font-size:11px;color:#4c6a90}.hb-mm-focus-info em{color:#7c3aed;font-style:normal;font-weight:700}.hb-mm-flow{flex:1;width:100%;min-height:0}.hb-focus-node .mind-map-node,.hb-focus-node.react-flow__node .mind-map-node{box-shadow:0 0 0 4px #7c3aed80,0 0 24px #7c3aed59,0 4px 12px #00000026;border-color:#7c3aed!important;animation:hbFocusPulse 2s ease-in-out infinite}.hb-focus-node .mind-map-node.root-node{box-shadow:0 0 0 5px #7c3aed80,0 0 32px #7c3aed66,0 4px 16px #0003;border-color:#7c3aed!important;animation:hbFocusPulse 2s ease-in-out infinite}@keyframes hbFocusPulse{0%,to{box-shadow:0 0 0 4px #7c3aed80,0 0 24px #7c3aed59}50%{box-shadow:0 0 0 7px #7c3aed4d,0 0 40px #7c3aed80}}.hb-steam-card{display:flex;gap:8px;padding:7px 10px;background:#fff;border-radius:7px;border:1px solid #E4EAF4;margin-bottom:5px;align-items:flex-start}.hb-steam-key{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;color:#7c3aed;flex-shrink:0;min-width:14px}.hb-steam-val{font-size:10.5px;color:#4c6a90;line-height:1.5}.hb-connected-item{font-size:11px;color:#1c2b42;padding:5px 8px;background:#fff;border-radius:6px;border:1px solid #E4EAF4;margin-bottom:4px;display:flex;align-items:center;gap:4px}.hb-connected-type{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:9px;color:#9aacc4}.ai-monitor-panel{background:linear-gradient(135deg,#1c2b42,#0f1a2e);border-radius:10px;padding:12px;margin:10px 0;border:1.5px solid rgba(124,58,237,.3);display:none}.ai-monitor-panel.show{display:block;animation:aiSlideIn .35s ease}@keyframes aiSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-monitor-hdr{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ai-monitor-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px #22c55e2e}.ai-monitor-lbl{color:#f8fafc;font-size:12px;font-weight:800}.ai-monitor-status{color:#cbd5e1;font-size:12px;line-height:1.55;margin-bottom:10px;transition:opacity .28s ease,transform .28s ease}.ai-alert-list{display:flex;flex-direction:column;gap:8px}.ai-alert{border-radius:10px;padding:10px;border:1px solid rgba(148,163,184,.18);background:#0f172a6b;animation:aiAlertIn .45s cubic-bezier(.2,.7,.2,1);transform-origin:top center}.ai-alert.good{border-color:#22c55e3d}.ai-alert.warn{border-color:#fbbf244d}.ai-alert.hint{border-color:#3b82f647}.ai-alert.miss{border-color:#ef444452}.ai-alert-tag{color:#f8fafc;font-size:11px;font-weight:800;margin-bottom:4px}.ai-alert-txt{color:#cbd5e1;font-size:12px;line-height:1.55}.ai-alert-btn{margin-top:8px;border:none;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer}.ai-alert-btn.ask{background:#fee2e2;color:#b91c1c}@keyframes aiAlertIn{0%{opacity:0;transform:translateY(14px) scale(.98);filter:blur(3px)}55%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.ai-covered-bar{margin-top:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.ai-covered-lbl{color:#cbd5e1;font-size:11px;font-weight:700}.ai-covered-track{height:8px;border-radius:999px;background:#94a3b82e;overflow:hidden}.ai-covered-fill{height:100%;border-radius:inherit;background:linear-gradient(135deg,#22c55e,#10b981);transition:width .55s cubic-bezier(.22,.61,.36,1)}.hb-participants-bar{height:0;flex-shrink:0;background:linear-gradient(180deg,#0f1a2e,#1c2b42);border-top:1.5px solid rgba(124,58,237,.3);display:flex;align-items:center;gap:0;padding:0;overflow:hidden;transition:height .4s cubic-bezier(.4,0,.2,1),padding .4s;position:relative;z-index:5}.hb-participants-bar.show{height:110px;padding:6px 12px;gap:8px}.hb-part-info{width:92px;flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px}.hb-part-label{color:#fca5a5;font-size:10px;font-weight:800;letter-spacing:.16em}.hb-part-count{color:#fff;font-size:28px;font-weight:800;line-height:1}.hb-part-count-sub{color:#cbd5e1;font-size:11px}.hb-part-scroll{display:flex;gap:8px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}.hb-part-scroll::-webkit-scrollbar{display:none}.hb-part-item{width:92px;flex-shrink:0}.hb-part-item.entered{animation:hbParticipantEnter .48s cubic-bezier(.2,.7,.2,1)}.hb-part-video{position:relative;width:92px;height:64px;border-radius:12px;overflow:hidden;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff0f}.hb-part-video.host{border-color:#ef444480}.hb-part-video.speaking{box-shadow:0 0 0 2px #10b98173,0 0 18px #10b98133}.hb-part-face{position:absolute;top:0;right:0;bottom:0;left:0}.hb-part-avatar-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1c2b42,#0f1a2e);font-size:28px;opacity:.7}.hb-part-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hb-part-host-video{transform:scaleX(-1)}.hb-part-bg{position:absolute;top:0;right:0;bottom:0;left:0}.hb-part-speaking-wave{position:absolute;bottom:6px;left:8px;display:flex;align-items:flex-end;gap:2px}.hb-part-wave-bar{width:3px;height:8px;border-radius:999px;background:#ffffff85;animation:hbWave 1.1s ease-in-out infinite}.hb-part-wave-bar:nth-child(2){animation-delay:.1s}.hb-part-wave-bar:nth-child(3){animation-delay:.2s}.hb-part-wave-bar:nth-child(4){animation-delay:.3s}.hb-part-wave-bar:nth-child(5){animation-delay:.4s}@keyframes hbWave{0%,to{height:6px;opacity:.45}50%{height:16px;opacity:1}}.hb-part-video:not(.speaking) .hb-part-wave-bar{animation-duration:1.8s;opacity:.3}.hb-part-mic-badge,.hb-part-cam-badge{position:absolute;top:6px;width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;background:#0f172ab8;color:#fff}.hb-part-mic-badge{left:6px}.hb-part-mic-badge.off{background:#7f1d1dc2}.hb-part-mic-badge.on{background:#15803dc2}.hb-part-cam-badge{right:6px}.hb-part-name-bar{margin-top:6px;display:flex;align-items:center;gap:4px}.hb-part-name{color:#e2e8f0;font-size:10px;font-weight:700;line-height:1.3}.hb-part-host-tag{color:#fca5a5;font-size:9px;font-weight:800;letter-spacing:.06em}@keyframes hbParticipantEnter{0%{opacity:0;transform:translateY(16px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.ai-analysis-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;z-index:3500;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ai-analysis-box{background:#fff;border-radius:16px;width:580px;max-width:95vw;max-height:88vh;overflow-y:auto;box-shadow:0 24px 80px #0000004d}.ai-analysis-hdr{background:linear-gradient(135deg,#1c2b42,#0f1a2e);padding:24px;border-radius:16px 16px 0 0;text-align:center}.ai-analysis-hdr h2{font-family:Syne,sans-serif;font-weight:800;font-size:20px;color:#fff;margin-bottom:4px}.ai-analysis-hdr p{font-size:11px;color:#ffffff80;font-family:JetBrains Mono,monospace}.ai-analysis-body{padding:20px 24px}.ai-score-ring{width:120px;height:120px;margin:0 auto;position:relative}.ai-score-ring svg{width:120px;height:120px;transform:rotate(-90deg)}.ai-score-ring .bg{fill:none;stroke:#eef2fa;stroke-width:10}.ai-score-ring .fg{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset .4s ease}.ai-score-val{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:800}.ai-score-lbl{text-align:center;margin-top:8px;color:#4c6a90;font-size:12px;font-weight:700}.ai-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 14px}.ai-stat{background:#f6f8fc;border:1px solid #E4EAF4;border-radius:10px;padding:12px 8px;text-align:center}.ai-stat-val{font-size:20px;font-weight:800;margin-bottom:4px}.ai-stat-name{font-size:10px;color:#9aacc4;font-family:JetBrains Mono,monospace}.ai-analysis-mini-hdr{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:2px;color:#9aacc4;margin:12px 0 6px;text-transform:uppercase}.ai-concept-list{margin:14px 0}.ai-concept-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f8fafd;border:1px solid #E4EAF4;border-radius:8px;margin-bottom:6px}.ai-concept-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.ai-concept-name{color:#1c2b42;font-size:12px;flex:1}.ai-concept-status{font-size:11px;font-weight:700}.ai-feedback-box{font-size:12px;color:#4c6a90;line-height:1.7;background:#f6f8fc;border-radius:9px;padding:12px;border-left:3px solid #7C3AED;margin-bottom:8px}.ai-analysis-actions{display:flex;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #EEF2FA}.ai-analysis-actions button{flex:1;padding:10px;border-radius:8px;font-weight:700;font-size:12px;cursor:pointer;font-family:Syne,sans-serif;transition:all .15s;border:none}.ai-analysis-actions .secondary{background:#eef2fa;color:#4c6a90}.ai-analysis-actions .primary{background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff}.hb-setup-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a85;z-index:3400;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hb-setup-box{width:min(420px,calc(100vw - 32px));background:#fff;border-radius:18px;box-shadow:0 24px 80px #0f172a47;padding:22px}.hb-live-box{width:100%}.hb-live-title{font-size:24px;font-weight:800;color:#1c2b42;margin-bottom:6px;font-family:Syne,sans-serif}.hb-live-sub{font-size:12px;color:#4c6a90;line-height:1.6;margin-bottom:14px}.hb-live-card{background:#f6f8fc;border-radius:9px;padding:12px;margin-bottom:14px;border:1.5px solid #E4EAF4}.hb-live-card-label{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:2px;color:#9aacc4;margin-bottom:5px;text-transform:uppercase}.hb-key-box{display:flex;align-items:center;justify-content:space-between;gap:8px}.hb-key-box span{min-width:0;flex:1;font-family:JetBrains Mono,monospace;font-size:11px;color:#1c2b42;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-key-box-accent{color:#7c3aed!important}.hb-copy-btn{padding:7px 10px;border-radius:7px;background:#ede9fe;border:1.5px solid #DDD6FE;color:#7c3aed;font-weight:700;font-size:11px;cursor:pointer;flex-shrink:0}.hb-live-demo{background:#7c3aed0f;border-radius:8px;padding:10px 12px;margin-bottom:14px;border:1px solid rgba(124,58,237,.15);font-size:11px;color:#4c6a90;line-height:1.6}.hb-live-demo span{color:#7c3aed;font-weight:700;margin-right:4px}.hb-live-hidden{display:none}.hb-live-actions{display:flex;gap:8px}.hb-live-actions button{padding:10px;border-radius:7px;font-weight:700;cursor:pointer;font-family:Syne,sans-serif}.hb-live-actions .secondary{flex:1;background:#ede9fe;border:1.5px solid #DDD6FE;color:#7c3aed;font-size:12px}.hb-live-actions .primary{flex:2;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;color:#fff;font-size:13px;letter-spacing:.5px}.hb-setup-title{font-size:20px;font-weight:800;color:#0f172a}.hb-setup-subtitle{margin-top:8px;font-size:13px;line-height:1.6;color:#475569}.hb-setup-option-row{margin-top:18px;padding:14px 16px;border:1px solid #E2E8F0;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.hb-setup-option-title{font-size:14px;font-weight:700;color:#0f172a}.hb-setup-option-desc{margin-top:4px;font-size:12px;color:#64748b;line-height:1.5}.hb-setup-toggle{min-width:68px;height:34px;border-radius:999px;border:1px solid #CBD5E1;background:#f8fafc;color:#475569;font-size:12px;font-weight:800;cursor:pointer}.hb-setup-toggle.on{background:linear-gradient(135deg,#7c3aed,#4f46e5);border-color:#4f46e5;color:#fff}.hb-setup-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:10px}.hb-setup-actions button{min-width:110px;height:42px;border-radius:12px;border:none;font-size:13px;font-weight:800;cursor:pointer}.hb-setup-actions .secondary{background:#eef2fa;color:#475569}.hb-setup-actions .primary{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.hb-sidebar{width:320px;flex-shrink:0;display:flex;flex-direction:column;background:radial-gradient(circle at top,rgba(59,130,246,.08),transparent 34%),linear-gradient(180deg,#f8fbff,#f3f7fc);overflow:hidden;border-left:1px solid rgba(148,163,184,.18)}.hb-cam-wrap{flex-shrink:0;padding:14px 14px 0}.hb-cam-box{background:linear-gradient(180deg,rgba(255,255,255,.12),transparent),linear-gradient(135deg,#122033,#1e3350 55%,#29466a);border-radius:18px;overflow:hidden;position:relative;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.15);box-shadow:0 18px 36px #0f172a2e}.hb-video{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transform:scaleX(-1)}.hb-cam-off{display:flex;flex-direction:column;align-items:center;gap:6px;color:#ffffff94;font-size:12px;font-family:JetBrains Mono,monospace}.hb-cam-off span{font-size:32px}.hb-cam-ctrls{position:absolute;bottom:10px;right:10px;display:flex;gap:6px}.hb-ccbtn{width:30px;height:30px;border-radius:9px;background:#0f172a85;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,background .15s ease,border-color .15s ease}.hb-ccbtn:hover{background:#ffffff2e;border-color:#ffffff4d;transform:translateY(-1px)}.hb-cam-status{position:absolute;top:10px;left:10px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700;letter-spacing:1px;padding:4px 8px;border-radius:999px;background:#0f172a9e;color:#fff;border:1px solid rgba(255,255,255,.12)}.hb-cam-status.live{background:#ef4444;animation:recpulse 1.2s infinite}@keyframes recpulse{0%,to{opacity:1}50%{opacity:.3}}.hb-sidebar-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 14px 0}.hb-side-stat{padding:11px 10px 10px;border-radius:14px;background:#ffffffb8;border:1px solid rgba(226,232,240,.95);box-shadow:0 10px 22px #94a3b81f}.hb-side-stat-label{display:block;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:8px;letter-spacing:1.6px;color:#94a3b8}.hb-side-stat strong{font-size:20px;line-height:1;font-weight:800;color:#0f172a}.hb-prompts-wrap{flex:1;overflow-y:auto;padding:12px 14px 16px;scrollbar-width:thin;scrollbar-color:#D0D8E8 transparent}.hb-side-card{padding:14px;margin-bottom:12px;border-radius:18px;background:#fffc;border:1px solid rgba(226,232,240,.95);box-shadow:0 14px 30px #94a3b81f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hb-sec-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;margin-top:10px}.hb-prompt-hdr{margin-top:0;margin-bottom:10px}.hb-sec-hdr-tight{align-items:flex-start;margin-top:0;margin-bottom:12px}.hb-sec-lbl{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:2px;color:#64748b;text-transform:uppercase}.hb-sec-sub{margin-top:6px;font-size:11.5px;line-height:1.45;color:#94a3b8}.hb-sec-count{min-width:26px;height:26px;padding:0 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.hb-gen-btn{font-family:JetBrains Mono,monospace;font-size:9px;padding:7px 10px;border-radius:999px;cursor:pointer;border:1px solid rgba(99,102,241,.22);color:#4338ca;background:linear-gradient(135deg,#6366f114,#3b82f61f);transition:all .15s;letter-spacing:.5px;white-space:nowrap}.hb-gen-btn:hover{background:#4f46e5;color:#fff}.hb-gen-btn.loading{animation:genblink .8s infinite;pointer-events:none}@keyframes genblink{0%,to{opacity:1}50%{opacity:.4}}.hb-prompt-card{background:linear-gradient(180deg,#fff,#f8fafc);border-radius:14px;padding:12px 42px 12px 12px;border:1px solid #E2E8F0;transition:border-color .15s,transform .15s ease,box-shadow .15s ease;cursor:pointer;position:relative}.hb-prompt-list{display:flex;flex-direction:column;gap:8px}.hb-prompt-card:hover{border-color:#a5b4fc;transform:translateY(-1px);box-shadow:0 10px 24px #6366f11f}.hb-prompt-card.selected{border-color:#6366f1;background:linear-gradient(180deg,#f8faff,#eef2ff);box-shadow:0 12px 28px #6366f129}.hb-prompt-tag{font-family:JetBrains Mono,monospace;font-size:8px;letter-spacing:1px;font-weight:700;margin-bottom:4px}.hb-prompt-txt{font-size:12px;color:#1e293b;line-height:1.6}.hb-prompt-add{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:8px;background:#6366f11a;color:#4f46e5;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:.82;transition:opacity .15s ease,background .15s ease,transform .15s ease;border:1px solid rgba(99,102,241,.14);cursor:pointer}.hb-prompt-add:hover{background:#6366f12e;transform:translateY(-1px)}.hb-prompt-card:hover .hb-prompt-add{opacity:1}.hb-empty-state{font-size:11px;color:#94a3b8;font-family:JetBrains Mono,monospace;text-align:center;padding:16px 0 6px;line-height:1.65}.hb-kw-row{display:flex;flex-wrap:wrap;gap:6px}.hb-kw{font-size:10px;padding:6px 9px;border-radius:999px;background:#eef2ff;color:#4338ca;font-family:JetBrains Mono,monospace;cursor:pointer;border:1px solid #C7D2FE;transition:all .15s}.hb-kw:hover{background:#4f46e5;color:#fff}.hb-kw.revealed{background:#ecfdf5;border-color:#86efac;color:#15803d}.hb-custom-input{width:100%;min-height:88px;background:#fff;border:1px solid #DCE4F0;border-radius:14px;padding:11px 12px;font-size:12px;color:#1e293b;font-family:Noto Sans KR,sans-serif;resize:none;outline:none;transition:border-color .2s,box-shadow .2s ease;display:block}.hb-custom-input:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11f}.hb-add-prompt-btn{width:100%;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#2563eb);border:none;color:#fff;font-weight:700;font-size:11.5px;cursor:pointer;margin-top:8px;font-family:Syne,Noto Sans KR,sans-serif;transition:transform .15s ease,filter .15s ease}.hb-add-prompt-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.hb-ref{margin:0 0 12px;padding:14px;border-radius:18px;border:1px solid rgba(226,232,240,.95);background:#ffffffdb;box-shadow:0 14px 30px #94a3b81f}.hb-ref-lbl{font-family:JetBrains Mono,monospace;font-size:9px;letter-spacing:2px;color:#64748b;text-transform:uppercase;margin-bottom:10px}.hb-ref-q{font-size:11px;color:#334155;line-height:1.5;margin-bottom:8px;padding:9px 10px;border-radius:12px;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #E2E8F0;display:flex;align-items:flex-start;gap:8px}.hb-ref-q:last-child{margin-bottom:0}.hb-ref-index{width:18px;height:18px;border-radius:50%;background:#dbeafe;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.hb-img-stage.drag-over{outline:3px dashed #7C3AED;outline-offset:-3px}.hb-prompts-wrap::-webkit-scrollbar{width:3px}.hb-prompts-wrap::-webkit-scrollbar-track{background:transparent}.hb-prompts-wrap::-webkit-scrollbar-thumb{background:#d0d8e8;border-radius:2px}.agent-root{width:100vw;height:100vh;display:flex;flex-direction:column;background:#050714;color:#e1e8f0;overflow:hidden;font-family:Noto Sans KR,system-ui,sans-serif;position:relative}.agent-header{position:absolute;top:0;left:0;right:0;z-index:10;padding:14px 24px;font-size:13px;font-weight:600;letter-spacing:.5px;color:#e1e8f0b3;pointer-events:none}.agent-orb-section{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:flex .6s cubic-bezier(.4,0,.2,1)}.agent-orb-section--full{flex:1 1 100%}.agent-orb-section--compact{flex:0 0 35vh}.agent-canvas{width:100%;height:100%;display:block;touch-action:none}.agent-controls-bar{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:6px 24px;border-bottom:1px solid rgba(25,45,74,.4)}.agent-controls-bar--floating{position:absolute;top:8px;left:0;right:0;z-index:10;border-bottom:none;background:transparent;justify-content:flex-end}.agent-controls-spacer{flex:1}.agent-mode-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:8px;background:transparent;border:1px solid transparent;color:#4a5e78;font-size:12px;font-family:Noto Sans KR,system-ui,sans-serif;cursor:pointer;transition:all .15s}.agent-mode-btn:hover{color:#8b9db5}.agent-mode-btn--active{color:#e1e8f0;background:#7c3aed26;border-color:#7c3aed4d}.agent-collapse-btn{width:32px;height:32px;border-radius:8px;background:transparent;border:1px solid rgba(25,45,74,.5);color:#8b9db5;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.agent-collapse-btn:hover{background:#192d4a66;color:#e1e8f0}.agent-chat-section{flex:1;overflow-y:auto;padding:20px 24px 8px;scrollbar-width:thin;scrollbar-color:#2A3A55 transparent;animation:agentSlideUp .5s ease}.agent-chat-section::-webkit-scrollbar{width:4px}.agent-chat-section::-webkit-scrollbar-track{background:transparent}.agent-chat-section::-webkit-scrollbar-thumb{background:#2a3a55;border-radius:2px}@keyframes agentSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.agent-messages{max-width:720px;margin:0 auto;display:flex;flex-direction:column}.agent-msg{display:flex;gap:12px;margin-bottom:18px;animation:agentFadeIn .35s ease}.agent-msg--user{justify-content:flex-end}.agent-msg--assistant{justify-content:flex-start}@keyframes agentFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.agent-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#06b6d4);display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:800;font-family:JetBrains Mono,monospace;flex-shrink:0;box-shadow:0 0 16px #7c3aed59;letter-spacing:.5px}.agent-bubble{max-width:75%;padding:14px 18px;border-radius:16px;font-size:14px;line-height:1.75;white-space:pre-line}.agent-bubble--assistant{background:#0e1829d1;border:1px solid rgba(25,45,74,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top-left-radius:4px;color:#e1e8f0}.agent-bubble--user{background:linear-gradient(135deg,#7c3aed40,#3b82f640);border:1px solid rgba(124,58,237,.35);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top-right-radius:4px;color:#f0f4ff}.agent-typing{display:flex;align-items:center;gap:2px;padding:16px 22px;min-height:48px}.agent-typing .dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8b9db5;margin:0 2px;animation:agentBounce 1.4s infinite ease-in-out}.agent-typing .dot:nth-child(2){animation-delay:.2s}.agent-typing .dot:nth-child(3){animation-delay:.4s}@keyframes agentBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-8px);opacity:1}}.agent-input-bar{flex-shrink:0;padding:8px 24px 24px;transition:all .5s ease}.agent-input-bar--floating{position:absolute;bottom:0;left:0;right:0;z-index:10;padding:8px 24px 32px;background:linear-gradient(to top,rgba(5,7,20,.9) 40%,transparent)}.agent-input-bar--docked{background:linear-gradient(to top,#050714 70%,transparent)}.agent-input-wrap{max-width:720px;margin:0 auto;display:flex;align-items:flex-end;gap:12px;background:#0e1829d1;border:1px solid rgba(25,45,74,.8);border-radius:16px;padding:10px 12px 10px 18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s}.agent-input-wrap:focus-within{border-color:#7c3aed80;box-shadow:0 0 0 3px #7c3aed14}.agent-textarea{flex:1;background:transparent;border:none;outline:none;color:#e1e8f0;font-size:14px;line-height:1.5;resize:none;max-height:120px;min-height:24px;font-family:Noto Sans KR,system-ui,sans-serif}.agent-textarea::-moz-placeholder{color:#4a5e78}.agent-textarea::placeholder{color:#4a5e78}.agent-send-btn{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#3b82f6);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .2s,transform .15s}.agent-send-btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.1)}.agent-send-btn:disabled{opacity:.25;cursor:not-allowed}.agent-voice-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:linear-gradient(135deg,#7c3aed33,#06b6d433);border:1px solid rgba(124,58,237,.3);border-radius:12px;color:#e1e8f0;font-size:14px;font-family:Noto Sans KR,system-ui,sans-serif;cursor:pointer;transition:all .2s}.agent-voice-btn:hover{background:linear-gradient(135deg,#7c3aed59,#06b6d459)}.agent-voice-area{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:10px;align-items:center}.agent-mode-switch{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:#0e182999;border:1px solid rgba(25,45,74,.5);color:#8b9db5;font-size:12px;font-family:Noto Sans KR,system-ui,sans-serif;cursor:pointer;transition:all .15s}.agent-mode-switch:hover{color:#e1e8f0;border-color:#7c3aed66}.agent-suggestions{max-width:720px;margin:0 auto 12px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.agent-suggestion-chip{padding:8px 14px;border-radius:999px;background:#0e1829b3;border:1px solid rgba(25,45,74,.6);color:#8b9db5;font-size:12px;cursor:pointer;transition:all .15s;font-family:Noto Sans KR,system-ui,sans-serif;white-space:nowrap}.agent-suggestion-chip:hover{border-color:#7c3aed80;color:#e1e8f0;background:#7c3aed1f}@media (max-width: 768px){.agent-orb-section--compact{flex:0 0 25vh}.agent-chat-section{padding:14px 16px 4px}.agent-input-bar{padding:8px 16px 16px}.agent-bubble{max-width:88%;font-size:13px}}
