@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--bg:#f4f7f3;--paper:#fff;--paper-2:#eaf1eb;--ink:#172e29;--muted:#64766f;--line:#dce6dd;--green:#17473d;--green-2:#246b58;--mint:#9dd9ba;--mint-2:#d7f1df;--gold:#eabf71;--coral:#d97862;--danger:#b83b4b;--shadow:0 18px 54px rgba(21,61,48,.09);--shadow-sm:0 8px 24px rgba(21,61,48,.07);--radius:22px;--radius-sm:13px;--max:1180px;--font:'DM Sans',Inter,ui-sans-serif,system-ui,sans-serif;--display:'Manrope','DM Sans',sans-serif}
[data-theme="dark"]{color-scheme:dark;--bg:#0e1d1a;--paper:#152824;--paper-2:#203832;--ink:#edf5ee;--muted:#a2b6ac;--line:#2d4940;--green:#9ed9b4;--green-2:#b8e7c8;--mint:#b0e4c0;--mint-2:#203e33;--gold:#f0c779;--coral:#f1957c;--danger:#ff8792;--shadow:0 18px 54px rgba(0,0,0,.22);--shadow-sm:0 8px 24px rgba(0,0,0,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.55;transition:background .25s,color .25s}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:radial-gradient(ellipse at 9% 2%,rgba(157,217,186,.19),transparent 38%),radial-gradient(ellipse at 93% 15%,rgba(234,191,113,.15),transparent 33%),radial-gradient(ellipse at 74% 91%,rgba(71,186,162,.11),transparent 34%);background-size:140% 140%;transform:translate3d(0,0,0);will-change:transform,opacity;animation:mesh 24s ease-in-out infinite alternate}@keyframes mesh{from{transform:translate3d(-.7%,-.4%,0) scale(1);opacity:.82}to{transform:translate3d(.7%,.6%,0) scale(1.035);opacity:1}}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}img,svg{max-width:100%}::selection{background:var(--mint);color:#13362d}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.section{padding:82px 0}.section-sm{padding:50px 0}.muted{color:var(--muted)}.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--green-2)}[data-theme="dark"] .eyebrow{color:var(--mint)}.eyebrow::before{content:"";width:20px;height:2px;background:var(--gold);border-radius:9px}.display{font-family:var(--display);letter-spacing:-.055em;font-weight:800;line-height:1.02}.h1{font-size:clamp(2.8rem,6.4vw,5.8rem)}.h2{font-size:clamp(2rem,4vw,3.3rem)}.h3{font-family:var(--display);font-size:1.2rem;letter-spacing:-.03em}.lede{font-size:clamp(1rem,1.5vw,1.22rem);color:var(--muted);max-width:620px;line-height:1.8}.gradient-text{background:linear-gradient(110deg,var(--green-2),#55a88a 55%,#bf8950);background-clip:text;color:transparent}[data-theme="dark"] .gradient-text{background-image:linear-gradient(110deg,#c7f0d2,#8fd9bd,#f0cc8b)}
.topbar{position:sticky;top:0;z-index:40;border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);background:color-mix(in srgb,var(--bg) 84%,transparent);backdrop-filter:blur(18px)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--display);font-weight:800;font-size:1.13rem;letter-spacing:-.04em;white-space:nowrap}.brand img{width:40px;height:40px;border-radius:13px}.brand small{display:block;font-family:var(--font);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:-3px}.nav-links{display:flex;align-items:center;gap:27px;font-size:.91rem;font-weight:600;color:var(--muted)}.nav-links a{transition:color .2s}.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ink)}.nav-actions{display:flex;align-items:center;gap:8px}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%;transition:transform .2s,border-color .2s}.icon-btn:hover{transform:translateY(-2px);border-color:var(--mint)}.menu-toggle{display:none}
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 19px;border:1px solid transparent;border-radius:999px;font-weight:750;font-size:.91rem;letter-spacing:-.01em;isolation:isolate;overflow:hidden;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.985)}.btn-primary{background:var(--green);color:#f9fff9;box-shadow:0 8px 18px rgba(23,71,61,.18)}[data-theme="dark"] .btn-primary{color:#10231e;background:#a9e0bc}.btn-primary:hover{box-shadow:0 11px 26px rgba(23,71,61,.27)}.btn-secondary{background:var(--paper);border-color:var(--line);color:var(--ink)}.btn-secondary:hover{border-color:var(--green-2)}.btn-quiet{color:var(--muted);background:transparent}.btn-sm{min-height:36px;padding:0 14px;font-size:.82rem}.btn-block{width:100%}.btn .spinner{display:none;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.btn.is-loading .spinner{display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);pointer-events:none;transform:scale(0);animation:ripple .55s ease-out}@keyframes ripple{to{transform:scale(3.8);opacity:0}}
.hero{position:relative;overflow:hidden;padding:86px 0 64px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:56px}.hero-copy{position:relative;z-index:1}.hero .lede{margin:27px 0 30px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.social-proof{display:flex;align-items:center;gap:12px;margin-top:29px;font-size:.83rem;color:var(--muted)}.avatar-stack{display:flex;padding-left:5px}.avatar-stack span{display:grid;place-items:center;width:29px;height:29px;border:2px solid var(--bg);border-radius:50%;margin-left:-6px;background:var(--mint-2);color:var(--green);font-weight:800;font-size:.66rem}.hero-art{position:relative;min-height:470px;display:grid;place-items:center}.hero-orbit{position:absolute;width:min(460px,100%);aspect-ratio:1;border:1px solid color-mix(in srgb,var(--green-2) 22%,transparent);border-radius:50%;animation:orbit 36s linear infinite}.hero-orbit::before,.hero-orbit::after{content:"";position:absolute;border:1px solid color-mix(in srgb,var(--green-2) 20%,transparent);border-radius:50%;inset:10%}.hero-orbit::after{inset:22%}@keyframes orbit{to{transform:rotate(360deg)}}.hero-art-mark{width:190px;aspect-ratio:1;display:grid;place-items:center;border-radius:54px;background:linear-gradient(150deg,#1b4d40,#102f2a);box-shadow:0 38px 85px rgba(23,71,61,.25);transform:rotate(-7deg);position:relative;z-index:1}.hero-art-mark img{width:100%;border-radius:54px}.float-card{position:absolute;z-index:3;background:color-mix(in srgb,var(--paper) 90%,transparent);border:1px solid color-mix(in srgb,var(--line) 85%,transparent);border-radius:18px;padding:14px 17px;box-shadow:var(--shadow);backdrop-filter:blur(14px);animation:float 6s ease-in-out infinite}.float-card small{display:block;color:var(--muted);font-size:.72rem}.float-card strong{display:block;font-size:1rem;margin-top:3px}.float-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--mint-2);color:var(--green);margin-right:8px}.float-top{top:12%;right:0}.float-bottom{left:-2%;bottom:17%;animation-delay:-3s}@keyframes float{50%{transform:translateY(-8px)}}.hero-stamp{position:absolute;right:4%;bottom:3%;color:var(--muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-90deg);transform-origin:right}
.trust-strip{display:flex;justify-content:space-between;gap:20px;align-items:center;border-block:1px solid var(--line);padding:21px 0;color:var(--muted);font-size:.84rem}.trust-strip strong{font-family:var(--display);color:var(--ink);font-size:.95rem}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:37px}.section-heading p{max-width:450px;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.feature-card,.glass-card,.panel,.stat-card,.lesson-card{background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid color-mix(in srgb,var(--line) 86%,transparent);border-radius:var(--radius);box-shadow:var(--shadow-sm);backdrop-filter:blur(12px)}.feature-card{padding:26px;min-height:238px;transition:transform .24s,border-color .24s,box-shadow .24s}.feature-card:hover,.lesson-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--green-2) 50%,var(--line));box-shadow:var(--shadow)}.feature-icon{width:47px;height:47px;display:grid;place-items:center;border-radius:15px;background:var(--mint-2);color:var(--green);font-size:1.3rem;margin-bottom:27px}.feature-card p{color:var(--muted);font-size:.93rem;line-height:1.7;margin-bottom:0}.bento{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto auto;gap:17px}.bento-card{padding:30px;min-height:250px;position:relative;overflow:hidden}.bento-card:first-child{grid-row:span 2;background:linear-gradient(145deg,color-mix(in srgb,var(--mint-2) 80%,var(--paper)),var(--paper))}.bento-card p{color:var(--muted);max-width:420px}.bento-art{position:absolute;right:-14px;bottom:-20px;width:235px;opacity:.8}.bento-mini{display:flex;gap:14px;align-items:center}.bento-mini .feature-icon{margin:0;flex-shrink:0}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.step{padding-top:20px;border-top:1px solid var(--line)}.step-number{font-family:var(--display);font-size:2.5rem;color:var(--green-2);font-weight:800;letter-spacing:-.07em}.step p{color:var(--muted);line-height:1.7}.faq-list{max-width:850px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;list-style:none;padding:22px 0;font-weight:750;display:flex;justify-content:space-between;gap:20px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';color:var(--green-2);font-size:1.3rem}.faq-item[open] summary::after{content:'−'}.faq-item p{color:var(--muted);max-width:700px;margin:0 0 23px}.cta-panel{padding:50px;border-radius:30px;background:linear-gradient(130deg,#173f37,#246652);color:#f4fff5;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden}.cta-panel::after{content:"";position:absolute;right:-70px;top:-130px;width:310px;height:310px;border:1px solid rgba(207,242,217,.28);border-radius:50%;box-shadow:0 0 0 35px rgba(207,242,217,.06),0 0 0 75px rgba(207,242,217,.05)}.cta-panel p{color:#c6dfd0;max-width:520px}.cta-panel .btn{background:#c3eccd;color:#163e35;z-index:1}.footer{padding:35px 0;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-links{display:flex;gap:20px;flex-wrap:wrap}
/* App shell */
.app-main{padding:34px 0 70px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:25px}.page-head h1{font-size:clamp(2rem,4vw,3rem);margin:8px 0}.page-head p{color:var(--muted);margin:0}.app-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.panel{padding:22px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.panel-title h2,.panel-title h3{margin:0;font-family:var(--display);letter-spacing:-.03em}.panel-title p{margin:4px 0 0;color:var(--muted);font-size:.86rem}.studio-top{display:grid;grid-template-columns:.85fr 1.15fr;gap:20px;align-items:stretch}.source-switch{display:flex;gap:5px;background:var(--paper-2);padding:5px;border-radius:14px;margin-bottom:16px}.source-switch button{flex:1;border:0;background:transparent;color:var(--muted);border-radius:10px;padding:10px 8px;font-weight:750;font-size:.82rem}.source-switch button[aria-selected="true"]{background:var(--paper);color:var(--ink);box-shadow:0 3px 9px rgba(0,0,0,.05)}.dropzone{display:grid;place-items:center;text-align:center;border:1.5px dashed color-mix(in srgb,var(--green-2) 60%,var(--line));border-radius:18px;min-height:230px;padding:24px;background:color-mix(in srgb,var(--mint-2) 27%,transparent);transition:border-color .2s,background .2s}.dropzone.dragover{border-color:var(--green-2);background:var(--mint-2)}.drop-icon{width:55px;height:55px;border-radius:18px;display:grid;place-items:center;background:var(--mint-2);color:var(--green);font-size:1.55rem;margin-bottom:12px}.dropzone strong{display:block;font-size:1rem}.dropzone p{margin:6px 0 15px;color:var(--muted);font-size:.82rem}.dropzone input{display:none}.source-form{display:grid;gap:12px}.field{display:grid;gap:7px}.field label{font-weight:750;font-size:.84rem}.field input,.field textarea,.field select,.search-input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--paper);color:var(--ink);outline-offset:2px}.field textarea{min-height:150px;resize:vertical}.field small{font-size:.77rem;color:var(--muted)}.hidden{display:none!important}.upload-progress{margin-top:15px}.progress-meta{display:flex;justify-content:space-between;gap:10px;font-size:.8rem;color:var(--muted);margin-bottom:7px}.progress-track{height:8px;background:var(--paper-2);border-radius:20px;overflow:hidden}.progress-bar{width:0;height:100%;background:linear-gradient(90deg,var(--green-2),var(--mint));border-radius:20px;transition:width .35s ease}.job-status{padding:12px 14px;background:var(--paper-2);border-radius:12px;font-size:.84rem;color:var(--muted);display:flex;align-items:center;gap:10px;margin-top:14px}.job-pulse{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px color-mix(in srgb,var(--gold) 20%,transparent)}.job-status.done .job-pulse{background:var(--green-2);box-shadow:0 0 0 5px var(--mint-2)}.job-status.failed .job-pulse{background:var(--danger)}.media-panel{display:flex;flex-direction:column;gap:14px}.media-stage{position:relative;min-height:230px;background:linear-gradient(145deg,#122d28,#234d42);border-radius:17px;overflow:hidden;display:grid;place-items:center;color:#fff}.media-stage video{display:block;width:100%;max-height:360px;background:#10221f}.media-stage audio{width:calc(100% - 36px);margin:40px 18px}.media-empty{text-align:center;padding:30px;color:#c9e6d4}.media-empty .feature-icon{margin:0 auto 12px;background:rgba(210,242,220,.13);color:#c6e8d0}.waveform{width:100%;height:78px;display:block}.media-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.81rem;color:var(--muted)}.tabs-shell{margin-top:22px}.tab-list{display:flex;align-items:center;gap:3px;overflow-x:auto;position:relative;border-bottom:1px solid var(--line);padding-bottom:0;scrollbar-width:thin}.tab-btn{position:relative;border:0;background:transparent;padding:15px 17px;color:var(--muted);font-weight:750;white-space:nowrap}.tab-btn[aria-selected="true"]{color:var(--green-2)}.tab-btn::after{content:"";position:absolute;left:17px;right:17px;bottom:-1px;height:3px;border-radius:5px;background:var(--green-2);transform:scaleX(0);transform-origin:left;transition:transform .24s}.tab-btn[aria-selected="true"]::after{transform:scaleX(1)}.tab-panel{padding:24px 0;min-height:280px}.tab-panel[hidden]{display:none}.tab-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.tab-header h2{margin:0;font-family:var(--display);letter-spacing:-.03em}.transcript-tools{display:flex;gap:8px;flex-wrap:wrap}.search-input{max-width:280px;padding:10px 13px}.transcript-list{display:grid;gap:7px}.transcript-line{display:grid;grid-template-columns:80px 1fr;gap:15px;padding:13px 14px;border:1px solid transparent;border-radius:13px;transition:background .15s,border-color .15s}.transcript-line:hover{background:var(--paper-2);border-color:var(--line)}.timestamp{align-self:start;padding:4px 6px;border-radius:7px;background:var(--mint-2);color:var(--green);font-size:.78rem;font-weight:800;border:0}.transcript-line p{margin:0;font-size:.93rem;line-height:1.72}.summary-length{display:flex;gap:7px;flex-wrap:wrap}.summary-length button{border:1px solid var(--line);border-radius:999px;padding:8px 13px;background:var(--paper);color:var(--muted);font-weight:700;font-size:.81rem}.summary-length button.active{background:var(--mint-2);border-color:var(--mint);color:var(--green)}.summary-text{font-size:.98rem;line-height:1.9;white-space:pre-wrap}.point-list{padding-left:20px}.point-list li{padding:5px 0;color:var(--muted)}.term-list{display:flex;gap:8px;flex-wrap:wrap}.term-chip{border:1px solid var(--line);background:var(--paper);padding:8px 11px;border-radius:10px;font-size:.82rem}.term-chip span{color:var(--muted);margin-left:5px}.quiz-list{display:grid;gap:16px}.quiz-question{padding:18px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--paper) 76%,transparent)}.quiz-question-head{display:flex;justify-content:space-between;align-items:start;gap:13px;margin-bottom:9px}.quiz-question h3{font-size:1rem;margin:0;line-height:1.55}.question-type{display:inline-flex;flex-shrink:0;padding:4px 8px;border-radius:7px;background:var(--paper-2);color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.quiz-options{display:grid;gap:8px;margin-top:14px}.quiz-option{display:flex;align-items:start;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--paper)}.quiz-option:has(input:checked){border-color:var(--green-2);background:var(--mint-2)}.quiz-option input{margin-top:4px;accent-color:var(--green-2)}.quiz-option span{font-size:.91rem}.fill-answer{margin-top:12px}.answer-review{margin-top:11px;padding:11px 12px;border-radius:11px;background:var(--paper-2);font-size:.84rem;color:var(--muted)}.score-result{padding:18px;border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.score-number{font-family:var(--display);font-weight:800;font-size:2rem;color:var(--green-2)}.flashcard{border:1px solid var(--line);border-radius:23px;min-height:260px;padding:28px;display:grid;place-items:center;text-align:center;background:linear-gradient(145deg,var(--paper),var(--paper-2));cursor:pointer;transition:transform .2s;max-width:720px;margin:0 auto}.flashcard:hover{transform:translateY(-3px)}.flashcard .muted{font-size:.77rem;text-transform:uppercase;letter-spacing:.13em}.flashcard-text{font-family:var(--display);font-size:clamp(1.2rem,3vw,1.75rem);font-weight:750;max-width:580px;line-height:1.4}.flashcard-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:15px}.chat-thread{display:grid;gap:14px;max-width:850px}.chat-message{max-width:88%;padding:14px 17px;border-radius:16px;white-space:pre-wrap;line-height:1.75}.chat-message.user{margin-left:auto;background:var(--green);color:#f7fff8;border-bottom-right-radius:5px}.chat-message.assistant{background:var(--paper-2);border-bottom-left-radius:5px}.citation-list{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.citation-chip{border:1px solid var(--line);background:var(--paper);color:var(--green-2);border-radius:8px;padding:5px 8px;font-size:.76rem;font-weight:800}.chat-form{display:flex;gap:10px;margin-top:17px}.chat-form input{flex:1;min-width:0}.kbd{font-size:.72rem;border:1px solid var(--line);padding:2px 5px;border-radius:5px;color:var(--muted)}
/* Library & progress */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:21px}.stat-card{padding:19px}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.81rem}.stat-value{font-family:var(--display);font-weight:800;font-size:2.1rem;letter-spacing:-.06em;margin-top:9px}.stat-note{font-size:.76rem;color:var(--muted)}.study-session-panel{margin-bottom:20px}.study-session-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.session-clock{font-variant-numeric:tabular-nums;font-family:var(--display);font-size:clamp(1.8rem,4vw,2.7rem);font-weight:800;letter-spacing:.04em;color:var(--green-2)}.library-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px}.library-toolbar .search-input{max-width:340px}.filter-select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:11px;padding:10px 13px}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.lesson-card{padding:18px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,border-color .2s}.lesson-card-top{display:flex;justify-content:space-between;align-items:start;gap:10px}.lesson-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--mint-2);color:var(--green);font-size:1.12rem}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:800;border:1px solid var(--line);border-radius:999px;padding:5px 8px;color:var(--muted)}.status-pill::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold)}.status-pill.ready::before{background:var(--green-2)}.lesson-card h3{font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:1.03rem;overflow-wrap:anywhere}.lesson-card p{font-size:.82rem;color:var(--muted);line-height:1.65;margin:0}.lesson-card-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:7px}.lesson-card-footer .muted{font-size:.75rem}.dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:17px;margin-top:20px}.chart-wrap{min-height:240px}.chart-wrap svg{display:block;width:100%;height:auto;overflow:visible}.chart-legend{display:flex;align-items:center;gap:7px;font-size:.77rem;color:var(--muted)}.chart-legend::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green-2)}.activity-list{display:grid;gap:12px}.activity-row{display:flex;align-items:start;gap:11px;font-size:.84rem}.activity-dot{width:9px;height:9px;border-radius:50%;background:var(--mint);margin-top:6px;flex-shrink:0}.activity-row small{display:block;color:var(--muted);margin-top:2px}.empty-state{padding:42px 20px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:18px}.empty-state .feature-icon{margin-inline:auto}.skeleton{background:linear-gradient(90deg,var(--paper-2),var(--paper),var(--paper-2));background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite;border-radius:12px}@keyframes skeleton{to{background-position:-200% 0}}
.toast-region{position:fixed;right:20px;bottom:20px;z-index:100;display:grid;gap:9px;width:min(370px,calc(100vw - 40px))}.toast{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--green-2);box-shadow:var(--shadow);border-radius:12px;padding:14px 16px;animation:toast-in .22s ease-out}.toast.error{border-left-color:var(--danger)}.toast strong{display:block;font-size:.88rem}.toast p{margin:3px 0 0;color:var(--muted);font-size:.82rem}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}dialog{border:1px solid var(--line);border-radius:22px;padding:0;width:min(470px,calc(100% - 28px));background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.24);max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(6,24,19,.48);backdrop-filter:blur(8px)}.modal-inner{padding:27px}.modal-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.modal-head h2{font-family:var(--display);margin:0;letter-spacing:-.04em}.modal-close{border:0;background:var(--paper-2);color:var(--ink);width:34px;height:34px;border-radius:50%;font-size:1.2rem}.modal-form{display:grid;gap:14px}.modal-help{font-size:.81rem;color:var(--muted)}.modal-actions{display:flex;justify-content:end;gap:8px;margin-top:20px}.consent-items{display:grid;gap:12px;margin-top:14px}.consent-check{display:flex;align-items:start;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px}.consent-check input{accent-color:var(--green-2);margin-top:4px}.consent-check span{font-size:.9rem}.confetti{position:fixed;inset:0;z-index:90;pointer-events:none}.page-enter{animation:page-enter .45s ease-out both}@keyframes page-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(12px);transition:opacity .55s,transform .55s}.reveal.revealed{opacity:1;transform:translateY(0)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.print-only{display:none}
@media(max-width:1000px){.nav-links{gap:15px}.hero-grid{gap:25px}.hero-art{min-height:390px}.hero-art-mark{width:150px;border-radius:43px}.hero-art-mark img{border-radius:43px}.studio-top{grid-template-columns:1fr 1fr}.lesson-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* Landing page motion: animated entrance, soft ambient bloom and a top progress line. */
.scroll-progress{position:fixed;z-index:120;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--green-2),var(--mint),var(--gold));box-shadow:0 0 14px color-mix(in srgb,var(--green-2) 30%,transparent);pointer-events:none;will-change:transform}
.hero-reveal{opacity:0;animation:hero-reveal .78s cubic-bezier(.2,.72,.22,1) forwards}
.hero-reveal-1{animation-delay:.08s}.hero-reveal-2{animation-delay:.18s}.hero-reveal-3{animation-delay:.3s}.hero-reveal-4{animation-delay:.42s}.hero-reveal-5{animation-delay:.54s}
@keyframes hero-reveal{from{opacity:0;transform:translate3d(0,20px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero-art{transform:translate3d(var(--parallax-x,0px),var(--parallax-y,0px),0);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.hero-art::before,.hero-art::after{content:"";position:absolute;inset:12%;border-radius:50%;pointer-events:none;z-index:0;opacity:.35;background:radial-gradient(circle, color-mix(in srgb,var(--mint) 32%,transparent),transparent 68%);animation:ambient-breathe 7s ease-in-out infinite alternate}
.hero-art::after{inset:20%;opacity:.28;animation-delay:-3.5s;animation-duration:9s;background:radial-gradient(circle, color-mix(in srgb,var(--gold) 23%,transparent),transparent 68%)}
@keyframes ambient-breathe{from{transform:scale(.88);opacity:.18}to{transform:scale(1.08);opacity:.45}}
.hero-art-mark{animation:mark-float 7s ease-in-out infinite;will-change:transform}
@keyframes mark-float{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-10px) rotate(-4deg)}}
.hero-orbit{will-change:transform}.hero-orbit::before{animation:orbit-breathe 5.5s ease-in-out infinite alternate}
@keyframes orbit-breathe{from{transform:scale(.97);opacity:.5}to{transform:scale(1.035);opacity:1}}
.feature-card-tilt{transform-style:preserve-3d;will-change:transform}
.feature-card-tilt:hover{transform:perspective(900px) translateY(-4px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));}
.reveal{transition-delay:var(--reveal-delay,0ms)}
.auth-error{padding:11px 12px;border:1px solid color-mix(in srgb,var(--danger) 30%,var(--line));border-radius:11px;background:color-mix(in srgb,var(--danger) 7%,var(--paper));color:var(--danger);font-size:.84rem;line-height:1.55}
.password-input-wrap{display:flex;position:relative;align-items:center}.password-input-wrap input{padding-right:66px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid var(--line);border-radius:8px;background:var(--paper-2);color:var(--ink);padding:5px 8px;font-size:.75rem;font-weight:750}
.footer-links a[href^="mailto:"]{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--green-2) 35%,transparent);text-underline-offset:3px}.footer-links a:hover{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.hero-reveal{opacity:1;animation:none;transform:none}.hero-art,.hero-art-mark,.hero-orbit,.hero-art::before,.hero-art::after{animation:none!important;transition:none!important;transform:none}.scroll-progress{display:none}.feature-card-tilt:hover{transform:none}}

