:root{font-family:system-ui,-apple-system,sans-serif;color-scheme:light}body{margin:0;min-height:100vh;background:#f7f5f2}.tip-bubble{position:relative;background:#2b6cb0;color:#fff;border-radius:16px;padding:.85rem 1rem;margin:0 0 1.25rem;max-width:360px;box-shadow:0 3px 10px #2b6cb040}.tip-bubble-text{margin:0 0 .6rem;font-size:.9rem;line-height:1.5;text-align:left}.tip-bubble-dismiss{background:#ffffff2e;border:none;border-radius:20px;color:#fff;padding:.3rem .9rem;font-size:.8rem;cursor:pointer}.checkpoint-prompt-actions{display:flex;gap:.6rem;align-items:center}.checkpoint-prompt-later{background:none;border:none;color:#ffffffbf;font-size:.8rem;text-decoration:underline;cursor:pointer}.tip-bubble-tail{position:absolute;bottom:-8px;left:22px;width:16px;height:16px;background:#2b6cb0;clip-path:polygon(0 0,100% 0,0 100%)}.app-loading{display:flex;align-items:center;justify-content:center;height:100vh}.app-spinner{width:28px;height:28px;border:3px solid #ddd;border-top-color:#2b6cb0;border-radius:50%;animation:app-spin .8s linear infinite}@keyframes app-spin{to{transform:rotate(360deg)}}.landing{max-width:520px;margin:0 auto;padding:4rem 1.5rem 3rem;text-align:center}.landing-lang{display:flex;justify-content:flex-end;margin:-2.5rem 0 1rem}.landing-lang select{font:inherit;font-size:.9rem;color:#444;background:transparent;border:1px solid #d0d0d0;border-radius:16px;padding:.3rem .7rem;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.landing-title{font-family:Times New Roman,Times,serif;font-size:5.5rem;font-weight:400;margin:0;letter-spacing:.01em}.landing-headline{font-size:1.45rem;line-height:1.4;font-weight:600;color:#1a1a1a;margin:1rem 0 .75rem}.landing-subhead{color:#555;font-size:1.05rem;line-height:1.6;margin:0 0 2rem}.landing-cta-note{color:#777;font-size:.85rem;margin:.75rem 0 0}.landing-section{margin:3.5rem 0 0}.landing-section-title{font-family:Times New Roman,Times,serif;font-size:1.8rem;font-weight:400;margin:0 0 1.25rem}.landing-steps{list-style:none;padding:0;margin:0;text-align:left;display:grid;gap:1rem}.landing-step{border:1px solid #e2e2e2;border-radius:12px;padding:1.1rem 1.25rem;background:#fafafa}.landing-step strong{display:block;font-size:1.05rem}.landing-step p{margin:.4rem 0 0;color:#444;line-height:1.55}.landing-why{color:#444;line-height:1.65;text-align:left;margin:0}.landing>.landing-cta:last-child{margin-top:3rem}.hero-tooltip{background:#1a1a1a;color:#fff;border-radius:12px;padding:1.75rem 2rem;text-align:left;box-shadow:0 8px 24px #0000002e}.hero-tooltip strong{font-size:1.4rem;display:block}.hero-tooltip-tag{display:block;font-size:.8rem;opacity:.6;margin-top:.15rem;font-style:italic}.hero-tooltip p{margin:1rem 0 0;line-height:1.6;font-size:1.05rem}.landing-cta{padding:.8rem 2rem;border:none;border-radius:24px;background:#2b6cb0;color:#fff;font-size:1.05rem;cursor:pointer}.splash{max-width:480px;margin:0 auto;padding:4rem 1.5rem 3rem;text-align:center;min-height:100vh;box-sizing:border-box}.splash-title{font-family:Times New Roman,Times,serif;font-size:3.25rem;font-weight:400;margin:0;letter-spacing:.01em}.splash-tagline{color:#555;font-size:1.05rem;margin:.6rem 0 2.5rem}.splash-choices{display:flex;flex-direction:column;gap:.85rem}.splash-choice{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;text-align:left;background:#fff;border:1px solid #e5e2dc;border-radius:12px;padding:1rem 1.2rem;cursor:pointer;box-shadow:0 1px 3px #0000000a}.splash-choice:hover{border-color:#2b6cb0}.splash-choice-title{font-size:1.05rem;font-weight:600}.splash-choice-description{font-size:.85rem;color:#666}.blackboard{max-width:480px;margin:0 auto;padding:3rem 1.5rem 2rem;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:100vh;box-sizing:border-box}.blackboard-unit{color:#888;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin:0 0 1.25rem}.blackboard-frame{width:100%;background:linear-gradient(180deg,#8a5a34,#6b4423 55%,#55351d);border-radius:10px;padding:14px;box-sizing:border-box;box-shadow:0 14px 32px #0000004d,inset 0 1px #ffffff1f}.blackboard-card{background:radial-gradient(ellipse at 18% 20%,rgba(255,255,255,.05),transparent 42%),radial-gradient(ellipse at 82% 78%,rgba(255,255,255,.045),transparent 46%),radial-gradient(ellipse at 55% 35%,rgba(255,255,255,.03),transparent 38%),linear-gradient(135deg,#24352a,#1c2b21 55%,#172219);color:#eef2ee;border-radius:4px;padding:3rem 2rem 2.5rem;width:100%;box-sizing:border-box;box-shadow:inset 0 0 50px #0006,inset 0 0 1px #ffffff14;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem}.blackboard-tray{height:22px;margin-top:10px;border-radius:5px;background:linear-gradient(180deg,#7a5030,#5a381e);box-shadow:inset 0 2px 5px #00000059,0 1px #ffffff14;display:flex;align-items:center;gap:10px;padding:0 16px}.blackboard-chalk{width:32px;height:7px;background:linear-gradient(180deg,#fff,#e4e0d4);border-radius:3px;box-shadow:0 1px 2px #0000004d}.blackboard-chalk--short{width:18px;opacity:.65}.speaker-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;padding:0 .2em;margin-left:.3em;vertical-align:middle;opacity:.75}.speaker-button:hover,.speaker-button:focus-visible{opacity:1}.blackboard-word{margin:0;font-family:Schoolbell,Segoe Print,cursive;font-weight:400;font-size:3.25rem;line-height:1.2;color:#f5f2e7;text-shadow:0 0 1px rgba(255,255,255,.5),0 0 8px rgba(255,255,255,.22),1px 1px 0 rgba(255,255,255,.06);letter-spacing:.02em;transform:rotate(-1deg)}.blackboard-meaning{margin:0;font-family:Kalam,Segoe Print,cursive;font-weight:300;font-size:1.2rem;line-height:1.6;color:#eef2eee0;text-shadow:0 0 1px rgba(255,255,255,.2);max-width:340px}.blackboard-progress{color:#999;font-size:.8rem;margin:1.25rem 0 1.5rem}.blackboard-progress--secondary{margin:-1.25rem 0 1.5rem;color:#bbb}.blackboard-next{padding:.7rem 2.5rem;border:none;border-radius:24px;background:#2b6cb0;color:#fff;font-size:1rem;cursor:pointer}.blackboard-next:disabled{opacity:.5;cursor:default}.blackboard-skip{background:none;border:none;color:#999;font-size:.85rem;cursor:pointer;margin-top:1.5rem;text-decoration:underline}.blackboard-skip-hint{margin:.6rem 0 0;max-width:320px;font-size:.78rem;line-height:1.5;color:#bbb}.signin{max-width:360px;margin:15vh auto;padding:2rem;text-align:center}.signin form{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.signin input{padding:.6rem .8rem;border:1px solid #ccc;border-radius:8px;font-size:1rem}.signin button{padding:.6rem .8rem;border:none;border-radius:8px;background:#2b6cb0;color:#fff;font-size:1rem;cursor:pointer}.signin-error{color:#c0392b;margin-top:1rem}.signin-divider{color:#999;font-size:.85rem;margin:1.5rem 0 1rem}.signin-passkey-button{width:100%;padding:.6rem .8rem;border:1px solid #2b6cb0;border-radius:8px;background:#fff;color:#2b6cb0;font-size:1rem;cursor:pointer}.signin-passkey-button:disabled{opacity:.5;cursor:default}.passkey-prompt-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem}.passkey-prompt-actions button[type=button]:first-child{padding:.6rem .8rem;border:none;border-radius:8px;background:#2b6cb0;color:#fff;font-size:1rem;cursor:pointer}.passkey-prompt-actions button[type=button]:first-child:disabled{opacity:.5;cursor:default}.passkey-prompt-skip{padding:.6rem .8rem;border:1px solid #ccc;border-radius:8px;background:#fff;color:#444;font-size:1rem;cursor:pointer}.passkey-prompt-checkbox{display:flex;align-items:center;gap:.5rem;justify-content:center;margin-top:1.5rem;font-size:.85rem;color:#666;cursor:pointer}.language-picker-options{display:flex;flex-direction:column;gap:1.75rem;margin-top:1.5rem}.language-picker-item{display:flex;flex-direction:column;gap:.4rem}.language-picker-item-title{font-size:1.2rem;font-weight:700;margin:0}.language-picker-item-body{font-size:.9rem;color:#666;margin:0 0 .4rem}.language-picker-option{padding:.6rem .8rem;border:1px solid #2b6cb0;border-radius:8px;background:#fff;color:#2b6cb0;font-size:1rem;cursor:pointer}.language-picker-option:disabled{opacity:.5;cursor:default}.chat{display:flex;flex-direction:column;height:100vh;max-width:720px;margin:0 auto;background:#fff}.top-bar{flex-shrink:0;padding:.75rem 1.25rem;border-bottom:1px solid #eee;text-align:left}.top-bar-home{display:flex;align-items:baseline;flex-wrap:nowrap;gap:.5rem;background:none;border:none;padding:0;margin:0;cursor:pointer;text-align:left;width:100%}.top-bar-title{flex-shrink:0;font-family:Times New Roman,Times,serif;font-size:1.4rem;color:#1a1a1a}.top-bar-definition{flex:1;min-width:0;white-space:normal;font-size:.65rem;color:#888}.blackboard>.top-bar,.practice>.top-bar{margin:-3rem -1.5rem 1.5rem}.chat-messages{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.chat-empty{color:#999;text-align:center;margin-top:2rem}.chat-conversation-bar{position:relative;border-bottom:1px solid #eee}.chat-conversation-toggle{display:block;width:100%;padding:.5rem 1.25rem;border:none;background:none;color:#555;font-size:.85rem;text-align:left;cursor:pointer}.conversation-list{position:absolute;top:100%;left:0;right:0;z-index:20;max-height:320px;overflow-y:auto;background:#fff;border-bottom:1px solid #eee;box-shadow:0 6px 16px #00000014}.conversation-list-new{display:block;width:100%;padding:.65rem 1.25rem;border:none;border-bottom:1px solid #eee;background:#f0f6fc;color:#2b6cb0;font-weight:600;font-size:.85rem;text-align:left;cursor:pointer}.conversation-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.65rem 1.25rem;border:none;border-bottom:1px solid #f2f2f2;background:none;text-align:left;cursor:pointer}.conversation-list-item--active{background:#f7f9fb}.conversation-list-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;color:#333}.conversation-list-meta{flex-shrink:0;font-size:.75rem;color:#999}.chat-tip{padding:1rem 1.25rem 0}.chat-tip .tip-bubble{max-width:none;margin-bottom:.75rem}.word-tooltip .tip-bubble{max-width:none;padding:.55rem .65rem;margin:.4rem 0;font-size:.8rem}.word-tooltip .tip-bubble-text{margin-bottom:.4rem;font-size:.8rem;line-height:1.35}.word-tooltip .tip-bubble-tail{display:none}.chat-message{max-width:80%;padding:.7rem 1rem;border-radius:14px;line-height:1.5}.chat-message--assistant{align-self:flex-start;background:#eef2f7}.chat-message--user{align-self:flex-end;background:#2b6cb0;color:#fff}.chat-message--user .tappable-word{color:#fff}.chat-message--user .translation-toggle{color:#fff;text-decoration:underline}.chat-message--user .chat-message-english{color:#ffffffd9}.chat-message-target{margin:0}.translation-toggle{margin-top:.4rem;background:none;border:none;color:#2b6cb0;font-size:.8rem;cursor:pointer;padding:0}.chat-message-english{margin:.4rem 0 0;font-size:.9rem;color:#555}.chat-message-english--loading{font-style:italic;opacity:.75}.translation-retry{background:none;border:none;color:#2b6cb0;text-decoration:underline;font-size:.9rem;cursor:pointer;padding:0}.chat-message-english--primary,.chat-message--user .chat-message-english--primary{margin:0;font-size:1rem;color:inherit}.chat-message-target--secondary{margin:.2rem 0 0;font-size:.9rem;opacity:.85}.chat-message-input-tag{margin:0 0 .15rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.65}.chat-message-input-tag--translated{margin-top:.5rem}.chat-suggestions{margin-top:.6rem}.suggestions-toggle{background:none;border:1px solid #2b6cb0;border-radius:16px;color:#2b6cb0;font-size:.8rem;padding:.35rem .85rem;cursor:pointer}.suggestions-toggle:disabled{opacity:.6;cursor:default}.suggestions-list{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}.suggestion-card{padding:.6rem .75rem;border:1px solid #ddd;border-radius:10px;background:#fafafa}.suggestion-french{margin:0;font-size:.95rem;color:#222}.suggestion-english{margin:.2rem 0 .5rem;font-size:.8rem;color:#777}.suggestions-vocab-hint{margin:.4rem 0 0;font-size:.78rem;color:#999;font-style:italic}.suggestion-choose{padding:.35rem .9rem;border:none;border-radius:14px;background:#2b6cb0;color:#fff;font-size:.8rem;cursor:pointer}.suggestion-choose:disabled{opacity:.6;cursor:default}.tappable-word-wrap{position:relative;display:inline-block}.tappable-word{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.tappable-word--new{color:#2b6cb0;font-weight:600;border-bottom:2px solid #2b6cb0}.tappable-word--seen{border-bottom:1px dotted currentColor}.tappable-word--known{border-bottom:none}.chat-message--user .tappable-word--new{color:#ffd76a;border-bottom-color:#ffd76a}.word-tooltip{position:fixed;z-index:40;background:#1a1a1a;color:#fff;padding:.6rem 1.6rem .6rem .8rem;border-radius:8px;width:220px;box-sizing:border-box;font-size:.85rem;line-height:1.4;box-shadow:0 4px 12px #0003}.word-tooltip-close{position:absolute;top:.3rem;right:.4rem;background:none;border:none;color:#fff9;font-size:1.1rem;line-height:1;padding:.2rem;cursor:pointer}.word-tooltip-close:hover{color:#fff}.word-tooltip-retry{display:block;margin-top:.5rem;padding:.3rem .75rem;border:1px solid rgba(255,255,255,.5);border-radius:6px;background:none;color:#fff;font-size:.8rem;cursor:pointer}.word-tooltip strong{display:block;margin-bottom:.3rem}.word-form-note{opacity:.7;font-style:italic;font-size:.8rem;margin:0 0 .4rem!important}.word-tooltip p{margin:0}.word-gender{opacity:.7;margin-top:.3rem!important}.word-tooltip-divider{margin:.5rem 0;border-top:1px solid rgba(255,255,255,.2)}.word-tooltip-divider--interactive{cursor:pointer;position:relative}.word-tooltip-divider-label{position:relative;top:-.55rem;background:#1a1a1a;padding-right:.4rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;opacity:.55}.word-tooltip-untaught{opacity:.85}.tooltip-lesson-prompt{display:block;margin-top:.5rem;background:#ffffff1a;border:none;border-radius:6px;color:#ffd76a;font-size:.8rem;text-align:left;padding:.4rem .5rem;cursor:pointer;width:100%}.word-tooltip-examples{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.2);max-height:160px;overflow-y:auto}.word-tooltip-examples-title{opacity:.6;font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .35rem!important}.word-tooltip-example{display:flex;flex-direction:column;margin:0 0 .5rem!important}.word-tooltip-example:last-child{margin-bottom:0!important}.word-tooltip-example-fr{font-size:.82rem}.word-tooltip-example-en{opacity:.65;font-size:.75rem;font-style:italic}.lesson-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:1.5rem}.lesson-card{background:#fff;border-radius:16px;padding:2rem;max-width:420px;width:100%;box-shadow:0 12px 32px #00000040}.lesson-concept{display:block;color:#2b6cb0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem}.lesson-title{margin:0 0 1rem;font-size:1.4rem}.lesson-content{line-height:1.6;color:#333;margin:0 0 1.25rem}.lesson-examples{list-style:none;padding:0;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.5rem}.lesson-examples li{font-family:Times New Roman,Times,serif;font-size:1.1rem;background:#f7f5f2;border-radius:8px;padding:.6rem .9rem}.lesson-got-it{width:100%;padding:.7rem;border:none;border-radius:24px;background:#2b6cb0;color:#fff;font-size:1rem;cursor:pointer}.lesson-got-it:disabled{opacity:.5;cursor:default}.chat-input{border-top:1px solid #eee;padding:.75rem 1.25rem 1.25rem}.chat-send-error{color:#c0392b;font-size:.85rem;margin:0 0 .5rem}.input-mode-toggle{display:flex;gap:1rem;font-size:.85rem;margin-bottom:.5rem;color:#555}.input-row{display:flex;gap:.5rem}.input-row input{flex:1;padding:.6rem .9rem;border:1px solid #ccc;border-radius:20px;font-size:1rem}.input-row button{padding:.6rem 1.2rem;border:none;border-radius:20px;background:#2b6cb0;color:#fff;cursor:pointer}.input-row button:disabled{opacity:.5;cursor:default}.drawer-tab{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:30;width:22px;height:56px;border:none;border-radius:8px 0 0 8px;background:#2b6cb059;color:#fff;font-size:1rem;line-height:1;cursor:pointer;transition:background-color .15s ease,right .25s ease}.drawer-tab:hover,.drawer-tab--open{background:#2b6cb0e6}.drawer-tab--open{right:min(320px,85vw)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:25}.drawer{position:fixed;top:0;right:0;height:100vh;width:min(320px,85vw);background:#fff;box-shadow:-8px 0 24px #00000026;z-index:28;padding:2rem 1.25rem 1.5rem;box-sizing:border-box;overflow-y:auto;transform:translate(100%);transition:transform .25s ease}.drawer--open{transform:translate(0)}.drawer-section{margin-bottom:2rem}.drawer-heading{margin:0 0 .75rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#888}.drawer-section--stats{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px dashed #ddd}.drawer-stat{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .75rem;margin-bottom:.6rem;background:#fff8ec;border-radius:10px}.drawer-stat-label{font-size:.8rem;font-weight:600;color:#8a5a00}.drawer-stat-value{font-size:1.05rem;font-weight:700;color:#333}.drawer-stat-record{font-size:.8rem;font-weight:500;color:#888}.drawer-stat-hint{font-size:.78rem;color:#a66a00}.drawer-stat-totals{display:flex;justify-content:space-between;gap:.5rem;padding:0 .1rem}.drawer-stat-total{font-size:.78rem;color:#555}.drawer-section--lessons{padding-top:1.5rem;border-top:1px dashed #ddd}.drawer-lesson-list{display:flex;flex-direction:column;gap:.4rem}.drawer-lesson-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .7rem;border:1px solid #e5e5e5;border-radius:8px;background:#fff;color:#222;font-size:.88rem;text-align:left;cursor:pointer}.drawer-lesson-item--completed{border-color:#d3e8d3;background:#f4faf4;color:#555}.drawer-lesson-item--locked{opacity:.55;cursor:default}.drawer-lesson-status{flex-shrink:0}.drawer-section--admin{padding-top:1.5rem;border-top:1px dashed #ddd}.drawer-reset-button{display:block;width:100%;padding:.6rem .85rem;border:1px solid #e03131;border-radius:8px;background:#fff;color:#e03131;font-size:.9rem;cursor:pointer}.drawer-reset-button:disabled{opacity:.6;cursor:default}.drawer-admin-link-button{display:block;width:100%;margin-top:.5rem;padding:.6rem .85rem;border:1px solid #2b6cb0;border-radius:8px;background:#fff;color:#2b6cb0;font-size:.9rem;cursor:pointer}.settings-page{max-width:480px;margin:0 auto;min-height:100vh;box-sizing:border-box}.settings-page-content{padding:1.5rem 1.5rem 2rem}.settings-page-heading{margin:0 0 1.25rem}.drawer-section--settings{padding-top:1.5rem;border-top:1px dashed #ddd}.drawer-settings-toggle{display:block;width:100%;padding:.6rem 0;border:none;background:none;color:#333;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.drawer-settings-panel{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}.drawer-settings-profile{display:flex;flex-direction:column;gap:.75rem}.drawer-settings-label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:#555}.drawer-settings-label input[type=text]{padding:.5rem .65rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem}.drawer-settings-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#555}.drawer-settings-save{align-self:flex-start;padding:.5rem 1.25rem;border:none;border-radius:20px;background:#2b6cb0;color:#fff;font-size:.85rem;cursor:pointer}.drawer-settings-save:disabled{opacity:.6;cursor:default}.drawer-settings-passkey button{padding:.5rem 1rem;border:1px solid #2b6cb0;border-radius:8px;background:#fff;color:#2b6cb0;font-size:.85rem;cursor:pointer}.drawer-settings-logout{padding:.5rem 1rem;border:1px solid #999;border-radius:8px;background:#fff;color:#555;font-size:.85rem;cursor:pointer}.drawer-switch-link{display:block;width:100%;padding:.6rem .85rem;border:1px solid #2b6cb0;border-radius:8px;background:#fff;color:#2b6cb0;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer;margin-bottom:.5rem}.drawer-switch-link:last-child{margin-bottom:0}.drawer-switch-hint{margin:.5rem 0 0;font-size:.78rem;line-height:1.5;color:#999}.drawer-empty{color:#999;font-size:.85rem}.drawer-tier{margin-bottom:1.5rem}.drawer-tier-label{margin:0;font-weight:600;font-size:.95rem;color:#222}.drawer-tier-count{font-weight:400;color:#999}.drawer-tier-hint{margin:.1rem 0 .6rem;font-size:.75rem;color:#999}.drawer-word-list{display:flex;flex-wrap:wrap;gap:.4rem .6rem}.drawer-word-list .tappable-word{padding:.15rem .1rem}.practice{max-width:480px;margin:0 auto;padding:3rem 1.5rem 2rem;text-align:center;box-sizing:border-box}.practice-heading{margin:0 0 .4rem;font-size:1.6rem}.practice-subheading{margin:0 0 2rem;color:#888;font-size:.95rem}.practice-game-list{display:flex;flex-direction:column;gap:.75rem}.practice-game-card{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;text-align:left;padding:1rem 1.25rem;border:1px solid #ddd;border-radius:12px;background:#fff;cursor:pointer}.practice-game-card:hover{border-color:#2b6cb0}.practice-game-title{font-weight:600;font-size:1.05rem}.practice-game-description{color:#888;font-size:.85rem}.practice-back{display:block;margin:0 0 2rem;background:none;border:none;color:#999;font-size:.85rem;cursor:pointer;text-decoration:underline}.practice-empty{color:#888;font-size:.95rem;line-height:1.6}.practice-stats{display:flex;justify-content:center;align-items:center;gap:1rem;margin:0 0 1.5rem;color:#999;font-size:.85rem}.practice-combo{color:#e8590c;font-weight:600}.practice-checkpoint-label{margin:0 0 2rem;color:#2b6cb0;font-weight:600;font-size:.9rem}.practice-prompt{margin-bottom:2rem}.practice-prompt-text{margin:0;font-size:1.8rem;font-weight:600}.practice-prompt-hint{margin:0 0 .75rem;color:#888;font-size:.9rem}.practice-choices{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.practice-choice{padding:.75rem 1rem;border:1px solid #ddd;border-radius:10px;background:#fff;font-size:1rem;cursor:pointer;text-align:left}.practice-choice--correct{border-color:#2f9e44;background:#ebfbee;color:#2f9e44;font-weight:600}.practice-choice--incorrect{border-color:#e03131;background:#fff5f5;color:#e03131}.practice-next{padding:.7rem 2rem;border:none;border-radius:24px;background:#2b6cb0;color:#fff;font-size:1rem;cursor:pointer}.practice-combo--menu{margin:-.5rem 0 1.25rem}.sentence-builder-answer{display:flex;flex-wrap:wrap;gap:.5rem;min-height:3rem;padding:.75rem;margin:.5rem 0 1.5rem;border:1px dashed #ccc;border-radius:10px;background:#fafafa}.sentence-builder-placeholder{color:#aaa;font-size:.9rem;align-self:center}.sentence-builder-tile{padding:.5rem .9rem;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:1rem;cursor:pointer}.sentence-builder-tile:disabled{opacity:.35;cursor:default}.sentence-builder-tile--placed{cursor:default;background:#e7f0fb;border-color:#2b6cb0}.sentence-builder-tile--correct{border-color:#2f9e44;background:#ebfbee;color:#2f9e44}.sentence-builder-tile--incorrect{border-color:#e03131;background:#fff5f5;color:#e03131}.sentence-builder-tiles{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem}.sentence-builder-actions{display:flex;gap:1rem;align-items:center}.leaderboard-columns{display:flex;flex-direction:column;gap:2rem;margin-bottom:1.5rem}.leaderboard-list{list-style:none;margin:0 0 1rem;padding:0}.leaderboard-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid #eee}.leaderboard-rank{width:1.5rem;color:#999;font-weight:600;font-size:.85rem}.leaderboard-name{flex:1;font-size:.95rem}.leaderboard-score{font-weight:600;color:#2b6cb0}.scenarios{max-width:480px;margin:0 auto;padding:3rem 1.5rem 2rem;text-align:center;box-sizing:border-box}.scenarios-heading{margin:0 0 .4rem;font-size:1.6rem}.scenarios-subheading{margin:0 0 2rem;color:#888;font-size:.95rem}.scenarios-empty{color:#888;font-size:.9rem}.scenario-back{display:block;margin:0 0 1.5rem;background:none;border:none;color:#2b6cb0;font-size:.9rem;cursor:pointer;padding:0;text-align:left}.scenario-list,.scenario-actions{display:flex;flex-direction:column;gap:.75rem}.scenario-card,.scenario-action-card{display:flex;flex-direction:column;gap:.25rem;align-items:flex-start;text-align:left;padding:1rem 1.25rem;border:1px solid #ddd;border-radius:12px;background:#fff;cursor:pointer}.scenario-card:hover,.scenario-action-card:hover{border-color:#2b6cb0}.scenario-card-title,.scenario-action-title{font-weight:600;font-size:1.05rem}.scenario-card-description,.scenario-action-description{color:#888;font-size:.85rem}.scenario-blackboard-nav{display:flex;gap:.75rem;justify-content:center}.scenario-blackboard-prev{padding:.7rem 1.75rem;border:1px solid #2b6cb0;border-radius:24px;background:#fff;color:#2b6cb0;font-size:1rem;cursor:pointer}.scenario-blackboard-prev:disabled{opacity:.4;cursor:default;border-color:#ccc;color:#ccc}.chat-scenario-complete{margin:0;padding:.6rem 1.25rem;background:#f0f7ec;color:#4a7c3c;font-size:.85rem;text-align:center;border-bottom:1px solid #e2ede0}.admin{max-width:640px;margin:0 auto;padding:3rem 1.5rem 2rem;box-sizing:border-box}.admin-heading{margin:0 0 .4rem;font-size:1.6rem;text-align:center}.admin-subheading{margin:0 0 2rem;color:#888;font-size:.9rem;text-align:center}.admin-error{color:#e03131;font-size:.9rem;text-align:center;margin:0 0 1rem}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table tr{border-bottom:1px solid #eee}.admin-table td{padding:.65rem .5rem;vertical-align:middle}.admin-row--missing{background:#fff8f0}.admin-cell-label{font-weight:500}.admin-cell-count{white-space:nowrap;color:#555}.admin-cell-action{text-align:right}.admin-run-button{padding:.4rem .75rem;border:1px solid #2b6cb0;border-radius:6px;background:#fff;color:#2b6cb0;font-size:.85rem;cursor:pointer;white-space:nowrap}.admin-run-button:disabled{opacity:.6;cursor:default}.admin-refresh{display:block;margin:1.5rem auto 0;background:none;border:none;color:#2b6cb0;font-size:.85rem;cursor:pointer}.admin-seed-actions{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.admin-seed-actions .admin-refresh{margin:1.5rem 0 0}.admin-all-done{text-align:center;color:#2f855a;font-weight:500;margin:1.5rem 0}.admin-seed-done{margin-top:1rem}.admin-seed-done summary{cursor:pointer;color:#555;font-size:.85rem;padding:.5rem 0}.admin-seed-done .admin-table{margin-top:.5rem}.admin-cell-checked{text-align:right;color:#999;font-size:.8rem;white-space:nowrap}.admin-table-scroll{overflow-x:auto;margin-bottom:2rem}.admin-table--users,.admin-table--coupons,.admin-table--ai-debug{min-width:480px}.admin-table--users th,.admin-table--coupons th,.admin-table--ai-debug th{text-align:left;padding:.5rem;font-size:.8rem;color:#888;border-bottom:1px solid #ddd}.admin-table--users td,.admin-table--coupons td,.admin-table--ai-debug td{padding:.5rem;font-size:.85rem;border-bottom:1px solid #eee}.admin-ai-debug-raw{white-space:pre-wrap;word-break:break-word;font-size:.8rem;background:#f6f6f6;padding:.75rem;border-radius:6px;max-height:300px;overflow-y:auto}.admin-row--gold{background:#fffbea}.admin-coupon-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.admin-coupon-form input,.admin-coupon-form select{padding:.45rem .6rem;border:1px solid #ccc;border-radius:6px;font-size:.85rem}.admin-coupon-form button{padding:.45rem .9rem;border:none;border-radius:6px;background:#2b6cb0;color:#fff;font-size:.85rem;cursor:pointer}.admin-coupon-form button:disabled{opacity:.6;cursor:default}.settings-plan-section{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;margin-bottom:1.5rem;background:#eef4fb;border-radius:10px;flex-wrap:wrap}.settings-plan-status{margin:0;font-size:.9rem;color:#234}.settings-upgrade-button{padding:.5rem 1rem;border:none;border-radius:8px;background:#2b6cb0;color:#fff;font-size:.85rem;cursor:pointer;white-space:nowrap}.chat-limit-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1.25rem;background:#fff3cd;border-top:1px solid #f0d878;flex-wrap:wrap}.chat-limit-banner p{margin:0;font-size:.85rem;color:#6b5900}.chat-limit-banner-button{padding:.45rem .9rem;border:none;border-radius:8px;background:#2b6cb0;color:#fff;font-size:.85rem;cursor:pointer;white-space:nowrap}.billing-page{max-width:520px;margin:0 auto;padding:1.5rem 1.5rem 3rem;box-sizing:border-box}.billing-heading{margin:0 0 1.25rem;text-align:center}.billing-error{color:#e03131;font-size:.9rem;text-align:center;margin:0 0 1rem}.billing-return{text-align:center;border-radius:10px;padding:.75rem 1rem;font-size:.9rem;margin:0 0 1.25rem}.billing-return--confirming{background:#eef4fb;color:#234}.billing-return--success{background:#e6f6ec;color:#1e6b3a}.billing-return--cancelled{background:#f2f2f2;color:#555}.billing-return--error{background:#fdeaea;color:#a92222}.billing-gold-banner{background:#fffbea;border-radius:10px;padding:1.25rem;text-align:center;font-size:1rem}.billing-current-plan{text-align:center;font-size:.9rem;color:#555;margin:0 0 1.25rem}.billing-coupon{background:#f4f1ea;border-radius:10px;padding:1rem;margin-bottom:1.5rem}.billing-coupon label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.4rem}.billing-coupon input{width:100%;box-sizing:border-box;padding:.55rem .7rem;border:1px solid #ccc;border-radius:8px;font-size:.95rem;text-transform:uppercase}.billing-coupon-hint{margin:.4rem 0 0;font-size:.8rem;color:#888}.billing-coupon-status{margin:.4rem 0 0;font-size:.85rem}.billing-coupon-status--ok{color:#1e6b3a}.billing-coupon-status--bad{color:#a92222}.billing-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}.billing-plan-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .5rem;border:2px solid #ddd;border-radius:10px;background:#fff;cursor:pointer}.billing-plan-card--selected{border-color:#2b6cb0;background:#eef4fb}.billing-plan-label{font-size:.85rem;color:#555}.billing-plan-price{font-size:1.3rem;font-weight:600}.billing-checkout{background:#fafafa;border-radius:10px;padding:1.1rem}.billing-autorenew{display:flex;align-items:center;gap:.5rem;font-size:.85rem;margin-bottom:1rem}.billing-pay-buttons{display:flex;flex-direction:column;gap:.6rem}.billing-pay-button{padding:.7rem 1rem;border:none;border-radius:8px;font-size:.95rem;cursor:pointer;color:#fff}.billing-pay-button:disabled{opacity:.6;cursor:default}.billing-pay-button--stripe{background:#635bff}.billing-pay-button--paypal{background:#003087}.script-letter{font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:4.5rem;transform:none}.script-roman{margin:0;font-size:1.4rem;letter-spacing:.05em;color:#f5e9a8}.script-example{margin:0;font-size:1.05rem;color:#eef2eee0}.script-example rt,.script-guide rt{font-size:.55em;letter-spacing:0}.script-example-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.script-quiz-prompt{margin:0;font-size:.95rem;color:#eef2eecc}.script-choices{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;margin:1.25rem 0}.script-choice{padding:.8rem;font-size:1.15rem;border:2px solid #ccc;border-radius:12px;background:#fff;cursor:pointer}.script-choice--correct{border-color:#2f855a;background:#e6f4ea}.script-choice--wrong{border-color:#c53030;background:#fdecec}.script-feedback{margin:0 0 1rem;font-size:1rem}.script-status{color:#444;margin:1.5rem 0;text-shadow:none}.script-guide{ruby-align:center}.script-guide rt{color:currentColor;opacity:.6;font-family:system-ui,sans-serif;font-weight:400}body[data-target=ko]{word-break:keep-all}.stepup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:300}.stepup-card{background:#fff;border-radius:14px;padding:1.5rem;max-width:360px;width:100%;display:flex;flex-direction:column;gap:1rem;box-shadow:0 12px 32px #0000004d}.stepup-message{margin:0;line-height:1.5}.stepup-dismiss{background:none;border:none;color:#777;cursor:pointer;text-decoration:underline;font-size:.9rem}.chart-title{margin:.5rem 0}.chart-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;width:100%}.chart-tabs{display:flex;gap:.25rem}.chart-tab{padding:.4rem .9rem;border:1px solid #ccc;border-radius:999px;background:#fff;cursor:pointer}.chart-tab--active{background:#2b2b2b;color:#fff;border-color:#2b2b2b}.chart-toggle{display:flex;gap:.4rem;align-items:center;font-size:.9rem}.chart-legend{display:flex;gap:1rem;font-size:.85rem;margin:.75rem 0}.chart-legend-item{display:flex;align-items:center;gap:.35rem}.chart-swatch{width:1rem;height:1rem;border-radius:4px;border:1px solid rgba(0,0,0,.2);display:inline-block}.chart-section{margin:1rem 0 .4rem;width:100%;text-align:left;font-size:1rem}.chart-note{font-size:.85rem;color:#555;margin:.25rem 0 .5rem}.chart-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.2rem,1fr));gap:.4rem;width:100%}.chart-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.4rem;padding:.25rem;border-radius:8px;border:1px solid rgba(0,0,0,.15);color:#222;cursor:pointer}.chart-cell-label{font-size:1.5rem;line-height:1.1;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.chart-cell-sound{font-size:.7rem;color:#444}.chart-cell--new{background:#ececec}.chart-cell--seen{background:#fff0b8}.chart-cell--known{background:#c9ecd2}.chart-table-wrap{width:100%;overflow-x:auto}.chart-table{border-collapse:separate;border-spacing:3px}.chart-table th{position:sticky;left:0;background:#fff;font-family:Noto Sans KR,sans-serif;padding:0 .3rem}.chart-table thead th{position:static}.chart-table .chart-cell{min-width:3rem;min-height:3rem}.chart-table .chart-cell-label{font-size:1.2rem}.chart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.chart-dialog{background:#fff;color:#222;border-radius:16px;padding:1.25rem;max-width:22rem;width:100%;text-align:center;max-height:90vh;overflow-y:auto}.chart-dialog-letter{font-size:4rem;margin:0;font-family:Noto Sans KR,Apple SD Gothic Neo,sans-serif}.chart-dialog-sound{font-size:1.3rem;margin:0 0 .5rem}.chart-status{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.8rem;margin-bottom:.5rem}.chart-parts{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;align-items:center}.chart-parts p{width:100%;margin:.25rem 0;font-size:.9rem}.chart-part{padding:.4rem .8rem;border-radius:8px;border:1px solid #ccc;background:#f7f7f7;font-size:1.3rem;cursor:pointer}.chart-part span{font-size:.75rem;color:#555}.chart-close{margin-top:1rem}.wp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:flex;flex-direction:column;background:#ece8dd;color:#2b2b2b;padding-bottom:env(safe-area-inset-bottom)}.wp-top{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem}.wp-top-text{display:flex;align-items:baseline;gap:.6rem;flex:1;min-width:0;overflow:hidden}.wp-title{flex-shrink:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;opacity:.65}.wp-target{font-size:1.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.wp-stats{flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;font-size:.8rem}.wp-stage{opacity:.65}.wp-close{font-size:1.8rem;line-height:1;border:0;background:none;cursor:pointer;padding:0 .25rem}.wp-pager{flex:1;display:flex;align-items:center;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:0 6%;-webkit-overflow-scrolling:touch}.wp-earlier{flex:0 0 auto;scroll-snap-align:center;padding:.6rem .9rem;border:1px dashed #999;border-radius:10px;background:none;cursor:pointer}.wp-page{flex:0 0 88%;max-width:520px;scroll-snap-align:center;background:#fffdf6;border-radius:6px 6px 10px 10px;box-shadow:0 2px 10px #0000002e;padding:1.4rem .9rem .8rem;position:relative}.wp-page:before{content:"";position:absolute;top:.45rem;left:.9rem;right:.9rem;height:.5rem;background:radial-gradient(circle,#9d978a 28%,transparent 30%) 0 0 / 1.1rem .5rem repeat-x}.wp-page-head{display:flex;align-items:center;gap:.6rem;font-size:.75rem;margin-bottom:.4rem}.wp-page-when{flex:1;opacity:.55}.wp-page-head>span:first-child{font-weight:600}.wp-pad{display:block;width:100%;height:auto;border-radius:4px;background:#fff;touch-action:pan-x;user-select:none;-webkit-user-select:none}.wp-pad--live{touch-action:none;cursor:crosshair}.wp-paper rect{fill:none;stroke:#d5d0c2;stroke-width:.6}.wp-paper line{stroke:#e3dfd2;stroke-width:.5;stroke-dasharray:3 3}.wp-g{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.wp-g--faint{stroke:#d9d9d9;stroke-width:6}.wp-g--todo{stroke:#dcdcdc;stroke-width:6}.wp-g--done{stroke:#b9b9b9;stroke-width:6}.wp-g--current-base{stroke:#bcd3f7;stroke-width:7}.wp-g--current{stroke:#2f6fe0;stroke-width:7}.wp-g--flow{stroke-dasharray:100;stroke-dashoffset:100;animation:wp-flow 1.8s ease-in-out infinite}@keyframes wp-flow{0%{stroke-dashoffset:100}70%,to{stroke-dashoffset:0}}.wp-g-start{fill:#2f6fe0;pointer-events:none}.wp-g-number{font-size:7px;fill:#7d8590;font-family:system-ui,sans-serif;pointer-events:none}.wp-ink{fill:none;stroke:#1f2a44;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.wp-ink--off{stroke:#d6322e}.wp-ink--order{stroke:#e08a1b}.wp-page-foot{min-height:4.6rem;margin-top:.5rem;display:flex;align-items:center;gap:.75rem}.wp-correct-label{font-size:.75rem;opacity:.65}.wp-correct{height:3.6rem;width:auto;max-width:70%;background:#fff;border-radius:4px}.wp-c{fill:none;stroke:#444;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.wp-c--bad{stroke:#d6322e}.wp-rating{padding:.1rem .6rem;border-radius:999px;font-weight:600;font-size:.8rem}.wp-rating--good{background:#c9ecd2;color:#17623a}.wp-rating--okay{background:#fff0b8;color:#7a5a00}.wp-rating--retry{background:#fadcdc;color:#9b1c1c}.wp-page--finished .wp-rating{font-size:1.05rem;padding:.2rem .9rem}.wp-peek{padding:.4rem .9rem;border:1px solid #bbb;border-radius:999px;background:#fff;cursor:pointer}.wp-nav{display:flex;align-items:center;justify-content:space-between;padding:.4rem 1.2rem .8rem}.wp-nav button{font-size:1.8rem;line-height:1;width:3rem;height:3rem;border-radius:50%;border:1px solid #bbb;background:#fff;cursor:pointer}.wp-save-error{font-size:.8rem;color:#9b1c1c}.chart-write{margin-top:.75rem;padding:.5rem 1rem;border:1px solid #bbb;border-radius:999px;background:#f7f7f7;cursor:pointer}.word-tooltip-write{border:0;background:none;cursor:pointer;font-size:1rem;padding:0 .25rem}.wp-loading{position:absolute;top:50%;left:0;right:0;text-align:center;opacity:.6}.write-roman{letter-spacing:.05em}.write-pad-wrap{width:100%;max-width:520px;margin:.5rem auto .75rem;background:#fffdf6;border-radius:8px;padding:.7rem;box-shadow:0 1px 6px #00000026}.write-pad{margin-top:.4rem}.write-verdict{display:flex;justify-content:center}.write-correct{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.write-attempt{margin:.25rem 0 0;text-align:center;font-size:.85rem;opacity:.65}.write-hint{display:flex;flex-direction:column;align-items:center;gap:.1rem;margin-top:.5rem}.write-hint-word{font-size:2rem;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif}.write-hint-roman{letter-spacing:.05em;opacity:.8}.write-hint-meaning{opacity:.8}.wp-inline{width:100%;max-width:280px;margin:1rem auto 0;display:flex;flex-direction:column;align-items:center;gap:.5rem}.wp-inline-label{margin:0;font-size:.85rem;opacity:.8;text-align:center}.wp-inline-count{margin-left:.5rem;font-variant-numeric:tabular-nums}.wp-inline .wp-pad{max-width:280px}.wp-inline-result{display:flex;align-items:center;gap:.75rem;min-height:2.5rem}.wp-inline-result .wp-correct{width:64px}.script-guide-word{white-space:nowrap;margin:0 .3em}.token-group .script-guide-word{margin:0}.token-group:has(.script-guide-word){margin:0 .3em;white-space:nowrap}.script-guide-col{display:inline-block;text-align:center}.script-guide-sound{display:block;padding:0 .15em;font-family:system-ui,sans-serif;font-size:.55em;font-weight:400;line-height:1.2;white-space:nowrap;opacity:.6}.script-guide-sound--hidden{visibility:hidden;width:0;padding:0}.script-guide-toggle{display:block;margin:.5rem auto 0;padding:.25rem .5rem;border:none;background:none;font:inherit;font-size:.75rem;color:#888;cursor:pointer;text-align:center}.script-guide-toggle-action{text-decoration:underline}.blackboard-hands-free{display:flex;flex-direction:column;align-items:center;margin:.75rem 0 .25rem;max-width:22rem;text-align:center}.blackboard-hands-free-toggle{padding:.6rem 1.6rem;border:2px solid #2b6cb0;border-radius:24px;background:transparent;color:#2b6cb0;font-size:1rem;cursor:pointer}.blackboard-hands-free-toggle--on{background:#2b6cb0;color:#fff}.blackboard-hands-free-panel{width:100%;margin-top:.75rem;padding:.6rem .75rem;border:1px solid #d5dde8;border-radius:12px;background:#f7f9fc;text-align:left}.blackboard-hands-free-panel .hf-row{display:flex;align-items:center;gap:.6rem;padding:.3rem 0;font-size:.85rem}.blackboard-hands-free-panel .hf-label{flex:1;color:#444}.blackboard-hands-free-panel input[type=range]{flex:0 0 38%}.blackboard-hands-free-panel .hf-value{min-width:2.6rem;text-align:center;font-variant-numeric:tabular-nums}.blackboard-hands-free-panel .hf-stepper{display:inline-flex;align-items:center}.blackboard-hands-free-panel .hf-stepper button{width:2rem;height:2rem;border:1px solid #2b6cb0;border-radius:50%;background:transparent;color:#2b6cb0;font-size:1.1rem;line-height:1;cursor:pointer}.blackboard-hands-free-panel .hf-stepper button:disabled{opacity:.35;cursor:default}.blackboard-hands-free-hint{margin:.4rem 0 0;font-size:.8rem;color:#888}.drawer-settings-hint{font-size:.78rem;color:#888;line-height:1.4}.splash-nextstep{margin:0 0 1rem;padding:.6rem .9rem;border-radius:12px;background:#ebf4ff;color:#1a365d;font-size:.95rem;display:flex;align-items:center;gap:.5rem;justify-content:space-between}.splash-nextstep-dismiss{border:none;background:transparent;color:inherit;font-size:1rem;cursor:pointer;padding:.2rem .4rem}.splash-choice--next{border-color:#2b6cb0;box-shadow:0 0 0 3px #2b6cb04d}.splash-milestone{margin:0 0 1rem;padding:1rem;border-radius:16px;background:linear-gradient(135deg,#fefcbf,#fed7aa);color:#5f370e;box-shadow:0 3px 10px #0000001f}.splash-milestone-title{margin:0 0 .4rem;font-size:1.15rem}.splash-milestone-body{margin:0 0 .75rem}.splash-milestone-actions{display:flex;gap:.6rem}.splash-milestone-go{border:none;border-radius:999px;padding:.5rem 1.1rem;background:#2b6cb0;color:#fff;font-weight:600;cursor:pointer}.splash-milestone-later{border:none;background:transparent;color:inherit;text-decoration:underline;cursor:pointer}.primer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;align-items:center;background:#1a365d;color:#fff;padding:1rem 0 1.25rem}.primer-skip{align-self:flex-end;margin-right:1rem;border:none;background:transparent;color:#bee3f8;font-size:1rem;cursor:pointer}.primer-scroller{flex:1;width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.primer-scroller::-webkit-scrollbar{display:none}.primer-card{flex:0 0 100%;scroll-snap-align:center;box-sizing:border-box;padding:1.5rem 1.75rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.primer-emoji{font-size:3.5rem;margin-bottom:1rem}.primer-title{margin:0 0 .75rem;font-size:1.5rem}.primer-body{margin:0;max-width:28rem;line-height:1.55;font-size:1.05rem}.primer-dots{display:flex;gap:.5rem;margin:.75rem 0 1rem}.primer-dot{width:8px;height:8px;border-radius:50%;background:#ffffff59}.primer-dot--on{background:#fff}.primer-next{border:none;border-radius:999px;padding:.7rem 2.5rem;background:#fff;color:#1a365d;font-size:1.05rem;font-weight:600;cursor:pointer}.tooltip-inline-word{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;text-decoration:underline dotted;text-underline-offset:.2em}.word-tooltip-taught{font-weight:600}.word-tooltip-back{background:none;border:none;color:inherit;opacity:.75;cursor:pointer;padding:0;margin:0 0 .4rem;font-size:.8rem}.word-tooltip-form-hint{display:block;width:100%;text-align:left;margin:.5rem 0 0}.listening-title{margin:.5rem 0 .75rem;font-family:Georgia,serif}.listening .blackboard-hands-free{width:100%}.listening .listening-check{cursor:pointer}.listening .listening-group-label{margin:0 0 .2rem;font-weight:600}.listening .listening-example{margin:.9rem 0 0;padding-top:.7rem;border-top:1px solid rgba(255,255,255,.25);font-size:1.05rem}.listening .listening-example-translation{display:block;margin-top:.25rem;font-size:.9rem;opacity:.8}
