:root{--bg:#f4efe7;--surface:#fffaf2;--subtle:#ece2d4;--border:#dacdbb;--text:#443f38;--text-strong:#15130f;--muted:#756b5e;--accent:#11675f;--accent-soft:#dcefe9;--danger:#af4f3e;--focus:#bd7a2d;--shadow:0 18px 44px #352d2214;color:var(--text);background:linear-gradient(180deg, #fbf7f0 0%, var(--bg) 44%, #efe7db 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:hover{filter:brightness(.98)}button:disabled{cursor:progress;opacity:.68}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}h1,h2,p{overflow-wrap:anywhere}h1,h2{color:var(--text-strong)}h1{font-size:clamp(1.9rem,7vw,3.2rem);line-height:.98}h2{margin:0;font-size:1.08rem}p{margin:0}.signin-screen,.loading-screen,.app-shell{min-height:100svh}.loading-screen{color:var(--muted);place-items:center;display:grid}.signin-screen{background:linear-gradient(#081c1f14 0%,#081c1fe0 68%),url(/lingoloop-login-hero.png) 58%/cover,#f4f7f3;align-items:end;padding:24px;display:grid}.signin-panel{color:#fff;width:min(100%,540px);padding-block:64px 28px}.signin-logo{object-fit:contain;filter:drop-shadow(0 18px 36px #00000052);width:76px;height:76px;margin-bottom:18px;display:block}.signin-panel h1,.signin-panel .eyebrow{color:#fff}.intro{color:#ffffffd1;max-width:430px;margin:0 0 28px}.app-shell{width:min(100%,1180px);margin:0 auto;padding:16px}.app-topbar,.primary-nav,.practice-main,.stat-panel,.work-panel,.empty-hero,.setup-selector,.onboarding-panel{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, white);box-shadow:var(--shadow);border-radius:8px}.app-topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:10px;display:flex}.brand-button{min-width:0;color:var(--text-strong);text-align:left;background:0 0;border:0;align-items:center;gap:10px;display:inline-flex}.brand-mark{background:linear-gradient(145deg,#f9f5e8,#d9eee4);border-radius:10px;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #2d544b1a}.brand-mark img{object-fit:contain;width:37px;height:37px}.brand-button strong,.brand-button small{display:block}.brand-button small{max-width:44vw;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.primary-nav,.setup-tabs,.mode-switch{gap:6px;padding:6px;display:grid}.primary-nav{z-index:2;grid-template-columns:repeat(3,1fr);margin-bottom:14px;position:sticky;top:8px}.setup-tabs,.mode-switch{border:1px solid var(--border);background:var(--subtle);border-radius:8px}.setup-tabs{grid-template-columns:repeat(3,1fr);margin:12px 0}.mode-switch{grid-template-columns:1fr 1fr;width:100%}.primary-nav button,.setup-tabs button,.mode-switch button{min-height:42px;color:var(--muted);font:inherit;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;font-weight:760;display:inline-flex}.primary-nav .selected,.setup-tabs .selected,.mode-switch .selected{color:var(--accent);background:var(--surface);box-shadow:0 8px 18px #2d544b17}.eyebrow,.stage-label,label span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:800;display:block}.notice{color:var(--accent);background:#eff8f4;border:1px solid #b9ded4;border-radius:8px;margin:0 0 12px;padding:10px 12px}.error-notice{color:#8b3523;background:#fff1ed;border-color:#f0b6a3}.section-heading{margin-bottom:14px}.section-heading h1,.practice-header h1,.empty-hero h1{overflow-wrap:anywhere;margin:0}.practice-layout,.dashboard-columns{gap:14px;display:grid}.practice-main{scroll-margin-top:74px;position:relative;overflow:hidden;container-type:inline-size}.above-hint{display:none}.practice-header{border-bottom:1px solid var(--border);gap:12px;padding:16px;display:grid}.word-stage{overscroll-behavior:contain;text-align:center;align-content:center;height:clamp(280px,42svh,430px);padding:clamp(30px,8cqw,54px) clamp(18px,5cqw,42px);display:grid;position:relative;overflow:auto;container-type:inline-size}.word-text{max-width:100%;color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-size:clamp(2.6rem,16cqw,5.4rem);font-weight:850;line-height:.98}.word-text.long{font-size:clamp(2rem,11cqw,4.35rem);line-height:1.04}.word-text.compact{font-size:clamp(1.45rem,8.5cqw,3.25rem);line-height:1.08}.answer-reveal{opacity:0;min-height:96px;margin-top:34px;transition:opacity .18s,transform .18s;transform:translateY(8px)}.answer-reveal.visible{opacity:1;transform:translateY(0)}.answer-reveal p:last-child{color:var(--text-strong);margin:0;font-size:clamp(1.15rem,5vw,1.65rem);font-weight:740}.practice-actions,.split-actions,.row-actions{gap:10px;display:grid}.practice-actions{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}.action-spacer{visibility:hidden;min-height:44px}.practice-sidebar,.dashboard-layout,.setup-layout,.entry-form,.entry-list,.deck-list,.edit-grid,.auto-fill-panel,.auto-fill-groups,.auto-fill-group,.auto-fill-actions,.suggestion-panel,.suggestion-list,.suggestion-actions{gap:12px;display:grid}.stat-panel,.work-panel,.empty-hero,.setup-selector,.onboarding-panel{padding:16px}.onboarding-shell{align-content:start;display:grid}.onboarding-screen{align-items:start;gap:18px;display:grid}.onboarding-review{gap:18px;display:grid}.onboarding-progress{text-align:center;align-content:center;place-items:center;min-height:min(72svh,680px);padding:28px 16px;display:grid}.onboarding-progress h1{max-width:620px;margin:0}.onboarding-progress p:last-child{max-width:580px;color:var(--muted)}.progress-orbit{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));width:84px;height:84px;color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow);border-radius:999px;place-items:center;margin-bottom:22px;animation:1.4s ease-in-out infinite pulse;display:grid}.onboarding-copy{padding:18px 2px 2px}.onboarding-copy h1{max-width:620px;margin:0 0 12px}.onboarding-copy p:last-child{max-width:640px;color:var(--muted);font-size:1.02rem}.onboarding-panel,.onboarding-fields,.starter-options{gap:14px;display:grid}.starter-options{border:0;min-width:0;margin:0;padding:0}.starter-options legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:800}.starter-options label{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:13px;display:grid}.starter-options label.selected{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-soft)}.starter-options input{width:18px;min-height:18px;accent-color:var(--accent);margin-top:2px}.starter-options label>span{color:var(--text);letter-spacing:0;text-transform:none;margin:0;font-size:.95rem}.starter-options strong,.starter-options small{display:block}.starter-options strong{color:var(--text-strong)}.starter-options small{color:var(--muted);margin-top:4px;line-height:1.35}.onboarding-submit{width:100%}.starter-review-title{justify-content:space-between;align-items:start;gap:12px;display:flex}.starter-review-list{gap:10px;max-height:min(48svh,460px);padding-right:2px;display:grid;overflow:auto}.starter-review-row{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.starter-review-row strong{color:var(--text-strong);display:block}.starter-review-row p{color:var(--muted);margin-top:3px}.onboarding-review-actions{grid-template-columns:1fr;gap:10px;display:grid}.icon-reverse{transform:rotate(180deg)}.panel-title-row{justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px;display:flex}.summary-grid,.metric-row,.session-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.metric-row{grid-template-columns:repeat(2,1fr)}.metric{border:1px solid var(--border);background:#fff;border-radius:8px;padding:12px}.metric strong,.metric span{display:block}.metric strong{color:var(--text-strong);font-size:1.42rem;line-height:1}.metric span{color:var(--muted);margin-top:6px;font-size:.78rem;font-weight:720}.entry-row,.deck-row,.suggestion-row,.auto-fill-group{border:1px solid var(--border);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.entry-row strong,.deck-row strong,.suggestion-row strong{color:var(--text-strong);display:block}.entry-row p,.suggestion-row p,.auto-fill-group p{margin:3px 0 8px}.entry-row span,.deck-row span,.entry-row span,.muted-text{color:var(--muted);font-size:.88rem}.row-actions{grid-template-columns:repeat(2,minmax(0,auto));justify-content:start;align-items:center}.deck-row>.icon-text-button{justify-self:start}.editing-row{align-items:stretch}.compact-list{margin-top:0}.empty-list{padding:10px 2px}.setup-selector select,input,textarea{border:1px solid var(--border);width:100%;min-height:44px;color:var(--text-strong);font:inherit;background:#fff;border-radius:7px;padding:10px 12px}textarea{resize:vertical}.checkbox-row{align-items:center;gap:10px;display:flex}.checkbox-row input{width:18px;min-height:18px;accent-color:var(--accent)}.checkbox-row span{color:var(--text-strong);letter-spacing:0;text-transform:none;margin:0;font-size:.9rem}.auto-fill-panel{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.auto-fill-panel h2,.auto-fill-panel p{margin-bottom:0}.auto-fill-group h3{margin:0}.auto-fill-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.suggestion-panel{background:#fffaf2;border:1px solid #d7c7af;border-radius:8px;margin-bottom:16px;padding:14px}.suggestion-list{max-height:430px;padding-right:2px;overflow:auto}.suggestion-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.suggestion-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.inline-form{gap:8px;display:grid}.elevated-form{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.sheet-form{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:18px}.primary-action,.secondary-action,.danger-action,.icon-text-button,.icon-button{min-height:44px;font:inherit;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding-inline:14px;font-weight:780;display:inline-flex}.primary-action{color:#fff;background:var(--accent)}.secondary-action,.icon-text-button{color:var(--text-strong);background:var(--subtle)}.danger-action{color:#fff;background:var(--danger)}.icon-button{width:44px;color:var(--muted);background:var(--subtle);padding:0}.primary-action:disabled,.secondary-action:disabled,.danger-action:disabled,.icon-text-button:disabled,.icon-button:disabled{cursor:wait;opacity:.58}.empty-hero{align-content:center;gap:14px;min-height:58svh;display:grid}.empty-hero p{max-width:560px}.spin{animation:1s linear infinite spin}.error-text{color:#ffd4d4;margin:14px 0 0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{transform:scale(1.05)}}@media (width<=459px){.practice-actions,.auto-fill-actions,.suggestion-actions,.row-actions{grid-template-columns:1fr}.practice-header{padding:14px}.word-stage{height:clamp(200px,32svh,300px);padding:24px 14px}.word-text{font-size:clamp(2.35rem,15cqw,4.8rem)}.word-text.long{font-size:clamp(1.85rem,11cqw,3.65rem)}.word-text.compact{font-size:clamp(1.3rem,8.5cqw,2.8rem)}.answer-reveal{min-height:74px;margin-top:22px}.practice-actions{gap:8px;padding:10px}.practice-actions .primary-action,.practice-actions .secondary-action,.practice-actions .danger-action,.practice-actions .action-spacer{gap:6px;min-height:46px;padding-inline:12px;font-size:.96rem}}@media (width<=759px){.practice-sidebar{display:none}.above-hint{z-index:1;border:1px solid color-mix(in srgb, var(--border) 82%, white);width:36px;height:20px;color:var(--muted);background:color-mix(in srgb, var(--surface) 86%, white);border-radius:999px;place-items:center;font-size:.9rem;font-weight:800;line-height:1;display:grid;position:absolute;top:5px;left:50%;transform:translate(-50%);box-shadow:0 8px 18px #352d2214}}@media (width<=759px) and (height<=700px){.practice-header{gap:10px;padding:13px}.practice-header h1{font-size:clamp(1.6rem,8vw,2.15rem)}.word-stage{height:clamp(180px,30svh,245px);padding-block:22px}.word-text{font-size:clamp(2.15rem,14cqw,4.2rem)}.word-text.long{font-size:clamp(1.65rem,10cqw,3.25rem)}.word-text.compact{font-size:clamp(1.2rem,7.8cqw,2.45rem)}.answer-reveal{min-height:62px;margin-top:18px}}@media (width<=759px) and (height>=780px){.word-stage{height:clamp(255px,38svh,380px)}}@media (width>=760px){.signin-screen{background:linear-gradient(90deg,#081c1fe6 0%,#081c1fa8 35%,#081c1f1a 68%),url(/lingoloop-login-hero.png) 50%/cover,#f4f7f3;align-items:center;padding:48px}.app-shell{padding:24px}.app-topbar,.primary-nav{margin-bottom:18px}.metric-row{grid-template-columns:repeat(4,1fr)}.dashboard-columns{grid-template-columns:minmax(0,1fr) 360px;align-items:start}.inline-form{grid-template-columns:1.1fr .9fr 1fr;align-items:end}.inline-form .checkbox-row,.inline-form .primary-action{grid-column:1/-1}.split-actions{grid-template-columns:1fr 1fr}.onboarding-screen{grid-template-columns:minmax(0,.88fr) minmax(380px,.68fr);gap:28px}.onboarding-review{grid-template-columns:minmax(0,.58fr) minmax(420px,.78fr);gap:28px}.onboarding-copy{padding-top:52px}.onboarding-review-actions{grid-template-columns:minmax(0,.85fr) minmax(0,.95fr) minmax(0,1.1fr)}.auto-fill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-row,.deck-row{grid-template-columns:1fr auto;align-items:center}.editing-row{grid-template-columns:1fr}.edit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.entry-row .edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=980px){.practice-layout{grid-template-columns:minmax(0,1fr) minmax(280px,310px);align-items:start}}@media (width>=1120px){.practice-header{grid-template-columns:minmax(260px,1fr) minmax(320px,.72fr);align-items:center}}
