:root{
  --canvas:#B8B8B1;--shell:#F5F2E8;--rail:#EAE7DD;--panel:#E7E4DA;--paper:#FFFCF3;--paper-2:#F0ECE1;
  --ink:#111215;--muted:#74736D;--line:#D6D2C6;--line-strong:#BEB9AA;--purple:#4B20E5;--coral:#FF5C32;--pink:#F4A9C8;
  --lime:#DDF36F;--mint:#BFE4D5;--blue:#B7CDEA;--yellow:#F4C94A;--orange:#EE8B52;--danger:#C9584B;
  --shadow:0 1px 0 rgba(17,18,21,.03),0 16px 40px rgba(17,18,21,.05);--radius:18px;--display:Georgia,"Times New Roman",serif;--ui:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
:root[data-theme="dark"]{--canvas:#0E0F13;--shell:#15161B;--rail:#1D1E24;--panel:#202127;--paper:#24252B;--paper-2:#1C1D22;--ink:#F4F2EA;--muted:#A8A7A0;--line:#34353C;--line-strong:#4C4D54;--shadow:0 1px 0 rgba(255,255,255,.02),0 16px 44px rgba(0,0,0,.22);}
*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font-family:var(--ui);padding:clamp(12px,4vw,54px);-webkit-font-smoothing:antialiased}button,input,label{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,label:focus-within{outline:3px solid color-mix(in srgb,var(--purple) 35%,transparent);outline-offset:2px}.boot{position:fixed;inset:0;background:var(--shell);z-index:999;display:grid;place-items:center;transition:opacity .22s ease}.boot.is-hidden{opacity:0;pointer-events:none}.boot-mark{font-family:var(--display);font-size:38px;font-weight:800;letter-spacing:-.07em}.boot-mark span{color:var(--coral)}
.app-shell{width:min(1460px,100%);min-height:820px;margin:0 auto;background:var(--shell);display:grid;grid-template-columns:76px minmax(0,1fr) 320px;gap:28px;padding:22px;border:1px solid color-mix(in srgb,var(--ink) 8%,transparent);box-shadow:0 28px 90px rgba(0,0,0,.08);border-radius:6px}.rail{background:var(--rail);border-radius:18px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;min-height:776px}.brand-mark{width:48px;height:48px;border:0;background:transparent;color:var(--coral);display:grid;place-items:center;border-radius:14px;cursor:pointer}.brand-mark svg{width:38px;height:38px;fill:currentColor}.brand-mark:hover{background:color-mix(in srgb,var(--paper) 65%,transparent)}.rail-gap{height:72px}.rail-nav,.rail-bottom{display:grid;gap:9px;width:100%}.rail-bottom{margin-top:auto}.rail-btn{width:100%;height:48px;border:0;background:transparent;border-radius:15px;display:grid;place-items:center;cursor:pointer;position:relative}.rail-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.rail-btn>span{display:none;position:absolute;left:58px;z-index:20;background:#111216;color:#fff;padding:6px 9px;border-radius:8px;font-size:11px;white-space:nowrap}.rail-btn:hover>span{display:block}.rail-btn.is-active{background:var(--purple);color:white}.rail-btn:hover:not(.is-active){background:color-mix(in srgb,var(--paper) 66%,transparent)}.avatar-chip{width:44px;height:44px;border-radius:50%;border:3px solid var(--shell);background:linear-gradient(145deg,#79CFC3,#F2B393);font-size:10px;font-weight:800;cursor:pointer}
.main-column{min-width:0;padding:2px 0 34px}.topbar{height:48px;display:flex;justify-content:flex-end;align-items:center;gap:10px;position:relative;margin-bottom:12px}.mobile-brand{display:none}.topbar-actions{display:flex;align-items:center;gap:8px}.language-switch,.theme-toggle,.profile-top{border:1px solid var(--line);background:var(--paper);min-height:40px;display:flex;align-items:center;gap:8px;cursor:pointer}.language-switch{border-radius:999px;padding:7px 11px}.language-switch svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2}.lang-code{width:27px;height:27px;border-radius:8px;background:var(--lime);color:#1B1D13;display:grid;place-items:center;font-weight:900;font-size:10px}.theme-toggle{width:40px;justify-content:center;border-radius:50%;padding:0}.theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9}.profile-top{border-radius:999px;padding:5px 9px 5px 5px}.profile-top>span{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#79CFC3,#F2B393);font-size:9px;font-weight:800}.profile-top small{font-weight:700;font-size:11px}.language-menu{position:absolute;right:120px;top:48px;width:220px;background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:7px;z-index:40;box-shadow:0 18px 55px rgba(0,0,0,.15)}.language-menu button{width:100%;border:0;background:transparent;border-radius:11px;padding:10px;display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;text-align:left;cursor:pointer}.language-menu button:hover{background:var(--paper-2)}.language-menu b{width:34px;height:34px;border-radius:9px;background:var(--blue);display:grid;place-items:center;font-size:10px}.language-menu span{font-weight:800;font-size:12px}.language-menu small{color:var(--muted);font-size:9px}
.view{display:none}.view.is-active{display:block;animation:viewIn .22s ease-out}.greeting-row,.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.greeting-row h1,.page-head h1{font-family:var(--display);font-size:clamp(34px,4vw,49px);line-height:1.01;letter-spacing:-.05em;margin:3px 0 8px}.page-head h1{font-size:clamp(32px,3.4vw,44px)}.lead,.page-head>div>p:last-child{color:var(--muted);font-size:13px;line-height:1.5;max-width:680px;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:9px;color:var(--muted);margin:0}.home-status{display:flex;gap:8px;flex-wrap:wrap}.status-pill{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:10px}.status-dot{width:7px;height:7px;border-radius:50%}.status-dot.warm{background:var(--coral)}.status-dot.violet{background:var(--purple)}
.focus-tabs{display:flex;gap:10px;overflow:auto;scrollbar-width:none;padding:2px 2px 10px;margin-right:-2px}.focus-tabs::-webkit-scrollbar{display:none}.focus-tab{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:7px 13px 7px 7px;min-height:52px;display:flex;align-items:center;gap:9px;white-space:nowrap;font-weight:750;font-size:12px;cursor:pointer}.focus-tab.is-active{border-color:var(--line-strong);box-shadow:var(--shadow)}.focus-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center}.focus-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}.focus-tab:nth-child(1) .focus-icon{background:#FFDAD0;color:var(--coral)}.focus-tab:nth-child(2) .focus-icon{background:#EEDCF4;color:#BA23C8}.focus-tab:nth-child(3) .focus-icon{background:#EAF69E;color:#677615}.focus-tab:nth-child(4) .focus-icon{background:#D9EFE7;color:#16856A}
.hero-course{min-height:266px;border:1px solid var(--line);background:var(--paper);border-radius:23px;padding:10px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);gap:10px;margin-top:8px;box-shadow:0 1px 0 rgba(0,0,0,.02)}.hero-copy{background:var(--lime);color:#111215;border-radius:17px;padding:24px;position:relative;overflow:hidden;min-height:244px;display:flex;flex-direction:column;justify-content:space-between}.hero-copy::after{content:"";position:absolute;width:170px;height:170px;border:24px solid rgba(17,18,21,.07);border-radius:50%;right:-44px;bottom:-88px}.hero-kicker{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800}.hero-copy h2{font-family:var(--display);font-size:clamp(29px,3vw,39px);line-height:1.02;letter-spacing:-.04em;margin:10px 0 8px;max-width:520px}.hero-copy p{font-size:12px;line-height:1.45;max-width:500px;margin:0}.hero-actions{display:flex;align-items:center;gap:9px;position:relative;z-index:2;margin-top:20px;flex-wrap:wrap}.primary-cta,.solid-btn,.outline-btn,.text-btn,.choice-btn{cursor:pointer}.primary-cta{border:0;background:#15161A;color:#fff;border-radius:999px;padding:11px 15px;font-weight:800;display:inline-flex;align-items:center;gap:12px}.primary-cta span{font-size:18px}.ghost-cta{border:1px solid rgba(17,18,21,.18);background:rgba(255,255,255,.4);border-radius:999px;padding:10px 13px;font-weight:750;cursor:pointer}.hero-visual{border-radius:17px;background:var(--blue);display:grid;grid-template-rows:1fr auto;overflow:hidden;min-height:244px}.hero-image-stage{position:relative;display:grid;place-items:center;padding:18px}.hero-image-stage img{width:min(145px,70%);height:145px;object-fit:contain;filter:drop-shadow(0 12px 12px rgba(0,0,0,.08))}.hero-image-stage .bubble{position:absolute;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.hero-image-stage .bubble.one{left:16px;top:16px}.hero-image-stage .bubble.two{right:14px;bottom:18px}.hero-visual-footer{background:color-mix(in srgb,var(--paper) 84%,transparent);padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.hero-visual-footer b{font-family:var(--display);font-size:16px}.sound-chip{width:36px;height:36px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);display:grid;place-items:center;cursor:pointer}.sound-chip svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}
.content-section{margin-top:22px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:11px}.section-head h2{font-family:var(--display);font-size:21px;margin:2px 0 0;letter-spacing:-.025em}.text-btn{border:0;background:transparent;color:var(--coral);font-weight:800;font-size:11px;padding:8px}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mission-card{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:16px;display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}.mission-card:nth-child(1){background:color-mix(in srgb,var(--pink) 38%,var(--paper))}.mission-card:nth-child(2){background:color-mix(in srgb,var(--mint) 52%,var(--paper))}.mission-icon{width:46px;height:46px;border-radius:13px;background:var(--paper);display:grid;place-items:center}.mission-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9}.mission-card b{font-size:13px;display:block}.mission-card span{font-size:10px;color:var(--muted)}.mission-progress{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) var(--p),var(--paper-2) 0)}.mission-progress::after{content:attr(data-label);width:40px;height:40px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-size:9px;font-weight:900}.progress-list{display:grid;gap:9px}.progress-row{min-height:70px;border:1px solid var(--line);background:var(--paper);border-radius:14px;display:grid;grid-template-columns:44px minmax(0,1fr) 72px 95px 82px;gap:11px;align-items:center;padding:10px 11px}.row-art{width:38px;height:38px;border-radius:10px;background:var(--mint);display:grid;place-items:center}.row-art svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9}.progress-row:nth-child(2) .row-art{background:var(--violet,#E6D7F4)}.progress-row:nth-child(3) .row-art{background:#FFE0D5}.row-copy small,.row-metric small{display:block;color:var(--muted);font-size:9px}.row-copy b,.row-metric b{font-size:12px}.mini-progress{display:flex;align-items:center;gap:7px;font-size:10px}.mini-ring{width:18px;height:18px;border-radius:50%;border:3px solid var(--mint);border-right-color:var(--paper-2)}.row-action{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:7px 12px;font-size:10px;font-weight:800;cursor:pointer}
.page-head{align-items:center}.outline-btn{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:9px 13px;font-weight:750;font-size:11px;display:inline-flex;align-items:center;gap:7px}.outline-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9}.level-banner{border:1px solid var(--line);background:var(--paper);border-radius:19px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.level-copy{display:flex;align-items:center;gap:13px}.level-code{width:52px;height:52px;border-radius:15px;background:var(--yellow);display:grid;place-items:center;font-family:var(--display);font-size:19px;font-weight:800}.level-copy h3{margin:0 0 3px;font-size:15px}.level-copy p{margin:0;color:var(--muted);font-size:11px}.level-progress{min-width:190px}.level-progress div{height:8px;border-radius:999px;background:var(--paper-2);overflow:hidden}.level-progress i{display:block;height:100%;background:var(--purple);border-radius:inherit}.level-progress span{display:block;text-align:right;color:var(--muted);font-size:9px;margin-top:5px}.journey{display:grid;gap:13px}.journey-unit{border:1px solid var(--line);background:var(--paper);border-radius:19px;overflow:hidden}.unit-head{display:grid;grid-template-columns:55px 1fr auto;gap:13px;align-items:center;padding:16px}.unit-number{width:50px;height:50px;border-radius:15px;background:var(--lime);display:grid;place-items:center;font-family:var(--display);font-size:18px;font-weight:800}.journey-unit:nth-child(2) .unit-number{background:var(--blue)}.journey-unit:nth-child(3) .unit-number{background:var(--pink)}.unit-head h3{font-size:15px;margin:0 0 3px}.unit-head p{font-size:10px;color:var(--muted);margin:0}.unit-stat{text-align:right}.unit-stat b{display:block;font-size:13px}.unit-stat span{font-size:9px;color:var(--muted)}.lesson-strip{border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.lesson-node{min-height:112px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;padding:13px;cursor:pointer;position:relative}.lesson-node:last-child{border-right:0}.lesson-node:hover:not(:disabled){background:var(--paper-2)}.lesson-node small{font-size:9px;color:var(--muted)}.lesson-node b{display:block;font-size:11px;margin-top:5px}.lesson-state{position:absolute;right:10px;top:10px;width:18px;height:18px;border-radius:50%;background:var(--mint);display:grid;place-items:center;font-size:9px}.lesson-node.is-current{background:color-mix(in srgb,var(--blue) 55%,var(--paper))}.lesson-node:disabled{opacity:.45;cursor:not-allowed}
.review-meter,.task-count,.stamp-count{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:10px 13px;text-align:center;min-width:90px}.review-meter b,.task-count b,.stamp-count b{font-family:var(--display);font-size:23px;display:block}.review-meter span,.task-count span,.stamp-count span{font-size:9px;color:var(--muted)}.review-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.55fr);gap:14px}.flashcard{min-height:470px;border:1px solid var(--line);background:var(--paper);border-radius:21px;padding:22px;display:flex;flex-direction:column;justify-content:space-between}.flash-top{display:flex;justify-content:space-between;align-items:center}.flash-top span{font-size:10px;color:var(--muted);font-weight:800}.flash-visual{display:grid;place-items:center;min-height:240px;text-align:center}.flash-visual img{width:120px;height:120px;object-fit:contain;margin-bottom:8px}.flash-visual h2{font-family:var(--display);font-size:45px;letter-spacing:-.04em;margin:0}.flash-visual p{color:var(--muted);margin:6px 0 0;font-size:12px}.reveal-btn{border:1px solid var(--line);background:var(--paper-2);border-radius:12px;padding:11px;font-weight:800;cursor:pointer}.answer-box{margin-top:10px;background:color-mix(in srgb,var(--mint) 38%,var(--paper));border-radius:12px;padding:13px}.answer-box b{display:block}.answer-box p{font-size:11px;margin:5px 0 0;color:var(--muted)}.rating-row{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.rating-row button{border:1px solid var(--line);background:var(--paper);border-radius:11px;padding:10px 6px;font-size:10px;font-weight:750;cursor:pointer}.rating-row button:hover{background:var(--paper-2)}.review-side{border:1px solid var(--line);background:var(--panel);border-radius:21px;padding:15px}.review-side h3{font-family:var(--display);font-size:18px;margin:0 0 10px}.queue-item{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px;margin-bottom:7px;display:flex;justify-content:space-between;gap:8px}.queue-item b{font-size:11px}.queue-item span{font-size:9px;color:var(--muted)}.memory-note{margin-top:12px;padding:12px;border-radius:13px;background:var(--lime);color:#1B1D13;font-size:10px;line-height:1.4}
.task-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(220px,.65fr);gap:14px}.task-card,.rhythm-card{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:17px}.task-item{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.task-item:last-child{border-bottom:0}.task-check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line-strong);background:transparent;cursor:pointer;position:relative}.task-check.is-done{background:var(--mint);border-color:#8DB9A8}.task-check.is-done::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:11px}.task-item b{display:block;font-size:12px}.task-item span{font-size:10px;color:var(--muted)}.task-reward{font-size:9px;font-weight:900;background:var(--pink);padding:5px 7px;border-radius:999px}.rhythm-card h3,.task-card h3{font-family:var(--display);font-size:19px;margin:0 0 12px}.rhythm-row{margin-bottom:12px}.rhythm-row div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:5px}.rhythm-track{height:7px;border-radius:999px;background:var(--paper-2);overflow:hidden}.rhythm-track i{display:block;height:100%;border-radius:inherit}.focus-note{background:var(--blue);border-radius:13px;padding:12px;font-size:10px;line-height:1.45;margin-top:16px;color:#1B1D23}
.month-controls{display:flex;align-items:center;gap:8px}.month-controls button{width:36px;height:36px;border:1px solid var(--line);background:var(--paper);border-radius:10px;display:grid;place-items:center;cursor:pointer}.month-controls svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2}.month-controls strong{min-width:120px;text-align:center;font-size:11px}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.55fr);gap:14px}.calendar-card,.day-detail{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:16px}.week-labels,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.week-labels span{text-align:center;font-size:9px;color:var(--muted);font-weight:800;padding:5px}.calendar-day{min-height:72px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:7px;text-align:left;cursor:pointer;position:relative}.calendar-day:hover{background:var(--paper-2)}.calendar-day.is-outside{opacity:.35}.calendar-day.is-selected{outline:2px solid var(--purple);outline-offset:2px}.calendar-day b{font-size:10px}.day-marks{display:flex;gap:3px;position:absolute;bottom:7px;left:7px}.day-marks i{width:6px;height:6px;border-radius:50%}.day-marks .study{background:#9FBC45}.day-marks .review{background:#789AD0}.day-marks .stamp{background:#E1AD14}.day-detail h2{font-family:var(--display);font-size:27px;margin:3px 0 8px}.day-detail p{color:var(--muted);font-size:11px}.day-stat{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.day-stat:last-child{border-bottom:0}.day-stat span{font-size:10px;color:var(--muted)}.day-stat b{font-size:11px}
.stamp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stamp-card{aspect-ratio:.85;border:1px solid var(--line);background:#F7CAD6;clip-path:polygon(4% 0,12% 3%,20% 0,28% 3%,36% 0,44% 3%,52% 0,60% 3%,68% 0,76% 3%,84% 0,92% 3%,100% 0,97% 12%,100% 20%,97% 28%,100% 36%,97% 44%,100% 52%,97% 60%,100% 68%,97% 76%,100% 84%,97% 92%,100% 100%,88% 97%,80% 100%,72% 97%,64% 100%,56% 97%,48% 100%,40% 97%,32% 100%,24% 97%,16% 100%,8% 97%,0 100%,3% 88%,0 80%,3% 72%,0 64%,3% 56%,0 48%,3% 40%,0 32%,3% 24%,0 16%,3% 8%);padding:12px;display:flex;flex-direction:column;justify-content:space-between;min-height:210px}.stamp-card:nth-child(4n+2){background:#F5D6AE}.stamp-card:nth-child(4n+3){background:#DDD1F5}.stamp-card:nth-child(4n+4){background:#D4E7C3}.stamp-art{height:115px;border-radius:18px;background:rgba(255,255,255,.4);display:grid;place-items:center;overflow:hidden}.stamp-art svg{width:74px;height:74px;fill:none;stroke:#1B1C20;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.stamp-card h3{font-family:var(--display);font-size:17px;margin:8px 0 2px;color:#18191D}.stamp-card p{font-size:9px;line-height:1.35;color:#55564F;margin:0}.stamp-card.is-locked{filter:grayscale(.7);opacity:.48}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.settings-card{border:1px solid var(--line);background:var(--paper);border-radius:19px;padding:18px;display:grid;grid-template-columns:44px 1fr;gap:14px;min-height:190px}.settings-card.pwa-card{grid-column:1/-1;grid-template-columns:200px 1fr;align-items:center}.settings-icon{width:42px;height:42px;border-radius:12px;background:var(--lime);display:grid;place-items:center}.settings-card:nth-child(2) .settings-icon{background:var(--blue)}.settings-card:nth-child(3) .settings-icon{background:var(--purple);color:white}.settings-card:nth-child(4) .settings-icon{background:var(--mint)}.settings-card:nth-child(5) .settings-icon{background:var(--pink)}.settings-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9}.settings-card h2{font-family:var(--display);font-size:20px;margin:0 0 6px}.settings-card p{color:var(--muted);font-size:11px;line-height:1.45;margin:0 0 14px}.field-label{display:block;font-size:10px;font-weight:800;margin-bottom:6px}.field-row{display:flex;gap:7px}.field-row input,.big-input{min-height:42px;border:1px solid var(--line);background:var(--shell);color:var(--ink);border-radius:11px;padding:0 11px;min-width:0}.field-row input{flex:1}.solid-btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800}.choice-row{display:flex;gap:7px;flex-wrap:wrap}.choice-btn{border:1px solid var(--line);background:var(--shell);border-radius:10px;padding:9px 11px;font-size:10px;font-weight:750}.choice-btn.is-selected{background:var(--purple);color:white;border-color:var(--purple)}.segmented{display:inline-grid;grid-template-columns:repeat(3,1fr);background:var(--paper-2);border-radius:11px;padding:3px}.segmented button{border:0;background:transparent;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.segmented button.is-active{background:var(--paper);box-shadow:0 1px 4px rgba(0,0,0,.08)}.safe-pill{display:inline-flex;width:max-content;background:color-mix(in srgb,var(--mint) 70%,var(--paper));padding:6px 9px;border-radius:999px;font-size:9px;font-weight:800}.file-btn{position:relative}.pwa-preview{display:grid;place-items:center}.phone-mini{width:126px;height:214px;border:5px solid #18191E;border-radius:27px;background:linear-gradient(180deg,var(--blue),var(--shell));display:flex;flex-direction:column;align-items:center;padding:18px 10px;color:#15161A;box-shadow:0 14px 30px rgba(0,0,0,.14)}.phone-status{width:46px;height:5px;border-radius:999px;background:#18191E;margin-bottom:26px}.phone-icon{width:58px;height:58px;border-radius:17px;background:#17181D;color:var(--coral);display:grid;place-items:center;margin-bottom:9px}.phone-icon svg{width:42px;height:42px;fill:currentColor}.phone-mini strong{font-size:11px}.phone-mini small{font-size:8px;color:#555;margin-top:3px}
.profile-panel{background:var(--panel);border-radius:19px;padding:12px;min-width:0}.profile-panel-top{height:56px;background:var(--paper);border-radius:14px;display:flex;justify-content:space-between;align-items:flex-start;padding:10px}.profile-panel-top button{width:34px;height:34px;border:0;background:transparent;display:grid;place-items:center}.profile-panel-top svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}.privacy-dot{display:flex;align-items:center;gap:6px;font-size:9px;color:var(--muted)}.privacy-dot span{width:7px;height:7px;border-radius:50%;background:#82B99E}.profile-avatar{width:88px;height:88px;border-radius:50%;border:5px solid var(--panel);margin:-30px auto 7px;display:grid;place-items:center;background:linear-gradient(145deg,#79CFC3,#F2B393);font-family:var(--display);font-size:23px;font-weight:800;cursor:pointer}.profile-panel>h2{text-align:center;font-family:var(--display);font-size:22px;margin:5px 0 3px}.profile-level{text-align:center;color:var(--muted);font-size:10px;margin:0 0 14px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.metric-card{background:var(--paper);border-radius:13px;text-align:center;padding:10px 4px}.metric-symbol{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;margin:0 auto 4px;font-size:8px;font-weight:900}.metric-symbol.coral{background:#FFD8CE;color:var(--coral)}.metric-symbol.lime{background:#E8F69B;color:#5D6B12}.metric-symbol.violet{background:#E5DCF9;color:var(--purple)}.metric-card b{display:block;font-size:15px}.metric-card small{font-size:8px;color:var(--muted)}.activity-card,.mini-calendar,.visual-word{background:var(--paper);border-radius:14px;margin-top:9px;padding:13px}.mini-head{display:flex;justify-content:space-between;align-items:center}.mini-head h3{font-family:var(--display);font-size:18px;margin:2px 0 0}.mini-head>span{font-size:8px;color:var(--muted)}.mini-head button{border:0;background:transparent;color:var(--coral);font-size:9px;font-weight:800;cursor:pointer}.goal-ring{width:138px;height:138px;border-radius:50%;margin:12px auto;display:grid;place-items:center;background:conic-gradient(var(--lime) var(--goal,0%),var(--paper-2) 0)}.goal-ring::before{content:"";width:102px;height:102px;border-radius:50%;background:var(--paper);position:absolute}.goal-ring>div{position:relative;text-align:center}.goal-ring b{font-family:var(--display);font-size:26px;display:block}.goal-ring small{font-size:8px;color:var(--muted)}.skill-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.skill-strip div{text-align:center;border-radius:9px;padding:6px 2px;background:var(--paper-2)}.skill-strip b{font-size:9px;display:block}.skill-strip span{font-size:7px;color:var(--muted)}.week-streak{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:11px}.week-day{text-align:center}.week-day span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:var(--paper-2);font-size:8px;margin:0 auto}.week-day.is-done span{background:var(--lime);color:#1A1B15;font-weight:900}.week-day small{font-size:7px;color:var(--muted)}.visual-word{display:grid;grid-template-columns:72px 1fr;gap:11px;align-items:center}.visual-thumb{height:68px;border-radius:12px;background:var(--blue);display:grid;place-items:center;overflow:hidden}.visual-thumb img{width:54px;height:54px;object-fit:contain}.visual-word h3{font-family:var(--display);font-size:17px;margin:2px 0 6px}.tiny-audio{border:0;background:transparent;color:var(--coral);padding:0;font-size:9px;font-weight:800;display:inline-flex;align-items:center;gap:4px;cursor:pointer}.tiny-audio svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.modal{border:0;background:transparent;padding:16px;max-width:none}.modal::backdrop{background:rgba(6,7,9,.48);backdrop-filter:blur(6px)}.modal-shell{width:min(650px,calc(100vw - 24px));background:var(--shell);border:1px solid var(--line);border-radius:23px;padding:24px;position:relative;box-shadow:0 28px 90px rgba(0,0,0,.2);color:var(--ink)}.modal-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid var(--line);background:var(--paper);border-radius:50%;display:grid;place-items:center;cursor:pointer}.modal-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}.modal-shell h2{font-family:var(--display);font-size:30px;letter-spacing:-.035em;margin:5px 0 7px}.modal-copy{color:var(--muted);font-size:12px;line-height:1.45}.onboarding-brand{display:flex;align-items:center;gap:6px;margin-bottom:28px}.onboarding-brand b{font-family:var(--display);font-size:17px}.onboarding-brand b span{color:var(--coral)}.onboarding-brand small{color:var(--muted);font-size:8px;letter-spacing:.13em;text-transform:uppercase}.mini-star{color:var(--coral)}.big-input{width:100%;margin-bottom:18px;font-size:16px}.onboarding-step{display:grid;grid-template-columns:32px 1fr;gap:11px;margin:14px 0}.onboarding-step>span{width:30px;height:30px;border-radius:9px;background:var(--lime);display:grid;place-items:center;font-weight:900;font-size:10px}.onboarding-step>div>b{display:block;font-size:11px;margin:6px 0 8px}.level-options{display:grid;gap:7px}.level-options button{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:10px;display:grid;grid-template-columns:45px 1fr;gap:10px;align-items:center;text-align:left;cursor:pointer}.level-options button.is-selected{border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple)}.level-options strong{width:42px;height:42px;border-radius:11px;background:var(--blue);display:grid;place-items:center;font-family:var(--display)}.level-options button:nth-child(1) strong{background:var(--lime)}.level-options button:nth-child(3) strong{background:var(--pink)}.level-options b{display:block;font-size:11px}.level-options small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.onboarding .primary-cta{width:100%;justify-content:space-between;margin-top:18px}.privacy-note{text-align:center;color:var(--muted);font-size:9px}.placement{margin-top:16px}.lesson-shell{width:min(720px,calc(100vw - 20px))}.lesson-progress{height:7px;background:var(--paper-2);border-radius:999px;overflow:hidden;margin:12px 0 18px}.lesson-progress i{display:block;height:100%;background:var(--purple);border-radius:inherit}.lesson-kicker{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:800;color:var(--muted)}.lesson-stage{border:1px solid var(--line);background:var(--paper);border-radius:18px;padding:18px;min-height:310px;display:flex;flex-direction:column;justify-content:center}.lesson-stage h3{font-family:var(--display);font-size:25px;letter-spacing:-.03em;margin:0 0 8px}.lesson-stage>p{color:var(--muted);font-size:11px;margin:0 0 14px}.audio-prompt{display:flex;align-items:center;gap:11px;background:var(--paper-2);border-radius:13px;padding:11px;margin-bottom:13px}.audio-prompt button{width:40px;height:40px;border:0;background:var(--ink);color:var(--paper);border-radius:50%;display:grid;place-items:center;cursor:pointer}.audio-prompt svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}.audio-prompt b{font-size:14px}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option-btn{border:1px solid var(--line);background:var(--shell);border-radius:12px;padding:11px;text-align:left;cursor:pointer;font-weight:700}.option-btn:hover{background:var(--paper-2)}.option-btn.is-correct{background:#DFF0C8;border-color:#93AF61;color:#172011}.option-btn.is-wrong{background:#F7D8D0;border-color:#D78270;color:#361A15}.image-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.image-option{border:1px solid var(--line);background:var(--shell);border-radius:14px;padding:10px;display:grid;place-items:center;gap:7px;cursor:pointer}.image-option img{width:86px;height:86px;object-fit:contain}.image-option span{font-size:10px;font-weight:750}.lesson-feedback{min-height:26px;margin-top:11px;font-size:11px;font-weight:800}.lesson-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.lesson-footer small{color:var(--muted);font-size:9px}.lesson-next{border:0;background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.lesson-next:disabled{opacity:.35;cursor:not-allowed}.completion-panel{text-align:center;padding:26px 10px}.completion-badge{width:96px;height:96px;border-radius:31px;background:var(--yellow);margin:0 auto 16px;display:grid;place-items:center}.completion-badge svg{width:52px;height:52px;fill:none;stroke:#17181D;stroke-width:2.7}.completion-panel h3{font-family:var(--display);font-size:31px;margin:0 0 7px}.completion-panel p{color:var(--muted);font-size:11px;max-width:420px;margin:0 auto 17px}.completion-stats{display:flex;justify-content:center;gap:8px;margin-bottom:17px}.completion-stats span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:9px;font-weight:800}
.mobile-nav{display:none}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,12px);background:#111216;color:#fff;padding:10px 14px;border-radius:999px;font-size:11px;font-weight:750;opacity:0;pointer-events:none;transition:.2s;z-index:100}.toast.is-visible{opacity:1;transform:translate(-50%,0)}.celebration{position:fixed;inset:0;pointer-events:none;z-index:120;overflow:hidden}.celebration i{position:absolute;width:10px;height:18px;border-radius:3px;opacity:0}.celebration.is-on i{animation:confetti .75s ease-out}.celebration i:nth-child(1){left:45%;top:48%;background:var(--coral);--x:-120px;--y:-160px}.celebration i:nth-child(2){left:50%;top:48%;background:var(--lime);--x:-50px;--y:-200px}.celebration i:nth-child(3){left:52%;top:48%;background:var(--purple);--x:40px;--y:-180px}.celebration i:nth-child(4){left:54%;top:48%;background:var(--blue);--x:120px;--y:-140px}.celebration i:nth-child(5){left:48%;top:48%;background:var(--yellow);--x:-100px;--y:-70px}.celebration i:nth-child(6){left:51%;top:48%;background:var(--pink);--x:100px;--y:-60px}
@keyframes viewIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes confetti{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(220deg)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.celebration{display:none}}
@media(max-width:1160px){body{padding:0}.app-shell{min-height:100vh;border:0;border-radius:0;box-shadow:none;grid-template-columns:72px minmax(0,1fr);padding:18px}.profile-panel{display:none}.main-column{padding-right:4px}}
@media(max-width:760px){body{padding:0;background:var(--shell)}.app-shell{display:block;padding:13px 13px 90px}.rail{display:none}.main-column{padding:0}.topbar{height:46px;justify-content:space-between;margin-bottom:16px}.mobile-brand{display:flex;align-items:center;gap:7px;border:0;background:transparent;font-family:var(--display);font-size:16px;padding:0}.mobile-brand strong span{color:var(--coral)}.topbar-actions{gap:6px}.profile-top small{display:none}.profile-top{padding-right:5px}.language-switch>span:nth-child(2){display:none}.language-menu{right:74px}.greeting-row,.page-head{display:block;margin-bottom:17px}.greeting-row h1,.page-head h1{font-size:34px}.home-status{margin-top:12px}.focus-tabs{margin-right:-13px;padding-right:13px}.hero-course{grid-template-columns:1fr;padding:8px}.hero-copy{min-height:250px}.hero-visual{min-height:190px;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.hero-visual-footer{display:block}.mission-grid{grid-template-columns:1fr}.progress-row{grid-template-columns:42px minmax(0,1fr) auto}.row-metric,.mini-progress{display:none}.level-banner{display:block}.level-progress{margin-top:13px;min-width:0}.unit-head{grid-template-columns:50px 1fr}.unit-stat{display:none}.lesson-strip{grid-template-columns:1fr 1fr}.lesson-node:nth-child(2n){border-right:0}.lesson-node:nth-child(-n+2){border-bottom:1px solid var(--line)}.review-layout,.task-layout,.calendar-layout,.settings-grid{grid-template-columns:1fr}.flashcard{min-height:420px}.review-side{order:-1}.calendar-day{min-height:46px;padding:5px}.week-labels,.calendar-grid{gap:5px}.day-marks{bottom:5px;left:5px}.stamp-grid{grid-template-columns:1fr 1fr;gap:9px}.stamp-card{min-height:195px}.settings-card{grid-template-columns:40px 1fr;min-height:0}.settings-card.pwa-card{grid-column:auto;grid-template-columns:1fr}.pwa-preview{margin-bottom:10px}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:9px;right:9px;bottom:max(9px,env(safe-area-inset-bottom));z-index:60;background:#17181D;border:1px solid #33343A;border-radius:18px;padding:6px;box-shadow:0 14px 38px rgba(0,0,0,.2)}.mobile-nav button{border:0;background:transparent;color:#DADBE0;border-radius:12px;padding:7px 2px;display:grid;place-items:center;gap:2px}.mobile-nav button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9}.mobile-nav button span{font-size:8px}.mobile-nav button.is-active{background:var(--purple);color:white}.modal{padding:6px}.modal-shell{padding:19px}.option-grid{grid-template-columns:1fr}.image-options{grid-template-columns:1fr 1fr 1fr}.image-option img{width:68px;height:68px}}
@media(max-width:390px){.greeting-row h1,.page-head h1{font-size:31px}.stamp-grid{grid-template-columns:1fr}.image-options{grid-template-columns:1fr}.image-option{grid-template-columns:70px 1fr;text-align:left}.image-option img{width:60px;height:60px}.focus-tab{min-height:48px}}
