.voice-controls{display:flex;flex-direction:column;gap:10px;padding:10px 14px 14px}.vc-meter-row{display:flex;align-items:center;gap:8px}.meter-bar{flex:1;height:4px;background:var(--clr-surface-2);border-radius:4px;overflow:hidden}.meter-fill{height:100%;border-radius:4px;transition:width .08s linear}.vc-toggles{display:flex;flex-direction:column;gap:6px}.lp-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.book-library{display:flex;flex-direction:column;gap:4px;padding:8px}.bl-list{display:flex;flex-direction:column;gap:3px;max-height:200px;overflow-y:auto}.bl-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;cursor:pointer;transition:all .2s var(--ease-smooth);border:1px solid transparent;position:relative}.bl-item:hover{background:var(--clr-surface-1)}.bl-item.active{background:var(--clr-surface-2);border-color:var(--clr-border-1);box-shadow:inset 0 0 0 1px var(--clr-primary-glow)}.bl-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:20px;border-radius:0 3px 3px 0;background:var(--gradient-brand)}.bl-item-icon{font-size:16px;flex-shrink:0}.bl-item-info{flex:1;min-width:0}.bl-item-title{font-size:12px;font-weight:550}.bl-item-remove{opacity:0;width:20px;height:20px;border:none;background:var(--clr-surface-1);color:var(--clr-text-muted);border-radius:6px;font-size:10px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.bl-item:hover .bl-item-remove{opacity:1}.bl-item-remove:hover{background:var(--clr-coral-glow);color:var(--clr-coral)}.bl-upload{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1.5px dashed var(--clr-border-1);border-radius:10px;cursor:pointer;transition:all .25s var(--ease-out);margin-top:2px}.bl-upload:hover,.bl-upload.drag-over{border-color:var(--clr-primary);background:var(--clr-primary-glow)}.bl-upload.uploading{pointer-events:none;opacity:.7}.bl-upload-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--clr-surface-1);font-size:16px;font-weight:300;color:var(--clr-text-muted);transition:all .2s}.bl-upload:hover .bl-upload-icon{background:var(--clr-primary-glow);color:var(--clr-primary)}.bl-upload-text{font-size:12px;font-weight:500;color:var(--clr-text-muted)}.lp-settings{display:flex;flex-direction:column;padding:10px 14px 14px;gap:10px}.lp-field{display:flex;flex-direction:column;gap:4px}.lp-label{font-size:11px;font-weight:550;color:var(--clr-text-muted);letter-spacing:.02em}.lp-actions{display:flex;flex-direction:column;gap:6px;padding:10px 14px 14px}.book-renderer{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;height:100%}.book-zoom{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--clr-surface-1);border:1px solid var(--clr-border);border-radius:8px;position:sticky;top:0;z-index:5}.book-canvas-wrapper{position:relative;display:flex;align-items:flex-start;justify-content:center;flex:1;overflow:auto;width:100%}.book-canvas{border-radius:4px;box-shadow:0 8px 32px #0006;max-width:100%}.book-loading{position:absolute;inset:0;border-radius:8px;overflow:hidden}.book-nav{display:flex;align-items:center;gap:12px;padding:8px 0;flex-shrink:0}.page-input{width:40px;background:var(--clr-surface-1);border:1px solid var(--clr-border);border-radius:4px;color:var(--clr-text);text-align:center;font-size:13px;font-family:inherit;padding:2px 4px;outline:none;appearance:textfield;-moz-appearance:textfield}.page-input:focus{border-color:var(--clr-primary)}.page-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.book-error{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;color:var(--clr-coral);font-size:18px}.book-error p{font-size:13px;color:var(--clr-text-muted)}.book-image-wrapper{display:flex;align-items:flex-start;justify-content:center;width:100%;height:100%;overflow:auto}.book-page-img{max-width:100%;max-height:calc(100vh - 180px);border-radius:4px;box-shadow:0 8px 32px #0006}.textLayer{position:absolute;inset:0;overflow:hidden;opacity:.25;line-height:1;text-size-adjust:none;forced-color-adjust:none;z-index:2}.textLayer span,.textLayer br{color:transparent;position:absolute;white-space:pre;cursor:pointer;transform-origin:0% 0%}.textLayer span::selection{background:#6c8ef259}.textLayer span:hover{background:#6c8ef233;border-radius:2px;color:transparent}.textLayer span:active{background:#6c8ef266;border-radius:2px}.textLayer:hover{opacity:.5}.orb{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:default}.orb-core{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 35%,color-mix(in srgb,var(--orb-color) 80%,white),var(--orb-color));box-shadow:0 0 20px var(--orb-glow),0 0 6px var(--orb-color);transition:all .4s var(--ease-spring)}.orb-ring{position:absolute;border-radius:50%;border:1.5px solid var(--orb-color);opacity:0;transition:border-color .4s}.orb-ring-1{width:38px;height:38px}.orb-ring-2{width:48px;height:48px}.orb-idle .orb-core{animation:orb-idle-pulse 3s ease-in-out infinite}.orb-listening .orb-ring-1,.orb-listening .orb-ring-2{animation:orb-ring 1.6s ease-out infinite}.orb-listening .orb-ring-2{animation-delay:.5s}.orb-thinking .orb-core{animation:orb-shimmer 1s ease-in-out infinite alternate}.orb-speaking .orb-core{animation:orb-speak .5s ease-in-out infinite alternate}.orb-speaking .orb-ring-1,.orb-speaking .orb-ring-2{animation:orb-ring .8s ease-out infinite}.orb-speaking .orb-ring-2{animation-delay:.25s}.orb-interrupted .orb-core{animation:orb-flash .3s ease-out 3}@keyframes orb-idle-pulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.08);opacity:1}}@keyframes orb-ring{0%{opacity:.7;transform:scale(.85)}to{opacity:0;transform:scale(1.4)}}@keyframes orb-shimmer{0%{box-shadow:0 0 12px var(--orb-glow)}to{box-shadow:0 0 32px var(--orb-glow),0 0 60px var(--orb-glow)}}@keyframes orb-speak{0%{transform:scale(1)}to{transform:scale(1.18)}}@keyframes orb-flash{0%,to{opacity:1}50%{opacity:.3}}.word-tooltip{position:fixed;z-index:500;max-width:340px}.wt-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid var(--clr-border)}.wt-word-block{display:flex;align-items:center;gap:6px}.wt-word{font-size:17px;font-weight:700}.wt-close{margin-left:auto;flex-shrink:0}.wt-pronunciation{display:flex;align-items:center;gap:6px;margin-bottom:8px}.wt-ipa{font-size:13px;color:var(--clr-primary);font-family:JetBrains Mono,monospace}.wt-pronun-guide{font-size:12px;color:var(--clr-text-muted)}.wt-etymology{font-size:11px;color:var(--clr-text-muted);background:var(--clr-surface-1);padding:6px 8px;border-radius:6px;margin-bottom:8px;line-height:1.5}.wt-def{font-size:13px;margin-bottom:6px;line-height:1.5}.wt-gen-def{font-size:12px;color:var(--clr-text-muted);margin-bottom:6px;line-height:1.5}.wt-analogy{font-size:12px;color:var(--clr-text-muted);font-style:italic;background:var(--clr-surface-1);padding:8px;border-radius:6px;margin-bottom:6px;line-height:1.5}.wt-example{font-size:12px;color:var(--clr-text-muted);margin-bottom:6px;line-height:1.5}.wt-fun-fact{font-size:11px;background:#7c6cf81a;border:1px solid rgba(124,108,248,.2);padding:6px 8px;border-radius:6px;margin-bottom:8px;line-height:1.5}.wt-context{font-size:11px;color:var(--clr-text-dim);margin-bottom:6px;line-height:1.4}.wt-related{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.wt-actions{display:flex;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--clr-border)}.wt-loading{padding:4px 0}.wt-source{display:flex;justify-content:flex-end;margin-top:6px;padding-top:4px;border-top:1px solid var(--clr-border)}.center-canvas{display:flex;flex-direction:column;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);overflow:hidden;position:relative;min-height:0}.orb-wrapper{position:absolute;top:16px;right:16px;z-index:20;display:flex;align-items:center;gap:8px}.analyzing-tag{font-size:11px}.cc-content{flex:1;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px}.cc-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;min-height:300px;text-align:center}.cc-empty-icon{font-size:56px;filter:grayscale(.3)}.cc-features{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px}.cc-page-wrapper{position:relative;display:inline-block;max-width:100%}.cc-page-img{display:block;max-width:100%;max-height:calc(100vh - 180px);border-radius:8px;box-shadow:0 8px 32px #0006}.word-overlay{position:absolute;inset:0;pointer-events:none}.word-span{position:absolute;cursor:pointer;pointer-events:all;border-radius:2px;transition:background .15s}.word-span:hover{background:#4f8ef740}.highlight{position:absolute;pointer-events:none;border-radius:3px;mix-blend-mode:multiply}.hl-yellow{background:var(--clr-hl-yellow)}.hl-green{background:var(--clr-hl-green)}.hl-blue{background:var(--clr-hl-blue)}.hl-pink{background:var(--clr-hl-pink)}.hl-orange{background:var(--clr-hl-orange)}.cc-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 16px;border-top:1px solid var(--clr-border);background:#0a0d1499;flex-shrink:0}.cc-transcript{display:flex;flex-direction:column;gap:4px;padding:10px 16px;border-top:1px solid var(--clr-border);background:#0a0d14b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-height:160px;overflow-y:auto;flex-shrink:0}.cc-msg{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;animation:fadeSlideUp .2s ease}.cc-msg-icon{flex-shrink:0;font-size:13px}.cc-msg-text{color:var(--clr-text-2)}.cc-msg-system .cc-msg-text{color:var(--clr-text-muted)}.cc-msg-agent .cc-msg-text{color:var(--clr-primary-light)}.cc-msg-ai .cc-msg-text{color:var(--clr-text)}.cc-msg-user .cc-msg-text{color:var(--clr-green)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.center-canvas.is-speaking{position:relative;z-index:1}.center-canvas.is-speaking:before{content:"";position:absolute;inset:-3px;z-index:-1;border-radius:calc(var(--radius-lg) + 3px);background:conic-gradient(from var(--glow-angle, 0deg),#6c8ef2,#a67df8,#36d6b6,#f472b6,#6c8ef2);opacity:.7;animation:glow-spin 3s linear infinite;filter:blur(6px)}.center-canvas.is-speaking:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:var(--radius-lg);border:2px solid transparent;background-image:conic-gradient(from var(--glow-angle, 0deg),#6c8ef2,#a67df8,#36d6b6,#f472b6,#6c8ef2);background-origin:border-box;background-clip:border-box;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;animation:glow-spin 3s linear infinite;opacity:.9}@property --glow-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes glow-spin{to{--glow-angle: 360deg}}.image-canvas{display:flex;flex-direction:column;height:100%}.image-canvas .canvas-body{flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-canvas);border-radius:calc(var(--radius) * 1.5);border:1px solid var(--border);margin:0 var(--spacing-md) var(--spacing-md) var(--spacing-md);position:relative}.image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);position:relative}.homework-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius);box-shadow:var(--shadow-md);opacity:0;transition:opacity .3s ease}.homework-image.loaded{opacity:1}.image-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.knowledge-vault{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.kv-search-row{padding:8px 12px;border-bottom:1px solid var(--clr-border)}.kv-list{flex:1;overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.kv-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px 12px;font-size:20px}.kv-card{background:var(--clr-surface-1);border:1px solid var(--clr-border);border-radius:var(--radius);padding:8px 10px;transition:border-color .15s}.kv-card:hover{border-color:var(--clr-border-1)}.kv-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.kv-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.kv-dot.hl-yellow{background:#ffd600}.kv-dot.hl-green{background:#10d98a}.kv-dot.hl-blue{background:#4f8ef7}.kv-del{margin-left:auto}.kv-text{font-size:12px;color:var(--clr-text-muted);line-height:1.5;margin-bottom:6px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.kv-tags{display:flex;flex-wrap:wrap;gap:4px}.kv-footer{padding:8px 12px;border-top:1px solid var(--clr-border)}.rp-assess{display:flex;flex-direction:column;gap:10px;padding:10px 14px 14px}.rp-assess-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;text-align:center}.rp-assess-stat{display:flex;flex-direction:column;gap:2px;padding:10px 4px;background:var(--clr-surface);border-radius:10px;border:1px solid var(--clr-border)}.rp-stat-num{font-size:18px;font-weight:800}.rp-type-tags{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.rp-insights{display:flex;flex-direction:column;gap:10px;padding:10px 14px 14px}.rp-concepts{display:flex;flex-wrap:wrap;gap:4px}.rp-summary{font-size:12px;color:var(--clr-text-2);line-height:1.6}.rp-meta{display:flex;flex-wrap:wrap;gap:4px}.visual-panel{position:fixed;inset:52px 0 0;z-index:200;display:flex;flex-direction:column;background:radial-gradient(ellipse 60% 50% at 50% -10%,rgba(124,108,248,.15) 0%,transparent 70%),var(--clr-bg-2);border-top:1px solid var(--clr-border-1)}.vp-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--clr-border);flex-shrink:0}.vp-header-right{display:flex;align-items:center;gap:10px}.vp-body{display:grid;grid-template-columns:300px 1fr;flex:1;min-height:0;overflow:hidden}.vp-controls{display:flex;flex-direction:column;gap:10px;padding:16px;border-right:1px solid var(--clr-border);overflow-y:auto}.vp-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.vp-textarea{resize:none;font-family:inherit;line-height:1.5}.vp-quality-row{display:flex;align-items:center;justify-content:space-between}.vp-refine-section{display:flex;flex-direction:column;gap:6px}.vp-history{display:flex;flex-direction:column;gap:8px}.vp-history-thumbs{display:flex;gap:6px;flex-wrap:wrap}.vp-thumb{width:56px;cursor:pointer;border-radius:6px;overflow:hidden;border:2px solid var(--clr-border);transition:border-color .15s;display:flex;flex-direction:column;align-items:center;font-size:10px;color:var(--clr-text-muted);padding-bottom:2px}.vp-thumb.active{border-color:var(--clr-primary)}.vp-thumb img{width:100%;aspect-ratio:16/9;object-fit:cover}.vp-canvas{display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.vp-output-img{max-width:100%;max-height:100%;border-radius:var(--radius);box-shadow:0 16px 64px #00000080;object-fit:contain}.vp-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--clr-text-muted)}.vp-generating{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--clr-text-muted)}.vp-gen-orb{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#b09bf8,#7c6cf8);box-shadow:0 0 40px #7c6cf880;animation:orb-speak .7s ease-in-out infinite alternate}.assessment-panel{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#06080feb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.ap-container{width:92%;max-width:960px;max-height:90vh;background:var(--clr-bg-3);border:1px solid var(--clr-border-2);border-radius:var(--radius-xl);box-shadow:0 40px 120px #0009,0 0 0 1px #6c8ef20f;display:flex;flex-direction:column;overflow:hidden}.ap-error{padding:10px 14px;background:var(--clr-coral-glow);border:1px solid rgba(251,113,133,.3);border-radius:10px;color:var(--clr-coral);font-size:12px;font-weight:500;line-height:1.5}.ap-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--clr-border);flex-shrink:0}.ap-setup{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;overflow-y:auto}.ap-setup-left,.ap-setup-right{display:flex;flex-direction:column}.ap-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ap-label{font-size:12px;font-weight:550;color:var(--clr-text-muted)}.ap-scope-row{display:flex;gap:4px}.ap-range{width:100%;height:4px;-webkit-appearance:none;background:var(--clr-surface-2);border-radius:4px;outline:none}.ap-range::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--gradient-brand);border:2px solid var(--clr-bg);box-shadow:0 2px 8px var(--clr-primary-glow);cursor:pointer}.ap-diff-bar{display:flex;gap:6px}.ap-diff-dot{width:36px;height:36px;border-radius:10px;border:1.5px solid var(--clr-border-1);background:var(--clr-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--clr-text-muted)}.ap-diff-dot.active{background:var(--clr-primary-glow);border-color:var(--clr-primary);color:var(--clr-primary)}.ap-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ap-type-card{position:relative;padding:14px;border-radius:12px;border:1.5px solid var(--clr-border);background:var(--clr-surface);cursor:pointer;transition:all .2s var(--ease-out)}.ap-type-card:hover{border-color:var(--clr-border-2);background:var(--clr-surface-1)}.ap-type-card.active{border-color:var(--clr-primary);background:var(--clr-primary-glow);box-shadow:0 2px 16px var(--clr-primary-glow)}.ap-type-icon{font-size:20px;margin-bottom:6px}.ap-type-label{font-size:13px;font-weight:600;margin-bottom:2px}.ap-type-desc{font-size:11px;color:var(--clr-text-muted)}.ap-type-check{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:50%;background:var(--clr-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.ap-taking{display:flex;flex-direction:column;gap:18px;padding:24px;flex:1;overflow-y:auto}.ap-progress-bar{display:flex;flex-direction:column;gap:6px}.ap-progress-label{font-size:12px;color:var(--clr-text-muted);text-align:center}.ap-question-card{background:var(--gradient-surface);border:1px solid var(--clr-border-1);border-radius:var(--radius);padding:24px;flex:1}.ap-q-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.ap-q-text{font-size:15px;font-weight:500;line-height:1.6;margin-bottom:18px}.ap-options{display:flex;flex-direction:column;gap:8px}.ap-option{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;border:1.5px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text);font-size:14px;text-align:left;cursor:pointer;transition:all .2s var(--ease-out);font-family:inherit}.ap-option:hover{border-color:var(--clr-border-2);background:var(--clr-surface-1)}.ap-option.selected{border-color:var(--clr-primary);background:var(--clr-primary-glow);box-shadow:0 0 0 3px #6c8ef21a}.ap-option-key{width:28px;height:28px;border-radius:8px;background:var(--clr-surface-2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;transition:background .2s}.ap-option.selected .ap-option-key{background:var(--clr-primary);color:#fff}.ap-fill-input{margin-top:4px;font-size:15px;padding:12px 16px}.ap-match{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ap-match-col{display:flex;flex-direction:column;gap:6px}.ap-match-item{padding:10px 14px;border-radius:10px;border:1.5px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text);font-size:13px;cursor:pointer;transition:all .2s;text-align:left;font-family:inherit;display:flex;flex-direction:column;gap:2px}.ap-match-item:hover{border-color:var(--clr-border-2)}.ap-match-item.selected{border-color:var(--clr-primary);background:var(--clr-primary-glow)}.ap-match-item.matched{border-color:var(--clr-green);background:var(--clr-green-glow);opacity:.7}.ap-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.ap-dots{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.ap-dot{width:10px;height:10px;border-radius:50%;border:1.5px solid var(--clr-border-1);background:transparent;cursor:pointer;transition:all .15s;padding:0}.ap-dot.current{border-color:var(--clr-primary);box-shadow:0 0 8px var(--clr-primary-glow)}.ap-dot.answered{background:var(--clr-primary);border-color:var(--clr-primary)}.ap-results{padding:32px 24px;overflow-y:auto;flex:1}.ap-results-hero{display:flex;align-items:center;gap:28px;margin-bottom:32px;padding:28px;background:var(--gradient-glow);border-radius:var(--radius-lg);border:1px solid var(--clr-border-1)}.ap-grade-circle{width:100px;height:100px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;border:3px solid}.ap-grade-circle.pass{border-color:var(--clr-green);background:var(--clr-green-glow);box-shadow:0 0 40px var(--clr-green-glow)}.ap-grade-circle.fail{border-color:var(--clr-coral);background:var(--clr-coral-glow);box-shadow:0 0 40px var(--clr-coral-glow)}.ap-grade-letter{font-size:28px;font-weight:800}.ap-grade-pct{font-size:13px;color:var(--clr-text-muted);font-weight:600}.ap-results-summary h2{font-size:1.3rem;margin-bottom:4px}.ap-results-breakdown{display:flex;flex-direction:column;gap:8px}.ap-result-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;border:1px solid var(--clr-border);background:var(--clr-surface)}.ap-result-item.correct{border-color:#34d39933}.ap-result-item.wrong{border-color:#fb718533}.ap-result-status{font-size:18px;flex-shrink:0;margin-top:2px}.ap-result-content{flex:1;min-width:0}.ap-result-q{font-size:13px;font-weight:550;margin-bottom:4px}.ap-result-answer{font-size:12px;color:var(--clr-text-2)}.ap-result-explain{font-size:12px;color:var(--clr-text-muted);margin-top:6px;padding:8px;background:var(--clr-surface-1);border-radius:8px;line-height:1.5}.planner-overlay{position:fixed;inset:0;z-index:100;background:#0009;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px}.planner-panel{width:100%;max-width:780px;max-height:90vh;overflow-y:auto;border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:24px}.planner-header{display:flex;justify-content:space-between;align-items:flex-start}.planner-header h2{font-size:22px;font-weight:700;color:var(--clr-text);margin:0}.planner-setup{display:flex;justify-content:center}.planner-setup-card{width:100%;max-width:440px;padding:28px;border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:20px}.planner-setup-card h3{margin:0;font-size:18px;text-align:center}.planner-label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--clr-text-muted)}.planner-input{background:var(--clr-surface-1);border:1px solid var(--clr-border);border-radius:8px;color:var(--clr-text);padding:10px 14px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.planner-input:focus{border-color:var(--clr-primary)}.planner-hours{display:flex;gap:6px}.planner-hours .tag{cursor:pointer;transition:all .15s}.planner-hours .tag.active{transform:scale(1.1);box-shadow:0 0 12px #6c8ef266}.planner-books-preview{display:flex;flex-direction:column;gap:6px}.planner-book-tags{display:flex;flex-wrap:wrap;gap:6px}.planner-error{color:var(--clr-coral);font-size:13px;text-align:center;margin:0}.planner-content{display:flex;flex-direction:column;gap:20px}.planner-progress-section{display:flex;flex-direction:column;gap:8px}.planner-progress-header{display:flex;justify-content:space-between;align-items:center}.planner-progress-label{font-size:15px;font-weight:600}.planner-progress-pct{font-size:20px;font-weight:700;color:var(--clr-primary)}.planner-progress-bar{height:8px;border-radius:4px;background:var(--clr-surface-1);overflow:hidden}.planner-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--clr-primary),#A78BFA,#F472B6);transition:width .5s cubic-bezier(.16,1,.3,1)}.planner-meta{display:flex;gap:16px;font-size:12px;color:var(--clr-text-muted)}.planner-weeks{display:flex;flex-direction:column;gap:16px}.planner-week{background:var(--clr-surface-1);border:1px solid var(--clr-border);border-radius:var(--radius);padding:16px}.planner-week-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.planner-tasks{display:flex;flex-direction:column;gap:6px}.planner-task{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff05;border:1px solid var(--clr-border);border-radius:8px;cursor:pointer;transition:all .15s}.planner-task:hover{background:#6c8ef20f;border-color:#6c8ef24d}.planner-task.done{opacity:.5}.planner-task-check{width:20px;height:20px;border-radius:6px;border:2px solid var(--clr-border);display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;font-weight:700;flex-shrink:0;transition:all .15s}.planner-task-info{flex:1;display:flex;flex-direction:column;gap:2px}.planner-task-subject{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.planner-task-desc{font-size:13px;color:var(--clr-text-2)}.planner-task-desc.struck{text-decoration:line-through;opacity:.6}.planner-task-hours{font-size:12px;color:var(--clr-text-muted);font-weight:600;flex-shrink:0;background:var(--clr-surface-1);padding:2px 8px;border-radius:12px}.planner-tips{background:#6c8ef20f;border:1px solid rgba(108,142,242,.15);border-radius:var(--radius);padding:16px}.planner-tips h4{margin:0 0 8px;font-size:14px}.planner-tip{font-size:13px;color:var(--clr-text-muted);margin:4px 0;line-height:1.5}.planner-actions{display:flex;gap:12px;justify-content:center;padding-top:8px}.planner-panel::-webkit-scrollbar{width:6px}.planner-panel::-webkit-scrollbar-thumb{background:var(--clr-border);border-radius:3px}.landing-container{background:var(--clr-bg);color:var(--clr-text);min-height:100vh;font-family:Inter,system-ui,sans-serif;overflow-x:hidden;position:relative;z-index:1000}.landing-bg{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}.bg-orb{position:absolute;filter:blur(120px);border-radius:50%;opacity:.6;animation:float 20s infinite alternate ease-in-out}.orb-1{width:600px;height:600px;background:#5064f026;top:-100px;left:-100px}.orb-2{width:700px;height:700px;background:#dc50c81f;bottom:-200px;right:-100px;animation-duration:25s}.orb-3{width:500px;height:500px;background:#50dc961a;top:30%;right:20%;animation-duration:30s;animation-direction:alternate-reverse}@keyframes float{0%{transform:translate(0) scale(1)}50%{transform:translate(50px,100px) scale(1.1)}to{transform:translate(-50px,-50px) scale(.9)}}.landing-nav{position:fixed;top:0;left:0;width:100%;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;z-index:100;background:color-mix(in srgb,var(--clr-bg) 90%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--clr-border)}.nav-logo{display:flex;align-items:center;gap:12px;font-size:1.5rem;font-weight:700;letter-spacing:-.5px}.nav-icon{font-size:1.8rem}.btn-nav-cta{background:var(--clr-surface-2);border:1px solid var(--clr-border-2);color:var(--clr-text);padding:10px 24px;border-radius:100px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-nav-cta:hover{background:var(--clr-surface-1);border-color:var(--clr-primary);transform:translateY(-2px)}.landing-main{position:relative;z-index:10;display:flex;flex-direction:column}.hero-section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:15vh;text-align:center}.hero-content{max-width:900px;padding:0 20px;margin-bottom:60px}.hero-headline{font-size:4.5rem;font-weight:800;line-height:1.1;margin-bottom:24px;letter-spacing:-1px}.text-gradient{background:linear-gradient(135deg,#a0b0ff,#ff80df,#80ffdf);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-subheadline{font-size:1.25rem;color:var(--clr-text-2);line-height:1.6;max-width:650px;margin:0 auto 40px}.btn-primary-cta{background:linear-gradient(135deg,var(--clr-primary),var(--clr-accent));color:#fff;font-size:1.15rem;font-weight:600;padding:18px 48px;border-radius:100px;border:none;cursor:pointer;box-shadow:0 10px 30px var(--clr-primary-glow);transition:all .3s ease}.btn-primary-cta:hover{box-shadow:0 15px 40px var(--clr-accent-glow);transform:translateY(-2px)}.hero-image-wrapper{width:100%;max-width:1400px;padding:0 20px;margin-bottom:100px}.glass-mockup{background:var(--clr-surface);border:1px solid var(--clr-border-1);border-radius:16px;overflow:hidden;box-shadow:0 20px 40px #0003;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.mockup-header{height:30px;background:var(--clr-surface-2);border-bottom:1px solid var(--clr-border);display:flex;align-items:center;padding:0 15px;gap:8px}.dot{width:12px;height:12px;border-radius:50%;display:inline-block}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.mockup-img{width:100%;display:block;object-fit:contain}.features-section{padding:80px 20px;max-width:1600px;margin:0 auto;display:flex;flex-direction:column;gap:150px}.feature-row{display:flex;align-items:center;justify-content:space-between;gap:80px}.feature-row.reversed{flex-direction:row-reverse}.feature-text-block{flex:1}.feature-badge{display:inline-block;padding:8px 16px;background:var(--clr-surface-2);border:1px solid var(--clr-border-1);border-radius:100px;font-size:.9rem;font-weight:500;margin-bottom:20px;color:var(--clr-text)}.feature-text-block h2{font-size:2.5rem;font-weight:700;margin-bottom:20px;line-height:1.2;word-break:break-word}.feature-text-block p{font-size:1.15rem;color:var(--clr-text-2);line-height:1.6}.feature-image-block{flex:1;min-width:0}.feature-mockup{border-radius:12px}.feature-mockup img{border-radius:0 0 12px 12px;width:100%;height:auto;display:block}.cta-section{padding:120px 20px;display:flex;justify-content:center}.cta-box{background:var(--clr-surface-1);border:1px solid var(--clr-border-1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:30px;padding:80px 40px;text-align:center;max-width:800px;width:100%;box-shadow:0 20px 40px #0000001a}.cta-box h2{font-size:3rem;font-weight:800;margin-bottom:20px}.cta-box p{font-size:1.25rem;color:var(--clr-text-2);margin-bottom:40px}.landing-footer{position:relative;z-index:10;background:var(--clr-bg-2);padding:40px 20px;border-top:1px solid var(--clr-border-1)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;color:var(--clr-text-muted);font-size:.9rem}.footer-logo{font-weight:600;color:var(--clr-text);font-size:1.1rem}@media(max-width:1024px){.feature-row{gap:40px}.hero-headline{font-size:3.5rem}}@media(max-width:768px){.hero-headline{font-size:2.8rem}.feature-row,.feature-row.reversed{flex-direction:column;text-align:center}.feature-text-block{margin-bottom:30px}.feature-text-block h2{font-size:2rem}.cta-box{padding:60px 20px}.cta-box h2{font-size:2.2rem}}.access-container{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:15px}.access-input-group{display:flex;gap:10px;align-items:center}.access-input{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 18px;font-size:1rem;color:var(--clr-text);outline:none;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:250px}.access-input:focus{border-color:var(--clr-primary);box-shadow:0 0 15px rgba(var(--clr-primary-rgb),.3)}.access-input.error{border-color:#ff4d4f;animation:shake .4s ease-in-out}.access-error-msg{color:#ff4d4f;font-size:.85rem;height:20px;opacity:0;transition:opacity .2s}.access-error-msg.visible{opacity:1}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:56px;border-bottom:1px solid var(--clr-border);background:#06080fd9;-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);flex-shrink:0;z-index:100}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-logo{display:flex;align-items:center;gap:8px;font-size:1.05rem;font-weight:800;letter-spacing:-.03em}.topbar-logo-icon{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--gradient-brand);font-size:14px;box-shadow:0 2px 12px var(--clr-primary-glow)}.topbar-divider{width:1px;height:24px;background:var(--clr-border-1)}.topbar-book-info{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--clr-text-2)}.topbar-book-count{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--clr-text-muted);background:var(--clr-surface-1);padding:3px 8px;border-radius:6px}.live-indicator{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--clr-green);background:#34d39914;padding:5px 12px;border-radius:100px;border:1px solid rgba(52,211,153,.15)}.status-idle{font-size:12px;color:var(--clr-text-dim);display:flex;align-items:center;gap:6px}.status-idle:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--clr-text-dim)}.app-shell{display:flex;flex-direction:column;height:100vh;background:radial-gradient(ellipse 90% 60% at 10% -20%,rgba(108,142,242,.06) 0%,transparent 50%),radial-gradient(ellipse 70% 50% at 85% 110%,rgba(166,125,248,.07) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 50% 50%,rgba(54,214,182,.03) 0%,transparent 50%),var(--clr-bg);overflow:hidden}.app-body{position:relative;display:flex;flex-direction:row;gap:var(--panel-gap);padding:0 var(--panel-gap) var(--panel-gap);height:100vh;overflow:hidden;flex:1;min-height:0}.panel-container{display:flex;flex-direction:column;height:100%;transition:width .3s cubic-bezier(.2,.8,.2,1),opacity .2s;overflow:hidden;position:relative}.left-container{width:280px}.right-container{width:300px}.center-canvas{flex:1;transition:flex .3s cubic-bezier(.2,.8,.2,1);min-width:0}.panel-container.collapsed{width:0;opacity:0;padding:0;margin:0}.sidebar-toggle{position:absolute;top:50%;transform:translateY(-50%);z-index:100;width:24px;height:48px;background:var(--clr-surface);border:1px solid var(--clr-border);color:var(--clr-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;border-radius:4px;box-shadow:0 4px 12px #0000004d;transition:all .2s}.sidebar-toggle:hover{background:var(--clr-surface-hover);color:var(--clr-text);border-color:var(--clr-primary-light)}.left-toggle{left:calc(280px + var(--panel-gap) / 2 - 12px);border-radius:0 6px 6px 0}.app-body.left-closed .left-toggle{left:calc(var(--panel-gap) / 2 - 12px)}.right-toggle{right:calc(300px + var(--panel-gap) / 2 - 12px);border-radius:6px 0 0 6px}.app-body.right-closed .right-toggle{right:calc(var(--panel-gap) / 2 - 12px)}.panel{display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;padding-right:2px;width:100%;min-width:280px}.agent-loading-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--clr-surface);border:1px solid var(--clr-border);padding:12px 24px;border-radius:30px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px #00000026;z-index:9999;font-size:.9rem;font-weight:500;color:var(--clr-text);animation:slideUp .3s cubic-bezier(.2,.8,.2,1)}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.spinner{width:16px;height:16px;border:2px solid var(--clr-primary-light);border-top-color:var(--clr-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--clr-bg: #f8fafc;--clr-bg-2: #f1f5f9;--clr-bg-3: #ffffff;--clr-surface: rgba(0, 0, 0, .02);--clr-surface-1: rgba(0, 0, 0, .04);--clr-surface-2: rgba(0, 0, 0, .06);--clr-border: rgba(0, 0, 0, .08);--clr-border-1: rgba(0, 0, 0, .12);--clr-border-2: rgba(0, 0, 0, .18);--clr-primary: #4F46E5;--clr-primary-light: #6366F1;--clr-primary-glow: rgba(79, 70, 229, .25);--clr-accent: #9333EA;--clr-accent-glow: rgba(147, 51, 234, .25);--clr-teal: #0D9488;--clr-teal-glow: rgba(13, 148, 136, .2);--clr-green: #10B981;--clr-green-glow: rgba(16, 185, 129, .2);--clr-amber: #F59E0B;--clr-amber-glow: rgba(245, 158, 11, .2);--clr-coral: #E11D48;--clr-coral-glow: rgba(225, 29, 72, .2);--clr-rose: #EC4899;--clr-text: #0f172a;--clr-text-2: #334155;--clr-text-muted: #64748b;--clr-text-dim: #94a3b8;--clr-hl-yellow: rgba(245, 158, 11, .12);--clr-hl-green: rgba(16, 185, 129, .12);--clr-hl-blue: rgba(79, 70, 229, .12);--clr-hl-pink: rgba(236, 72, 153, .12);--clr-hl-orange: rgba(225, 29, 72, .12);--gradient-brand: linear-gradient(135deg, var(--clr-primary), var(--clr-accent), var(--clr-teal));--gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, .4) 100%);--gradient-glow: linear-gradient(135deg, var(--clr-primary-glow), var(--clr-accent-glow));--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--panel-gap: 10px;--radius: 14px;--radius-lg: 20px;--radius-xl: 24px}[data-theme=dark]{--clr-bg: #06080f;--clr-bg-2: #0c1018;--clr-bg-3: #111722;--clr-surface: rgba(255, 255, 255, .03);--clr-surface-1: rgba(255, 255, 255, .055);--clr-surface-2: rgba(255, 255, 255, .08);--clr-border: rgba(255, 255, 255, .06);--clr-border-1: rgba(255, 255, 255, .1);--clr-border-2: rgba(255, 255, 255, .16);--clr-primary: #6C8EF2;--clr-primary-light: #8EAAFF;--clr-primary-glow: rgba(108, 142, 242, .25);--clr-accent: #A67DF8;--clr-accent-glow: rgba(166, 125, 248, .25);--clr-teal: #36D6B6;--clr-teal-glow: rgba(54, 214, 182, .2);--clr-green: #34D399;--clr-green-glow: rgba(52, 211, 153, .2);--clr-amber: #FBBF24;--clr-amber-glow: rgba(251, 191, 36, .2);--clr-coral: #FB7185;--clr-coral-glow: rgba(251, 113, 133, .2);--clr-text: #E8ECF4;--clr-text-2: #C0C7D8;--clr-text-muted: #6B7A99;--clr-text-dim: #3D4A66;--clr-hl-yellow: rgba(251, 191, 36, .22);--clr-hl-green: rgba(52, 211, 153, .22);--clr-hl-blue: rgba(108, 142, 242, .22);--clr-hl-pink: rgba(244, 114, 182, .22);--clr-hl-orange: rgba(251, 113, 133, .22);--gradient-surface: linear-gradient(180deg, rgba(255, 255, 255, .04) 0%, rgba(255, 255, 255, .01) 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--clr-bg);color:var(--clr-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ffffff24}h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}h2{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}h3{font-size:.9rem;font-weight:600}h4{font-size:.7rem;font-weight:600;color:var(--clr-text-muted);letter-spacing:.08em;text-transform:uppercase}.glass{background:var(--gradient-surface);border:1px solid var(--clr-border);-webkit-backdrop-filter:blur(24px) saturate(1.2);backdrop-filter:blur(24px) saturate(1.2);border-radius:var(--radius)}.glass-1{background:linear-gradient(180deg,#ffffff0f,#ffffff05);border:1px solid var(--clr-border-1);-webkit-backdrop-filter:blur(32px) saturate(1.3);backdrop-filter:blur(32px) saturate(1.3);border-radius:var(--radius)}.glass-card{background:var(--gradient-surface);border:1px solid var(--clr-border);border-radius:var(--radius);transition:border-color .25s var(--ease-smooth),box-shadow .25s var(--ease-smooth)}.glass-card:hover{border-color:var(--clr-border-1);box-shadow:0 4px 24px #0003}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 18px;border-radius:10px;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:550;letter-spacing:.01em;transition:all .2s var(--ease-out);white-space:nowrap;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--gradient-brand);background-size:200% 200%;color:#fff;box-shadow:0 2px 12px var(--clr-primary-glow),0 0 0 1px #6c8ef233}.btn-primary:hover:not(:disabled){box-shadow:0 4px 28px var(--clr-primary-glow),0 2px 48px var(--clr-accent-glow);transform:translateY(-1px);background-position:100% 100%}.btn-secondary{background:var(--clr-surface-2);border:1px solid var(--clr-border-1);color:var(--clr-text)}.btn-secondary:hover:not(:disabled){background:#ffffff1a;border-color:var(--clr-border-2)}.btn-ghost{background:transparent;border:1px solid var(--clr-border);color:var(--clr-text-2)}.btn-ghost:hover:not(:disabled){background:var(--clr-surface-1);border-color:var(--clr-border-1);color:var(--clr-text)}.btn-danger{background:linear-gradient(135deg,#DC2626,var(--clr-coral));color:#fff;box-shadow:0 2px 12px var(--clr-coral-glow)}.btn-success{background:linear-gradient(135deg,#059669,var(--clr-green));color:#fff;box-shadow:0 2px 12px var(--clr-green-glow)}.btn-sm{padding:6px 12px;font-size:12px;border-radius:8px}.btn-xs{padding:4px 8px;font-size:11px;border-radius:6px}.btn-lg{padding:12px 24px;font-size:14px;border-radius:12px}.btn-icon{padding:8px;border-radius:10px}.btn-icon-sm{padding:5px;border-radius:7px}.btn-pill{border-radius:100px}.btn-primary:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:var(--gradient-brand);filter:blur(12px);opacity:0;z-index:-1;transition:opacity .3s}.btn-primary:hover:before{opacity:.4}.input{background:var(--clr-surface);border:1px solid var(--clr-border-1);border-radius:10px;color:var(--clr-text);font-family:inherit;font-size:13px;padding:9px 14px;width:100%;transition:border-color .2s,box-shadow .2s;outline:none}.input::placeholder{color:var(--clr-text-dim)}.input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-glow)}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236B7A99'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}textarea.input{resize:vertical;line-height:1.5}.tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:100px;font-size:11px;font-weight:550;letter-spacing:.02em}.tag-blue{background:#6c8ef21f;color:var(--clr-primary-light)}.tag-green{background:#34d3991f;color:var(--clr-green)}.tag-amber{background:#fbbf241f;color:var(--clr-amber)}.tag-coral{background:#fb71851f;color:var(--clr-coral)}.tag-purple{background:#a67df81f;color:var(--clr-accent)}.tag-teal{background:#36d6b61f;color:var(--clr-teal)}.tag-ghost{background:var(--clr-surface-1);color:var(--clr-text-2);border:1px solid var(--clr-border)}.divider{border:none;border-top:1px solid var(--clr-border);margin:12px 0}.stat-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.stat-row+.stat-row{border-top:1px solid var(--clr-border)}.progress-bar{width:100%;height:4px;background:var(--clr-surface-1);border-radius:4px;overflow:hidden}.progress-fill{height:100%;border-radius:4px;transition:width .4s var(--ease-out)}.icon-box{display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0}.icon-box-sm{width:32px;height:32px;font-size:15px}.icon-box-md{width:40px;height:40px;font-size:18px}.icon-box-lg{width:52px;height:52px;font-size:24px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.px-3{padding-left:12px;padding-right:12px}.py-2{padding-top:8px;padding-bottom:8px}.rounded{border-radius:var(--radius)}.w-full{width:100%}.text-muted{color:var(--clr-text-muted)}.text-2{color:var(--clr-text-2)}.text-sm{font-size:12px}.text-xs{font-size:11px}.text-xxs{font-size:10px}.font-mono{font-family:JetBrains Mono,monospace}.font-medium{font-weight:550}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.opacity-60{opacity:.6}.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.shimmer{background:linear-gradient(90deg,var(--clr-surface) 25%,var(--clr-surface-1) 50%,var(--clr-surface) 75%);background-size:800px 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.7}to{transform:scale(1.8);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--clr-coral);position:relative}.live-dot:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid var(--clr-coral);animation:pulse-ring 1.5s ease-out infinite}.live-dot.active{background:var(--clr-green)}.live-dot.active:after{border-color:var(--clr-green)}.tooltip{position:absolute;z-index:1000;background:var(--clr-bg-3);border:1px solid var(--clr-border-2);border-radius:var(--radius);padding:14px 16px;box-shadow:0 20px 60px #00000080,0 0 0 1px #6c8ef214,0 0 80px #6c8ef20d;pointer-events:auto;min-width:260px;max-width:340px}.toggle{position:relative;width:38px;height:22px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;background:var(--clr-surface-2);border:1px solid var(--clr-border-1);border-radius:100px;cursor:pointer;transition:.25s var(--ease-out)}.toggle-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:var(--clr-text-muted);border-radius:50%;transition:.25s var(--ease-spring)}.toggle input:checked+.toggle-slider{background:var(--clr-primary);border-color:var(--clr-primary);box-shadow:0 0 12px var(--clr-primary-glow)}.toggle input:checked+.toggle-slider:before{transform:translate(16px);background:#fff}.section-header{display:flex;align-items:center;gap:8px;padding:12px 14px 10px;font-size:11px;font-weight:650;color:var(--clr-text-muted);letter-spacing:.08em;text-transform:uppercase}.section-header-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--clr-surface-1);border-radius:6px}.panel-card{background:var(--gradient-surface);border:1px solid var(--clr-border);border-radius:var(--radius);overflow:hidden;transition:border-color .25s}.panel-card:hover{border-color:var(--clr-border-1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 20px;text-align:center}.empty-state-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--gradient-glow);font-size:24px;animation:float 3s ease-in-out infinite}