@media(max-width:760px){.container{width:min(var(--max),calc(100% - 28px))}.nav{height:66px}.nav-links{display:none;position:absolute;left:14px;right:14px;top:70px;padding:15px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;align-items:stretch;gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px;border-radius:9px}.nav-links a:hover{background:var(--paper-2)}.menu-toggle{display:inline-grid}.nav-actions .btn{display:none}.brand img{width:35px;height:35px}.hero{padding:58px 0 44px}.hero-grid{grid-template-columns:1fr;gap:10px}.hero-art{min-height:340px}.hero-orbit{width:320px}.hero-art-mark{width:132px;border-radius:37px}.hero-art-mark img{border-radius:37px}.float-top{right:2%;top:10%}.float-bottom{left:0;bottom:12%}.hero-stamp{right:0}.trust-strip{flex-wrap:wrap;justify-content:center;text-align:center}.trust-strip>*{flex:1 1 120px}.section{padding:58px 0}.section-heading{display:block}.section-heading p{margin-top:15px}.feature-grid{grid-template-columns:1fr}.feature-card{min-height:0}.feature-icon{margin-bottom:18px}.bento{grid-template-columns:1fr}.bento-card:first-child{grid-row:auto;min-height:300px}.steps{grid-template-columns:1fr;gap:16px}.step{padding-top:15px}.cta-panel{padding:32px 24px;display:block}.cta-panel .btn{margin-top:12px}.footer-row{align-items:start;flex-direction:column}.studio-top{grid-template-columns:1fr}.page-head{align-items:start;flex-direction:column}.panel{padding:16px}.tab-btn{padding:13px 12px}.tab-btn::after{left:12px;right:12px}.tab-panel{padding-top:18px}.tab-header{align-items:start;flex-direction:column}.transcript-tools{width:100%}.transcript-tools .search-input{max-width:none;flex:1}.transcript-line{grid-template-columns:65px 1fr;gap:9px;padding:10px 6px}.chat-form{flex-direction:column}.dashboard-grid{grid-template-columns:1fr}.lesson-grid{grid-template-columns:1fr}.library-toolbar{align-items:stretch;flex-direction:column}.library-toolbar .search-input{max-width:none}.library-toolbar .filter-select{width:100%}.stats-grid{gap:9px}.stat-card{padding:14px}.stat-value{font-size:1.7rem}.chart-wrap{min-height:180px}.app-main{padding-top:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}body::before{animation:none}}
@media print{body{background:#fff;color:#172e29}body::before,.topbar,.no-print,.toast-region,dialog{display:none!important}.container{width:100%}.app-main{padding:0}.panel,.stat-card,.lesson-card{box-shadow:none;backdrop-filter:none;break-inside:avoid;border:1px solid #ddd}.print-only{display:block}.dashboard-grid{grid-template-columns:1fr}.lesson-grid{grid-template-columns:repeat(2,1fr)}.page-enter{animation:none}a{color:inherit}}

/* Pointer magnetism is restrained to primary actions and disabled for reduced motion. */
.btn-primary.magnetic-hover:hover{transform:translate3d(var(--mag-x,0px),calc(-2px + var(--mag-y,0px)),0)}
.btn-primary.magnetic-hover:active{transform:translate3d(0,0,0) scale(.985)}

/* Kaiako novelty feature: source-grounded Teach-back Coach */
.teachback-score{margin-bottom:14px}
.teachback-note{color:var(--muted);font-size:.82rem;line-height:1.55;margin:12px 0 20px}
.teachback-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.teachback-card,.teachback-route{border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:18px;min-width:0}
.teachback-card h3,.teachback-route h3{margin:0 0 12px;font-size:1rem}
.teachback-concepts{padding:0;list-style:none;margin:0;display:grid;gap:12px}
.teachback-concepts li{padding:12px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--line)}
.teachback-concept-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.teachback-concepts p{font-size:.84rem;line-height:1.5;margin:8px 0 0;color:var(--muted)}
.teachback-route{margin-top:16px}
.teachback-route ol{list-style:none;counter-reset:route;display:grid;gap:14px;padding:0;margin:16px 0 0}
.teachback-route li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start}
.teachback-route li>div{min-width:0}
.teachback-route li strong{display:block;margin:2px 0 4px}
.teachback-route li p{margin:0 0 8px;font-size:.9rem}
.teachback-route blockquote{margin:0;padding:10px 12px;border-left:3px solid var(--green-2);background:var(--surface-soft);border-radius:0 8px 8px 0;color:var(--muted);font-size:.82rem;line-height:1.5}
@media(max-width:720px){.teachback-columns{grid-template-columns:1fr}.teachback-card,.teachback-route{padding:14px}.teachback-route li{grid-template-columns:1fr}}

