:root{--app-navy:#092556;--app-gold:#ffca38;--app-bg:#f5f7fb}body{background:var(--app-bg)}.shell{max-width:1100px}.app-ready .brand-hero,.app-ready .hero-brief{display:none!important}.app-ready .header{min-height:74px}.app-ready .header-actions>#help-open{display:none}.app-ready .layout{display:block;padding-top:0}.app-ready .sidebar{display:none!important}.app-ready .main{max-width:790px;margin:auto}.app-ready .heading p,.app-ready .heading .eyebrow,.app-ready .heading-actions,.app-ready .dictionary-launch,.app-ready .study-view-bar,.app-ready #study-to-game,.app-ready #game-extras,.app-ready .mode-nav,.app-ready .mobile-set-bar{display:none!important}.app-ready .heading h1{font-size:22px}.app-ready .srs-overview{margin-top:18px}.app-ready .srs-overview.in-session{display:none}.app-ready .footer{margin-top:24px}.app-ready [hidden]{display:none!important}
.app-topbar{display:flex;align-items:center;gap:15px;margin:18px 0 25px}.app-topbar>span{font-weight:650;font-size:15px}.app-topbar>button:first-child{font-size:23px;width:48px;height:46px}.app-topbar>button:last-child{margin-left:auto}.app-page{max-width:790px;margin:0 auto 45px}.welcome-card{display:grid;grid-template-columns:1fr 155px;gap:24px;align-items:center;padding:32px;border-radius:24px;background:#092556;color:white}.welcome-card .eyebrow{color:#c4d3eb;font-size:10px}.welcome-card h1{font-size:35px;line-height:1.13;margin:15px 0;letter-spacing:-1px}.welcome-card p{color:#d6e0ef;font-size:14px;line-height:1.6}.welcome-card img{width:100%;height:auto;border-radius:18px}.welcome-card .primary{background:var(--app-gold);color:var(--app-navy);border-color:var(--app-gold);margin-top:10px;min-height:49px}
.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 25px}.home-stats>div{background:white;border:1px solid #e0e6ef;border-radius:17px;padding:18px}.home-stats strong{display:block;font-size:21px;line-height:1.2}.home-stats span{display:block;color:#63748b;font-size:11px;margin-top:7px}.home-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-choices>button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:23px;min-height:174px;background:white;border-radius:20px;border:1px solid #dbe3ef;text-align:left}.home-choices strong{font-size:21px}.home-choices span:not(.tile-icon){font-size:12px;color:#62748b}.home-choices b{position:absolute;right:23px;top:25px;font-size:23px;font-weight:400}.tile-icon{display:grid;place-items:center;width:43px;height:43px;background:#fff2bb;border-radius:13px;font-weight:750;font-size:17px}.home-choices button:nth-child(2) .tile-icon{background:#e7edf9}.route-teaser{display:grid;grid-template-columns:1fr auto;width:100%;gap:7px;text-align:left;padding:19px 22px;margin-top:20px;border-radius:17px;background:#edf2fa;border:0}.route-teaser>span:first-child{font-size:11px;color:#61728b}.route-teaser strong{grid-column:1;font-size:14px}.route-teaser>span:last-child{grid-column:2;grid-row:1/3;font-size:24px}
.page-heading{margin:25px 0}.page-heading h1{font-size:32px;letter-spacing:-.8px;margin:9px 0 12px}.page-heading p{color:#62748b;line-height:1.6;font-size:14px}.app-actions{display:flex;flex-wrap:wrap;gap:10px;margin:17px 0}.app-actions button{min-height:46px}.app-field{display:flex;flex-direction:column;gap:8px;max-width:460px;margin:18px 0;font-size:13px;color:#526681}.app-field input,.app-field select{min-height:46px;border:1px solid #ccd6e4;background:white;border-radius:11px;font:inherit;font-size:16px;padding:10px;color:#092556;width:100%}.sets{display:grid!important;grid-template-columns:1fr 1fr;gap:14px;margin:25px 0}.sets .set-button{min-height:110px;border:1px solid #dce3ed;border-radius:17px;background:white;padding:22px;font-size:17px;text-align:left;color:#092556}.sets .set-button.active{background:#fff9df;border-color:#ebca63}.sets .set-button small{font-size:12px;margin-top:12px}.menu-links{display:flex;flex-direction:column;gap:8px}.menu-links button{text-align:left;border:0;background:#f5f7fb;min-height:49px}.app-menu{max-width:390px}.app-menu .dialog-inner{padding:25px}.practice-back{margin-bottom:18px}
.course-list{display:flex;flex-direction:column;gap:12px;margin:24px 0}.course-list button{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:15px;text-align:left;padding:19px;border:1px solid #dce3ed;border-radius:17px;background:white;min-height:89px}.course-list button>span{font-size:15px;font-weight:700;background:#fff1bb;display:grid;place-items:center;width:40px;height:40px;border-radius:13px}.course-list strong{font-size:17px;display:block}.course-list small{display:block;font-size:12px;color:#65778c;margin-top:7px}.course-list button:disabled{opacity:.65}.lesson-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:20px}.lesson-note{font-size:13px;line-height:1.6;color:#61738a;background:#edf2f9;padding:15px;border-radius:13px}.lesson-pair{border:1px solid #dce3ed;border-radius:20px;background:white;overflow:hidden;margin:20px 0}.lesson-pair>div{padding:25px}.lesson-pair>div+div{border-top:1px solid #e0e6ef;background:#fffdf5}.lesson-pair p{font-size:32px;font-weight:650;overflow-wrap:anywhere;line-height:1.45;margin:12px 0;white-space:pre-wrap}.lesson-pair>div+div p{font-size:25px}.lesson-pair button{font-size:12px}.celebrate{font-size:62px;color:#d89c00;display:inline-block;animation:celebrate .5s ease-out}#course-finish{padding:35px;background:#fff9e4;border:1px solid #ecddaa;border-radius:22px}#course-stage,#course-feedback{font-size:13px;line-height:1.6}#course-feedback{color:#476f53}.route-summary{display:flex;flex-direction:column;gap:9px;padding:23px;border-radius:18px;background:#fff2bb}.route-summary strong{font-size:29px}.route-summary span{font-size:13px}.route-cities{list-style:none;padding:15px 0;margin:15px 0}.route-cities li{position:relative;margin:0 0 0 25px;padding:0 0 25px 35px;border-left:3px solid #dbe3ef;min-height:88px}.route-cities li:before{content:'○';position:absolute;left:-17px;top:0;width:31px;height:31px;background:var(--app-bg);text-align:center;font-size:26px;color:#91a1b9}.route-cities li.reached{border-color:#e5b52e}.route-cities li.reached:before{content:'●';color:#d1a020}.route-cities li.current:before{content:'✦';color:#092556}.route-cities strong{display:block;padding-top:5px;font-size:20px}.route-cities span{display:block;font-size:12px;color:#65768c;margin-top:8px}.route-cities li:last-child{border-color:transparent}.small-note{font-size:12px;line-height:1.7;color:#68798e}.sound-choice{display:flex;gap:12px;align-items:center;font-size:14px;line-height:1.5;margin:25px 0}.sound-choice input{width:21px;height:21px;accent-color:#092556}#page-settings details{padding:20px;border:1px solid #dce3ed;border-radius:17px;background:white;margin-bottom:20px}#page-settings details>summary{padding:0;cursor:pointer;font-size:15px}#page-settings .settings{padding:15px 0 0;flex-wrap:wrap}#group-ranking{list-style:none;padding:0;counter-reset:rank}#group-ranking li{counter-increment:rank;display:flex;gap:14px;align-items:center;background:white;padding:18px;border-radius:13px;margin:10px 0;border:1px solid #dce3ed}#group-ranking li:before{content:counter(rank);color:#71839b}#group-ranking li strong{flex:1;overflow-wrap:anywhere}#group-ranking li span{font-size:12px;text-align:right}.join-group{border-top:1px solid #dce3ed;margin-top:25px;padding-top:10px}#sdk-retry{margin-top:15px}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #477bd3;outline-offset:3px}@keyframes celebrate{from{transform:scale(.7) rotate(-12deg)}to{transform:scale(1) rotate(0)}}
@media(max-width:750px){.shell{padding:0 16px}.app-topbar{margin:14px 0 20px}.app-topbar>button:last-child span{display:none}.welcome-card{padding:24px 20px;grid-template-columns:1fr 80px;gap:12px}.welcome-card h1{font-size:28px}.welcome-card p{font-size:12px}.welcome-card .eyebrow{font-size:8px}.welcome-card .primary{font-size:12px;padding:12px}.home-stats{gap:8px}.home-stats>div{padding:14px 10px}.home-stats strong{font-size:17px;overflow-wrap:anywhere}.home-stats span{font-size:10px}.home-choices{gap:11px}.home-choices>button{padding:17px;min-height:174px}.home-choices strong{font-size:17px}.home-choices span:not(.tile-icon){font-size:11px;line-height:1.5}.home-choices b{right:14px;top:18px}.page-heading h1{font-size:29px}.sets{grid-template-columns:1fr}.app-actions{display:grid;grid-template-columns:1fr}.app-actions button{width:100%;white-space:normal}.course-list button{grid-template-columns:36px 1fr auto;gap:12px;padding:15px}.course-list strong{font-size:16px}.course-list small{font-size:11px}.lesson-pair>div{padding:20px}.lesson-pair p{font-size:27px}.lesson-pair>div+div p{font-size:23px}.app-ready .account-strip{padding:10px 0}.app-ready .account-strip-actions button{font-size:11px;min-height:36px}.app-ready .account-strip>div:first-child strong{font-size:11px}.app-ready .account-strip>div:first-child span{font-size:10px}#course-finish{padding:23px}.app-ready .training-top{padding:17px 15px}.app-ready .round-actions{width:100%}.app-ready .round-actions button{flex:1}.app-ready .game-setup{padding:20px}.app-ready .srs-panel{border-radius:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.app-ready:not(.access-locked) .account-strip-actions>button{display:none}.app-ready .account-strip{gap:10px}.app-ready .account-strip-actions{width:auto}.app-ready #save-status{display:none}

.app-ready #page-settings .study-view-bar{display:flex!important;margin:20px 0}

/* Administrator: one lesson at a time; labelled fields also work on phones. */
.admin-cards{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid #dbe3ee}
.admin-cards h3{margin:0 0 8px}.admin-cards .account-heading p{margin:0}
.admin-cards fieldset{min-width:0;border:0;padding:0;margin:0}
.admin-cards-controls{display:flex;gap:12px;align-items:end;margin:14px 0!important}
.admin-cards-controls .field{flex:1;min-width:0}
.admin-lesson-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px}
.admin-cards input:not([type=checkbox]),.admin-cards select,.admin-cards textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:16px;padding:12px;border:1px solid #cad6e4;border-radius:10px;background:#fff;color:#092c55}
.admin-cards textarea{resize:vertical}.admin-cards input[type=checkbox]{width:20px;height:20px;flex-shrink:0}
.admin-card-row{background:#f3f7fc;border:1px solid #dbe3ee!important;border-radius:14px;padding:16px!important;margin:18px 0!important;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.admin-card-row legend{font-weight:750;padding:0 6px}.admin-card-row label{display:flex;flex-direction:column;gap:6px;font-size:14px}
.admin-card-row button{grid-column:1/-1;justify-self:start}.admin-cards :disabled{opacity:.65}
#admin-cards-status{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}
@media(max-width:700px){.admin-lesson-fields,.admin-card-row{grid-template-columns:1fr}.admin-cards-controls{flex-direction:column;align-items:stretch}.admin-cards .account-heading{flex-wrap:wrap;gap:12px}}

.admin-audience{padding:18px;background:#fff9df;border:1px solid #eedc99;border-radius:14px;margin:22px 0}
.admin-recipient-search{display:flex;gap:10px;align-items:end;margin-top:16px}.admin-recipient-search .field{flex:1;min-width:0}
#admin-recipient-list{padding:0;list-style:none;display:grid;gap:8px}#admin-recipient-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff;padding:10px;border-radius:10px}#admin-recipient-list span{overflow-wrap:anywhere;min-width:0}
@media(max-width:700px){.admin-recipient-search{flex-direction:column;align-items:stretch}#admin-recipient-list li{flex-wrap:wrap}}
.admin-bulk-cards{margin:20px 0;padding:18px;border:1px solid #cad8e8;border-radius:14px;background:#eef5fd}.admin-bulk-cards h4{margin:0 0 6px;font-size:17px}.admin-bulk-cards p{margin:0 0 12px;color:#526681;line-height:1.5}.admin-bulk-cards textarea{width:100%;min-height:150px;resize:vertical;font-family:inherit;line-height:1.55}.admin-bulk-actions{display:flex;align-items:center;gap:14px;margin-top:12px}.admin-bulk-actions span{color:#31506f;line-height:1.45}.admin-bulk-actions button{flex-shrink:0}@media(max-width:700px){.admin-bulk-actions{align-items:stretch;flex-direction:column}.admin-bulk-actions button{width:100%}}
.set-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}.set-row .set-button{min-width:0}.set-delete{width:42px;padding:8px;border-color:#e5c8c4;background:#fff7f5;font-size:16px}.set-delete:hover{background:#ffe9e5}.admin-lesson-actions{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.admin-lesson-actions .danger{border-color:#e1b8b3;background:#fff7f5}@media(max-width:750px){.set-row{flex:0 0 225px}}
/* Returning learner: one action, a gentle goal, and actual practice history. */
.welcome-card{grid-template-columns:minmax(0,1fr) 120px;padding:28px 32px;gap:22px}
.welcome-card .home-greeting{font-size:14px;margin:12px 0 0;color:#e2ecfc}
.welcome-card h1{font-size:34px;margin:10px 0 12px;max-width:480px}
.home-progress{margin:18px 0 22px;padding:22px;background:var(--paper,#fff);border:1px solid var(--line,#dbe3ef);border-radius:20px}
.home-goal{display:flex;align-items:center;justify-content:space-between;gap:22px}.home-goal strong{font-size:16px}.home-goal span{display:block;font-size:12px;color:var(--muted,#63748b);margin-top:7px;line-height:1.5}
.home-goal progress{width:150px;flex-shrink:0;height:9px;border:0;border-radius:8px;overflow:hidden;background:#e8eef6;accent-color:#e6ad00}.home-goal progress::-webkit-progress-bar{background:#e8eef6}.home-goal progress::-webkit-progress-value{background:#f3c331}.home-goal progress::-moz-progress-bar{background:#f3c331}
.home-progress .home-stats{grid-template-columns:1fr 1fr;margin:20px 0 16px;gap:20px}.home-progress .home-stats>div{padding:0;border:0;background:transparent}.home-progress .home-stats strong{font-size:23px}.home-progress .home-stats span{font-size:12px;line-height:1.5}
.home-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.home-day{text-align:center;font-size:11px;color:var(--muted,#63748b)}.home-day strong{display:grid;place-items:center;height:35px;background:var(--soft,#f0f4fa);border-radius:10px;margin-top:7px;font-size:18px}.home-day.active strong{background:#fff1b6;color:#5f4800}.home-day.today strong{outline:2px solid #365c99;outline-offset:2px}.home-report-note{font-size:11px;line-height:1.55;color:var(--muted,#63748b);margin:16px 0 0}.home-choices>button{min-height:150px}
@media(max-width:500px){.welcome-card{padding:23px 20px;grid-template-columns:minmax(0,1fr) 65px;gap:12px}.welcome-card h1{font-size:27px}.welcome-card .home-greeting{font-size:12px}.home-progress{padding:18px}.home-goal{align-items:stretch;flex-direction:column;gap:12px}.home-goal progress{width:100%}.home-progress .home-stats strong{font-size:19px}.home-week{gap:6px}.home-day{font-size:10px}.home-choices>button{min-height:155px}}
.activity-calendar{background:var(--paper,#fff);color:var(--ink,#10264c);border:1px solid var(--line,#dbe3ef);border-radius:20px;padding:22px;margin:22px 0;min-width:0}.calendar-heading{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}.calendar-heading h3{margin:0;font-size:21px}.calendar-heading>div{display:flex;align-items:center;gap:12px}.calendar-heading button{min-width:36px;min-height:36px;padding:4px;font-size:22px}.calendar-scroll{overflow-x:auto;padding:8px 3px 12px}.calendar-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;gap:3px;width:max-content}.calendar-grid button{padding:0;min-height:0;width:12px;height:12px;border:0;border-radius:2px;background:#e8edf3}.calendar-grid button[aria-pressed=true]{outline:2px solid #142e59;outline-offset:1px}.calendar-grid button:focus-visible{outline:2px solid #d88300;outline-offset:2px}.calendar-grid button:disabled{opacity:.35}.calendar-grid [data-level="1"],.calendar-legend [data-level="1"]{background:#b9e0f5}.calendar-grid [data-level="2"],.calendar-legend [data-level="2"]{background:#74b9e4}.calendar-grid [data-level="3"],.calendar-legend [data-level="3"]{background:#368bc5}.calendar-grid [data-level="4"],.calendar-legend [data-level="4"]{background:#15548c}.calendar-months{display:grid;gap:3px;margin-bottom:7px;width:max-content;font-size:10px;color:var(--muted,#63748b)}.calendar-legend{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;color:var(--muted,#63748b)}.calendar-legend i{display:inline-block;width:12px;height:12px;background:#e8edf3;border-radius:2px}.calendar-caption{font-size:12px;line-height:1.6;color:var(--muted,#63748b)}.calendar-detail summary{cursor:pointer;line-height:1.6;padding:10px 0}.calendar-detail ul{padding-left:20px;line-height:1.8;font-size:13px}.calendar-detail h4{line-height:1.6}.activity-calendar [data-cal="status"]{font-size:12px;line-height:1.6}@media(max-width:500px){.activity-calendar{padding:17px}.calendar-heading h3{font-size:19px}}
