:root { color: #20372a; background: #f5f7f2; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-synthesis: none; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; min-height: 100vh; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .58; }
.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 13px; color: #fff; background: #1f5139; font: 600 21px Georgia, serif; }
.brand b, .brand small { display: block; }
.brand b { font: 600 18px Georgia, serif; }
.brand small { margin-top: 2px; color: #8b978f; font-size: 8px; }
.eyebrow { margin: 0; color: #6c8374; font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.primary, .secondary { min-height: 42px; padding: 0 17px; border-radius: 12px; font-size: 11px; font-weight: 800; }
.primary { border: 0; color: #fff; background: #21553b; box-shadow: 0 12px 25px #1d4c3530; }
.secondary { border: 1px solid #d7e0d9; color: #405449; background: #fff; }
.wide { width: 100%; }
.text-button { border: 0; color: #557062; background: transparent; font-size: 10px; font-weight: 750; }
.auth-page { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(420px, .75fr); min-height: 100vh; background: radial-gradient(circle at 15% 8%, #cfe2c5 0, transparent 34%), radial-gradient(circle at 58% 90%, #eadbc5 0, transparent 34%), #f4f6ef; }
.auth-story { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 52px clamp(55px, 8vw, 130px); }
.auth-story > .brand { position: absolute; top: 48px; left: clamp(55px, 8vw, 130px); }
.auth-story-copy { max-width: 760px; }
.auth-story h1 { max-width: 750px; margin: 25px 0 29px; color: #153b28; font: 500 clamp(54px, 6.8vw, 94px)/.98 Georgia, serif; letter-spacing: -.055em; }
.auth-story-copy > p:not(.eyebrow) { max-width: 620px; color: #687a70; font-size: 16px; line-height: 1.8; }
.word-thread { display: flex; align-items: center; gap: 15px; margin-top: 60px; color: #698171; font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.word-thread i { width: 42px; height: 1px; background: #b9cabb; }
.auth-panel { position: relative; display: grid; min-height: 100vh; place-items: center; padding: 60px; background: rgba(255,255,255,.86); box-shadow: -28px 0 80px #29463316; backdrop-filter: blur(16px); }
.auth-form { width: min(100%, 410px); }
.auth-form h2 { margin: 10px 0 8px; color: #193a29; font: 500 34px Georgia, serif; }
.auth-form > p:not(.eyebrow) { margin: 0 0 32px; color: #849087; font-size: 12px; }
.auth-form label { display: block; margin: 18px 0; }
.auth-form label span, .settings-form label span { display: block; margin-bottom: 8px; color: #4d5e54; font-size: 10px; font-weight: 800; }
.auth-form input, .settings-form input, .settings-form select, .settings-form textarea { width: 100%; border: 1px solid #d8e0da; border-radius: 12px; outline: 0; color: #253a2e; background: #fff; }
.auth-form input { height: 49px; padding: 0 14px; }
.auth-form input:focus, .settings-form input:focus, .settings-form select:focus, .settings-form textarea:focus { border-color: #6f917c; box-shadow: 0 0 0 4px #e8f0e8; }
.auth-form .primary { margin-top: 10px; }
.auth-form .text-button { display: block; margin: 18px auto 0; }
.form-error { margin: 13px 0; padding: 12px 14px; border-radius: 11px; color: #97483f; background: #fbeae8; font-size: 10px; }
.privacy-note { position: absolute; bottom: 30px; color: #9aa49e; font-size: 8px; }
.product-shell { display: grid; grid-template-columns: 235px minmax(0, 1fr); width: 100vw; height: 100vh; overflow: hidden; }
.sidebar { display: flex; min-height: 0; flex-direction: column; padding: 19px 15px 14px; border-right: 1px solid #dee5df; background: #fbfcfa; }
.sidebar > .brand { padding: 0 7px 20px; }
.learner-card { display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid #dfe5e0; border-radius: 13px; background: #fff; }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; color: #28503a; background: #e1eee2; font-size: 11px; font-weight: 850; text-transform: uppercase; }
.learner-card small, .learner-card b { display: block; }
.learner-card small { color: #95a098; font-size: 7px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.learner-card b { margin-top: 3px; font-size: 10px; }
.sidebar nav { overflow-y: auto; padding-top: 7px; }
.sidebar nav p { margin: 18px 10px 7px; color: #a0aaa3; font-size: 7px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.nav-button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 35px; padding: 0 10px; border: 0; border-radius: 9px; color: #66756c; text-align: left; background: transparent; font-size: 10px; font-weight: 750; }
.nav-button > span { width: 15px; color: #849087; text-align: center; }
.nav-button:hover { color: #284b38; background: #f0f4ef; }
.nav-button.active { color: #fff; background: #22553b; box-shadow: 0 8px 17px #244b3728; }
.nav-button.active > span { color: #fff; }
.sidebar-bottom { margin-top: auto; padding-top: 14px; border-top: 1px solid #e5eae6; }
.nav-button.muted { margin-top: 5px; color: #8a958e; }
.workspace { display: flex; min-width: 0; min-height: 0; flex-direction: column; background: #f7f9f5; }
.topbar { display: flex; align-items: center; justify-content: space-between; min-height: 63px; padding: 0 29px; border-bottom: 1px solid #e2e8e3; background: rgba(255,255,255,.84); }
.topbar small, .topbar b { display: block; }
.topbar small { color: #9aa49e; font-size: 7px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.topbar b { margin-top: 3px; font: 600 15px Georgia, serif; }
.review-pill { display: flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 12px; border: 1px solid #dce4de; border-radius: 10px; color: #526259; background: #fff; font-size: 8px; font-weight: 850; }
.review-pill i { width: 6px; height: 6px; border-radius: 50%; background: #83a864; box-shadow: 0 0 0 3px #eef4e9; }
.content { min-height: 0; flex: 1; overflow-y: auto; }
.loading, .page-error { display: grid; min-height: 70vh; place-content: center; color: #829087; font-size: 12px; }
.page-error span, .page-error b { display: block; margin: 5px; }
.today-page { max-width: 1170px; margin: 34px auto 80px; padding: 0 24px; }
.hero { display: grid; grid-template-columns: 1.7fr .8fr; overflow: hidden; min-height: 310px; border: 1px solid #dce4dd; border-radius: 26px; background: linear-gradient(120deg,#fff,#f7faf4); box-shadow: 0 24px 65px #29463418; }
.hero > div:first-child { padding: 41px 46px; }
.hero .eyebrow span { margin-left: 9px; padding: 4px 8px; border: 1px solid #d5e5c7; border-radius: 999px; color: #5f7a4d; background: #f3f8eb; letter-spacing: .06em; }
.hero h1 { margin: 29px 0 12px; color: #173e2a; font: 500 52px/1.05 Georgia, serif; letter-spacing: -.045em; }
.hero > div > p:not(.eyebrow) { max-width: 650px; color: #68796f; font-size: 13px; line-height: 1.7; }
.hero-actions { display: flex; gap: 10px; margin-top: 28px; }
.orbit { position: relative; display: grid; place-items: center; overflow: hidden; background-color: #e9f4e2; background-image: radial-gradient(#c7dcc6 1px, transparent 1px); background-size: 18px 18px; }
.orbit::before, .orbit::after { position: absolute; width: 175px; height: 175px; border: 1px solid #aac6ac; border-radius: 50%; content: ''; }
.orbit::after { width: 245px; height: 245px; }
.orbit > div { z-index: 2; display: grid; place-items: center; width: 82px; height: 82px; border: 9px solid #a9bdac; border-radius: 50%; color: #fff; background: #2c6044; box-shadow: 0 0 0 10px #d4e4d3aa; }
.orbit b, .orbit small { display: block; text-align: center; text-transform: uppercase; }
.orbit b { font: 600 28px Georgia, serif; }
.orbit small { font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.orbit-label { position: absolute; z-index: 3; padding: 5px 9px; border: 1px solid #d1dfd0; border-radius: 999px; background: #fff; font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.orbit-label.one { top: 62px; right: 45px; }.orbit-label.two { bottom: 77px; left: 50px; }.orbit-label.three { right: 20px; bottom: 28px; }
.focus-row { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin: 30px 3px 22px; }
.focus-row h2, .section-heading h2, .personal-card h2 { margin: 7px 0 0; font: 500 23px Georgia, serif; }
.focus-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; min-width: 630px; }
.focus-options button { min-height: 54px; padding: 10px 16px; border: 1px solid #dbe3dd; border-radius: 13px; color: #526259; text-align: left; background: #fff; }
.focus-options button.selected { border-color: #6e9a7d; box-shadow: 0 8px 20px #285b3b12; }
.focus-options b, .focus-options small { display: block; }.focus-options b { font-size: 10px; }.focus-options small { margin-top: 3px; color: #89958e; font-size: 7px; }
.today-grid { display: grid; grid-template-columns: minmax(0, 2.25fr) minmax(250px, .95fr); gap: 19px; }
.plan-card { padding: 27px 25px; border: 1px solid #dce4dd; border-radius: 21px; background: #fff; }
.plan-card ol { margin: 19px 0 0; padding: 0; list-style: none; }
.plan-item { display: grid; grid-template-columns: 27px 37px minmax(0,1fr) 40px 88px; align-items: center; gap: 10px; min-height: 75px; border-top: 1px solid #e7ebe8; }
.plan-item:first-child { border-top: 0; }
.plan-index { color: #9aa69e; font-size: 8px; }
.item-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: #386b53; background: #e8f3ec; font-weight: 900; }
.item-icon.grammar { color: #655d9b; background: #efedfb; }.item-icon.phonics { color: #8b6819; background: #fff2d8; }
.item-main small, .item-main b, .item-main span { display: block; }.item-main small { color: #7f8d85; font-size: 7px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }.item-main em { padding: 2px 5px; border-radius: 4px; background: #eef1ee; font-style: normal; }.item-main b { margin-top: 4px; font: 600 18px Georgia, serif; }.item-main span { margin-top: 2px; overflow: hidden; color: #849087; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.fit b, .fit small { display: block; text-align: center; }.fit b { font: 500 17px Georgia, serif; }.fit small { color: #8e9992; font-size: 6px; text-transform: uppercase; }
.plan-item .secondary { min-height: 31px; padding: 0 9px; font-size: 8px; }
.personal-card { padding: 27px 25px; border-radius: 21px; color: #fff; background: #204f38; box-shadow: 0 22px 45px #244c3520; }
.personal-card .eyebrow { color: #b6cdbd; }.personal-card > p:not(.eyebrow) { margin: 17px 0; color: #d5e3da; font-size: 9px; line-height: 1.65; }
.personal-stats { display: grid; grid-template-columns: repeat(3,1fr); margin: 20px 0; overflow: hidden; border-radius: 12px; background: #ffffff1a; }
.personal-stats span { padding: 14px 5px; border-left: 1px solid #ffffff12; text-align: center; }.personal-stats span:first-child { border-left: 0; }.personal-stats b,.personal-stats small { display:block }.personal-stats b { font: 600 18px Georgia,serif }.personal-stats small { margin-top: 3px; color:#cfddd4;font-size:6px; }
.personal-card ul { margin: 0; padding: 0; list-style: none; }.personal-card li { display: grid; grid-template-columns: 8px 1fr; gap: 8px; margin: 16px 0; }.personal-card li i { width: 7px;height:7px;margin-top:3px;border-radius:50%;background:#b9dd78;box-shadow:0 0 0 3px #ffffff12 }.personal-card li b,.personal-card li small { display:block }.personal-card li b { font-size:8px }.personal-card li small { margin-top:3px;color:#ccddd2;font-size:7px;line-height:1.45 }
.library-page, .cards-page { max-width: 1100px; margin: 0 auto; padding: 45px 30px 80px; }
.page-heading { max-width: 680px; margin-bottom: 30px; }.page-heading h1, .settings-page h1 { margin: 9px 0 11px; color: #1a3c29; font: 500 42px Georgia,serif; letter-spacing: -.035em; }.page-heading > p:not(.eyebrow), .settings-page > p:not(.eyebrow) { color:#738179;font-size:11px;line-height:1.7 }
.library-grid, .phonics-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:15px }.library-card,.sound-card { position:relative;padding:22px;border:1px solid #dde5df;border-radius:18px;background:#fff;box-shadow:0 12px 32px #2f4a3810 }.library-card.mastered { opacity:.66 }.level,.sound-card>span { display:inline-block;padding:4px 7px;border-radius:6px;color:#5f7366;background:#edf2ee;font-size:7px;font-weight:850;text-transform:uppercase }.library-card h2,.sound-card h2 { margin:16px 0 9px;font:600 25px Georgia,serif }.library-card>p,.sound-card>p { min-height:34px;color:#697970;font-size:10px;line-height:1.6 }.library-card blockquote { min-height:45px;margin:16px 0;padding:11px 13px;border-left:2px solid #8cab96;color:#718078;background:#f7f9f6;font:italic 10px/1.55 Georgia,serif }.library-card>div { display:flex;align-items:center;gap:3px }.library-card .secondary { min-height:34px;font-size:8px }.library-card .text-button { font-size:8px }
.sound-word { display:grid;place-items:center;min-height:90px;margin:17px 0;border-radius:14px;color:#244e36;background:#edf5e9;font:600 35px Georgia,serif }.check-progress { height:5px;margin:17px 0;border-radius:9px;background:#e7ece8 }.check-progress i { display:block;height:100%;border-radius:inherit;background:#74a16f }.sound-card .primary { width:100%;font-size:9px }
.card-list { display:grid;gap:13px }.study-card { display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px 26px;border:1px solid #dde5df;border-radius:17px;background:#fff }.study-card small { color:#7c8b82;font-size:7px;font-weight:850;letter-spacing:.1em;text-transform:uppercase }.study-card h2 { margin:8px 0;font:600 23px Georgia,serif }.study-card p { margin:0;color:#728078;font-size:10px;white-space:pre-line }.due { color:#849088;font-size:9px }.ratings { display:flex;gap:5px }.ratings button { min-height:33px;padding:0 11px;border:1px solid #dbe3dd;border-radius:9px;color:#40544a;background:#f8faf8;font-size:8px;font-weight:800 }.ratings button:nth-child(3),.ratings button:nth-child(4){ color:#fff;background:#2b6044 }
.empty-state { display:grid;min-height:300px;place-content:center;justify-items:center;border:1px dashed #ced9d1;border-radius:20px;color:#74827a;background:#fbfcfa;text-align:center }.empty-state b { color:#2d4838;font:600 23px Georgia,serif }.empty-state p { margin:9px 0 22px;font-size:10px }
.settings-page { max-width:840px;margin:43px auto 80px;padding:39px 42px;border:1px solid #dce4de;border-radius:24px;background:#fff;box-shadow:0 23px 60px #29453518 }.settings-form { display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:29px }.settings-form label.wide,.settings-form div.wide { grid-column:1/-1 }.settings-form input,.settings-form select,.settings-form textarea { padding:11px 12px;font-size:10px }.settings-form select { height:41px }.settings-form textarea { resize:vertical }.settings-form div.wide { display:flex;align-items:center;gap:13px }.settings-form #save-status { color:#54745e;font-size:10px;font-weight:750 }
.sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0 }
.toast { position:fixed;z-index:50;right:24px;bottom:24px;max-width:360px;padding:13px 18px;border-radius:12px;color:#fff;background:#24573d;box-shadow:0 18px 45px #17382640;font-size:11px;font-weight:750;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease }.toast.show{opacity:1;transform:none}.toast.error{background:#9d453b}
.dashboard-strip { display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 30px }.dashboard-strip article,.stats-grid article { padding:18px 20px;border:1px solid #dce4dd;border-radius:15px;background:#fff }.dashboard-strip small,.dashboard-strip b,.dashboard-strip span,.stats-grid small,.stats-grid b,.stats-grid span { display:block }.dashboard-strip small,.stats-grid small { color:#87938c;font-size:7px;font-weight:850;letter-spacing:.1em;text-transform:uppercase }.dashboard-strip b,.stats-grid b { margin:7px 0 3px;font:600 27px Georgia,serif }.dashboard-strip span,.stats-grid span { color:#89958e;font-size:8px }
.catalog-page,.decks-page,.stats-page { max-width:1180px;margin:0 auto;padding:42px 28px 90px }.catalog-hero { display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:27px }.catalog-hero>div:first-child{max-width:760px}.catalog-hero h1 { margin:10px 0 11px;color:#173d29;font:500 43px Georgia,serif;letter-spacing:-.035em }.catalog-hero p:not(.eyebrow){color:#738179;font-size:11px;line-height:1.7}.catalog-total{min-width:155px;padding:20px 22px;border-radius:17px;color:#fff;background:#204f38}.catalog-total b,.catalog-total span,.catalog-total small{display:block}.catalog-total b{font:600 30px Georgia,serif}.catalog-total span{margin:3px 0 12px;font-size:9px;font-weight:800}.catalog-total small{color:#cbdacf;font-size:8px}
.catalog-toolbar { display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:9px;padding:12px;border:1px solid #dce4dd;border-radius:16px;background:#fff }.catalog-toolbar input { width:100%;height:42px;padding:0 14px;border:1px solid #d9e2da;border-radius:11px;outline:0;color:#294335;background:#f9fbf8;font-size:10px }.catalog-toolbar input:focus{border-color:#73967f;box-shadow:0 0 0 3px #e7f0e8}.level-tabs{display:flex;gap:4px}.level-tabs button{min-width:35px;height:34px;border:1px solid #dce4dd;border-radius:9px;color:#65766c;background:#fff;font-size:8px;font-weight:800}.level-tabs button.active{color:#fff;border-color:#285c40;background:#285c40}.bulk-bar { display:flex;align-items:center;gap:8px;min-height:60px;padding:0 4px }.bulk-bar>span{color:#75837b;font-size:9px}.bulk-bar .primary,.bulk-bar .secondary{min-height:34px;font-size:8px}.bulk-bar .result-range{margin-left:auto}
.catalog-list { display:grid;gap:8px }.catalog-row { display:grid;grid-template-columns:26px 43px minmax(0,1fr) 145px;align-items:start;gap:13px;padding:18px 20px;border:1px solid #dce4de;border-radius:15px;background:#fff;box-shadow:0 8px 22px #2b483612 }.catalog-row.is-mastered{background:#f8faf7}.catalog-select{position:relative;margin-top:4px}.catalog-select input{position:absolute;opacity:0}.catalog-select span{display:block;width:18px;height:18px;border:1px solid #cdd8d0;border-radius:5px;background:#fff}.catalog-select input:checked+span{border-color:#286043;background:#286043;box-shadow:inset 0 0 0 4px #fff}.level-badge{display:grid;place-items:center;width:41px;height:27px;border-radius:8px;color:#355744;background:#e9f1e9;font-size:8px;font-weight:900}.level-b2,.level-c1,.level-c2{color:#5c4e78;background:#efebf6}.catalog-title{display:flex;align-items:baseline;gap:9px}.catalog-title h2{margin:0;color:#203d2d;font:600 21px Georgia,serif}.catalog-title em{color:#849087;font-size:8px}.catalog-copy>p{margin:5px 0 0;color:#63756a;font-size:9px;line-height:1.55}.catalog-copy blockquote{margin:7px 0 0;color:#7c8a82;font:italic 9px Georgia,serif}.catalog-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px}.catalog-actions .secondary{min-height:32px;padding:0 10px;font-size:8px}.catalog-actions .text-button{font-size:8px}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}.pagination span{color:#78867e;font-size:9px}.pagination .secondary{min-height:34px;font-size:8px}
.sound-word { width:100%;border:0;cursor:pointer }.sound-word small{display:block;color:#76907d;font:700 7px Inter,sans-serif;text-transform:uppercase}.sound-word i{font:normal 11px Inter,sans-serif}.word-chips{display:flex;flex-wrap:wrap;gap:5px;min-height:34px}.word-chips button{padding:5px 8px;border:1px solid #dae4dc;border-radius:999px;color:#52675a;background:#fff;font-size:8px}.sound-card progress,.session-progress,.coverage-row progress{width:100%;height:6px;border:0;border-radius:9px;overflow:hidden;background:#e6ece7}.sound-card progress::-webkit-progress-bar,.session-progress::-webkit-progress-bar,.coverage-row progress::-webkit-progress-bar{background:#e6ece7}.sound-card progress::-webkit-progress-value,.session-progress::-webkit-progress-value,.coverage-row progress::-webkit-progress-value{background:#6f9e73}.sound-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:12px}.sound-actions .primary,.sound-actions .secondary{padding:0 10px;font-size:8px}
.deck-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:22px }.deck-card { display:grid;grid-template-columns:42px 1fr;gap:12px;padding:20px;border:1px solid #dce4de;border-radius:17px;background:#fff }.deck-symbol{display:grid;place-items:center;width:40px;height:48px;border-radius:8px;color:#fff;background:#285c41;font:600 18px Georgia,serif;box-shadow:4px 4px 0 #cadacb}.deck-card h2{margin:2px 0 4px;font:600 19px Georgia,serif}.deck-card p{margin:0;color:#7b8981;font-size:8px}.deck-card dl{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);margin:8px 0 0;padding:11px 0;border-block:1px solid #e7ebe8}.deck-card dl div{text-align:center;border-left:1px solid #e7ebe8}.deck-card dl div:first-child{border-left:0}.deck-card dt{color:#8a968f;font-size:7px;text-transform:uppercase}.deck-card dd{margin:4px 0 0;font:600 17px Georgia,serif}.deck-card .export-deck{grid-column:1/-1;min-height:34px;font-size:8px}.studio-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 }.studio-panel,.card-browser,.chart-panel,.coverage-panel { padding:24px;border:1px solid #dce4de;border-radius:18px;background:#fff }.section-heading h2{margin:6px 0 0;font:500 23px Georgia,serif}.card-form{display:grid;gap:11px;margin-top:18px}.card-form label span{display:block;margin-bottom:6px;color:#586a5f;font-size:8px;font-weight:800}.card-form input,.card-form textarea,.card-form select{width:100%;padding:10px 11px;border:1px solid #d9e2da;border-radius:10px;outline:0;color:#294335;background:#fbfcfa;font-size:9px;resize:vertical}.card-form .primary{justify-self:start;font-size:9px}.card-browser{margin-top:14px}.card-table{margin-top:18px}.card-table-head,.card-table-row{display:grid;grid-template-columns:minmax(0,2fr) 140px 150px 130px;gap:14px;align-items:center}.card-table-head{padding:0 14px 9px;color:#8a958e;font-size:7px;font-weight:850;text-transform:uppercase}.card-table-row{min-height:73px;padding:11px 14px;border-top:1px solid #e5eae6}.card-table-row:first-of-type{border-top:0}.card-table-row small,.card-table-row b,.card-table-row p{display:block}.card-table-row small{color:#7f8d85;font-size:7px;text-transform:uppercase}.card-table-row b{margin:4px 0;font:600 16px Georgia,serif}.card-table-row p{max-height:30px;margin:0;overflow:hidden;color:#7d8a83;font-size:8px;line-height:1.5;white-space:pre-line}.card-table-row>span{color:#68786f;font-size:8px}.card-table-row.is-suspended{opacity:.52}.text-button.danger{color:#9a4d45}
.review-page{max-width:960px;margin:0 auto;padding:43px 28px 80px}.review-header{display:flex;align-items:flex-end;justify-content:space-between;gap:25px}.review-header h1{margin:8px 0 0;font:500 34px Georgia,serif}.review-counts{display:flex;gap:8px}.review-counts span{min-width:84px;padding:10px 13px;border:1px solid #dce4de;border-radius:11px;color:#738179;background:#fff;font-size:8px}.review-counts b{color:#244a35;font:600 17px Georgia,serif}.session-progress{margin:21px 0;height:5px}.review-card{overflow:hidden;border:1px solid #d9e2db;border-radius:23px;background:#fff;box-shadow:0 25px 70px #2945351a}.review-card-meta{display:flex;justify-content:space-between;padding:15px 21px;border-bottom:1px solid #e8ece9;color:#86928b;font-size:7px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.review-front{display:grid;min-height:285px;place-content:center;justify-items:center;padding:45px;text-align:center}.review-front>p,.review-answer>p{margin:0 0 15px;color:#87958c;font-size:7px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.review-front h2{max-width:750px;margin:0;color:#173c29;font:500 52px/1.14 Georgia,serif}.listen-card{margin-top:23px;padding:8px 13px;border:1px solid #d9e3db;border-radius:999px;color:#526b5c;background:#f8faf8;font-size:8px;font-weight:800}.review-answer{padding:25px 50px;border-top:1px solid #e5ebe6;background:#f7faf6;text-align:center}.review-answer>div{color:#44594c;font:400 17px/1.75 Georgia,serif;white-space:pre-line}.reveal-answer{display:block;margin:0 auto 35px}.reveal-answer kbd,.rating kbd{font:inherit}.rating-panel{padding:22px 26px;border-top:1px solid #e4eae5}.rating-panel>p{margin:0 0 12px;color:#78857e;font-size:9px;text-align:center}.rating-panel>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.rating{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;min-height:49px;padding:0 13px;border:1px solid #d7e0d9;border-radius:11px;color:#405348;background:#fff}.rating kbd{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#edf1ed;font-size:7px}.rating b{font-size:9px;text-align:left;text-transform:capitalize}.rating span{color:#7e8b84;font-size:8px}.rating.good,.rating.easy{color:#fff;border-color:#2c6245;background:#2c6245}.rating.good span,.rating.easy span{color:#d5e2d9}.rating.again{color:#8f4942;background:#fff8f7}.keyboard-hint{color:#89958e;font-size:8px;text-align:center}.review-finished{display:grid;min-height:600px;place-content:center;justify-items:center;text-align:center}.review-finished>span{display:grid;place-items:center;width:70px;height:70px;margin-bottom:20px;border-radius:50%;color:#fff;background:#286043;font-size:28px}.review-finished h1{margin:12px 0;color:#183d29;font:500 42px Georgia,serif}.review-finished>p:not(.eyebrow){max-width:480px;color:#75837b;font-size:11px;line-height:1.7}.review-finished>div{display:flex;gap:8px;margin-top:15px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.chart-panel,.coverage-panel{margin-top:15px}.review-chart{display:grid;grid-template-columns:repeat(14,1fr);gap:8px;height:190px;margin-top:25px}.review-chart>div{display:grid;grid-template-rows:1fr 15px 15px;align-items:end;text-align:center}.review-chart>div>span{display:flex;height:100%;align-items:flex-end;justify-content:center}.review-chart i{display:block;width:75%;min-height:3px;border-radius:5px 5px 2px 2px;background:#70a078}.review-chart b{color:#52665a;font-size:7px}.review-chart small{color:#8d9892;font-size:7px}.bar-0{height:3px}.bar-1{height:10%}.bar-2{height:20%}.bar-3{height:30%}.bar-4{height:40%}.bar-5{height:50%}.bar-6{height:60%}.bar-7{height:70%}.bar-8{height:80%}.bar-9{height:90%}.bar-10{height:100%}.coverage-row{display:grid;grid-template-columns:180px 1fr 40px;align-items:center;gap:15px;margin-top:19px}.coverage-row span b,.coverage-row span small{display:block}.coverage-row span b{font-size:9px}.coverage-row span small{margin-top:3px;color:#89958e;font-size:7px}.coverage-row em{color:#62756a;font:normal 9px Inter,sans-serif;text-align:right}
.workspace-heading{display:flex;max-width:none;align-items:flex-end;justify-content:space-between;gap:30px}.srs-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:-8px 0 22px;padding:10px;border:1px solid #dce4de;border-radius:14px;background:#fff}.srs-tabs a,.srs-tabs button{display:inline-grid;min-height:36px;place-items:center;padding:0 14px;border:1px solid #d8e1da;border-radius:9px;color:#465e50;background:#f9fbf8;font-size:8px;font-weight:800;text-decoration:none;cursor:pointer}.srs-tabs a:first-child,.srs-tabs button:last-child{color:#fff;border-color:#2b6044;background:#2b6044}.deck-actions{grid-column:1/-1;display:flex;align-items:center;gap:6px}.deck-actions .primary,.deck-actions .secondary{min-height:34px;font-size:8px}.deck-card details{grid-column:1/-1;border-top:1px solid #e5ebe6;padding-top:10px}.deck-card summary{color:#607268;font-size:8px;font-weight:800;cursor:pointer}.deck-options{grid-template-columns:1fr 1fr}.deck-options button{grid-column:1/-1}.panel-intro,.memory-sources>p{color:#74837a;font-size:9px;line-height:1.65}.browser-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.browser-heading #browser-filter{display:flex;gap:6px}.browser-heading input,.browser-heading select{height:36px;padding:0 10px;border:1px solid #d8e1da;border-radius:9px;color:#465d50;background:#fbfcfa;font-size:8px}.browser-heading input{min-width:220px}.browser-heading .secondary{min-height:36px;font-size:8px}.batch-toolbar{display:flex;align-items:center;gap:6px;margin:17px 0;padding:9px 12px;border-radius:10px;background:#f2f6f1}.batch-toolbar span{margin-right:auto;color:#687970;font-size:8px}.batch-toolbar button{padding:6px 9px;border:1px solid #d4dfd6;border-radius:7px;color:#4a6254;background:#fff;font-size:7px;font-weight:800}.card-table.advanced .card-table-head,.card-table.advanced .card-table-row{grid-template-columns:24px minmax(0,2fr) 125px 135px 120px}.row-check input{position:absolute;opacity:0}.row-check span{display:block;width:17px;height:17px;border:1px solid #cbd7ce;border-radius:5px;background:#fff}.row-check input:checked+span{border-color:#2a6143;background:#2a6143;box-shadow:inset 0 0 0 4px #fff}.lower-panels{align-items:start}.template-list{display:grid;gap:7px;margin:17px 0}.template-list article{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:11px 13px;border:1px solid #e0e7e1;border-radius:11px}.template-list b{font-size:9px}.template-list span{color:#7d8a82;font-size:7px}.template-list small{grid-column:1/-1;color:#52695b;font-size:7px}.backup-actions{display:flex;gap:8px;margin:22px 0}.file-button{display:inline-grid;min-height:40px;place-items:center;padding:0 18px;border:1px solid #d3ded5;border-radius:10px;color:#4b6254;background:#fff;font-size:9px;font-weight:800;cursor:pointer}.file-button input{display:none}.capabilities{color:#819087;font-size:7px;line-height:1.7}.review-tools{display:flex;justify-content:flex-end;gap:10px;margin:-12px 0 10px}.review-tools .text-button{font-size:8px}.split-heading{display:flex;align-items:end;justify-content:space-between}.split-heading strong{color:#28583f;font:600 28px Georgia,serif;text-align:right}.split-heading strong small{display:block;color:#819087;font:700 7px Inter,sans-serif;text-transform:uppercase}.forecast-chart i{background:#9aa989}
.mini-file{display:inline-grid;min-height:34px;place-items:center;padding:0 10px;border:1px solid #d6e0d8;border-radius:9px;color:#486051;background:#fff;font-size:8px;font-weight:800;cursor:pointer}.mini-file input{display:none}
.card-table-row>div:last-child{display:flex;flex-wrap:wrap;gap:2px}.danger-batch{color:#9a463f!important}.modal-layer{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:25px;background:#10251a99;backdrop-filter:blur(5px)}.note-editor{width:min(900px,96vw);max-height:90vh;padding:25px;overflow:auto;border-radius:20px;background:#fff;box-shadow:0 30px 90px #10251a55}.note-editor header{display:flex;align-items:start;justify-content:space-between;gap:20px}.note-editor h2{margin:5px 0 18px;font:500 26px Georgia,serif}.close-modal{border:0;color:#50665a;background:transparent;font-size:24px;cursor:pointer}.note-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.note-editor label>span{display:block;margin:8px 0 5px;color:#5e7165;font-size:8px;font-weight:800}.note-editor textarea,.note-editor input,.note-editor select{width:100%;padding:9px 10px;border:1px solid #d8e1da;border-radius:9px;color:#294335;background:#fbfcfa;font:9px/1.5 Inter,sans-serif}.note-editor footer{display:flex;justify-content:flex-end;gap:7px;margin-top:18px}
.generator-page{max-width:1240px;margin:0 auto;padding:42px 28px 90px}.generator-hero{display:grid;grid-template-columns:1fr 340px;align-items:end;gap:35px;margin-bottom:28px}.generator-hero h1{max-width:720px;margin:9px 0 11px;color:#173d29;font:500 44px Georgia,serif;letter-spacing:-.035em}.generator-hero>div>p:not(.eyebrow){max-width:760px;color:#718077;font-size:11px;line-height:1.7}.generation-model{padding:20px 22px;border-radius:18px;color:#fff;background:#214f38}.generation-model small,.generation-model b,.generation-model span{display:block}.generation-model small{color:#b9cdbf;font-size:7px;font-weight:850;text-transform:uppercase}.generation-model b{margin:8px 0;font:600 19px Georgia,serif}.generation-model span{color:#d0ddd4;font-size:8px;line-height:1.5}.generator-layout{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(280px,.9fr);align-items:start;gap:16px}.generator-main{display:grid;gap:14px}.generator-step,.memory-sources{padding:25px;border:1px solid #dce4de;border-radius:19px;background:#fff}.generator-step>header{display:flex;align-items:center;gap:12px}.generator-step>header>span{display:grid;width:33px;height:33px;place-items:center;border-radius:10px;color:#fff;background:#2a5f43;font:600 14px Georgia,serif}.generator-step h2,.memory-sources h2{margin:4px 0 0;font:500 24px Georgia,serif}.compact-search{display:flex;gap:7px;margin:18px 0 11px}.compact-search input{flex:1;height:40px;padding:0 12px;border:1px solid #d7e1d9;border-radius:10px;font-size:9px}.target-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.target-list label{display:grid;grid-template-columns:18px 1fr;gap:9px;padding:11px;border:1px solid #dfe7e1;border-radius:11px;cursor:pointer}.target-list input{margin-top:3px;accent-color:#2a6043}.target-list b,.target-list small,.target-list em{display:block}.target-list b{font:600 16px Georgia,serif}.target-list small{margin:2px 0;color:#7d8b83;font-size:7px}.target-list em{overflow:hidden;color:#5f7266;font:normal 8px/1.45 Inter,sans-serif;text-overflow:ellipsis;white-space:nowrap}.grounding-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.grounding-selects label>span,.commit-bar label>span{display:block;margin-bottom:6px;color:#5a6d60;font-size:8px;font-weight:800}.grounding-selects select,.commit-bar select{width:100%;height:40px;padding:0 10px;border:1px solid #d8e1da;border-radius:10px;color:#3d5748;background:#fbfcfa;font-size:9px}.memory-sources{position:sticky;top:84px}.memory-sources .card-form{padding-top:16px;border-top:1px solid #e5ebe6}.memory-sources h3{margin:0;font:600 16px Georgia,serif}.source-list{display:grid;gap:5px;margin:11px 0 21px}.source-list>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:9px 10px;border-radius:9px;background:#f4f7f3}.source-list b,.source-list small{display:block}.source-list b{font-size:8px}.source-list small{max-width:230px;margin-top:2px;overflow:hidden;color:#7a8880;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.source-list button{width:25px;height:25px;border:0;border-radius:7px;color:#8c514a;background:#fff;cursor:pointer}.draft-list{display:grid;gap:8px;margin-top:18px}.draft-card{border:1px solid #dce4de;border-radius:13px;overflow:hidden}.draft-card summary{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;cursor:pointer;background:#f8faf7}.draft-card summary small,.draft-card summary b{display:block}.draft-card summary small{color:#819087;font-size:7px}.draft-card summary b{margin-top:3px;font:600 19px Georgia,serif}.draft-card summary em{color:#526b5b;font:normal 8px Inter,sans-serif}.draft-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:15px}.draft-fields label.wide{grid-column:1/-1}.draft-fields label>span{display:block;margin-bottom:5px;color:#5e7065;font-size:8px;font-weight:800}.draft-fields textarea{width:100%;padding:9px 10px;border:1px solid #d9e2da;border-radius:9px;color:#294436;background:#fff;font:9px/1.5 Inter,sans-serif;resize:vertical}.draft-warning{margin:0;padding:9px 15px;color:#836827;background:#fff8e4;font-size:7px}.commit-bar{display:flex;align-items:end;gap:12px;margin-top:15px;padding:14px;border-radius:12px;background:#eef4ed}.commit-bar label{min-width:210px}.commit-bar>span{margin-left:auto;color:#667a6e;font-size:9px;font-weight:800}.commit-bar .primary{min-height:40px}
@media (max-width: 900px) { .auth-page{display:block}.auth-story{min-height:47vh;padding:100px 35px 50px}.auth-story>.brand{top:28px;left:35px}.auth-panel{min-height:53vh;padding:65px 30px}.word-thread{display:none}.product-shell{grid-template-columns:76px 1fr}.sidebar .brand>span:last-child,.learner-card>span:last-child{display:none}.nav-button{font-size:0}.sidebar .brand,.learner-card,.nav-button{justify-content:center}.nav-button>span{font-size:14px}.focus-row{display:block}.focus-options{min-width:0;margin-top:15px}.today-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr}.orbit{display:none}.library-grid,.phonics-grid{grid-template-columns:1fr 1fr}.settings-form{grid-template-columns:1fr}.settings-form label.wide,.settings-form div.wide{grid-column:auto} }
@media (max-width: 900px) { .dashboard-strip,.stats-grid{grid-template-columns:1fr 1fr}.catalog-toolbar{grid-template-columns:1fr auto}.level-tabs{grid-column:1/-1;overflow-x:auto}.catalog-row{grid-template-columns:25px 42px 1fr}.catalog-actions{grid-column:3}.deck-grid{grid-template-columns:1fr 1fr}.card-table-head{display:none}.card-table-row,.card-table.advanced .card-table-row{grid-template-columns:24px 1fr 110px}.card-table-row>span{display:none}.studio-grid{grid-template-columns:1fr}.review-header{align-items:start;flex-direction:column}.rating-panel>div{grid-template-columns:1fr 1fr}.generator-layout{grid-template-columns:1fr}.memory-sources{position:static}.generator-hero{grid-template-columns:1fr}.browser-heading{align-items:stretch;flex-direction:column}.browser-heading #browser-filter{flex-wrap:wrap} }
@media (max-width: 620px) { .auth-story h1{font-size:46px}.hero>div:first-child{padding:30px 24px}.hero h1{font-size:39px}.focus-options{grid-template-columns:1fr}.plan-item{grid-template-columns:23px 34px 1fr}.fit,.plan-item>.secondary{display:none}.library-grid,.phonics-grid,.deck-grid{grid-template-columns:1fr}.study-card{display:block}.ratings{margin-top:18px}.topbar{padding:0 16px}.dashboard-strip,.stats-grid{grid-template-columns:1fr 1fr}.catalog-hero{align-items:stretch;flex-direction:column}.catalog-total{width:100%}.catalog-toolbar{grid-template-columns:1fr}.catalog-toolbar>.primary{width:100%}.catalog-row{grid-template-columns:25px 38px 1fr;padding:14px}.catalog-actions{grid-column:1/-1}.bulk-bar{flex-wrap:wrap}.bulk-bar .result-range{width:100%;margin:0}.review-counts{flex-wrap:wrap}.review-front{min-height:220px;padding:28px}.review-front h2{font-size:38px}.review-answer{padding:24px}.rating-panel>div{grid-template-columns:1fr}.coverage-row{grid-template-columns:120px 1fr 32px}.review-chart{gap:3px} }

.review-front h2{white-space:pre-line}
.anki-card-frame{display:block;width:100%;height:320px;border:0;background:#fff}
.collocation-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.hint-chip{position:relative;padding:9px 14px;border:1px solid #ceddd2;border-radius:999px;background:#f6faf6;color:#315a3d;cursor:pointer}
.hint-chip:focus-visible{outline:2px solid #286043;outline-offset:3px}
.hint-value{display:none;position:absolute;z-index:2;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:max-content;padding:9px 13px;border-radius:9px;background:#244d35;color:#fff;box-shadow:0 8px 22px #173c2933}
.hint-chip:hover .hint-value,.hint-chip:focus-visible .hint-value,.hint-chip[aria-expanded="true"] .hint-value{display:block}

.word-list-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 10px}
.word-list-tabs button{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 13px;border:1px solid #d7e1d9;border-radius:10px;color:#4e6a57;background:#fff;font-size:10px;font-weight:750;cursor:pointer}
.word-list-tabs button.active{border-color:#286043;color:#fff;background:#286043}
.word-list-tabs small{font-size:8px;opacity:.8}
.word-list-source{margin:0 0 12px;color:#718077;font-size:9px}
.catalog-row .level-badge{width:auto;min-width:41px;padding:0 4px;white-space:nowrap}
.generation-error{margin:12px 0 0;padding:10px 12px;border:1px solid #e6b7af;border-radius:9px;color:#7b3029;background:#fff5f3;font-size:11px;line-height:1.5}
.catalog-row{grid-template-columns:26px 43px minmax(0,1fr) minmax(205px,auto)}
.catalog-actions{flex-wrap:wrap;gap:5px}
.catalog-actions .primary{min-height:32px;padding:0 10px;font-size:8px;white-space:nowrap}
.catalog-actions .secondary,.catalog-actions .text-button{white-space:nowrap}
@media (max-width:900px){.catalog-row{grid-template-columns:25px 42px minmax(0,1fr)}.catalog-actions{grid-column:3;justify-content:flex-start}}
@media (max-width:620px){.catalog-row{grid-template-columns:25px 38px minmax(0,1fr)}.catalog-actions{grid-column:1/-1}}

/* Keep the approval action inside the generator column beside sticky memory sources. */
.generator-main,.generator-step{min-width:0}
.generator-layout{display:block}
.generator-flow-guide{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border:1px solid #d6e4d8;border-radius:16px;background:#edf5ed}
.generator-flow-guide b{display:block;color:#254c35;font-size:13px}
.generator-flow-guide p{margin:5px 0;color:#486453;font-size:10px;line-height:1.55}
.generator-flow-guide small{color:#65806e;font-size:9px}
.generator-flow-guide button{flex:none}
.target-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.target-list label,.target-list label>span,.compact-search input{min-width:0}
.target-list label>span{overflow:hidden}
.target-list em{max-width:100%}
.draft-person{margin:0;padding:11px 15px;border-bottom:1px solid #dce4de;color:#45604d;background:#eef5ee;font-size:10px}
.draft-person b{margin-right:5px}
@media (max-width:600px){.generator-flow-guide{align-items:stretch;flex-direction:column}.generator-flow-guide button{align-self:flex-start}}
.commit-bar{flex-wrap:wrap}
.commit-bar label{min-width:0;flex:1 1 180px}
.commit-bar button{flex:0 0 auto}
.draft-fields textarea{min-width:0;max-width:100%;box-sizing:border-box}
.server-form{display:flex;align-items:end;gap:8px;max-width:420px;margin:18px auto 0}
.server-form label{flex:1;min-width:0;color:#5a6d60;font-size:9px}
.server-form label span{display:block;margin-bottom:5px}
.server-form input{box-sizing:border-box;width:100%;height:38px;padding:0 10px;border:1px solid #d7e1d9;border-radius:9px;font-size:10px}
.server-form button{height:38px;white-space:nowrap}
.draft-fields .playful-field{padding:12px;border:1px solid #f0dba9;border-radius:11px;background:#fff9ea}
.draft-fields .playful-field>span{color:#865e22}
.illustration-step{padding:15px;border-top:1px solid #e7ebe8;background:#fbfcfa}
.illustration-step>b{display:block;color:#294436;font-size:11px}
.illustration-step>p{margin:5px 0 11px;color:#718077;font-size:9px;line-height:1.5}
.illustration-step>label{display:flex;align-items:center;gap:10px;margin:0 0 12px;color:#5e7065;font-size:9px;font-weight:800}
.illustration-step>label select{min-width:150px;height:34px;padding:0 9px;border:1px solid #d8e1da;border-radius:9px;color:#294436;background:#fff;font:9px Inter,sans-serif}
.context-page,.templates-page{max-width:1050px;margin:38px auto 80px;padding:0 24px}
.context-page .memory-sources{position:static;max-width:900px;margin:22px 0}
.source-list>div:has(.source-edit){grid-template-columns:minmax(0,1fr) auto auto}
.source-list .source-edit{width:auto;min-width:40px;padding:0 7px;color:#315a3d}
.context-page>[data-go-generator]{margin-top:4px}
.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:15px;margin:24px 0}
.template-card,.template-form{min-width:0;padding:22px;border:1px solid #dce4de;border-radius:17px;background:#fff}
.template-card small{color:#6f8375;font-size:9px;font-weight:800}
.template-card h2,.template-form h2{margin:9px 0;font:600 23px Georgia,serif}
.template-card p,.template-form p{color:#66786d;font-size:11px;line-height:1.55}
.template-card pre{overflow:auto;max-height:230px;padding:14px;border-radius:11px;background:#f4f7f2;color:#365241;font:11px/1.55 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.template-card>div,.template-form>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.template-form{max-width:900px}
.template-form label{display:block;margin:15px 0}
.template-form label span,.generator-template-choice>span{display:block;margin-bottom:6px;color:#5a6d60;font-size:10px;font-weight:800}
.template-form input,.template-form textarea,.generator-template-choice select{width:100%;padding:10px 12px;border:1px solid #d8e1da;border-radius:10px;color:#294436;background:#fff;font:11px/1.5 Inter,sans-serif}
.template-form textarea{resize:vertical}
.generator-template-choice{display:block;margin:0 0 8px}
.template-description{margin:0 0 15px;color:#697b70;font-size:10px;line-height:1.5}
.locale-switch{display:flex;gap:3px;width:100%;padding:3px;border:1px solid #d9e2db;border-radius:10px;background:#fff}
.locale-switch button{flex:1;min-width:0;min-height:31px;border:0;border-radius:7px;color:#68796f;background:transparent;font-size:10px;font-weight:750}
.locale-switch button[aria-pressed="true"]{color:#fff;background:#22553b}
.auth-panel>.locale-switch{position:absolute;top:24px;right:25px;width:175px}
.sidebar-bottom>.locale-switch{margin:0 0 8px}
@media (max-width:900px){.sidebar-bottom>.locale-switch{flex-direction:column}.sidebar-bottom>.locale-switch button{font-size:9px}}
.illustration-step>img{display:block;max-width:min(100%,320px);max-height:320px;margin:0 0 12px;border:1px solid #dce4de;border-radius:12px;object-fit:contain;background:#fff}
.illustration-step>div{display:flex;align-items:center;gap:9px}
.review-illustration{margin-top:16px;color:#718077;font-size:10px}
.review-illustration img{display:block;max-width:min(100%,420px);max-height:420px;margin:8px auto 0;border-radius:14px;object-fit:contain}

/* Product-family shell: Curious Mario's sidebar, guide, and working canvas. */
.product-shell.cuma-family-shell{display:flex;width:100vw;height:100vh;background:#fff}
.product-shell>.sidebar{background:#fafafa;border-right:1px solid #e5e7eb;padding:0 12px 14px}
.sidebar>.brand{min-height:56px;padding:0 8px;margin:0 -12px 15px;border-bottom:1px solid #e5e7eb}
.brand-mark{width:28px;height:28px;border-radius:8px;background:#111827;font:600 15px Georgia,serif}
.brand b{font:600 15px Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.02em}
.brand small{font-size:9px;letter-spacing:0;color:#9ca3af}
.learner-card{padding:8px;border:0;background:transparent}
.avatar{border-radius:50%;background:#dbeafe;color:#1e40af}
.sidebar nav{padding-top:4px}
.sidebar nav p{font-size:10px;letter-spacing:.08em;color:#9ca3af}
.nav-button{min-height:37px;border-radius:7px;color:#4b5563;font-size:12px;font-weight:600}
.nav-button>span{font-size:13px;color:#9ca3af}
.nav-button:hover{background:#f3f4f6;color:#111827}
.nav-button.active{background:#e5e7eb;color:#111827;box-shadow:none}
.nav-button.active>span{color:#374151}
.guide-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid #e5e7eb;background:#fafafa}
.guide-header{display:flex;align-items:center;gap:11px;min-height:56px;padding:0 20px;border-bottom:1px solid #e5e7eb}
.guide-header b,.guide-header small{display:block}
.guide-header b{color:#111827;font-size:13px;font-weight:700}
.guide-header small{margin-top:3px;color:#6b7280;font-size:10px}
.guide-status{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#10b981;box-shadow:0 0 0 3px #d1fae5}
.guide-scroll{flex:1;min-height:0;overflow-y:auto;padding:23px 20px}
.guide-context{width:max-content;max-width:100%;margin:0 auto 25px;padding:6px 10px;border:1px solid #e5e7eb;border-radius:999px;color:#9ca3af;background:#fff;font-size:10px;text-align:center}
.guide-message{display:flex;align-items:flex-start;gap:11px;color:#374151}
.guide-avatar{display:grid;place-items:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;color:#fff;background:#111827;font-size:13px}
.guide-message b{display:block;margin:2px 0 6px;color:#111827;font-size:13px}
.guide-message p{margin:0;font-size:12px;line-height:1.65}
.guide-suggestions{display:grid;gap:8px;margin:22px 0 0 36px}
.guide-suggestions button{display:flex;align-items:center;justify-content:space-between;min-height:37px;padding:8px 11px;border:1px solid #e5e7eb;border-radius:9px;color:#374151;text-align:left;background:#fff;font-size:11px;font-weight:600}
.guide-suggestions button:hover{border-color:#9ca3af;background:#f9fafb}
.guide-suggestions button span{color:#9ca3af}
.guide-form{padding:13px 16px 16px;border-top:1px solid #e5e7eb;background:#fafafa}
.guide-form label{display:block;margin:0 0 8px;color:#6b7280;font-size:10px}
.guide-form>div{display:flex;align-items:center;gap:6px;min-height:40px;padding:3px;border:1px solid #d1d5db;border-radius:9px;background:#fff}
.guide-form input{flex:1;min-width:0;padding:8px;border:0;outline:0;color:#111827;background:transparent;font-size:11px}
.guide-form button{width:31px;height:31px;border:0;border-radius:7px;color:#fff;background:#111827;font-size:16px}
.guide-jump{padding-top:8px;border-top:0}
.guide-form button:disabled{opacity:.45;cursor:wait}
.guide-conversation{display:grid;gap:12px;margin-top:22px}
.guide-turn{padding:11px 12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow-wrap:anywhere}
.guide-turn.user{margin-left:18px;background:#edf6f0;border-color:#d2e6d8}
.guide-turn b{display:block;margin-bottom:5px;color:#233c2b;font-size:11px}
.guide-turn p{margin:0;white-space:pre-wrap;color:#374151;font-size:12px;line-height:1.55}
.guide-pending,.guide-error{margin:0;font-size:12px;line-height:1.5}
.guide-error{color:#9b302b}
.guide-clear{margin:12px 0 0 36px;padding:0;border:0;color:#67796e;background:transparent;font-size:11px;text-decoration:underline;cursor:pointer}
.product-shell>.workspace{background:#fff}
.topbar{min-height:56px;padding:0 28px;border-bottom:1px solid #e5e7eb;background:#fff;box-shadow:0 1px 3px #1118270b}
.topbar small{font-size:10px;letter-spacing:0;text-transform:none;color:#9ca3af}
.topbar b{font:600 13px Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827}
.review-pill{font-size:10px}
@media (max-width:1100px){.product-shell.cuma-family-shell{--cuma-shell-guide-width:300px}}
@media (max-width:900px){.product-shell.cuma-family-shell{--cuma-shell-sidebar-width:76px;--cuma-shell-guide-width:280px}.sidebar>.brand{justify-content:center}.sidebar nav p{font-size:0}.nav-button{font-size:0}.nav-button>span{font-size:15px}.learner-card{justify-content:center}}
@media (max-width:680px){.product-shell.cuma-family-shell{--cuma-shell-sidebar-width:64px}.product-shell>.guide-panel{display:none}.topbar{padding:0 15px}}
.practice-answer{display:grid;gap:10px;padding:20px 30px;border-top:1px solid #e5ebe6;background:#fbfcfa}.practice-answer label{font-size:12px;font-weight:700;color:#355543}.practice-answer textarea{width:100%;resize:vertical;min-height:76px;padding:12px;border:1px solid #cddbd0;border-radius:10px;font:15px/1.5 inherit}.practice-answer button{justify-self:start}.practice-answer #practice-feedback{color:#355543;font-size:13px;line-height:1.55}.practice-answer #practice-feedback p{margin:4px 0}
.anki-imported-content{max-width:100%;color:#173c29;font:400 27px/1.55 Georgia,serif;white-space:pre-line;overflow-wrap:anywhere}.anki-imported-image{display:block;max-width:min(100%,480px);max-height:350px;margin:16px auto;object-fit:contain;border-radius:12px}.anki-imported-audio{display:block;max-width:100%;margin:14px auto}.review-answer .anki-imported-image{max-height:280px}
.card-form input[type="checkbox"]{width:auto;margin-right:8px;vertical-align:middle}