/* Personalised revision route */
.revision-route-panel{margin:20px 0}
.revision-route-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.revision-route-item{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface);min-width:0}
.revision-route-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--surface-soft);color:var(--green-2);font-size:1.15rem}
.revision-route-item h3{font-size:.94rem;line-height:1.35;margin:0 0 5px}
.revision-route-item p{font-size:.82rem;color:var(--muted);line-height:1.5;margin:0 0 10px}
.revision-route-item small{font-size:.74rem;color:var(--muted);display:block;margin-bottom:10px}
.revision-route-item .btn{justify-self:start}
@media(max-width:720px){.revision-route-list{grid-template-columns:1fr}}


/* Email delivery setup/status panel */
.email-setup-panel{margin:18px 0;display:grid;gap:12px}.email-setup-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.email-setup-panel #email-setup-badge[data-state="ready"]{color:var(--green);border-color:var(--green-2)}.email-setup-panel #email-setup-badge[data-state="off"]{color:var(--muted);border-color:var(--line)}.email-setup-panel #email-setup-badge[data-state="error"]{color:#a84b38;border-color:#dba89f}

.email-test-recipient{max-width:420px;margin:0 0 12px}.email-test-recipient input{width:100%}

/* Persistent, accessible email result status (provider acceptance != inbox delivery). */
.email-delivery-status{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:var(--paper-2);transition:border-color .2s,background .2s;overflow-wrap:anywhere}
.email-delivery-status-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--paper);color:var(--muted);font-weight:800;font-size:1.05rem}
.email-delivery-status-copy{min-width:0}.email-delivery-status-copy strong{display:block;font-size:.9rem;color:var(--ink)}.email-delivery-status-copy p{margin:3px 0 0;font-size:.84rem;line-height:1.55;color:var(--muted)}.email-delivery-status-copy small{display:block;margin-top:6px;font-size:.74rem;line-height:1.5;color:var(--muted)}
.email-delivery-status[data-state="sending"]{border-color:var(--gold)}.email-delivery-status[data-state="sending"] .email-delivery-status-icon{color:var(--green-2);animation:email-status-pulse 1.1s ease-in-out infinite}
.email-delivery-status[data-state="success"]{border-color:color-mix(in srgb,var(--green-2) 55%,var(--line));background:color-mix(in srgb,var(--mint-2) 72%,var(--paper))}.email-delivery-status[data-state="success"] .email-delivery-status-icon{background:var(--green-2);color:#fff}
.email-delivery-status[data-state="error"]{border-color:color-mix(in srgb,var(--danger) 60%,var(--line));background:color-mix(in srgb,var(--danger) 6%,var(--paper))}.email-delivery-status[data-state="error"] .email-delivery-status-icon{color:var(--danger);border:1px solid currentColor}
.email-delivery-status[data-state="unknown"]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--paper))}.email-delivery-status[data-state="unknown"] .email-delivery-status-icon{color:#946618;border:1px solid currentColor}
@keyframes email-status-pulse{50%{opacity:.55;transform:scale(.96)}}
@media(prefers-reduced-motion:reduce){.email-delivery-status,.email-delivery-status-icon{animation:none!important;transition:none!important}}



/* Futuristic interaction layer: subtle light sweep, gradient edge and motion-safe card lift. */
.btn-primary{isolation:isolate;box-shadow:0 8px 20px rgba(23,71,61,.18),0 0 0 1px color-mix(in srgb,var(--mint) 25%,transparent)}
.btn-primary::after{content:"";position:absolute;inset:-40% auto -40% -70%;width:42%;pointer-events:none;z-index:0;opacity:0;background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.05) 30%,rgba(255,255,255,.42) 50%,rgba(255,255,255,.05) 70%,transparent 100%);transform:skewX(-20deg) translate3d(-40%,0,0);transition:transform .68s cubic-bezier(.18,.7,.2,1),opacity .2s}
.btn-primary:hover::after{opacity:.9;transform:skewX(-20deg) translate3d(420%,0,0)}
.btn-primary:hover{box-shadow:0 12px 30px rgba(23,71,61,.24),0 0 0 1px color-mix(in srgb,var(--mint) 50%,transparent)}
.btn-secondary{box-shadow:0 0 0 0 color-mix(in srgb,var(--mint) 0%,transparent)}
.btn-secondary:hover{box-shadow:0 8px 24px color-mix(in srgb,var(--green-2) 12%,transparent);transform:translateY(-2px)}
.icon-btn{transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,background .22s,box-shadow .22s}
.icon-btn:hover{box-shadow:0 7px 18px color-mix(in srgb,var(--green-2) 14%,transparent)}
.feature-card{position:relative;isolation:isolate;overflow:hidden}
.feature-card::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(circle at var(--card-glow-x,50%) var(--card-glow-y,0%),color-mix(in srgb,var(--mint) 30%,transparent),transparent 56%);transition:opacity .25s}
.feature-card:hover::before{opacity:1}
.hero{isolation:isolate}
.hero-grid{position:relative;z-index:1}
.hero::after{content:"";position:absolute;z-index:0;pointer-events:none;width:min(42vw,560px);aspect-ratio:1;right:-12%;top:-12%;border-radius:50%;opacity:.32;background:radial-gradient(circle,color-mix(in srgb,var(--mint) 34%,transparent),transparent 68%);filter:blur(18px);transform:translate3d(var(--hero-glow-x,0),var(--hero-glow-y,0),0);will-change:transform}
.nav-links a{position:relative}
.nav-links a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;border-radius:3px;background:linear-gradient(90deg,var(--green-2),var(--gold));transition:right .25s}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{right:0}
.panel,.glass-card,.stat-card,.lesson-card{transition:transform .24s cubic-bezier(.2,.7,.2,1),border-color .24s,box-shadow .24s}
.panel:focus-within,.glass-card:hover{border-color:color-mix(in srgb,var(--green-2) 30%,var(--line))}
@media(prefers-reduced-motion:reduce){.btn-primary::after,.feature-card::before,.nav-links a::after{transition:none!important}.hero::after{display:none}}

