.pp-player{display:flex;flex-direction:column;width:100%;height:100%;background:#111827;color:#111;font-family:system-ui,sans-serif}.pp-canvas{position:relative;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}.pp-canvas-scale-box{position:relative;flex-shrink:0}.pp-canvas-inner{position:relative;overflow:hidden;background:#fff}.pp-element{overflow:auto}.pp-image,.pp-video,.pp-audio,.pp-hotspots,.pp-text{overflow:hidden}.pp-text{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.pp-text>*:last-child{margin-bottom:0}.pp-audio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box}.pp-audio-icon{font-size:22px}.pp-text h1{font-size:24px;font-weight:700;margin:0 0 6px;line-height:1.2}.pp-text h2{font-size:19px;font-weight:700;margin:0 0 6px;line-height:1.25}.pp-text h3{font-size:15px;font-weight:700;margin:0 0 4px;line-height:1.3}.pp-text p{margin:0 0 6px}.pp-text blockquote{margin:0 0 6px;padding-left:10px;border-left:3px solid #d1d5db;color:#6b7280;font-style:italic}.pp-question{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:12px;box-sizing:border-box}.pp-question-text{font-weight:600;margin:0 0 8px}.pp-question-options{list-style:none;margin:0 0 8px;padding:0}.pp-question-options li{margin-bottom:4px}.pp-feedback{margin:8px 0 0;font-weight:600}.pp-feedback-correct{color:#15803d}.pp-feedback-incorrect{color:#b91c1c}.pp-quiz{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:12px;box-sizing:border-box;overflow-y:auto}.pp-quiz-progress{margin:0 0 8px;font-size:12px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.03em}.pp-quiz-nav{display:flex;gap:8px;margin-top:8px}.pp-quiz-nav button{background:#374151;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:13px;cursor:pointer}.pp-quiz-nav button:disabled{opacity:.4;cursor:not-allowed}.pp-quiz-results{text-align:center;padding:12px 0}.pp-quiz-results-score{font-size:18px;font-weight:700;margin:0 0 12px}.pp-quiz-results button{background:#374151;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:13px;cursor:pointer}.pp-quiz-empty{color:#6b7280}.pp-fillblanks{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:12px;box-sizing:border-box}.pp-fillblanks-text{margin:0 0 10px;line-height:1.8}.pp-fillblanks-blank{font:inherit;font-weight:600;text-align:center;margin:0 2px;padding:1px 6px;border:none;border-bottom:2px solid #6b7280;background:transparent;color:inherit}.pp-fillblanks-blank:focus{outline:none;border-bottom-color:#111827}.pp-fillblanks-blank-correct{border-bottom-color:#15803d;color:#15803d}.pp-fillblanks-blank-incorrect{border-bottom-color:#b91c1c;color:#b91c1c}.pp-fillblanks-actions{display:flex;align-items:center;gap:10px}.pp-fillblanks-score{font-weight:600;font-size:13px}.pp-dragdrop{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:12px;box-sizing:border-box;overflow-y:auto}.pp-dragdrop-zones{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.pp-dragdrop-zone{min-width:110px;border:2px dashed #9ca3af;border-radius:6px;padding:6px 8px;background:#fff;cursor:pointer}.pp-dragdrop-zone-label{font-size:11px;color:#6b7280;margin-bottom:4px}.pp-dragdrop-zone-slot{font-weight:600;font-size:13px;min-height:18px}.pp-dragdrop-zone-correct{border-color:#15803d;background:#ecfdf5}.pp-dragdrop-zone-incorrect{border-color:#b91c1c;background:#fef2f2}.pp-dragdrop-tray{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.pp-dragdrop-item{border:1px solid #9ca3af;border-radius:6px;padding:4px 10px;background:#fff;cursor:grab;font-size:13px;color:#111}.pp-dragdrop-item-selected{border-color:#2563eb;background:#eff6ff}.pp-dragdrop-item:disabled{opacity:.5;cursor:default}.pp-dragdrop-actions{display:flex;align-items:center;gap:10px}.pp-dragdrop-score{font-weight:600;font-size:13px}.pp-match{display:flex;flex-direction:column;gap:10px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:12px;box-sizing:border-box;overflow-y:auto}.pp-match-columns{position:relative;display:flex;justify-content:space-between;gap:32px}.pp-match-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.pp-match-lines line{stroke:#2563eb;stroke-width:2}.pp-match-lines line.pp-match-line-correct{stroke:#15803d}.pp-match-lines line.pp-match-line-incorrect{stroke:#b91c1c}.pp-match-col{position:relative;display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.pp-match-item{border:1px solid #9ca3af;border-radius:6px;padding:6px 10px;background:#fff;cursor:pointer;font-size:13px;text-align:left;color:#111}.pp-match-item-selected{border-color:#2563eb;background:#eff6ff}.pp-match-item-connected{border-color:#2563eb}.pp-match-item-correct{border-color:#15803d;background:#ecfdf5}.pp-match-item-incorrect{border-color:#b91c1c;background:#fef2f2}.pp-match-item:disabled{cursor:default}.pp-match-actions{display:flex;align-items:center;gap:10px}.pp-match-score{font-weight:600;font-size:13px}.pp-wordsearch{display:flex;flex-direction:column;gap:8px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:10px;box-sizing:border-box;overflow:hidden}.pp-wordsearch-grid{display:grid;gap:2px;flex:1;min-height:0;aspect-ratio:1;margin:0 auto}.pp-wordsearch-cell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;aspect-ratio:1;border:1px solid #d1d5db;border-radius:3px;padding:0;background:#fff;cursor:pointer;font-family:inherit;font-size:11px;font-weight:700;line-height:1;color:#111}.pp-wordsearch-cell-pending{border-color:#2563eb;background:#eff6ff}.pp-wordsearch-cell-found{border-color:#15803d;background:#ecfdf5;color:#15803d}.pp-wordsearch-words{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}.pp-wordsearch-word{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#e5e7eb;color:#374151}.pp-wordsearch-word.found{background:#ecfdf5;color:#15803d;text-decoration:line-through}.pp-branching{display:flex;flex-direction:column;gap:8px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:12px;box-sizing:border-box;overflow-y:auto}.pp-branching-option{border:1px solid #9ca3af;border-radius:6px;padding:8px 12px;background:#fff;cursor:pointer;font-size:13px;text-align:left;color:#111}.pp-branching-option:hover{border-color:#2563eb;background:#eff6ff}.pp-button{display:flex;align-items:center;justify-content:center;text-align:center;background:#2563eb;color:#fff;border:none;border-radius:8px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;box-sizing:border-box}.pp-button:hover{background:#1d4ed8}.pp-interactive-video{position:relative}.pp-iv-youtube{width:100%;height:100%}.pp-iv-youtube iframe{width:100%;height:100%;border:none}.pp-iv-popup{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;z-index:4}.pp-iv-popup-inner{background:#fff;color:#111;border-radius:8px;padding:14px;max-width:90%;max-height:90%;overflow-y:auto;box-sizing:border-box;font-size:13px}.pp-iv-question{font-weight:600;margin:0 0 8px}.pp-iv-options{list-style:none;margin:0 0 10px;padding:0}.pp-iv-options li{margin-bottom:4px}.pp-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#1f2937}.pp-nav button{background:#374151;color:#fff;border:none;border-radius:6px;padding:8px 16px;cursor:pointer}.pp-nav button:disabled{opacity:.4;cursor:not-allowed}.pp-dots{display:flex;gap:6px}.pp-dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:#4b5563;cursor:pointer}.pp-dot:hover{background:#6b7280}.pp-dot-active,.pp-dot-active:hover{background:#f9fafb}.pp-menu-toggle{background:#374151;color:#fff;border:none;border-radius:6px;padding:8px 12px;cursor:pointer;font-size:14px;line-height:1}.pp-menu-toggle:hover{background:#4b5563}.pp-menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:flex-start;justify-content:flex-start;z-index:20}.pp-menu{width:220px;max-height:100%;overflow-y:auto;background:#fff;color:#111;box-shadow:2px 0 8px #0003}.pp-menu-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-weight:600;border-bottom:1px solid #e5e7eb}.pp-menu-header button{border:none;background:transparent;cursor:pointer;font-size:14px;color:#6b7280}.pp-menu-list{list-style:none;margin:0;padding:6px}.pp-menu-item{display:block;width:100%;text-align:left;padding:8px 10px;border:none;border-radius:6px;background:transparent;cursor:pointer;font-size:13px}.pp-menu-item:hover{background:#f3f4f6}.pp-menu-item-active{background:#eff6ff;color:#2563eb;font-weight:600}.pp-hotspots{position:relative;overflow:visible}.pp-hotspot-marker{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;border:2px solid #fff;background:#2563ebd9;color:#fff;font-size:16px;line-height:1;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;box-shadow:0 0 0 4px #2563eb4d;animation:pp-hotspot-pulse 2s ease-in-out infinite}.pp-hotspot-marker-active{background:#1d4ed8;transform:translate(-50%,-50%) rotate(45deg);animation:none}@keyframes pp-enter-fade{0%{opacity:0}to{opacity:1}}@keyframes pp-enter-slide-from-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes pp-enter-slide-from-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes pp-enter-slide-from-top{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes pp-enter-slide-from-bottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes pp-enter-zoom{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.pp-element{animation:none!important}}@keyframes pp-hotspot-pulse{0%,to{box-shadow:0 0 0 4px #2563eb4d}50%{box-shadow:0 0 0 8px #2563eb26}}.pp-hotspot-popup{position:absolute;transform:translate(-50%,calc(-100% - 20px));width:220px;max-width:60vw;background:#fff;color:#111;border-radius:8px;box-shadow:0 4px 16px #0000004d;padding:10px 12px;z-index:5;font-size:13px}.pp-hotspot-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}.pp-hotspot-popup-header strong{font-size:14px}.pp-hotspot-popup-header button{border:none;background:transparent;cursor:pointer;color:#6b7280;font-size:12px;line-height:1;padding:2px}.pp-hotspot-popup p{margin:0;color:#4b5563}.pp-flashcards{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:visible}.pp-flashcard{width:100%;height:calc(100% - 34px);perspective:1000px;cursor:pointer}.pp-flashcard-inner{position:relative;width:100%;height:100%;transition:transform .4s;transform-style:preserve-3d}.pp-flashcard-flipped{transform:rotateY(180deg)}.pp-flashcard-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box;border-radius:10px;backface-visibility:hidden;font-size:16px;font-weight:600;overflow:auto}.pp-flashcard-front{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.pp-flashcard-back{background:#1e3a8a;color:#fff;transform:rotateY(180deg)}.pp-flashcards-nav{display:flex;align-items:center;gap:10px;font-size:12px;color:#4b5563}.pp-flashcards-nav button{background:#374151;color:#fff;border:none;border-radius:6px;width:26px;height:26px;padding:0;cursor:pointer}.pp-flashcards-nav button:disabled{opacity:.4;cursor:not-allowed}.pp-flashcards-empty{color:#6b7280}.pp-timeline{overflow-y:auto;padding:14px;box-sizing:border-box}.pp-timeline-track{position:relative;padding-left:18px;border-left:2px solid #d1d5db}.pp-timeline-event{position:relative;margin-bottom:16px}.pp-timeline-event:last-child{margin-bottom:0}.pp-timeline-dot{position:absolute;left:-23px;top:4px;width:10px;height:10px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 2px #fff,0 0 0 3px #2563eb}.pp-timeline-date{font-size:12px;font-weight:700;color:#2563eb;text-transform:uppercase;letter-spacing:.02em}.pp-timeline-title{font-weight:600;margin:2px 0}.pp-timeline-description{font-size:13px;color:#4b5563}.pp-empty{padding:24px;color:#6b7280;text-align:center}:root{--color-primary: #c2410c;--color-primary-hover: #9a3412;--color-primary-subtle: #fff7ed;--color-secondary: #9a3412;--color-neutral: #9e9e9e;--color-bg: #eeeeee;--color-surface: #ffffff;--color-overlay: #fafafa;--color-modal: #ffffff;--color-text: #212121;--color-text-secondary: #616161;--color-border: #e0e0e0;--color-border-hover: #bdbdbd;--color-success: #00793d;--color-success-bg: #e3fcef;--color-warning: #b45309;--color-error: #c62828;--color-error-bg: #ffebee;--shadow-sm: 0 1px 2px 0 rgba(33, 33, 33, .05);--shadow-md: 0 4px 6px -1px rgba(33, 33, 33, .08), 0 2px 4px -1px rgba(33, 33, 33, .05);--shadow-lg: 0 1px 3px rgba(0, 0, 0, .08), 0 8px 24px rgba(0, 0, 0, .08);--shadow-dropdown: var(--shadow-lg);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-pill: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}:root[data-theme=dark]{--color-primary: #fb923c;--color-primary-hover: #fdba74;--color-primary-subtle: #431407;--color-secondary: #c2410c;--color-neutral: #a3a3a3;--color-bg: #1c1917;--color-surface: #292524;--color-overlay: #3f3a37;--color-modal: #292524;--color-text: #fafaf9;--color-text-secondary: #a8a29e;--color-border: #44403c;--color-border-hover: #57534e;--color-success: #4ade80;--color-success-bg: #052e1b;--color-warning: #fbbf24;--color-error: #f87171;--color-error-bg: #450a0a;--shadow-dropdown: 0 10px 20px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4)}*{box-sizing:border-box}.sidebar,.canvas-wrapper,.canvas-timeline,.properties-panel{scrollbar-width:thin;scrollbar-color:var(--color-border-hover) transparent}.sidebar::-webkit-scrollbar,.canvas-wrapper::-webkit-scrollbar,.canvas-timeline::-webkit-scrollbar,.properties-panel::-webkit-scrollbar{width:6px;height:6px}.sidebar::-webkit-scrollbar-track,.canvas-wrapper::-webkit-scrollbar-track,.canvas-timeline::-webkit-scrollbar-track,.properties-panel::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb,.canvas-wrapper::-webkit-scrollbar-thumb,.canvas-timeline::-webkit-scrollbar-thumb,.properties-panel::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius-pill)}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);font-weight:400;color:var(--color-text);background:var(--color-bg)}.app-shell{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 20px;height:60px;flex-shrink:0;background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text)}.import-error-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 20px;background:var(--color-error-bg);color:var(--color-error);font-size:13px;font-weight:500;flex-shrink:0}.import-error-banner button{background:transparent;border:none;color:inherit;cursor:pointer;flex-shrink:0}.app-header-left,.app-header-right{display:flex;align-items:center;gap:10px;min-width:0;flex-shrink:0}.app-header-left{min-width:0}.app-logo{height:40px;width:auto;flex-shrink:0;display:block}.logo-with-badge{display:inline-flex;align-items:center;gap:6px}.logo-beta-badge{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary);background:var(--color-primary-subtle);border:1px solid var(--color-primary);border-radius:999px;padding:2px 6px;line-height:1.4;white-space:nowrap;flex-shrink:0}.app-header .app-logo-btn{display:flex;align-items:center;height:auto;padding:0;border:none;border-radius:0;background:none;cursor:pointer}.header-divider{width:1px;height:24px;background:var(--color-border);margin:0 2px;flex-shrink:0}.select-wrap{position:relative;display:inline-flex}.select-wrap:after{content:"";position:absolute;right:12px;top:50%;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--color-text-secondary);transform:translateY(-2px);pointer-events:none}.select-wrap select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);height:32px;padding:0 28px 0 12px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;max-width:220px;text-overflow:ellipsis}.app-header button.save-badge{display:flex;align-items:center;gap:6px;border:none;border-radius:var(--radius-pill);padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;background:var(--color-success-bg);color:var(--color-success)}.app-header button.save-badge:disabled{cursor:default}.save-badge-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.app-header button.save-badge-pending{background:var(--color-primary-subtle);color:var(--color-primary-hover)}.app-footer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);flex-shrink:0;background:var(--color-surface);border-top:1px solid var(--color-border);color:var(--color-text)}.footer-actions-group{display:flex;align-items:center;gap:var(--space-3)}.app-footer button{background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);height:32px;padding:0 14px;font-size:13px;font-weight:600;cursor:pointer}.app-footer button:hover:not(:disabled){background:var(--color-overlay);border-color:var(--color-border-hover)}button{font-family:inherit;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.app-header button,.toolbar button,.slide-nav button,.bg-color-btn,.bg-image-btn,.rich-text-toolbar button,.add-slide-btn,.slide-thumb button{background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);height:32px;padding:0 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .12s,border-color .12s}.app-header button:hover:not(:disabled),.toolbar button:hover:not(:disabled),.slide-nav button:hover:not(:disabled),.bg-color-btn:hover,.bg-image-btn:hover,.rich-text-toolbar button:hover,.add-slide-btn:hover{background:var(--color-overlay);border-color:var(--color-border-hover)}.btn-primary{background:var(--color-primary)!important;color:#fff!important;border:none!important;padding:8px 18px!important}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)!important}.btn-danger{background:transparent!important;color:var(--color-error)!important;border:none!important;padding:7px 10px!important}.btn-danger:hover:not(:disabled){background:var(--color-error-bg)!important}.app-body{display:flex;flex:1;min-height:0;background:var(--color-bg)}.sidebar{width:208px;flex-shrink:0;border-right:1px solid var(--color-border);overflow-y:auto;padding:16px 12px;background:var(--color-surface);display:flex;flex-direction:column;gap:10px}.sidebar-label{font-size:12px;font-weight:600;color:var(--color-neutral);text-transform:uppercase;letter-spacing:.04em;padding:0 4px}.slide-thumb{position:relative;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface);cursor:pointer;transition:border-color .12s}.slide-thumb-a11y-badge{position:absolute;bottom:6px;right:6px;display:flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#fff;background:#b45309;padding:2px 6px;border-radius:var(--radius-md);line-height:1.4;pointer-events:none}.slide-thumb-ending-badge{position:absolute;bottom:6px;left:6px;display:flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#fff;background:#15803d;padding:2px 6px;border-radius:var(--radius-md);line-height:1.4;pointer-events:none}.slide-thumb:hover{border-color:var(--color-border-hover)}.slide-thumb.active{border:2px solid var(--color-primary)}.slide-thumb-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;font-size:13px;font-weight:600;color:var(--color-text)}.slide-thumb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slide-thumb-rename{flex:1;min-width:0;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-primary);border-radius:4px;padding:2px 6px;font-size:13px;font-family:inherit}.slide-thumb button{border:none;background:transparent;color:var(--color-neutral);cursor:pointer;height:auto;line-height:1;padding:2px 4px;border-radius:4px;font-size:15px}.slide-thumb button:hover{background:var(--color-error-bg);color:var(--color-error)}.slide-thumb-preview{position:relative;overflow:hidden;background:var(--color-overlay);border-top:1px solid var(--color-border)}.slide-thumb-canvas{position:relative;transform-origin:top left;background-color:#fff;color:#111}.slide-thumb-element{position:absolute;overflow:hidden;pointer-events:none}.add-slide-btn{width:100%;height:auto;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);margin-top:0}.toolbar{display:flex;align-items:stretch;flex-wrap:nowrap;gap:4px;padding:10px 20px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.toolbar-group{display:flex;align-items:center;flex-wrap:nowrap;gap:4px}.toolbar-group-right{margin-left:auto;gap:var(--space-4)}button.toolbar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:56px;height:auto;padding:6px 10px!important;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;flex-shrink:0}button.toolbar-btn:hover{background:var(--color-overlay)}.toolbar-btn svg{width:17px;height:17px}.toolbar-btn-label{font-size:11px;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}button.toolbar-btn.active{background:#c2410c1f}button.toolbar-btn.toolbar-btn-warning .toolbar-btn-label{color:#b45309;font-weight:700}.toolbar-swatch{width:16px;height:16px;border-radius:4px;background:linear-gradient(135deg,var(--color-primary) 50%,var(--color-border) 50%)}.toolbar-dots{display:flex;gap:3px;height:17px;align-items:center}.toolbar-dots span{width:3px;height:3px;border-radius:50%;background:var(--color-text)}.bg-color-btn,.bg-image-btn{width:32px;height:32px;overflow:hidden;position:relative;padding:0;display:flex;align-items:center;justify-content:center}.bg-color-btn input[type=color]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border:none;padding:0;cursor:pointer}.bg-image-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.slide-nav{display:flex;align-items:center;gap:6px}.slide-nav button{width:auto;height:auto;padding:4px 8px;line-height:1;border:none;border-radius:var(--radius-sm);justify-content:center;color:var(--color-text-secondary)}.slide-nav button:disabled{opacity:.4;cursor:not-allowed}.slide-nav span{font-size:12px;font-weight:500;color:var(--color-text-secondary);min-width:44px;text-align:center}.canvas-area{flex:1;position:relative;display:flex;flex-direction:column;min-width:0}.canvas-wrapper{flex:1;position:relative;display:flex;align-items:center;justify-content:center;background:#f3f4f6;overflow:hidden;padding:var(--space-6)}.canvas-scale-box{position:relative;flex-shrink:0}.slide-canvas{position:relative;width:800px;height:450px;background:#fff;color:#111;box-shadow:0 1px #1b1f240a,0 0 0 1px var(--color-border)}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(to right,rgba(194,65,12,.12) 1px,transparent 1px),linear-gradient(to bottom,rgba(194,65,12,.12) 1px,transparent 1px)}.canvas-element{border:1px solid transparent;user-select:none;-webkit-user-select:none}.canvas-element.selected{border-color:var(--color-primary)}.canvas-element-inner{width:100%;height:100%;overflow:hidden}.canvas-element-inner img,.canvas-element-inner video,.canvas-element-inner iframe{width:100%;height:100%;object-fit:contain;background:#000}.canvas-text{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.canvas-button{display:flex;align-items:center;justify-content:center;text-align:center;background:#2563eb;color:#fff;border-radius:8px;font-size:14px;font-weight:600;box-sizing:border-box}.canvas-audio{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f3f4f6;font-size:20px}.canvas-audio audio{width:90%;height:32px}.canvas-hotspots{position:relative}.canvas-hotspot-marker{position:absolute;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:2px solid #fff;background:#2563ebd9;color:#fff;font-size:13px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:none}.canvas-timeline{overflow-y:auto;padding:10px;background:#fff}.canvas-timeline-track{position:relative;padding-left:16px;border-left:2px solid #d1d5db}.canvas-timeline-event{position:relative;margin-bottom:10px}.canvas-timeline-dot{position:absolute;left:-21px;top:3px;width:8px;height:8px;border-radius:50%;background:#2563eb;box-shadow:0 0 0 2px #fff,0 0 0 3px #2563eb}.canvas-timeline-date{font-size:10px;font-weight:700;color:#2563eb;text-transform:uppercase}.canvas-timeline-title{font-size:12px;font-weight:600;color:#111827}.canvas-timeline-empty{font-size:12px;color:#6b7280}.canvas-element-delete{position:absolute;top:-10px;right:-10px;width:20px;height:20px;border-radius:50%;border:1px solid var(--color-error);background:var(--color-error);color:#fff;font-size:11px;line-height:1;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;padding:0}.canvas-element-delete:hover{filter:brightness(1.1)}.properties-toggle-btn{position:absolute;top:14px;right:0;transform:translate(50%);width:22px;height:22px;padding:0;font-size:12px;line-height:1;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-secondary);justify-content:center;box-shadow:var(--shadow-sm);z-index:5}.properties-toggle-btn:hover{background:var(--color-overlay);border-color:var(--color-border-hover)}.properties-panel{width:288px;flex-shrink:0;padding:20px;overflow-x:hidden;overflow-y:auto;background:var(--color-surface);color:var(--color-text)}.properties-panel:before{content:"Propiedades";display:block;font-size:12px;font-weight:600;color:var(--color-neutral);text-transform:uppercase;letter-spacing:.04em;margin-bottom:16px}.properties-panel h3{margin-top:0;font-size:15px;font-weight:600}.properties-panel>p{color:var(--color-text-secondary)}.properties-hint{margin:var(--space-2) 0 0;font-size:12px;line-height:1.5}.properties-hint code{font-size:11.5px;background:var(--color-overlay);padding:1px 4px;border-radius:4px}.properties-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.properties-panel-header h3{margin:0}.delete-element-btn{border:1px solid var(--color-border);background:transparent;color:var(--color-error);border-radius:var(--radius-md);height:28px;padding:0 var(--space-2);font-size:12px;cursor:pointer;white-space:nowrap}.delete-element-btn:hover{background:#ba1a1a1a;border-color:var(--color-error)}.properties-panel label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin:var(--space-3) 0 4px}.layer-order-controls{display:flex;gap:var(--space-1)}.layer-order-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:var(--color-overlay);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.layer-order-controls button:hover{background:var(--color-surface);border-color:var(--color-border-hover);color:var(--color-text)}.layer-order-controls svg{width:16px;height:16px}.properties-panel textarea,.properties-panel input[type=text]{width:100%;font-family:inherit;font-size:14px;color:var(--color-text);background:var(--color-overlay);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.properties-panel textarea:focus,.properties-panel input[type=text]:focus,.rich-text-content:focus{outline:2px solid var(--color-primary);outline-offset:2px}.properties-dropdown{position:relative}.properties-dropdown-btn{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;font-family:inherit;font-size:14px;color:var(--color-text);background:var(--color-overlay);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.properties-dropdown-btn:hover{border-color:var(--color-border-hover)}.properties-dropdown-btn.active{outline:2px solid var(--color-primary);outline-offset:2px}.properties-dropdown-chevron{width:0;height:0;flex-shrink:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--color-text-secondary)}.properties-dropdown-menu{position:absolute;top:100%;left:0;right:0;margin-top:2px;max-height:240px;overflow-y:auto;background:var(--color-overlay);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:31;padding:var(--space-2)}.properties-dropdown-item{display:block;width:100%;text-align:left;padding:6px 8px;border:none;background:transparent;color:var(--color-text);font-size:13px;cursor:pointer;border-radius:var(--radius-sm)}.properties-dropdown-item:hover{background:var(--color-surface)}.properties-dropdown-item.active{background:#c2410c1f;color:var(--color-primary);font-weight:600}.properties-panel input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.properties-panel input[type=file]{width:100%;max-width:100%;color:var(--color-text-secondary);font-size:13px}.properties-panel input[type=color]{width:100%;height:36px;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-overlay);cursor:pointer}.properties-inline-row{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:var(--space-2);margin:var(--space-3) 0 4px}.properties-color-swatches{display:flex;flex-wrap:wrap;gap:6px;flex-basis:100%}.properties-color-swatch{width:18px;height:18px;border-radius:50%;border:1px solid var(--color-border);padding:0;cursor:pointer}.properties-color-swatch:hover{border-color:var(--color-primary)}.properties-inline-row>label{margin:0;flex:1;min-width:0}.properties-inline-control{display:flex;align-items:center;gap:6px;flex-shrink:0}.properties-inline-control button,.design-color-item .design-color-remove{width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--color-error);background:var(--color-error);color:#fff;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.properties-inline-control button:hover,.design-color-item .design-color-remove:hover{filter:brightness(1.1)}.properties-inline-row input[type=color]{width:30px;height:30px;padding:2px;flex-shrink:0}.properties-inline-row input[type=number]{width:30px;font-family:inherit;font-size:13px;color:var(--color-text);background:var(--color-overlay);padding:4px 2px;border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;flex-shrink:0}.properties-inline-row input[type=number]::-webkit-inner-spin-button,.properties-inline-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.properties-inline-row input[type=number]{-moz-appearance:textfield}.rich-text-editor{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.rich-text-toolbar{display:flex;gap:2px;padding:4px;background:var(--color-overlay);border-bottom:1px solid var(--color-border)}.rich-text-toolbar button{width:26px;height:26px;border-color:transparent;padding:0;font-size:12px;font-weight:700;line-height:1}.rich-text-content{min-height:120px;padding:var(--space-2);font-size:14px;color:var(--color-text);background:var(--color-overlay);outline:none}.rich-text-content ul,.rich-text-content ol{margin:0;padding-left:20px}.rich-text-content h1,.canvas-element-inner h1{font-size:24px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px;line-height:1.2}.rich-text-content h2,.canvas-element-inner h2{font-size:19px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px;line-height:1.25}.rich-text-content h3,.canvas-element-inner h3{font-size:15px;font-weight:600;margin:0 0 4px;line-height:1.3}.rich-text-content p,.canvas-element-inner p{margin:0 0 6px}.rich-text-content blockquote,.canvas-element-inner blockquote{margin:0 0 6px;padding-left:10px;border-left:3px solid var(--color-border);color:var(--color-text-secondary);font-style:italic}.rich-text-format-dropdown{position:relative}.rich-text-format-dropdown>button{width:auto;height:26px;padding:0 8px;font-size:12px;font-weight:500;border-color:transparent}.rich-text-format-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.rich-text-format-menu{position:absolute;top:100%;left:0;margin-top:2px;background:var(--color-overlay);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:31;min-width:130px;overflow:hidden}.rich-text-format-menu button{display:block;width:100%;height:auto;text-align:left;padding:var(--space-2) var(--space-3);border:none;border-radius:0;background:transparent;color:var(--color-text);font-size:13px;font-weight:400;cursor:pointer}.rich-text-format-menu button:hover{background:var(--color-surface);border-color:transparent}.toolbar-dropdown{position:relative}.toolbar-dropdown-toggle{background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);height:32px;padding:0 var(--space-3);font-size:13px;font-weight:600;cursor:pointer}.toolbar-dropdown-toggle:hover{background:var(--color-overlay);border-color:var(--color-border-hover)}.toolbar-dropdown-toggle.active{background:#c2410c1f;border-color:var(--color-primary);color:var(--color-primary)}.toolbar-dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.toolbar-dropdown-menu{position:absolute;top:100%;left:0;margin-top:2px;background:var(--color-overlay);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);z-index:31;min-width:200px;padding:var(--space-2)}.toolbar-dropdown-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:6px 4px;font-size:13px;color:var(--color-text)}.toolbar-dropdown-checkbox{cursor:pointer}.bg-library-menu{min-width:320px}.bg-library-grid{display:flex;flex-wrap:wrap;gap:10px;padding:2px 4px 8px}.bg-library-grid .bg-library-swatch{width:130px;height:73px;flex-shrink:0;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);background-size:contain;background-repeat:no-repeat;background-position:center;cursor:pointer;padding:0}.bg-library-grid .bg-library-swatch:hover{border-color:var(--color-primary)}.design-tokens-menu{min-width:300px}.design-typography-list{display:flex;flex-direction:column;gap:6px;padding:2px 4px 8px}.design-typography-row{display:grid;grid-template-columns:72px 1fr 52px;gap:6px;align-items:center}.design-typography-role-label{font-size:12px;color:var(--color-text-secondary)}.design-typography-font,.design-typography-size{font-size:12px;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text)}.design-typography-size{width:100%;min-width:0}.design-color-grid{display:flex;flex-wrap:wrap;gap:10px;padding:2px 4px 8px}.design-color-item{position:relative}.design-color-swatch{display:block;width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;cursor:pointer}.design-color-swatch input[type=color]{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border:none;padding:0;opacity:0;cursor:pointer}.design-color-remove{position:absolute;top:-6px;right:-6px}.design-color-add{width:36px;height:36px;border-radius:var(--radius-md);border:1px dashed var(--color-border);background:transparent;color:var(--color-text-secondary);font-size:16px;cursor:pointer}.design-color-add:hover{border-color:var(--color-primary);color:var(--color-primary)}.design-logo-preview-row{display:flex;align-items:center;gap:8px;padding:2px 4px 8px}.design-logo-preview{width:40px;height:40px;object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg)}.toolbar-dropdown-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.toolbar-dropdown-item{display:block;width:100%;text-align:left;padding:6px 4px;border:none;background:transparent;color:var(--color-error);font-size:13px;cursor:pointer;border-radius:var(--radius-sm)}.toolbar-dropdown-item:hover{background:#ba1a1a1a}.toolbar-dropdown-item-neutral{color:var(--color-text)}.toolbar-dropdown-item-neutral:hover{background:var(--color-surface)}.toolbar-dropdown-item-icon{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.toolbar-dropdown-item-icon svg{width:18px;height:18px;flex-shrink:0}.toolbar-dropdown-menu-up{top:auto;bottom:100%;left:auto;right:0;margin-top:0;margin-bottom:2px;min-width:240px}.toolbar-dropdown-divider{height:1px;background:var(--color-border);margin:4px 0}.option-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.option-row input[type=text],.option-row input[type=color]{flex:1}.option-row button{height:28px;padding:0 8px}.hotspot-preview{position:relative;width:100%;aspect-ratio:4 / 3;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:crosshair;background:#000}.hotspot-preview img{width:100%;height:100%;object-fit:contain;pointer-events:none}.hotspot-preview-marker{position:absolute;transform:translate(-50%,-50%);width:16px;height:16px;border-radius:50%;border:2px solid #fff;background:#2563ebe6;pointer-events:none}.hotspot-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);margin-bottom:var(--space-2)}.hotspot-item-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.hotspot-item-header button{border:none;background:transparent;color:var(--color-error);cursor:pointer;font-size:12px;padding:2px}.hotspot-item input[type=text]{margin-bottom:6px}.flashcard-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);margin-bottom:var(--space-2)}.flashcard-item-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.flashcard-item-header button{border:none;background:transparent;color:var(--color-error);cursor:pointer;font-size:12px;padding:2px}.flashcard-item textarea,.flashcard-item input[type=text]{margin-bottom:6px}.quiz-question-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);margin-bottom:var(--space-2)}.quiz-question-item-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.quiz-question-item-header button{border:none;background:transparent;color:var(--color-error);cursor:pointer;font-size:12px;padding:2px}.quiz-question-item textarea{margin-bottom:6px}.timeline-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2);margin-bottom:var(--space-2)}.timeline-item-header{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.timeline-item-header button{border:none;background:transparent;color:var(--color-error);cursor:pointer;font-size:12px;padding:2px}.timeline-item input[type=text],.timeline-item textarea{margin-bottom:6px}.empty-state{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary)}.home-empty-state{flex-direction:column;gap:var(--space-2);background:var(--color-bg);text-align:center;padding:var(--space-4)}.home-empty-illustration{width:130px;height:auto;margin-bottom:var(--space-2)}.home-empty-state h2{margin:0;font-size:22px;font-weight:700;color:var(--color-text)}.home-empty-state p{margin:0 0 var(--space-2);max-width:380px;font-size:15px;line-height:1.5;color:var(--color-text-secondary)}.home-empty-state .btn-primary{display:flex;align-items:center;height:40px;padding:0 var(--space-4)!important;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer}.home-presentations{height:100%;overflow-y:auto;background:var(--color-bg);padding:var(--space-6);box-sizing:border-box}.home-presentations-header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.home-presentations-header h2{margin:0;font-size:20px;font-weight:700;color:var(--color-text)}.home-presentations-count{font-size:13px;color:var(--color-text-secondary)}.home-presentations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--space-4)}.home-presentation-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:0 0 0 1px var(--color-border);overflow:hidden;cursor:pointer;transition:box-shadow .12s ease}.home-presentation-card:hover{box-shadow:0 0 0 1px var(--color-border-hover),var(--shadow-md)}.home-presentation-thumb{position:relative;height:124px}.home-presentation-badge{position:absolute;top:var(--space-2);right:var(--space-2);padding:3px 7px;border-radius:var(--radius-sm);background:#1a202cb8;color:#fff;font-size:11px;font-weight:600}.home-presentation-body{padding:var(--space-3)}.home-presentation-title-row{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1)}.home-presentation-body h3{margin:0;min-width:0;flex:1;font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-presentation-rename{flex-shrink:0;width:22px;height:22px;padding:0;font-size:12px;background:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);cursor:pointer}.home-presentation-rename:hover{background:var(--color-overlay);color:var(--color-text)}.home-presentation-title-input{width:100%;height:26px;background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:0 8px;font-size:14px;font-weight:600;font-family:inherit;box-sizing:border-box}.home-presentation-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:12px;color:var(--color-text-secondary)}.home-presentation-delete{border:none;background:transparent;color:var(--color-text-secondary);font-size:15px;line-height:1;padding:2px 4px;border-radius:var(--radius-sm);cursor:pointer}.home-presentation-delete:hover{background:var(--color-error-bg);color:var(--color-error)}.home-presentation-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:199px;border:1.5px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:13px;font-weight:600;cursor:pointer;transition:border-color .12s ease,color .12s ease}.home-presentation-new:hover{border-color:var(--color-primary);color:var(--color-primary)}.home-presentation-new-icon{font-size:22px;font-weight:400;line-height:1}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#010409cc;display:flex;align-items:center;justify-content:center;z-index:50}.modal-content{background:var(--color-modal);border:1px solid var(--color-border);border-radius:var(--radius-md);width:860px;max-width:95vw;height:540px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text)}.modal-header button{background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);height:28px;padding:0 var(--space-2);font-size:13px;cursor:pointer}.modal-header button:hover{background:var(--color-surface)}.confirm-dialog{background:var(--color-modal);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);width:320px;max-width:90vw;color:var(--color-text);box-shadow:var(--shadow-dropdown)}.confirm-dialog-wide{width:400px}.confirm-dialog-wide .confirm-dialog-actions{flex-wrap:wrap}.confirm-dialog-message{margin:0 0 var(--space-4);font-size:14px;line-height:1.4}.confirm-dialog-input{width:100%;font-family:inherit;font-size:14px;color:var(--color-text);background:var(--color-overlay);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.confirm-dialog-input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.confirm-dialog-actions button{background:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);height:32px;padding:0 var(--space-3);font-size:14px;font-weight:500;cursor:pointer}.confirm-dialog-actions button:hover{background:var(--color-surface)}.confirm-dialog-actions button.confirm-dialog-primary{background:var(--color-primary);color:#fff;border:none}.confirm-dialog-actions button.confirm-dialog-primary:hover:not(:disabled){background:var(--color-primary-hover)}.confirm-dialog-actions button.confirm-dialog-primary:disabled{opacity:.5;cursor:not-allowed}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat}.login-card{width:320px;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-logo{height:44px;width:auto;margin-bottom:var(--space-6)}.login-beta-note{align-self:stretch;text-align:center;font-size:12px;color:var(--color-text-secondary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2)}.login-back-btn{align-self:flex-start;background:none;border:none;padding:0;margin-bottom:var(--space-2);font-family:inherit;font-size:13px;font-weight:600;color:var(--color-text-secondary);cursor:pointer}.login-back-btn:hover{color:var(--color-text)}.login-card label{align-self:flex-start;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.login-card input{width:100%;font-family:inherit;font-size:14px;color:var(--color-text);background:var(--color-overlay);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.login-card input:focus{outline:2px solid var(--color-primary);outline-offset:2px}.login-card .btn-primary{width:100%;display:flex;align-items:center;justify-content:center;height:32px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background-color .12s,border-color .12s;margin-top:var(--space-2)}.login-error{align-self:stretch;margin:0;font-size:13px;color:var(--color-error)}.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:16px 20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-dropdown);font-size:13px;color:var(--color-text)}.cookie-banner p{margin:0;flex:1;min-width:220px}.cookie-banner a{color:var(--color-primary)}.cookie-banner-actions{display:flex;gap:8px;flex-shrink:0}.cookie-banner-reject,.cookie-banner-configure,.cookie-banner-accept{padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer}.cookie-banner-reject,.cookie-banner-configure{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.cookie-banner-reject:hover,.cookie-banner-configure:hover{border-color:var(--color-text-secondary)}.cookie-banner-accept{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.cookie-banner-accept:hover{background:var(--color-primary-hover)}.cookie-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.cookie-modal{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);max-width:480px;width:100%;max-height:85vh;overflow-y:auto;padding:28px}.cookie-modal h2{font-size:18px;font-weight:700;margin:0 0 20px}.cookie-category{padding:16px 0;border-top:1px solid var(--color-border)}.cookie-category:first-of-type{border-top:none;padding-top:0}.cookie-category-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.cookie-category-head span{font-size:14px;font-weight:600}.cookie-category p{margin:8px 0 0;font-size:13px;line-height:1.4;color:var(--color-text-secondary)}.cookie-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.cookie-modal-actions button{border-radius:var(--radius-md);padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer}.cookie-modal-reject{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.cookie-modal-reject:hover{border-color:var(--color-text-secondary)}.cookie-modal-save{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.cookie-modal-save:hover{background:var(--color-primary-hover)}@media (max-width: 640px){.cookie-banner{flex-direction:column;align-items:stretch}.cookie-banner-actions{justify-content:flex-end}}.onboarding-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:transparent}.onboarding-spotlight{position:fixed;z-index:301;border-radius:var(--radius-md);box-shadow:0 0 0 9999px #0f172aa6;pointer-events:none;transition:top .2s ease,left .2s ease,width .2s ease,height .2s ease}.onboarding-tooltip{position:fixed;z-index:302;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);padding:16px 18px}.onboarding-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.onboarding-step-counter{font-size:12px;font-weight:700;color:var(--color-text-secondary);letter-spacing:.02em}.onboarding-close-btn{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:13px;padding:2px}.onboarding-close-btn:hover{color:var(--color-text)}.onboarding-tooltip-title{margin:0 0 6px;font-size:15px;font-weight:700}.onboarding-tooltip-body{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--color-text-secondary)}.onboarding-checkbox-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text);margin-bottom:12px;cursor:pointer}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.onboarding-skip-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:13px;font-weight:600;cursor:pointer;padding:0}.onboarding-skip-btn:hover{color:var(--color-text)}.onboarding-actions-nav{display:flex;align-items:center;gap:8px}.onboarding-prev-btn,.onboarding-next-btn{border-radius:var(--radius-md);height:32px;padding:0 14px;font-size:13px;font-weight:600;cursor:pointer}.onboarding-prev-btn{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.onboarding-prev-btn:hover{border-color:var(--color-border-hover)}.onboarding-next-btn{background:var(--color-primary);border:1px solid var(--color-primary);color:#fff}.onboarding-next-btn:hover{background:var(--color-primary-hover)}.landing{--l-ink: #1a202c;--l-accent: #c63b15;--l-accent-hover: #a32e0f;--l-muted: #475569;--l-muted-2: #64748b;--l-subtle: #94a3b8;--l-border: #e2e8f0;--l-border-accent: #fbd5c4;--l-bg-soft: #f8fafc;--l-green: #15803d;--l-red: #dc2626;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:var(--l-ink);width:100%}.landing *{box-sizing:border-box}.landing a{color:var(--l-accent);text-decoration:none}.landing a:hover{color:var(--l-accent-hover)}.landing-logo{height:40px;width:auto;display:block}.landing-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),box-shadow .25s ease,border-color .25s ease,color .25s ease}.landing-reveal.is-visible{opacity:1;transform:translateY(0)}.landing-navbar{border-bottom:1px solid var(--l-border);background:#fff;position:sticky;top:0;z-index:10}.landing-navbar-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 32px;gap:24px}.landing-brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.landing-nav-links{display:flex;align-items:center;gap:28px;flex:1 1 auto;justify-content:center;min-width:0}.landing-nav-links a{font-size:14px;font-weight:600;color:var(--l-muted);white-space:nowrap;transition:color .15s ease}.landing-nav-links a:hover{color:var(--l-ink)}.landing-navbar-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.landing-link-btn{background:none;border:none;padding:0;font-family:inherit;font-size:14px;font-weight:600;color:var(--l-ink);white-space:nowrap;cursor:pointer}.landing-link-btn:hover{color:var(--l-accent)}.landing-btn-dark,.landing-btn-accent,.landing-btn-outline{font-family:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;font-weight:700;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.landing-btn-dark:active,.landing-btn-accent:active,.landing-btn-outline:active{transform:scale(.97)}.landing-btn-dark{background:var(--l-ink);color:#fff;border:none;padding:10px 18px;font-size:14px}.landing-btn-dark:hover{background:#2d3748;transform:translateY(-2px);box-shadow:0 8px 16px #1a202c2e}.landing-btn-accent{background:var(--l-accent);color:#fff;border:none;padding:14px 24px;font-size:15px}.landing-btn-accent:hover{background:var(--l-accent-hover);transform:translateY(-2px);box-shadow:0 8px 20px #c63b1552}.landing-btn-outline{background:transparent;color:var(--l-ink);border:1px solid #cbd5e1;padding:14px 24px;font-size:15px}.landing-btn-outline:hover{border-color:var(--l-ink);transform:translateY(-2px)}.landing-hero{background-color:var(--l-ink);background-size:cover;background-position:center;background-repeat:no-repeat}.landing-hero-inner{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;padding:64px 32px 96px}.landing-hero-copy{display:flex;flex-direction:column;gap:22px;min-width:0}@keyframes landing-fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.landing-hero-copy>*{opacity:0;animation:landing-fade-up .7s cubic-bezier(.16,1,.3,1) forwards}.landing-hero-copy h1{margin:0;font-size:48px;line-height:1.12;font-weight:800;letter-spacing:-.01em;color:#fff;animation-delay:.05s}.landing-hero-lead{margin:0;font-size:18px;line-height:1.6;color:#e2e8f0;max-width:520px;animation-delay:.15s}.landing-hero .landing-btn-outline{color:#fff;border-color:#ffffff80}.landing-hero .landing-btn-outline:hover{border-color:#fff;background:#ffffff14}.landing-hero-actions{display:flex;align-items:center;gap:14px;margin-top:8px;flex-wrap:wrap;animation-delay:.25s}.landing-mockup{background:#fff;border-radius:14px;box-shadow:0 20px 50px #1a202c24;border:1px solid var(--l-border);overflow:hidden;min-width:0;opacity:0;animation:landing-fade-up .8s cubic-bezier(.16,1,.3,1) .3s forwards}.landing-mockup-screenshot{display:block;width:100%;height:auto}.landing-section-inner{max-width:1440px;margin:0 auto;padding:96px 32px}.landing-section-soft{background:var(--l-bg-soft)}.landing-section-heading{max-width:640px;margin:0 auto 56px;text-align:center}.landing-section-heading h2{margin:0 0 16px;font-size:34px;font-weight:800}.landing-section-heading p{margin:0;font-size:16px;line-height:1.6;color:var(--l-muted)}.landing-eyebrow{font-size:12px;font-weight:700;color:var(--l-muted-2);text-transform:uppercase;letter-spacing:.04em}.landing-eyebrow-accent{color:var(--l-accent)}.landing-compare{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.landing-compare-col{border:1px solid var(--l-border);border-radius:12px;padding:32px;background:var(--l-bg-soft)}.landing-compare-col:nth-child(2){transition-delay:.1s}.landing-compare-col-accent{border-color:var(--l-border-accent);background:#fff}.landing-compare-col-accent:hover{box-shadow:0 12px 28px #c63b151f}.landing-compare-col ul{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}.landing-compare-col li{display:flex;gap:10px;font-size:15px;color:var(--l-muted)}.landing-compare-good li{color:var(--l-ink);font-weight:500}.landing-li-icon{flex-shrink:0;margin-top:2px}.landing-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.landing-feature-card{background:#fff;border:1px solid var(--l-border);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:14px}.landing-feature-card:hover{border-color:var(--l-border-accent);box-shadow:0 16px 32px #1a202c1a}.landing-features .landing-feature-card:nth-child(2){transition-delay:.06s}.landing-features .landing-feature-card:nth-child(3){transition-delay:.12s}.landing-features .landing-feature-card:nth-child(4){transition-delay:.18s}.landing-features .landing-feature-card:nth-child(5){transition-delay:.24s}.landing-features .landing-feature-card:nth-child(6){transition-delay:.3s}.landing-feature-card h3{margin:0;font-size:19px;font-weight:700}.landing-feature-card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--l-muted)}.landing-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.landing-step{display:flex;flex-direction:column;gap:12px}.landing-step:nth-child(2){transition-delay:.1s}.landing-step:nth-child(3){transition-delay:.2s}.landing-step:hover .landing-step-num{color:var(--l-accent)}.landing-step-num{font-size:40px;font-weight:800;color:var(--l-border-accent);transition:color .25s ease}.landing-step h3{margin:0;font-size:18px;font-weight:700}.landing-step p{margin:0;font-size:14.5px;line-height:1.6;color:var(--l-muted)}.landing-lms{background:var(--l-ink)}.landing-lms .landing-section-inner{text-align:center}.landing-lms h2{margin:0 0 16px;font-size:30px;font-weight:800;color:#fff}.landing-lms>.landing-section-inner>p{margin:0 auto 48px;max-width:560px;font-size:15px;line-height:1.6;color:var(--l-subtle);transition-delay:.1s}.landing-lms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.landing-lms-grid div:nth-child(2){transition-delay:.08s}.landing-lms-grid div:nth-child(3){transition-delay:.16s}.landing-lms-grid div:nth-child(4){transition-delay:.24s}.landing-lms-grid div:hover{border-color:var(--l-accent);color:#fff}.landing-lms-grid div{border:1px solid #2d3748;border-radius:10px;padding:22px 12px;font-size:15px;font-weight:700;color:#e2e8f0}.landing-faq{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.landing-faq-item{background:#fff;border:1px solid var(--l-border);border-radius:12px;padding:4px 24px}.landing-faq-item:hover{border-color:var(--l-border-accent)}.landing-faq-item:nth-of-type(2){transition-delay:.05s}.landing-faq-item:nth-of-type(3){transition-delay:.1s}.landing-faq-item:nth-of-type(4){transition-delay:.15s}.landing-faq-item:nth-of-type(5){transition-delay:.2s}.landing-faq-item:nth-of-type(6){transition-delay:.25s}.landing-faq-item:nth-of-type(7){transition-delay:.3s}.landing-faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font-size:16px;font-weight:700;cursor:pointer}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-icon{flex-shrink:0;transition:transform .15s ease}.landing-faq-item[open] .landing-faq-icon{transform:rotate(180deg)}.landing-faq-item p{margin:0;padding:0 0 20px;font-size:14.5px;line-height:1.65;color:var(--l-muted)}.landing-cta{max-width:1440px;margin:0 auto;padding:96px 32px;text-align:center}.landing-cta h2{margin:0 0 16px;font-size:34px;font-weight:800}.landing-cta p{margin:0 auto 32px;max-width:480px;font-size:16px;line-height:1.6;color:var(--l-muted)}.landing-footer{border-top:1px solid var(--l-border);background:var(--l-bg-soft)}.landing-footer-inner{max-width:1440px;margin:0 auto;padding:56px 32px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:32px}.landing-footer-brand{display:flex;flex-direction:column;gap:12px;min-width:0}.landing-footer-brand .logo-with-badge{align-self:flex-start}.landing-footer-brand p{margin:0;font-size:13.5px;line-height:1.6;color:var(--l-muted-2);max-width:280px}.landing-footer-col{display:flex;flex-direction:column;gap:10px}.landing-footer-col span{font-size:12px;font-weight:700;color:var(--l-subtle);text-transform:uppercase;letter-spacing:.04em}.landing-footer-col a{font-size:13.5px;color:var(--l-muted)}.landing-footer-link-btn{align-self:flex-start;font-size:13.5px;color:var(--l-muted);background:transparent;border:none;padding:0;font-family:inherit;cursor:pointer}.landing-footer-link-btn:hover{color:var(--l-accent-hover)}.landing-footer-bottom{max-width:1440px;margin:0 auto;padding:0 32px 32px;font-size:12.5px;color:var(--l-subtle)}@media (max-width: 880px){.landing-nav-links{display:none}.landing-hero-inner{grid-template-columns:minmax(0,1fr);padding-top:40px}.landing-hero-copy h1{font-size:34px}.landing-compare,.landing-features,.landing-steps{grid-template-columns:minmax(0,1fr)}.landing-lms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-footer-inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width: 520px){.landing-footer-inner{grid-template-columns:minmax(0,1fr)}.landing-navbar-actions .landing-btn-dark{display:none}}@media (prefers-reduced-motion: reduce){.landing-reveal,.landing-hero-copy>*,.landing-mockup{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}
