:root{--text-scale: 1;color-scheme:light;--background: #f6f7f4;--surface: #fff;--surface-soft: #edf1ec;--ink: #17231d;--muted: #5e6a62;--line: #e4e9e4;--accent: #246548;--accent-strong: #174e37;--accent-soft: #e7f1e9;--danger: #a63d39;--danger-soft: #fcebea;--lvl-b2: #1c7fa8;--lvl-c1: #9a6a00;--lvl-c2: #c2483d;--shadow: 0 18px 52px rgb(29 44 34 / 6%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:calc(16px * var(--text-scale));font-synthesis:none;text-rendering:optimizeLegibility}.saved-word-language{color:var(--muted);font-size:calc(10px * var(--text-scale));letter-spacing:.03em}*{box-sizing:border-box}body{min-width:280px;min-height:100vh;margin:0;background:var(--background);color:var(--ink);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input,select{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgb(40 108 77 / 35%);outline-offset:3px}[hidden]{display:none!important}.app-shell{width:min(100% - 48px,960px);margin:0 auto;padding-bottom:48px}.site-footer{padding:12px 16px calc(16px + env(safe-area-inset-bottom));color:var(--muted);font-size:calc(12px * var(--text-scale));text-align:center}.topbar{display:flex;min-height:72px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:calc(19px * var(--text-scale));font-weight:760;letter-spacing:-.04em;text-decoration:none}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:12px;background:var(--accent);color:#fff;font-family:Georgia,serif;font-size:calc(22px * var(--text-scale));font-style:italic}.offline-label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:calc(13px * var(--text-scale))}.offline-dot{width:8px;height:8px;border-radius:50%;background:#49a675}.screen{padding-top:44px;animation:screen-arrive .26s ease both}@keyframes screen-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.intro,.screen-heading{max-width:620px;margin:0 auto 28px;text-align:center}.eyebrow{margin:0 0 11px;color:var(--accent);font-size:calc(11px * var(--text-scale));font-weight:800;letter-spacing:.13em}h1,h2,p{margin-top:0}.intro h1,.screen-heading h1{margin:0;font-size:calc(clamp(32px,5vw,48px) * var(--text-scale));font-weight:720;letter-spacing:-.055em;line-height:1.08}.intro h1 span{color:var(--accent)}.intro-copy,.screen-heading>p:last-child{margin:13px 0 0;color:var(--muted);font-size:calc(16px * var(--text-scale));line-height:1.5}.practice-card,.panel{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--surface);box-shadow:var(--shadow)}.range-label{min-width:220px}.range-inputs{display:flex;align-items:center;gap:8px}.range-inputs input{width:82px;min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 10px}.collection-controls{display:flex;min-height:40px;align-items:center;justify-content:space-between;gap:12px;padding:0 24px 12px}.check-label{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:calc(12px * var(--text-scale));cursor:pointer}.check-label input{accent-color:var(--accent)}.range-message{margin:0;color:var(--danger);font-size:calc(12px * var(--text-scale))}.control-label{display:grid;gap:5px;color:var(--muted);font-size:calc(11px * var(--text-scale));font-weight:700}.control-label select,#word-form input,#word-form select{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-size:calc(14px * var(--text-scale))}.control-label select{min-width:190px;padding:0 32px 0 12px;font-weight:650;transition:color .14s ease,background-color .14s ease,box-shadow .14s ease}.round-view{min-height:370px;padding:48px 40px;text-align:center}.round-icon{display:grid;width:58px;height:58px;margin:0 auto 21px;place-items:center;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-family:Georgia,serif;font-size:calc(24px * var(--text-scale));font-weight:700}.round-view h2{margin:0;font-size:calc(27px * var(--text-scale));letter-spacing:-.035em}.round-copy{max-width:410px;margin:10px auto 23px;color:var(--muted);font-size:calc(15px * var(--text-scale));line-height:1.55}.primary-button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;gap:12px;padding:0 22px;border:0;border-radius:15px;background:var(--accent);color:#fff;cursor:pointer;font-size:calc(14px * var(--text-scale));font-weight:720;box-shadow:0 5px 16px #1d52381f;transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.primary-button:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 8px 20px #1d523829}.primary-button:active:not(:disabled){transform:translateY(1px)}.primary-button:disabled,select:disabled{cursor:not-allowed;opacity:.55}.question-view{padding:26px 36px 30px;text-align:left}.question-topline,.question-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.question-topline{color:var(--muted);font-size:calc(13px * var(--text-scale));font-weight:650}.question-navigator{display:flex;width:100%;min-width:0;max-width:100%;gap:7px;margin-top:15px;padding:3px 4px 6px;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;scroll-snap-type:x proximity;scrollbar-color:var(--muted) transparent;scrollbar-width:thin;touch-action:pan-x;user-select:none;cursor:grab;background:var(--surface-soft);border-radius:14px;-webkit-overflow-scrolling:touch}.question-navigator.is-dragging{cursor:grabbing;scroll-snap-type:none}.question-navigator::-webkit-scrollbar{height:4px}.question-navigator::-webkit-scrollbar-thumb{border-radius:4px;background:var(--muted)}.question-number{width:34px;height:34px;flex:0 0 34px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:calc(12px * var(--text-scale));font-weight:700;scroll-snap-align:center}.question-number.is-answered{border-color:#db807a;background:var(--danger-soft);color:var(--danger)}.question-number.is-complete{border-color:#69ae82;background:var(--accent-soft);color:var(--accent)}.question-number[aria-current=step]{box-shadow:inset 0 0 0 2px var(--accent);color:var(--ink)}.question-number:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-4px}.text-button{padding:7px 0 7px 12px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:calc(13px * var(--text-scale))}.text-button:hover{color:var(--danger)}.progress-track{height:6px;margin:11px 0 28px;overflow:hidden;border-radius:8px;background:var(--surface-soft)}.progress-track>span{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.question-topic{margin:0 0 10px;color:var(--muted);font-size:calc(10px * var(--text-scale));font-weight:750;letter-spacing:.12em;text-transform:uppercase}.word-card{padding:16px 20px 19px;border-radius:16px;background:var(--background);text-align:center}.word-card .eyebrow{margin-bottom:8px;font-size:calc(10px * var(--text-scale))}.word-line{display:flex;align-items:center;justify-content:center;gap:14px}.word-line h2{margin:0;overflow-wrap:anywhere;font-size:calc(clamp(30px,5vw,42px) * var(--text-scale));letter-spacing:-.05em}.speak-button{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent);cursor:pointer}.speak-button svg{width:20px;height:20px;fill:currentColor}.word-card>p:last-child{margin:7px 0 0;color:var(--muted);font-size:calc(13px * var(--text-scale))}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.favorite-button{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer;font-size:calc(12px * var(--text-scale))}.favorite-button>span:first-child{color:#c94f61;font-size:calc(18px * var(--text-scale));line-height:1}.favorite-button.is-favorite{border-color:#e5a0aa;background:#fff1f3;color:#a93449}.answer-button{display:flex;min-height:58px;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;text-align:left;transition:border-color .12s ease,background-color .12s ease}.answer-button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.answer-button:disabled{cursor:default}.answer-number{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border-radius:8px;background:var(--background);color:var(--muted);font-size:calc(12px * var(--text-scale));font-weight:750}.answer-button.is-correct{border-color:#69ae82;background:var(--accent-soft);color:var(--accent-strong)}.answer-button.is-wrong{border-color:#db807a;background:var(--danger-soft);color:var(--danger)}.feedback{margin:13px 0 0;font-size:calc(14px * var(--text-scale));font-weight:650}.feedback.is-correct{color:var(--accent)}.feedback.is-wrong{color:var(--danger)}.question-footer{min-height:48px;margin-top:12px}.keyboard-hint{color:var(--muted);font-size:calc(12px * var(--text-scale))}.next-button{min-height:42px;padding-inline:16px}.finish-view{display:flex;min-height:370px;flex-direction:column;align-items:center;justify-content:center}.finish-icon{border-radius:50%;font-family:inherit;font-size:calc(25px * var(--text-scale))}.status-message{margin:14px 0 0;padding:12px 15px;border:1px solid #e8b3af;border-radius:12px;background:var(--danger-soft);color:var(--danger);font-size:calc(13px * var(--text-scale))}.screen-heading{margin-bottom:27px}.screen-heading h1{font-size:calc(clamp(32px,5vw,42px) * var(--text-scale))}.panel{max-width:620px;margin:0 auto;padding:30px}#word-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}#word-form label{align-self:end;color:var(--muted);font-size:calc(12px * var(--text-scale));font-weight:700}#word-form input,#word-form select{width:100%;min-width:0;padding:0 12px;transition:border-color .14s ease,box-shadow .14s ease,background-color .14s ease}#word-form input:focus,#word-form select:focus{border-color:#2465488c;box-shadow:0 0 0 4px #24654817}.form-submit,.form-message{grid-column:1 / -1}.form-submit{margin-top:6px}.form-message{min-height:17px;margin:0;color:var(--accent);font-size:calc(13px * var(--text-scale))}.saved-words{display:grid;max-width:620px;gap:9px;margin:18px auto 0}.saved-word{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;border:1px solid var(--line);border-radius:16px;background:var(--surface);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.saved-word:hover{transform:translateY(-1px);border-color:#d3ddd4;box-shadow:0 8px 20px #1d2c220a}.saved-word-copy{display:grid;gap:3px;min-width:0}.collection-tabs{display:flex;flex-wrap:wrap;gap:8px}.collection-controls{max-width:620px;margin:18px auto 0;flex-wrap:wrap;justify-content:flex-start;align-items:center}.favorites-start-button{min-height:40px;padding-inline:15px;font-size:calc(12px * var(--text-scale))}.collection-tab{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer}.collection-tab{padding:10px 12px}.collection-tab.is-active{background:var(--accent-soft);color:var(--accent)}.round-stats{color:var(--muted)}.round-stats{font-size:calc(13px * var(--text-scale));line-height:1.5}.saved-word-copy strong{overflow-wrap:anywhere;font-size:calc(15px * var(--text-scale))}.saved-word-copy>span:not(.saved-word-part){color:var(--muted);font-size:calc(14px * var(--text-scale))}.saved-word-part{color:var(--accent);font-size:calc(11px * var(--text-scale))}.saved-word-group{color:var(--muted);font-size:calc(11px * var(--text-scale))}.remove-word{flex:0 0 auto;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--danger);cursor:pointer;font-size:calc(12px * var(--text-scale));font-weight:650}.remove-word:hover:not(:disabled){background:var(--danger-soft)}.remove-word:disabled{cursor:not-allowed;opacity:.5}.list-empty,.privacy-note{color:var(--muted);font-size:calc(13px * var(--text-scale));text-align:center}.privacy-note{margin:17px 0 0}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:740px;margin:0 auto 16px}.stat-card{display:grid;min-height:150px;justify-items:center;align-content:center;gap:7px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.stat-icon{color:var(--accent);font-size:calc(20px * var(--text-scale))}.stat-card strong{font-size:calc(27px * var(--text-scale));letter-spacing:-.04em}.stat-card>span:last-child{color:var(--muted);font-size:calc(12px * var(--text-scale))}.progress-note h2{margin:0 0 8px;font-size:calc(17px * var(--text-scale))}.progress-note p{margin:0;color:var(--muted);font-size:calc(14px * var(--text-scale));line-height:1.55}.settings-panel{display:grid;gap:18px}.language-note{margin:0;color:var(--muted);font-size:calc(13px * var(--text-scale));line-height:1.5}.setting-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,1fr);align-items:center;gap:16px;color:var(--muted);font-size:calc(14px * var(--text-scale));font-weight:650}.setting-row select{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 12px}.text-size-control{display:flex;align-items:center;gap:10px}.text-size-control input{width:100%;accent-color:var(--accent)}.text-size-control output{min-width:44px;color:var(--ink);text-align:right}.bottom-nav{display:flex;justify-content:center;width:fit-content;gap:6px;margin:24px auto 0;padding:5px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 5px 18px #1d2c220a}.nav-tab{display:inline-flex;min-height:42px;align-items:center;gap:8px;padding:0 15px;border:0;border-radius:11px;background:transparent;color:var(--muted);cursor:pointer;font-size:calc(13px * var(--text-scale));font-weight:650}.nav-tab.is-active{background:var(--accent-soft);color:var(--accent)}.nav-icon{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-tab.is-active .nav-icon{fill:var(--accent-soft)}body[data-theme=dark]{color-scheme:dark;--background: #171d19;--surface: #202923;--surface-soft: #29362d;--ink: #eff5f0;--muted: #a7b5aa;--line: #344139;--accent: #8bd1a6;--accent-strong: #a2e3b8;--accent-soft: #263b2e;--danger: #ffaaa3;--danger-soft: #432b29;--lvl-b2: #7cc4e8;--lvl-c1: #f2c46d;--lvl-c2: #f2887e;--shadow: 0 16px 48px rgb(0 0 0 / 18%)}.round-exit-button{display:inline-flex;min-height:42px;align-items:center;gap:9px;padding:0 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;font-size:calc(13px * var(--text-scale));font-weight:700}.round-exit-button:hover{background:var(--surface-soft)}.round-exit-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.language-onboarding{position:fixed;z-index:20;inset:0;display:grid;place-items:center;padding:20px;background:#0f18129e}.language-onboarding-card{display:grid;width:min(100%,460px);gap:16px;padding:32px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);text-align:center}.language-onboarding-card .brand-mark{margin:auto}.language-onboarding-card .eyebrow{margin:0}.language-onboarding-card h1{margin:0;font-size:calc(26px * var(--text-scale));letter-spacing:-.035em}.language-onboarding-card .round-copy{margin:0}.language-onboarding-card .control-label{text-align:left}.language-onboarding-card select{min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink)}.language-onboarding-card .primary-button{width:100%}body.round-active{overflow:hidden}body.round-active .app-shell{position:fixed;z-index:6;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;margin:0;padding:0;overflow:hidden}body.round-active .topbar,body.round-active .bottom-nav,body.round-active #screen-practice>.intro{display:none}body.round-active main,body.round-active #screen-practice{height:100%}body.round-active #screen-practice{padding:0}body.round-active .practice-card{display:grid;width:100%;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}body.round-active .question-view{width:min(100%,920px);height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;margin:0 auto;overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:flex;flex-direction:column;justify-content:flex-start}body.round-active .finish-view{width:min(100%,700px);height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom))}body.round-active .status-message{position:fixed;z-index:8;right:12px;bottom:max(12px,env(safe-area-inset-bottom));left:12px}@media(max-width:700px){#screen-practice.screen{padding-top:14px}#screen-practice .intro{margin-bottom:12px}#screen-practice .intro .eyebrow{margin-bottom:5px}#screen-practice .intro h1{font-size:calc(clamp(29px,8vw,36px) * var(--text-scale))}body.round-active .question-view{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}}body[data-theme=dark] .brand-mark{color:#16231a}body[data-theme=dark] .primary-button{color:#17241b}body[data-theme=dark] .answer-button.is-correct{color:var(--accent-strong)}body[data-theme=dark] .favorite-button.is-favorite{background:#432b31;color:#ffabb7}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