/* Kaiako Aurora system — refined visual layer */
:root{--bg:#f4f7fb;--paper:#ffffff;--paper-2:#edf3f7;--ink:#122b30;--muted:#657980;--line:#dce6e9;--green:#103f38;--green-2:#0f9277;--mint:#91f2c6;--mint-2:#def9ec;--gold:#e9b96a;--coral:#e27863;--danger:#b63248;--shadow:0 24px 64px rgba(13,47,54,.09);--shadow-sm:0 12px 32px rgba(13,47,54,.07)}
[data-theme="dark"]{--bg:#071614;--paper:#10231f;--paper-2:#182f2a;--ink:#ecf8f3;--muted:#9bb3ab;--line:#294740;--green:#103f38;--green-2:#64e0b1;--mint:#8ef3c6;--mint-2:#1b3d32;--gold:#f2c574;--coral:#ff9f88;--danger:#ff8f9b;--shadow:0 24px 64px rgba(0,0,0,.28);--shadow-sm:0 12px 32px rgba(0,0,0,.2)}
html{scroll-padding-top:96px}body{letter-spacing:-.01em}body::before{background:radial-gradient(ellipse at 3% 5%,rgba(90,227,178,.13),transparent 34%),radial-gradient(ellipse at 96% 16%,rgba(99,164,228,.1),transparent 35%),radial-gradient(ellipse at 74% 96%,rgba(234,185,106,.09),transparent 34%)}
.topbar{border-color:color-mix(in srgb,var(--line) 82%,transparent)}.nav{height:78px}.brand{gap:12px}.brand img{filter:drop-shadow(0 4px 10px rgba(30,151,120,.14))}.brand small{letter-spacing:.15em;font-size:.58rem}.nav-links{gap:clamp(14px,2.4vw,30px)}.nav-links a{font-weight:650;font-size:.9rem;color:var(--muted)}.nav-links a:hover{color:var(--green-2)}
.btn{font-weight:750;letter-spacing:-.015em}.btn-primary{background:linear-gradient(135deg,#0e4b40,#0f7d68 75%,#15977b);box-shadow:0 10px 26px rgba(13,94,75,.18);border:1px solid rgba(255,255,255,.16)}[data-theme="dark"] .btn-primary{background:linear-gradient(135deg,#16755d,#189d79);color:#071c17}.btn-lg{min-height:54px;padding:0 24px;border-radius:15px}.btn-secondary{border-color:var(--line)}.icon-btn{border:1px solid var(--line);background:var(--paper);border-radius:13px}.section{padding-block:clamp(64px,8vw,110px)}.section-sm{padding-block:clamp(44px,6vw,76px)}
/* Home hero: immersive, technical and calm rather than noisy. */
.page-home{background:var(--bg)}.home-topbar{background:rgba(7,26,23,.93);border-bottom-color:rgba(199,246,224,.1);color:#eaf8f1}.home-topbar .brand{color:#f2fff9}.home-topbar .brand small{color:#8aa9a0}.home-topbar .nav-links a{color:#b1c8bf}.home-topbar .nav-links a:hover{color:#9df4c9}.home-topbar .icon-btn{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15);color:#eaf8f1}.home-topbar .btn-secondary{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.22);color:#effff7}.home-topbar .btn-primary{color:#08251e}.hero-home{position:relative;isolation:isolate;overflow:hidden;min-height:720px;padding:clamp(76px,9vw,130px) 0 54px;color:#f1fff7;background:#061d1a;background-image:radial-gradient(ellipse at 78% 40%,rgba(17,122,94,.3),transparent 38%),radial-gradient(ellipse at 14% 10%,rgba(23,104,83,.27),transparent 38%),linear-gradient(115deg,#061d1a 0%,#092720 54%,#071c1b 100%);border-bottom:1px solid rgba(180,247,217,.14)}.hero-home::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.2;background-image:linear-gradient(rgba(177,255,217,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(177,255,217,.11) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 92%)}.hero-home::after{content:"";position:absolute;z-index:-1;inset:auto -20% -65% 35%;height:90%;border-radius:50%;background:radial-gradient(ellipse,rgba(27,196,134,.15),transparent 64%);filter:blur(28px);pointer-events:none}.hero-home .hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;gap:clamp(32px,5vw,78px);width:min(1350px,calc(100% - 64px))}.hero-home .hero-copy{max-width:655px;position:relative;z-index:3}.hero-prelude{display:flex;align-items:center;gap:10px;color:#9bd9bd;font-size:.72rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase;margin-bottom:27px}.live-dot,.proof-status i,.window-secure i,.console-footer>span:first-child i{width:7px;height:7px;border-radius:50%;background:#7df0b8;box-shadow:0 0 0 4px rgba(125,240,184,.1),0 0 15px rgba(125,240,184,.7);display:inline-block}.hero-index{margin-left:auto;padding-left:14px;border-left:1px solid rgba(210,248,230,.22);color:#7d9f93;font-size:.64rem}.hero-home .h1{font-size:clamp(3.1rem,5.5vw,5.65rem);max-width:680px;line-height:.99;letter-spacing:-.075em;color:#f3fff8;margin:0 0 24px}.hero-italic{font-weight:500;font-style:italic;color:#c6e7d7}.hero-highlight{display:inline-block;background:linear-gradient(100deg,#92edbd,#5bd6ae 58%,#d8ca94);background-clip:text;color:transparent;position:relative}.hero-highlight::after{content:"";position:absolute;left:.02em;right:.04em;bottom:-.1em;height:4px;background:linear-gradient(90deg,#7feab7,#65d7b4,transparent);border-radius:20px;transform:scaleX(.92);transform-origin:left;opacity:.75}.hero-home .hero-lede{color:#a5bdb4;max-width:590px;font-size:clamp(1rem,1.25vw,1.13rem);line-height:1.85;margin:0 0 30px}.hero-home .hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-home .btn-primary{box-shadow:0 12px 35px rgba(39,219,157,.17);background:linear-gradient(135deg,#9cf4c6,#64d9aa);color:#08251d;border:none}.hero-home .btn-primary:hover{box-shadow:0 16px 45px rgba(39,219,157,.28);transform:translateY(-3px)}.btn-glass{background:rgba(255,255,255,.045);border:1px solid rgba(206,250,225,.23);color:#eafff4;border-radius:15px;padding:0 22px;font-weight:750;transition:background .2s,transform .2s,border-color .2s}.btn-glass:hover{background:rgba(255,255,255,.09);border-color:rgba(206,250,225,.4);transform:translateY(-2px)}.hero-proof-row{display:flex;align-items:center;gap:13px;margin-top:37px;padding-top:22px;border-top:1px solid rgba(207,245,226,.14);max-width:590px}.proof-symbol{display:flex;align-items:center;justify-content:center;min-width:51px}.proof-symbol span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(169,239,203,.09);border:1px solid rgba(169,239,203,.2);color:#aff2cd;font-size:1rem;margin-left:-5px}.proof-symbol span:first-child{margin-left:0}.hero-proof-row strong,.hero-proof-row small{display:block}.hero-proof-row strong{font-size:.8rem;color:#e9fff3}.hero-proof-row small{margin-top:2px;font-size:.68rem;color:#86a79a}.proof-status{margin-left:auto;color:#7eaa96;font-size:.57rem;font-weight:850;letter-spacing:.1em;white-space:nowrap}.proof-status i{width:5px;height:5px;margin-right:5px;box-shadow:none}
/* Animated workspace mockup */
.hero-console{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:490px;perspective:1200px;transform:translate3d(var(--parallax-x,0),var(--parallax-y,0),0);transition:transform .3s ease;isolation:isolate}.console-glow{position:absolute;inset:8% 1% 0;background:radial-gradient(ellipse,rgba(64,218,167,.18),transparent 66%);filter:blur(35px);z-index:-3}.console-orbit{position:absolute;border:1px solid rgba(126,225,180,.12);border-radius:50%;aspect-ratio:1;pointer-events:none;z-index:-2}.orbit-one{width:110%;transform:rotate(-22deg);animation:orbitDrift 32s linear infinite}.orbit-two{width:82%;border-style:dashed;opacity:.7;animation:orbitDrift 46s linear infinite reverse}.console-window{width:min(100%,690px);position:relative;z-index:2;border:1px solid rgba(207,255,229,.2);border-radius:22px;background:linear-gradient(145deg,rgba(16,47,40,.97),rgba(8,31,27,.98));box-shadow:0 38px 100px rgba(0,0,0,.45),0 0 0 7px rgba(193,255,223,.025);overflow:hidden;transform:rotateY(-5deg) rotateX(2deg);transform-style:preserve-3d;animation:consoleFloat 8s ease-in-out infinite}.console-topbar{height:43px;display:flex;align-items:center;gap:12px;padding:0 17px;border-bottom:1px solid rgba(209,246,225,.1);background:rgba(255,255,255,.025);font-size:.55rem;letter-spacing:.13em;color:#88aaa0;font-weight:850}.window-dots{display:flex;gap:4px}.window-dots i{width:6px;height:6px;border-radius:50%;background:#ea8278}.window-dots i:nth-child(2){background:#edc171}.window-dots i:nth-child(3){background:#80d5a4}.window-secure{margin-left:auto;font-size:.5rem;letter-spacing:.08em;color:#81b49b}.window-secure i{width:5px;height:5px;margin-right:5px;box-shadow:none}.console-heading{padding:24px 25px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px}.console-kicker{font-size:.54rem;color:#69d8aa;font-weight:900;letter-spacing:.16em}.console-heading h2{font-size:1.36rem;letter-spacing:-.04em;color:#f0fcf5;margin:5px 0 4px}.console-heading p{font-size:.68rem;color:#8daea2;margin:0}.progress-orb{width:62px;height:62px;position:relative;flex:none;display:grid;place-items:center}.progress-orb svg{position:absolute;inset:0;transform:rotate(-90deg);width:100%;height:100%}.progress-orb circle{fill:none;stroke:rgba(219,247,229,.12);stroke-width:5}.progress-orb .progress-ring{stroke:#8deebc;stroke-dasharray:176;stroke-dashoffset:32;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(141,238,188,.3))}.progress-orb>span{font-size:1.05rem;font-weight:850;color:#f3fff7;letter-spacing:-.04em}.progress-orb small{font-size:.55rem;color:#9fcbb4}.console-tabs{display:flex;gap:24px;padding:0 25px;border-bottom:1px solid rgba(213,247,229,.1);font-size:.65rem;color:#779a8d}.console-tabs span{padding:0 0 12px}.console-tabs .selected{color:#a5f1c6;border-bottom:2px solid #8beab8;font-weight:850}.console-grid{display:grid;grid-template-columns:1fr .9fr;gap:11px;padding:15px 16px 12px}.console-panel{min-width:0;border:1px solid rgba(208,246,226,.1);border-radius:14px;background:rgba(255,255,255,.035);padding:15px}.summary-panel{grid-row:span 2}.panel-minihead{display:flex;align-items:center;gap:7px;color:#86aa9b;font-size:.52rem;font-weight:900;letter-spacing:.12em}.panel-number{margin-left:auto;color:#658c7c;font-size:.48rem}.panel-dot{width:6px;height:6px;background:#c7a3f7;border-radius:3px;box-shadow:0 0 12px rgba(199,163,247,.4)}.gold-dot{background:#ebc16e;box-shadow:0 0 12px rgba(235,193,110,.3)}.mint-dot{background:#7ddfb1;box-shadow:0 0 12px rgba(125,223,177,.3)}.skeleton-line{height:6px;width:68%;margin-top:10px;border-radius:9px;background:rgba(167,208,188,.14)}.skeleton-line.wide{width:92%;margin-top:18px}.idea-row{display:flex;align-items:center;gap:9px;padding:11px 0 0;margin-top:12px;border-top:1px solid rgba(211,247,228,.09)}.idea-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:rgba(170,145,226,.15);color:#cfbaff;font-size:.9rem;flex:none}.mint-icon{background:rgba(100,217,166,.14)!important;color:#8cebb5!important}.idea-row div{min-width:0;flex:1}.idea-row strong,.idea-row small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.idea-row strong{font-size:.65rem;color:#def4e6}.idea-row small{font-size:.56rem;color:#79998d;margin-top:2px}.idea-check{color:#8be7b5;font-size:.7rem}.recall-question{margin:15px 0 10px;color:#e5f7ec;font-size:.72rem;line-height:1.45;font-weight:750}.recall-option{display:flex;align-items:center;gap:7px;padding:7px 9px;margin-top:5px;border:1px solid rgba(131,233,177,.28);background:rgba(56,160,115,.12);border-radius:8px;color:#c7f4d9;font-size:.59rem}.recall-option i{width:7px;height:7px;border:1px solid #8de8b6;border-radius:50%}.recall-option b{margin-left:auto;color:#88eab3}.muted-option{background:transparent;border-color:rgba(221,242,230,.09);color:#83a397}.muted-option i{border-color:#658c7c}.recall-footer{display:flex;align-items:center;justify-content:space-between;margin-top:11px;color:#7fa798;font-size:.54rem}.recall-arrow{font-size:.8rem;color:#97edc1}.timeline-panel{padding-bottom:12px}.timeline-row{display:grid;grid-template-columns:37px minmax(40px,.55fr) minmax(0,1fr);align-items:center;gap:7px;margin-top:12px;font-size:.55rem}.timeline-row>span{color:#83ac99;font-variant-numeric:tabular-nums}.timeline-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d6ece0;font-size:.56rem;font-weight:650}.timeline-track{height:4px;background:rgba(182,226,201,.12);border-radius:5px;overflow:hidden}.timeline-track i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#46ca97,#9df1c5)}.console-footer{height:34px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 21px;background:rgba(0,0,0,.1);border-top:1px solid rgba(211,247,228,.09);font-size:.51rem;color:#7fa99a}.console-footer>span:first-child{letter-spacing:.1em;font-size:.49rem;font-weight:900}.console-footer>span:first-child i{width:5px;height:5px;box-shadow:none;margin-right:5px}.console-footer b{color:#91edba;font-size:.8rem;margin-left:5px}.floating-chip{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:13px;border:1px solid rgba(202,249,222,.22);background:rgba(12,43,35,.93);box-shadow:0 15px 42px rgba(0,0,0,.25);backdrop-filter:blur(16px);animation:chipFloat 6s ease-in-out infinite}.chip-transcript{right:-2%;top:18%}.chip-memory{left:-4%;bottom:17%;animation-delay:-2.5s}.chip-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:rgba(178,154,239,.14);color:#d1bbff;font-size:1rem}.floating-chip small,.floating-chip strong{display:block;white-space:nowrap}.floating-chip small{font-size:.48rem;color:#7da99a;font-weight:900;letter-spacing:.11em}.floating-chip strong{font-size:.62rem;color:#e6f9ee;margin-top:2px}.chip-live{font-size:.45rem;letter-spacing:.1em;color:#8debb7;border:1px solid rgba(141,235,183,.2);padding:4px 6px;border-radius:5px}.chip-check{margin-left:4px;color:#a0f1bf}.hero-console .hero-stamp{position:absolute;bottom:-23px;right:8%;font-size:.56rem;font-weight:900;letter-spacing:.18em;color:#6e9d8b}.hero-stamp span{color:#e2bd76;margin:0 5px}.hero-bottom-line{width:min(1350px,calc(100% - 64px));margin:54px auto 0;display:grid;grid-template-columns:1fr auto auto;gap:25px;align-items:center;color:#6e9688;font-size:.58rem;font-weight:850;letter-spacing:.13em}.hero-bottom-line span:first-child{height:1px;background:rgba(188,236,211,.14)}.trust-strip{display:flex;justify-content:space-between;gap:18px;padding-top:25px;padding-bottom:25px;color:var(--muted);font-size:.81rem}.trust-strip span{display:flex;align-items:center;gap:10px}.trust-strip strong{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;color:var(--green-2);font-size:.65rem;background:var(--paper)}.section-platform{padding-top:90px}.section-heading{align-items:end;margin-bottom:38px;gap:30px}.section-heading .h2{max-width:720px}.section-heading .lede{max-width:430px;font-size:1rem;line-height:1.75}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.feature-card{padding:25px 24px 19px;min-height:250px;border-radius:20px;background:linear-gradient(145deg,var(--paper),color-mix(in srgb,var(--paper-2) 32%,var(--paper)));border:1px solid var(--line);box-shadow:0 6px 22px rgba(15,43,48,.025);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}.feature-card:hover{transform:translateY(-6px);box-shadow:0 22px 42px rgba(15,43,48,.09);border-color:color-mix(in srgb,var(--green-2) 35%,var(--line))}.feature-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.feature-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:var(--mint-2);border:1px solid color-mix(in srgb,var(--green-2) 10%,var(--line));color:var(--green-2);font-size:1.25rem}.feature-code{font-size:.58rem;letter-spacing:.13em;font-weight:900;color:var(--muted)}.feature-card .h3{font-size:1.16rem;margin:0 0 9px}.feature-card p{font-size:.88rem;line-height:1.72;color:var(--muted);margin:0}.feature-foot{display:flex;align-items:center;justify-content:space-between;margin-top:21px;padding-top:13px;border-top:1px solid var(--line);font-size:.53rem;letter-spacing:.11em;font-weight:900;color:var(--muted)}.feature-foot b{font-size:.86rem;color:var(--green-2)}
.workflow-bento{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,.8fr));gap:14px;align-items:stretch}.workflow-intro,.workflow-step{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:22px;padding:28px;background:var(--paper);box-shadow:var(--shadow-sm)}.workflow-intro{background:linear-gradient(140deg,var(--paper),var(--paper-2))}.workflow-intro .h2{font-size:clamp(2rem,3.5vw,3rem);margin:22px 0 15px}.workflow-intro .lede{font-size:.95rem;line-height:1.75}.text-link{display:inline-flex;gap:9px;align-items:center;margin-top:13px;color:var(--green-2);font-weight:850;font-size:.85rem}.workflow-step{background:linear-gradient(160deg,var(--paper),color-mix(in srgb,var(--mint-2) 24%,var(--paper)));transition:transform .25s,border-color .25s}.workflow-step:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--green-2) 35%,var(--line))}.workflow-num{position:absolute;right:23px;top:20px;color:var(--muted);font-size:.62rem;letter-spacing:.13em;font-weight:900}.workflow-symbol{margin-top:28px;margin-bottom:32px;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--mint-2);color:var(--green-2);font-size:1.35rem}.workflow-step h3{font-size:1.02rem;margin:0 0 8px}.workflow-step p{color:var(--muted);font-size:.82rem;line-height:1.68;margin:0}.workflow-tag{display:inline-block;margin-top:24px;font-size:.53rem;letter-spacing:.12em;font-weight:900;color:var(--green-2);border:1px solid var(--line);border-radius:5px;padding:4px 7px}.safety-panel{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,95px);border:1px solid var(--line);border-radius:28px;padding:clamp(28px,5vw,60px);background:linear-gradient(135deg,var(--paper),color-mix(in srgb,var(--mint-2) 32%,var(--paper)));box-shadow:var(--shadow-sm)}.safety-panel .h2{margin:22px 0 18px}.safety-panel .lede{font-size:.98rem;line-height:1.8}.safety-list{display:grid;align-content:center;gap:5px}.safety-list>div{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.safety-list>div:last-child{border-bottom:0}.safety-list>div>span{display:grid;place-items:center;width:24px;height:24px;flex:none;border-radius:8px;background:var(--mint-2);color:var(--green-2);font-weight:900}.safety-list strong{font-size:.92rem}.safety-list p{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.6}.section-faq{padding-top:72px}.faq-list{max-width:900px;display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:15px;background:var(--paper);overflow:hidden}.faq-item summary{padding:20px 22px;font-weight:800;font-size:.93rem;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'+';display:grid;place-items:center;width:26px;height:26px;flex:none;border:1px solid var(--line);border-radius:8px;color:var(--green-2);font-size:1.1rem}.faq-item[open] summary::after{content:'−'}.faq-item p{color:var(--muted);font-size:.9rem;line-height:1.8;margin:0;padding:0 22px 21px;max-width:810px}.final-cta{padding:30px 0 70px}.final-cta-inner{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:35px;border-radius:27px;padding:clamp(28px,5vw,56px);background:linear-gradient(118deg,#0a2c25,#0c4739 66%,#103f38);color:#effff6;box-shadow:0 25px 60px rgba(12,69,54,.18)}.final-cta-inner .eyebrow{color:#9decc2}.final-cta-inner .h2{font-size:clamp(2rem,3.8vw,3.5rem);margin:22px 0 0}.final-cta-inner .gradient-text{background-image:linear-gradient(100deg,#9af0c0,#d8ce8d)}.final-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:11px;position:relative;z-index:1;min-width:220px}.final-cta-actions small{font-size:.68rem;color:#8db4a2}.final-cta-actions .btn-secondary{background:rgba(255,255,255,.05);border-color:rgba(226,255,240,.2);color:#eafff2}.final-orbit{position:absolute;right:19%;top:-90px;width:260px;height:260px;display:grid;place-items:center;border:1px solid rgba(185,249,215,.12);border-radius:50%;font-size:7rem;color:rgba(164,246,198,.13);z-index:-1}.final-orbit::before,.final-orbit::after{content:"";position:absolute;inset:25px;border:1px solid rgba(185,249,215,.11);border-radius:50%}.final-orbit::after{inset:55px;border-style:dashed}.footer{border-top:1px solid var(--line);padding:25px 0 32px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-row>span{font-size:.78rem;color:var(--muted)}.footer-row>div{display:flex;gap:20px;font-size:.8rem;color:var(--muted);font-weight:700}
/* Shared product controls: sharp focus states, readable forms, and reliable fallbacks. */
.panel,.glass-card,.stat-card,.lesson-card{border-color:var(--line);border-radius:20px;box-shadow:var(--shadow-sm)}.panel{background:var(--paper)}.field input,.field textarea,.field select,input.search-input,textarea,select{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:13px;transition:border-color .18s,box-shadow .18s,background .18s}.field input:focus,.field textarea:focus,.field select:focus,input.search-input:focus,textarea:focus,select:focus{border-color:var(--green-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--mint) 24%,transparent);outline:0}.dropzone{border:1px dashed color-mix(in srgb,var(--green-2) 45%,var(--line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--mint-2) 48%,var(--paper)),var(--paper));transition:border-color .2s,transform .2s,background .2s}.dropzone:hover,.dropzone.dragover{border-color:var(--green-2);background:var(--mint-2);transform:translateY(-2px)}.quiz-question,.teachback-card,.teachback-route,.summary-card,.transcript-list,.flashcard{border-color:var(--line);border-radius:18px}.quiz-question{padding:20px;background:var(--paper)}.quiz-question h3{line-height:1.65}.quiz-option{border-radius:12px;transition:border-color .18s,background .18s}.quiz-option:hover{border-color:var(--green-2);background:var(--mint-2)}.timestamp{white-space:nowrap;font-variant-numeric:tabular-nums}.empty-state{border:1px dashed var(--line);border-radius:16px;padding:28px;color:var(--muted);background:color-mix(in srgb,var(--paper-2) 40%,var(--paper))}.modal-inner{background:var(--paper);border-radius:25px}.auth-error{line-height:1.65}.modal-form input{min-height:52px}.modal-form .field small{line-height:1.6}.modal-close{border-radius:50%}
@keyframes consoleFloat{0%,100%{transform:rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:rotateY(-3deg) rotateX(1deg) translateY(-8px)}}@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes orbitDrift{from{transform:rotate(-22deg)}to{transform:rotate(338deg)}}
@media(max-width:1100px){.hero-home .hero-grid{grid-template-columns:1fr;gap:35px}.hero-home .hero-copy{max-width:780px}.hero-console{min-height:510px;width:min(100%,780px);margin:0 auto}.hero-home .h1{max-width:760px}.workflow-bento{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-intro{grid-column:1/-1}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-bottom-line{margin-top:45px}}
@media(max-width:760px){.home-topbar .nav{height:68px}.home-topbar .nav-links{background:rgba(7,29,26,.98);border:1px solid rgba(211,247,228,.14);box-shadow:0 20px 48px rgba(0,0,0,.25)}.home-topbar .nav-links a{color:#d1e5d9}.hero-home{padding:56px 0 32px;min-height:unset}.hero-home .hero-grid{width:calc(100% - 34px);gap:38px}.hero-prelude{font-size:.61rem;letter-spacing:.12em;margin-bottom:20px}.hero-index{font-size:.54rem}.hero-home .h1{font-size:clamp(2.8rem,12.5vw,4.5rem);line-height:1.01;margin-bottom:18px}.hero-home .hero-lede{font-size:.97rem;line-height:1.75}.hero-home .hero-actions{align-items:stretch}.hero-home .hero-actions .btn{flex:1 1 100%;justify-content:center}.hero-proof-row{flex-wrap:wrap;margin-top:27px}.proof-status{margin-left:auto;font-size:.5rem}.hero-console{min-height:410px;margin:0 -4px;transform:none}.console-window{width:100%;transform:none;border-radius:17px}.console-grid{gap:7px;padding:10px}.console-panel{padding:10px}.console-heading{padding:17px 16px 14px}.console-heading h2{font-size:1.12rem}.console-heading p{font-size:.6rem}.progress-orb{width:50px;height:50px}.console-tabs{gap:16px;padding:0 16px;font-size:.58rem}.console-topbar{padding:0 12px;font-size:.43rem;gap:8px}.window-secure{font-size:.4rem}.idea-row{gap:6px}.idea-row strong{font-size:.58rem}.idea-row small{font-size:.49rem}.recall-question{font-size:.65rem}.recall-option{font-size:.52rem;padding:6px}.timeline-row{grid-template-columns:31px minmax(24px,.45fr) minmax(0,1fr);gap:5px;font-size:.49rem}.timeline-row strong{font-size:.49rem}.console-footer{padding:0 13px}.console-footer>span:first-child{font-size:.42rem}.floating-chip{padding:8px 9px;gap:7px}.chip-icon{width:25px;height:25px}.floating-chip strong{font-size:.54rem}.floating-chip small{font-size:.4rem}.chip-transcript{right:-1%;top:7%}.chip-memory{left:-1%;bottom:8%}.hero-console .hero-stamp{bottom:-23px;right:5%;font-size:.44rem}.hero-bottom-line{width:calc(100% - 34px);grid-template-columns:1fr auto;gap:12px;font-size:.48rem;margin-top:40px}.hero-bottom-line span:nth-child(2){display:none}.trust-strip{align-items:flex-start;flex-direction:column;padding:21px 0}.section-platform{padding-top:60px}.section-heading{display:block;margin-bottom:27px}.section-heading .lede{margin-top:18px}.feature-grid{grid-template-columns:1fr;gap:11px}.feature-card{min-height:0;padding:21px}.feature-topline{margin-bottom:18px}.feature-foot{margin-top:16px}.workflow-bento{grid-template-columns:1fr}.workflow-intro{grid-column:auto;padding:24px}.workflow-step{padding:23px}.workflow-symbol{margin:16px 0 20px}.workflow-tag{margin-top:17px}.safety-panel{grid-template-columns:1fr;gap:25px;padding:24px}.final-cta-inner{display:block;padding:27px 22px}.final-cta-actions{margin-top:28px}.final-cta-actions .btn{width:100%;justify-content:center}.final-orbit{right:-70px;top:70px}.footer-row{flex-wrap:wrap;justify-content:flex-start}.footer-row>span{order:3;flex-basis:100%}.footer-row>div{margin-left:auto;gap:13px}.section-faq{padding-top:50px}.faq-item summary{padding:17px;font-size:.86rem}.faq-item p{padding:0 17px 18px;font-size:.85rem}}
@media(max-width:430px){.container{width:calc(100% - 28px)}.hero-home .hero-grid{width:calc(100% - 28px)}.hero-index{display:none}.hero-home .h1{font-size:2.72rem}.hero-proof-row{align-items:flex-start}.proof-status{flex-basis:100%;margin-left:63px}.hero-console{min-height:360px}.console-topbar{font-size:.39rem}.console-window{border-radius:14px}.console-heading h2{font-size:1rem}.console-grid{grid-template-columns:1fr}.summary-panel{grid-row:auto}.timeline-panel{display:none}.recall-panel{display:none}.console-tabs{gap:12px}.floating-chip{display:none}.hero-console .hero-stamp{right:0;font-size:.4rem}.hero-bottom-line{font-size:.43rem;letter-spacing:.08em}.footer-row>div{margin-left:0}}
@media(prefers-reduced-motion:reduce){.console-window,.console-orbit,.floating-chip{animation:none!important}.hero-console{transition:none}.workflow-step,.feature-card,.btn-glass{transition:none}}

.page-home .hero-console::before,.page-home .hero-console::after{display:none!important;content:none!important}


/* Studio reliability polish: clear action hierarchy, retry states, and keyboard focus. */
.player-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
#retry-lesson{border-color:color-mix(in srgb,var(--coral) 45%,var(--line));}
#retry-lesson:not(.hidden){animation:studio-action-in .24s ease-out both}
#upload-progress[aria-busy="true"] .progress-bar{background:linear-gradient(90deg,var(--green-2),#65c7a0);background-size:200% 100%;animation:studio-progress-glide 1.4s linear infinite}
#upload-progress[data-state="error"]{border-color:color-mix(in srgb,var(--coral) 40%,var(--line));}
#job-status.failed{border-color:color-mix(in srgb,var(--coral) 40%,var(--line));}
#job-status.failed #job-stage{color:var(--coral)}
.quiz-question[data-answered="true"]{border-color:var(--green-2)}
.answer-review strong{color:var(--ink)}
.flashcard:focus-visible,.quiz-option:focus-within,.timestamp:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 72%,transparent);outline-offset:3px}
@keyframes studio-progress-glide{to{background-position:-200% 0}}
@keyframes studio-action-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#retry-lesson:not(.hidden),#upload-progress[aria-busy="true"] .progress-bar{animation:none}}

/* Aurora v2: cinematic yet restrained landing motion and navigation transitions. */
.hero-home{isolation:isolate;background:linear-gradient(118deg,#061613 0%,#071d1a 43%,#09261f 100%)}
.hero-home::before{content:"";position:absolute;z-index:0;inset:-22% -12%;pointer-events:none;opacity:.72;background:radial-gradient(ellipse at 72% 36%,rgba(50,201,150,.20),transparent 35%),radial-gradient(ellipse at 88% 68%,rgba(232,188,112,.11),transparent 28%),radial-gradient(ellipse at 40% 92%,rgba(58,126,108,.16),transparent 42%);filter:blur(6px);animation:aurora-flow 18s ease-in-out infinite alternate;transform:translate3d(var(--hero-glow-x,0),var(--hero-glow-y,0),0)}
.hero-ambient-veil{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.22;background-image:linear-gradient(rgba(178,239,208,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(178,239,208,.07) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(100deg,transparent 2%,#000 42%,#000 90%,transparent);transform:perspective(700px) rotateX(48deg) scale(1.3);transform-origin:center bottom;animation:grid-glide 24s linear infinite}
.hero-particle-field{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;pointer-events:none;opacity:.9}
.hero-home .hero-grid{position:relative;z-index:2}
.hero-home .hero-bottom-line{position:relative;z-index:2}
.hero-home .hero-prelude{animation:hero-label-in .8s .04s cubic-bezier(.16,1,.3,1) both}
.hero-home .hero-copy .h1{animation-duration:1s;text-wrap:balance}
.hero-home .hero-highlight{position:relative;display:inline-block;text-shadow:0 0 36px rgba(102,235,172,.12)}
.hero-home .hero-highlight::after{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.085em;border-radius:99px;background:linear-gradient(90deg,rgba(104,238,176,.0),rgba(104,238,176,.8),rgba(236,195,124,.6),rgba(104,238,176,0));transform:scaleX(0);transform-origin:left;animation:hero-underline 1.05s .8s cubic-bezier(.16,1,.3,1) forwards}
.hero-console{filter:drop-shadow(0 30px 60px rgba(0,0,0,.1))}
.console-glow{animation:console-glow 8s ease-in-out infinite alternate}
.console-window{will-change:transform;backface-visibility:hidden;animation:consoleFloat 8s ease-in-out infinite,console-arrive 1.05s .15s cubic-bezier(.16,1,.3,1) both}
.console-window::after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;opacity:.0;background:linear-gradient(112deg,transparent 20%,rgba(177,255,218,.12) 46%,rgba(177,255,218,.025) 56%,transparent 72%);transform:translateX(-115%);animation:console-scan 8.5s 1.2s ease-in-out infinite}
.console-orbit{box-shadow:0 0 28px rgba(87,222,162,.03)}
.orbit-one::before{content:"";position:absolute;left:13%;top:17%;width:8px;height:8px;border-radius:50%;background:#97efc2;box-shadow:0 0 18px 4px rgba(115,241,176,.45)}
.orbit-two::after{content:"";position:absolute;right:14%;bottom:16%;width:5px;height:5px;border-radius:50%;background:#f1cc88;box-shadow:0 0 17px 3px rgba(241,204,136,.42)}
.recall-option:first-of-type{animation:option-pulse 4.8s 1.7s ease-in-out infinite}
.floating-chip{will-change:transform;transition:box-shadow .25s,border-color .25s}
.floating-chip:hover{border-color:rgba(163,246,195,.6);box-shadow:0 20px 50px rgba(0,0,0,.28),0 0 28px rgba(79,207,151,.12)}
.btn{transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s,box-shadow .2s,filter .2s}
.btn:hover{filter:brightness(1.04)}
.btn-primary:hover{box-shadow:0 12px 32px rgba(23,71,61,.28),0 0 0 4px rgba(123,218,170,.09)}
.page-leaving{animation:page-leave .145s cubic-bezier(.4,0,1,1) both;pointer-events:none}
@keyframes aurora-flow{0%{transform:translate3d(-1.5%,-1%,0) rotate(-1deg) scale(1);opacity:.55}50%{opacity:.85}100%{transform:translate3d(1.6%,1.1%,0) rotate(1deg) scale(1.06);opacity:.68}}
@keyframes grid-glide{from{background-position:0 0,0 0;opacity:.13}to{background-position:0 56px,56px 0;opacity:.25}}
@keyframes hero-label-in{from{opacity:0;transform:translateY(10px);letter-spacing:.2em}to{opacity:1;transform:translateY(0);letter-spacing:.12em}}
@keyframes hero-underline{to{transform:scaleX(1)}}
@keyframes console-glow{from{opacity:.62;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}
@keyframes console-scan{0%,62%{transform:translateX(-115%);opacity:0}68%{opacity:.7}83%{transform:translateX(115%);opacity:0}100%{transform:translateX(115%);opacity:0}}
@keyframes console-arrive{from{opacity:0;filter:blur(5px)}to{opacity:1;filter:blur(0)}}
@keyframes option-pulse{0%,78%,100%{box-shadow:0 0 0 0 rgba(95,213,151,0)}84%{box-shadow:0 0 0 4px rgba(95,213,151,.14)}}
@keyframes page-leave{to{opacity:0;transform:translateY(-5px);filter:blur(1.5px)}}

/* User-selected assessment length: compact, visible, and carried to every source route. */
.quiz-size-control{display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,.55fr);align-items:center;gap:8px 14px;padding:15px 16px;margin:0 0 16px;border:1px solid color-mix(in srgb,var(--green-2) 22%,var(--line));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--mint-2) 56%,var(--paper)),var(--paper));box-shadow:inset 0 1px rgba(255,255,255,.68)}
.quiz-size-control>div:first-child label{display:block;font-size:.85rem;font-weight:850;color:var(--ink)}
.quiz-size-control>div:first-child small{display:block;color:var(--muted);font-size:.73rem;line-height:1.5;margin-top:3px}
.quiz-size-select{position:relative;min-width:0}
.quiz-size-select input{appearance:auto;width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font:inherit;font-weight:800;font-size:.9rem;cursor:text}.quiz-size-select input:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 70%,transparent);outline-offset:2px}

.quiz-count-help{grid-column:1/-1;margin:0;font-size:.73rem;line-height:1.55}
.quiz-capacity-note{display:grid;gap:4px;padding:14px 16px;margin:0 0 14px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--gold) 10%,var(--paper));animation:studio-action-in .32s ease-out both}
.quiz-capacity-note strong{font-size:.86rem;color:var(--ink)}
.quiz-capacity-note span{font-size:.79rem;color:var(--muted);line-height:1.6}
.tab-panel.panel-enter{animation:panel-arrive .28s cubic-bezier(.16,1,.3,1) both}
[data-source-panel]:not(.hidden){animation:panel-arrive .24s cubic-bezier(.16,1,.3,1) both}
.quiz-question{animation:question-arrive .32s cubic-bezier(.16,1,.3,1) both}
.quiz-question:nth-child(3n+2){animation-delay:35ms}.quiz-question:nth-child(3n){animation-delay:70ms}
.quiz-option:active{transform:scale(.995)}
.quiz-option:has(input:checked){box-shadow:inset 3px 0 0 var(--green-2)}
.flashcard{perspective:1000px;transform-style:preserve-3d}
.flashcard:active{transform:translateY(-1px) scale(.997)}
@keyframes panel-arrive{from{opacity:0;transform:translateY(9px) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes question-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:560px){.quiz-size-control{grid-template-columns:1fr}.quiz-size-select{width:100%}.quiz-count-help{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.hero-home::before,.hero-ambient-veil,.hero-particle-field,.hero-home .hero-prelude,.hero-home .hero-highlight::after,.console-glow,.console-window::after,.orbit-one::before,.orbit-two::after,.recall-option:first-of-type,.page-leaving,.tab-panel.panel-enter,.quiz-question,[data-source-panel]:not(.hidden){animation:none!important}.console-window{animation:none!important;transform:none}.hero-console,.btn,.floating-chip{transition:none!important}.hero-particle-field{display:none}.hero-ambient-veil{transform:none}}


/* Aurora motion refinement: cinematic landing hero and consistent route transitions. */
@media (prefers-reduced-motion: no-preference) {
  body.page-enter > main { animation: route-arrive .48s cubic-bezier(.16,1,.3,1) both; }
  body.page-enter > .topbar { animation: nav-arrive .42s cubic-bezier(.16,1,.3,1) both; }
  .hero-home .hero-copy { animation: hero-copy-arrive .78s cubic-bezier(.16,1,.3,1) both; }
  .hero-home .hero-console::before {
    content:""; position:absolute; z-index:0; pointer-events:none;
    inset:4% 1% 4%; margin:auto; width:94%; aspect-ratio:1; border-radius:50%;
    background:conic-gradient(from 20deg,transparent 0deg,rgba(99,238,177,.0) 32deg,rgba(99,238,177,.22) 58deg,rgba(216,196,133,.13) 78deg,transparent 112deg,transparent 220deg,rgba(108,227,172,.15) 247deg,transparent 286deg);
    filter:blur(1px); opacity:.85;
    -webkit-mask:radial-gradient(circle,transparent 57%,#000 58%,#000 59%,transparent 60%);
    mask:radial-gradient(circle,transparent 57%,#000 58%,#000 59%,transparent 60%);
    animation: orbit-signal 38s linear infinite;
  }
  .hero-home .hero-copy .h1 { animation: hero-reveal 1s .12s cubic-bezier(.16,1,.3,1) both; }
  .hero-home .hero-lede { animation-delay:.28s; }
  .hero-home .hero-actions { animation-delay:.4s; }
  .hero-home .hero-proof-row { animation-delay:.52s; }
  .hero-home .hero-stamp { animation: stamp-arrive .8s .8s cubic-bezier(.16,1,.3,1) both; }
  .hero-home .console-panel { transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .32s,background .32s; }
  .hero-home .console-panel:hover { transform:translateY(-3px); border-color:rgba(130,236,183,.24); background:rgba(255,255,255,.055); }
  .hero-home .console-tabs .selected { position:relative; }
  .hero-home .console-tabs .selected::after { content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,#77e5ac,#f1cf8c);box-shadow:0 0 12px rgba(119,229,172,.35); }
  .btn-primary::after { content:"";position:absolute;inset:-50% auto -50% -55%;width:35%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-160%) skewX(-18deg);transition:transform .65s cubic-bezier(.16,1,.3,1);pointer-events:none; }
  .btn-primary:hover::after { transform:translateX(520%) skewX(-18deg); }
}
@keyframes route-arrive { from { opacity:0;transform:translateY(9px) scale(.997); } to { opacity:1;transform:translateY(0) scale(1); } }
@keyframes nav-arrive { from { opacity:0;transform:translateY(-8px); } to { opacity:1;transform:translateY(0); } }
@keyframes hero-copy-arrive { from { opacity:0;filter:blur(4px); } to { opacity:1;filter:blur(0); } }
@keyframes stamp-arrive { from { opacity:0;letter-spacing:.28em; } to { opacity:1;letter-spacing:.18em; } }
@keyframes orbit-signal { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  body.page-enter > main, body.page-enter > .topbar, .hero-home .hero-copy, .hero-home .hero-stamp { animation:none!important; opacity:1;filter:none;transform:none; }
  .hero-home .hero-console::before { animation:none!important; }
  .hero-home .console-panel,.btn-primary::after { transition:none!important; }
  .btn-primary::after { display:none; }
}


/* Aurora landing signature: layered orbital paths, a traveling light ribbon, and a slow ambient pulse. */
@media (prefers-reduced-motion: no-preference) {
  .hero-energy-field {
    position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none;
    contain:paint; opacity:.92;
  }
  .hero-energy-field::before {
    content:""; position:absolute; width:72%; aspect-ratio:1.2; right:-7%; top:2%;
    border-radius:50%; background:radial-gradient(ellipse,rgba(28,201,142,.105),rgba(76,177,151,.035) 39%,transparent 70%);
    filter:blur(16px); transform:translate3d(0,0,0) scale(.92); animation:aurora-bloom 13s ease-in-out infinite alternate;
  }
  .hero-energy-field::after {
    content:""; position:absolute; right:-15%; top:32%; width:60%; height:1px;
    background:linear-gradient(90deg,transparent,rgba(153,255,207,.5),rgba(232,202,132,.4),transparent);
    box-shadow:0 0 12px rgba(111,241,185,.3); transform:rotate(-24deg) translateX(-35%);
    transform-origin:right center; opacity:0; animation:energy-ray 9.5s 1.1s cubic-bezier(.2,.65,.25,1) infinite;
  }
  .energy-ring {
    position:absolute; display:block; border-radius:50%; pointer-events:none;
    transform-style:preserve-3d; will-change:transform; mix-blend-mode:screen;
  }
  .energy-ring-a {
    width:min(68vw,900px); aspect-ratio:1; top:48%; right:-6%;
    border:1px solid rgba(136,239,190,.11); border-left-color:rgba(128,232,183,.34); border-bottom-color:rgba(231,198,126,.2);
    box-shadow:inset 0 0 38px rgba(72,208,155,.018),0 0 40px rgba(82,216,159,.025);
    transform:translateY(-50%) rotateX(58deg) rotateZ(-18deg); animation:energy-orbit-a 48s linear infinite;
  }
  .energy-ring-b {
    width:min(54vw,700px); aspect-ratio:1; top:49%; right:1%;
    border:1px dashed rgba(146,229,192,.12); border-top-color:rgba(151,243,198,.4); border-right-color:rgba(231,198,126,.24);
    transform:translateY(-50%) rotateX(62deg) rotateZ(24deg); animation:energy-orbit-b 37s linear infinite reverse;
  }
  .energy-ring-c {
    width:min(40vw,520px); aspect-ratio:1; top:49%; right:8%;
    border:1px solid rgba(232,202,132,.08); border-top-color:rgba(232,202,132,.29);
    transform:translateY(-50%) rotateX(55deg) rotateZ(62deg); animation:energy-orbit-a 31s linear infinite reverse;
  }
  .energy-streak {
    position:absolute; left:48%; top:12%; width:2px; height:clamp(130px,23vh,260px);
    border-radius:50%; opacity:0; filter:blur(.3px);
    background:linear-gradient(180deg,transparent,rgba(143,245,193,.0),rgba(143,245,193,.44),rgba(233,202,133,.24),transparent);
    transform:rotate(29deg); animation:energy-drop 11s 2.3s ease-in-out infinite;
  }
  .hero-home .hero-console { animation:console-parallax-idle 10s ease-in-out infinite; }
  .hero-home .floating-chip { animation-duration:7.5s; }
  .hero-home .chip-transcript { animation:chip-drift-a 8s ease-in-out infinite; }
  .hero-home .chip-memory { animation:chip-drift-b 9.5s ease-in-out infinite; }
  .hero-home .hero-bottom-line span:first-child { position:relative; overflow:hidden; }
  .hero-home .hero-bottom-line span:first-child::after {
    content:""; position:absolute; left:-40%; top:0; bottom:0; width:38%;
    background:linear-gradient(90deg,transparent,rgba(142,245,191,.8),transparent); animation:bottom-signal 4.5s ease-in-out infinite;
  }
}
@keyframes aurora-bloom { 0%{transform:translate3d(-2%,1%,0) scale(.92);opacity:.56} 100%{transform:translate3d(2%,-2%,0) scale(1.08);opacity:1} }
@keyframes energy-ray { 0%,15%{transform:rotate(-24deg) translateX(-35%);opacity:0} 24%{opacity:.65} 46%{transform:rotate(-24deg) translateX(35%);opacity:.1} 100%{transform:rotate(-24deg) translateX(35%);opacity:0} }
@keyframes energy-orbit-a { from{transform:translateY(-50%) rotateX(58deg) rotateZ(-18deg)} to{transform:translateY(-50%) rotateX(58deg) rotateZ(342deg)} }
@keyframes energy-orbit-b { from{transform:translateY(-50%) rotateX(62deg) rotateZ(24deg)} to{transform:translateY(-50%) rotateX(62deg) rotateZ(384deg)} }
@keyframes energy-drop { 0%,16%{transform:translate3d(0,-22px,0) rotate(29deg);opacity:0} 26%{opacity:.7} 44%{transform:translate3d(22px,90px,0) rotate(29deg);opacity:.08} 100%{transform:translate3d(22px,90px,0) rotate(29deg);opacity:0} }
@keyframes console-parallax-idle { 0%,100%{translate:0 0} 50%{translate:0 -4px} }
@keyframes chip-drift-a { 0%,100%{translate:0 0;rotate:0deg} 50%{translate:0 -8px;rotate:-1deg} }
@keyframes chip-drift-b { 0%,100%{translate:0 0;rotate:0deg} 50%{translate:0 7px;rotate:1deg} }
@keyframes bottom-signal { 0%,22%{transform:translateX(0);opacity:0} 38%{opacity:1} 70%,100%{transform:translateX(390%);opacity:0} }
@media (max-width:760px) {
  .energy-ring-a{width:118vw;right:-48%;top:58%}
  .energy-ring-b{width:92vw;right:-32%;top:58%}
  .energy-ring-c{width:70vw;right:-17%;top:58%}
  .hero-energy-field::after{width:82%;right:-31%;top:46%}
  .energy-streak{left:72%;top:22%;height:125px}
}
@media (prefers-reduced-motion: reduce) {
  .hero-energy-field,.energy-ring,.energy-streak { animation:none!important; }
  .hero-energy-field::before,.hero-energy-field::after { animation:none!important; }
  .hero-home .hero-console,.hero-home .floating-chip { animation:none!important; }
  .hero-home .hero-bottom-line span:first-child::after { display:none; }
}

/* ProofLoop — a distinct, evidence-first learning recovery interface. */
.proofloop-tab{position:relative;isolation:isolate}
.proofloop-tab::before{content:"";position:absolute;inset:4px;border-radius:10px;background:linear-gradient(120deg,color-mix(in srgb,var(--green-2) 12%,transparent),color-mix(in srgb,var(--gold) 10%,transparent));z-index:-1;opacity:.8}
.proofloop-panel{--proof-accent:var(--green-2)}
.proofloop-hero{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(20px,3vw,34px);border:1px solid color-mix(in srgb,var(--green-2) 28%,var(--line));border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 94% 0%,color-mix(in srgb,var(--gold) 19%,transparent),transparent 40%),linear-gradient(130deg,color-mix(in srgb,var(--green-2) 10%,var(--paper)),var(--paper) 64%);box-shadow:0 15px 40px rgba(9,39,31,.055)}
.proofloop-hero::after{content:"";position:absolute;width:320px;height:320px;border:1px solid color-mix(in srgb,var(--green-2) 15%,transparent);border-radius:50%;right:-112px;top:-200px;box-shadow:0 0 0 18px color-mix(in srgb,var(--green-2) 4%,transparent),0 0 0 38px color-mix(in srgb,var(--green-2) 3%,transparent);pointer-events:none;animation:proof-orbit 18s linear infinite}
.proofloop-hero h2{font-size:clamp(1.25rem,2.3vw,1.85rem);letter-spacing:-.035em;margin:5px 0 7px;max-width:680px}.proofloop-hero p{font-size:.88rem;line-height:1.7;color:var(--muted);max-width:740px;margin:0}.proofloop-orb{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;color:var(--ink);font-size:1.8rem;background:linear-gradient(145deg,color-mix(in srgb,var(--green-2) 24%,var(--paper)),color-mix(in srgb,var(--gold) 24%,var(--paper)));border:1px solid color-mix(in srgb,var(--green-2) 34%,var(--line));box-shadow:inset 0 1px rgba(255,255,255,.7),0 9px 24px color-mix(in srgb,var(--green-2) 12%,transparent);animation:proof-orb-breathe 4.6s ease-in-out infinite}
.proofloop-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin:16px 0 24px}.proof-step{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:15px 14px;border:1px solid var(--line);border-radius:15px;background:var(--paper);overflow:hidden;transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s,box-shadow .28s}.proof-step::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,color-mix(in srgb,var(--green-2) 8%,transparent),transparent 55%);opacity:0;transition:opacity .25s}.proof-step:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--green-2) 38%,var(--line));box-shadow:0 12px 24px rgba(10,40,31,.07)}.proof-step:hover::after{opacity:1}.proof-step>span{position:relative;color:var(--green-2);font-size:.72rem;font-weight:900;letter-spacing:.1em}.proof-step strong{position:relative;font-size:.9rem}.proof-step small{position:relative;color:var(--muted);font-size:.73rem;line-height:1.5}.proofloop-section{margin-top:22px}.proofloop-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.proofloop-section-head h3{font-size:1.12rem;letter-spacing:-.025em;margin:5px 0}.proofloop-section-head p{font-size:.8rem;color:var(--muted);line-height:1.6;margin:0}.proofloop-signal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.proofloop-signal-card,.proofloop-challenge-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:clamp(16px,2.3vw,22px);box-shadow:0 9px 24px rgba(13,45,34,.035);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,border-color .3s}.proofloop-signal-card:hover,.proofloop-challenge-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--green-2) 28%,var(--line));box-shadow:0 15px 32px rgba(13,45,34,.075)}.proofloop-signal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.signal-index{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--green-2) 12%,var(--paper));color:var(--green-2);font-size:.75rem;font-weight:900}.signal-kind{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.proofloop-signal-card h4{font-size:.97rem;line-height:1.55;margin:0 0 12px}.answer-contrast{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper-2,var(--mint-2)) 35%,var(--paper))}.answer-contrast>div{min-width:0}.answer-contrast small{display:block;color:var(--muted);font-size:.67rem;margin-bottom:4px}.answer-contrast strong{display:block;font-size:.79rem;line-height:1.45;overflow-wrap:anywhere}.answer-contrast>span{color:var(--green-2);font-weight:900}.proofloop-signal-card>p{color:var(--muted);font-size:.8rem;line-height:1.65}.proofloop-signal-card blockquote,.challenge-evidence blockquote{margin:12px 0;padding:12px 14px;border-left:3px solid color-mix(in srgb,var(--green-2) 60%,var(--gold));border-radius:0 9px 9px 0;background:color-mix(in srgb,var(--green-2) 6%,var(--paper));font-size:.78rem;line-height:1.65;color:var(--ink)}.proofloop-clear-state{display:flex;align-items:flex-start;gap:14px;padding:22px;border-radius:18px;border:1px solid color-mix(in srgb,var(--green-2) 26%,var(--line));background:linear-gradient(100deg,color-mix(in srgb,var(--green-2) 8%,var(--paper)),var(--paper))}.proofloop-clear-state h3{margin:0 0 4px;font-size:1rem}.proofloop-clear-state p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.6}.proofloop-clear-icon{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:color-mix(in srgb,var(--green-2) 16%,var(--paper));color:var(--green-2);font-size:1.2rem;font-weight:900}.proofloop-challenge-section{margin-top:25px}.proofloop-challenge-card{padding:clamp(18px,3vw,26px);background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--gold) 13%,transparent),transparent 38%),var(--paper)}.challenge-prompt-row{display:flex;gap:13px;align-items:flex-start}.challenge-icon{flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:linear-gradient(140deg,color-mix(in srgb,var(--green-2) 18%,var(--paper)),color-mix(in srgb,var(--gold) 19%,var(--paper)));font-size:1.25rem}.challenge-prompt-row strong{font-size:.96rem;line-height:1.6}.challenge-prompt-row p{margin:8px 0;color:var(--muted);font-size:.76rem}.challenge-evidence{margin:11px 0 18px}.challenge-evidence summary{width:max-content;max-width:100%;cursor:pointer;font-size:.78rem;color:var(--green-2);font-weight:850}.proofloop-answer-form{display:grid;gap:9px;margin-top:16px;padding-top:18px;border-top:1px solid var(--line)}.proofloop-answer-form>label{font-weight:800;font-size:.83rem}.proofloop-answer-form textarea{width:100%;min-height:115px;resize:vertical;border:1px solid var(--line);border-radius:13px;padding:13px 14px;background:var(--paper);color:var(--ink);font:inherit;font-size:.86rem;line-height:1.65;transition:border-color .2s,box-shadow .2s}.proofloop-answer-form textarea:focus{outline:none;border-color:var(--green-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--green-2) 12%,transparent)}.proofloop-form-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.proofloop-form-footer small{color:var(--muted);font-size:.72rem}.proofloop-check-result{display:flex;gap:14px;padding:20px;margin:22px 0;border:1px solid var(--line);border-radius:17px;background:var(--paper);animation:proof-result-in .4s cubic-bezier(.16,1,.3,1) both}.proofloop-check-result.passed{border-color:color-mix(in srgb,var(--green-2) 43%,var(--line));background:linear-gradient(120deg,color-mix(in srgb,var(--green-2) 9%,var(--paper)),var(--paper))}.proofloop-check-result.needs-review{border-color:color-mix(in srgb,var(--gold) 40%,var(--line))}.check-result-icon{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:color-mix(in srgb,var(--green-2) 14%,var(--paper));font-weight:900;font-size:1.3rem}.proofloop-check-result h3{margin:4px 0;font-size:1rem}.proofloop-check-result p{font-size:.8rem;line-height:1.65;color:var(--muted)}.proofloop-check-result small{display:block;margin-top:12px;color:var(--muted);font-size:.72rem}.evidence-chip-row{display:flex;flex-wrap:wrap;gap:6px}.evidence-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid var(--line);border-radius:99px;font-size:.72rem;font-weight:750}.evidence-chip.hit{background:color-mix(in srgb,var(--green-2) 9%,var(--paper));color:var(--green-2)}.evidence-chip.miss{background:color-mix(in srgb,var(--gold) 10%,var(--paper));color:var(--ink)}.proofloop-score-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:20px;padding:22px;margin:18px 0;border-radius:20px;border:1px solid color-mix(in srgb,var(--green-2) 28%,var(--line));background:radial-gradient(circle at 0 0,color-mix(in srgb,var(--green-2) 13%,transparent),transparent 45%),var(--paper);overflow:hidden}.proofloop-score-orbit{position:relative;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--green-2) 0 var(--score-pct, 0%),color-mix(in srgb,var(--green-2) 12%,var(--paper)) var(--score-pct, 0%) 100%);animation:proof-orb-breathe 5s ease-in-out infinite}.proofloop-score-orbit::before{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}.proofloop-score-orbit>span{position:relative;font-size:1.3rem;font-weight:900;letter-spacing:-.05em}.proofloop-score-orbit small{font-size:.67rem}.proofloop-score-card h3{font-size:1.1rem;margin:5px 0}.proofloop-score-card p{font-size:.83rem;color:var(--muted);line-height:1.6;margin:0}.proofloop-mini-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.proofloop-mini-meta span{font-size:.67rem;font-weight:800;color:var(--muted);padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--green-2) 7%,var(--paper))}.proofloop-next-review{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;margin-top:18px;border-radius:16px;background:color-mix(in srgb,var(--mint-2) 35%,var(--paper));border:1px solid var(--line)}.proofloop-next-review strong{display:block;margin:4px 0;font-size:.9rem}.proofloop-next-review p{margin:0;color:var(--muted);font-size:.77rem;line-height:1.55}.review-pulse{flex-shrink:0;display:grid;place-items:center;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--green-2) 25%,var(--line));border-radius:14px;color:var(--green-2);font-size:1.35rem;animation:proof-rotate 7s linear infinite}.proofloop-disclaimer{font-size:.73rem;line-height:1.6;color:var(--muted);margin:18px 3px 0}.quiz-proofloop-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;padding:16px;border:1px solid color-mix(in srgb,var(--green-2) 25%,var(--line));border-radius:15px;background:linear-gradient(100deg,color-mix(in srgb,var(--green-2) 8%,var(--paper)),var(--paper));animation:proof-result-in .35s cubic-bezier(.16,1,.3,1) both}.quiz-proofloop-cta strong{font-size:.88rem}.quiz-proofloop-cta p{margin:4px 0 0;font-size:.77rem;line-height:1.5;color:var(--muted)}
.proofloop-dashboard-panel{overflow:hidden}.proofloop-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:20px}.proof-metric{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--paper);min-width:0}.proof-metric-icon{flex-shrink:0;display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:color-mix(in srgb,var(--green-2) 11%,var(--paper));color:var(--green-2);font-size:1.1rem;font-weight:900}.proof-metric strong{display:block;font-size:1.45rem;letter-spacing:-.05em;line-height:1.2}.proof-metric small{display:block;margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.45}.proof-metric-wide{grid-column:span 1;background:linear-gradient(120deg,color-mix(in srgb,var(--gold) 12%,var(--paper)),var(--paper))}.proofloop-spark{position:relative;flex-shrink:0;width:39px;height:39px;border-radius:13px;background:conic-gradient(from 0deg,color-mix(in srgb,var(--green-2) 26%,transparent),transparent,color-mix(in srgb,var(--gold) 35%,transparent));animation:proof-rotate 14s linear infinite}.proof-metric-wide strong{font-size:.83rem;letter-spacing:0}.proof-metric-wide small{max-width:220px}
@keyframes proof-orbit{to{transform:rotate(360deg)}}@keyframes proof-rotate{to{transform:rotate(360deg)}}@keyframes proof-orb-breathe{0%,100%{transform:scale(1);filter:saturate(1)}50%{transform:scale(1.035);filter:saturate(1.15)}}@keyframes proof-result-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:900px){.proofloop-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.proofloop-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.proofloop-signal-grid{grid-template-columns:1fr}.proofloop-hero{grid-template-columns:55px minmax(0,1fr)}.proofloop-hero>.status-pill{grid-column:2;justify-self:start}.proofloop-orb{width:50px;height:50px;border-radius:16px}}
@media(max-width:560px){.proofloop-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.proofloop-hero{grid-template-columns:1fr;gap:12px}.proofloop-hero>.status-pill{grid-column:1}.proofloop-form-footer,.quiz-proofloop-cta{align-items:stretch;flex-direction:column}.proofloop-form-footer .btn,.quiz-proofloop-cta .btn{width:100%}.proofloop-score-card{grid-template-columns:1fr;gap:13px}.proofloop-score-orbit{width:74px;height:74px}.proofloop-metrics{gap:7px}.proof-metric{padding:11px;gap:8px}.proof-metric-icon,.proofloop-spark{width:32px;height:32px;border-radius:10px}.proof-metric strong{font-size:1.2rem}.proofloop-next-review{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.proofloop-hero::after,.proofloop-orb,.proof-step,.proofloop-signal-card,.proofloop-challenge-card,.proofloop-score-orbit,.review-pulse,.proofloop-spark,.quiz-proofloop-cta{animation:none!important;transition:none!important}.proof-step:hover,.proofloop-signal-card:hover,.proofloop-challenge-card:hover{transform:none}}

/* App-wide micro-interactions: entrance, focus, hover glow and click feedback. */
@media(prefers-reduced-motion:no-preference){
 .motion-reveal{opacity:0;transform:translateY(13px) scale(.996);transition:opacity .62s cubic-bezier(.16,1,.3,1),transform .62s cubic-bezier(.16,1,.3,1)}
 .motion-reveal.motion-visible{opacity:1;transform:translateY(0) scale(1)}
 .motion-reveal:nth-child(3n+2){transition-delay:45ms}.motion-reveal:nth-child(3n){transition-delay:85ms}
 .panel,.lesson-card,.stat-card,.feature-card,.proofloop-signal-card,.proofloop-challenge-card{position:relative;isolation:isolate}
 .panel::after,.lesson-card::after,.stat-card::after,.feature-card::after,.proofloop-signal-card::after,.proofloop-challenge-card::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(360px circle at var(--pointer-x,50%) var(--pointer-y,0%),color-mix(in srgb,var(--green-2) 8%,transparent),transparent 70%);opacity:0;transition:opacity .28s}
 .panel:hover::after,.lesson-card:hover::after,.stat-card:hover::after,.feature-card:hover::after,.proofloop-signal-card:hover::after,.proofloop-challenge-card:hover::after{opacity:1}
 .panel,.lesson-card,.stat-card,.feature-card{transition:border-color .3s ease,box-shadow .3s ease,transform .3s cubic-bezier(.16,1,.3,1)}
 .panel:hover{border-color:color-mix(in srgb,var(--green-2) 23%,var(--line))}
 .icon-btn,.tab-btn,.btn,.source-switch button,.summary-length button{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .22s ease,background .22s ease,border-color .22s ease}
 .icon-btn:active,.tab-btn:active,.btn:active,.source-switch button:active,.summary-length button:active{transform:scale(.975)}
 .btn:focus-visible,.icon-btn:focus-visible,.tab-btn:focus-visible,.timestamp:focus-visible,.quiz-option:focus-within{outline:3px solid color-mix(in srgb,var(--gold) 70%,transparent);outline-offset:3px}
 .motion-ripple{position:absolute;z-index:3;width:12px;height:12px;border-radius:50%;pointer-events:none;background:color-mix(in srgb,var(--paper) 55%,transparent);transform:translate(-50%,-50%) scale(0);animation:motion-ripple-out .68s cubic-bezier(.1,.7,.2,1) forwards;mix-blend-mode:screen}
 .btn,.icon-btn,.tab-btn,.quiz-option{position:relative;overflow:hidden}
 .lesson-card:hover,.stat-card:hover,.feature-card:hover{transform:translateY(-3px)}
 .transcript-line,.activity-row,.chat-message,.answer-review{animation:panel-arrive .28s cubic-bezier(.16,1,.3,1) both}
 .status-pill.ready{animation:status-glow 3.4s ease-in-out infinite}
}
@keyframes motion-ripple-out{to{opacity:0;transform:translate(-50%,-50%) scale(17)}}@keyframes status-glow{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green-2) 0%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--green-2) 9%,transparent)}}
@media(prefers-reduced-motion:reduce){.motion-reveal,.motion-visible{opacity:1!important;transform:none!important;transition:none!important}.motion-ripple{display:none}.panel,.lesson-card,.stat-card,.feature-card,.proofloop-signal-card,.proofloop-challenge-card{transition:none!important}}

