:root{--blue:#1496f5;--blue-dark:#0876cb;--ink:#182333;--muted:#6d7785;--surface:#fff;--canvas:#f5f7fa;--line:#e5e9ef;--nav-height:72px}*{box-sizing:border-box}html,body{background:#dbe5ef;min-height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #ffd36c}.app{min-height:100dvh;color:var(--ink);background:radial-gradient(circle at 50% 0,#edf7ff 0,#dce8f3 42%,#cbd9e6 100%);place-items:center;display:grid}.phone-shell{background:var(--canvas);width:min(100%,460px);height:min(100dvh,920px);min-height:680px;position:relative;overflow:hidden;box-shadow:0 30px 80px #26405838}.theme-dark{--ink:#f5f8fc;--muted:#a7b2c0;--surface:#17202b;--canvas:#0f1720;--line:#2a3643}.theme-dark .phone-shell{background:var(--canvas)}.page{padding:max(24px, env(safe-area-inset-top)) 20px calc(var(--nav-height) + 28px);background:var(--canvas);scrollbar-width:none;position:absolute;inset:0;overflow-y:auto}.page::-webkit-scrollbar{display:none}.page-header{align-items:center;gap:13px;margin-bottom:24px;display:flex}.page-header>div:last-child{min-width:0}.page-header span,.eyebrow{color:var(--blue-dark);letter-spacing:.13em;font-size:10px;font-weight:800}.page-header h1{letter-spacing:-.04em;margin:2px 0 1px;font-size:28px}.page-header p{color:var(--muted);margin:0;font-size:13px}.brand-mark{color:var(--blue-dark);letter-spacing:-.04em;align-items:center;gap:8px;font-size:20px;font-weight:850;display:inline-flex}.login-page{flex-direction:column;justify-content:center;gap:22px;padding-bottom:32px;display:flex}.login-card{background:linear-gradient(#fffffff7,#eef8ffeb);border:1px solid #1496f529;border-radius:26px;padding:23px 20px;box-shadow:0 22px 55px #1c364d1f}.theme-dark .login-card{background:linear-gradient(#1c2835f5,#133046e6)}.login-card h1{letter-spacing:-.05em;margin:7px 0 8px;font-size:32px;line-height:1.04}.login-card>p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.login-form{flex-direction:column;gap:12px;margin-top:20px;display:flex}.login-status{background:#eaf6ff;border-radius:13px;padding:10px 11px;font-weight:800;color:var(--blue-dark)!important;margin-top:12px!important;font-size:10px!important;line-height:1.45!important}.login-error,.login-not_found{background:#fff4d9;color:#8c6311!important}.theme-dark .login-status{background:#173c57;color:#9dd8ff!important}.theme-dark .login-error,.theme-dark .login-not_found{background:#493818;color:#ffda8a!important}.login-help{border:1px solid var(--line);background:var(--surface);border-radius:15px;flex-direction:column;gap:3px;margin-top:10px;padding:11px;display:flex}.login-help strong{font-size:12px}.login-help span{color:var(--muted);font-size:10px;line-height:1.4}.text-button{color:var(--blue-dark);cursor:pointer;background:0 0;border:0;margin-top:13px;padding:7px 3px;font-size:11px;font-weight:850}.onboarding-page{padding-bottom:32px}.onboarding-copy{margin:38px 0 25px}.onboarding-copy h1{letter-spacing:-.05em;margin:6px 0 8px;font-size:34px;line-height:1.04}.onboarding-copy p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.form-stack{flex-direction:column;gap:14px;display:flex}.field-row{grid-template-columns:1fr 1.35fr;gap:12px;display:grid}.field{min-width:0;color:var(--muted);flex-direction:column;gap:6px;font-size:11px;font-weight:750;display:flex}.field input,.field select{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:13px;outline:none;padding:12px 13px;font-size:14px;font-weight:550}.field input:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #1496f51f}.field-note{color:var(--muted);margin:-2px 0 1px;font-size:9px;font-weight:650;line-height:1.35}.form-hint{color:#8c6311;background:#fff4d9;border-radius:12px;grid-column:1/-1;margin:0;padding:9px 11px;font-size:10px;font-weight:750;line-height:1.4}.theme-dark .form-hint{color:#ffda8a;background:#493818}.primary-button{background:linear-gradient(135deg, var(--blue), #0875d2);color:#fff;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;margin-top:8px;padding:14px;font-weight:800;display:flex;box-shadow:0 12px 28px #1496f540}.primary-button:disabled{opacity:.65;cursor:wait}.arrow-forward{transform:rotate(180deg)}.access-gate-page{flex-direction:column;justify-content:center;gap:22px;padding-bottom:32px;display:flex}.access-gate-card{background:linear-gradient(#fffffff5,#ecf7ffeb);border:1px solid #1496f52e;border-radius:26px;padding:24px 20px;position:relative;overflow:hidden;box-shadow:0 22px 55px #1c364d21}.theme-dark .access-gate-card{background:linear-gradient(#1c2835f5,#133046e6)}.access-gate-card:before{content:"";background:#1496f51f;border-radius:50%;width:190px;height:190px;position:absolute;inset:-80px -70px auto auto}.access-gate-card h1{letter-spacing:-.05em;margin:15px 0 9px;font-size:31px;line-height:1.04;position:relative}.access-gate-card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5;position:relative}.access-gate-card>small{color:var(--muted);margin-top:9px;font-size:11px;line-height:1.45;display:block;position:relative}.access-gate-details{border:1px solid var(--line);background:#fff9;border-radius:17px;flex-direction:column;gap:8px;margin-top:18px;padding:13px;display:flex;position:relative}.theme-dark .access-gate-details{background:#ffffff0a}.access-gate-details div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding-bottom:8px;display:flex}.access-gate-details div:last-child{border-bottom:0;padding-bottom:0}.access-gate-details span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:850}.access-gate-details strong{min-width:0;color:var(--ink);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.access-gate-actions{grid-template-columns:1fr;gap:9px;margin-top:16px;display:grid;position:relative}.access-gate-actions button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:13px;padding:12px;font-size:12px;font-weight:850}.access-gate-actions button.secondary{color:var(--blue-dark);background:#e1f2ff}.theme-dark .access-gate-actions button.secondary{color:#9dd8ff;background:#183c56}.access-gate-actions button:disabled{opacity:.65;cursor:wait}.access-gate-note{margin-top:11px!important;font-size:10px!important}.access-gate-pending{border-color:#ffbc4c6b}.access-gate-cancelled{border-color:#ff64645c}.access-gate-paused{border-color:#8169e057}.voice-screen{background:#b9cce0;position:absolute;inset:0;overflow:hidden}.ashley-media{background-image:url(/ashley-clean.png);background-position:top;background-size:cover;transition:filter .35s,transform .5s;position:absolute;inset:0}.voice-thinking .ashley-media{filter:saturate(.78)brightness(.9);transform:scale(1.008)}.voice-speaking .ashley-media{filter:saturate(1.05)brightness(1.02)}.voice-gradient{pointer-events:none;background:linear-gradient(#0000,#08142114 22%,#081421b3 90%,#081421e0);position:absolute;inset:30% 0 0}.media-status{top:max(18px, env(safe-area-inset-top));white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#0f192373;border:1px solid #ffffff52;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:650;display:flex;position:absolute;left:50%;transform:translate(-50%)}.status-dot{background:#8fd4ff;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #8fd4ff26}.voice-recording .status-dot{background:#ff6464;animation:1.1s infinite pulse}.voice-thinking .status-dot{background:#ffd36c;animation:1.1s infinite pulse}.voice-speaking .status-dot{background:#54e594;animation:1.1s infinite pulse}.voice-error .status-dot{background:#ff6464}.voice-content{z-index:2;left:18px;right:18px;bottom:calc(var(--nav-height) + max(18px, env(safe-area-inset-bottom)));position:absolute}.caption-text{color:#fff;text-align:center;letter-spacing:-.035em;text-shadow:0 2px 12px #0000008c;text-wrap:balance;max-width:390px;margin:0 auto 22px;font-size:clamp(25px,7vw,36px);font-weight:850;line-height:1.12}.caption-small{font-size:clamp(20px,5.8vw,28px);line-height:1.16}.caption-normal{font-size:clamp(25px,7vw,36px)}.caption-large{font-size:clamp(31px,8.4vw,46px);line-height:1.07}.voice-actions{grid-template-columns:repeat(4,1fr);justify-items:center;gap:12px;display:grid}.round-button{aspect-ratio:1;cursor:pointer;color:#fff;background:#1496f5eb;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:clamp(62px,17vw,76px);transition:transform .15s,background .2s;display:grid;box-shadow:0 12px 25px #0000003d}.round-button svg{stroke-width:2.15px;width:31px;height:31px}.round-button:active{transform:scale(.94)}.round-button.recording{background:#ef4e58;box-shadow:0 0 0 7px #ef4e5833,0 12px 25px #0000003d}.round-button.selected{background:var(--blue-dark);box-shadow:0 0 0 3px #ffffffe0,0 12px 25px #0000003d}.bottom-nav{z-index:10;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:6px 9px env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffed;border-top:1px solid #d7dee7bf;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;bottom:0;left:0;right:0}.theme-dark .bottom-nav{background:#141d27f0;border-color:#293543}.bottom-nav button{color:#85909e;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.bottom-nav button:before{content:"";background:0 0;border-radius:0 0 8px 8px;width:34px;height:3px;position:absolute;top:-6px}.bottom-nav svg{width:22px;height:22px}.bottom-nav span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bottom-nav button.active{color:var(--blue-dark)}.bottom-nav button.active:before{background:var(--blue)}.learning-nudge{z-index:14;top:max(68px, calc(env(safe-area-inset-top) + 54px));color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #ffffff9e;border-radius:18px;grid-template-columns:34px 1fr 28px;align-items:center;gap:10px;padding:10px;animation:.22s nudgeIn;display:grid;position:absolute;left:14px;right:14px;box-shadow:0 14px 35px #12263a2e}.theme-dark .learning-nudge{background:#161f2aeb;border-color:#ffffff1a;box-shadow:0 14px 35px #0000004d}.learning-nudge>i{color:#14874a;background:#dbf7e7;border-radius:12px;place-items:center;width:34px;height:34px;font-size:16px;font-style:normal;font-weight:900;display:grid}.learning-nudge.nudge-review>i{color:#8c6311;background:#fff4d9}.learning-nudge.nudge-memory>i{color:var(--blue-dark);background:#e1f2ff}.learning-nudge div{flex-direction:column;gap:1px;min-width:0;display:flex}.learning-nudge strong{color:var(--ink);letter-spacing:-.01em;font-size:12px}.learning-nudge span{color:var(--muted);font-size:10px;line-height:1.35}.learning-nudge button{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.learning-nudge button svg{width:16px;height:16px}.mini-ashley{width:52px;height:52px;box-shadow:0 0 0 3px var(--surface), 0 0 0 5px #a8d9fb;background:url(/ashley-clean.png) 50% 13%/190%;border-radius:50%;flex:0 0 52px}.chat-page{padding-bottom:calc(var(--nav-height) + 8px);flex-direction:column;display:flex;overflow:hidden}.chat-page .page-header{flex:none}.messages{scrollbar-width:none;flex-direction:column;flex:1;gap:10px;padding:5px 2px 16px;display:flex;overflow-y:auto}.day-divider{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:99px;align-self:center;margin-bottom:6px;padding:5px 10px;font-size:10px}.bubble{border-radius:17px;max-width:84%;padding:11px 13px;font-size:14px;line-height:1.43;box-shadow:0 5px 15px #1f394e0d}.bubble-ashley{background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:5px;align-self:flex-start}.bubble-student{background:var(--blue);color:#fff;border-bottom-right-radius:5px;align-self:flex-end}.typing{color:var(--muted);align-items:center;gap:4px;padding:3px 6px;font-size:11px;display:flex}.typing span{background:var(--blue);border-radius:50%;width:5px;height:5px;animation:1s infinite bounce}.typing span:nth-child(2){animation-delay:.12s}.typing span:nth-child(3){margin-right:3px;animation-delay:.24s}.chat-composer{border-top:1px solid var(--line);background:var(--canvas);flex:none;gap:8px;padding:12px 0 4px;display:flex}.chat-composer input{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:999px;outline:none;flex:1;padding:11px 15px;font-size:13px}.chat-composer button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid}.chat-composer button:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}.level-summary{color:#fff;background:linear-gradient(135deg,#0f8ef0,#066dc2);border-radius:20px;justify-content:space-between;align-items:center;padding:17px;display:flex;box-shadow:0 12px 28px #0f8ef033}.level-summary div:first-child{flex-direction:column;display:flex}.level-summary strong{font-size:20px}.level-summary span{opacity:.82;font-size:11px}.level-ring{border:6px solid #ffffff47;border-top-color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;transform:rotate(25deg)}.level-ring span{opacity:1;font-weight:850;transform:rotate(-25deg)}.lesson-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 14px;display:grid}.lesson-stats div{border:1px solid var(--line);background:var(--surface);border-radius:15px;min-width:0;padding:10px 11px;box-shadow:0 5px 18px #1c364d0a}.lesson-stats strong{color:var(--blue-dark);letter-spacing:-.03em;font-size:18px;display:block}.lesson-stats span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1px;font-size:9px;font-weight:800;display:block}.current-lesson-panel{background:linear-gradient(#fffffff0,#eaf6ffe0);border:1px solid #1496f538;border-radius:20px;margin-top:14px;padding:15px;box-shadow:0 10px 26px #1c364d12}.theme-dark .current-lesson-panel{background:linear-gradient(#1c2835f0,#133046e0)}.current-lesson-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.current-lesson-panel h2{letter-spacing:-.035em;margin:4px 0 6px;font-size:18px}.current-lesson-panel p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.lesson-status-pill{color:#637083;text-transform:uppercase;white-space:nowrap;background:#edf2f7;border-radius:99px;flex:none;padding:5px 8px;font-size:9px;font-weight:850}.lesson-status-pill.status-mastered{color:#14874a;background:#dbf7e7}.lesson-status-pill.status-in-practice{color:#087acb;background:#dcefff}.lesson-status-pill.status-delivered{color:#6850b8;background:#ece4ff}.theme-dark .lesson-status-pill{color:#b8c3cf;background:#253140}.theme-dark .lesson-status-pill.status-mastered{color:#7ee2a5;background:#123725}.theme-dark .lesson-status-pill.status-in-practice{color:#9dd8ff;background:#173c57}.theme-dark .lesson-status-pill.status-delivered{color:#c5b8ff;background:#312b4c}.mastery-target{background:#ffffff94;border:1px solid #1496f51f;border-radius:15px;margin-top:12px;padding:10px}.theme-dark .mastery-target{background:#ffffff0a}.mastery-target>div:first-child{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:7px;display:flex}.mastery-target span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800}.mastery-target strong{color:var(--blue-dark);font-size:16px}.mastery-target small{color:var(--muted);margin-top:6px;font-size:9px;display:block}.lesson-panel-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.lesson-panel-actions button{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:12px;padding:10px 12px;font-size:11px;font-weight:850}.lesson-panel-actions button.secondary{color:var(--blue-dark);background:#e1f2ff}.theme-dark .lesson-panel-actions button.secondary{color:#9dd8ff;background:#183c56}.weak-point-list,.lesson-weak-points{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.weak-point-list span,.lesson-weak-points em{color:#8c6311;background:#fff4d9;border-radius:99px;padding:4px 7px;font-size:9px;font-style:normal;font-weight:800}.theme-dark .weak-point-list span,.theme-dark .lesson-weak-points em{color:#ffda8a;background:#493818}.advance-note{color:var(--muted);margin-top:9px;font-size:10px;line-height:1.4;display:block}.next-lessons{border-top:1px solid var(--line);margin-top:13px;padding-top:12px}.next-lessons strong{margin-bottom:8px;font-size:11px;display:block}.next-lessons ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.next-lessons li{color:var(--muted);align-items:flex-start;gap:7px;font-size:10px;line-height:1.35;display:flex}.next-lessons li span{color:var(--blue-dark);background:#e1f2ff;border-radius:99px;flex:none;padding:2px 6px;font-size:9px;font-weight:850}.theme-dark .next-lessons li span{color:#9dd8ff;background:#183c56}.level-filter{scrollbar-width:none;gap:7px;margin-top:15px;padding:2px 1px 1px;display:flex;overflow-x:auto}.level-filter::-webkit-scrollbar{display:none}.level-filter button{border:1px solid var(--line);color:var(--muted);background:var(--surface);cursor:pointer;border-radius:99px;flex:none;padding:8px 10px;font-size:11px;font-weight:850;box-shadow:0 5px 16px #1c364d0a}.level-filter button span{opacity:.62;margin-left:4px}.level-filter button.active{color:var(--blue-dark);background:#eaf6ff;border-color:#1496f557}.theme-dark .level-filter button.active{color:#9dd8ff;background:#173c57}.lesson-list{flex-direction:column;gap:10px;margin-top:18px;display:flex}.lesson-card{background:var(--surface);border:1px solid var(--line);border-radius:17px;align-items:center;gap:12px;padding:13px;display:flex;position:relative}.lesson-card.current{border-color:#1496f57a;box-shadow:0 0 0 3px #1496f514}.lesson-card.needs-review{border-color:#ffbc4c80}.lesson-index{color:#8692a0;background:#edf2f7;border-radius:12px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:12px;font-weight:850;display:grid}.theme-dark .lesson-index{background:#253140}.status-mastered .lesson-index{color:#14874a;background:#dbf7e7}.status-in-practice .lesson-index{color:#087acb;background:#dcefff}.status-delivered .lesson-index{color:#6850b8;background:#ece4ff}.status-not-started .lesson-index{color:#8692a0;background:#edf2f7}.theme-dark .status-mastered .lesson-index{color:#7ee2a5;background:#123725}.theme-dark .status-in-practice .lesson-index{color:#9dd8ff;background:#173c57}.theme-dark .status-delivered .lesson-index{color:#c5b8ff;background:#312b4c}.lesson-info{flex:1;min-width:0}.lesson-info>span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.lesson-info h3{margin:2px 0 7px;font-size:14px}.lesson-info small{color:var(--muted);text-transform:capitalize;margin-top:4px;font-size:9px;display:block}.lesson-progress{background:var(--line);border-radius:8px;height:4px;overflow:hidden}.lesson-progress i{border-radius:inherit;background:var(--blue);height:100%;display:block}.lesson-lock{color:#a3adb7}.lesson-empty{border:1px dashed var(--line);color:var(--muted);background:var(--surface);text-align:center;border-radius:17px;padding:16px;font-size:12px}.profile-hero{color:#fff;background:linear-gradient(135deg,#1496f5,#0771cb);border-radius:20px;align-items:center;gap:14px;margin-bottom:17px;padding:16px;display:flex}.profile-avatar{background:#ffffff2e;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.profile-hero h2{margin:0;font-size:21px}.profile-hero p{opacity:.76;margin:2px 0 5px;font-size:12px}.profile-hero span{background:#ffffff2e;border-radius:99px;padding:3px 8px;font-size:9px;font-weight:800}.student-id-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;margin-bottom:15px;padding:13px 14px}.student-id-card strong{margin-bottom:7px;font-size:12px;display:block}.student-id-card code{text-overflow:ellipsis;white-space:nowrap;color:var(--blue-dark);background:#e8f5ff;border-radius:10px;padding:8px 9px;font-size:10px;font-weight:850;display:block;overflow:hidden}.theme-dark .student-id-card code{color:#9dd8ff;background:#173c57}.student-id-card p{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.45}.discovery-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;margin-bottom:15px;padding:14px}.discovery-card>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.discovery-card strong{font-size:13px}.discovery-card span{color:var(--blue-dark);white-space:nowrap;font-size:10px;font-weight:800}.discovery-card p{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.45}.discovery-progress{background:var(--line);border-radius:99px;height:5px;margin-top:9px;overflow:hidden}.discovery-progress i{border-radius:inherit;background:var(--blue);height:100%;display:block}.access-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;margin-bottom:15px;padding:14px;box-shadow:0 5px 18px #1c364d0a}.account-section-title{grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:2px;display:flex}.account-section-title strong{font-size:13px}.account-section-title span{color:var(--blue-dark);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:9px;font-weight:850}.access-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.access-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.access-row strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.access-row:last-of-type{border-bottom:0}.access-card p{color:var(--muted);margin:8px 0 0;font-size:10px;line-height:1.45}.access-badge{text-transform:uppercase;background:#edf2f7;border-radius:99px;padding:4px 8px;font-weight:850;color:#637083!important;font-size:9px!important}.access-active{background:#dbf7e7;color:#14874a!important}.access-pending{background:#fff4d9;color:#8c6311!important}.access-paused{background:#ece4ff;color:#6850b8!important}.access-cancelled{background:#ffe3e3;color:#b13737!important}.theme-dark .access-badge{background:#253140;color:#b8c3cf!important}.theme-dark .access-active{background:#123725;color:#7ee2a5!important}.theme-dark .access-pending{background:#493818;color:#ffda8a!important}.theme-dark .access-paused{background:#312b4c;color:#c5b8ff!important}.theme-dark .access-cancelled{background:#4b2020;color:#ff9c9c!important}.account-fields{flex-direction:column;gap:12px;display:flex}.pedagogical-profile-card{background:#edf8ff;border:1px solid #1496f524;border-radius:15px;grid-column:1/-1;padding:12px}.theme-dark .pedagogical-profile-card{background:#132b3d}.pedagogical-profile-card>strong{margin-bottom:9px;font-size:12px;display:block}.pedagogical-profile-card div{border-top:1px solid #1496f51a;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.pedagogical-profile-card span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:800}.pedagogical-profile-card b{color:var(--blue-dark);text-align:right;font-size:11px}.pedagogical-profile-card p{color:var(--muted);margin:9px 0 0;font-size:10px;line-height:1.45}.save-profile{color:#fff;background:var(--blue);cursor:pointer;border:0;border-radius:12px;padding:11px 13px;font-size:12px;font-weight:800}.save-profile:disabled{opacity:.65;cursor:wait}.legal-links{background:var(--surface);border:1px solid var(--line);border-radius:17px;margin-top:15px;overflow:hidden}.legal-links button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;justify-content:space-between;padding:13px 15px;font-size:12px;display:flex}.legal-links button:last-child{border-bottom:0}.legal-links span{color:var(--muted);font-size:18px}.legal-links .logout-link{color:#b13737;font-weight:800}.theme-dark .legal-links .logout-link{color:#ff9c9c}.legal-sheet{flex-direction:column;gap:10px;display:flex}.legal-content{border:1px solid var(--line);background:var(--surface);border-radius:17px;flex-direction:column;gap:10px;padding:14px;display:flex}.legal-content h3{color:var(--ink);letter-spacing:-.02em;margin:6px 0 0;font-size:13px}.legal-content p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.legal-close{width:100%;margin-top:2px}.sheet-backdrop{z-index:30;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#08121c8a;align-items:flex-end;animation:.2s fadeIn;display:flex;position:absolute;inset:0}.settings-sheet{width:100%;max-height:94%;padding:9px 18px calc(26px + env(safe-area-inset-bottom));background:var(--canvas);color:var(--ink);border-radius:28px 28px 0 0;animation:.3s cubic-bezier(.2,.8,.2,1) sheetUp;overflow-y:auto;box-shadow:0 -18px 50px #0003}.sheet-handle{background:#c7ced7;border-radius:99px;width:38px;height:4px;margin:0 auto 13px}.sheet-title{justify-content:space-between;align-items:flex-start;margin-bottom:15px;display:flex}.sheet-title span{color:var(--blue-dark);letter-spacing:.1em;font-size:9px;font-weight:850}.sheet-title h2{letter-spacing:-.04em;margin:2px 0;font-size:25px}.sheet-title small{color:var(--muted);font-size:10px;font-weight:750;display:block}.sheet-title>button{background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid}.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:17px;margin-bottom:10px;padding:12px;box-shadow:0 5px 18px #1c364d0a}.toggle-row{text-align:left;border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;background:0 0;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-bottom:10px;padding:5px 0 11px;display:grid}.toggle-row:last-child{border:0;margin-bottom:0;padding-bottom:3px}.toggle-row:disabled{opacity:.45;cursor:not-allowed}.toggle-row div{flex-direction:column;gap:1px;display:flex}.toggle-row strong{font-size:13px}.toggle-row small{color:var(--muted);font-size:10px}.setting-icon{width:35px;height:35px;color:var(--blue-dark);background:#e3f3ff;border-radius:11px;place-items:center;display:grid}.theme-dark .setting-icon{background:#173c57}.setting-icon svg{width:18px}.toggle{background:#cbd2da;border-radius:99px;width:43px;height:24px;padding:3px;transition:background .2s}.toggle>i{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block;box-shadow:0 2px 5px #0000002e}.toggle.on{background:var(--blue)}.toggle.on>i{transform:translate(19px)}.setting-heading{align-items:center;gap:10px;margin-bottom:11px;display:flex}.setting-heading strong{font-size:13px}.setting-note{color:var(--muted);margin:8px 2px 0;font-size:10px;line-height:1.45}.segmented{background:var(--canvas);border-radius:12px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}.segmented.segmented-3{grid-template-columns:repeat(3,1fr)}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 5px;font-size:10px;font-weight:750}.segmented button.active{background:var(--surface);color:var(--blue-dark);box-shadow:0 3px 10px #1c354d17}.radio-list{flex-direction:column;display:flex}.radio-list button{border:0;border-bottom:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:9px 2px;display:flex}.radio-list button:last-child{border-bottom:0}.radio-list button>i{border:1.5px solid #aeb7c2;border-radius:50%;flex:0 0 17px;place-items:center;width:17px;height:17px;display:grid}.radio-list button.selected>i{border-color:var(--blue)}.radio-list button>i span{background:var(--blue);border-radius:50%;width:9px;height:9px}.radio-list button div{flex-direction:column;display:flex}.radio-list strong{font-size:12px}.radio-list small{color:var(--muted);font-size:9px}@keyframes pulse{50%{opacity:.45;transform:scale(.72)}}@keyframes bounce{50%{opacity:.5;transform:translateY(-3px)}}@keyframes fadeIn{0%{opacity:0}}@keyframes nudgeIn{0%{opacity:0;transform:translateY(-8px)}}@keyframes sheetUp{0%{opacity:.6;transform:translateY(35px)}}@media (min-width:520px){.phone-shell{border-radius:28px;height:min(94dvh,920px)}}@media (min-width:900px){:root{--desktop-sidebar:88px}.app{padding:24px}.phone-shell{border:1px solid #ffffffb3;border-radius:30px;width:min(1180px,100vw - 48px);height:min(820px,100dvh - 48px);min-height:620px;box-shadow:0 32px 90px #2640583d}.bottom-nav{width:var(--desktop-sidebar);border-top:0;border-right:1px solid #d7dee7bf;grid-template-rows:repeat(4,76px);grid-template-columns:1fr;align-content:center;height:100%;padding:118px 8px 28px;top:0;right:auto}.bottom-nav:before{content:"V";color:#fff;background:linear-gradient(135deg, var(--blue), #0875d2);border-radius:15px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:900;display:grid;position:absolute;top:28px;left:22px;box-shadow:0 10px 22px #1496f540}.bottom-nav button:before{border-radius:0 8px 8px 0;width:3px;height:34px;top:50%;left:-8px;transform:translateY(-50%)}.bottom-nav svg{width:26px;height:26px}.learning-nudge{top:24px;left:calc(var(--desktop-sidebar) + 24px);width:min(430px, calc(100% - var(--desktop-sidebar) - 48px));right:auto}.voice-screen{left:var(--desktop-sidebar)}.ashley-media{background-position:50% 24%;right:40%}.voice-gradient{display:none}.voice-content{background:var(--canvas);flex-direction:column;justify-content:center;width:40%;padding:70px 54px;display:flex;inset:0 0 0 auto}.voice-content:before{content:"CONVERSA COM ASHLEY";color:var(--blue-dark);letter-spacing:.14em;margin-bottom:12px;font-size:11px;font-weight:850}.caption-text{color:var(--ink);text-align:left;text-shadow:none;margin:0 0 38px;font-size:clamp(32px,3vw,44px);line-height:1.08}.voice-actions{grid-template-columns:repeat(2,92px);justify-content:start;gap:18px;width:218px}.round-button{width:82px}.round-button svg{width:32px;height:32px}.page{left:var(--desktop-sidebar);padding:46px 56px 40px}.page-header h1{font-size:34px}.page-header p{font-size:14px}.onboarding-page{padding:42px max(60px,12vw);left:0}.login-page{align-items:center;padding:52px max(60px,12vw);left:0}.login-page .brand-mark,.login-card{width:min(620px,100%)}.login-card{padding:34px}.login-card h1{font-size:42px}.onboarding-page .brand-mark,.onboarding-page .onboarding-copy,.onboarding-page .form-stack{width:min(680px,100%);margin-left:auto;margin-right:auto}.onboarding-copy{margin-top:30px}.onboarding-copy h1{font-size:40px}.onboarding-page .form-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.onboarding-page .field-row{display:contents}.onboarding-page .primary-button{grid-column:1/-1}.access-gate-page{align-items:center;padding:52px max(60px,12vw);left:0}.access-gate-page .brand-mark,.access-gate-card{width:min(680px,100%)}.access-gate-card{padding:34px}.access-gate-card h1{font-size:42px}.access-gate-actions{grid-template-columns:1fr 1fr}.chat-page{padding-bottom:34px;padding-left:max(56px,50% - 410px);padding-right:max(56px,50% - 410px)}.chat-page .page-header{margin-bottom:18px}.bubble{max-width:72%;padding:12px 15px;font-size:15px}.chat-composer{padding-top:16px}.lessons-page .level-summary{padding:20px 24px}.lessons-page .lesson-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.lessons-page .current-lesson-panel{grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);align-items:start;gap:12px 18px;padding:20px;display:grid}.lessons-page .current-lesson-top,.lessons-page .current-lesson-panel>p,.lessons-page .mastery-target,.lessons-page .lesson-panel-actions,.lessons-page .weak-point-list,.lessons-page .advance-note{grid-column:1}.lessons-page .next-lessons{border-top:0;border-left:1px solid var(--line);grid-area:1/2/span 5;margin-top:0;padding-top:0;padding-left:18px}.lesson-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.lesson-card{min-height:96px}.account-page{grid-template-rows:auto auto auto;grid-template-columns:minmax(280px,360px) minmax(420px,620px);place-content:start center;gap:18px 24px;display:grid}.account-page .page-header{grid-column:1/-1;margin-bottom:4px}.account-page .profile-hero{grid-area:2/1;margin-bottom:0}.account-page .student-id-card{grid-area:3/1;margin-bottom:0}.account-page .discovery-card{grid-area:4/1;margin-bottom:0}.account-page .access-card{grid-area:5/1;margin-bottom:0}.account-page .account-fields{grid-area:2/2/span 4;margin-bottom:0}.account-page .legal-links{grid-column:2;margin-top:0}.sheet-backdrop{justify-content:flex-end;align-items:stretch}.settings-sheet{border-radius:28px 0 0 28px;width:460px;max-height:100%;padding:28px 24px 32px}.sheet-handle{display:none}.sheet-title{margin-bottom:20px}}@media (max-height:740px) and (max-width:899px){.caption-text{margin-bottom:15px;font-size:25px}.round-button{width:59px}.voice-content{bottom:calc(var(--nav-height) + 10px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
