:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-0:#0e1614;--bg-1:#131c1a;--bg-2:#182220;--bg-3:#1e2a28;--bg-4:#263433;--line-soft:#fff7eb0f;--line:#fff7eb17;--line-strong:#fff7eb24;--ink:#f3ece0;--ink-dim:#d7cfc1;--muted:#9aa49f;--muted-soft:#6f7a75;--accent:#e6b267;--accent-strong:#d89a47;--accent-soft:#3a2d14;--accent-ring:#e6b26747;--info:#6fb3a6;--info-strong:#4e9a8c;--info-soft:#12302c;--info-ring:#6fb3a638;--success:#7fc29b;--success-soft:#16301f;--warning:#e3b77a;--warning-soft:#2e2413;--danger:#d78974;--danger-soft:#2c1a14;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-2xl:28px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--fs-xs:clamp(.72rem, .7rem + .1vw, .78rem);--fs-sm:clamp(.82rem, .8rem + .1vw, .88rem);--fs-base:clamp(.94rem, .92rem + .15vw, 1rem);--fs-md:clamp(1rem, .98rem + .2vw, 1.08rem);--fs-lg:clamp(1.1rem, 1.05rem + .3vw, 1.25rem);--fs-xl:clamp(1.3rem, 1.2rem + .5vw, 1.55rem);--fs-2xl:clamp(1.6rem, 1.4rem + .8vw, 2.05rem);--fs-3xl:clamp(2rem, 1.7rem + 1.4vw, 2.75rem);--lh-tight:1.2;--lh-snug:1.4;--lh-normal:1.6;--lh-loose:1.75;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-standard:cubic-bezier(.32, .72, 0, 1);--dur-1:.12s;--dur-2:.18s;--dur-3:.24s;--dur-4:.36s;--shadow-1:0 1px 0 #ffffff05 inset, 0 1px 2px #00000047;--shadow-2:0 1px 0 #ffffff06 inset, 0 6px 16px #00000052;--shadow-3:0 1px 0 #ffffff08 inset, 0 18px 48px #00000073;--font-sans:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:ui-sans-serif, -apple-system, BlinkMacSystemFont, "Inter", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-numeric:"SF Mono", ui-monospace, "JetBrains Mono", "Menlo", "Consolas", monospace;font-family:var(--font-sans);font-size:16px;line-height:var(--lh-normal);color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg-0)}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--bg-0);overscroll-behavior-y:none;background-image:radial-gradient(1200px 500px at 12% -10%,#e6b2670e,#0000 60%),radial-gradient(900px 520px at 92% 8%,#6fb3a60b,#0000 60%),linear-gradient(#0f1816 0%,#0c1413 100%);background-attachment:fixed;margin:0}#root{min-height:100vh}body:before{content:"";pointer-events:none;z-index:0;opacity:.9;background-image:radial-gradient(#ffffff05 1px,#0000 1px);background-size:3px 3px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#0009,#0003);mask-image:linear-gradient(#0009,#0003)}button,input,textarea,select{font:inherit;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible,label:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;line-height:var(--lh-tight);font-weight:650}h1{font-size:var(--fs-3xl);letter-spacing:-.02em}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-lg)}p{line-height:var(--lh-normal)}::selection{background:var(--accent-ring);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:#fff7eb1f transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:#fff7eb1f}::-webkit-scrollbar-thumb:hover{background:#fff7eb33}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-root{isolation:isolate;flex-direction:column;min-height:100svh;display:flex;position:relative}.shell{gap:var(--space-5);z-index:1;width:100%;max-width:1280px;margin:0 auto;padding:clamp(1rem,2vw,2rem);display:grid;position:relative}.route-panel.active,.app-nav:not(.is-hidden),.hero-panel,.mobile-dashboard.visible{animation:route-in .32s var(--ease-out) both}@keyframes route-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ai-toggle-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:linear-gradient(180deg, #ffffff04, #fff0) , var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-1);flex-wrap:wrap;display:flex}.ai-toggle-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}.ai-toggle-options{background:var(--bg-3);border-radius:var(--radius-sm);border:1px solid var(--line-soft);gap:2px;padding:3px;display:inline-flex}.ai-toggle-option{color:var(--muted);font-size:var(--fs-sm);cursor:pointer;transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;border-radius:7px;padding:.4rem .85rem;font-weight:500}.ai-toggle-option:hover{color:var(--ink-dim)}.ai-toggle-option.active{background:var(--bg-4);color:var(--ink);box-shadow:inset 0 1px #ffffff08}.hero-panel{gap:var(--space-5);border-radius:var(--radius-2xl);background:radial-gradient(600px 300px at 0% 0%, #e6b2670f, transparent 55%), var(--bg-1);border:1px solid var(--line);box-shadow:var(--shadow-2);grid-template-columns:1.4fr 1fr;padding:clamp(1.25rem,2vw,2rem);display:grid}.hero-copy{gap:var(--space-3);flex-direction:column;display:flex}.hero-copy h1{max-width:18ch;font-size:var(--fs-3xl);color:var(--ink);margin:0}.hero-copy .hero-text{max-width:52ch;color:var(--ink-dim);line-height:var(--lh-loose);margin:0}.hero-actions{gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.hero-card{border-radius:var(--radius-xl);padding:var(--space-5);background:radial-gradient(400px 200px at 100% 0%, #e6b26717, transparent 55%), var(--bg-2);border:1px solid var(--line);color:var(--ink);position:relative;overflow:hidden}.hero-card-header{color:var(--muted);font-size:var(--fs-sm);letter-spacing:.02em;align-items:center;gap:.6rem;display:flex}.signal{border-radius:var(--radius-pill);background:var(--accent);width:.55rem;height:.55rem;animation:signal-breathe 3s var(--ease-in-out) infinite;box-shadow:0 0 0 4px #e6b2671f}@keyframes signal-breathe{0%,to{opacity:.9;box-shadow:0 0 0 4px #e6b2671f}50%{opacity:1;box-shadow:0 0 0 6px #e6b26714}}.metric-grid{margin:var(--space-5) 0;gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.metric-card{border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--line);background:var(--bg-3);min-height:108px;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);align-content:end;gap:.3rem;display:grid}.metric-card strong{font-size:var(--fs-2xl);font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:-.02em;font-weight:650;line-height:1}.metric-card span{color:var(--muted);font-size:var(--fs-sm);letter-spacing:.01em}.metric-card.tone-gold{background:linear-gradient(180deg, #e6b2670f, #e6b26700 70%), var(--bg-3);border-color:#e6b26738}.metric-card.tone-gold strong{color:var(--accent)}.metric-card.tone-teal{background:linear-gradient(180deg, #6fb3a60f, #6fb3a600 70%), var(--bg-3);border-color:#6fb3a638}.metric-card.tone-teal strong{color:var(--info)}.metric-card.tone-coral{background:linear-gradient(180deg, #d789740d, #d7897400 70%), var(--bg-3);border-color:#d7897438}.metric-card.tone-coral strong{color:var(--danger)}.metric-card.tone-ink{border-color:var(--line-strong);background:var(--bg-3)}.backup-card{border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--line-soft);background:#fff7eb08;gap:.25rem;display:grid}.backup-card p{color:var(--muted);font-size:var(--fs-sm);margin:0}.backup-card strong{color:var(--ink);font-weight:500;line-height:var(--lh-snug)}.voice-status{margin:var(--space-4) 0 0;font-size:var(--fs-sm);color:var(--muted)}.card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--space-5);box-shadow:var(--shadow-1)}.app-nav{gap:var(--space-4);display:grid}.app-nav.is-hidden{display:none}.route-grid{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.route-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-2);min-height:148px;padding:var(--space-4);text-align:left;color:var(--ink);cursor:pointer;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);gap:var(--space-2);flex-direction:column;display:flex}.route-card>span{border-radius:var(--radius-pill);width:max-content;color:var(--accent);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.1em;background:#e6b2671a;padding:.25rem .6rem;font-weight:600}.route-card strong{font-size:var(--fs-md);color:var(--ink);margin:.4rem 0 .2rem;font-weight:600;display:block}.route-card small{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-snug);display:block}.route-card.selected{border-color:var(--accent-ring);background:linear-gradient(180deg, #e6b2670a, #e6b26700 60%), var(--bg-2)}.route-panel{display:none}.route-panel.active{display:block}.route-toolbar{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);align-items:center;display:flex}.back-btn{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg-2);color:var(--ink);font-weight:500;font-size:var(--fs-sm);cursor:pointer;min-height:40px;transition:transform var(--dur-1) var(--ease-out), background var(--dur-2) var(--ease-out);padding:.6rem 1rem}.back-btn:hover{background:var(--bg-3)}.back-btn:active{transform:scale(.97)}.route-toolbar>span{color:var(--muted);font-weight:500;font-size:var(--fs-sm);letter-spacing:.02em}.route-intro-card{margin-bottom:var(--space-4)}.route-intro-card h2,.route-intro-card p{margin:0}.section-heading{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);align-items:start;display:flex}.section-heading h2{font-size:var(--fs-xl);color:var(--ink);margin:.1rem 0 0;font-weight:600}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:var(--fs-xs);color:var(--accent);margin:0;font-weight:600}.section-note,.stack-card p,.queue-card p,.agent-response p,.ethics-box p,.task-card p,.flashcard p,.empty-card,.status-line,.voice-status,.hero-text{color:var(--muted);line-height:var(--lh-normal)}.section-note{font-size:var(--fs-sm);max-width:52ch}.primary-btn,.secondary-btn,.stack-footer button,.task-side button{cursor:pointer;font-family:inherit;font-size:var(--fs-sm);letter-spacing:.005em;border-radius:var(--radius-pill);min-height:42px;transition:transform var(--dur-1) var(--ease-out), background var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1.1rem;font-weight:600;display:inline-flex}.primary-btn,.stack-footer button,.task-side button{background:var(--accent);color:#23180a;border:1px solid #00000014;box-shadow:inset 0 1px #fff3,0 6px 16px #e6b2671f}.primary-btn:hover,.stack-footer button:hover,.task-side button:hover{background:var(--accent-strong)}.primary-btn:active,.stack-footer button:active,.task-side button:active{transform:scale(.97)}.primary-btn:disabled{background:var(--bg-3);color:var(--muted-soft);box-shadow:none;cursor:not-allowed;transform:none}.secondary-btn{background:var(--bg-2);color:var(--ink);border:1px solid var(--line-strong)}.secondary-btn:hover{background:var(--bg-3);border-color:#fff7eb38}.secondary-btn:active{transform:scale(.97)}.upload-btn{position:relative;overflow:hidden}.upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.link-btn{color:var(--info);cursor:pointer;font-size:var(--fs-sm);text-underline-offset:3px;transition:opacity var(--dur-1) var(--ease-out), color var(--dur-2) var(--ease-out);background:0 0;border:none;padding:.3rem 0;font-weight:500;text-decoration:underline}.link-btn:hover{opacity:.8}.link-btn.danger{color:var(--danger)}.mode-chip{background:var(--bg-3);color:var(--ink-dim);border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--fs-sm);cursor:pointer;text-transform:capitalize;min-height:36px;transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);padding:.45rem .9rem;font-weight:500}.mode-chip:hover{background:var(--bg-4);color:var(--ink)}.mode-chip:active{transform:scale(.97)}.mode-chip.active{background:var(--accent);color:#23180a;border-color:#00000026;box-shadow:inset 0 1px #fff3}@media (hover:hover) and (pointer:fine){.route-card:hover,.subject-card:hover,.secondary-route-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}}.mode-row,.coach-meta,.stack-footer,.stack-title-row,.task-form,.schedule-form,.task-side,.action-row,.toggle-row,.provider-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.stack-title-row,.stack-footer{justify-content:space-between;align-items:center}.action-row{margin-top:var(--space-4)}.subject-grid,.workspace-grid,.queue-list,.milestone-grid,.plan-grid{gap:var(--space-4);display:grid}.subject-grid{margin-bottom:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-card{gap:var(--space-5);display:grid}.milestone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.milestone-card,.plan-card,.flow-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-2);padding:var(--space-4)}.milestone-card{background:linear-gradient(180deg, #e6b2670a, transparent 70%), var(--bg-2)}.milestone-card strong{font-size:var(--fs-lg);color:var(--ink);margin-top:.2rem;font-weight:600;display:block}.milestone-card span,.plan-card p,.flow-card p{color:var(--muted);line-height:var(--lh-normal);margin:.35rem 0 0}.plan-card h3,.flow-card h3{margin:0 0 var(--space-2);font-size:var(--fs-md);font-weight:600}.flow-card{gap:var(--space-5);background:radial-gradient(380px 200px at 0% 0%, #6fb3a60d, transparent 55%), var(--bg-2);grid-template-columns:.55fr 1fr;align-items:start;display:grid}.flow-list{color:var(--ink-dim);line-height:var(--lh-normal);gap:.85rem;margin:0;padding-left:1.2rem;display:grid}.flow-list li::marker{color:var(--accent)}.subject-card{text-align:left;border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;background:var(--bg-2);border:1px solid var(--line);color:var(--ink);transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);flex-direction:column;gap:.3rem;display:flex}.subject-card>span{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.subject-card>strong{font-size:var(--fs-md);color:var(--ink);margin:.3rem 0 .1rem;font-weight:600}.subject-card>small{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal)}.subject-card.amber{background:linear-gradient(180deg, #e6b2670a, transparent 70%), var(--bg-2);border-color:#e6b26738}.subject-card.teal{background:linear-gradient(180deg, #6fb3a60a, transparent 70%), var(--bg-2);border-color:#6fb3a638}.subject-card.coral{background:linear-gradient(180deg, #d789740a, transparent 70%), var(--bg-2);border-color:#d7897438}.subject-card.selected{border-color:var(--accent);background:linear-gradient(180deg, #e6b26714, transparent 70%), var(--bg-2);box-shadow:0 0 0 3px var(--accent-ring)}.coach-banner{gap:var(--space-3);border-radius:var(--radius-xl);background:radial-gradient(400px 200px at 0% 0%, #6fb3a60f, transparent 55%), var(--bg-2);border:1px solid var(--line);padding:var(--space-5);display:grid}.coach-banner h3{font-size:var(--fs-lg);margin:0;font-weight:600}.coach-meta span{border-radius:var(--radius-pill);background:var(--bg-3);color:var(--ink-dim);font-size:var(--fs-sm);border:1px solid var(--line-soft);padding:.4rem .75rem}.stack-list,.task-list,.flashcard-list,.voice-memory-list,.floating-chat-log{gap:var(--space-3);display:grid}.stack-card,.task-card,.task-output,.schedule-card,.queue-card,.agent-response,.ethics-box,.flashcard,.empty-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-2);padding:var(--space-4)}.stack-card h3,.queue-card h3,.task-card h3,.agent-response h3,.coach-banner h3{font-size:var(--fs-md);color:var(--ink);margin:0;font-weight:600}.empty-card{text-align:center;background:repeating-linear-gradient(-45deg, transparent 0, transparent 14px, #fff7eb03 14px, #fff7eb03 15px), var(--bg-2);border-style:dashed;border-color:var(--line-soft);min-height:120px;color:var(--muted);padding:var(--space-6) var(--space-4);line-height:var(--lh-normal);place-items:center;display:grid}.stack-card.compact{min-height:auto}.stack-card p,.task-card p,.agent-response p,.queue-card p,.flashcard p{line-height:var(--lh-normal);margin:.35rem 0 0}.pill{border-radius:var(--radius-pill);font-size:var(--fs-xs);letter-spacing:.02em;color:var(--accent);background:#e6b2671f;border:1px solid #e6b2672e;justify-content:center;align-items:center;padding:.28rem .7rem;font-weight:600;display:inline-flex}.mini-pill{border-radius:var(--radius-pill);background:var(--bg-3);color:var(--ink-dim);font-size:var(--fs-xs);border:1px solid var(--line-soft);align-items:center;padding:.22rem .55rem;display:inline-flex}.pill.subtle{background:var(--bg-3);color:var(--muted);border-color:var(--line-soft);font-weight:500}.pill.muted{background:var(--bg-3);color:var(--muted);border-color:var(--line-soft)}.pill.ok{background:var(--success-soft);color:var(--success);border-color:#7fc29b38}.keyword-row,.citation-row{flex-wrap:wrap;gap:.35rem;display:flex}.input-label{margin:var(--space-4) 0 .35rem;font-weight:600;font-size:var(--fs-sm);color:var(--ink-dim);display:block}textarea,input,select{box-sizing:border-box;border-radius:var(--radius-md);border:1px solid var(--line-strong);width:100%;font:inherit;color:var(--ink);background:var(--bg-3);transition:border-color var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);padding:.8rem .95rem}textarea::placeholder,input::placeholder{color:var(--muted-soft)}textarea:focus,input:focus,select:focus{border-color:var(--accent);background:var(--bg-2);box-shadow:0 0 0 3px var(--accent-ring);outline:none}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input[type=file]{background:var(--bg-3);color:var(--ink-dim);font-size:var(--fs-sm);padding:.5rem}textarea{resize:vertical;min-height:9rem;line-height:var(--lh-normal)}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:2.4rem}.toggle-row{margin-top:var(--space-3);color:var(--ink-dim);font-size:var(--fs-sm);align-items:center}.toggle-row span{flex:1}.provider-row{align-items:center}.provider-row select{flex:18rem}.provider-row span{color:var(--muted);font-size:var(--fs-sm);flex:2 18rem}.task-generator{border-radius:var(--radius-xl);background:radial-gradient(500px 200px at 0% 0%, #e6b2670d, transparent 60%), var(--bg-2);border:1px solid var(--line);padding:var(--space-5);margin-bottom:var(--space-5)}.task-options{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.task-options label{color:var(--ink-dim);font-weight:500;font-size:var(--fs-sm);gap:.3rem;display:grid}.task-output{margin-bottom:var(--space-5)}.task-output pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:var(--lh-loose);color:var(--ink);margin:var(--space-3) 0 var(--space-4);background:var(--bg-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--space-4)}.compact-heading{margin-top:var(--space-6)}.task-form{margin-bottom:var(--space-4);align-items:center}.schedule-form{margin:var(--space-4) 0;align-items:center}.schedule-form input:first-child{flex:2 260px}.schedule-form select,.schedule-form input[type=datetime-local]{flex:180px}.schedule-card{justify-content:space-between;gap:var(--space-4);align-items:center;display:flex}.schedule-card h3,.schedule-card p{margin:0}.schedule-card p{font-size:var(--fs-sm)}.schedule-card button{border:1px solid var(--line-strong);background:var(--bg-3);color:var(--ink);border-radius:var(--radius-pill);font-weight:500;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;min-height:38px;transition:background var(--dur-2) var(--ease-out);padding:.55rem .95rem}.schedule-card button:hover{background:var(--bg-4)}.schedule-card button:active{transform:scale(.97)}.notification-explainer{border-radius:var(--radius-lg);background:linear-gradient(180deg, #6fb3a60a, transparent 70%), var(--bg-2);border:1px solid var(--line);color:var(--ink-dim);margin:var(--space-4) 0;padding:var(--space-4)}.notification-explainer p{color:var(--muted);font-size:var(--fs-sm);margin:.3rem 0 0}.recorder-panel{align-items:center;gap:var(--space-4);border-radius:var(--radius-xl);background:radial-gradient(400px 160px at 0% 0%, #d789740d, transparent 60%), var(--bg-2);border:1px solid var(--line);padding:var(--space-5);margin-bottom:var(--space-4);display:flex}.recorder-panel h3,.recorder-panel p{margin:0}.recorder-panel p+p{color:var(--muted);font-size:var(--fs-sm);margin-top:.3rem}.recording-guard{border-radius:var(--radius-lg);background:var(--warning-soft);color:var(--warning);margin-bottom:var(--space-4);padding:var(--space-4);border:1px solid #e3b77a33}.recording-guard h3{color:var(--warning);font-size:var(--fs-md);margin:0;font-weight:600}.recording-guard p{color:var(--ink-dim);font-size:var(--fs-sm);margin:.3rem 0 0}.recording-dot{border-radius:var(--radius-pill);background:var(--muted-soft);width:.85rem;height:.85rem;transition:background var(--dur-3) var(--ease-out);flex-shrink:0;box-shadow:0 0 0 5px #9aa49f14}.recording-dot.active{background:var(--danger);animation:dot-pulse 1.8s var(--ease-in-out) infinite;box-shadow:0 0 0 5px #d789741f}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 5px #d789741f}50%{box-shadow:0 0 0 9px #d789740a}}.route-panel.active:has(.recording-dot.active) .card:not(:has(.recording-dot.active)){opacity:.55;transition:opacity var(--dur-4) var(--ease-out)}audio{width:100%;margin-top:var(--space-3);filter:invert(.85)hue-rotate(180deg)contrast(.9);border-radius:var(--radius-md)}.recording-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.task-card{justify-content:space-between;gap:var(--space-4);display:flex}.task-card h3{font-size:var(--fs-md);font-weight:600}.task-side{flex-direction:column;justify-content:center;align-items:end}.queue-list{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-list{gap:var(--space-3);color:var(--ink-dim);line-height:var(--lh-normal);margin:0;padding-left:1.25rem;display:grid}.practice-list li::marker{color:var(--accent)}.response-list{color:var(--ink-dim);gap:.5rem;margin:.75rem 0;padding-left:1.25rem;display:grid}.response-list li::marker{color:var(--info)}.flashcard-list{grid-template-columns:repeat(2,minmax(0,1fr))}.flashcard{background:linear-gradient(180deg, #e6b2670a, transparent 70%), var(--bg-2)}.status-line{margin:var(--space-4) 0 0;color:var(--muted);font-size:var(--fs-sm)}.ethics-box{margin-top:var(--space-4);background:linear-gradient(180deg, #6fb3a60a, transparent 70%), var(--bg-2);border-color:var(--line)}.ethics-box h3{font-size:var(--fs-md);margin:0;font-weight:600}.exam-hero{justify-content:space-between;gap:var(--space-4);border-radius:var(--radius-xl);background:radial-gradient(400px 200px at 100% 0%, #e6b2670f, transparent 60%), var(--bg-2);border:1px solid var(--line);margin-bottom:var(--space-4);padding:var(--space-5);align-items:center;display:flex}.exam-hero h3{font-size:var(--fs-lg);margin:0;font-weight:600}.exam-hero strong{color:var(--accent)}.exam-hero p{color:var(--muted);font-size:var(--fs-sm);margin:.35rem 0 0}.exam-list,.exam-options{gap:var(--space-3);display:grid}.exam-question{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-2);padding:var(--space-4)}.exam-option{border-radius:var(--radius-md);background:var(--bg-3);border:1px solid var(--line-soft);cursor:pointer;transition:background var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);color:var(--ink-dim);line-height:var(--lh-normal);align-items:flex-start;gap:.65rem;padding:.8rem 1rem;display:flex}.exam-option:hover{background:var(--bg-4);border-color:var(--line-strong)}.exam-option input{width:auto;margin-top:.2rem}.exam-feedback,.exam-result{border-radius:var(--radius-md);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--line)}.exam-feedback.correct{background:var(--success-soft);animation:pop-in .4s var(--ease-out) both;border-color:#7fc29b2e}.exam-feedback.wrong{background:var(--warning-soft);border-color:#e3b77a2e}@keyframes pop-in{0%{opacity:0;transform:scale(.98)}60%{opacity:1;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}.exam-feedback p,.exam-result p{color:var(--ink-dim);line-height:var(--lh-normal);margin:.4rem 0 0}.exam-feedback span{color:var(--muted);font-size:var(--fs-sm);margin-top:.5rem;display:block}.exam-feedback.correct>strong{color:var(--success)}.exam-feedback.wrong>strong{color:var(--warning)}.exam-submit-row{justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.exam-result{background:linear-gradient(180deg, #e6b2670f, transparent 70%), var(--bg-2);border-color:var(--accent-ring)}.voice-message{border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--line)}.voice-message.user{background:var(--bg-3)}.voice-message.assistant{background:linear-gradient(180deg, #6fb3a60a, transparent 70%), var(--bg-2);border-color:#6fb3a629}.voice-message p{color:var(--ink);line-height:var(--lh-normal);margin:.4rem 0 0}.voice-message-meta{justify-content:space-between;gap:var(--space-3);color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;display:flex}.voice-message-meta span{color:var(--info);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.voice-message.user .voice-message-meta span{color:var(--accent)}.floating-voice{right:var(--space-4);bottom:var(--space-4);z-index:40;justify-items:end;gap:var(--space-3);display:grid;position:fixed}.floating-voice-btn{border-radius:var(--radius-pill);background:radial-gradient(circle at 30% 25%, #ffe8be73, transparent 42%), linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#23180a;cursor:pointer;min-width:3.8rem;min-height:3.8rem;font-weight:700;font-size:var(--fs-sm);letter-spacing:.01em;transition:transform var(--dur-2) var(--ease-out);border:none;box-shadow:inset 0 1px #fff3,0 14px 30px #0006}.floating-voice-btn:hover{transform:translateY(-1px)}.floating-voice-btn:active{transform:scale(.97)}.floating-voice-btn.listening{animation:listen-pulse 1.2s var(--ease-in-out) infinite;background:radial-gradient(circle at 30% 25%, #ffc8b966, transparent 42%), linear-gradient(135deg, var(--danger) 0%, var(--accent-strong) 100%)}@keyframes listen-pulse{0%,to{box-shadow:inset 0 1px #fff3,0 14px 30px #d7897440,0 0 #d789744d}50%{box-shadow:inset 0 1px #fff3,0 14px 30px #d7897440,0 0 0 16px #d7897400}}.floating-voice-panel{border:1px solid var(--line-strong);border-radius:var(--radius-xl);background:var(--bg-1);width:min(24rem,100vw - 2rem);box-shadow:var(--shadow-3);padding:var(--space-4);transform-origin:100% 100%;animation:panel-in .2s var(--ease-out) both}@keyframes panel-in{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.floating-voice-header,.floating-actions{justify-content:space-between;gap:var(--space-3);align-items:center;display:flex}.floating-voice-header h3{font-size:var(--fs-md);margin:0;font-weight:600}.floating-voice-panel p{margin:0}.floating-close{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--bg-3);color:var(--ink-dim);cursor:pointer;width:2rem;height:2rem;transition:background var(--dur-2) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.floating-close:hover{background:var(--bg-4)}.floating-voice-panel textarea{min-height:5.5rem;margin:var(--space-3) 0}.floating-chat-log{margin-top:var(--space-3);max-height:16rem;padding-right:.2rem;overflow:auto}.floating-chat-log .voice-message{font-size:var(--fs-sm);padding:var(--space-3)}.floating-empty{border-radius:var(--radius-md);background:var(--bg-3);color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal);padding:var(--space-4);border:1px dashed var(--line-soft)}.mobile-dashboard,.bottom-nav{display:none}.weak-concepts-card{border-radius:var(--radius-lg);background:linear-gradient(180deg, #e3b77a0a, transparent 70%), var(--bg-2);padding:var(--space-4);border:1px solid #e3b77a2e}.weak-list{gap:var(--space-2);margin-top:var(--space-3);display:grid}.weak-item{align-items:flex-start;gap:var(--space-3);background:var(--bg-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:.7rem .85rem;display:flex}.weak-item p{font-size:var(--fs-sm);color:var(--ink-dim);line-height:var(--lh-snug);margin:0}.weak-item small{font-size:var(--fs-xs);color:var(--muted);margin-top:.2rem;display:block}.weak-count{border-radius:var(--radius-pill);color:var(--warning);font-weight:700;font-size:var(--fs-xs);text-align:center;font-variant-numeric:tabular-nums;background:#e3b77a24;border:1px solid #e3b77a2e;flex-shrink:0;min-width:2rem;padding:.22rem .5rem}.spaced-review-list{gap:var(--space-3);display:grid}.spaced-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-2);padding:var(--space-4)}.spaced-card h3{font-size:var(--fs-md);color:var(--ink);margin:.3rem 0 .6rem;font-weight:600}.spaced-answer{border-radius:var(--radius-sm);background:var(--bg-3);border:1px solid var(--line-soft);margin-bottom:var(--space-3);cursor:pointer;padding:.7rem .85rem}.spaced-answer summary{color:var(--info);font-weight:600;font-size:var(--fs-sm);cursor:pointer;list-style:none}.spaced-answer summary:before{content:"▸ ";transition:transform var(--dur-2) var(--ease-out);color:var(--muted);display:inline-block}.spaced-answer[open] summary:before{transform:rotate(90deg)}.spaced-answer p{color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:.5rem 0 0}.spaced-grade-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.spaced-grade-row span{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-right:.2rem}.grade-btn{border:1px solid var(--line);border-radius:var(--radius-pill);font-weight:500;font-size:var(--fs-xs);cursor:pointer;min-height:34px;transition:transform var(--dur-1) var(--ease-out), background var(--dur-2) var(--ease-out);background:var(--bg-3);color:var(--ink-dim);padding:.4rem .85rem}.grade-btn:active{transform:scale(.95)}.grade-btn.fail{background:var(--warning-soft);color:var(--warning);border-color:#e3b77a38}.grade-btn.hard{background:var(--warning-soft);color:var(--warning);opacity:.9;border-color:#e3b77a2e}.grade-btn.good{background:var(--info-soft);color:var(--info);border-color:#6fb3a638}.grade-btn.easy{background:var(--success-soft);color:var(--success);border-color:#7fc29b38}.live-transcript-box{border-radius:var(--radius-lg);background:var(--bg-3);border:1px solid var(--line-soft);padding:var(--space-4);margin-bottom:var(--space-4);max-height:220px;overflow-y:auto}.live-transcript-box p{color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-loose);margin:.35rem 0 0}.outlook-status-bar{margin-bottom:var(--space-5)}.outlook-account-row{align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.outlook-badge{color:var(--info);border-radius:var(--radius-pill);font-size:var(--fs-sm);background:#6fb3a61f;border:1px solid #6fb3a633;padding:.3rem .8rem;font-weight:500}.outlook-signout-btn{color:var(--danger);border-radius:var(--radius-pill);font-size:var(--fs-sm);cursor:pointer;min-height:34px;transition:background var(--dur-2) var(--ease-out);background:0 0;border:1px solid #d7897440;padding:.3rem .8rem;font-weight:500}.outlook-signout-btn:hover{background:var(--danger-soft)}.outlook-connect-area{gap:var(--space-4);margin-top:var(--space-3);flex-direction:column;display:flex}.outlook-explainer{background:var(--bg-3);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.outlook-explainer ul{color:var(--ink-dim);margin:.5rem 0 0;padding-left:1.25rem}.outlook-explainer li{color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-normal);margin-bottom:.35rem}.outlook-connect-btn{background:var(--info);color:#08201c;align-self:flex-start}.outlook-connect-btn:hover{background:var(--info-strong)}.outlook-hint{color:var(--muted);font-size:var(--fs-sm);margin:0}.outlook-filter-row{margin:var(--space-4) 0 var(--space-3);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.outlook-filter-row>span{font-size:var(--fs-sm);color:var(--muted)}.outlook-count{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.outlook-email-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);background:var(--bg-2);margin-bottom:var(--space-3);transition:border-color var(--dur-2) var(--ease-out)}.outlook-email-card:hover{border-color:var(--line-strong)}.outlook-email-header{margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.outlook-email-header h3{font-size:var(--fs-md);width:100%;margin:.3rem 0 .1rem;font-weight:600}.outlook-email-header small{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.02em}.outlook-preview{color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:var(--space-2) 0 var(--space-3);white-space:pre-wrap}.outlook-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.outlook-actions .secondary-btn{font-size:var(--fs-xs);min-height:32px;padding:.38rem .8rem}.outlook-type-tarea{color:var(--warning);background:#e3b77a1f;border-color:#e3b77a33}.outlook-type-clase{color:var(--info);background:#6fb3a61f;border-color:#6fb3a633}.outlook-type-examen{color:var(--danger);background:#d789741f;border-color:#d7897433}.outlook-type-material{background:var(--bg-3);color:var(--muted);border-color:var(--line-soft)}.outlook-setup-note{margin-top:var(--space-6);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5)}.outlook-setup-note p{font-size:var(--fs-sm);color:var(--ink-dim);margin:.5rem 0 .25rem}.outlook-setup-note ol{font-size:var(--fs-sm);color:var(--ink-dim);margin:.3rem 0 0;padding-left:1.25rem}.outlook-setup-note li{line-height:var(--lh-normal);margin-bottom:.4rem}.outlook-setup-note ul{margin:.3rem 0;padding-left:1.25rem}.outlook-setup-note code{background:var(--bg-3);color:var(--accent);border-radius:var(--radius-xs);font-family:var(--font-numeric);border:1px solid var(--line-soft);padding:.1rem .35rem;font-size:.82em}.email-intel-tabs{margin:var(--space-4) 0;padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;gap:.35rem;display:flex;overflow-x:auto}.email-intel-tab{border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--fs-sm);cursor:pointer;color:var(--muted);white-space:nowrap;min-height:32px;transition:background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:0 0;padding:.4rem .9rem;font-weight:500}.email-intel-tab:hover{color:var(--ink-dim);background:var(--bg-2)}.email-intel-tab.active{background:var(--ink);color:var(--bg-0);border-color:var(--ink);font-weight:600}.email-intel-stats{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));display:grid}.email-stat-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);text-align:center}.email-stat-card strong{font-size:var(--fs-xl);color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.015em;font-weight:650;display:block}.email-stat-card span{font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.email-intel-sync-info{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}.email-intel-sync-info p{font-size:var(--fs-sm);color:var(--ink-dim);margin:.25rem 0}.email-sync-log{margin-top:var(--space-4)}.email-sync-log-entries{background:var(--bg-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:var(--space-3);max-height:220px;font-family:var(--font-numeric);font-size:var(--fs-xs);overflow-y:auto}.log-entry{gap:var(--space-3);border-bottom:1px solid var(--line-soft);padding:.25rem 0;display:flex}.log-entry:last-child{border-bottom:none}.log-time{color:var(--muted);min-width:72px}.log-info .log-msg{color:var(--ink-dim)}.log-success .log-msg{color:var(--success)}.log-warn .log-msg{color:var(--warning)}.log-error .log-msg{color:var(--danger)}.email-intel-item{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);background:var(--bg-2);margin-bottom:var(--space-3)}.email-intel-item.status-requires_review{background:linear-gradient(180deg, #e3b77a0d, transparent 70%), var(--bg-2);border-color:#e3b77a3d}.email-intel-item.status-error{background:linear-gradient(180deg, #d789740d, transparent 70%), var(--bg-2);border-color:#d7897438}.email-intel-item-header{margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.confidence-pill{background:var(--bg-3);color:var(--muted);font-size:var(--fs-xs);border-radius:var(--radius-pill);border:1px solid var(--line-soft);padding:.2rem .55rem;font-weight:500}.review-pill{color:var(--warning);font-size:var(--fs-xs);border-radius:var(--radius-pill);background:#e3b77a24;border:1px solid #e3b77a33;padding:.2rem .55rem;font-weight:500}.unread-pill{color:var(--info);font-size:var(--fs-xs);border-radius:var(--radius-pill);background:#6fb3a624;border:1px solid #6fb3a638;padding:.2rem .55rem;font-weight:600}.date-pill{background:var(--bg-3);color:var(--ink-dim);font-size:var(--fs-xs);border-radius:var(--radius-pill);border:1px solid var(--line-soft);font-variant-numeric:tabular-nums;padding:.2rem .55rem}.status-pill-processed{background:var(--success-soft);color:var(--success);border:1px solid #7fc29b38}.status-pill-requires_review{background:var(--warning-soft);color:var(--warning);border:1px solid #e3b77a38}.status-pill-error{background:var(--danger-soft);color:var(--danger);border:1px solid #d7897438}.status-pill-ignored{background:var(--bg-3);color:var(--muted);border:1px solid var(--line-soft)}.importance-pill-high{background:var(--danger-soft);color:var(--danger);border:1px solid #d7897438}.importance-pill-medium{background:var(--warning-soft);color:var(--warning);border:1px solid #e3b77a38}.importance-pill-low{background:var(--bg-3);color:var(--muted);border:1px solid var(--line-soft)}.trigger-pill-manual{background:var(--info-soft);color:var(--info);border:1px solid #6fb3a638}.trigger-pill-scheduled-morning{color:var(--accent);background:#e6b2671a;border:1px solid #e6b26733}.trigger-pill-scheduled-evening{background:var(--info-soft);color:var(--info);border:1px solid #6fb3a633}.notice-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);background:var(--bg-2);margin-bottom:var(--space-3)}.notice-card.unread{border-left:3px solid var(--info);padding-left:calc(var(--space-5) - 2px)}.notice-card.importance-high{background:linear-gradient(180deg, #d789740a, transparent 70%), var(--bg-2)}.linked-task-info{margin-top:var(--space-3);padding:var(--space-3);background:var(--bg-3);border:1px solid var(--line-soft);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--ink-dim)}.linked-task-info p{margin:.15rem 0}.linked-note{color:var(--muted);font-size:var(--fs-sm);margin-top:.3rem}.document-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);background:var(--bg-2);margin-bottom:var(--space-3)}.sync-history-card{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--bg-2);margin-bottom:var(--space-2)}.sync-stats-row{gap:var(--space-3);font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.sync-errors{color:var(--danger);font-size:var(--fs-xs);margin:.4rem 0 0;padding-left:1.25rem}.email-intel-settings{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.email-intel-settings .input-label{font-size:var(--fs-sm);color:var(--ink-dim);flex-direction:column;gap:.3rem;margin:0;display:flex}.email-intel-settings .input-label input{border-radius:var(--radius-sm);max-width:240px;font-size:var(--fs-sm);padding:.55rem .8rem}.schedule-import{margin-top:var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.schedule-import .upload-field{font-size:var(--fs-sm);color:var(--ink-dim);flex-direction:column;gap:.4rem;display:flex}.schedule-import .upload-field input[type=file]{padding:.4rem}.external-warning{background:var(--warning-soft);color:var(--warning);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--fs-sm);line-height:var(--lh-snug);border:1px solid #e3b77a4d;align-items:flex-start;gap:.5rem;padding:.75rem .95rem;display:flex}.external-warning:before{content:"";background:var(--warning);opacity:.6;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:2px;box-shadow:0 0 0 3px #e3b77a1f}.bitacora-row{align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--line-soft);flex-wrap:wrap;display:flex}.api-keys-form{gap:var(--space-4);margin-top:var(--space-3);flex-direction:column;display:flex}.api-key-status{gap:var(--space-2);font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;align-items:center;display:flex}.api-keys-fields{gap:var(--space-4);flex-direction:column;display:flex}.api-keys-fields fieldset{border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4) var(--space-4);gap:var(--space-3);background:var(--bg-2);flex-direction:column;display:flex}.api-keys-fields legend{font-size:var(--fs-sm);color:var(--accent);letter-spacing:.02em;padding:0 .5rem;font-weight:600}.api-keys-fields label{font-size:var(--fs-sm);color:var(--ink-dim);flex-direction:column;gap:.3rem;display:flex}.api-keys-fields input{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--bg-3);color:var(--ink);font-size:var(--fs-sm);font-family:var(--font-numeric);padding:.6rem .8rem}.api-keys-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.security-note{background:var(--bg-2);border:1px solid var(--line);border-left:3px solid var(--info);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--ink-dim)}.security-note strong{color:var(--ink);margin-bottom:.35rem;font-weight:600;display:block}.security-note ul{line-height:var(--lh-normal);color:var(--muted);margin:0;padding-left:1.2rem}.security-note code{background:var(--bg-3);color:var(--accent);border-radius:var(--radius-xs);font-size:.86em;font-family:var(--font-numeric);border:1px solid var(--line-soft);padding:.1rem .35rem}.skeleton{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--bg-3) 0%, var(--bg-4) 50%, var(--bg-3) 100%);background-size:200% 100%;height:.95rem;animation:1.6s linear infinite shimmer;display:block}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=980px){.hero-panel,.workspace-grid,.subject-grid,.queue-list,.flashcard-list,.milestone-grid,.plan-grid,.flow-card,.route-grid{grid-template-columns:1fr}.section-heading,.task-card,.schedule-card{grid-template-columns:1fr;display:grid}.task-options{grid-template-columns:1fr}.task-side{align-items:start}.exam-hero{display:grid}.floating-voice{bottom:var(--space-3);right:var(--space-3)}.floating-voice-btn{min-width:3.5rem;min-height:3.5rem}}@media (width<=640px){.app-root{padding-top:env(safe-area-inset-top,0px)}.shell{gap:var(--space-4);padding:0;padding-bottom:calc(72px + env(safe-area-inset-bottom,0px));flex:1}.ai-toggle-bar{border-radius:var(--radius-md);margin:.6rem .85rem 0}.hero-panel,.app-nav{display:none!important}.mobile-dashboard{gap:var(--space-4);padding:var(--space-4);flex-direction:column;display:none}.mobile-dashboard.visible{display:flex}.mobile-header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:.25rem 0 .5rem;display:flex}.mobile-app-title{font-size:var(--fs-xl);color:var(--ink);letter-spacing:-.02em;margin:0;font-weight:650;line-height:1.1}.mobile-subject-label{font-size:var(--fs-xs);color:var(--accent);text-transform:uppercase;letter-spacing:.12em;margin:.25rem 0 0;font-weight:600}.mobile-upload-btn{border-radius:var(--radius-pill);background:var(--accent);color:#23180a;font-weight:600;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;min-height:40px;transition:transform var(--dur-1) var(--ease-out);border:none;padding:.6rem 1rem;position:relative;overflow:hidden;box-shadow:inset 0 1px #fff3,0 6px 16px #e6b2671f}.mobile-upload-btn:active{transform:scale(.97)}.mobile-upload-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.mobile-metric-list{gap:var(--space-2);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}.mobile-metric{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);background:var(--bg-2);border:1px solid var(--line);flex-direction:column;justify-content:flex-end;gap:.25rem;min-height:80px;display:flex}.mobile-metric strong{font-size:var(--fs-xl);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:650;line-height:1}.mobile-metric span{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.02em}.mobile-metric.tone-gold{border-color:#e6b26738}.mobile-metric.tone-gold strong{color:var(--accent)}.mobile-metric.tone-teal{border-color:#6fb3a638}.mobile-metric.tone-teal strong{color:var(--info)}.mobile-metric.tone-coral{border-color:#d7897438}.mobile-metric.tone-coral strong{color:var(--danger)}.mobile-metric.tone-ink{border-color:var(--line-strong)}.mobile-metric.tone-ink strong{color:var(--ink)}.coach-pill{border-radius:var(--radius-lg);background:radial-gradient(400px 160px at 0% 0%, #6fb3a60f, transparent 60%), var(--bg-2);padding:var(--space-4);border:1px solid var(--line)}.coach-pill p{color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-normal);margin:.3rem 0 0}.secondary-routes{gap:var(--space-2);grid-template-columns:repeat(3,1fr);display:grid}.secondary-route-card{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--bg-2);cursor:pointer;text-align:center;min-height:74px;color:var(--ink);transition:background var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), transform var(--dur-1) var(--ease-out);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.85rem .45rem;display:flex}.secondary-route-card:active{transform:scale(.97)}.secondary-route-card span{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);border-radius:var(--radius-pill);background:#e6b2671a;padding:.18rem .5rem;font-size:.62rem;font-weight:600}.secondary-route-card strong{font-size:var(--fs-sm);color:var(--ink);font-weight:600;line-height:1.2}.card{border-radius:var(--radius-lg);padding:var(--space-4)}.route-panel.active{min-height:calc(100svh - 60px - env(safe-area-inset-bottom,0px));padding:0 .85rem var(--space-6)}.route-toolbar{top:env(safe-area-inset-top,0px);z-index:12;border:1px solid var(--line);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-1);background:#131c1ad1;margin:.65rem 0 1rem;padding:.35rem;position:sticky}.metric-grid{grid-template-columns:1fr}.floating-voice{bottom:calc(76px + env(safe-area-inset-bottom,0px));right:.85rem}.floating-voice-btn{min-width:3.4rem;min-height:3.4rem;font-size:var(--fs-xs)}.bottom-nav{height:calc(62px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(18px);box-shadow:0 -1px 0 var(--line);z-index:50;background:#0e1614e0;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:var(--muted-soft);cursor:pointer;transition:color var(--dur-2) var(--ease-out);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.2rem;min-height:60px;padding:.5rem .25rem;font-family:inherit;display:flex}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item:active{transform:scale(.95)}.bottom-nav-item svg{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px;transition:stroke-width var(--dur-2) var(--ease-out)}.bottom-nav-item.active svg{stroke-width:2.4px}.bnav-label{text-transform:uppercase;letter-spacing:.06em;font-size:.64rem;font-weight:600;line-height:1}}.auth-loading{justify-content:center;align-items:center;gap:var(--space-4);background:var(--bg-0);min-height:100dvh;color:var(--muted);font-size:var(--fs-sm);letter-spacing:.02em;flex-direction:column;display:flex}.auth-loading-dot{background:var(--accent);width:14px;height:14px;box-shadow:0 0 0 0 var(--accent-ring);animation:auth-breathe 1.6s var(--ease-in-out) infinite;border-radius:999px}@keyframes auth-breathe{0%,to{box-shadow:0 0 0 0 var(--accent-ring);transform:scale(1)}50%{transform:scale(1.04);box-shadow:0 0 0 14px #e6b26700}}.login-shell{background:radial-gradient(1200px 600px at 12% -10%, #e6b2670f, transparent 60%), radial-gradient(900px 500px at 90% 110%, #6fb3a60d, transparent 55%), var(--bg-0);isolation:isolate;place-items:center;min-height:100dvh;padding:clamp(1.25rem,4vw,2.5rem);display:grid;position:relative;overflow:hidden}.login-ambient{z-index:-1;pointer-events:none;position:absolute;inset:0}.login-ambient-orb{filter:blur(80px);opacity:.35;animation:login-drift 18s var(--ease-in-out) infinite;border-radius:50%;position:absolute}.login-ambient-orb.a{background:radial-gradient(circle, var(--accent) 0%, transparent 70%);width:340px;height:340px;top:-90px;left:-60px}.login-ambient-orb.b{background:radial-gradient(circle, var(--info) 0%, transparent 70%);width:420px;height:420px;animation-delay:-9s;bottom:-140px;right:-80px}@keyframes login-drift{0%,to{transform:translate(0)}50%{transform:translate(20px,-18px)}}.login-card{background:linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%);border:1px solid var(--line);border-radius:var(--radius-2xl);width:min(420px,100%);animation:login-rise .52s var(--ease-out) both;padding:clamp(1.75rem,4vw,2.5rem);box-shadow:0 40px 80px -30px #0009,inset 0 1px #ffffff0a}@keyframes login-rise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-brand{margin-bottom:var(--space-6)}.login-mark{border-radius:var(--radius-lg);background:radial-gradient(circle at 30% 30%, #ffffff1a, transparent 60%), linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);width:48px;height:48px;margin-bottom:var(--space-4);animation:mark-pulse 3.2s var(--ease-in-out) infinite;place-items:center;display:grid;box-shadow:0 8px 24px -8px #e6b26766,inset 0 1px #fff3}.login-mark span{background:var(--bg-0);border-radius:4px;width:14px;height:14px;box-shadow:0 1px 2px #0000004d}@keyframes mark-pulse{0%,to{box-shadow:0 8px 24px -8px #e6b26766,inset 0 1px #fff3}50%{box-shadow:0 8px 32px -6px #e6b2678c,inset 0 1px #fff3}}.login-brand .eyebrow{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.14em;margin:0 0 var(--space-2);font-weight:600}.login-brand h1{letter-spacing:-.02em;margin:0 0 var(--space-3);color:var(--ink);font-size:clamp(1.5rem,2.4vw,1.75rem);font-weight:650;line-height:1.2}.login-sub{color:var(--muted);font-size:var(--fs-sm);line-height:var(--lh-normal);max-width:36ch;margin:0}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-form .input-label{color:var(--ink-dim);font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.login-form input{background:var(--bg-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);width:100%;color:var(--ink);font-size:var(--fs-base);transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);margin-top:var(--space-2);padding:.85rem 1rem;font-family:inherit}.login-form input::placeholder{color:var(--muted-soft)}.login-form input:hover{border-color:#fff7eb33}.login-form input:focus{background:var(--bg-2);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);outline:none}.login-error{padding:var(--space-3) var(--space-4);background:var(--danger-soft);border:1px solid #d7897447;border-left:3px solid var(--danger);border-radius:var(--radius-sm);color:var(--danger);font-size:var(--fs-sm);line-height:var(--lh-normal);animation:login-rise .26s var(--ease-out) both}.login-submit{margin-top:var(--space-2);font-size:var(--fs-base);letter-spacing:.01em;border-radius:var(--radius-md);padding:.9rem 1rem;font-weight:600}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-footnote{margin:var(--space-6) 0 0;text-align:center;color:var(--muted-soft);font-size:var(--fs-xs);letter-spacing:.02em}.session-panel{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.session-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.session-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.session-email{color:var(--ink);font-size:var(--fs-base);word-break:break-all;font-weight:600}.session-expiry{color:var(--muted);font-size:var(--fs-xs);margin-top:var(--space-1)}.session-logout{flex-shrink:0}.ai-status-toolbar{align-items:center;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4);flex-wrap:wrap;display:flex}.ai-status-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.ai-status-card{padding:var(--space-5);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);gap:var(--space-4);animation:route-in .32s var(--ease-out) both;flex-direction:column;display:flex;box-shadow:inset 0 1px #ffffff05}.ai-status-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.ai-status-head .eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 var(--space-1);font-weight:600}.ai-status-head h3{font-family:var(--font-numeric,ui-monospace, monospace);font-size:var(--fs-sm);color:var(--ink);letter-spacing:-.01em;margin:0;font-weight:500}.ai-status-metrics{gap:var(--space-3) var(--space-4);padding:var(--space-4);background:var(--bg-1);border-radius:var(--radius-md);border:1px solid var(--line-soft);grid-template-columns:repeat(2,1fr);margin:0;display:grid}.ai-status-metrics>div{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.ai-status-metrics dt{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}.ai-status-metrics dd{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:600;font-size:var(--fs-base);margin:0}.ai-status-metrics .ai-cost{color:var(--accent);font-size:var(--fs-xl);font-family:var(--font-numeric,inherit);letter-spacing:-.01em}.ai-status-whisper{padding-top:var(--space-2);border-top:1px dashed var(--line-soft);grid-column:1/-1}.ai-sub{color:var(--muted);margin-left:var(--space-2);font-weight:400;font-size:var(--fs-sm)}.ai-pricing{font-size:var(--fs-xs);color:var(--muted);line-height:var(--lh-normal);padding:var(--space-3);background:var(--bg-3);border-left:2px solid var(--info);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0}.ai-pricing strong{color:var(--ink-dim);font-weight:600}.ai-status-footer{gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--line-soft);flex-wrap:wrap;display:flex}.link-btn.subtle{color:var(--muted)}.pill.danger{background:var(--danger-soft);color:var(--danger);border:1px solid #d7897447}.urgent-feed{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-xl);padding:var(--space-4);margin:var(--space-4) 0;gap:var(--space-3);flex-direction:column;display:flex}.urgent-feed-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.urgent-feed-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.urgent-feed-item{gap:var(--space-3);padding:var(--space-3);background:var(--bg-1);border:1px solid var(--line-soft);border-radius:var(--radius-md);transition:background var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);grid-template-columns:auto 1fr auto;align-items:start;display:grid}.urgent-feed-item.kind-aviso{border-left:3px solid var(--info)}.urgent-feed-item.kind-evento{border-left:3px solid var(--accent)}.urgent-feed-item.kind-tarea{border-left:3px solid var(--warning)}@media (hover:hover) and (pointer:fine){.urgent-feed-item:hover{background:var(--bg-3);transform:translateY(-1px)}}.urgent-icon{padding-top:2px;font-size:1.4rem;line-height:1}.urgent-body{flex-direction:column;gap:2px;min-width:0;display:flex}.urgent-body strong{color:var(--ink);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;font-weight:600;line-height:1.3;overflow:hidden}.urgent-extra{color:var(--ink-dim);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.urgent-meta{color:var(--muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.urgent-when{color:var(--ink-dim);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;padding-top:2px}.recordings-library{gap:var(--space-5);flex-direction:column;display:flex}.recording-subject-group{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4)}.recording-subject-head{padding-bottom:var(--space-3);border-bottom:1px solid var(--line-soft);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.recording-subject-head h3{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:650}.recording-list{gap:var(--space-3);counter-reset:recitem;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.recording-entry{counter-increment:recitem;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--radius-md);padding:var(--space-3);padding-left:calc(var(--space-3) + 32px);position:relative}.recording-entry:before{content:counter(recitem, decimal-leading-zero);left:var(--space-3);top:var(--space-3);font-family:var(--font-numeric,monospace);color:var(--muted);font-size:var(--fs-xs);font-weight:600;position:absolute}.recording-entry-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.recording-entry-head h4{font-size:var(--fs-base);color:var(--ink);margin:0 0 2px;font-weight:600}.recording-meta{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.recording-entry audio{width:100%;margin:var(--space-2) 0}.recording-transcript{margin-top:var(--space-2);background:var(--bg-3);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3)}.recording-transcript summary{cursor:pointer;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);padding:var(--space-1) 0;font-weight:600}.recording-transcript p{margin:var(--space-2) 0 0;color:var(--ink-dim);font-size:var(--fs-sm);line-height:var(--lh-loose);white-space:pre-wrap}.exam-range{gap:var(--space-3);margin:var(--space-3) 0 var(--space-4);padding:var(--space-4);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex}.exam-range-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.practice-shortcuts{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px dashed var(--line);gap:var(--space-2);flex-direction:column;display:flex}.permissions-grid{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;display:flex}.permission-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-md);display:flex}.permission-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.permission-head{align-items:center;gap:var(--space-2);display:flex}.permission-head strong{color:var(--ink);font-size:var(--fs-base)}.permission-body p{color:var(--muted);font-size:var(--fs-xs);line-height:var(--lh-normal);margin:0}.pill.warning{background:var(--warning-soft);color:var(--warning);border:1px solid #e3b77a4d}.env-diagnostic{margin:var(--space-3) 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-md)}.env-diagnostic-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.env-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.env-issues{margin:var(--space-3) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.env-issue{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-xs);line-height:var(--lh-normal)}.env-issue.level-error{background:var(--danger-soft);border-left:3px solid var(--danger);color:var(--danger)}.env-issue.level-warn{background:var(--warning-soft);border-left:3px solid var(--warning);color:var(--warning)}.env-issue.level-info{background:var(--info-soft);border-left:3px solid var(--info);color:var(--info)}.permission-hint{padding:var(--space-1) var(--space-2);background:var(--bg-1);border-left:2px solid var(--line-strong);border-radius:0 var(--radius-xs) var(--radius-xs) 0;font-style:italic;margin-top:var(--space-1)!important;color:var(--muted)!important;font-size:calc(var(--fs-xs) * .95)!important}