.novelty-note{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:24px;padding:clamp(20px,3vw,30px);border:1px solid color-mix(in srgb,var(--green-2) 24%,var(--line));border-radius:20px;background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--gold) 14%,transparent),transparent 42%),linear-gradient(110deg,color-mix(in srgb,var(--green-2) 8%,var(--paper)),var(--paper));box-shadow:0 12px 36px rgba(9,39,31,.04)}.novelty-note h3{margin:7px 0;font-size:clamp(1rem,2vw,1.35rem);letter-spacing:-.03em}.novelty-note p{max-width:760px;margin:0;font-size:.85rem;line-height:1.7;color:var(--muted)}.novelty-note .btn{flex-shrink:0}.feature-card-proofloop{background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,var(--gold) 13%,transparent),transparent 44%),var(--paper)}.feature-card-proofloop .feature-icon{background:linear-gradient(140deg,color-mix(in srgb,var(--green-2) 20%,var(--paper)),color-mix(in srgb,var(--gold) 18%,var(--paper)))}@media(max-width:650px){.novelty-note{align-items:stretch;flex-direction:column}.novelty-note .btn{width:100%}}

.concept-evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.concept-evidence-card{min-width:0;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);transition:transform .24s,border-color .24s,box-shadow .24s}.concept-evidence-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--green-2) 25%,var(--line));box-shadow:0 8px 20px rgba(10,40,31,.05)}.concept-evidence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.concept-evidence-head strong{font-size:.83rem;line-height:1.5;overflow-wrap:anywhere}.concept-evidence-rate{flex-shrink:0;font-size:.85rem;font-weight:900;color:var(--green-2)}.concept-evidence-track{height:6px;margin:11px 0 9px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--green-2) 10%,var(--paper))}.concept-evidence-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green-2),var(--gold));transform-origin:left;animation:evidence-bar-in .7s cubic-bezier(.16,1,.3,1) both}.concept-evidence-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.concept-evidence-foot small{color:var(--muted);font-size:.68rem}.concept-evidence-foot .timestamp{font-size:.7rem}@keyframes evidence-bar-in{from{transform:scaleX(.05)}to{transform:scaleX(1)}}@media(max-width:650px){.concept-evidence-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.concept-evidence-card,.concept-evidence-track span{animation:none!important;transition:none!important}}

