:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f7fc;background:#0a1426;--bg:#0a1426;--panel:#101f38;--panel2:#142742;--panel3:#192e4c;--line:#293d5b;--muted:#a2b3cb;--gold:#f2be70;--gold-bg:#44371f;--green:#77d4a3;--red:#ff9f9d;--radius:18px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:290px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{color:#f4f7fc;background:#0d1c32;border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:45px;max-width:100%}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}a{color:#c6dfff}p{line-height:1.6}h1,h2,h3{line-height:1.2}h1{font-size:clamp(1.8rem,4vw,2.65rem);letter-spacing:-.045em;margin:.2em 0 .4em}h2{font-size:1.35rem;letter-spacing:-.025em}h3{margin:.25em 0}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;max-width:1600px;margin:0 auto}.sidebar{background:#0d1a2e;border-right:1px solid #24334a;display:flex;flex-direction:column;padding:28px 16px 24px;position:sticky;top:0;height:100vh;min-height:570px}.brand{display:flex;align-items:center;gap:12px;background:none;border:0;text-align:left;color:inherit;padding:3px 10px 22px}.brand img{border-radius:13px}.brand strong{font-size:2rem;letter-spacing:-.09em;line-height:1;display:block}.brand small{font-size:9px;letter-spacing:.13em;color:#92a9c1;font-weight:700}.brand-dot{color:var(--gold)}.nav-label,.eyebrow{font-size:.7rem;letter-spacing:.18em;font-weight:800;color:var(--gold)}.nav-label{padding:13px 17px}.side-nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:13px;color:#bbcae0;background:transparent;border:0;border-radius:12px;text-align:left;padding:12px 16px;min-height:47px;font-weight:600}.nav-item>span{font-size:1.26rem;width:25px;text-align:center}.nav-item:hover,.nav-item.active{background:#1c314b;color:#fff}.nav-item em{font-size:.75rem;font-style:normal;padding:2px 8px;border-radius:12px;background:#304765;margin-left:auto}.aside-bottom{margin-top:auto;padding:15px 9px 0}.aside-tip{border:1px solid var(--line);border-radius:16px;padding:14px;background:#122540}.aside-tip strong{display:block;font-size:.91rem}.aside-tip p{font-size:.77rem;color:#adbed3;margin:5px 0 0}.aside-tip-icon{display:block;color:var(--gold);font-size:1.4rem}.sync-status{display:block;color:#a6b6cb;font-size:.73rem;margin:18px 4px 0}.main-area{min-width:0;display:flex;flex-direction:column}.topbar{border-bottom:1px solid #20324e;min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px clamp(20px,4vw,50px)}.topbar-caption{letter-spacing:.17em;font-size:.68rem;color:#94abc7;font-weight:800}.mobile-brand{display:none}.topbar-right{display:flex;gap:9px;flex-wrap:wrap;justify-content:end}.top-pill{border:1px solid #2c4361;background:#162940;border-radius:50px;padding:10px 13px;white-space:nowrap;font-size:.78rem;font-weight:800}.top-pill.primary{background:#3a3025;color:#ffd69e;border-color:#675232}#view{width:100%;max-width:1110px;margin:0 auto;padding:clamp(22px,4vw,50px);flex:1;animation:fadeIn .25s ease}.footer{color:#637f9f;font-size:.75rem;padding:22px;text-align:center;border-top:1px solid #22334e}.page-head{margin-bottom:24px}.page-head p{max-width:750px;color:var(--muted);margin:8px 0}.heading-flex{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;align-items:center}.eyebrow{display:block;margin:0 0 12px}.muted{color:var(--muted)}.subtle{font-size:.8rem;color:var(--muted)}.small{font-size:.86rem}.grid{display:grid;gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:22px;min-width:0}.card.soft{background:#142640}.card.glow{background:linear-gradient(115deg,#192e4d 0%,#12223d 65%,#1d2941)}.hero{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:32px;position:relative;overflow:hidden}.hero::after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-75px;top:-100px;background:rgba(242,190,112,.06);pointer-events:none}.hero>div{z-index:1}.hero-illustration{font-size:clamp(4rem,12vw,7rem);font-weight:900;color:#f7d39c;letter-spacing:-.1em;opacity:.88;line-height:1}.hero h1{margin:7px 0}.hero p{max-width:540px;color:#b9cadf;margin:12px 0 23px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{background:#152840;padding:18px;border-radius:15px;border:1px solid #273e5b}.stat b{font-size:1.8rem;display:block}.stat span{color:#9db4cb;font-size:.78rem}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 14px}.section-heading h2{margin:0}.section-heading p{margin:5px 0 0}.language-card{display:flex;align-items:center;gap:14px;text-align:left;border-radius:18px;border:1px solid var(--line);background:var(--panel);padding:19px;color:inherit;min-height:136px;transition:transform .2s,border-color .2s,background .2s;width:100%}.language-card:hover{transform:translateY(-3px);background:#182d49;border-color:#527096}.lang-badge{width:52px;height:52px;flex:none;display:grid;place-items:center;border-radius:15px;background:var(--tint);color:var(--accent);font-size:1.2rem;font-weight:900}.language-copy{flex:1;min-width:0}.language-copy h3{font-size:1.04rem}.language-copy p{color:var(--muted);font-size:.77rem;margin:3px 0 10px}.language-copy strong{display:block;font-size:.78rem;margin:9px 0 3px}.arrow{color:#d9b982;font-size:1.4rem}.bar{height:7px;border-radius:7px;background:#2b3d56;overflow:hidden}.bar>div{height:100%;background:var(--gold);border-radius:7px;transition:width .45s ease}.btn,.btn-alt,.btn-ghost,.chip,.icon-btn,.word-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-weight:800;border:1px solid transparent;padding:10px 17px;text-decoration:none;text-align:center;transition:transform .18s,background .18s,border-color .18s}.btn{background:var(--gold);color:#182437}.btn:hover{background:#ffd199;transform:translateY(-1px)}.btn-alt{background:#243b58;color:#ecf5ff;border-color:#385270}.btn-alt:hover{background:#2d4667}.btn-ghost{background:transparent;color:#b7cadf;border-color:#405877}.btn-ghost:hover{background:#203852}.btn.danger,.btn-alt.danger{background:#542d36;color:#ffcfcc;border-color:#77434b}.link-btn{background:none;color:#f4c987;border:0;padding:9px 2px;font-size:.88rem;font-weight:700;text-align:left}.pill{display:inline-block;border-radius:999px;font-weight:800;font-size:.7rem;padding:5px 10px;border:1px solid var(--line);background:#223853;color:#bed7f2}.pill.ready{background:#183e35;color:#a9f0c2;border-color:#39765f}.pill.soon{background:#36303a;color:#c4b0bc;border-color:#615365}.notice{padding:16px;border:1px solid #49617d;border-radius:14px;color:#c9d9e9;background:#172c47;font-size:.87rem;line-height:1.55;margin:16px 0}.notice.warning{background:#302a23;border-color:#705838;color:#f1dbbd}.notice.good{background:#18332f;border-color:#2f6454;color:#c0eddf}.course-header{display:flex;gap:18px;align-items:center}.course-header .lang-badge{width:70px;height:70px;font-size:1.9rem}.course-header h1{margin:0}.controls-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}.unit-list{display:grid;gap:12px}.unit{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--line);border-radius:15px;background:#12243d;padding:18px}.unit-index{color:#f0c883;font-size:.72rem;font-weight:900;letter-spacing:.08em}.unit h3{font-size:1.05rem}.unit p{color:#acbfd6;font-size:.85rem;margin:6px 0 0}.unit-detail{flex:1}.unit-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 25px}.chip{background:#182f4a;border-color:#304963;color:#bbd0e5;font-size:.83rem;padding:9px 14px}.chip.active{color:#1b2636;background:#f2be70;border-color:#f2be70}.section-spacer{margin-top:28px}.roadmap-band{margin-bottom:25px}.roadmap-band h2{margin:0}.level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.level-tile{display:flex;justify-content:space-between;gap:10px;padding:15px;border:1px solid var(--line);background:#13263f;border-radius:13px;text-align:left;color:inherit}.level-tile:hover{background:#1a3251;border-color:#6581a0}.level-tile strong{font-size:.88rem}.level-tile p{margin:5px 0 0;font-size:.76rem;color:var(--muted)}.level-tile em{font-size:.72rem;color:var(--gold);font-style:normal;white-space:nowrap}.level-tile.selected{border-color:var(--gold);background:#2a2e39}.roadmap-detail{border:1px solid #57607a;background:#182c47;border-radius:15px;padding:20px;margin-top:17px}.roadmap-detail h3{margin-bottom:5px}.roadmap-detail p{margin:5px 0}.field{display:block;margin:12px 0}.field>span{display:block;font-size:.8rem;font-weight:800;margin-bottom:7px;color:#c2d4e7}.field input,.field select,.field textarea{width:100%}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dictionary-search{width:100%;font-size:1rem;min-height:54px}.word-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.word-card{border:1px solid var(--line);background:#142640;border-radius:15px;padding:18px}.word-header{display:flex;justify-content:space-between;align-items:start;gap:8px}.word-header h3{font-size:1.08rem;margin:0}.word-card .word-cat{font-size:.72rem;color:#aec1da;margin:6px 0 12px}.translation-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #29405a;padding:10px 0}.translation-row small{font-size:.74rem;color:#91abc8}.word-button{border:0;background:none;color:#f2f7fd;min-height:42px;padding:4px;text-align:right;max-width:77%;overflow-wrap:anywhere}.word-button:hover{color:#ffd8a1}.word-button[dir=rtl]{text-align:right}.word-variant{font-size:.76rem;color:#bbcce2;padding:6px 0}.word-note{font-size:.75rem;color:var(--muted);margin:10px 0 0}.mini-save{background:#223955;color:#f2d3a5;border:1px solid #375373;border-radius:10px;min-width:41px;min-height:41px;font-size:1.13rem}.mini-save.saved{background:#634333;color:#ffdeb2}.dictionary-meta{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;color:#aabed6;font-size:.8rem;margin:12px 0}.empty{padding:40px 20px;text-align:center;border:1px dashed #49617f;border-radius:16px;color:var(--muted)}.quiz-shell{max-width:730px;margin:0 auto}.quiz-header{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px}.quiz-card{padding:clamp(20px,4vw,32px);background:#152840;border:1px solid #3b5270;border-radius:20px}.quiz-label{font-size:.78rem;font-weight:800;color:#e5be83;letter-spacing:.08em;margin:0 0 13px}.quiz-prompt{font-size:clamp(1.45rem,3vw,2rem);font-weight:850;margin:12px 0 7px}.quiz-subprompt{color:#c5d6ea;line-height:1.6;margin-bottom:16px}.quiz-target{font-size:clamp(1.4rem,4vw,2.15rem);color:#f4f7fe;font-weight:800;margin:20px 0;display:flex;align-items:center;gap:12px;flex-wrap:wrap;overflow-wrap:anywhere}.quiz-target[dir=rtl]{justify-content:flex-end}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:23px 0}.quiz-option{background:#1b334f;border:1px solid #405a77;border-radius:13px;padding:18px 14px;min-height:70px;color:inherit;font-size:1.04rem;font-weight:650;transition:transform .15s,background .15s,border-color .15s;overflow-wrap:anywhere}.quiz-option:hover:not(:disabled){background:#284663;transform:translateY(-2px)}.quiz-option.correct{background:#23503c;border-color:#64cd93;color:#d8ffe4}.quiz-option.wrong{background:#50323b;border-color:#e18e91;color:#ffe3e3}.quiz-feedback{padding:13px 16px;border-radius:13px;border:1px solid #467e5b;background:#1b4937;color:#c8f8dc;font-size:.89rem;margin:15px 0}.quiz-feedback.wrong{background:#4c313b;color:#ffd4d4;border-color:#935969}.quiz-feedback p{margin:4px 0}.quiz-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:21px}.speaker{border:1px solid #4a6786;background:#263d58;color:#f4d39e;border-radius:12px;min-width:44px;min-height:44px;font-size:1.13rem}.speaker:hover{background:#395774}.reveal{font-size:.85rem;color:#bacbe1}.answer-input{width:100%;min-height:57px;font-size:1.13rem}.study-preview{background:#101e34;border-radius:14px;border:1px solid #354b65;padding:20px;margin:18px 0}.study-preview .big-word{font-size:2.1rem;font-weight:800;margin:15px 0}.result-icon{font-size:4rem;text-align:center;animation:bounceIn .6s both}.result-center{text-align:center;max-width:610px;margin:30px auto}.result-center h1{font-size:2.45rem}.result-center p{color:#adbed5}.result-stat{display:flex;justify-content:center;gap:12px;margin:20px 0;flex-wrap:wrap}.result-stat span{padding:12px;border:1px solid var(--line);border-radius:12px;background:#172b44}.placement-card{max-width:770px}.answer-rating{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0}.rating-btn{background:#162b44;border:1px solid var(--line);color:#c6d8ec;border-radius:12px;min-height:50px}.rating-btn.active{background:#3c3c33;color:#f9d294;border-color:#e4b567}.tip-card{display:flex;gap:17px}.tip-number{font-size:1.4rem;color:var(--gold);font-weight:900;min-width:40px}.tip-card h3{margin:3px 0 6px}.tip-card p{margin:4px 0;color:var(--muted);font-size:.87rem}.tip-card .outside{color:#d9e6f4;margin-top:13px;padding:11px;background:#1b324c;border-radius:10px}.activity-day{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#2c4160;margin:3px}.activity-day.active{background:#e8bd7a}.activity-strip{display:flex;flex-wrap:wrap;gap:5px}.divider{height:1px;background:#293e59;margin:20px 0}.cloud-tag{color:var(--gold);font-size:.75rem;font-weight:800}.toast{position:fixed;bottom:26px;right:25px;max-width:min(420px,calc(100% - 40px));z-index:30;padding:14px 19px;border-radius:12px;color:#112136;background:#f8d7a2;box-shadow:0 12px 30px #0008;font-size:.88rem;font-weight:750;opacity:0;transform:translateY(15px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateY(0)}.mobile-nav{display:none}.loading{padding:80px;text-align:center;color:#cad8e9}@keyframes fadeIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{transform:scale(.65);opacity:0}75%{transform:scale(1.07)}100%{transform:scale(1);opacity:1}}
@media(max-width:1100px){.shell{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding:22px 9px}.word-list{grid-template-columns:1fr}}
@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{min-height:67px;padding:10px 18px}.topbar-caption{display:none}.mobile-brand{display:block;font-size:1.65rem;letter-spacing:-.08em}.top-pill{font-size:.72rem;padding:8px 9px}#view{padding:22px 15px 100px}.footer{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(6,1fr);position:fixed;bottom:0;left:0;right:0;background:#12243b;border-top:1px solid #324962;padding-bottom:env(safe-area-inset-bottom);z-index:20}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;justify-content:center;min-height:63px;background:transparent;border:0;color:#b1c4d9;font-size:1.16rem}.mobile-nav button small{font-size:.63rem}.mobile-nav button.active{color:#ffd08b}.toast{bottom:85px}.grid.two,.grid.three{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.grid.two,.grid.three,.stats,.quiz-options,.level-grid,.form-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.stat{padding:12px}.stat b{font-size:1.35rem}.stat span{font-size:.69rem}.hero{padding:24px}.hero-illustration{display:none}.card{padding:18px}.language-card{padding:15px;min-height:110px}.unit{align-items:flex-start;flex-direction:column}.quiz-option{min-height:57px}.quiz-bottom{align-items:stretch;flex-direction:column}.quiz-bottom .btn{width:100%}.answer-rating{grid-template-columns:1fr 1fr 1fr}.heading-flex{align-items:start}.top-pill{font-size:.63rem;padding:7px 8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Skill studio */
.skill-tabs{margin:8px 0 24px;flex-wrap:wrap}.skill-tabs .skill-active{border-color:#e8bd7a;background:#394359;color:#ffe8bd}.skill-session{margin-top:20px}.skill-session .field{margin:17px 0}.skill-session .btn-alt{margin:10px 0}.journal-area{display:block;width:100%;min-height:160px;padding:15px;background:#102139;color:#f3f7ff;border:1px solid #49617f;border-radius:12px;font:inherit;font-size:1.02rem;line-height:1.65;resize:vertical}.journal-entry{margin:12px 0}.journal-entry p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7}.skill-tabs button{min-height:44px}

/* Script foundations and readable Latin guides */
.script-stack{display:inline-flex;flex-direction:column;align-items:inherit;min-width:0;gap:4px;max-width:100%}.script-stack>span:first-child{overflow-wrap:anywhere}.latin-under{display:block;direction:ltr;unicode-bidi:isolate;text-align:start;font-size:.72rem;font-weight:500;line-height:1.35;letter-spacing:0;color:#b9c9df;overflow-wrap:anywhere}.quiz-target .latin-under{font-size:.88rem;color:#e6bf8a}.quiz-option .script-stack{align-items:center}.word-button .script-stack{align-items:flex-end;text-align:right}.study-preview .script-stack{align-items:flex-start;text-align:left}.alphabet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px;margin-top:16px}.letter-card{background:#142943;color:#f7f8fa;border:1px solid #395372;border-radius:16px;padding:16px 10px;min-height:158px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;text-align:center}.letter-card:hover{background:#1e3958;border-color:#d8b474}.letter-glyph{font-family:Tahoma,Arial,sans-serif;font-size:2.75rem;font-weight:700}.letter-latin{font-size:1.05rem;font-weight:800;color:#f3c783}.letter-hint{font-size:.74rem;line-height:1.35;color:#c0cfe1}.translation-row{align-items:flex-start}.translation-row small{padding-top:10px}.word-button{max-width:80%;text-align:right}.word-button .script-stack>span:first-child{font-size:1rem}@media(max-width:480px){.alphabet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Independent self-assessed skill profile: early learning stages are distinct. */
.profile-panel{display:grid;gap:15px;margin-top:16px}
.profile-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 18px}
.profile-skill{min-width:0}
.profile-skill .heading-flex{align-items:baseline;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.profile-skill .heading-flex strong{font-size:14px}
.profile-skill .heading-flex .subtle{font-size:12px}
.profile-next{padding:12px 14px;background:rgba(255,255,255,.04);border-radius:12px;border:1px solid var(--line,#3b4659)}
.profile-next p{margin:6px 0}
.letter-review{font-size:1.3rem;line-height:1.9}
@media(max-width:600px){.profile-skills{grid-template-columns:1fr}}

/* Flexible lesson duration selection and independently tracked XP levels. */
.rank-panel{margin-bottom:16px}.rank-panel .bar{margin:14px 0 7px}.rank-panel h2{margin:4px 0}
.duration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.duration-option{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:128px;padding:18px 15px;text-align:left;background:#182f4b;color:#f4f8ff;border:1px solid #3e5a7b;border-radius:16px;transition:transform .15s,border-color .15s,background .15s}
.duration-option strong{font-size:1.7rem;line-height:1.1}.duration-option strong small{font-size:.83rem;font-weight:600}
.duration-option span{color:#c4d4e7;font-size:.86rem}.duration-option em{color:#ffd394;font-style:normal;font-size:.8rem;font-weight:750}
.duration-option:hover,.duration-option:focus-visible{background:#264362;border-color:#ffc783;transform:translateY(-2px)}
.rank-mini{padding:12px 14px;background:#132641;border:1px solid #39506e;border-radius:10px;color:#dce9f7}
@media(max-width:530px){.duration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duration-option{min-height:121px;padding:14px 12px}.duration-option strong{font-size:1.5rem}}

/* v0.8: varied guided lessons, sentence construction, grammar and reading. */
.lesson-focus{margin:18px 0 10px}
.lesson-focus h2{margin:5px 0 10px}
.lesson-focus>p{color:#cbd8e8}
.sentence-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;margin:18px 0}
.sentence-sample{position:relative;min-width:0;border:1px solid #3c5370;background:#0e2139;border-radius:14px;padding:15px;display:flex;flex-direction:column;align-items:flex-start;gap:9px;overflow-wrap:anywhere}
.sentence-native{font-size:1.17rem;font-weight:750;line-height:1.6;max-width:100%}
.sentence-sample .latin-under{font-size:.78rem;color:#e1c694}
.sentence-sample strong{font-size:.83rem;color:#bfd4ed}
.sentence-sample .speaker{font-size:.95rem;min-height:38px;min-width:38px}
.order-builder{margin:20px 0}
.order-slots,.order-bank{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:13px;min-height:72px;background:#10253f;border:1px dashed #557390;border-radius:13px;margin:8px 0 17px}
.order-slots{border-style:solid;background:#17354d}
.order-tile{border:1px solid #6a86a2;color:#f5f6fa;background:#29455f;border-radius:10px;min-height:46px;padding:8px 12px;font-weight:700;font-size:1.02rem}
.order-tile.chosen{background:#48513e;border-color:#c9ba7a}
.order-tile:hover,.order-tile:focus-visible{background:#365a79}
.listen-target .btn-alt{font-size:1rem}
.result-breakdown{margin:19px auto 18px;max-width:500px;text-align:left;border:1px solid #3b5474;border-radius:14px;padding:15px 18px;background:#122640}
.result-breakdown>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #29425f;font-size:.86rem}
.result-breakdown>div:last-child{border:0}
.result-breakdown span{color:#ffd79c;font-weight:700}
@media(max-width:520px){.sentence-preview{grid-template-columns:1fr}.order-tile{font-size:.93rem;min-height:44px}.quiz-target{align-items:center}}

/* Reading studio: guided reading, optional script support, measurable comprehension */
.reading-collection{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px;margin:16px 0}
.reading-choice{border:1px solid var(--border,#364359);border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:8px;text-align:left;background:var(--card,#19283a);color:inherit;cursor:pointer;min-height:110px}
.reading-choice strong{font-size:1.04rem}.reading-choice.reading-current{border-color:#e9ae5b;outline:1px solid #e9ae5b}
.reading-passage{display:flex;flex-direction:column;gap:13px}.reading-line{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid rgba(170,183,200,.18);padding:12px 0}.reading-line:last-child{border-bottom:0}
.reading-speaker{flex:none;font-weight:700;opacity:.55;font-size:.75rem;min-width:24px;padding-top:5px}.reading-lines{flex:1;min-width:0}.reading-native{font-size:1.16rem;font-weight:650;line-height:1.65;overflow-wrap:anywhere}
.reading-english{font-size:.91rem;color:#d4dfec;margin-top:4px}.reading-line .speaker{align-self:center;flex:none}.reading-check{display:flex;flex-direction:column;gap:8px;width:100%;font-size:1rem;text-align:start}.reading-check-lines{display:flex;flex-direction:column;gap:6px;line-height:1.65;font-size:1.1rem}
.check-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.94rem;min-height:44px}.check-label input{width:18px;height:18px}
@media(max-width:460px){.reading-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-choice{padding:12px}.reading-native{font-size:1.06rem}}

/* Script-first A1 teaching: contextual letter forms and vowel memory cards. */
.letter-forms,.vowel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-top:16px}
.form-card,.vowel-card{padding:15px;border:1px solid #3b5370;background:#142841;border-radius:14px;color:inherit;text-align:center;min-width:0}
.form-main{display:block;font-size:1.9rem;font-weight:800}.form-set{display:flex;justify-content:center;gap:10px;margin:10px 0;font-family:Tahoma,Arial,sans-serif;font-size:1.7rem}
.form-card small,.vowel-card small{font-size:.72rem;color:#aabbd1}.vowel-card{min-height:140px;cursor:pointer;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center}
.vowel-card strong{font-size:2.3rem;font-family:Tahoma,Arial,sans-serif}.vowel-card span{color:#f3c783;font-size:.98rem;font-weight:700}
.vowel-card:hover{background:#203a57}
@media(max-width:480px){.letter-forms,.vowel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-card,.vowel-card{padding:11px}.form-set{gap:5px;font-size:1.3rem}}

.reading-solution{display:flex;flex-direction:column;gap:10px;text-align:start}.reading-answer-line{display:flex;flex-wrap:wrap;gap:10px;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:7px;align-items:center}.reading-answer-line span{font-weight:650}.reading-answer-line small{font-size:.78rem;opacity:.8}

/* A1 script writing foundations: tap-to-construct words without installing a keyboard. */
.spell-selection,.spell-bank{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:76px;margin:16px 0;border:1px dashed #59738f;border-radius:14px;padding:14px;background:#12253f}
.spell-selection{border-style:solid;background:#19334a}
.spell-tile{min-width:48px;min-height:54px;padding:10px 14px;border-radius:12px;border:1px solid #748ba4;color:#f8faff;background:#254563;font-size:1.5rem;font-weight:750;font-family:Tahoma,Arial,sans-serif;cursor:pointer}
.spell-tile:hover,.spell-tile:focus-visible{background:#356288;outline:2px solid #eac18d;outline-offset:2px}
@media(max-width:450px){.spell-selection,.spell-bank{gap:6px;padding:9px}.spell-tile{min-width:44px;min-height:49px;padding:7px 10px;font-size:1.4rem}}

.spell-assembled{font-family:Tahoma,Arial,sans-serif;min-height:55px;margin:12px 0;text-align:center;font-size:2.25rem;line-height:1.6;color:#f8d99f;unicode-bidi:isolate}

/* Original-composition and revision studio. Same layout works at mobile widths. */
.writing-workshop{display:grid;gap:15px}
.writing-selectors{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:13px}
.writing-selectors .field,.writing-workshop .field{min-width:0}
.writing-selectors select{width:100%;max-width:100%}
.writing-task{background:rgba(125,145,179,.08);border:1px solid var(--line,rgba(125,145,179,.22));border-radius:15px;padding:18px}
.writing-task h3{margin:8px 0}
.writing-task ul{margin:8px 0 0 16px;padding-left:8px;line-height:1.8}
.writing-original{padding:16px;border-left:3px solid var(--accent,#7a92cb);border-radius:8px;background:rgba(130,150,184,.07)}
.writing-original p,.writing-entry p{overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.75}
.writing-checklist{border:1px solid rgba(130,150,184,.2);border-radius:14px;padding:15px;display:grid;gap:12px;margin:4px 0}
.writing-checklist legend{font-weight:700;padding:0 5px}
.writing-checklist label{display:flex;align-items:baseline;gap:10px;line-height:1.5}
.writing-checklist input{width:18px;height:18px;flex-shrink:0;vertical-align:middle;accent-color:#6e91db}
.writing-entry{margin-bottom:12px;display:grid;gap:10px}
.writing-entry details{border-top:1px solid rgba(130,150,184,.2);padding-top:12px}
.writing-entry summary{cursor:pointer;font-weight:700}
.writing-entry .btn-alt{justify-self:start}
@media(max-width:620px){.writing-selectors{grid-template-columns:minmax(0,1fr)}.writing-task{padding:14px}}
.writing-scaffold{border:1px solid rgba(130,150,184,.22);padding:14px;border-radius:14px}
.writing-scaffold summary{cursor:pointer;font-weight:700}
.writing-scaffold-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;padding:12px 0;border-top:1px solid rgba(130,150,184,.13)}
.writing-scaffold-line strong{font-size:1.05rem;min-width:0;overflow-wrap:anywhere}
.writing-scaffold-line .subtle{grid-row:2;grid-column:1 / -1}
.writing-scaffold .script-stack{display:inline-flex;flex-direction:column;align-items:flex-start}

/* Guided Foundations: semantic long-form instruction + recall, phone-first. */
.guided-feature{margin:18px 0;border:1px solid #34658a;background:linear-gradient(135deg,#122b45,#101c33);color:#eef7ff}
.guided-feature .subtle{color:#b6c9d8}
.guided-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:15px}
.guided-card{display:flex;flex-direction:column;gap:9px}
.guided-card h2{margin:0}.guided-card p{margin:0}.guided-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:14px}
.guided-work{max-width:760px;margin:0 auto;padding:22px 0}.guided-lesson-note{font-size:1.12rem;line-height:1.65;margin:18px 0}
.guided-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;margin:18px 0}
.guided-example{position:relative;padding:16px;border:1px solid var(--border,#334259);border-radius:14px;background:rgba(120,140,180,.06);min-width:0}
.guided-foreign{font-size:1.36rem;font-weight:750;overflow-wrap:anywhere;padding-right:20px}
.guided-example .latin-under{display:block;margin:6px 0;font-size:.92rem}.guided-example .speaker{margin-top:10px}
.guided-task-title{font-size:clamp(1.3rem,3vw,1.95rem);line-height:1.4;margin:26px 0 18px}
.guided-target{font-size:clamp(1.6rem,5vw,2.4rem);margin:16px 0;unicode-bidi:plaintext;overflow-wrap:anywhere}
.guided-choices{display:grid;grid-template-columns:1fr;gap:10px;margin:18px 0}
.guided-choices button{width:100%;text-align:left;border:1px solid #576982;border-radius:12px;padding:15px 18px;min-height:48px;background:rgba(120,140,180,.08);color:inherit;font:inherit;cursor:pointer;overflow-wrap:anywhere}
.guided-choices button:hover:not(:disabled){background:rgba(110,155,220,.18);border-color:#6e9bdc}
.guided-choices button:disabled{opacity:.58;cursor:default}
.guided-help{margin:15px 0}.guided-help .notice{margin-top:12px}.guided-work .field{margin-bottom:12px;display:block}.guided-work .field input{width:100%;font-size:16px;min-height:48px}
@media(max-width:550px){.guided-work{padding:8px 0}.guided-lesson-note{font-size:1.03rem}.guided-foreign{font-size:1.2rem}.guided-card-bottom>*{max-width:100%}}
@media(prefers-reduced-motion:reduce){.guided-card,.guided-example,.guided-choices button{transition:none!important}}

/* Private on-device speaking session. */
.speaking-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}
.speaking-audio{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin:18px 0}
.speaking-audio audio{display:block;max-width:100%;width:min(100%,420px);margin-top:8px}
.speaking-controls button{min-height:45px}

/* Guided-learning dashboard + script-entry keyboard: screen-reader and touch friendly. */
.guided-overview{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:15px 0 22px;flex-wrap:wrap;background:linear-gradient(115deg,#1a304f,#10223b)}
.guided-overview>div{flex:1;min-width:min(100%,240px)}.guided-overview .bar{margin:14px 0 4px}
.guided-overview button{min-height:48px}.guided-keyboard{background:#101f37;border:1px solid #3b5370;border-radius:13px;margin:16px 0;padding:12px}
.guided-keyboard summary{cursor:pointer;font-weight:750;min-height:30px}
.guided-key-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin:10px 0}
.guided-key-grid button{font-family:Tahoma,Arial,sans-serif;min-width:0;min-height:45px;padding:2px;background:#294866;border:1px solid #6c84a0;border-radius:8px;font-size:1.35rem;color:#fff}
.guided-key-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.guided-key-actions button{min-height:45px}
@media(max-width:430px){.guided-key-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.guided-key-grid button{font-size:1.22rem}.guided-overview{padding:16px}}

/* Contextual word hints — preserve Arabic joining and normal reading flow. */
.word-hint-token {
  display: inline;
  border-radius: .16em;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: rgba(212,107,24,.32);
  text-decoration-thickness: 1px;
  text-underline-offset: .19em;
  transition: background-color .16s ease, text-decoration-color .16s ease;
  -webkit-tap-highlight-color: rgba(255,142,55,.13);
}
.word-hint-token:hover,
.word-hint-token:focus-visible {
  background-color: rgba(245,140,50,.13);
  text-decoration-color: #c85c15;
}
.word-hint-token:focus-visible { outline: 2px solid #b35412; outline-offset: 3px; }
.word-hint-popover {
  position: fixed;
  z-index: 11000;
  width: min(300px, calc(100vw - 20px));
  padding: 13px 45px 13px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  border: 1px solid #eec6a1;
  background: #fffdf9;
  color: #222d38;
  box-shadow: 0 10px 30px rgba(52,41,30,.17);
  border-radius: 15px;
  text-align: left;
  white-space: normal;
  font: 500 15px/1.4 system-ui, sans-serif;
}
.word-hint-popover > strong { font-size: 20px; font-weight: 800; text-align: start; }
.word-hint-meaning { font-size: 17px; font-weight: 700; color: #914100; }
.word-hint-popover > small { font-size: 12px; color: #5e6371; line-height: 1.4; }
.word-hint-close {
  position: absolute;
  top: 6px;
  right: 7px;
  min-width: 35px;
  min-height: 35px;
  border: 0;
  background: transparent;
  color: #36404b;
  border-radius: 9px;
  font-size: 26px;
  cursor: pointer;
}
.word-hint-close:hover,.word-hint-close:focus-visible {background: #ffecdc;}
@media (prefers-reduced-motion: reduce) {
 .word-hint-token { transition: none; }
}