/* Source-evidence and citation clarity for grounded tutor chat. */
.chat-evidence{display:inline-flex;align-items:center;gap:7px;margin-top:12px;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800;letter-spacing:.01em;line-height:1.3}
.chat-evidence.is-supported{color:var(--green-2);background:color-mix(in srgb,var(--mint-2) 76%,transparent);border:1px solid color-mix(in srgb,var(--green-2) 22%,var(--line))}
.chat-evidence.is-low{color:var(--muted);background:var(--paper);border:1px dashed var(--line)}
.citation-chip{display:inline-flex;align-items:flex-start;gap:7px;max-width:min(100%,460px);text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.citation-chip:hover{transform:translateY(-1px);border-color:var(--green-2);box-shadow:0 5px 14px rgba(25,90,63,.1)}
.citation-chip span:first-child{flex-shrink:0}
.citation-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:330px;font-weight:600;color:var(--muted)}
@media(max-width:600px){.chat-evidence{font-size:.68rem}.citation-chip{max-width:100%;}.citation-preview{max-width:calc(100vw - 220px)}}
@media(prefers-reduced-motion:reduce){.citation-chip{transition:none}.citation-chip:hover{transform:none}}


/* Kaiako Green & White Motion Pass — interaction polish only; layout and learning flows remain unchanged. */
:root {
  --bg:#f5faf6; --paper:#ffffff; --paper-2:#eaf4ed; --ink:#15392e; --muted:#60766b;
  --line:#d8e7dc; --green:#174b39; --green-2:#16845a; --mint:#8fe0b0; --mint-2:#e0f6e8;
  --gold:#c7aa68; --coral:#d97862; --danger:#b63248;
  --shadow:0 24px 64px rgba(16,65,43,.09); --shadow-sm:0 12px 32px rgba(16,65,43,.055);
}
[data-theme="dark"] {
  --bg:#0b1e17; --paper:#11291f; --paper-2:#1a392a; --ink:#effbf2; --muted:#a3beac;
  --line:#2c4e3b; --green:#a9e7bd; --green-2:#69d99a; --mint:#9de7b5; --mint-2:#1a3d2a;
  --gold:#d9c080; --coral:#ec9a84; --danger:#ff929d;
  --shadow:0 24px 64px rgba(0,0,0,.28); --shadow-sm:0 12px 32px rgba(0,0,0,.19);
}
body::before {
  background:radial-gradient(ellipse at 8% 4%,rgba(102,202,139,.16),transparent 36%),
    radial-gradient(ellipse at 94% 18%,rgba(163,224,180,.13),transparent 34%),
    radial-gradient(ellipse at 72% 96%,rgba(66,155,102,.08),transparent 36%);
  background-size:140% 140%;
}
[data-theme="dark"] body::before {
  background:radial-gradient(ellipse at 8% 4%,rgba(60,172,111,.16),transparent 36%),
    radial-gradient(ellipse at 94% 18%,rgba(81,162,107,.11),transparent 34%),
    radial-gradient(ellipse at 72% 96%,rgba(44,129,80,.09),transparent 36%);
}
/* Keep the existing forest-green hero; remove cool-blue and purple casts from its accents. */
.hero-home::before {
  background:radial-gradient(ellipse at 72% 36%,rgba(50,201,125,.19),transparent 35%),
    radial-gradient(ellipse at 88% 68%,rgba(146,220,166,.075),transparent 28%),
    radial-gradient(ellipse at 40% 92%,rgba(58,151,91,.14),transparent 42%);
}
.hero-home .hero-highlight {background-image:linear-gradient(100deg,#a8edb9,#6dd99d 58%,#d7efde)}
.hero-home .hero-highlight::after {background:linear-gradient(90deg,rgba(104,238,145,0),rgba(104,238,145,.88),rgba(209,243,218,.7),rgba(104,238,145,0))}
.panel-dot.purple,.idea-icon,.chip-icon {background:rgba(107,210,143,.14);color:#9ce7b5;box-shadow:0 0 13px rgba(107,210,143,.14)}
.gold-dot {background:#b9dca5;box-shadow:0 0 12px rgba(185,220,165,.2)}
.hero-stamp span {color:#b9dca5}
/* Intentional micro-interactions: rich feedback without changing control behavior. */
@media (prefers-reduced-motion:no-preference) {
  .hero-home .live-dot,.proof-status i {animation:green-status-pulse 2.4s ease-in-out infinite}
  .hero-home .hero-highlight {background-size:180% 100%;animation:green-text-sheen 7s ease-in-out infinite}
  .hero-home .console-panel {transform:translateZ(0);will-change:transform}
  .hero-home .console-panel:hover {box-shadow:0 12px 32px rgba(0,0,0,.14),0 0 0 1px rgba(135,235,170,.08)}
  .hero-home .progress-ring {animation:progress-ring-breathe 4s ease-in-out infinite}
  .hero-home .timeline-track i {position:relative;overflow:hidden}
  .hero-home .timeline-track i::after {content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:translateX(-120%);animation:timeline-shimmer 4.6s ease-in-out infinite}
  .feature-card .feature-icon {transition:transform .34s cubic-bezier(.16,1,.3,1),background .3s,box-shadow .3s}
  .feature-card:hover .feature-icon {transform:translateY(-2px) rotate(-5deg) scale(1.06);box-shadow:0 8px 18px rgba(28,125,75,.12)}
  .feature-foot b {display:inline-block;transition:transform .28s cubic-bezier(.16,1,.3,1)}
  .feature-card:hover .feature-foot b {transform:translate(3px,-2px)}
  .nav-links a {position:relative}
  .nav-links a::after {content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:4px;background:var(--mint);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.16,1,.3,1)}
  .nav-links a:hover::after,.nav-links a[aria-current="page"]::after {transform:scaleX(1)}
  .btn,.icon-btn,.tab-btn,.quiz-option,.modal-close,.password-toggle,.modal-actions button,.source-switch button,.summary-length button {transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .24s ease,background .24s ease,border-color .24s ease,color .24s ease,filter .24s ease}
  .btn-primary {background-size:180% 180%;background-position:0% 50%}
  .btn-primary:hover {background-position:100% 50%;filter:saturate(1.08)}
  button:not(:disabled):hover,.icon-btn:hover,.tab-btn:hover,.quiz-option:hover {border-color:color-mix(in srgb,var(--green-2) 42%,var(--line))}
  button:not(:disabled):active,.icon-btn:active,.tab-btn:active,.quiz-option:active {transform:scale(.975)}
  .panel,.lesson-card,.stat-card,.feature-card,.concept-evidence-card,.proofloop-signal-card,.proofloop-challenge-card {transition:transform .32s cubic-bezier(.16,1,.3,1),border-color .28s ease,box-shadow .32s ease,background .28s ease}
  .panel:hover,.lesson-card:hover,.stat-card:hover {box-shadow:var(--shadow)}
  .icon-btn:hover {box-shadow:0 7px 20px rgba(21,107,61,.10)}
  dialog[open] {animation:dialog-arrive .28s cubic-bezier(.16,1,.3,1) both}
  dialog[open]::backdrop {animation:backdrop-arrive .24s ease-out both}
  .toast {animation:toast-arrive .36s cubic-bezier(.16,1,.3,1) both}
  .status-pill.ready {animation:status-glow 3.2s ease-in-out infinite}
  #upload-progress[aria-busy="true"] .progress-bar,.progress-bar[aria-busy="true"] {background-image:linear-gradient(100deg,var(--green-2) 0%,#7ee3a4 38%,#d7f6df 50%,#7ee3a4 62%,var(--green-2) 100%);background-size:220% 100%;animation:green-progress-sweep 1.25s linear infinite}
  .is-loading .spinner {animation:spin .66s linear infinite,spinner-pulse 1.4s ease-in-out infinite}
  [aria-busy="true"] .spinner,[aria-busy="true"].spinner {animation:spin .66s linear infinite,spinner-pulse 1.4s ease-in-out infinite}
  .skeleton-line {background:linear-gradient(100deg,rgba(167,208,188,.12) 20%,rgba(177,240,200,.26) 42%,rgba(167,208,188,.12) 64%);background-size:220% 100%;animation:green-skeleton-shimmer 2.8s ease-in-out infinite}
  .page-leaving > main,.page-leaving > .topbar {will-change:opacity,transform,filter}
}
@keyframes green-status-pulse {0%,100%{box-shadow:0 0 0 3px rgba(125,240,184,.09),0 0 9px rgba(125,240,184,.45)}50%{box-shadow:0 0 0 6px rgba(125,240,184,.02),0 0 17px rgba(125,240,184,.72)}}
@keyframes green-text-sheen {0%,72%,100%{background-position:0% 50%}84%{background-position:100% 50%}}
@keyframes progress-ring-breathe {0%,100%{filter:drop-shadow(0 0 2px rgba(141,238,188,.2))}50%{filter:drop-shadow(0 0 7px rgba(141,238,188,.55))}}
@keyframes timeline-shimmer {0%,50%{transform:translateX(-120%)}75%,100%{transform:translateX(120%)}}
@keyframes green-progress-sweep {to{background-position:-220% 0}}
@keyframes green-skeleton-shimmer {0%,100%{background-position:100% 0}50%{background-position:-100% 0}}
@keyframes spinner-pulse {0%,100%{opacity:.75}50%{opacity:1}}
@keyframes dialog-arrive {from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-arrive {from{opacity:0}to{opacity:1}}
@keyframes toast-arrive {from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce) {
  .hero-home .live-dot,.proof-status i,.hero-home .hero-highlight,.hero-home .progress-ring,.hero-home .timeline-track i::after,
  .feature-card .feature-icon,.feature-foot b,.nav-links a::after,dialog[open],dialog[open]::backdrop,.toast,
  #upload-progress[aria-busy="true"] .progress-bar,.progress-bar[aria-busy="true"],.is-loading .spinner,
  [aria-busy="true"] .spinner,[aria-busy="true"].spinner,.skeleton-line {animation:none!important;transition:none!important}
  button:not(:disabled):active,.icon-btn:active,.tab-btn:active,.quiz-option:active {transform:none}
}
@media(prefers-reduced-motion:no-preference){button:not(.btn),[role="button"]{position:relative;isolation:isolate;overflow:hidden}}
