/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-bold:700;--font-weight-extrabold:800;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base;@layer components{:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f7f1;--surface:#fffef8;--soft:#eceee5;--line:#ccd9ce;--ink:#153e33;--muted:#536d5d;--tint:#1c694e;--tint-hover:#153e33;--action:#1c694e;--on-action:#fff;--selection-surface:#f5e8af;--selection:#f5e8af;--selection-ink:#153e33;--success:#2e6d50;--success-bg:#e0efe4;--success-border:#6b8375;--error:#ab3e38;--error-bg:#f9e8e4;--error-border:#ab3e38;--chart-car:#a9402c;--chart-bus:#1c694e;--chart-bike:#536d5d;--shadow-small:#20372f12;--shadow-card:#20372f0a;--shadow-modal:#10231b33;--scrim:#10231b66;--device-border:#153e33;--hero:#def0e4;--on-hero:#153e33;--hero-muted:#526a5d;--lavender:#cbe8d7;--on-lavender:#153e33;--rose:#def0e4;--on-rose:#1c694e;--mint:#def0e4;--mint-strong:#cbe8d7;--accent:#df725e;--accent-text:#a9402c;--word-pending:#80958a;--raised:#fff;--disabled:#e0e3da;--disabled-text:#7e887f;--focus:#1c694e;--apple-artwork-background:#000}:root[data-theme=dark],[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101d19;--surface:#182923;--soft:#23332b;--line:#405c4e;--ink:#e8f1e8;--muted:#a1b7a8;--tint:#b6dcc2;--tint-hover:#e8f1e8;--action:#b6dcc2;--on-action:#14251d;--selection-surface:#4b4328;--selection:#4b4328;--selection-ink:#f5e8af;--success:#90c9a6;--success-bg:#213d2d;--success-border:#829d8b;--error:#f2a39b;--error-bg:#442a29;--error-border:#f2a39b;--chart-car:#f6a28f;--chart-bus:#b6dcc2;--chart-bike:#a1b7a8;--shadow-small:#00000030;--shadow-card:#00000020;--shadow-modal:#0006;--scrim:#020a07a3;--device-border:#829d8b;--hero:#243e32;--on-hero:#e8f1e8;--hero-muted:#b1c5b8;--lavender:#30533f;--on-lavender:#e8f1e8;--rose:#243e32;--on-rose:#b6dcc2;--mint:#243e32;--mint-strong:#30533f;--accent:#f28c76;--accent-text:#f6a28f;--word-pending:#89a394;--raised:#21372f;--disabled:#2b3a31;--disabled-text:#819586;--focus:#f1d37d;--apple-artwork-background:#000}:root{color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--display-font:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "PingFang SC", sans-serif;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,-system-ui,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*,:before,:after{box-sizing:border-box}html,body{height:100%;color:var(--ink);background:var(--bg);margin:0;padding:0;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line);border-radius:980px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}::selection{background:var(--selection);color:var(--selection-ink)}h1,h2,h3,h4,h5,h6,p{margin:0}h1{letter-spacing:-.025em;font-size:28px;font-weight:700;line-height:1.2}h2{letter-spacing:-.018em;font-size:20px;font-weight:650;line-height:1.25}h3{letter-spacing:-.012em;font-size:16px;font-weight:600;line-height:1.3}h4{letter-spacing:-.008em;font-size:14px;font-weight:600}p{letter-spacing:-.006em;font-size:14.5px;line-height:1.55}.serif{font-family:var(--display-font)}.monospace,kbd,code{font-family:ui-monospace,SF Mono,Menlo,Monaco,Consolas,monospace}kbd{color:var(--muted);background:var(--soft);border:1px solid var(--line);box-shadow:0 1px 1px var(--shadow-small);border-radius:5px;justify-content:center;align-items:center;padding:2px 6px;font-size:11px;font-weight:550;display:inline-flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:650;display:inline-block}.muted,.quiet-label{color:var(--muted)}.quiet-label{font-size:12.5px}.center{text-align:center}.caption{color:var(--muted);font-size:12px;line-height:1.5}.danger-text{color:var(--error)}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;outline:none;transition:all .2s cubic-bezier(.16,1,.3,1)}button:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.button{letter-spacing:-.01em;white-space:nowrap;box-sizing:border-box;border-radius:980px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;font-weight:550;display:inline-flex}.button:active{transform:scale(.975)}.button-primary{background:var(--action);color:var(--on-action);box-shadow:0 2px 8px -1px var(--shadow-small)}.button-primary:hover{background:var(--tint-hover)}.button-secondary:hover{background:var(--line)}.button-ghost{color:var(--tint);background:0 0}.button-ghost:hover{background:var(--selection-surface)}.button-danger{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.button-danger:hover{background:var(--error);color:var(--on-action)}.icon-button{width:36px;height:36px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .18s;display:inline-flex}.icon-button:hover{background:var(--soft);color:var(--ink)}.icon-button:active{transform:scale(.94)}.quiet-button{color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .18s;display:inline-flex}.quiet-button:hover{color:var(--ink);background:var(--soft)}.text-link{color:var(--tint);align-items:center;gap:4px;font-size:13px;font-weight:550;display:inline-flex}.text-link:hover{text-decoration:underline}.tag{background:var(--soft);color:var(--muted);border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;font-weight:550;display:inline-flex}input,textarea,select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:10px;outline:none;padding:9px 13px;font-size:14px;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.75}input:focus,textarea:focus,select:focus{border-color:var(--tint);box-shadow:0 0 0 3px var(--selection-surface)}select{cursor:pointer}.form-label{color:var(--ink);flex-direction:column;gap:6px;margin-bottom:14px;font-size:13px;font-weight:550;display:flex}.switch{background:var(--line);cursor:pointer;box-sizing:border-box;border-radius:980px;flex-shrink:0;align-items:center;width:44px;height:26px;padding:2px;transition:background .25s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.switch>span{background:var(--surface);width:22px;height:22px;box-shadow:0 2px 4px var(--shadow-small);border-radius:50%;transition:transform .25s cubic-bezier(.16,1,.3,1);display:block}.switch.on>span{transform:translate(18px)}.progress-track{background:var(--soft);border-radius:980px;width:100%;height:6px;position:relative;overflow:hidden}.progress-track>span{background:var(--tint);border-radius:980px;height:100%;transition:width .35s cubic-bezier(.16,1,.3,1);display:block}.success-mark{background:var(--success-bg);border:1px solid var(--success-border);width:52px;height:52px;color:var(--success);box-shadow:0 4px 12px var(--shadow-small);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.skip-link{background:var(--tint);color:var(--on-action);z-index:100;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:550;transition:top .2s;position:absolute;top:-60px;left:16px}.skip-link:focus{top:16px}.app-shell{background:var(--bg);min-height:100vh;color:var(--ink);display:flex;position:relative}.sidebar{background:var(--soft);border-right:1px solid var(--line);box-sizing:border-box;z-index:10;flex-direction:column;flex-shrink:0;justify-content:space-between;width:236px;padding:24px 16px 20px;display:flex;position:relative}.sidebar>.brand-button{text-align:left;border-radius:12px;margin-bottom:24px;padding:4px 8px}.sidebar>.brand-button:hover{background:var(--surface)}.brand{letter-spacing:-.03em;color:var(--ink);align-items:center;gap:12px;font-size:19px;font-weight:700;display:flex}.brand-small{gap:8px;font-size:16px}.brand-mark{background:var(--ink);width:34px;height:34px;color:var(--surface);box-shadow:0 4px 12px var(--shadow-small);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-small .brand-mark{border-radius:8px;width:28px;height:28px}.brand-mark svg{width:24px;height:24px}.sidebar>nav{flex-direction:column;flex:1;gap:3px;display:flex}.nav-item{height:40px;color:var(--muted);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:13.5px;font-weight:500;transition:all .16s;display:flex;position:relative}.nav-item svg{color:var(--muted);transition:color .16s}.nav-item:hover{background:var(--surface);color:var(--ink)}.nav-item:hover svg{color:var(--ink)}.nav-item.active{background:var(--selection-surface);color:var(--tint);font-weight:600}.nav-item.active svg{color:var(--tint)}.nav-count{background:var(--selection);color:var(--tint);border-radius:980px;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600}.sidebar-bottom{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:auto;padding-top:16px;display:flex}.design-links{gap:6px;margin-bottom:6px;display:flex}.design-links button{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 6px;font-size:11.5px;font-weight:550;display:inline-flex}.design-links button:hover,.design-links button.active{color:var(--tint);border-color:var(--tint);background:var(--selection-surface)}.local-account{background:var(--surface);border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;font-weight:550;transition:all .18s;display:flex}.local-account:hover{border-color:var(--muted)}.local-account>span{flex-direction:column;flex:1;display:flex}.local-account small{color:var(--muted);align-items:center;gap:5px;margin-top:1px;font-size:10.5px;font-weight:400;display:flex}.avatar{background:var(--tint);width:28px;height:28px;color:var(--on-action);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:650;display:flex}.avatar-small{width:24px;height:24px;font-size:11px}.avatar-large{width:56px;height:56px;font-size:22px}.status-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.app-main{background:var(--bg);flex-direction:column;flex:1;min-width:0;height:100vh;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:var(--bg);z-index:15;flex-shrink:0;justify-content:space-between;align-items:center;height:54px;padding:0 32px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.breadcrumbs span{color:var(--ink);font-weight:600}.topbar-actions{align-items:center;gap:8px;display:flex}.search-trigger{background:var(--surface);border:1px solid var(--line);color:var(--muted);box-shadow:0 1px 2px var(--shadow-small);cursor:pointer;border-radius:980px;align-items:center;gap:8px;padding:6px 12px;font-size:12.5px;font-weight:450;transition:all .18s;display:flex}.search-trigger:hover{border-color:var(--tint);color:var(--ink)}.topbar-divider{background:var(--line);width:1px;height:20px;margin:0 4px}.sync-status{color:var(--muted);background:var(--soft);border:1px solid var(--line);cursor:pointer;border-radius:980px;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .18s;display:inline-flex}.sync-status:hover{color:var(--ink);border-color:var(--muted)}.offline-banner{background:var(--error-bg);color:var(--error);border-bottom:1px solid var(--error-border);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:12.5px;display:flex}.content{box-sizing:border-box;flex:1;padding:32px 40px 60px;overflow-y:auto}.page{max-width:960px;margin:0 auto}.page-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-heading h1{margin-top:2px;margin-bottom:4px}.page-heading p{color:var(--muted);font-size:14px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-heading h2{letter-spacing:-.015em;font-size:18px;font-weight:650}.page-footnote{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:6px;margin-top:40px;font-size:12px;display:flex}.today-page{flex-direction:column;gap:24px;display:flex}.today-intro{justify-content:space-between;align-items:center;display:flex}.today-intro p{color:var(--muted);font-size:14.5px}.goal-pill{background:var(--surface);border:1px solid var(--line);color:var(--ink);box-shadow:0 1px 3px var(--shadow-small);cursor:pointer;border-radius:980px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.goal-pill:hover{border-color:var(--tint);color:var(--tint)}.study-start{background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 20px -2px var(--shadow-card);border-radius:20px;justify-content:space-between;align-items:center;gap:20px;padding:26px 30px;transition:box-shadow .2s;display:flex}.study-start-copy{align-items:center;gap:18px;display:flex}.study-symbol{background:var(--selection-surface);width:52px;height:52px;color:var(--tint);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.study-start-copy h2{letter-spacing:-.02em;margin-bottom:4px;font-size:20px;font-weight:700}.study-start-copy p{color:var(--muted);font-size:14px}.study-start-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.today-grid{grid-template-columns:1.7fr 1fr;gap:20px;display:grid}.journey-panel,.daily-panel,.recent-panel,.writing-invite{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 10px -2px var(--shadow-card);border-radius:18px;padding:22px 24px}.journey-steps{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;display:grid}.journey-steps>button{background:var(--soft);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;padding:16px 14px;transition:all .2s;display:flex;position:relative}.journey-steps>button:hover{background:var(--surface);border-color:var(--tint);box-shadow:0 6px 16px -2px var(--shadow-small);transform:translateY(-2px)}.step-icon{background:var(--selection-surface);width:38px;height:38px;color:var(--tint);border-radius:10px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.step-icon.peach{background:var(--selection-surface);color:var(--chart-car)}.step-icon.sage{background:var(--success-bg);color:var(--success)}.journey-steps h3{margin-bottom:4px;font-size:15px;font-weight:650}.journey-steps p{color:var(--muted);margin-bottom:12px;font-size:12px;line-height:1.4}.step-stat{color:var(--muted);align-items:baseline;gap:4px;margin-top:auto;font-size:11.5px;display:flex}.step-stat strong{color:var(--ink);font-size:18px;font-weight:700}.step-stat svg{color:var(--muted);margin-left:auto}.daily-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.daily-head button{color:var(--muted);border-radius:6px;padding:4px}.daily-head button:hover{background:var(--soft);color:var(--ink)}.daily-progress{align-items:center;gap:16px;margin-bottom:20px;display:flex}.progress-ring{flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative}.progress-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-ring .ring-background{fill:none;stroke:var(--soft);stroke-width:8px}.progress-ring .ring-value{fill:none;stroke:var(--tint);stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray .5s}.progress-ring span{text-align:center;flex-direction:column;align-items:center;display:flex;position:absolute}.progress-ring strong{font-size:16px;font-weight:750;line-height:1}.progress-ring small{color:var(--muted);margin-top:1px;font-size:9px}.daily-progress>div:last-child strong{margin-bottom:3px;font-size:14.5px;font-weight:650;display:block}.daily-progress>div:last-child p{color:var(--muted);font-size:12.5px}.week-strip{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:8px;padding-top:14px;display:flex}.week-strip>div{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.week-bar{background:var(--soft);border-radius:980px;align-items:flex-end;width:8px;height:36px;display:flex;overflow:hidden}.week-bar>i{background:var(--tint);border-radius:980px;width:100%;transition:height .3s;display:block}.week-strip small{color:var(--muted);font-size:11px;font-weight:500}.week-strip>div.current small{color:var(--tint);font-weight:700}.word-rows{flex-direction:column;gap:8px;margin-top:12px;display:flex}.word-row{background:var(--soft);cursor:pointer;text-align:left;border:1px solid #0000;border-radius:10px;align-items:center;gap:14px;padding:10px 14px;transition:all .18s;display:flex}.word-row:hover{background:var(--surface);border-color:var(--line);box-shadow:0 2px 8px var(--shadow-small);transform:translate(3px)}.word-row-en{letter-spacing:-.01em;min-width:110px;font-size:15px;font-weight:650}.word-row-meaning{color:var(--muted);flex:1;align-items:center;gap:6px;font-size:13px;display:flex}.word-row-meaning small{background:var(--line);color:var(--muted);border-radius:4px;padding:1px 5px;font-size:11px}.word-row-topic{background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:980px;padding:2px 8px;font-size:11px}.word-row svg{color:var(--muted)}.writing-invite{flex-direction:column;display:flex}.writing-invite-icon{background:var(--selection-surface);width:44px;height:44px;color:var(--tint);border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:flex}.writing-invite h3{margin-bottom:6px;font-size:17px;font-weight:650}.writing-invite p{color:var(--muted);flex:1;margin-bottom:16px;font-size:13px;line-height:1.5}.practice-page{max-width:760px;margin:0 auto}.topic-tabs{gap:6px;margin-bottom:24px;padding-bottom:4px;display:flex;overflow-x:auto}.topic-tabs>button{color:var(--muted);background:var(--surface);border:1px solid var(--line);white-space:nowrap;border-radius:980px;padding:7px 16px;font-size:13px;font-weight:550}.topic-tabs>button:hover{color:var(--ink);border-color:var(--muted)}.topic-tabs>button[aria-selected=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.practice-card{background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 32px -4px var(--shadow-card);border-radius:24px;padding:32px 36px}.practice-card-top{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:12.5px;display:flex}.practice-card-top>span:first-child{align-items:center;gap:6px;font-weight:550;display:flex}.practice-separator{opacity:.5;margin:0 2px}.practice-word-area{text-align:center;margin:28px 0 24px;position:relative}.word-controls{gap:6px;display:flex;position:absolute;top:0;right:0}.typing-word{letter-spacing:-.02em;flex-wrap:wrap;justify-content:center;align-items:center;gap:1px;min-height:54px;margin:12px 0 8px;font-size:46px;font-weight:750;line-height:1.15;display:flex}.typing-word span{transition:color .12s}.typed-correct{color:var(--tint)}.typed-wrong{color:var(--error);-webkit-text-decoration:underline wavy var(--error);-webkit-text-decoration:underline wavy var(--error);-webkit-text-decoration:underline wavy var(--error);text-decoration:underline wavy var(--error)}.typing-word.completed{color:var(--success)}.pronunciation{color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-family:ui-monospace,SF Mono,monospace;font-size:15px;display:inline-flex}.pronunciation button{background:var(--soft);width:30px;height:30px;color:var(--tint);border-radius:50%;justify-content:center;align-items:center;transition:all .16s;display:inline-flex}.pronunciation button:hover{background:var(--selection-surface);transform:scale(1.08)}.practice-meaning{color:var(--ink);justify-content:center;align-items:center;gap:8px;margin-bottom:24px;font-size:16px;font-weight:500;display:flex}.practice-meaning span{background:var(--soft);color:var(--muted);border-radius:5px;padding:2px 7px;font-size:12px;font-weight:600}.typing-input-wrap{background:var(--soft);border:2px solid var(--line);max-width:440px;box-shadow:inset 0 1px 2px var(--shadow-small);border-radius:14px;align-items:center;gap:12px;margin:0 auto 12px;padding:8px 16px;transition:all .2s;display:flex}.typing-input-wrap svg{color:var(--muted)}.typing-input-wrap input{letter-spacing:-.01em;min-width:0;color:var(--ink);background:0 0;border:0;border-radius:0;flex:1;padding:6px 0;font-size:18px;font-weight:600}.typing-input-wrap input:focus,.typing-input-wrap input:focus-visible{box-shadow:none;outline:none}.typing-input-wrap:focus-within{border-color:var(--tint);background:var(--surface);box-shadow:0 0 0 4px var(--selection-surface)}.typing-input-wrap.has-error{border-color:var(--error);background:var(--error-bg)}.typing-input-wrap.is-complete{border-color:var(--success);background:var(--success-bg)}.typing-input-wrap.is-complete svg{color:var(--success)}.typing-hint{color:var(--muted);margin-top:8px;font-size:12.5px}.practice-phrase{background:var(--soft);border:1px solid var(--line);text-align:left;border-radius:14px;margin-top:24px;padding:16px 20px}.practice-phrase button{color:var(--ink);align-items:center;gap:8px;margin-bottom:4px;font-size:15px;font-weight:650;display:inline-flex}.practice-phrase button:hover{color:var(--tint)}.practice-phrase p{color:var(--muted);font-size:13px}.practice-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;display:flex}.practice-footer{color:var(--muted);justify-content:space-between;align-items:center;margin-top:20px;font-size:12px;display:flex}.practice-footer span{align-items:center;gap:6px;display:inline-flex}.focus-page{text-align:center;max-width:600px;margin:40px auto}.completion{background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 32px -4px var(--shadow-card);border-radius:24px;padding:44px 36px}.completion h1{margin:12px 0 8px;font-size:26px;font-weight:700}.completion p{color:var(--muted);font-size:14.5px;line-height:1.6}.completion-word-cloud{flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0;display:flex}.completion-word-cloud button{background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:980px;padding:6px 14px;font-size:13px;font-weight:550}.completion-word-cloud button:hover{border-color:var(--tint);color:var(--tint);background:var(--selection-surface)}.completion-actions{justify-content:center;gap:12px;margin-bottom:16px;display:flex}.review-page{max-width:760px;margin:0 auto}.review-lobby,.review-session{background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 30px -4px var(--shadow-card);border-radius:24px;padding:32px 36px}.review-mode-picker{background:var(--soft);border-radius:12px;gap:4px;margin-bottom:24px;padding:4px;display:inline-flex}.review-mode-picker button{color:var(--muted);border-radius:9px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:550;display:inline-flex}.review-mode-picker button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px var(--shadow-small);font-weight:650}.review-question{text-align:center;padding:24px 0 32px}.review-question h2{letter-spacing:-.02em;margin:10px 0;font-size:26px;font-weight:700}.listening-wave-btn{background:var(--selection-surface);width:72px;height:72px;color:var(--tint);box-shadow:0 4px 16px var(--shadow-small);border-radius:50%;justify-content:center;align-items:center;margin:12px 0;transition:transform .2s;display:inline-flex}.listening-wave-btn:hover{transform:scale(1.08)}.review-choices{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px;display:grid}.review-choice{background:var(--soft);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:14px;padding:16px 20px;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.review-choice:hover:not(:disabled){background:var(--surface);border-color:var(--tint);box-shadow:0 4px 14px var(--shadow-small);transform:translateY(-2px)}.choice-index{background:var(--surface);border:1px solid var(--line);width:28px;height:28px;color:var(--muted);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.review-choice strong{color:var(--ink);font-size:16px;font-weight:650}.review-choice.choice-correct .choice-index{background:var(--success);color:var(--on-action);border-color:var(--success)}.review-choice.choice-wrong .choice-index{background:var(--error);color:var(--on-action);border-color:var(--error)}.choice-muted{opacity:.4}.review-next{justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;display:flex}.writing-page{max-width:1040px;margin:0 auto}.writing-nav{background:var(--soft);border-radius:12px;gap:4px;margin-bottom:20px;padding:4px;display:inline-flex}.writing-nav>button{color:var(--muted);border-radius:9px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:550;display:inline-flex}.writing-nav>button:hover{color:var(--ink)}.writing-nav>button.active{background:var(--surface);color:var(--ink);box-shadow:0 2px 6px var(--shadow-small);font-weight:650}.writing-nav>button span{background:var(--line);color:var(--muted);border-radius:980px;padding:1px 6px;font-size:11px}.writing-topic-bar{background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 18px;font-size:13px;display:flex}.writing-topic-bar>div:first-child{align-items:center;gap:8px;display:flex}.topic-dot{background:var(--tint);border-radius:50%;width:8px;height:8px}.writing-workspace{grid-template-columns:1fr 1.35fr;align-items:start;gap:24px;display:grid}.writing-support{flex-direction:column;gap:18px;display:flex}.prompt-instruction,.chart-card,.support-phrase,.support-word{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 10px -2px var(--shadow-card);border-radius:18px;padding:20px 22px}.prompt-heading h3{margin-bottom:8px;font-size:17px;font-weight:700}.chart-card{flex-direction:column;gap:12px;display:flex}.chart-head{color:var(--muted);justify-content:space-between;font-size:12.5px;display:flex}.chart-head strong{color:var(--ink)}.chart-card svg{width:100%;height:auto}.chart-legend{color:var(--muted);align-items:center;gap:16px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:50%;width:10px;height:10px;display:inline-block}.support-body{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.support-body button{background:var(--soft);border:1px solid var(--line);color:var(--ink);border-radius:980px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:550;transition:all .16s;display:inline-flex}.support-body button:hover{border-color:var(--tint);background:var(--selection-surface);color:var(--tint)}.writing-main-column{background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 20px -2px var(--shadow-card);border-radius:20px;flex-direction:column;gap:16px;padding:24px;display:flex}.editor-toolbar{color:var(--muted);justify-content:space-between;align-items:center;font-size:12.5px;display:flex}.editor-panel textarea{border:1px solid var(--line);width:100%;min-height:280px;color:var(--ink);background:var(--bg);resize:vertical;border-radius:14px;padding:18px;font-family:inherit;font-size:15px;line-height:1.65}.editor-panel textarea:focus{border-color:var(--tint);background:var(--surface);box-shadow:0 0 0 3px var(--selection-surface)}.editor-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.editor-actions>div{gap:8px;display:flex}.feedback-panel{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.feedback-title{align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:650;display:flex}.feedback-issues{flex-direction:column;gap:10px;display:flex}.feedback-issue{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;font-size:13px;display:flex}.correction-pair{align-items:center;gap:8px;display:flex}.correction-pair del{color:var(--error)}.correction-pair ins{color:var(--success);font-weight:600;text-decoration:none}.writing-history{flex-direction:column;gap:10px;display:flex}.history-row{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:16px;padding:16px 20px;transition:all .18s;display:flex}.history-row:hover{border-color:var(--tint);box-shadow:0 4px 14px var(--shadow-small);transform:translateY(-2px)}.history-icon{background:var(--selection-surface);width:40px;height:40px;color:var(--tint);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.history-row>span:nth-child(2){flex-direction:column;flex:1;gap:2px;display:flex}.history-row strong{font-size:15px;font-weight:650}.history-row small{color:var(--muted);font-size:12.5px}.history-meta{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.library-page{flex-direction:column;gap:20px;display:flex}.library-tools{flex-direction:column;gap:12px;display:flex}.search-field{background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 3px var(--shadow-small);border-radius:12px;align-items:center;gap:10px;padding:8px 14px;display:flex}.search-field svg{color:var(--muted)}.search-field input{background:0 0;border:0;flex:1;padding:4px 0}.search-field input:focus{box-shadow:none}.topic-filters{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.topic-filters button{color:var(--muted);background:var(--soft);border:1px solid var(--line);white-space:nowrap;border-radius:980px;padding:6px 14px;font-size:12.5px;font-weight:550}.topic-filters button:hover{color:var(--ink)}.topic-filters button.active{background:var(--ink);color:var(--surface);border-color:var(--ink)}.vocabulary-table{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 10px -2px var(--shadow-card);border-radius:18px;overflow:hidden}.vocabulary-table-head,.vocabulary-row{grid-template-columns:1.2fr 2fr 1fr 1fr 80px;align-items:center;padding:12px 20px;font-size:13px;display:grid}.vocabulary-table-head{background:var(--soft);color:var(--muted);border-bottom:1px solid var(--line);font-weight:600}.vocabulary-row{border-bottom:1px solid var(--line);cursor:pointer;transition:background .16s}.vocabulary-row:last-child{border-bottom:0}.vocabulary-row:hover{background:var(--soft)}.vocabulary-word{color:var(--ink);font-size:15px;font-weight:650}.vocabulary-definition small{background:var(--soft);color:var(--muted);border-radius:4px;margin-right:6px;padding:1px 5px;font-size:11px}.design-page{max-width:980px;margin:0 auto}.design-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.palette-intro{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:12px;align-items:center;gap:16px;margin-bottom:24px;padding:12px 18px;font-size:13px;display:flex}.palette-intro strong{color:var(--ink)}.palette-comparison{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:36px;display:grid}.palette-sample{background:var(--bg);color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 16px var(--shadow-card);border-radius:20px;padding:26px}.palette-mode{background:var(--soft);border-radius:980px;align-items:center;gap:6px;margin-bottom:14px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.palette-section{margin-bottom:32px}.palette-section-title{border-bottom:1px solid var(--line);align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:8px;display:flex}.palette-section-title h2{font-size:17px;font-weight:700}.palette-section-title span{color:var(--muted);font-size:11px;font-weight:600}.swatch-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.swatch{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 6px var(--shadow-small);border-radius:14px;flex-direction:column;gap:6px;padding:14px;display:flex}.swatch-colors{gap:6px;margin-bottom:6px;display:flex}.swatch-colors button{background:var(--soft);border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:6px 4px;font-size:10.5px;display:flex}.swatch-colors button i{border:1px solid var(--line);border-radius:6px;width:28px;height:28px;display:block}.swatch strong{font-size:13.5px;font-weight:600}.swatch code{color:var(--tint);font-size:11px}.prototype-page{max-width:980px;margin:0 auto}.prototype-heading{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.prototype-workspace{grid-template-columns:240px 1fr;align-items:start;gap:32px;display:grid}.prototype-nav{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 10px -2px var(--shadow-card);border-radius:18px;flex-direction:column;gap:4px;padding:14px;display:flex}.prototype-nav>button{color:var(--muted);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13.5px;font-weight:550;display:flex}.prototype-nav>button:hover{background:var(--soft);color:var(--ink)}.prototype-nav>button.active{background:var(--selection-surface);color:var(--tint);font-weight:650}.prototype-notes{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:6px;margin-top:14px;padding-top:14px;font-size:12px;display:flex}.prototype-notes strong{color:var(--ink)}.prototype-notes a{color:var(--tint);align-items:center;gap:4px;font-weight:550;display:inline-flex}.prototype-stage{flex-direction:column;align-items:center;gap:16px;display:flex}.prototype-toolbar{align-items:center;gap:12px;display:flex}.prototype-picture{background:var(--device-border);box-shadow:0 16px 48px -8px var(--shadow-modal);border-radius:46px;padding:10px;position:relative}.native-screenshot{border-radius:38px;width:320px;height:auto;display:block}.prototype-zoom-button{background:var(--surface);width:40px;height:40px;color:var(--ink);box-shadow:0 4px 12px var(--shadow-small);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:24px;right:24px}.settings-page{max-width:680px;margin:0 auto}.settings-layout{flex-direction:column;gap:24px;display:flex}.settings-profile{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 8px var(--shadow-card);border-radius:18px;align-items:center;gap:16px;padding:20px 24px;display:flex}.profile-stats{color:var(--muted);gap:16px;margin-left:auto;font-size:12.5px;display:flex}.profile-stats strong{color:var(--ink);font-size:15px}.settings-sections{flex-direction:column;gap:20px;display:flex}.settings-section{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 8px var(--shadow-card);border-radius:18px;overflow:hidden}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 20px;font-size:14px;display:flex}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{flex-direction:column;gap:2px;display:flex}.setting-row small{color:var(--muted);font-size:12px}.appearance-picker{background:var(--soft);border-radius:10px;gap:4px;padding:3px;display:inline-flex}.appearance-picker button{color:var(--muted);border-radius:7px;padding:6px 14px;font-size:12.5px;font-weight:550}.appearance-picker button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow-small)}.data-actions{gap:10px;display:flex}.modal-backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:100;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--line);width:100%;max-width:480px;box-shadow:0 20px 50px -10px var(--shadow-modal);box-sizing:border-box;border-radius:24px;padding:28px;animation:.25s cubic-bezier(.16,1,.3,1) modal-enter}@keyframes modal-enter{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.modal-footer{justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;display:flex}.toast{background:var(--ink);color:var(--surface);box-shadow:0 10px 30px -4px var(--shadow-modal);z-index:200;border-radius:980px;align-items:center;gap:10px;padding:10px 18px;font-size:13.5px;font-weight:550;animation:.25s cubic-bezier(.16,1,.3,1) toast-in;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast button{color:var(--surface);opacity:.7}.toast button:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.bottom-nav{display:none}@media (width<=680px),(width<=900px) and (hover:none){.sidebar{display:none}.app-main{height:auto;min-height:100vh}.content{padding:20px 16px 84px}.today-intro{flex-direction:column;align-items:flex-start;gap:12px}.today-grid,.today-lower,.writing-workspace,.journey-steps,.review-choices{grid-template-columns:1fr}.study-start{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.study-start-actions{justify-content:flex-start;gap:10px;width:100%}.bottom-nav{background:var(--surface);border-top:1px solid var(--line);height:60px;padding-bottom:env(safe-area-inset-bottom);z-index:50;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav :is(button,a){color:var(--muted);flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:550;display:flex}.bottom-nav :is(button,a).active{color:var(--tint)}}.app-shell.mobile .today-intro,.app-shell.phone-frame .today-intro{flex-direction:column;align-items:flex-start;gap:12px}.app-shell.mobile .today-grid,.app-shell.mobile .today-lower,.app-shell.mobile .writing-workspace,.app-shell.phone-frame .today-grid,.app-shell.phone-frame .today-lower,.app-shell.phone-frame .writing-workspace,.app-shell.mobile .journey-steps,.app-shell.phone-frame .journey-steps,.app-shell.mobile .review-choices,.app-shell.phone-frame .review-choices{grid-template-columns:1fr}.app-shell.mobile .study-start,.app-shell.phone-frame .study-start{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.app-shell.mobile .study-start-actions,.app-shell.phone-frame .study-start-actions{justify-content:flex-start;gap:10px;width:100%}.app-shell.mobile .bottom-nav,.app-shell.phone-frame .bottom-nav{background:var(--surface);border-top:1px solid var(--line);height:60px;padding-bottom:env(safe-area-inset-bottom);z-index:50;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.app-shell.phone-frame .bottom-nav{position:absolute}.app-shell.mobile .bottom-nav :is(button,a),.app-shell.phone-frame .bottom-nav :is(button,a){color:var(--muted);flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:550;display:flex}.app-shell.mobile .bottom-nav :is(button,a).active,.app-shell.phone-frame .bottom-nav :is(button,a).active{color:var(--tint)}.device-stage{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.preview-controls{align-items:center;gap:16px;margin-bottom:20px;font-size:13.5px;font-weight:600;display:flex}.phone-frame{border:12px solid var(--device-border);width:390px;height:844px;box-shadow:0 25px 60px -10px var(--shadow-modal);border-radius:50px;position:relative;overflow:hidden}.phone-frame .content{padding-bottom:90px}.review-lobby-grid{grid-template-columns:1.35fr 1fr;align-items:start;gap:24px;display:grid}.review-start-panel,.review-aside{background:var(--surface);border:1px solid var(--line);box-shadow:0 4px 18px var(--shadow-card);border-radius:20px;padding:28px}.review-card-art{width:140px;height:100px;margin:0 auto 20px;position:relative}.art-card{border:1px solid var(--line);border-radius:14px;position:absolute;inset:0}.card-three{background:var(--soft);opacity:.4;transform:rotate(6deg)translateY(4px)}.card-two{background:var(--soft);opacity:.7;transform:rotate(-4deg)translateY(2px)}.card-one{background:var(--surface);color:var(--tint);box-shadow:0 4px 14px var(--shadow-small);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px;display:flex;transform:rotate(0)}.card-one .serif{color:var(--muted);font-size:11px;line-height:1.2}.card-one em{color:var(--ink);font-style:italic}.mini-review-stats{gap:10px;margin:18px 0;display:flex}.mini-review-stats>div{background:var(--soft);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:1;gap:3px;padding:12px 14px;display:flex}.mini-review-stats span{color:var(--muted);font-size:11.5px}.mini-review-stats strong{color:var(--ink);font-size:18px;font-weight:700}.expression-link{background:var(--soft);border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;border-radius:12px;align-items:center;gap:12px;width:100%;margin-top:14px;padding:14px 16px;font-size:13px;transition:all .18s;display:flex}.expression-link:hover{background:var(--surface);border-color:var(--tint);transform:translate(3px)}.expression-link svg{color:var(--tint);flex-shrink:0}.expression-link>span{flex-direction:column;flex:1;display:flex}.expression-link strong{font-size:13.5px;font-weight:600}.expression-link small{color:var(--muted);font-size:11.5px}.support-tabs{background:var(--soft);border-radius:10px;gap:4px;margin-bottom:16px;padding:3px;display:flex}.support-tabs button{color:var(--muted);border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:12.5px;font-weight:550;display:flex}.support-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow-small);font-weight:600}.tab-dot{background:var(--tint);border-radius:50%;width:6px;height:6px}.support-word{background:var(--surface);border:1px solid var(--line);box-shadow:0 2px 6px var(--shadow-card);border-radius:14px;margin-bottom:10px;padding:14px 16px;transition:all .18s}.support-word:hover{border-color:var(--tint)}.support-word>div:first-child{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.support-word button.serif{color:var(--ink);align-items:center;gap:4px;font-size:15px;font-weight:650;display:inline-flex}.support-word button.serif:hover{color:var(--tint)}.support-word p{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;font-size:12.5px;display:flex}.support-word p span{background:var(--soft);color:var(--muted);border-radius:4px;padding:1px 5px;font-size:11px}.support-phrase{color:var(--ink);background:var(--soft);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;display:block}.seen-badge{color:var(--success);align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:550;display:inline-flex}.editor-status{color:var(--muted);justify-content:space-between;align-items:center;padding:6px 4px 0;font-size:12.5px;display:flex}.editor-status span:first-child{align-items:center;gap:6px;display:flex}.status-dot.inactive{background:var(--muted);opacity:.5}.writing-nudge{background:var(--soft);color:var(--muted);border-radius:10px;align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.writing-nudge span{color:var(--tint);font-weight:700}.prototype-stage{flex-direction:column;align-items:center;gap:16px;display:flex;position:relative}.prototype-toolbar .segmented{background:var(--soft);border-radius:10px;gap:3px;padding:3px;display:inline-flex}.prototype-toolbar .segmented button{color:var(--muted);border-radius:7px;align-items:center;gap:5px;padding:6px 14px;font-size:12.5px;font-weight:550;display:inline-flex}.prototype-toolbar .segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow-small);font-weight:600}.prototype-toolbar .prototype-zoom-button{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:550;display:inline-flex;position:static}.app-shell{transition:background-color .25s}.practice-card,.study-start,.journey-panel,.daily-panel,.recent-panel{transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.sidebar{background:var(--bg);border-color:var(--line);width:204px;padding:28px 14px 16px}.sidebar>.brand-button{margin-bottom:40px}.brand{letter-spacing:-.045em;gap:9px;font-size:18px}.brand-mark{width:30px;height:30px;box-shadow:none;border-radius:9px}.nav-item{border-radius:10px;height:43px;margin:1px 0}.nav-item.active,.nav-item.active svg{background:var(--action);color:var(--on-action)}.nav-item.active .nav-count{background:var(--on-action);color:var(--action)}.sidebar-bottom{border:0;gap:10px}.design-links{width:auto;height:auto;color:var(--muted);background:0 0;border-radius:0;flex-direction:column;gap:3px;display:flex}.design-links button{text-align:left;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.design-links button.active{background:var(--selection-surface);color:var(--tint)}.local-account{border-top:1px solid var(--line);text-align:left;align-items:center;gap:10px;padding:14px 8px 2px;font-size:12px;display:flex}.local-account>span:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.local-account small{color:var(--muted);font-size:10px}.avatar{background:var(--selection-surface);width:29px;height:29px;color:var(--tint);border-radius:50%}.topbar{border-bottom:0;height:64px;padding:0 32px}.breadcrumbs{white-space:nowrap;font-size:12px}.search-trigger{box-shadow:none;background:var(--soft);white-space:nowrap;border:0;border-radius:9px}.sync-status{white-space:nowrap;background:0 0;border:0}.topbar-divider{display:none}h1{letter-spacing:-.045em;font-weight:600}.button{min-height:42px;box-shadow:none;border-radius:12px;padding:10px 18px;font-size:13px;font-weight:550}.button-primary:hover{background:var(--action);filter:brightness(1.15)}.button-secondary{border-color:var(--line);background:var(--surface)}.eyebrow{letter-spacing:.12em;font-size:10px;font-weight:550}.today-page{gap:26px}.today-intro{align-items:flex-end;gap:14px;margin-bottom:6px}.today-intro h1{letter-spacing:-.055em;margin:8px 0;font-size:clamp(25px,2.6vw,34px);font-weight:600}.today-intro p{font-size:13px}.goal-pill{box-shadow:none;background:0 0;padding:7px 10px;font-size:11px}.today-feature{grid-template-columns:minmax(0,1fr) 216px;gap:20px;display:grid}.study-start{background:var(--hero);min-height:278px;color:var(--on-hero);box-shadow:none;border:0;border-radius:24px;justify-content:space-between;gap:10px;padding:32px;display:flex;position:relative;overflow:hidden}.study-start:hover{box-shadow:none}.study-start-copy{z-index:1;flex-direction:column;align-items:flex-start;gap:0;display:flex;position:relative}.hero-kicker{letter-spacing:.16em;color:var(--hero-muted);margin-bottom:18px;font-size:9px}.study-start-copy h2{letter-spacing:-.045em;margin:0 0 12px;font-size:clamp(27px,2.5vw,36px);font-weight:500;line-height:1.38}.study-start-copy p{color:var(--hero-muted);max-width:280px;font-size:11px;line-height:1.8}.study-start-actions{align-items:center;gap:18px;margin-top:24px;display:flex}.study-start-actions .button{background:var(--lavender);color:var(--on-lavender)}.hero-secondary{color:var(--hero-muted);align-items:center;gap:4px;padding:8px 0;font-size:11px;display:flex}.word-stack{flex:0 0 146px;align-self:center;height:170px;margin:13px 12px 0 0;position:relative;transform:rotate(9deg)}.word-stack>span,.stack-front{border:1px solid var(--hero-muted);border-radius:16px;position:absolute;inset:0}.stack-back{opacity:.25;transform:rotate(-20deg)translate(-9px,2px)}.stack-middle{opacity:.5;transform:rotate(-10deg)translate(-5px,1px)}.stack-front{background:var(--lavender);color:var(--on-lavender);box-shadow:0 8px 24px var(--shadow-modal);border:0;flex-direction:column;justify-content:space-between;padding:18px 15px;display:flex}.stack-front>span{letter-spacing:.16em;font-size:8px}.stack-front strong{letter-spacing:-.09em;justify-content:space-between;align-items:baseline;font-size:58px;font-weight:450;display:flex}.stack-front strong span{font-size:19px}.stack-front small{letter-spacing:.08em;opacity:.7;border-top:1px solid;padding-top:11px;font-size:6px}.daily-panel{background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:24px;flex-direction:column;justify-content:space-between;padding:24px;display:flex}.daily-head{margin-bottom:10px}.daily-head h3{font-size:13px;font-weight:550}.daily-progress{justify-content:center;margin:0;display:flex}.progress-ring{width:108px;height:108px}.progress-ring strong{letter-spacing:-.06em;font-size:31px;font-weight:500}.progress-ring small{font-size:10px}.ring-value{stroke:var(--tint);stroke-linecap:round}.ring-background{stroke:var(--soft)}.week-strip{border:0;gap:7px;padding:10px 0 0}.week-strip small{font-size:9px}.week-strip .week-bar i{background:var(--tint);width:4px}.daily-note{color:var(--muted);text-align:center;margin-top:12px;font-size:10px}.learning-summary{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:2px 0 22px;display:grid}.learning-summary button{text-align:left;border-right:1px solid var(--line);align-items:baseline;gap:9px;padding:0 22px;display:flex}.learning-summary button:first-child{padding-left:2px}.learning-summary button:last-child{border:0}.learning-summary strong{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:29px;font-weight:450}.learning-summary span{color:var(--muted);font-size:11px}.learning-summary svg{color:var(--muted);margin-left:auto}.today-lower{grid-template-columns:minmax(0,1fr) 256px;gap:22px;display:grid}.recent-panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:4px 0}.section-heading{margin-bottom:14px}.section-heading .eyebrow:empty{display:none}.section-heading h2{font-size:16px;font-weight:600}.word-rows{border-top:1px solid var(--line)}.word-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.2fr 16px;align-items:center;gap:12px;width:100%;min-height:57px;display:grid}.word-row-en{letter-spacing:-.025em;font-size:17px;font-weight:500}.word-row-meaning{color:var(--muted);font-size:11px}.word-row-meaning small{margin-right:5px}.word-row-topic{display:none}.word-row>svg{color:var(--muted)}.writing-invite{box-shadow:none;background:var(--rose);color:var(--ink);border:0;border-radius:20px;padding:24px}.writing-invite-icon{color:var(--on-rose);background:0 0;width:auto;height:24px;margin-bottom:20px;padding:0}.writing-invite .eyebrow,.writing-invite .text-link{color:var(--on-rose)}.writing-invite h3{margin:8px 0;font-size:22px;font-weight:500}.writing-invite p{color:var(--muted);margin-bottom:20px;font-size:12px}.page-footnote{opacity:.8;margin-top:0;font-size:10px}.practice-card,.review-lobby,.review-session{border:1px solid var(--line);box-shadow:none;border-radius:24px}.practice-card{padding:28px 38px}.typing-word{letter-spacing:-.055em;font-size:54px;font-weight:500}.practice-phrase{background:var(--selection-surface);border:0;border-radius:14px}.review-lobby{background:0 0;border:0;padding:0}.review-start-panel{background:var(--selection-surface);box-shadow:none;border:0;padding:32px}.review-aside{box-shadow:none;background:0 0;border:0}.card-one{background:var(--lavender);color:var(--on-lavender)}.review-session{max-width:760px;padding:26px 32px}.session-heading,.review-meta,.review-meta>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.review-meta{color:var(--muted);font-size:11px}.review-question{padding:22px 0 0}.review-prompt{padding:22px 18px 28px}.review-prompt h1{margin:17px 0 22px;font-size:28px;font-weight:550;line-height:1.5}.review-prompt h1 small{color:var(--muted);margin-right:10px;font-size:12px}.audio-circle{background:var(--selection-surface);width:54px;height:54px;color:var(--tint);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.answer-phonetic{color:var(--muted);margin-top:12px;font-size:12px;display:block}.review-choice{background:var(--surface);border-radius:12px;min-height:66px;padding:16px}.review-choice>span:last-child{flex-direction:column;gap:7px;display:flex}.review-choice small{color:var(--muted);font-size:11px;line-height:1.5}.review-choice:disabled{opacity:1}.choice-index{background:var(--soft);border:0;width:26px;height:26px;font-weight:400}.review-choice.choice-correct .choice-index{background:var(--success-bg);color:var(--success)}.review-choice.choice-wrong .choice-index{background:var(--error-bg);color:var(--error)}.review-answer-note{padding:16px 0;font-size:12px;line-height:1.7}.writing-workspace{gap:22px}.writing-prompt{background:var(--rose);border:0;border-radius:18px;padding:26px}.writing-prompt .eyebrow{color:var(--on-rose)}.prompt-english{letter-spacing:-.02em;font-size:20px;font-weight:450;line-height:1.7}.editor-panel,.writing-support{box-shadow:none;border:1px solid var(--line);border-radius:18px}.editor-panel textarea{font-size:17px;line-height:1.85}.writing-nav{border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:18px;padding:0;display:flex}.writing-nav>button{background:0 0;border-bottom:2px solid #0000;border-radius:0;padding:12px 3px;font-size:12px}.writing-nav>button.active{box-shadow:none;border-color:var(--tint);color:var(--tint);background:0 0}.design-heading{gap:24px;margin:10px 0 24px}.design-heading h1{margin-bottom:12px;font-size:32px}.design-heading p{color:var(--muted);max-width:510px;font-size:13px}.design-direction{background:var(--hero);color:var(--on-hero);border-radius:22px;grid-template-columns:1.35fr 1fr;gap:24px;margin-bottom:26px;padding:30px;display:grid}.design-direction h2{letter-spacing:-.04em;margin:12px 0;font-size:30px;font-weight:450;line-height:1.45}.design-direction p{color:var(--hero-muted);font-size:12px}.direction-colors{align-items:center;gap:10px;padding:15px 0;display:flex}.direction-colors i{background:var(--on-hero);border-radius:50%;width:30px;height:30px}.direction-colors i:nth-child(2){background:var(--lavender)}.direction-colors i:nth-child(3){background:var(--rose)}.direction-reference{border-left:1px solid var(--hero-muted);align-self:center;padding-left:24px}.direction-reference a{color:var(--lavender);align-items:center;gap:5px;margin-top:15px;font-size:12px;display:inline-flex}.direction-reference strong{font-size:13px;font-weight:500}.palette-intro{background:0 0;border:0;padding:0;font-size:11px}.palette-sample{box-shadow:none;background:var(--bg);border-radius:20px}.palette-sample h2{margin-bottom:10px;font-size:24px;font-weight:500}.palette-sample p{color:var(--muted);font-size:12px}.sample-actions{flex-wrap:wrap;align-items:center;gap:13px;margin-top:22px;display:flex}.sample-actions>button{background:var(--action);color:var(--on-action);border-radius:10px;align-items:center;gap:10px;padding:12px 15px;font-size:12px;display:flex}.sample-correct,.sample-error{background:var(--success-bg);color:var(--success);border-radius:8px;align-items:center;gap:4px;padding:7px 9px;font-size:10px;display:flex}.sample-error{background:var(--error-bg);color:var(--error)}.swatch{box-shadow:none;padding:16px}.swatch-colors button{background:0 0;gap:8px}.swatch-colors button i{border-radius:8px;width:100%;height:48px}.swatch-colors button>span{width:100%}.swatch-colors small{color:var(--muted)}.content-app{padding-top:18px;overflow:hidden}.prototype-page{flex-direction:column;height:100%;display:flex}.prototype-heading{gap:15px;margin-bottom:22px}.prototype-heading h1{margin-bottom:8px;font-size:28px}.prototype-heading p{color:var(--muted);font-size:12px}.prototype-workspace{flex:1;grid-template-columns:170px minmax(0,1fr);gap:28px;min-height:0}.prototype-nav{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.prototype-nav>button{padding:11px 12px;font-size:12px}.prototype-notes{margin-top:18px;font-size:11px}.prototype-notes p{font-size:11px}.prototype-stage{background:var(--soft);border:1px solid var(--line);border-radius:24px;grid-template-rows:38px minmax(0,1fr) 30px;gap:16px;height:100%;min-height:0;padding:16px 24px;display:grid}.prototype-toolbar{justify-content:space-between;width:100%}.prototype-toolbar .segmented{background:var(--bg);border-radius:8px;padding:3px;display:flex}.prototype-toolbar .segmented button{color:var(--muted);border-radius:6px;align-items:center;gap:5px;padding:7px 9px;font-size:10px;display:flex}.prototype-toolbar .segmented button.active{background:var(--surface);color:var(--ink)}.prototype-toolbar .prototype-zoom-button{box-shadow:none;background:0 0;gap:5px;width:auto;height:auto;font-size:11px;display:flex;position:static}.prototype-picture{aspect-ratio:.462;background:var(--device-border);max-width:100%;height:100%;min-height:0;box-shadow:0 18px 34px var(--shadow-modal);border-radius:36px;justify-self:center;padding:6px;display:block}.native-screenshot{object-fit:contain;border-radius:30px;width:auto;max-width:100%;height:100%}.prototype-caption{justify-content:space-between;align-items:center;width:100%;display:flex}.prototype-caption>div{align-items:center;gap:10px;font-size:11px;display:flex}.prototype-caption span{color:var(--muted)}.prototype-zoom{justify-content:center;height:min(72vh,850px);display:flex}.prototype-zoom img{max-width:100%}@media (width<=1150px){.content{padding:22px 28px 40px}.today-feature{grid-template-columns:minmax(0,1fr) 188px;gap:16px}.study-start{padding:27px}.word-stack{flex-basis:112px;height:142px;margin-right:0}.stack-front{padding:15px 12px}.stack-front strong{font-size:46px}.stack-front small{font-size:5px}.today-lower{grid-template-columns:minmax(0,1fr) 215px}.writing-invite{padding:22px}.learning-summary button{gap:7px;padding:0 14px}}@media (width>=681px) and (width<=950px){.sidebar{width:170px;padding:24px 10px 14px}.brand{gap:7px;font-size:16px}.brand-mark{width:28px;height:28px}.content{padding:20px 22px 32px}.topbar{padding:0 22px}.search-trigger{padding:8px}.search-trigger span,.search-trigger kbd,.sync-status span{display:none}.topbar-actions{gap:3px}.today-feature{grid-template-columns:1fr}.study-start{min-height:260px;padding:30px}.study-start-copy h2{font-size:32px}.word-stack{flex-basis:124px;height:156px}.daily-panel{display:none}.today-lower{grid-template-columns:1fr}.writing-invite{grid-template-columns:1fr auto;gap:8px 16px;display:grid}.writing-invite .eyebrow,.writing-invite-icon{display:none}.writing-invite h3{margin:0;font-size:19px}.writing-invite p{grid-row:2;margin:0}.writing-invite .text-link{grid-area:1/2/3}.goal-pill{display:none}.learning-summary button{flex-wrap:wrap;gap:5px}.learning-summary svg{display:none}.learning-summary span{font-size:10px}.design-heading{display:block}.design-heading .button{margin-top:18px}.design-direction{grid-template-columns:1fr;padding:26px}.direction-reference{border-left:0;border-top:1px solid var(--hero-muted);padding:20px 0 0}.palette-comparison{gap:14px}.palette-sample{padding:20px}.prototype-workspace{grid-template-columns:124px minmax(0,1fr);gap:16px}.prototype-nav>button{padding:10px 7px;font-size:11px}.prototype-stage{padding:14px}.prototype-picture{border-radius:30px}}@media (width<=680px){.content{padding:22px 22px 100px}.topbar{height:58px;padding:0 22px}.brand-small{font-size:17px}.today-intro h1{margin:8px 0;font-size:27px}.goal-pill{display:none}.today-feature{grid-template-columns:1fr}.study-start{min-height:277px;padding:26px}.study-start-copy h2{font-size:31px}.study-start-copy p{max-width:170px;font-size:11px}.study-start-actions{gap:12px}.study-start-actions .button{padding:10px 14px}.hero-secondary{font-size:10px}.word-stack{flex-basis:85px;height:117px;position:absolute;top:40px;right:23px}.stack-front{padding:12px 9px}.stack-front strong{font-size:37px}.stack-front>span{font-size:5px}.stack-front small{padding-top:8px;font-size:4px}.daily-panel{display:none}.learning-summary{padding-bottom:22px}.learning-summary button{flex-direction:column;align-items:flex-start;padding:0 16px;display:flex}.learning-summary strong{font-size:29px}.learning-summary span{font-size:11px}.learning-summary svg{display:none}.today-lower{grid-template-columns:1fr}.writing-invite{padding:24px}.writing-invite-icon{display:none}.practice-card{padding:22px}.typing-word{font-size:38px}.review-session{background:0 0;border:0;padding:20px}.review-choices{grid-template-columns:1fr;gap:10px}.review-prompt{padding:15px 0 24px}.review-prompt h1{font-size:26px}.review-choice{min-height:63px}.writing-nav{gap:14px;overflow-x:auto}.writing-nav button{white-space:nowrap}.palette-comparison,.design-direction{grid-template-columns:1fr}.design-heading{display:block}.design-heading .button{margin-top:18px}.direction-reference{border-left:0;border-top:1px solid var(--hero-muted);padding:20px 0 0}.palette-intro{flex-wrap:wrap}.prototype-workspace{flex-direction:column;display:flex}.prototype-nav{flex-direction:row;width:100%;overflow-x:auto}.prototype-nav>button{white-space:nowrap}.prototype-nav>button svg,.prototype-notes{display:none}.prototype-stage{flex:1;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}button{appearance:none}.nav-item.active svg{background:0 0}.design-links button,.local-account{background:0 0;border-radius:0}.word-rows{gap:0}.word-row{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:0 2px}.word-row:hover{background:var(--surface);box-shadow:none;transform:none}.word-row-meaning{display:block}.word-row-en{min-width:0}.design-links button{border:0;justify-content:flex-start}.local-account{border:0;border-top:1px solid var(--line)}.local-account>.avatar{flex:0 0 29px}.local-account>span:nth-child(2){white-space:nowrap}.writing-workspace{grid-template-columns:minmax(0,1fr) 300px;align-items:start}.writing-main-column{min-width:0;box-shadow:none;background:0 0;border:0;gap:18px;padding:0}.writing-support{background:var(--surface);gap:0;overflow:hidden}.writing-topic-bar{background:0 0;border-radius:12px;margin-bottom:20px;padding:12px 16px}.writing-topic-bar>span{color:var(--muted);font-size:11px}.writing-topic-bar select{padding:7px 10px;font-size:12px}.writing-goal{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.prompt-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.writing-prompt h2{letter-spacing:-.025em;margin-bottom:12px;font-size:21px;font-weight:550;line-height:1.65}.prompt-english{color:var(--muted);font-size:14px;line-height:1.7}.prompt-instruction{box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:0;margin-top:10px;padding:0;font-size:12px}.prompt-targets{color:var(--on-rose);flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;font-size:11px;display:flex}.prompt-targets button{background:var(--surface);color:var(--ink);border-radius:6px;align-items:center;gap:4px;padding:5px 8px;display:flex}.editor-panel{background:var(--surface);overflow:hidden}.editor-toolbar{border-bottom:1px solid var(--line);padding:12px 18px}.editor-toolbar>span,.editor-toolbar>div,.timer-control{align-items:center;gap:7px;font-size:11px;display:flex}.timer-control{padding:6px 8px}.editor-panel textarea{background:0 0;border:0;border-radius:0;min-height:260px;padding:22px;font-size:17px;line-height:1.9;display:block}.editor-panel textarea:focus{box-shadow:none;background:0 0;border:0}.editor-status{padding:10px 18px;font-size:10px}.editor-actions{gap:10px;padding:14px 18px}.editor-actions .button{min-height:36px;padding:8px 12px;font-size:11px}.editor-actions .button svg{width:13px}.editor-actions .quiet-button{padding:6px 0;font-size:11px}.editor-actions .button-primary>svg:first-child{display:none}.support-tabs{border-bottom:1px solid var(--line);background:0 0;padding:0 12px}.support-tabs button{border-bottom:2px solid #0000;border-radius:0;min-height:47px;padding:10px 5px;font-size:11px}.support-tabs button.active{box-shadow:none;border-bottom-color:var(--tint);color:var(--tint);background:0 0}.support-body{margin:0;padding:24px 22px;display:block}.support-body h3{margin:5px 0 10px;font-size:18px;font-weight:550}.support-intro{color:var(--muted);margin-bottom:14px;font-size:11px;line-height:1.7}.support-word{box-shadow:none;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:18px 0}.support-word:hover{box-shadow:none;background:0 0}.support-word button.serif{letter-spacing:-.035em;background:0 0;border:0;padding:0;font-size:20px;font-weight:450}.support-word .icon-button{background:var(--soft);border:0;border-radius:7px;width:25px;height:25px;padding:5px}.support-phrase{box-shadow:none;color:var(--muted);background:0 0;border:0;border-radius:0;margin-top:8px;padding:0;font-size:11px;display:block}.support-word p{font-size:12px}.seen-badge{margin-top:10px;font-size:9px}.seen-word-bank{flex-wrap:wrap;gap:6px;margin-top:22px;display:flex}.seen-word-bank .eyebrow{flex-basis:100%}.seen-word-bank button{padding:5px 8px;font-size:11px}.support-tip{background:var(--selection-surface);color:var(--tint);border-radius:10px;align-items:flex-start;gap:8px;margin-top:22px;padding:14px;display:flex}.support-tip p{font-size:11px;line-height:1.7}.support-tip svg{flex-shrink:0;width:15px}.reference-text{margin:20px 0;font-size:16px;line-height:1.85}.reference-text mark{background:var(--selection);color:var(--selection-ink);border-radius:3px;padding:1px 3px}.reference-actions{align-items:center;gap:12px;display:flex}.reference-actions .quiet-button{background:0 0;border:0;padding:5px 0;font-size:10px}.feedback-panel{background:0 0;border:0;border-radius:0}.feedback-metrics{gap:10px;margin:18px 0;display:flex}.feedback-metrics>div{flex-direction:column;gap:5px;font-size:11px;display:flex}.feedback-empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:14px;padding:25px 0;display:flex}.feedback-issue{gap:10px;margin:10px 0}.correction-pair{flex-wrap:wrap;font-size:12px}.writing-nudge{gap:8px;padding:0 4px}.writing-nudge p{font-size:11px}.focus-mode .writing-workspace{grid-template-columns:1fr;max-width:800px;margin:auto}.focus-mode .writing-support{display:none}@media (width>=681px) and (width<=1080px){.writing-workspace{grid-template-columns:1fr}.writing-support{width:100%}.editor-actions{flex-wrap:wrap}}.expression-review-card,.mobile-writing-intro{background:var(--rose);border-radius:22px;padding:25px}.expression-card-top{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:30px;font-size:11px;display:flex}.expression-review-card .eyebrow,.mobile-writing-intro .eyebrow{color:var(--on-rose)}.expression-review-card h2,.mobile-writing-intro h2{letter-spacing:-.035em;margin:8px 0 14px;font-size:25px;font-weight:500;line-height:1.6}.expression-prompt-cn{color:var(--muted);margin-bottom:22px;font-size:13px;line-height:1.8}.saved-expression-text{letter-spacing:-.02em;padding:18px 0 24px;font-size:20px;line-height:1.8}.expression-choices{flex-direction:column;gap:12px;margin:22px 0;display:flex}.expression-choices button{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:12px;padding:16px;display:flex}.expression-choices p{flex:1;font-size:15px;line-height:1.8}.expression-choices button:disabled{opacity:1}.expression-choices .choice-correct{background:var(--success-bg);border-color:var(--success-border)}.expression-choices .choice-wrong{background:var(--error-bg);border-color:var(--error-border)}.mobile-writing-tabs{border-bottom:1px solid var(--line);gap:18px;margin-bottom:22px;padding-bottom:12px;font-size:12px;display:flex}.mobile-writing-tabs button{align-items:center;gap:8px;display:flex}.mobile-writing-tabs button.active{color:var(--tint)}.mobile-writing-tabs button span{background:var(--selection-surface);border-radius:4px;padding:3px 6px}.mobile-writing-intro p{color:var(--muted);margin:20px 0;font-size:12px;line-height:1.9}.mobile-writing-feather{color:var(--on-rose);margin-bottom:30px;display:block}.mobile-writing-path{color:var(--muted);justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:10px;display:flex}.mobile-history-list{flex-direction:column;gap:14px;display:flex}.mobile-history-item{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:22px}.mobile-history-item>div{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:16px;font-size:10px;display:flex}.mobile-history-item h3{margin-bottom:12px;font-size:18px;font-weight:500}.mobile-history-item p{color:var(--muted);margin-bottom:18px;font-size:14px;line-height:1.8}.expression-review-card .full-width,.mobile-writing-intro .full-width{width:100%}@media (width<=680px){.review-lobby-grid{grid-template-columns:1fr;gap:20px}.review-start-panel{border-radius:22px;padding:26px}.review-start-panel h2{margin:15px 0 10px;font-size:24px}.review-start-panel p{color:var(--muted);font-size:12px;line-height:1.8}.review-mode-picker{width:100%;margin:22px 0;display:flex}.review-mode-picker button{flex:1;justify-content:center;gap:4px;padding:10px;font-size:11px}.review-mode-picker button>svg:last-child{display:none}.review-start-panel>.button{width:100%}.review-aside{padding:14px 2px}.review-aside h3{margin:8px 0 12px;font-size:20px;line-height:1.5}.review-aside p{color:var(--muted);font-size:12px;line-height:1.8}.review-session{padding:0}.session-heading{gap:8px;min-height:34px;font-size:11px}.session-heading .quiet-button{white-space:nowrap;padding:7px 0;font-size:11px}.session-heading>span{white-space:nowrap}.session-heading>span:not(.monospace){display:none}.review-meta{font-size:10px}.review-meta>span{flex-wrap:wrap}.review-prompt{padding:24px 0}.review-prompt .eyebrow{font-size:8px}.review-answer-note{text-align:left}.review-answer-note p{font-size:12px}.review-next{position:relative}.review-next .button{flex:1}.app-shell.mobile .content-review{padding-top:12px}.library-hero{display:none}.vocabulary-table{overflow:hidden}.vocabulary-row,.vocabulary-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 30px}.vocabulary-topic,.vocabulary-status{display:none}.writing-workspace{grid-template-columns:minmax(0,1fr)}.design-direction{padding:24px}.design-direction h2{font-size:27px}}.library-banner{background:var(--selection-surface);border-radius:20px;align-items:center;gap:16px;padding:24px;display:flex}.library-banner-icon{width:43px;height:43px;color:var(--tint);justify-content:center;align-items:center;display:flex}.library-banner strong{font-size:19px;font-weight:500}.library-banner p{color:var(--muted);margin-top:6px;font-size:12px}.library-banner-meta{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:5px;margin-left:auto;font-size:22px;display:flex}.library-banner-meta small{color:var(--muted);font-size:10px}.library-tools{flex-direction:row;justify-content:space-between;align-items:center;gap:15px}.filter-tabs{gap:8px;font-size:12px;display:flex}.filter-tabs button{color:var(--muted);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;display:flex}.filter-tabs button span{opacity:.7;font-size:10px}.search-field{box-shadow:none;border-radius:10px}.topic-filters button{background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:7px 10px;font-size:11px;display:flex}.topic-filters>span{color:var(--muted);white-space:nowrap;align-self:center;margin-left:auto;font-size:11px}.vocabulary-table{box-shadow:none;border-radius:16px}.vocabulary-row,.vocabulary-table-head{grid-template-columns:minmax(130px,1.2fr) minmax(180px,2fr) minmax(85px,1fr) 65px 65px;gap:15px;padding:17px 22px}.vocabulary-table-head{font-size:10px;font-weight:450}.vocabulary-word,.vocabulary-definition{text-align:left;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.vocabulary-word strong{letter-spacing:-.025em;font-size:18px;font-weight:450}.vocabulary-word small,.vocabulary-definition>small{color:var(--muted);font-size:11px;font-weight:400}.vocabulary-definition>span{font-size:12px;line-height:1.7}.vocabulary-state{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.vocabulary-actions{display:flex}.vocabulary-actions .icon-button{width:30px;height:30px}.vocabulary-topic .tag{font-size:10px}@media (width<=1080px){.vocabulary-row,.vocabulary-table-head{grid-template-columns:minmax(130px,1fr) minmax(140px,1.4fr) 55px;gap:12px;padding:17px}.vocabulary-topic,.vocabulary-state,.vocabulary-table-head>span:nth-child(3),.vocabulary-table-head>span:nth-child(4){display:none}}@media (width<=680px){.library-banner{padding:20px}.library-banner-icon,.library-banner-meta{display:none}.library-tools{flex-direction:column;align-items:stretch}.filter-tabs{gap:4px}.filter-tabs button{padding:8px;font-size:11px}.vocabulary-table-head{display:none}.vocabulary-row{grid-template-columns:minmax(0,1fr) 32px;gap:9px;padding:18px}.vocabulary-word{grid-column:1}.vocabulary-definition{grid-area:2/1}.vocabulary-actions{flex-direction:column;grid-area:1/2/3;gap:10px}.topic-filters>span{display:none}}.copy-studio{max-width:1080px}.copy-page-head{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:32px;display:flex}.copy-page-head h1{letter-spacing:-.055em;margin:10px 0 12px;font-size:30px;font-weight:550}.copy-page-head p{color:var(--muted);font-size:12px}.copy-total{color:var(--muted);white-space:nowrap;flex-direction:column;align-items:flex-end;gap:7px;font-size:10px;display:flex}.copy-total strong{letter-spacing:-.06em;color:var(--ink);font-size:32px;font-weight:400;line-height:1}.copy-track-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.copy-track-bar [role=tablist]{gap:25px;display:flex}.copy-track-bar [role=tab]{color:var(--muted);border-bottom:2px solid #0000;align-items:center;gap:9px;margin-bottom:-1px;padding:14px 0 18px;font-size:13px;display:flex}.copy-track-bar [role=tab].active{color:var(--tint);border-color:var(--tint)}.copy-track-bar [role=tab] span{opacity:.75;font-size:10px}.copy-list-trigger{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;padding:10px 0;font-size:11px;display:flex}.copy-workspace{grid-template-columns:minmax(0,1fr) 224px;align-items:start;gap:28px;display:grid}.copy-main{background:var(--surface);border:1px solid var(--line);border-radius:22px;min-width:0;padding:26px 32px}.copy-context{justify-content:space-between;align-items:center;font-size:10px;display:flex}.copy-context>span:first-child{color:var(--muted);align-items:center;gap:7px;display:flex}.copy-context i{background:var(--tint);border-radius:50%;width:5px;height:5px}.copy-context>span:last-child{font-variant-numeric:tabular-nums;letter-spacing:.06em}.copy-intro{padding:34px 0 25px}.copy-section-label{color:var(--muted);letter-spacing:.02em;font-size:10px;font-weight:450;display:block}.copy-intro h2{letter-spacing:-.035em;margin:12px 0 20px;font-size:21px;font-weight:500;line-height:1.75}.copy-listen{color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.copy-listen button{color:var(--on-rose);align-items:center;gap:7px;padding:0;font-size:10px;display:flex}.copy-pad{background:var(--rose);border:1px solid #0000;border-radius:16px;min-width:0;transition:border-color .2s,box-shadow .2s;position:relative}.copy-pad:focus-within{border-color:var(--on-rose);box-shadow:0 0 0 3px var(--rose)}.copy-pad.has-mismatch{border-color:var(--error-border)}.copy-pad.is-done{background:var(--success-bg);border-color:var(--success-border)}.copy-pad textarea,.copy-overlay{font-family:var(--display-font);letter-spacing:-.035em;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;tab-size:4;padding:24px;font-size:25px;font-weight:400;line-height:1.8}.copy-pad textarea{z-index:1;resize:vertical;color:#0000;-webkit-text-fill-color:transparent;width:100%;min-height:240px;caret-color:var(--on-rose);background:0 0;border:0;border-radius:16px;margin:0;display:block;position:relative}.copy-pad textarea:focus,.copy-pad textarea:focus-visible{box-shadow:none;background:0 0;border:0;outline:none}.copy-pad textarea::selection{background:var(--selection)}.copy-overlay{pointer-events:none;position:absolute;inset:0;overflow:auto}.copy-ink{color:var(--ink)}.copy-error{color:var(--error);text-underline-offset:5px;-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-decoration-thickness:1px}.copy-progress-line{background:var(--soft);height:2px;margin:24px 0 13px;overflow:hidden}.copy-progress-line span{background:var(--tint);height:100%;transition:width .15s;display:block}.copy-status{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;font-size:10px;display:flex}.copy-status>span:first-child{align-items:center;gap:6px;display:flex}.copy-status>span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.copy-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin-top:30px;padding-top:24px;display:flex}.copy-actions>span{color:var(--muted);font-size:10px}.copy-actions .button{min-height:38px;padding:9px 13px;font-size:11px}.copy-again{color:var(--tint);align-items:center;gap:7px;font-size:12px;display:flex}.copy-enter{color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;margin-top:15px;font-size:9px;display:flex}.copy-margin{padding-top:8px}.copy-margin-heading{border-bottom:1px solid var(--line);padding:0 0 24px}.copy-margin-heading .eyebrow{letter-spacing:.11em;font-size:8px}.copy-margin h3{letter-spacing:-.045em;margin:15px 0 9px;font-size:23px;font-weight:450;line-height:1.5}.copy-margin-heading p{color:var(--muted);font-size:11px;line-height:1.8}.copy-words{padding:24px 0 10px}.copy-words>button{text-align:left;justify-content:space-between;align-items:center;width:100%;padding:16px 0;display:flex}.copy-words button>span{flex-direction:column;gap:7px;display:flex}.copy-words strong{letter-spacing:-.045em;font-size:21px;font-weight:450}.copy-words small{color:var(--muted);font-size:11px}.copy-words svg{color:var(--muted)}.copy-pattern{background:var(--selection-surface);border-radius:13px;margin-top:7px;padding:18px}.copy-pattern p{color:var(--tint);margin-top:10px;font-size:12px;line-height:1.9}.copy-repeat{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:26px 0;display:flex}.copy-repeat-number{letter-spacing:-.065em;font-size:35px;font-weight:400}.copy-repeat>span:last-child{font-size:11px;line-height:1.9}.copy-repeat small{color:var(--muted);font-size:9px}.copy-phone-note{color:var(--muted);align-items:flex-start;gap:9px;margin-top:22px;display:flex}.copy-phone-note svg{flex-shrink:0;margin-top:3px}.copy-phone-note p{font-size:10px;line-height:1.9}.copy-lesson-list{flex-direction:column;max-height:55vh;display:flex;overflow:auto}.copy-lesson-list>button{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:15px;padding:18px 0;display:flex}.copy-lesson-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.copy-lesson-list button>span:nth-child(2){flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.copy-lesson-list strong{font-size:15px;font-weight:500}.copy-lesson-list small{color:var(--muted);font-size:11px;line-height:1.6}.sentence-playback{max-width:540px}.sentence-playback h1{margin:10px 0 15px;font-size:26px;font-weight:550}.sentence-playback>p{color:var(--muted);font-size:12px;line-height:1.8}.playback-empty{background:var(--rose);border-radius:22px;margin-top:28px;padding:28px}.playback-quote{height:70px;color:var(--on-rose);font-family:Georgia,serif;font-size:90px;line-height:1;display:block}.playback-empty h2{letter-spacing:-.04em;margin:20px 0 15px;font-size:26px;font-weight:500;line-height:1.7}.playback-empty p{color:var(--muted);margin:0 0 25px;font-size:12px}.playback-count{color:var(--muted);justify-content:space-between;margin:30px 0 14px;font-size:11px;display:flex}.playback-card{background:var(--rose);text-align:left;border-radius:22px;width:100%;min-height:320px;padding:28px;display:block}.playback-card h2{margin:28px 0;font-size:23px;font-weight:500;line-height:1.8}.playback-card>p{letter-spacing:-.03em;border-top:1px solid var(--line);padding-top:25px;font-size:23px;line-height:1.8}.playback-card small{color:var(--on-rose);margin-top:65px;font-size:11px;display:block}.playback-actions{justify-content:space-between;align-items:center;margin:22px 0;display:flex}.playback-actions .icon-button{background:var(--selection-surface);width:48px;height:48px;color:var(--tint);border-radius:50%}.playback-pattern{border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.playback-pattern p{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.9}@media (width<=1200px){.copy-workspace{grid-template-columns:minmax(0,1fr) 194px;gap:22px}.copy-track-bar [role=tab] span{display:none}.copy-main{padding:24px}.copy-pad textarea,.copy-overlay{padding:22px;font-size:23px}}@media (width<=1000px){.copy-workspace{grid-template-columns:minmax(0,1fr)}.copy-margin{grid-template-columns:1fr 1fr;gap:20px;display:grid}.copy-margin-heading,.copy-repeat,.copy-phone-note{display:none}.copy-words{padding:0}.copy-words>button{padding:15px 0}.copy-pattern{margin:0}.copy-page-head h1{font-size:27px}.copy-total{display:none}.copy-track-bar [role=tablist]{gap:20px}.copy-track-bar [role=tab]{font-size:12px}.copy-pad textarea,.copy-overlay{font-size:24px}}@media (width<=680px){.copy-main{padding:22px}.copy-actions{flex-wrap:wrap}.copy-margin{grid-template-columns:1fr}.copy-status{font-size:9px}.copy-pad textarea,.copy-overlay{padding:18px;font-size:21px}.copy-page-head h1{font-size:26px}}.copy-rounds{align-items:center;gap:5px;display:flex}.copy-rounds i{background:var(--line);border-radius:50%;width:5px;height:5px}.copy-rounds i.done{background:var(--success)}.copy-rounds i.current{background:var(--tint);border-radius:5px;width:15px}.copy-rounds small{color:var(--muted);margin-left:4px;font-size:9px}@media (width<=480px){.copy-context{gap:8px}.copy-rounds small{display:none}}.copy-pad textarea,.copy-overlay{letter-spacing:-.018em}.copy-pad textarea{min-height:154px;max-height:460px}.copy-accessible-reference{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (height<=800px) and (width>=1001px){.copy-page-head h1{margin:8px 0;font-size:26px}.copy-page-head p{font-size:11px}.copy-track-bar{margin-bottom:18px}.copy-main{padding:22px 28px}.copy-intro h2{margin:10px 0 15px;font-size:20px}.copy-page-head{margin-bottom:12px}.copy-track-bar [role=tab]{padding:12px 0 14px}.copy-intro{padding:14px 0}.copy-pad textarea{min-height:138px}.copy-actions{margin-top:16px;padding-top:14px}.copy-progress-line{margin:18px 0 10px}.copy-enter{margin-top:10px}}.storage-recovery{max-width:620px;margin:14vh auto;padding:35px}.storage-recovery h1{margin:35px 0 18px;font-size:26px}.storage-recovery p{color:var(--muted);margin-bottom:28px;font-size:14px;line-height:1.9}.storage-recovery>div{flex-wrap:wrap;gap:12px;display:flex}.study-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px;padding:0 0 18px;display:flex}.pack-switcher,.chapter-trigger{text-align:left;color:var(--muted);align-items:center;gap:8px;min-height:36px;font-size:12px;display:inline-flex}.pack-switcher{color:var(--ink)}.pack-switcher span,.chapter-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pack-switcher svg,.chapter-trigger svg{flex-shrink:0}.study-divider{background:var(--line);flex-shrink:0;width:1px;height:16px}.study-mode{background:var(--soft);border-radius:9px;flex-shrink:0;gap:2px;padding:3px;display:flex}.study-mode button{color:var(--muted);border-radius:7px;min-height:31px;padding:7px 15px;font-size:11px}.study-mode button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow-small)}.pack-grid{flex-direction:column;gap:14px;display:flex}.pack-card{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:17px;align-items:center;gap:20px;width:100%;padding:18px;display:flex}.pack-card.selected{border-color:var(--tint);background:var(--selection-surface)}.pack-card>div:nth-child(2){flex:1}.pack-card>div>strong{font-size:15px;font-weight:550}.pack-card p{color:var(--muted);margin:8px 0 12px;font-size:12px;line-height:1.8}.pack-card small{color:var(--muted);font-size:10px}.pack-spine{background:var(--hero);width:90px;height:112px;color:var(--on-hero);border-left:4px solid var(--hero-muted);border-radius:3px 10px 10px 3px;flex-direction:column;flex-shrink:0;justify-content:space-between;padding:12px;display:flex}.pack-spine.everyday{background:var(--rose);color:var(--on-rose);border-left-color:var(--on-rose)}.pack-spine>span{letter-spacing:.12em;font-size:6px}.pack-spine>strong{letter-spacing:-.04em;font-size:19px!important;font-weight:450!important}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.chapter-card{border:1px solid var(--line);background:var(--surface);border-radius:15px;min-width:0;padding:22px}.chapter-card.selected{border-color:var(--tint)}.chapter-card-top{color:var(--muted);letter-spacing:.08em;justify-content:space-between;gap:12px;font-size:9px;display:flex}.chapter-card-top small{letter-spacing:0;white-space:nowrap;font-size:9px}.chapter-card h3{letter-spacing:-.035em;margin:22px 0 10px;font-size:19px;font-weight:500}.chapter-card>p{color:var(--muted);font-size:11px}.chapter-card-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:15px;display:flex}.chapter-card-actions button{color:var(--tint);align-items:center;gap:7px;min-height:30px;padding:3px 0;font-size:12px;display:flex}.chapter-card-actions button:last-child{color:var(--muted);font-size:11px}.chapter-completion{place-items:center;min-height:calc(100vh - 170px);display:grid}.chapter-finished{text-align:center;width:100%;padding:40px 15px}.chapter-finished>.eyebrow{margin:30px 0 16px;display:block}.chapter-finished h1{letter-spacing:-.05em;margin-bottom:15px;font-size:32px;font-weight:500}.chapter-finished>p{color:var(--muted);font-size:12px;line-height:1.8}.chapter-finished-count{justify-content:center;align-items:baseline;gap:12px;padding:32px 0;display:flex}.chapter-finished-count span{color:var(--muted);font-size:12px}.chapter-finished-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.chapter-other{color:var(--muted);margin-top:24px;padding:8px;font-size:12px}.copy-actions>div{color:var(--muted);align-items:center;gap:18px;font-size:10px;display:flex}.copy-skip{color:var(--muted);padding:8px 0;font-size:10px}.copy-actions .button:disabled{opacity:.4;cursor:default}.dictation-placeholder{color:var(--muted);letter-spacing:0;font-size:17px}.library-banner .pack-switcher{flex-shrink:0;margin-left:20px}.library-view-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin:28px 0 22px;padding-bottom:16px;display:flex}.library-chapter-filter{color:var(--muted);justify-content:space-between;align-items:center;margin:18px 0;font-size:11px;display:flex}.library-chapter-filter label{align-items:center;gap:12px;display:flex}.library-chapter-filter select{background:var(--surface);color:var(--ink);border:1px solid var(--line);font:inherit;border-radius:8px;padding:8px 30px 8px 10px}.mobile-chapter-list{flex-direction:column;display:flex}.mobile-chapter-list>button{border-bottom:1px solid var(--line);text-align:left;align-items:center;gap:14px;padding:23px 0;display:flex}.mobile-chapter-list span,.mobile-chapter-list small{color:var(--muted);font-size:10px}.mobile-chapter-list strong{flex:1;font-size:15px;font-weight:500}.sentence-playback>.pack-switcher{margin-top:18px}@media (width<=1100px){.study-location{gap:9px}.chapter-trigger{max-width:230px}.study-mode button{padding:7px 11px}}@media (width<=850px){.study-toolbar{align-items:flex-start}.study-location{flex-direction:column;align-items:flex-start;gap:2px}.study-divider{display:none}.chapter-trigger{max-width:350px}}@media (width<=680px){.chapter-grid{grid-template-columns:1fr}.pack-card{gap:15px;padding:14px}.pack-spine{width:75px;height:100px}.library-banner{flex-wrap:wrap;gap:15px}.library-banner .pack-switcher{margin-left:auto}.chapter-finished h1{font-size:26px}.chapter-finished-actions{flex-direction:column}.chapter-finished-actions .button{width:100%}.library-chapter-filter label{gap:8px}.copy-actions>div{gap:12px}}.dictation-reference{color:var(--on-rose);background:var(--rose);border-radius:10px;margin-top:16px;padding:16px;font-size:17px;line-height:1.9}.chapter-search{max-width:520px;margin-bottom:20px}.chapter-search small{color:var(--muted);white-space:nowrap;font-size:11px}.library-pagination{justify-content:space-between;align-items:center;gap:12px;padding:24px 0 8px;display:flex}.library-pagination>span{color:var(--muted);font-size:12px}@media (width<=679px){.library-pagination{flex-wrap:wrap}.library-pagination .button{padding-inline:14px}}.cloud-auth-buttons{flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0;display:flex}.devices-art{color:var(--muted);justify-content:center;align-items:center;gap:18px;padding:24px 0;display:flex}.device-dots{color:var(--muted);align-items:center;gap:8px;display:flex}.modal-description{color:var(--muted);margin:0 0 22px;font-size:14px;line-height:1.8}.connection-state{background:var(--soft);border-radius:14px;align-items:flex-start;gap:12px;padding:16px;display:flex}.connection-state>svg{color:var(--tint);flex-shrink:0;margin-top:2px}.connection-state strong{font-size:14px;font-weight:550}.connection-state p{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.8}.sync-benefits{color:var(--muted);flex-direction:column;gap:12px;padding:22px 0;font-size:12px;display:flex}.sync-benefits>span{align-items:center;gap:9px;display:flex}.cloud-auth-buttons [role=button]:focus-visible{outline:2px solid var(--tint);outline-offset:5px;border-radius:5px}.full-width{justify-content:center;width:100%}.import-unmatched{border:1px solid var(--line);background:var(--soft);border-radius:14px;margin:18px 0;padding:18px;font-size:13px;line-height:1.8}.import-unmatched p{color:var(--muted);overflow-wrap:anywhere;margin:10px 0;font-size:12px}.storage-recovery>section{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.storage-recovery>section h2{margin-bottom:12px;font-size:20px}.storage-recovery p[role=alert]{color:var(--error)}.data-actions{flex-wrap:wrap}@font-face{font-family:Nunito;src:url(/fonts/Nunito-Variable.ttf)format("truetype");font-weight:200 1000;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans IPA;src:url(/fonts/NotoSans-Variable.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--display-font:Nunito,"PingFang SC",-apple-system,sans-serif;font-family:Nunito,PingFang SC,-apple-system,sans-serif;font-weight:600}body,button,input,select,textarea{font-family:var(--display-font)}.ipa,.vocabulary-word small,.word-modal-meta>span{letter-spacing:0;font-family:Noto Sans IPA,sans-serif;font-weight:400}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3,strong{font-weight:800}h1{letter-spacing:-.5px;font-size:32px}h2{font-size:24px}p{font-size:16px;line-height:1.6}button,input,select,textarea{font-size:16px}.eyebrow{display:none}.caption{font-size:14px;line-height:1.6}.monospace{font-family:var(--display-font);font-variant-numeric:tabular-nums}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.button{min-height:48px;box-shadow:0 3px 7px var(--shadow-small);border-radius:999px;gap:10px;padding:12px 24px;font-size:16px;font-weight:800}.button-primary{background:var(--action);color:var(--on-action);border:1px solid #0000}.button-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.button:disabled{background:var(--disabled);color:var(--disabled-text);opacity:1;box-shadow:none;border-color:#0000}.icon-button{min-width:44px;min-height:44px;color:var(--ink);border-radius:16px}.quiet-button,.text-link{min-height:44px;font-size:15px}.tag{background:var(--mint);color:var(--ink);border:0;border-radius:999px;padding:8px 18px;font-size:15px;font-weight:800}.app-shell{background:var(--mint);width:100%;max-width:none;min-height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0}.sidebar{background:var(--surface);border:0;justify-content:flex-start;width:208px;height:100dvh;padding:32px 16px 28px}.sidebar>.brand-button{margin:0 8px 52px;padding:0}.brand{letter-spacing:-1.2px;gap:0;font-size:29px;font-weight:1000}.brand-mark{display:none}.sidebar>nav{gap:18px}.nav-item{min-height:56px;color:var(--ink);border-radius:24px;gap:20px;margin:0;padding:14px 24px;font-size:20px;font-weight:700;position:relative}.nav-item svg{width:26px;height:26px}.nav-item.active{background:var(--selection-surface);color:var(--selection-ink);box-shadow:none}.sidebar-bottom{gap:0;margin-top:auto;padding:0}.app-main{background:linear-gradient(145deg,var(--bg),var(--mint));height:100dvh;position:relative}.topbar{background:0 0;border:0;gap:20px;height:88px;padding:24px 32px 16px}.breadcrumbs{color:var(--ink);font-size:28px;font-weight:800}.topbar-actions{gap:8px}.search-trigger{min-height:44px;box-shadow:none;background:var(--surface);border:0;font-size:14px}.sync-status{background:var(--mint-strong);min-height:40px;color:var(--ink);border:0;font-size:14px;font-weight:700}.content{padding:16px 32px 32px}.page{max-width:1200px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:32px}.page-heading p{margin-top:12px;font-size:16px}.page-footnote{display:none}.route-practice:not(.mobile) .topbar,.route-writing:not(.mobile) .topbar{height:0;padding:0;position:relative;overflow:visible}.route-practice:not(.mobile) .topbar-actions,.route-writing:not(.mobile) .topbar-actions{position:absolute;top:36px;right:32px}.route-practice:not(.mobile) .topbar-actions>:not(.sync-status),.route-writing:not(.mobile) .topbar-actions>:not(.sync-status),.route-practice:not(.mobile) .breadcrumbs,.route-writing:not(.mobile) .breadcrumbs{display:none}.route-practice:not(.mobile) .content,.route-writing:not(.mobile) .content{padding-top:32px}.study-toolbar{border:0;justify-content:flex-start;align-items:center;gap:24px;min-height:48px;margin:0 0 32px;padding:0 160px 0 0;display:flex}.study-location{align-items:center;gap:16px;min-width:0;display:flex}.study-divider,.study-location>button>svg:first-child{display:none}.pack-switcher,.chapter-trigger{background:var(--surface);height:48px;box-shadow:0 3px 10px var(--shadow-small);border:0;border-radius:20px;gap:24px;max-width:300px;padding:0 20px;font-size:18px;font-weight:800}.chapter-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.study-mode,.segmented{border:1px solid var(--line);background:var(--bg);box-shadow:none;border-radius:999px;gap:0;padding:4px}.study-mode button,.segmented button{border-radius:999px;min-width:84px;min-height:40px;padding:8px 20px;font-size:17px;font-weight:800}.study-mode button[aria-pressed=true],.segmented button.active{background:var(--selection-surface);color:var(--selection-ink);box-shadow:none}.study-mode button[aria-pressed=true]{color:var(--accent-text)}.practice-card{box-shadow:none;background:var(--surface);border:0;border-radius:32px;flex-direction:column;min-height:min(760px,100dvh - 160px);padding:28px 40px 32px;display:flex;overflow:visible}.practice-card-top{min-height:48px;color:var(--ink);border:0;justify-content:space-between;align-items:center;margin:0;padding:0;font-size:24px;display:flex}.practice-counter strong{color:var(--accent-text)}.word-controls{gap:8px;display:flex;position:static}.practice-word-area{text-align:left;padding:48px 16px 24px;position:static}.word-input-stage{letter-spacing:-1.5px;width:100%;margin:0 0 24px;font-weight:800;line-height:1.15;position:relative}.typing-word{font:inherit;letter-spacing:inherit;line-height:inherit;color:var(--word-pending);white-space:pre;margin:0;padding:0;overflow:hidden}.typing-word .typed-correct{color:var(--ink)}.typing-word .typed-wrong{color:var(--error);text-underline-offset:8px;text-decoration:underline;text-decoration-thickness:3px}.word-input-stage input{color:#0000;-webkit-text-fill-color:transparent;width:100%;height:100%;caret-color:var(--accent);font:inherit;letter-spacing:inherit;line-height:inherit;box-shadow:none;background:0 0;border:0;border-radius:0;outline:0;padding:0;position:absolute;inset:0}.word-input-stage input:focus{box-shadow:none;background:0 0;outline:none}.word-input-stage:focus-within{outline:0}.word-input-stage input::selection{background:var(--selection)}.pronunciation{color:var(--ink);justify-content:flex-start;gap:24px;margin:24px 0 28px;font-size:28px}.pronunciation button{background:var(--mint);width:80px;height:60px;color:var(--ink);border-radius:24px}.practice-meaning{color:var(--ink);align-items:center;gap:24px;font-size:28px;font-weight:700;display:flex}.practice-meaning>span{background:var(--selection-surface);min-width:44px;color:var(--selection-ink);border-radius:12px;padding:4px 14px;font-size:18px}.practice-phrase{background:var(--mint);text-align:left;border:0;border-radius:20px;margin:0;padding:18px 24px 18px 36px;display:block;position:relative}.practice-phrase:before{content:"";background:var(--accent);border-radius:4px;width:5px;position:absolute;top:18px;bottom:18px;left:20px}.practice-phrase button{color:var(--ink);flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:10px;padding:0;font-size:24px;font-weight:700;line-height:1.5;display:flex}.typing-hint{text-align:left;height:28px;color:var(--error);margin:16px 16px 24px;font-size:15px}.practice-bottom{border:0;align-items:center;gap:16px;margin-top:auto;padding:0;display:flex}.practice-bottom .progress-track{flex:1;height:12px;margin:0 24px 0 0}.practice-bottom .button{border-radius:24px;min-width:140px;min-height:60px;font-size:20px}.progress-track,.copy-progress-line{background:var(--mint-strong);border-radius:999px;height:10px}.progress-track>span,.copy-progress-line>span{background:var(--accent);border-radius:999px}.practice-footer{justify-content:flex-end;margin:16px 0 0}.practice-footer button{color:var(--muted);align-items:center;gap:8px;min-height:44px;font-size:14px;display:flex}.today-heading{justify-content:space-between;align-items:center;gap:16px;margin:0 0 24px;display:flex}.today-heading h1{font-size:28px}.soft-resume-card,.soft-recent,.soft-empty-start,.soft-expression-invite{background:var(--surface);box-shadow:0 4px 14px var(--shadow-card);border-radius:24px;padding:24px}.soft-resume-row{align-items:center;gap:20px;padding:8px 0 24px;display:flex}.soft-resume-row+.soft-resume-row{border-top:1px solid var(--line);padding:24px 0 8px}.soft-resume-row>div,.soft-resume-row>h2{flex:1}.soft-resume-row h2{font-size:22px}.soft-inline-progress{align-items:center;gap:16px;margin-top:12px;display:flex}.soft-inline-progress span{white-space:nowrap;font-size:18px}.soft-inline-progress strong{color:var(--accent-text)}.soft-inline-progress .progress-track{flex:1;max-width:260px}.soft-stat-grid{grid-template-columns:1fr 1fr;gap:16px;margin:20px 0;display:grid}.soft-stat-grid>div{background:var(--surface);border-radius:24px;align-items:center;gap:20px;padding:24px;display:flex}.soft-stat-grid>div>span{color:var(--muted);flex-direction:column;flex:1;font-size:16px;display:flex}.soft-stat-grid strong{color:var(--ink);font-size:32px;line-height:1.1}.soft-stat-grid .button{padding:12px 18px}.soft-recent .section-heading{margin:0 0 20px}.soft-recent .section-heading h2{font-size:20px}.soft-recent>div:last-child{gap:12px;display:flex}.soft-recent>div>button{background:var(--soft);border-radius:20px;flex:1;min-width:0;padding:14px 20px;font-size:22px}.soft-empty-start{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:560px;display:flex}.soft-empty-start h2{font-size:30px}.soft-empty-start p{color:var(--muted)}.soft-empty-symbol{background:var(--mint);width:120px;height:120px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.soft-expression-invite h2{font-size:24px;line-height:1.5}.soft-expression-invite p{color:var(--muted);margin:12px 0 20px}.copy-page-head{display:none}.copy-workspace{grid-template-columns:minmax(0,1fr) 260px;gap:24px}.copy-main{border:0;border-radius:32px;padding:32px}.copy-context{font-size:16px}.copy-context>span:first-child{font-size:14px}.copy-intro h2{font-size:24px;font-weight:700;line-height:1.6}.copy-section-label{font-size:14px;font-weight:600}.copy-listen,.copy-listen button{font-size:16px}.copy-pad textarea,.copy-overlay{letter-spacing:0;padding:24px;font-size:32px;font-weight:700;line-height:1.6}.copy-ghost{color:var(--word-pending)}.copy-pad{background:var(--mint);border-radius:24px}.copy-pad textarea{caret-color:var(--accent)}.copy-pad:focus-within{box-shadow:none;border-color:#0000}.copy-progress-line{margin-top:28px}.copy-status,.copy-actions>div,.copy-enter{font-size:14px}.copy-actions .button{min-height:48px;font-size:16px}.copy-margin h3{font-size:24px;font-weight:800}.copy-margin p,.copy-words small,.copy-repeat>span:last-child{font-size:15px}.copy-words strong{font-size:24px;font-weight:800}.copy-pattern{background:var(--mint);border-radius:20px}.copy-repeat-number{font-size:40px;font-weight:800}.copy-phone-note{display:none}.review-session{max-width:780px}.session-heading{margin-bottom:20px;font-size:18px}.review-question{background:var(--surface);border:0;border-radius:32px;padding:28px}.review-question-meta{font-size:14px}.review-prompt{background:var(--mint);text-align:left;border-radius:24px;margin:0 0 24px;padding:24px}.review-prompt h1{text-align:left;margin-bottom:16px;font-size:28px}.review-prompt h1 small{background:var(--selection-surface);color:var(--selection-ink);border-radius:12px;margin-right:16px;padding:4px 12px;font-size:18px}.review-prompt .audio-circle{background:var(--mint-strong);border-radius:20px;width:56px;height:48px;margin:0}.review-choices{grid-template-columns:1fr;gap:12px;display:grid}.review-choice{background:var(--soft);opacity:1;border:1px solid #0000;border-radius:20px;gap:20px;min-height:60px;padding:12px 20px}.review-choice strong{letter-spacing:0;font-size:24px;font-weight:800}.choice-index{background:var(--mint);color:var(--ink);border:0;border-radius:50%;min-width:32px;height:32px;font-size:18px;font-weight:800}.review-choice small{margin-top:4px;font-size:16px}.review-choice:disabled{opacity:1;min-height:76px}.review-choice.choice-correct{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.review-choice.choice-wrong{background:var(--error-bg);border-color:var(--error-border);color:var(--error)}.choice-muted{color:var(--ink)}.review-answer-note{background:var(--mint);border-radius:20px;margin-top:20px;padding:20px;font-size:16px}.review-answer-note p{font-size:18px}.unknown-button{background:var(--mint);width:100%;min-height:48px;color:var(--ink);border-radius:20px;justify-content:center;margin-top:28px;font-size:18px;display:flex}.unknown-button svg{display:none}.answer-phonetic{margin-top:16px;font-size:18px;display:block}.answer-phonetic strong{font-size:32px}.session-footnote{font-size:14px}.review-start-panel{background:var(--surface);border:0;border-radius:24px}.review-mode-picker button{border-radius:20px;min-height:60px;font-size:16px}.review-mode-picker button.active{background:var(--selection-surface);color:var(--selection-ink)}.review-card-art{display:none}.review-start-panel h2{font-size:28px}.review-start-panel p,.review-aside p{font-size:16px}.review-aside h3,.mini-review-stats strong{font-weight:800}.completion,.chapter-finished{background:var(--surface);border:0;border-radius:32px;padding:48px 32px}.completion h1,.chapter-finished h1{font-size:32px}.review-summary strong{font-weight:800}.review-summary span{font-size:16px}.library-banner{background:var(--mint);border:0;border-radius:24px;padding:24px}.library-banner strong{font-size:24px}.library-banner p{font-size:16px}.library-banner-icon{background:var(--surface)}.library-view-bar{margin:24px 0}.filter-tabs button{border-radius:999px;min-height:48px;padding:10px 20px;font-size:16px}.filter-tabs button.active{background:var(--selection-surface);color:var(--selection-ink)}.vocabulary-table{background:var(--surface);border:0;border-radius:24px;padding:8px 20px}.vocabulary-table-head{font-size:14px}.vocabulary-row{border-bottom-color:var(--line);min-height:96px}.vocabulary-word strong{font-size:24px;font-weight:800}.vocabulary-word small,.vocabulary-definition small{font-size:14px}.vocabulary-definition>span{font-size:16px}.vocabulary-state{font-size:14px}.search-field{border:1px solid var(--line);background:var(--surface);border-radius:16px;min-height:48px}.search-field input{font-size:16px}.chapter-card{background:var(--surface);border-radius:24px;padding:24px}.chapter-card h3{font-size:22px;font-weight:800}.chapter-card p,.chapter-card-top,.chapter-card-actions button{font-size:15px}.chapter-card-actions button{min-height:44px}.chapter-card.selected{background:var(--mint);border-color:var(--tint)}.pack-card{border-radius:24px}.pack-card.selected{background:var(--mint);border-color:var(--tint)}.settings-profile,.settings-section{background:var(--surface);border:0;border-radius:24px;padding:24px}.settings-section h2{font-size:20px}.settings-profile h2{font-size:24px}.settings-profile p,.profile-stats span,.setting-row small{font-size:14px}.setting-row strong{font-size:17px}.setting-row{gap:24px;min-height:88px}.setting-row select{border-radius:16px;max-width:180px;height:48px;font-size:16px}.avatar{background:var(--mint);color:var(--ink);font-family:var(--display-font);font-weight:900}.settings-profile .avatar{border-radius:24px}.profile-cloud{min-height:48px;font-size:15px}.switch{background:var(--line)}.switch.on{background:var(--action)}.switch span{background:var(--raised)}.about-section p,.about-section a,.about-section>div{font-size:14px;line-height:1.7}.modal-backdrop{background:var(--scrim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{border:1px solid var(--line);background:var(--surface);box-shadow:0 20px 70px var(--shadow-modal);border-radius:32px;padding:32px}.modal-head h2{font-size:32px;font-weight:800}.modal-description{font-size:16px;line-height:1.7}.modal-footer{gap:12px}.phrase-note,.example-note,.sync-explanation{background:var(--mint);border-radius:20px;padding:20px}.phrase-note h3,.english-sentence{font-family:var(--display-font);font-size:24px;font-weight:700;line-height:1.5}.word-modal-meaning{font-size:24px}.word-modal-meta{font-size:20px}.word-modal-meta .ipa{font-size:22px}.cloud-sync-panel p{font-size:16px}.toast{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:20px;font-size:15px}@media (width>=680px) and (width<=1100px){.sidebar{width:176px;padding:28px 12px}.brand{font-size:26px}.nav-item{gap:16px;padding:14px 20px}.content{padding:16px 24px 24px}.topbar{padding-left:24px;padding-right:24px}.study-toolbar{gap:12px;padding-right:130px}.study-location{gap:12px}.pack-switcher,.chapter-trigger{gap:12px;max-width:190px;padding:0 14px;font-size:16px}.study-mode button{min-width:60px;padding:8px 14px;font-size:16px}.practice-card{padding:24px}.practice-word-area{padding:32px 0 24px}.practice-bottom .button{min-width:100px}.practice-bottom .progress-track{margin-right:8px}.copy-workspace{grid-template-columns:1fr}.copy-margin{grid-template-columns:1fr 1fr;display:grid}.soft-stat-grid>div{gap:12px;padding:20px}.soft-stat-grid .button{padding:10px;font-size:14px}.soft-resume-row h2{font-size:18px}}.app-shell.mobile .app-main{background:var(--bg);height:100dvh}.app-shell.mobile .topbar{background:var(--bg);height:68px;padding:12px 20px}.mobile .brand{letter-spacing:-1px;font-size:24px}.app-shell.mobile .content{padding:16px 20px 32px}.mobile .topbar-actions{gap:0}.mobile .topbar-actions>.icon-button{min-width:40px}.mobile .sync-status{background:0 0;min-width:40px;padding:8px}.app-shell.mobile .bottom-nav{height:auto;min-height:80px;padding:8px 12px max(16px,env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -4px 20px var(--shadow-card);border:0;border-radius:24px 24px 0 0;flex-shrink:0;display:flex;position:static}.app-shell.mobile .bottom-nav :is(button,a){min-height:56px;color:var(--ink);flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:700;display:flex;position:relative}.app-shell.mobile .bottom-nav :is(button,a).active{color:var(--accent-text)}.app-shell.mobile .bottom-nav :is(button,a).active:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:0}.mobile .bottom-nav svg{width:24px;height:24px}.mobile h1,.mobile .page-heading h1{font-size:28px}.mobile h2{font-size:22px}.mobile .page-heading p{font-size:15px}.mobile .today-heading{margin-bottom:20px}.mobile .today-heading h1{font-size:28px}.mobile .today-heading button{font-size:14px}.mobile .soft-stat-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 20px}.mobile .soft-stat-grid>div{text-align:center;border-radius:20px;padding:16px 8px;display:block}.mobile .soft-stat-grid svg{display:none}.mobile .soft-stat-grid strong{margin-bottom:8px;font-size:28px}.mobile .soft-stat-grid span{font-size:12px}.mobile .soft-start-review{min-height:56px}.mobile .soft-recent{margin-top:24px;padding:20px}.mobile .soft-recent>div:last-child{flex-direction:column;gap:12px;display:flex}.mobile .soft-recent>div>button{text-align:left;flex-direction:column;gap:4px;padding:14px 16px;font-size:22px;display:flex}.mobile .soft-recent>div>button>span{color:var(--muted);font-size:14px}.mobile .soft-recent .section-heading h2{font-size:18px}.mobile .soft-recent .text-link{gap:2px;font-size:12px}.mobile .soft-expression-invite{margin-top:20px;padding:24px}.mobile .soft-expression-invite .soft-empty-symbol{border-radius:20px;width:64px;height:64px}.mobile .soft-empty-start{min-height:540px;padding:32px 20px}.mobile .soft-empty-start .completion-actions{flex-direction:column;width:100%}.mobile .soft-empty-start .button{width:100%}.mobile .soft-empty-start h2{font-size:24px}.mobile .review-lobby-grid{display:block}.mobile .review-aside{display:none}.mobile .review-start-panel{padding:24px}.mobile .review-session{margin:0}.mobile .session-heading{gap:8px;margin:0 0 16px;font-size:14px}.mobile .session-heading .quiet-button{font-size:14px}.mobile .review-question{background:0 0;padding:0}.mobile .review-question-meta{padding:12px 4px 0}.mobile .review-prompt{border-radius:0 0 24px 24px;margin:8px -20px 20px;padding:20px}.mobile .review-prompt h1{font-size:28px;line-height:1.5}.mobile .review-choices{gap:12px}.mobile .review-choice{gap:20px;min-height:60px;padding:12px 16px}.mobile .review-choice strong{font-size:24px}.mobile .review-choice:disabled{min-height:76px}.mobile .review-answer-note{padding:16px;font-size:16px}.mobile .review-answer-note p{font-size:18px}.mobile .session-footnote{display:none}.mobile .review-next{margin:16px 0 0}.mobile .review-next .button{min-height:52px}.mobile .completion,.mobile .chapter-finished{padding:32px 20px}.mobile .completion-actions{flex-direction:column}.mobile .review-summary{gap:12px}.mobile .sentence-playback h1{font-size:28px;font-weight:800}.mobile .sentence-playback>p,.mobile .playback-count{font-size:16px}.mobile .playback-card{background:var(--surface);border-radius:24px;min-height:300px;padding:24px}.mobile .playback-card h2{font-size:24px;font-weight:700;line-height:1.6}.mobile .playback-card>p{letter-spacing:0;font-size:26px;font-weight:700;line-height:1.5}.mobile .playback-card small{color:var(--muted);font-size:16px}.mobile .playback-pattern{background:var(--mint);border:0;border-radius:20px;padding:20px}.mobile .playback-pattern p{font-size:15px}.mobile .playback-empty{background:var(--surface)}.mobile .playback-empty h2{font-size:24px;font-weight:800}.mobile .playback-empty p{font-size:16px}.mobile .library-banner{flex-wrap:wrap;gap:16px;padding:20px}.mobile .library-banner strong{font-size:22px}.mobile .library-banner p{font-size:14px}.mobile .library-view-bar,.mobile .library-controls{gap:12px}.mobile .filter-tabs{flex-wrap:wrap;gap:4px}.mobile .filter-tabs button{padding:8px 14px;font-size:14px}.mobile .vocabulary-row{background:var(--surface);border:0;border-radius:20px;min-height:108px;margin-bottom:12px;padding:16px}.mobile .vocabulary-word small{font-size:14px}.mobile .vocabulary-definition>span{font-size:15px}.mobile .vocabulary-actions{gap:0}.mobile .library-caption{font-size:13px}.mobile .settings-layout{display:block}.mobile .settings-profile{margin-bottom:20px}.mobile .settings-section{padding:20px}.mobile .setting-row{flex-wrap:wrap;gap:16px;padding:20px 0}.mobile .setting-row>span{min-width:180px}.mobile .setting-row small{font-size:14px;line-height:1.6}.mobile .segmented button{min-width:70px;padding:8px 12px;font-size:15px}.mobile .settings-page .page-heading{margin-bottom:20px}.mobile .modal{border-radius:28px;padding:24px}.mobile .modal-head h2{font-size:28px}.mobile .modal-footer{flex-wrap:wrap}.mobile .modal-footer .button{flex:1}.mobile .word-modal-meaning,.mobile .phrase-note h3,.mobile .english-sentence{font-size:22px}.mobile .search-field input{min-height:44px}.mobile .pack-switcher{font-size:16px}.phone-frame{border-radius:44px;overflow:hidden}.phone-frame .app-main{height:100%}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.nav-item.active svg{color:var(--selection-ink);background:0 0}.soft-today .today-heading h1{display:none}.soft-today .today-heading{justify-content:flex-end;margin-bottom:12px}.mobile .soft-today .today-heading h1{display:block}.mobile .soft-today .today-heading{justify-content:space-between;margin-bottom:20px}.review-soft-mode{max-width:280px;margin:16px auto;display:flex}.review-soft-mode button{flex:1}.mobile .review-question-meta{display:flex}.mobile .review-question-meta .tag,.mobile .review-question-meta>span{display:none}.typing-word{text-align:left;font-kerning:none;font-variant-ligatures:none;gap:0;min-height:0;display:block}.word-input-stage input{font-kerning:none;font-variant-ligatures:none;text-align:left}.practice-meaning{justify-content:flex-start;margin-bottom:0}.practice-word-area{margin:0;container-type:inline-size}.soft-review{max-width:680px;padding:0}.soft-review-header{background:var(--mint);border-radius:24px;margin-bottom:20px;padding:20px 24px 24px}.review-titlebar{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.review-titlebar h1{letter-spacing:0;font-size:22px;font-weight:800}.review-progress-row{align-items:center;gap:16px;margin:0 8px 16px;font-size:17px;display:flex}.review-progress-row>span{white-space:nowrap}.review-progress-row strong{color:var(--accent-text)}.review-progress-row .progress-track{flex:1;height:8px}.soft-review-mode{max-width:260px;margin:0 auto 20px;display:flex}.soft-review-mode button{flex:1;min-height:36px;padding:4px 16px}.soft-review-question h2{align-items:baseline;gap:16px;font-size:28px;font-weight:700;line-height:1.5;display:flex}.soft-review-question h2>span{background:var(--selection-surface);color:var(--selection-ink);border-radius:12px;flex-shrink:0;padding:4px 12px;font-size:16px}.soft-review-question p{color:var(--muted);margin-top:8px;font-size:16px}.soft-listen{background:var(--mint-strong);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin:auto;display:flex}.soft-review-reveal{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.soft-review-reveal>strong{font-size:32px}.soft-review-reveal>.ipa{font-size:18px}.soft-review .review-choice>span:nth-child(2){text-align:left;flex:1}.soft-review .review-next{background:var(--bg);margin:12px 0 0;padding:12px 0;position:sticky;bottom:-32px}.mobile .review-session{padding:0}.mobile .soft-review-header{border-radius:0 0 24px 24px;margin:-16px -20px 20px;padding:16px 20px 20px}.mobile .soft-review .review-next{bottom:-32px}.mobile .soft-review .unknown-button{margin-top:24px}.soft-review .review-choice>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.soft-review .choice-index,.soft-review .review-choice>svg{flex-shrink:0}.modal-backdrop{overflow:hidden}.modal{flex-direction:column;max-height:min(88dvh,1000px);display:flex;overflow:hidden}.modal-head{flex-shrink:0}.modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;overflow-y:auto}.modal-body>.modal-description{margin-bottom:20px}.modal-wide{max-width:900px}.settings-section h2{align-items:center;gap:12px;display:flex}.setting-row>span{flex-direction:column;gap:6px;display:flex}.shortcut-row{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.chapter-monogram{font-family:var(--display-font);color:var(--ink);font-size:24px;font-weight:800}.chapter-range{overflow-wrap:anywhere}.soft-review .review-answer-note{scroll-margin-bottom:100px}@media (height<=820px) and (width>=680px){.practice-word-area{padding-top:32px;padding-bottom:16px}.practice-page .pronunciation{margin-top:16px;margin-bottom:20px}.practice-page .typing-hint{margin-top:8px;margin-bottom:16px}}.sync-dialog{border-radius:24px;width:min(460px,100vw - 32px);padding:24px}.sync-dialog .modal-head{align-items:center;margin-bottom:8px}.sync-dialog .modal-head h2{font-size:22px;line-height:1.4}.sync-dialog .modal-body{scrollbar-gutter:auto}.cloud-sync-panel{text-align:center;flex-direction:column;align-items:center;padding:8px 0 0;display:flex}.sync-symbol{width:104px;height:104px;color:var(--muted);place-items:center;margin:4px 0 12px;display:grid;position:relative}.sync-symbol>svg{stroke-width:1.4px;width:84px;height:84px}.sync-symbol .sync-symbol-check{stroke-width:2.4px;width:32px;height:32px;color:var(--success);background:var(--surface);border-radius:50%;position:absolute;top:43px;left:40px}.sync-symbol-error{color:var(--error)}.cloud-sync-panel h3{letter-spacing:-.4px;margin:0 0 12px;font-size:25px;line-height:1.4}.cloud-sync-panel .sync-description{max-width:350px;min-height:52px;color:var(--ink);margin:0 8px 24px;font-size:15px;line-height:1.75}.sync-snapshot{background:var(--mint);text-align:left;width:100%;color:var(--ink);border-radius:18px;align-items:center;gap:16px;margin:0 0 24px;padding:16px 20px;display:flex}.sync-snapshot>div{flex-direction:column;gap:5px;display:flex}.sync-snapshot strong,.sync-snapshot span{font-size:15px}.cloud-sync-panel .cloud-auth-buttons{align-items:center;width:100%;min-height:44px;margin:0 0 12px}.cloud-sync-panel .auth-hidden{display:none}.cloud-sync-panel .cloud-auth-buttons>div{justify-content:center;width:100%;min-height:44px;display:flex}.cloud-sync-panel .cloud-auth-buttons>div>div{max-width:100%}.sync-actions{gap:12px;width:100%;margin:0;padding-bottom:2px;display:flex}.sync-actions .button{white-space:nowrap;flex:1;min-width:0;min-height:44px;padding:10px 14px;font-size:15px}.sync-busy{flex-direction:column;gap:24px;width:100%;padding-bottom:2px;display:flex}.sync-busy>.button{width:100%;min-height:44px}.sync-activity{background:var(--mint);border-radius:99px;height:8px;overflow:hidden}.sync-activity:before{content:"";background:var(--accent);border-radius:99px;width:38%;height:100%;animation:1.8s ease-in-out infinite alternate sync-progress;display:block}.sync-spinner{animation:1.6s linear infinite sync-spin}@keyframes sync-spin{to{transform:rotate(360deg)}}@keyframes sync-progress{to{transform:translate(160%)}}@media (width<=679px){.mobile .sync-dialog{padding:22px}.mobile .sync-dialog .modal-head h2{font-size:22px}.sync-actions{flex-wrap:wrap}.cloud-sync-panel h3{font-size:24px}}@media (width>=680px){.copy-workspace{display:block}.copy-margin{display:none}.copy-main{flex-direction:column;min-height:min(760px,100dvh - 160px);padding:28px 40px 32px;display:flex}.copy-context{margin-bottom:40px;font-size:24px;font-weight:800}.copy-context>span:first-child{display:none}.copy-intro h2{margin-bottom:24px;font-size:32px;line-height:1.5}.copy-listen{margin-bottom:16px}.copy-listen>span{display:none}.copy-pad textarea,.copy-overlay{letter-spacing:-.5px;padding:24px;font-size:40px;font-weight:800;line-height:1.5}.copy-progress-line{width:52%;max-width:560px;min-height:10px;margin-top:auto}.copy-status{margin-top:16px}.copy-actions{justify-content:flex-end;gap:16px}.copy-actions>div{gap:16px;display:flex}.copy-actions>div>span{display:none}.copy-actions .button,.copy-actions .copy-skip{border-radius:22px;min-width:140px;min-height:56px;font-size:19px}.copy-actions .copy-skip{background:var(--surface);box-shadow:0 3px 7px var(--shadow-small);border:1px solid var(--line)}}@media (width>=680px) and (height<=820px){.copy-context{margin-bottom:20px}.copy-intro h2{font-size:28px}.copy-pad textarea,.copy-overlay{font-size:32px}.copy-main{min-height:calc(100dvh - 144px)}}@media (width>=680px){.copy-intro{padding:0 0 24px}.copy-intro>.copy-section-label{display:none}.copy-context{margin-bottom:40px}.copy-actions{border:0;margin-top:0;padding-top:0}.copy-pad textarea{resize:none}.copy-status{min-height:28px}.copy-actions .button:disabled{opacity:1}.copy-context>span:last-child{letter-spacing:0}.copy-listen button{font-size:16px}.copy-overlay,.copy-pad textarea{min-height:170px}}.library-banner{box-shadow:none;background:0 0;gap:20px;min-height:48px;margin-bottom:20px;padding:0}.library-banner .pack-switcher{margin-left:0}.library-banner-meta{color:var(--muted);white-space:nowrap;margin-left:0;font-size:17px}.library-page>.page-heading{display:none}.vocabulary-table{background:var(--surface);border-radius:24px;padding:16px 20px}.vocabulary-table-head,.vocabulary-topic,.vocabulary-state{display:none}.vocabulary-row{background:var(--soft);border:0;border-radius:20px;grid-template-columns:56px minmax(150px,1fr) minmax(200px,1.5fr) 44px;gap:20px;min-height:78px;margin-bottom:10px;padding:12px 16px}.vocabulary-row:last-child{margin-bottom:0}.vocabulary-word strong{letter-spacing:-.5px;font-size:26px}.vocabulary-word>.ipa,.vocabulary-definition>small{display:none}.vocabulary-definition>span{align-items:baseline;gap:16px;font-size:20px;font-weight:700;display:flex}.vocabulary-definition>span>small{background:var(--selection-surface);color:var(--selection-ink);border-radius:10px;flex-shrink:0;padding:2px 10px;font-size:15px}.vocabulary-actions{gap:0}.vocabulary-audio{background:var(--mint);width:52px;height:44px;color:var(--ink);border-radius:18px;place-items:center;display:grid}.mobile .library-banner{flex-wrap:wrap;gap:8px;margin-bottom:16px;padding:0}.mobile .library-banner-meta{font-size:13px}.mobile .library-banner .pack-switcher{gap:10px;max-width:100%;padding:0 12px;font-size:15px}.mobile .vocabulary-table{background:0 0;padding:0}.mobile .vocabulary-row{grid-template-columns:44px minmax(0,1fr) 36px;gap:4px 12px;min-height:86px;padding:14px 12px;display:grid}.mobile .vocabulary-audio{grid-area:1/1/3;width:44px;height:40px}.mobile .vocabulary-word{grid-area:1/2;align-self:end}.mobile .vocabulary-word strong{font-size:23px}.mobile .vocabulary-definition{grid-area:2/2;align-self:start}.mobile .vocabulary-definition>span{font-size:14px;display:block}.mobile .vocabulary-definition>span>small{display:none}.mobile .vocabulary-actions{grid-area:1/3/3;position:static}.mobile .library-chapter-filter{display:none}@media (width>=680px){.library-page:has(.vocabulary-table){grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;display:grid}.library-page:has(.vocabulary-table)>.library-banner{grid-area:1/1;margin:0}.library-page:has(.vocabulary-table)>.library-view-bar{border:0;grid-area:1/2;margin:0;padding:0}.library-page:has(.vocabulary-table)>.library-tools{grid-column:1/-1;min-height:48px;margin:0}.library-page:has(.vocabulary-table)>.library-chapter-filter{grid-column:1/-1;min-height:44px;margin:0}:is(.library-page:has(.vocabulary-table)>.vocabulary-table,.library-page:has(.vocabulary-table)>.library-pagination,.library-page:has(.vocabulary-table)>.empty-state,.library-page:has(.vocabulary-table)>.library-caption){grid-column:1/-1}}.mobile .library-page>.page-heading{margin:0 0 16px;display:block}.mobile .library-page>.page-heading p,.mobile .library-view-bar{display:none}.mobile .library-tools{flex-direction:column-reverse;align-items:stretch;gap:12px;margin:12px 0 16px}.mobile .library-tools .filter-tabs{background:var(--surface);border-radius:999px;flex-wrap:nowrap;justify-content:space-between;width:100%;padding:4px}.mobile .library-tools .filter-tabs button{flex:1;padding:8px;font-size:15px}.mobile .library-tools .filter-tabs button>span{display:none}.mobile .library-tools .search-field{width:100%;max-width:none}@media (width>=680px){.copy-main{position:relative}.copy-context>span:last-child{color:var(--accent-text)}.copy-context .muted{color:var(--ink)}.copy-progress-line{width:48%;margin:0;position:absolute;bottom:58px;left:40px}.copy-status{max-width:48%;margin:0;font-size:13px;position:absolute;bottom:16px;left:40px}.copy-status>span:last-child{display:none}.copy-actions{margin-top:auto}.copy-main .copy-enter{position:absolute;bottom:16px;left:40px}.copy-main:has(.copy-enter) .copy-status{display:none}}.compact-settings{max-width:1000px}.compact-settings>.page-heading{display:none}.preferences-card{background:var(--surface);border-radius:24px;margin-bottom:24px;padding:8px 24px}.preference-row{text-align:left;border-bottom:1px solid var(--line);width:100%;min-height:80px;color:var(--ink);background:0 0;justify-content:space-between;align-items:center;gap:24px;padding:12px 0;font-size:18px;display:flex}.preference-row:last-child{border-bottom:0}.preference-row>span{align-items:center;gap:20px;display:flex}.preference-row>span>span{flex-direction:column;gap:4px;display:flex}.preference-row strong{font-size:19px}.preference-row small{color:var(--muted);font-size:14px}.preference-row>select{font:inherit;color:var(--ink);background:0 0;border:0;max-width:180px;min-height:44px}.preference-sound{border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;gap:16px;padding:12px 0 20px;display:flex}.preference-appearance{position:relative}.preference-appearance>.preference-row{border:0}.appearance-menu{border:1px solid var(--line);background:var(--surface);min-width:240px;box-shadow:0 12px 36px var(--shadow-modal);z-index:20;border-radius:20px;padding:8px;position:absolute;top:calc(100% - 6px);right:0}.appearance-menu>button{border-radius:14px;align-items:center;gap:14px;width:100%;min-height:48px;padding:12px 16px;font-size:17px;display:flex}.appearance-menu>button>span{text-align:left;flex:1}.appearance-menu>button[aria-pressed=true]{background:var(--selection-surface);color:var(--selection-ink)}.preference-system{background:var(--mint);color:var(--muted);border-radius:14px;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;font-size:14px;display:flex}.records-controls .setting-row{min-height:84px;padding:20px 0}.records-controls .setting-row:first-child{padding-top:0}.records-controls .caption{color:var(--muted);margin:12px 0}.records-controls .setting-row>span{max-width:65%}.records-controls .data-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.records-controls .setting-row .data-actions{max-width:45%}.records-controls .setting-row small{font-size:14px}.mobile .compact-settings>.page-heading{margin-bottom:20px;display:block}.mobile .preferences-card{margin-bottom:20px;padding:4px 20px}.mobile .preference-row{gap:12px;min-height:76px;font-size:15px}.mobile .preference-row>span{gap:12px}.mobile .preference-row strong{font-size:17px}.mobile .preference-row small{max-width:180px;font-size:12px}.mobile .preference-sound{flex-wrap:wrap;justify-content:center}.mobile .records-controls .setting-row>span{max-width:none}.mobile .records-controls .setting-row .data-actions{width:100%;max-width:none}.mobile .topbar-actions>.icon-button:not(:last-child),.mobile .topbar-actions>.sync-status{display:none}.mobile .topbar-actions{margin-left:auto}.mobile.route-review .topbar{display:flex}.mobile-menu-list{flex-direction:column;gap:8px;display:flex}.mobile-menu-list>button{background:var(--soft);border-radius:18px;align-items:center;gap:16px;min-height:60px;padding:12px 16px;font-size:18px;display:flex}.mobile-menu-list>button>svg:last-child{margin-left:auto}.mobile-web-today{padding-top:4px}.mobile-today-hero{background:var(--mint);border-radius:24px;grid-template-columns:36px 1fr;gap:12px;padding:40px 24px 24px;display:grid;position:relative;overflow:hidden}.mobile-today-hero h1{z-index:1;font-size:28px;line-height:36px;position:relative}.mobile-today-hero p{color:var(--muted);z-index:1;grid-column:1/-1;margin:0 0 12px;font-size:17px;position:relative}.mobile-today-hero>.button{z-index:1;grid-column:1/-1;min-height:54px;font-size:21px;position:relative}.today-calendar-art{color:var(--tint);opacity:.3;position:absolute;top:20px;right:20px;transform:rotate(12deg)}.today-calendar-art>svg:last-child{position:absolute;top:28px;right:20px}.mobile-today-links{flex-direction:column;gap:10px;margin-top:24px;display:flex}.mobile-today-links>button{background:var(--soft);text-align:left;border-radius:20px;align-items:center;gap:16px;width:100%;min-height:76px;padding:12px 16px;display:flex}.mobile-today-links>button>span{background:var(--mint);border-radius:16px;place-items:center;width:48px;height:48px;display:grid}.mobile-today-links>button>div{flex-direction:column;flex:1;gap:4px;display:flex}.mobile-today-links strong{font-size:22px}.mobile-today-links small{color:var(--muted);font-size:15px}.mobile .library-page{position:relative}.mobile .library-page>.page-heading{min-height:44px;margin-bottom:12px;padding-right:62%}.mobile .library-banner{max-width:65%;min-height:40px;margin:0;position:absolute;top:0;right:0}.mobile .library-banner .pack-switcher{background:var(--mint);max-width:100%;height:40px;box-shadow:none;border-radius:999px;gap:4px;padding:0 10px;font-size:13px}.mobile .library-banner .pack-switcher>svg:first-child{display:none}.mobile .library-banner .pack-switcher>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile .library-banner-meta,.mobile .vocabulary-audio{display:none}.mobile .vocabulary-row{grid-template-columns:minmax(0,1fr) 36px;min-height:74px;padding:10px 20px}.mobile .vocabulary-word,.mobile .vocabulary-definition{grid-column:1}.mobile .vocabulary-actions{grid-column:2}.mobile .mobile-expression-heading{justify-content:space-between;align-items:center;margin:0 0 16px;display:flex}.mobile .mobile-expression-heading>span{background:var(--soft);border-radius:999px;padding:6px 14px;font-size:16px}.mobile .mobile-expression-heading>span strong{color:var(--accent)}.mobile-expression>.progress-track{margin-bottom:24px}.expression-chinese{background:var(--mint);border-radius:24px;margin-bottom:12px;padding:22px 24px;font-size:22px;font-weight:800;line-height:1.5}.expression-english{background:var(--soft);border-radius:24px;align-items:center;gap:16px;padding:20px;display:flex}.expression-english>.icon-button{background:var(--mint);border-radius:50%;flex-shrink:0}.expression-english p{letter-spacing:-.4px;font-size:26px;font-weight:800;line-height:1.25}.expression-reveal{min-height:48px;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:4px auto 20px;font-size:15px;display:flex}.expression-navigation{gap:12px;display:flex}.expression-navigation>.button{flex:1;min-height:50px;padding:10px 14px;font-size:19px}.expression-source{color:var(--muted);margin:20px auto 0;font-size:13px;display:block}.mobile .mobile-expression>.playback-empty{text-align:center;flex-direction:column;align-items:center;gap:24px;min-height:420px;padding:48px 24px;display:flex}.mobile .mobile-expression>.playback-empty h2{font-size:24px}.mobile .soft-review-header{background:0 0;border-radius:0;margin:0 0 16px;padding:0}.mobile .review-titlebar{justify-content:flex-start;gap:12px;min-height:40px;margin-bottom:16px}.mobile .review-titlebar>.icon-button{display:none}.mobile .review-titlebar h1{font-size:28px}.review-mode-title{font:inherit;text-align:left;padding:0;font-weight:800}.mobile-review-count{white-space:nowrap;background:var(--soft);border-radius:999px;margin-left:auto;padding:6px 14px;font-size:16px}.mobile-review-count strong{color:var(--accent)}.mobile .review-progress-row{margin:0 0 20px}.mobile .review-progress-row>span,.mobile .soft-review-mode{display:none}.mobile .soft-review-question{background:var(--mint);border-radius:24px;flex-wrap:wrap;align-items:center;gap:12px;min-height:88px;padding:20px;display:flex}.mobile .soft-review-question h2{flex:1;gap:12px;font-size:23px}.mobile .soft-review-question h2>span{flex-shrink:0;padding:3px 10px;font-size:14px}.mobile .soft-review-question>p{display:none}.mobile .soft-review-question>.icon-button{background:var(--mint-strong);border-radius:50%;flex-shrink:0;width:44px;height:44px}.mobile .soft-review-reveal{width:100%}.mobile .soft-review .unknown-button{background:var(--action);color:var(--on-action);min-height:50px;font-size:20px;font-weight:800}.mobile .soft-review .review-choice{min-height:54px;padding:10px 16px}.mobile .soft-review .review-choice strong{font-size:24px}.mobile .soft-review .review-choice:disabled{min-height:70px}.goal-dialog{width:min(520px,100vw - 32px)}.goal-dialog .modal-head{margin-bottom:24px}.goal-book{flex-direction:column;gap:14px;margin-bottom:24px;font-size:17px;font-weight:800;display:flex}.goal-book select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:52px;font:inherit;color:var(--ink);border-radius:16px;padding:10px 16px}.goal-choice-label{margin-bottom:14px;font-size:17px;font-weight:800}.goal-options{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:32px;display:grid}.goal-options button{background:var(--soft);border-radius:999px;min-height:48px;font-size:18px;font-weight:800}.goal-options button[aria-pressed=true]{background:var(--selection-surface);color:var(--selection-ink)}.mobile .library-page{gap:0}.mobile .library-tools{margin:0 0 16px}.mobile .library-tools .search-field{min-height:44px;padding:6px 14px}.mobile .library-tools .search-field input{min-height:28px;padding:0;font-size:16px}.mobile .library-tools .filter-tabs button{min-height:38px}.mobile .vocabulary-row{min-height:74px;margin-bottom:8px}.mobile .vocabulary-actions .icon-button{width:36px;height:40px}.mobile .vocabulary-actions .icon-button svg{width:23px;height:23px}.button-primary{background-image:linear-gradient(180deg,var(--action),var(--action))}@supports (color:color-mix(in lab, red, red)){.button-primary{background-image:linear-gradient(180deg,color-mix(in srgb,var(--action),var(--mint) 12%),var(--action))}}.button-primary{box-shadow:inset 0 1px 1px var(--line),0 3px 7px var(--shadow-small)}.mobile .review-answered .review-titlebar,.mobile .review-answered .review-progress-row,.mobile .review-answered .soft-review-header{margin-bottom:12px}.mobile .review-answered .soft-review-question{gap:6px 10px;min-height:0;padding:16px}.mobile .review-answered .soft-review-question h2{font-size:27px;line-height:1.2}.mobile .review-answered .soft-review-question .mobile-answer-meaning{width:100%;margin:0;font-size:17px;line-height:1.4;display:block}.mobile .review-answered .review-choices{gap:8px}.mobile .review-answered .review-choice:disabled{min-height:58px;padding:8px 16px}.mobile .review-answered .review-choice strong{font-size:22px;line-height:1.15}.mobile .review-answered .review-choice small{font-size:14px;line-height:1.2}.mobile .review-answered .review-choice>span:nth-child(2){gap:2px}.mobile .review-answered .review-answer-note{display:none}.mobile .review-answered .review-next{margin-top:12px;padding:0;bottom:0}.mobile .review-answered .review-next .button{min-height:48px}.mobile .review-answered .soft-review-question{padding:12px 16px}.mobile .review-answered .soft-review-question>.icon-button{width:32px;height:32px}.mobile .review-answered .review-next{position:static}.mobile .review-answered .review-choice small{margin-top:0}.mobile .review-answered .review-choice>span:nth-child(2){line-height:1.15}.mobile .compact-settings>.page-heading{display:none}.mobile .compact-settings{padding-top:6px}.mobile .preferences-card{margin-bottom:24px;padding:0 20px 8px;overflow:visible}.mobile-preferences-title{background:var(--mint);border-radius:24px 24px 0 0;margin:0 -20px;padding:16px 20px;font-size:18px;font-weight:800;line-height:1.3}.mobile .preference-row{min-height:62px}.mobile-records-caption{color:var(--muted);text-align:center;padding:4px 0 12px;font-size:14px}.mobile-about-link{color:var(--muted);margin:4px auto 0;font-size:14px;display:block}.mobile .preference-appearance>.preference-row>span:last-child{background:var(--mint);border-radius:999px;padding:8px 12px}.word-detail-dialog{border-radius:28px;width:min(1060px,100%);max-width:none;min-height:660px;padding:0}.word-detail-dialog .modal-head{border-bottom:1px solid var(--line);min-height:64px;margin:0;padding:16px 24px;position:relative}.word-detail-dialog .modal-head>div{text-align:center;flex:1}.word-detail-dialog .modal-head h2{font-size:21px}.detail-back{align-items:center;gap:8px;font-size:17px;display:flex}.detail-back>svg{transform:rotate(180deg)}.word-detail-dialog .modal-body{flex-direction:column;flex:1;padding:40px;display:flex;position:relative}.word-detail-title{margin:4px 0 16px;padding-right:80px}.word-detail-title h3{letter-spacing:-2px;overflow-wrap:anywhere;font-size:clamp(40px,5vw,76px);font-weight:800;line-height:1.15}.word-seen-tag{background:var(--mint);color:var(--tint);border-radius:999px;align-items:center;gap:6px;padding:5px 12px;font-size:14px;display:flex;position:absolute;top:16px;right:96px}.word-detail-dialog .word-modal-meta{gap:16px;margin:0 0 20px;display:flex}.word-detail-dialog .word-modal-meta>.ipa{order:2;font-size:25px}.word-detail-dialog .word-modal-meta>.icon-button{background:var(--mint);border-radius:18px;order:1}.word-detail-dialog .word-modal-meta>.icon-button:last-child{background:0 0;position:absolute;top:12px;right:32px}.word-detail-dialog .word-modal-meaning{align-items:center;gap:18px;margin-bottom:20px;font-size:24px;display:flex}.word-detail-dialog .word-modal-meaning>span{background:var(--selection-surface);color:var(--selection-ink);border-radius:10px;padding:3px 14px;font-size:16px}.word-detail-dialog .phrase-note{flex-wrap:wrap;align-items:baseline;gap:12px;margin:0 0 12px;padding:12px 20px;display:flex;position:relative}.word-detail-dialog .phrase-note:before{content:"";background:var(--accent);border-radius:99px;width:4px;position:absolute;top:12px;bottom:12px;left:12px}.word-detail-dialog .phrase-note h3{font-size:22px}.word-detail-dialog .phrase-note p{font-size:19px}.word-detail-dialog .example-note{background:0 0;padding:0 12px}.word-detail-dialog .english-sentence{font-size:23px;font-weight:700}.word-detail-dialog .example-note p:last-child{color:var(--muted);margin-top:4px;font-size:18px}.word-detail-dialog .modal-footer{margin-top:auto;padding-top:28px}.search-dialog{width:min(820px,100%);min-height:620px}.search-dialog .modal-head{margin-bottom:20px}.search-dialog .modal-head h2{font-size:22px}.search-dialog .search-field{min-height:56px}.search-dialog .command-results{margin-top:24px}.search-dialog .command-result{background:var(--soft);border-radius:16px;min-height:56px;margin-bottom:10px;padding:12px 20px}.search-dialog .command-result .serif{font-size:23px;font-weight:800}.search-dialog .command-results>.muted{margin-top:120px;font-size:20px}@media (width>=680px){:is(.modal-backdrop:has(.word-detail-dialog),.modal-backdrop:has(.search-dialog)){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.word-detail-dialog{height:calc(100dvh - 128px);max-height:calc(100dvh - 128px);box-shadow:0 12px 32px var(--shadow-card)}.search-dialog{max-height:calc(100dvh - 128px)}}@media (width<=679px){.word-detail-dialog{width:100%;min-height:0;padding:0}.mobile .word-detail-dialog{padding:0}.word-detail-dialog .modal-head{padding:12px 16px}.word-detail-dialog .modal-head h2{font-size:18px}.detail-back{font-size:14px}.word-detail-dialog .modal-body{padding:24px}.word-detail-title{padding-right:0}.word-detail-title h3{font-size:42px}.word-seen-tag{display:none}.word-detail-dialog .word-modal-meta>.icon-button:last-child{top:0;right:16px}.word-detail-dialog .phrase-note{display:block}.word-detail-dialog .phrase-note h3,.word-detail-dialog .english-sentence{font-size:21px}.word-detail-dialog .phrase-note p{font-size:15px}.word-detail-dialog .modal-footer{margin-top:12px}.search-dialog{min-height:460px}}.chapter-order{display:none}.library-chapter-panel{background:var(--surface);border-radius:24px;padding:24px}.library-chapter-panel>h2{align-items:center;gap:12px;margin:0 0 20px;font-size:26px;display:flex}.library-chapter-panel .chapter-grid{flex-direction:column;gap:12px;display:flex}.library-chapter-panel .chapter-card{background:var(--soft);border:0;border-radius:20px;grid-template-columns:56px minmax(0,1fr) auto;gap:2px 20px;padding:16px 20px;display:grid}.library-chapter-panel .chapter-order{background:var(--mint);border-radius:16px;grid-area:1/1/3;place-items:center;width:48px;height:48px;font-size:21px;font-weight:800;display:grid}.library-chapter-panel .chapter-card-top{display:none}.library-chapter-panel .chapter-card h3{grid-area:1/2;align-self:end;margin:0;font-size:24px}.library-chapter-panel .chapter-card p{grid-area:2/2;align-self:start;margin:0;font-size:15px}.library-chapter-panel .chapter-card-actions{border:0;grid-area:1/3/3;align-self:center;gap:16px;margin:0;padding:0}.library-chapter-panel .chapter-card-actions button{background:var(--surface);border-radius:999px;min-width:120px;padding:10px 20px}.library-chapter-panel .chapter-card-actions button:first-child{background:var(--mint)}.library-chapter-panel .chapter-search{margin-bottom:20px}.search-dialog{max-width:820px}.search-dialog .command-result{align-items:center;gap:16px;display:flex}.search-dialog .command-result>svg:last-child{flex-shrink:0;margin-left:auto}.command-word{flex-wrap:wrap;flex:1;align-items:baseline;gap:8px 18px;display:flex}.command-word>strong{font-size:28px}.command-word>.ipa{color:var(--muted);font-size:21px}.command-word>small{gap:12px;width:100%;font-size:18px;display:flex}.command-word b{background:var(--selection-surface);color:var(--selection-ink);border-radius:8px;padding:1px 10px;font-size:15px}@media (width>=680px){.library-page{grid-template-columns:minmax(0,1fr) auto;gap:20px 24px;display:grid}.library-page>.library-banner{grid-area:1/1;min-width:0;margin:0}.library-page>.library-view-bar{border:0;grid-area:1/2;gap:16px;margin:0;padding:0}.library-page>.library-chapter-panel,.library-page>.library-tools,.library-page>.library-chapter-filter,.library-page>.vocabulary-table,.library-page>.library-pagination,.library-page>.library-caption{grid-column:1/-1}.library-chapter-panel .chapter-search{max-width:100%}}.mobile .library-page{display:block}.help-dialog{max-width:720px;padding:32px}.help-dialog .modal-head h2{font-size:26px}.help-dialog .shortcut-row{background:var(--soft);border:0;border-radius:18px;justify-content:flex-start;gap:28px;min-height:58px;margin-bottom:12px;padding:12px 20px;font-size:21px}.help-dialog kbd{text-align:center;background:var(--mint);min-width:150px;font:inherit;border:0;border-radius:12px;padding:4px 12px;font-weight:800}.help-dialog .shortcut-row:last-child{margin-bottom:0}.mobile .help-dialog .shortcut-row{gap:16px;font-size:16px}.mobile .help-dialog kbd{min-width:110px}.storage-recovery{max-width:800px;min-height:100dvh;margin:0 auto;padding:32px}.storage-recovery>.brand{margin-bottom:40px}.recovery-card{background:var(--surface);text-align:center;border-radius:28px;max-width:640px;margin:0 auto;padding:40px}.recovery-symbol{width:112px;height:112px;color:var(--accent);background:var(--mint);border-radius:32px;place-items:center;margin:0 auto 20px;display:grid;position:relative}.recovery-card h1{margin:0 0 20px;font-size:28px}.recovery-card>p{margin-bottom:28px;font-size:16px;line-height:1.8}.recovery-card>div:not(.recovery-symbol){flex-direction:column;gap:12px;display:flex}.recovery-card .button{width:100%;min-height:50px;font-size:17px}.storage-recovery>.recovery-preview{border:0;margin-top:24px;padding:40px}.recovery-counts{margin:28px 0}.recovery-counts>span{background:var(--mint);border-radius:18px;justify-content:center;align-items:center;gap:12px;padding:16px;font-size:20px;display:flex}.recovery-preview>p{text-align:left;gap:12px;display:flex}.recovery-preview>p svg{flex-shrink:0}.storage-recovery>p[role=alert]{background:var(--error-bg);border-radius:18px;max-width:640px;margin:20px auto;padding:20px;font-size:16px}@media (width<=679px){.storage-recovery{padding:20px}.storage-recovery>.brand{margin-bottom:28px;font-size:24px}.recovery-card{padding:28px 20px}.recovery-card h1{font-size:25px}.storage-recovery>.recovery-preview{padding:28px 20px}}.mobile-context-button{align-items:center;gap:8px;min-height:42px;font-size:19px;font-weight:800;display:flex}.recovery-card>p[role=alert]{background:var(--error-bg);color:var(--error);border-radius:16px;padding:16px;font-size:16px}@media (width<=679px){.modal-backdrop:has(.search-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:16px 20px;top:68px;bottom:80px}.mobile .search-dialog{width:100%;max-height:100%;box-shadow:none;background:var(--bg);border:0;min-height:0;padding:0}.mobile .search-dialog .modal-head{display:none}.mobile .search-dialog .search-field{background:var(--mint);margin-top:0}.mobile .search-dialog .command-results{margin-top:24px}.mobile .search-dialog .command-result{gap:8px;padding:14px 16px}.mobile .command-word>strong{font-size:25px}.mobile .command-word>.ipa{display:none}.mobile .command-word>small{font-size:17px}}.writing-content-library{background:var(--surface);border-radius:28px;min-height:560px;padding:32px}.writing-content-library>h1{margin:0 0 8px;font-size:32px}.writing-content-library>p{color:var(--muted);margin-bottom:32px;font-size:17px}.writing-type-options{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.writing-type-options>button{background:var(--soft);border:1px solid #0000;border-radius:24px;flex-direction:column;align-items:center;gap:14px;min-height:180px;padding:28px 16px;display:flex;position:relative}.writing-type-options>button[aria-pressed=true]{background:var(--selection-surface);color:var(--selection-ink);border-color:var(--selection-ink)}.writing-type-options>button>strong{font-size:24px}.writing-type-options>button>span{color:var(--muted);font-size:15px}.writing-type-options>button>svg:last-child:not(:first-child){color:var(--success);position:absolute;top:14px;right:14px}.writing-content-actions{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.writing-content-actions .button:first-child{margin-right:auto}.study-location{flex-wrap:wrap}@media (width>=680px) and (width<=1000px){.writing-type-options{gap:12px}.writing-type-options>button>strong{font-size:20px}.writing-type-options>button>span{font-size:13px}.writing-content-actions .button{padding:10px 16px;font-size:14px}}.chapter-finished{flex-direction:column;justify-content:center;align-items:center;max-width:1000px;min-height:580px;padding:48px 40px;display:flex}.chapter-finished h1{letter-spacing:-.5px;margin:24px 0 12px;font-size:32px;font-weight:800}.chapter-finished>p{font-size:16px}.chapter-finished-count{background:var(--mint);border-radius:20px;align-items:center;gap:12px;width:100%;margin:24px 0 36px;padding:20px}.chapter-finished-count strong{letter-spacing:0;font-size:28px;font-weight:800}.chapter-finished-count span{color:var(--ink);font-size:20px;font-weight:700}.chapter-finished-actions .button{min-height:50px;font-size:17px}.chapter-other{margin-top:20px;font-size:15px}.copy-overlay{position:relative;inset:auto;overflow:visible}.copy-pad textarea{resize:none;height:100%;min-height:100%;max-height:none;position:absolute;inset:0}.copy-paragraph .copy-intro h2{display:none}.copy-paragraph .copy-intro{padding:0}.copy-paragraph .copy-listen{margin:0;position:absolute;bottom:120px;left:40px}.copy-paragraph .copy-pad{background:0 0}.copy-paragraph .copy-overlay,.copy-paragraph .copy-pad textarea{padding:12px 24px;font-size:32px;line-height:1.45}.copy-paragraph .copy-context{margin-bottom:28px}.copy-paragraph .copy-overlay{min-height:300px}.copy-paragraph .copy-progress-line{width:auto;max-width:none;inset:40px 80px auto 120px}.copy-paragraph .copy-context{font-size:21px}.chapter-finished>.eyebrow{display:none}.success-mark{background:var(--action);width:76px;height:76px;color:var(--on-action);border:0}.success-mark>svg{stroke-width:2.3px;width:42px;height:42px}.library-page-numbers,.library-page-numbers>span{align-items:center;gap:6px;display:flex}.library-page-number{border-radius:14px;min-width:42px;min-height:42px;font-size:17px;font-weight:800}.library-page-number.active{background:var(--selection-surface);color:var(--selection-ink)}.page-ellipsis{padding:4px;font-size:18px}.library-page-range{color:var(--muted);font-size:14px}.mobile .library-page-number:not(.active),.mobile .page-ellipsis{display:none}.mobile .library-page-range{font-size:12px}.mobile .library-pagination{gap:8px}.completion{flex-direction:column;justify-content:center;align-items:center;max-width:1000px;min-height:580px;margin:auto;display:flex}.completion>h1{margin:12px 0 16px;font-size:32px;font-weight:800}.completion>p{color:var(--muted);font-size:17px;line-height:1.75}.review-summary{background:var(--mint);border-radius:22px;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:min(100%,640px);margin:28px auto 32px;padding:20px;display:grid}.review-summary>div{flex-direction:column;align-items:center;gap:6px;display:flex}.review-summary>div+div{border-left:1px solid var(--line)}.review-summary strong{color:var(--accent-text);font-size:30px;font-weight:800}.review-summary span{color:var(--ink);font-size:15px}.completion-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.completion>.text-link{margin-top:24px}.mobile .completion{min-height:0}.mobile .review-summary{gap:12px;padding:16px}.mobile .review-summary strong{font-size:25px}.mobile .review-summary span{font-size:13px}.sync-mobile-title,.mobile-sync-cloud,.sync-local-hint{display:none}.cloud-auth-buttons .apple-auth-button{border-radius:24px!important;width:100%!important;max-width:360px!important;height:48px!important}@media (width<=679px){.modal-backdrop:has(.sync-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:16px 20px;top:68px;bottom:80px}.mobile .sync-dialog{width:100%;max-height:100%;box-shadow:none;background:0 0;border:0;padding:0;overflow-y:auto}.mobile .sync-dialog .modal-head{display:none}.mobile .sync-dialog .modal-body{overflow:visible}.mobile .cloud-sync-panel{background:var(--surface);border-radius:24px;min-height:440px;padding:24px 16px}.mobile .sync-symbol{margin:0 0 20px}.mobile .sync-symbol-disconnected>svg{display:none}.mobile .mobile-sync-cloud{width:112px;height:96px;color:var(--success);place-items:center;display:grid;position:relative}.mobile-sync-cloud>svg:first-child{width:112px;height:96px;fill:var(--mint);stroke:var(--mint);stroke-width:1.5px}.mobile-sync-cloud>svg:last-child{stroke-width:1.7px;width:38px;height:38px;position:absolute;top:38px;left:38px}.mobile .sync-symbol-disconnected+h3 .sync-default-title{display:none}.mobile .sync-mobile-title{display:block}.mobile .cloud-sync-panel h3{font-size:23px;line-height:1.5}.mobile .cloud-sync-panel .sync-description{color:var(--muted);min-height:0;margin:0 0 28px;font-size:16px}.mobile .cloud-auth-buttons{margin-top:4px}.mobile .cloud-auth-buttons .apple-auth-button{border-radius:28px!important;height:54px!important}.mobile .cloud-sync-panel:has(.sync-symbol-disconnected) .sync-actions{display:none}.mobile .sync-local-hint{background:var(--mint);text-align:left;border-radius:18px;justify-content:center;align-items:center;gap:14px;width:100%;margin:12px 0 0;padding:14px 16px;font-size:14px;line-height:1.8;display:flex}.mobile .sync-local-hint>svg{flex-shrink:0}}.records-dialog{width:min(820px,100%);max-width:820px}.legacy-import-dialog{width:min(720px,100%);max-width:720px;min-height:480px}.legacy-import-dialog .modal-head h2{font-size:27px}.import-record-counts{background:var(--mint);border-radius:20px;flex-direction:column;gap:0;margin:20px 0;padding:8px 20px;display:flex}.import-record-counts>div{align-items:center;gap:20px;padding:16px 4px;font-size:20px;display:flex}.import-record-counts>div+div{border-top:1px solid var(--line)}.import-record-counts strong{color:var(--accent-text);font-size:28px;font-weight:800}.legacy-import-dialog .caption{color:var(--muted);font-size:14px;line-height:1.7}.legacy-import-dialog .modal-footer{justify-content:space-between;margin-top:28px}.legacy-import-dialog .import-unmatched{background:var(--soft);border-radius:20px;margin:16px 0;padding:20px}.legacy-import-dialog .import-unmatched>strong{font-size:20px}.legacy-import-dialog .import-unmatched>p{margin:12px 0;line-height:1.7}@media (width>=680px){:is(.modal-backdrop:has(.records-dialog),.modal-backdrop:has(.legacy-import-dialog)){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.records-dialog,.legacy-import-dialog{max-height:calc(100dvh - 128px);box-shadow:0 12px 32px var(--shadow-card)}}@media (width<=679px){.legacy-import-dialog{min-height:0}.legacy-import-dialog .modal-head h2{font-size:22px}.import-record-counts>div{gap:12px;font-size:16px}.import-record-counts strong{font-size:24px}}.review-lobby{box-shadow:none;background:0 0;border:0;max-width:1000px;padding:0}.review-lobby>.page-heading,.review-lobby .review-aside{display:none}.review-lobby-grid{display:block}.review-start-panel{border-radius:28px;flex-direction:column;min-height:560px;padding:48px;display:flex}.review-start-panel>h1{order:1;margin:0 0 12px;font-size:40px;font-weight:800}.review-start-panel>h2{order:2;margin:0 0 28px;font-size:25px}.review-start-panel>.review-mode-picker{border:1px solid var(--line);background:var(--bg);border-radius:999px;order:3;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:6px;display:grid}.review-start-panel .review-mode-picker>button{border-radius:999px;justify-content:center;gap:16px;padding:16px;font-size:22px;font-weight:800}.review-start-panel .review-mode-picker>button>svg:last-child{display:none}.review-start-panel>p{text-align:center;color:var(--muted);order:4;margin:24px 0 36px;font-size:18px}.review-start-panel>.button{order:5;align-self:center;width:min(100%,480px);min-height:56px;margin-top:auto;font-size:22px}.review-empty-page{max-width:1000px}.review-empty-panel{background:var(--surface);border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:580px;padding:48px 32px;display:flex}.review-empty-panel>svg{color:var(--mint-strong)}.review-empty-panel>h1{margin:0 0 16px;font-size:32px;font-weight:800}.review-empty-panel .button{min-width:200px;min-height:54px;font-size:19px}.completion>.eyebrow{display:none}@media (width<=679px){.mobile .review-start-panel{min-height:420px;padding:28px 20px}.mobile .review-start-panel>h1{font-size:30px}.mobile .review-start-panel .review-mode-picker>button{gap:8px;padding:12px;font-size:16px}.mobile .review-start-panel>.button{font-size:18px}.mobile .review-empty-panel{min-height:440px;padding:32px 20px}.mobile .review-empty-panel>h1{font-size:25px}.mobile .review-empty-panel .completion-actions,.mobile .review-empty-panel .button{width:100%}}.pronunciation-loading{background:var(--mint);min-height:48px;color:var(--ink);border-radius:999px;gap:14px;padding:4px 18px 4px 4px;font-size:17px;font-weight:700}.pronunciation-playing,.pronunciation-device{gap:18px}.pronunciation-playing>button,.pronunciation-device>button{background:var(--mint);border-radius:50%}.audio-wave{height:44px;color:var(--tint);align-items:center;gap:4px;display:inline-flex}.audio-wave>i{background:currentColor;border-radius:99px;width:4px;animation:.9s ease-in-out infinite alternate audio-bar;display:block}.pronunciation-device .audio-wave{color:var(--muted)}@keyframes audio-bar{to{transform:scaleY(.45)}}@media (prefers-reduced-motion:reduce){.audio-wave>i{animation:none}}.offline-banner[role=alert]{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.backup-import-picker>p{font-size:17px;line-height:1.8}.backup-file-choice{border:1px dashed var(--line);background:var(--soft);text-align:left;border-radius:20px;align-items:center;gap:16px;width:100%;min-height:150px;margin:24px 0 12px;padding:24px;display:flex}.backup-file-choice>strong{overflow-wrap:anywhere;flex:1;font-size:21px}.backup-file-choice>span{color:var(--muted);font-size:15px}.backup-file-choice.has-file{background:var(--surface);border-style:solid;min-height:96px}.backup-format-note{background:var(--mint);color:var(--muted);border-radius:12px;padding:10px 16px;font-size:15px!important}.backup-import-error{background:var(--error-bg);color:var(--error);border-radius:16px;align-items:flex-start;gap:12px;margin-top:20px;padding:16px;line-height:1.7;display:flex}.backup-import-error>svg{flex-shrink:0;margin-top:3px}.backup-import-reading{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:330px;padding:24px;display:flex}.backup-import-reading>svg{color:var(--tint)}.backup-import-reading h3{font-size:25px;font-weight:800}.backup-import-reading>p{text-align:center;color:var(--muted);font-size:17px;line-height:1.8}.backup-import-reading>.button{min-width:140px;margin-top:24px}.toast-error{background:var(--error-bg);color:var(--error);border-color:var(--error-border)}.recovery-header{justify-content:space-between;align-items:center;margin-bottom:40px;display:flex}.recovery-header>span,.recovery-navigation,.recovery-mobile-symbol{display:none}.recovery-explanation{align-items:center}.recovery-explanation>p{margin:0 0 28px;font-size:16px;line-height:1.8}.recovery-explanation .recovery-symbol{flex-shrink:0}@media (width<=679px){.storage-recovery{padding-bottom:110px}.recovery-header{margin-bottom:24px}.recovery-header>.brand{font-size:24px}.recovery-header>span{align-items:center;gap:8px;font-size:19px;font-weight:800;display:flex}.recovery-navigation{background:var(--surface);min-height:80px;box-shadow:0 -4px 20px var(--shadow-card);z-index:120;border-radius:24px 24px 0 0;justify-content:space-around;align-items:center;padding:10px 12px 16px;display:flex;position:fixed;bottom:0;left:0;right:0}.recovery-navigation>button{color:var(--ink);opacity:1;flex-direction:column;align-items:center;gap:5px;font-size:12px;display:flex}.recovery-navigation>button:nth-child(2){color:var(--accent-text)}.recovery-card:not(.recovery-preview){background:0 0;padding:0}.recovery-explanation{background:var(--error-bg);border-radius:24px;margin-bottom:20px;padding:24px 16px 16px}.recovery-explanation>.recovery-symbol{width:84px;height:84px;color:var(--error);background:0 0;margin-bottom:8px}.recovery-desktop-symbol{display:none}.recovery-mobile-symbol{display:block}.recovery-explanation>h1{font-size:24px}.recovery-explanation>p{color:var(--muted);margin:0 0 12px;font-size:15px}.recovery-card>div:not(.recovery-symbol):not(.recovery-explanation){gap:12px}}@media (width>=680px){.modal-backdrop:has(.sync-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.sync-dialog{width:min(600px,100%);max-width:600px;min-height:600px}.sync-dialog .modal-body{flex-direction:column;flex:1;display:flex}.sync-dialog .cloud-sync-panel{flex:1;min-height:470px}.sync-dialog .sync-symbol{margin-top:24px;margin-bottom:20px}.sync-dialog .sync-actions,.sync-dialog .sync-busy,.sync-dialog .cloud-auth-buttons:not(.auth-hidden){margin-top:auto}}.cloud-auth-buttons .apple-auth-button{text-align:left!important}.pack-picker-dialog{border-radius:20px;width:360px;max-width:360px;padding:20px}.pack-picker-dialog .modal-head h2{font-size:21px}.pack-picker-dialog .modal-description{display:none}.pack-picker-dialog .pack-grid{flex-direction:column;gap:8px;display:flex}.pack-picker-dialog .pack-spine{display:none}.pack-picker-dialog .pack-card{background:var(--soft);border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:14px 16px;display:flex}.pack-picker-dialog .pack-card.selected{background:var(--selection-surface);color:var(--selection-ink)}.pack-picker-dialog .pack-card strong{font-size:18px}.pack-picker-dialog .pack-card p{display:none}.pack-picker-dialog .pack-card small{margin-top:6px;font-size:13px;display:block}.chapter-picker-dialog{width:min(1000px,100%);max-width:1000px;min-height:600px}.chapter-picker-dialog .modal-head h2{font-size:26px}.chapter-picker-dialog .chapter-grid{flex-direction:column;gap:12px;display:flex}.chapter-picker-dialog .chapter-card{background:var(--soft);border:0;border-radius:18px;grid-template-columns:48px minmax(0,1fr) 130px 210px;align-items:center;gap:16px;padding:16px 20px;display:grid}.chapter-picker-dialog .chapter-card.selected{background:var(--mint)}.chapter-picker-dialog .chapter-order{background:var(--mint-strong);border-radius:14px;place-items:center;width:42px;height:42px;font-size:19px;font-weight:800;display:grid}.chapter-picker-dialog .chapter-card-top{display:none}.chapter-picker-dialog .chapter-card>h3{margin:0;font-size:21px;font-weight:800}.chapter-picker-dialog .chapter-card>p{color:var(--muted);margin:0;font-size:15px}.chapter-picker-dialog .chapter-card-actions{border:0;justify-content:flex-end;align-items:center;gap:12px;margin:0;padding:0;display:flex}.chapter-picker-dialog .chapter-card-actions>button{background:var(--surface);border-radius:999px;min-height:44px;padding:10px 16px;font-size:15px}.chapter-picker-dialog .chapter-card-actions>button:first-child{background:var(--action);color:var(--on-action)}.chapter-picker-dialog .chapter-search{min-height:56px;margin-bottom:24px}.chapter-search-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:360px;display:flex}.chapter-search-empty>svg{color:var(--muted);background:var(--mint);border-radius:24px;width:96px;height:96px;padding:16px}.chapter-search-empty>h3{margin:0;font-size:25px;font-weight:800}.chapter-search-empty>p{color:var(--muted);margin:0;font-size:16px}.chapter-search-empty>.button{margin-top:8px}@media (width>=680px){.modal-backdrop:has(.pack-picker-dialog){-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;justify-content:flex-start;align-items:flex-start;padding:92px 20px 20px 240px}.route-library .modal-backdrop:has(.pack-picker-dialog){padding-top:168px}.modal-backdrop:has(.chapter-picker-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.chapter-picker-dialog{max-height:calc(100dvh - 128px)}}@media (width<=900px){.chapter-picker-dialog .chapter-card{grid-template-columns:36px minmax(0,1fr);gap:8px 12px}.chapter-picker-dialog .chapter-card>p{grid-column:2}.chapter-picker-dialog .chapter-card-actions{grid-column:2;justify-content:flex-start}.chapter-picker-dialog .chapter-order{grid-row:1/4;width:36px;height:36px}.chapter-picker-dialog .chapter-card>h3{font-size:19px}}@media (width<=679px){.chapter-picker-dialog{min-height:0}.pack-picker-dialog{max-width:100%}}@media (width>=680px){.copy-main:not(.copy-paragraph) .copy-intro h2{margin-bottom:14px;font-size:30px}.copy-main:not(.copy-paragraph) .copy-pad{background:0 0;border-color:#0000;padding-left:72px}.copy-main:not(.copy-paragraph) .copy-pad textarea,.copy-main:not(.copy-paragraph) .copy-overlay{letter-spacing:-1px;padding:16px 24px;font-size:64px;line-height:1.25}.copy-main:not(.copy-paragraph) .copy-overlay{min-height:260px}.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-listen{margin:0;position:absolute;top:254px;left:40px}.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-listen button{background:var(--mint);border-radius:18px;justify-content:center;width:60px;height:50px;font-size:0}.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-listen svg{width:28px;height:28px}.copy-main.copy-dictation:not(.copy-paragraph) .copy-pad{background:var(--mint);padding-left:0}.copy-main.copy-dictation:not(.copy-paragraph) .copy-overlay,.copy-main.copy-dictation:not(.copy-paragraph) .copy-pad textarea{font-size:56px}.copy-main:not(.copy-paragraph) .copy-pad.is-done{border-color:#0000}.copy-main:not(.copy-paragraph) .dictation-placeholder{font-size:24px;font-weight:500}}@media (width>=680px) and (height<=820px){.copy-main:not(.copy-paragraph) .copy-pad textarea,.copy-main:not(.copy-paragraph) .copy-overlay{font-size:48px}.copy-main:not(.copy-paragraph) .copy-overlay{min-height:200px}.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-listen{top:220px}}@media (width>=680px){.soft-review{background:var(--surface);border:0;border-radius:32px;grid-template-columns:minmax(0,1fr) auto;gap:0 24px;max-width:1200px;min-height:720px;padding:28px 40px;display:grid}.soft-review-header,.soft-review .review-choices,.soft-review .unknown-button,.soft-review .session-footnote{grid-column:1/-1}.soft-review-header{background:0 0;margin-bottom:20px;padding:0}.soft-review-mode{margin:0 0 16px}.soft-review-question>h2{background:var(--mint);border-radius:18px;padding:14px 20px}.soft-review-question>p{display:none}.soft-review-question>.icon-button{margin-top:-54px;position:absolute;right:80px}.soft-review.review-answered .soft-review-question>h2{display:none}.soft-review-reveal{justify-content:center;margin:12px 0 0}.soft-review-reveal>strong{font-size:72px}.soft-review-reveal>.ipa,.soft-review-reveal>.icon-button{display:none}.soft-review .review-choice>span:nth-child(2){flex-direction:row;align-items:center;gap:32px}.soft-review .review-choice>span:nth-child(2)>strong{min-width:40%}.soft-review .review-choice small{margin:0;font-size:20px;line-height:1.4}.soft-review .review-choice,.soft-review .review-choice:disabled{min-height:64px}.soft-review .review-answer-note{grid-column:1;align-self:center;margin:0;padding:14px 20px}.soft-review .review-answer-note p{display:none}.soft-review .review-next{background:0 0;grid-column:2;align-self:center;margin:0;padding:0;position:static}.soft-review .review-next .button{min-width:220px}.soft-review .session-footnote{margin-bottom:0}.copy-paragraph .copy-overlay,.copy-paragraph .copy-pad textarea{font-size:44px;line-height:1.4}}.empty-state{text-align:center;background:var(--surface);border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:440px;padding:40px 24px;display:flex}.empty-icon{background:var(--mint);width:100px;height:100px;color:var(--muted);border-radius:28px;place-items:center;display:grid}.empty-icon>svg{width:56px;height:56px}.empty-state>h2{font-size:26px}.empty-state>p{color:var(--muted);max-width:440px;font-size:16px}.empty-state .button{margin-top:8px}.search-dialog .command-result{width:100%;font-size:22px}.search-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:360px;display:flex}.search-empty>svg{box-sizing:content-box;background:var(--mint);color:var(--muted);border-radius:24px;padding:20px}.search-empty>p{font-size:21px}.mobile .empty-state{min-height:360px;padding:28px 20px}.mobile .empty-state>h2{font-size:23px}.mobile .search-empty{min-height:300px}.mobile .search-empty>p{font-size:17px}@media (width>=680px){.word-detail-title h3{font-size:clamp(64px,8vw,112px)}.word-detail-dialog .word-modal-meaning{font-size:30px}.word-detail-dialog .english-sentence{font-size:28px}.word-detail-dialog .phrase-note h3{font-size:27px}.word-detail-dialog .phrase-note p{font-size:23px}.search-dialog{width:100%;max-width:1100px;height:calc(100dvh - 128px)}.search-dialog .modal-head{display:none}.search-dialog .command-result{min-height:68px}.search-dialog .command-result .command-word>strong{font-size:34px}.help-dialog{width:1000px;max-width:calc(100vw - 280px);padding:40px}.help-dialog .shortcut-row{min-height:76px;font-size:26px}.help-dialog .modal-head h2{font-size:30px}.modal-backdrop:has(.sync-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.sync-dialog{width:100%;max-width:1100px;min-height:640px;padding:32px}.sync-dialog .modal-head h2{font-size:28px}.sync-dialog .modal-body{flex-direction:column;flex:1;display:flex}.sync-dialog .cloud-sync-panel{flex:1;min-height:510px;padding-top:28px}.sync-dialog .sync-symbol{width:120px;height:120px;margin-bottom:24px}.sync-dialog .sync-symbol>svg{width:104px;height:104px}.sync-dialog .cloud-sync-panel h3{font-size:34px}.sync-dialog .sync-description{max-width:700px;margin-bottom:28px;font-size:20px}.sync-dialog .sync-actions,.sync-dialog .sync-busy{align-self:center;max-width:760px;margin-top:auto}.sync-dialog .sync-actions .button{min-height:56px;font-size:20px}.sync-dialog .sync-snapshot,.sync-dialog .cloud-auth-buttons{max-width:760px}.sync-dialog .sync-local-hint{margin-top:20px}.storage-recovery{background:var(--bg);width:100%;max-width:none;margin:0;padding:96px 32px 32px 240px}.storage-recovery>.recovery-header{background:var(--surface);width:208px;margin:0;padding:32px 24px;display:block;position:fixed;top:0;bottom:0;left:0}.storage-recovery>.recovery-navigation{flex-direction:column;align-items:flex-start;gap:24px;width:160px;display:flex;position:fixed;top:138px;left:24px}.recovery-navigation>button{min-height:50px;color:var(--muted);align-items:center;gap:20px;font-size:20px;display:flex}.storage-recovery>.recovery-card{border:0;flex-direction:column;justify-content:center;align-items:center;max-width:1100px;min-height:640px;margin:0 auto;padding:64px 60px;display:flex}.recovery-card .recovery-explanation{max-width:760px}.recovery-card h1{font-size:34px}.recovery-card>p{max-width:760px;font-size:20px}.recovery-card>div:not(.recovery-symbol){width:100%;max-width:760px}.recovery-card .button{min-height:56px;font-size:20px}.recovery-card .recovery-symbol{flex-shrink:0}.modal-backdrop:has(.legacy-import-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.legacy-import-dialog{width:100%;max-width:1100px;min-height:640px}.legacy-import-dialog .modal-head h2{font-size:30px}.legacy-import-dialog .modal-body{flex:1}.backup-import-picker{flex-direction:column;min-height:480px;display:flex}.backup-import-picker .modal-footer{margin-top:auto}.modal-backdrop:has(.records-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.records-dialog{width:100%;max-width:1100px;min-height:640px}.records-dialog .modal-head h2{font-size:30px}.records-controls .setting-row{min-height:104px}.records-controls .setting-row strong{font-size:22px}.records-controls .setting-row small{font-size:17px}.records-controls .data-actions{max-width:none!important}.records-controls .setting-row>span{max-width:56%}.records-controls .data-actions .button{padding:12px 18px;font-size:16px}.sync-dialog .sync-symbol .sync-symbol-check{width:36px;height:36px;top:58px;left:52px}.copy-paragraph .copy-overlay,.copy-paragraph .copy-pad textarea{font-size:clamp(32px,4vw,56px)}}.sync-symbol-error>svg:first-child{color:var(--muted)}.sync-symbol .sync-symbol-issue{background:var(--surface);width:34px;height:34px;color:var(--error);stroke-width:2px;border-radius:50%;padding:3px;position:absolute;top:56px;left:58px}.sync-symbol-paused,.sync-symbol-account-changed{background:var(--selection-surface);color:var(--selection-ink);border-radius:26px}.sync-symbol-paused>svg,.sync-symbol-account-changed>svg{width:56px;height:56px}@media (width>=680px){.sync-dialog .sync-symbol .sync-symbol-issue{width:38px;height:38px;top:70px;left:72px}.sync-dialog .sync-symbol.sync-symbol-paused>svg,.sync-dialog .sync-symbol.sync-symbol-account-changed>svg{width:56px;height:56px}}.typing-hint.status-complete,.typing-hint.status-error{border-radius:16px;align-items:center;gap:12px;height:auto;min-height:48px;margin-left:0;margin-right:0;padding:10px 18px;font-size:18px;display:flex}.typing-hint.status-complete{background:var(--success-bg);color:var(--success)}.typing-hint.status-error{background:var(--error-bg);color:var(--error)}.typing-hint>svg{flex-shrink:0}@media (width>=680px){.copy-main:has(.copy-enter) .copy-status{background:var(--success-bg);color:var(--success);border-radius:16px;max-width:none;min-height:48px;margin:16px 0 20px;padding:12px 18px;font-size:18px;display:flex;position:static}.copy-main:has(.copy-enter) .copy-status>span:first-child{align-items:center;gap:12px;display:flex}.library-page .vocabulary-table{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:calc(100dvh - 430px);overflow-y:auto}.library-page .vocabulary-table:not(:has(.vocabulary-row)){display:none}}.record-notice{background:var(--success-bg);color:var(--success);border-radius:16px;align-items:center;gap:12px;margin:0 0 20px;padding:12px 16px;font-size:17px;display:flex}.record-notice>span{flex:1}.record-notice>svg{flex-shrink:0}.record-notice>.icon-button{width:32px;min-width:32px;height:32px}.record-overview{background:var(--mint);border-radius:20px;flex-direction:column;margin-bottom:24px;padding:8px 20px;display:flex}.record-overview>div{align-items:center;gap:16px;padding:12px 0;font-size:18px;display:flex}.record-overview>div+div{border-top:1px solid var(--line)}.record-overview strong{color:var(--accent-text);font-size:28px;font-weight:800}.backup-receipt{background:var(--soft);border-radius:20px;margin-bottom:24px;padding:20px}.backup-receipt h3{margin:0 0 16px;font-size:20px}.backup-receipt>div{background:var(--mint);border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.backup-receipt strong{overflow-wrap:anywhere;flex:1}.backup-receipt>div>span,.backup-receipt>p{color:var(--muted);font-size:15px}.backup-receipt>p{margin:14px 0 0}.clear-records-symbol{color:var(--error);justify-content:center;padding:32px 0;display:flex}.clear-records-dialog .modal-description{max-width:760px;margin:0 auto 32px}.clear-records-dialog .modal-footer{flex-wrap:wrap;justify-content:center}@media (width>=680px){.modal-backdrop:has(.clear-records-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.clear-records-dialog{width:100%;max-width:1100px;min-height:640px}.clear-records-dialog .modal-head h2{font-size:30px}.clear-records-dialog .modal-body{flex-direction:column;flex:1;justify-content:center;display:flex}.clear-records-dialog .modal-description{font-size:22px;line-height:1.9}.clear-records-dialog .button{min-height:56px;font-size:20px}.record-overview>div{font-size:20px}}@media (width<=679px){.record-overview>div{gap:10px;font-size:15px}.record-overview strong{font-size:24px}.record-notice{font-size:15px}.backup-receipt>div{flex-wrap:wrap}.backup-receipt strong{font-size:14px}.clear-records-symbol{padding:12px 0}.clear-records-dialog .modal-head h2{font-size:24px}}.records-export-dialog .record-overview,.records-export-dialog .records-controls>.caption,.records-export-dialog .records-controls>.setting-row:not(:nth-child(2)),.records-export-dialog .records-controls>.setting-row:nth-child(2)>span{display:none}.records-export-dialog .modal-body{flex-direction:column;flex:1;display:flex}.records-export-dialog .backup-receipt{margin-top:8px}.records-export-dialog .records-controls{margin-top:auto}.records-export-dialog .records-controls>.setting-row{justify-content:center;min-height:72px}.records-export-dialog .records-controls .data-actions{justify-content:center;gap:16px;width:100%;max-width:none}.records-export-dialog .data-actions>.button{flex:1;max-width:400px}.clear-records-summary,.clear-records-note{background:var(--mint);border-radius:20px;align-items:center;gap:20px;width:100%;max-width:760px;margin:0 auto 20px;padding:24px;font-size:20px;line-height:1.8;display:flex}.clear-records-summary>svg,.clear-records-note>svg{flex-shrink:0}.clear-records-summary p,.clear-records-note p{margin:0}.clear-records-note{background:var(--selection-surface);color:var(--selection-ink);font-size:18px}.recovery-write-failed>p[role=alert]{color:var(--muted);background:0 0;padding:0}.recovery-card>p.recovery-retry-note{text-align:left;background:var(--selection-surface);color:var(--selection-ink);border-radius:18px;align-items:flex-start;gap:14px;padding:20px;display:flex}.recovery-retry-note>svg{flex-shrink:0;margin-top:4px}[data-theme=dark] .cloud-auth-buttons .apple-auth-button{filter:invert()}@media (width<=679px){.clear-records-summary,.clear-records-note{gap:12px;padding:16px;font-size:15px}.recovery-card>p.recovery-retry-note{padding:16px;font-size:14px}}.records-result-dialog .records-controls>.caption,.records-result-dialog .records-controls>.setting-row:not(:nth-child(2)),.records-result-dialog .records-controls>.setting-row:nth-child(2)>span{display:none}.records-result-dialog .modal-body{flex-direction:column;flex:1;display:flex}.records-result-dialog .records-controls{margin-top:auto}.records-result-dialog .records-controls>.setting-row{justify-content:center;min-height:72px}.records-result-dialog .records-controls .data-actions{justify-content:center;gap:16px;width:100%;max-width:none}.records-result-dialog .data-actions>.button{flex:1;max-width:400px}.clear-records-dialog .modal-footer{grid-template-columns:1fr 1fr;width:100%;max-width:760px;margin:12px auto 0;display:grid}.clear-records-dialog .modal-footer>.button:last-child{grid-column:1/-1;justify-self:center;min-width:220px}.clear-records-dialog .button-danger{background:var(--error);color:var(--surface)}.recovery-snapshots>p{color:var(--muted);margin:0 0 28px;font-size:20px;line-height:1.8}.recovery-snapshot-row{border:1px solid var(--line);border-radius:22px;align-items:center;gap:20px;min-height:112px;margin-bottom:20px;padding:20px;display:flex}.recovery-snapshot-row>strong{flex:1;font-size:23px}.recovery-snapshot-row>.button{background:var(--mint);box-shadow:none;border:0;min-width:128px}@media (width<=679px){.recovery-snapshots>p{font-size:15px}.recovery-snapshot-row{gap:10px;min-height:90px;padding:14px}.recovery-snapshot-row>strong{font-size:16px}.recovery-snapshot-row>.button{min-width:72px;padding:10px 12px;font-size:14px}}@media (width>=680px){.modal-backdrop:has(.keyboard-palette){background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:100px 32px 32px;inset:0}.search-dialog.keyboard-palette{width:min(680px,100%);max-width:680px;height:auto;min-height:0;max-height:calc(100dvh - 132px);box-shadow:0 20px 70px var(--shadow-modal);border-radius:24px;padding:24px}.keyboard-palette .search-field{min-height:52px}.keyboard-palette .command-results{margin-top:20px}.keyboard-palette .command-result{min-height:48px;margin-bottom:8px;padding:10px 16px;font-size:18px}.keyboard-palette .command-word>strong{font-size:24px!important}.keyboard-palette .command-word>small{font-size:16px}.keyboard-palette .search-empty{min-height:200px}.command-keyboard-hint{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;margin-top:20px;padding-top:18px;font-size:14px;display:flex}.command-keyboard-hint>span{align-items:center;gap:8px;display:flex}.command-keyboard-hint kbd{background:var(--mint);font:inherit;color:var(--ink);border-radius:8px;padding:4px 8px;font-weight:800}}.keyboard-palette .command-result:focus-visible{background:var(--selection-surface);color:var(--selection-ink)}.command-search-header{align-items:center;gap:20px;display:flex}.command-search-header>.search-field{flex:1;min-width:0}.command-close{white-space:nowrap;min-height:48px;color:var(--muted);align-items:center;gap:10px;padding:8px 12px;font-size:18px;display:flex}.command-close kbd{font:inherit;background:var(--soft);border-radius:8px;padding:4px 8px;font-weight:700}.command-section-label{color:var(--muted);margin:0 0 16px;font-size:18px}.search-dialog .command-first-result{background:var(--selection-surface);color:var(--selection-ink)}.preference-sound-expanded{border-bottom:0}.preference-sound-label{align-items:center;gap:20px;min-height:44px;display:flex}.preferences-card .preference-sound{background:var(--mint);border:0;border-radius:16px;justify-content:flex-start;gap:24px;margin:0 0 8px;padding:10px 20px;font-size:17px}.preference-sound .pronunciation{gap:16px;min-height:48px;margin:0;font-size:20px}.preference-sound .pronunciation>button{border-radius:14px;width:48px;height:44px}.preference-sound .pronunciation>button>svg{width:24px;height:24px}.preference-sound .audio-wave{height:36px;color:var(--accent)}.preference-sound .audio-wave>i{width:3px}.preference-audio-note{margin-top:8px;margin-bottom:0}@media (width>=680px){.modal-backdrop:has(.help-dialog){background:var(--bg);-webkit-backdrop-filter:none;backdrop-filter:none;align-items:flex-start;padding:96px 32px 32px;left:208px}.help-dialog{width:100%;max-width:1100px;box-shadow:0 12px 32px var(--shadow-card)}.help-dialog kbd{min-width:180px}.search-dialog:not(.keyboard-palette) .search-empty{min-height:calc(100dvh - 290px)}.search-dialog:not(.keyboard-palette) .search-field{max-width:none}.search-dialog:not(.keyboard-palette) .search-field input{font-size:24px}.search-dialog:not(.keyboard-palette) .command-result>svg:first-child{width:24px;height:24px}.search-dialog:not(.keyboard-palette) .command-result{min-height:68px}}.dictation-peek{background:var(--mint);min-height:44px;color:var(--ink);border-radius:14px;align-items:center;gap:12px;margin-top:16px;padding:8px 16px;font-size:18px;font-weight:700;display:flex}.dictation-peek.is-revealed{width:100%}.dictation-peek>svg{flex-shrink:0}.dictation-practice .typing-hint.sr-only{clip-path:inset(50%);width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden}.practice-word-complete{vertical-align:middle;background:var(--success-bg);width:50px;height:50px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;margin-left:24px;display:inline-flex}.typing-word:has(.dictation-mask){text-align:center}.dictation-mask{letter-spacing:clamp(12px,3cqw,40px);font-size:clamp(32px,4.5cqw,64px)}.chapter-completion{flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex}.chapter-finished{max-width:none;min-height:min(760px,100dvh - 160px);padding:48px 40px}.chapter-finished .success-mark{background:var(--mint);width:112px;height:112px;color:var(--success)}.chapter-finished .success-mark>svg{width:64px;height:64px}.chapter-finished h1{margin:28px 0 16px;font-size:44px}.chapter-finished-count{background:0 0;border-radius:0;width:auto;max-width:100%;margin:0 0 52px;padding:0}.chapter-finished-count span{color:var(--muted);font-size:24px;font-weight:500;line-height:1.6}.chapter-finished-actions{gap:20px}.chapter-finished-actions .button{border-radius:22px;min-height:64px;padding:14px 28px;font-size:22px}.chapter-finished-last .chapter-finished-actions{flex-direction:column;width:min(520px,100%)}.chapter-finished-last .chapter-finished-actions>.button{width:100%}.chapter-finished-last .chapter-finished-actions>.button-primary{order:-1}@media (width<=679px){.chapter-finished{min-height:600px;padding:32px 20px}.chapter-finished h1{font-size:28px}.chapter-finished-count span{font-size:17px}.chapter-finished-actions .button{min-height:52px;font-size:17px}.chapter-finished .success-mark{width:80px;height:80px}.chapter-finished .success-mark>svg{width:44px;height:44px}}.copy-context>.icon-button{margin-left:auto}.copy-context>span:nth-child(2){color:var(--accent-text);font-variant-numeric:tabular-nums;letter-spacing:0}@media (width>=1100px) and (height>=821px){.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-pad textarea,.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-overlay{font-size:76px}}@media (width>=680px){.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-pad{max-width:1000px}.copy-main:not(.copy-paragraph):not(.copy-dictation) .copy-pad textarea{width:calc(100% - 72px);left:72px}}.copy-button-enter{margin-top:3px;font-size:12px;line-height:1.3;display:block}.copy-main .copy-enter{display:none!important}.dictation-caption{color:var(--ink);margin-right:20px;font-size:18px;font-weight:700}.copy-dictation .copy-prompt-line{align-items:center;gap:20px;display:flex}.copy-dictation .copy-prompt-line h2{margin:0}.copy-dictation-listen{background:var(--mint);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:50px;display:flex}.copy-dictation .dictation-reference{background:var(--mint);color:var(--ink);border-radius:16px;align-items:flex-start;gap:16px;margin:0 0 24px;padding:16px 20px;display:flex}.dictation-reference>span{flex-shrink:0;font-size:16px}.dictation-reference>p{flex:1;margin:0;font-size:20px;font-weight:700;line-height:1.5}.dictation-reference>button{white-space:nowrap;align-items:center;gap:6px;font-size:15px;display:flex}.copy-peek{background:var(--selection-surface);color:var(--selection-ink);border-radius:14px;align-self:flex-start;align-items:center;gap:10px;min-height:44px;margin-top:16px;padding:8px 16px;font-size:18px;font-weight:700;display:flex}.copy-dictation .copy-status{max-width:none;min-height:24px;margin-top:12px;font-size:15px;position:static}.copy-dictation .copy-status.sr-only{clip-path:inset(50%);width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden}.copy-main.copy-dictation .copy-pad.is-done{background:var(--mint)}.copy-main.copy-dictation:has(.copy-enter) .copy-status{display:none}.copy-complete-mark{vertical-align:middle;background:var(--action);width:40px;height:40px;color:var(--on-action);border-radius:50%;justify-content:center;align-items:center;margin-left:16px;display:inline-flex}.chapter-finished-writing .success-mark{background:var(--action);width:80px;height:80px;color:var(--on-action)}.chapter-finished-writing .success-mark>svg{width:44px;height:44px}.chapter-finished-writing h1{margin:24px 0;font-size:36px}.chapter-finished-writing .chapter-finished-count{background:var(--mint);border-radius:20px;gap:40px;width:min(800px,100%);margin:12px 0 48px;padding:24px}.chapter-finished-writing .chapter-finished-count>span{color:var(--ink);align-items:center;gap:12px;font-weight:700;display:flex}.chapter-finished-writing .chapter-skipped-count{border-left:1px solid var(--line);padding-left:40px}.review-answer-note>span{align-items:center;gap:10px;display:flex}.review-answer-note>span>svg{flex-shrink:0}.review-answer-note.review-answer-wrong{background:var(--error-bg);color:var(--error)}.unknown-button{align-items:center}[data-theme=dark] .review-empty-panel>svg{color:var(--word-pending)}[data-theme=dark] .route-review:not(.mobile) .completion .review-summary{background:var(--mint);border-radius:20px;padding:20px 28px}.vocabulary-last-seen{display:none}.library-page-fraction{font:inherit;color:var(--ink);text-align:center;appearance:none;cursor:pointer;background:0 0;border:0;min-width:80px;font-size:18px}.library-view-select{background:var(--mint);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:15px;display:flex}.library-view-select select{appearance:none;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:8px 0}.library-history-title{margin:0;font-size:28px;font-weight:800}.library-result-count{white-space:nowrap;color:var(--ink);font-size:18px}@media (width>=680px){.route-library .topbar{display:none}.route-library .content{padding-top:32px}.library-page .library-banner .pack-switcher{min-height:52px;font-size:20px}.library-page .library-banner-meta{font-size:17px}.library-page>.library-word-panel{background:var(--surface);border-radius:24px;flex-direction:column;grid-column:1/-1;min-height:min(760px,100dvh - 144px);padding:24px;display:flex;position:relative}.library-dictionary-heading{align-items:center;gap:12px;min-height:52px;margin-bottom:20px;padding-right:420px;display:flex}.library-dictionary-heading>label{align-items:center;gap:8px;min-width:0;display:flex}.library-dictionary-heading select{appearance:none;color:var(--ink);text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;min-width:0;max-width:460px;padding:0;font-size:26px;font-weight:800}.library-active-filter{white-space:nowrap;align-items:center;gap:20px;margin-left:auto;display:flex}.library-active-filter>button:first-child{background:var(--selection-surface);color:var(--selection-ink);border-radius:999px;align-items:center;gap:12px;padding:8px 16px;font-size:16px;font-weight:700;display:flex}.library-active-filter>button:last-child{font-size:16px;text-decoration:underline}.library-dictionary-heading:has(.library-active-filter){padding-right:0}.library-word-panel:has(.library-active-filter)>.library-tools{display:none}.library-dictionary .library-tools{width:400px;margin:0;display:block;position:absolute;top:24px;right:24px}.library-dictionary .library-tools>.filter-tabs{display:none}.library-dictionary .library-tools>.search-field{width:100%;max-width:none}.library-page .library-word-panel .vocabulary-table{overscroll-behavior:contain;overflow-anchor:none;scrollbar-gutter:stable;background:0 0;border-radius:0;max-height:calc(100dvh - 336px);padding:0;overflow:auto}.library-dictionary .vocabulary-table-head,.library-dictionary .vocabulary-row{grid-template-columns:minmax(110px,1.1fr) minmax(150px,2fr) minmax(90px,1fr) 72px 88px;gap:12px;padding:10px 16px;display:grid}.library-dictionary .vocabulary-table-head{z-index:1;background:var(--mint);color:var(--ink);border:0;border-radius:14px;min-height:48px;font-size:16px;font-weight:700;position:sticky;top:0}.library-dictionary .vocabulary-row{border:0;border-bottom:1px solid var(--soft);background:var(--surface);border-radius:12px;min-height:64px;margin:0}.library-word-panel .vocabulary-word strong{letter-spacing:0;font-size:24px}.library-word-panel .vocabulary-definition>span{font-size:18px;font-weight:500;line-height:1.5;display:block}.library-dictionary .vocabulary-topic{display:block}.library-dictionary .vocabulary-topic .tag{white-space:nowrap;background:var(--mint);color:var(--ink);border-radius:999px;padding:6px 10px;font-size:14px}.library-dictionary .vocabulary-state{background:var(--soft);width:max-content;color:var(--muted);border-radius:999px;justify-content:center;padding:4px 10px;font-size:14px;display:flex}.library-dictionary .vocabulary-state.seen{background:var(--mint);color:var(--ink)}.library-dictionary .status-dot{display:none}.library-word-panel .vocabulary-actions{align-items:center;gap:8px;display:flex}.library-word-panel .vocabulary-audio,.library-word-panel .vocabulary-actions>.icon-button{background:0 0;border-radius:12px;flex-shrink:0;width:36px;height:40px}.library-word-panel .vocabulary-actions>.icon-button svg{width:22px;height:22px}.library-word-panel .library-pagination{justify-content:center;gap:16px;margin-top:auto;padding:24px 0 0}.library-dictionary .library-pagination>.button{border-radius:14px;min-width:44px;min-height:44px;padding:8px}.library-page-range.sr-only{clip-path:inset(50%);width:1px;height:1px;margin:-1px;overflow:hidden}.library-chapter-panel{position:relative}.library-chapter-panel:has(.chapter-search)>h2{padding-right:440px}.library-chapter-panel .chapter-search{width:420px;min-height:44px;margin:0;position:absolute;top:20px;right:24px}.library-chapter-panel .chapter-card-actions button{justify-content:center;align-items:center;gap:12px;min-width:112px;font-size:18px;display:flex}.library-history .library-banner-meta{display:none}.library-history .library-word-panel{background:0 0;min-height:calc(100dvh - 144px);padding:0}.route-library:not(.mobile):has(.library-history) .app-main{background:var(--surface)}.library-history .library-banner .pack-switcher{border:1px solid var(--line);box-shadow:none}.library-history .library-tools{grid-template-columns:minmax(0,1fr) auto;gap:20px;margin:0 0 12px;display:grid}.library-history .library-tools>.filter-tabs{grid-column:1/-1;gap:16px;display:flex}.library-history .library-tools .filter-tabs>button{border:1px solid var(--line);background:var(--surface);color:var(--ink);flex:1;justify-content:center;font-size:20px}.library-history .library-tools .filter-tabs>button.active{background:var(--selection-surface);border-color:#0000}.library-history .filter-tabs button>span{opacity:1;font-size:18px}.library-history .search-field{background:var(--surface);border-radius:999px;max-width:none}.library-history .library-result-count{align-self:center}.library-history .vocabulary-table-head,.library-history .vocabulary-topic,.library-history .vocabulary-state,.library-history .vocabulary-audio{display:none}.library-history .vocabulary-row{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:minmax(150px,1fr) minmax(180px,1.5fr) 200px 44px;gap:20px;min-height:72px;margin:0;padding:12px 20px;display:grid}.library-history .vocabulary-last-seen{color:var(--ink);white-space:nowrap;align-items:center;gap:12px;font-size:16px;display:flex}.vocabulary-last-seen>strong{font:inherit;font-weight:700}.library-history .library-pagination>.button{border-radius:999px;min-height:48px;padding:10px 24px;font-size:18px}.library-word-panel .empty-state{background:0 0;border:0;flex:1;min-height:420px;margin:0;padding:48px 24px}.library-word-panel .empty-state .empty-icon{color:var(--ink)}.library-word-panel .empty-state h2{font-size:28px}.library-word-panel .empty-state>.button{background:var(--mint);min-width:240px;box-shadow:none;border:0;font-size:20px}}@media (width>=680px) and (width<=1100px){.library-dictionary .vocabulary-table-head,.library-dictionary .vocabulary-row{min-width:720px}.library-history .vocabulary-row{grid-template-columns:minmax(120px,1fr) minmax(140px,1.4fr) 140px 36px;gap:12px;padding:12px}.library-history .vocabulary-last-seen{gap:6px;font-size:13px}.library-dictionary .library-tools{width:280px}.library-dictionary-heading{padding-right:300px}.library-dictionary-heading select{max-width:300px;font-size:22px}.library-chapter-panel .chapter-search{width:300px}.library-chapter-panel:has(.chapter-search)>h2{padding-right:320px}.library-active-filter{gap:8px}.library-active-filter>button:first-child{padding:6px 10px;font-size:13px}}@media (width<=679px){.library-result-count,.vocabulary-last-seen{display:none}.library-word-panel .library-pagination{justify-content:center}.library-page-fraction{min-width:60px;font-size:14px}.mobile .vocabulary-actions{flex-direction:column}.mobile .library-tools .filter-tabs>button.active{background:var(--action);color:var(--on-action)}.mobile .vocabulary-row{row-gap:2px;min-height:68px;padding:8px 20px}.mobile .vocabulary-word,.mobile .vocabulary-word strong{line-height:1.2}.mobile .vocabulary-definition>span{line-height:1.35}}@media (width>=680px){.word-detail-toast{max-width:calc(100vw - 320px);padding:12px 18px;font-size:18px;top:168px;bottom:auto;left:calc(50% + 104px)}.route-review .topbar-actions{display:none}.review-page-toolbar{align-items:center;gap:24px;width:100%;font-size:24px;display:flex}.review-page-toolbar>.pack-switcher{background:var(--mint);box-shadow:none;font-size:20px}.review-page-toolbar>button:last-child{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:18px;display:flex}.review-start-panel>.button{margin-top:12px}.soft-review-header{position:relative}.soft-review .review-titlebar{margin:0;position:absolute;top:0;right:0}.soft-review .review-titlebar>h1,.soft-review .review-titlebar>.icon-button:first-child,.soft-review .soft-review-mode{display:none}.soft-review .review-progress-row{min-height:44px;margin:0 64px 28px 0;font-size:24px}.soft-review .soft-review-question{position:relative}.soft-review-question>.icon-button{margin:0;top:50%;right:16px;transform:translateY(-50%)}.soft-review-question.listen-question{align-items:center;gap:24px;display:flex}.listen-question>.soft-listen{background:var(--mint);border-radius:20px;width:76px;height:60px;margin:0}.soft-review-question.listen-question>p{color:var(--ink);margin:0;font-size:26px;display:block}.route-review .focus-page{width:100%;max-width:1200px}.route-review .completion{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:720px;display:flex}.route-review .completion>p{display:none}.route-review .completion .success-mark{background:var(--mint);color:var(--success);width:96px;height:96px}.route-review .completion h1{margin:28px 0 12px;font-size:40px}.route-review .completion .review-summary{background:0 0;border:0;gap:64px;margin:24px 0 36px}.route-review .review-summary strong{color:var(--accent-text);font-size:52px}.route-review .review-summary>div:nth-child(2)>strong{color:var(--success)}.route-review .review-summary span{font-size:20px}.route-review .completion .completion-actions{flex-direction:column;gap:16px;width:min(600px,100%)}.route-review .completion .completion-actions>.button{width:100%;min-height:56px;font-size:20px}.review-empty-page{width:100%;max-width:1200px}.review-empty-panel{min-height:720px}.review-empty-panel .completion-actions{gap:20px;width:min(800px,100%);margin:0}.review-empty-panel .completion-actions>.button{flex:1}.review-empty-panel .completion-actions>.button:first-child{flex:1.6}}.mobile .search-dialog .search-field input:focus{box-shadow:none;outline:0}.mobile .search-dialog .search-field:focus-within{border-color:var(--tint)}#wordloom-apple-signin>.apple-auth-button{background-image:url(/apple-signin-zh.webp);background-position:50%;background-repeat:no-repeat;background-size:auto 100%}#wordloom-apple-signin>.apple-auth-button>.apple-auth-button-text{visibility:hidden}.sync-symbol-error.sync-issue-auth,.sync-symbol-error.sync-issue-offline{background:var(--selection-surface);border-radius:26px}.sync-symbol-error.sync-issue-auth>svg:first-child,.sync-symbol-error.sync-issue-offline>svg:first-child{width:64px;height:64px;color:var(--accent)}.sync-checking-ring{border:10px solid var(--mint);border-top-color:var(--accent);border-radius:50%;width:76px;height:76px}.sync-checking-actions{flex-direction:column;align-items:center;gap:12px;width:100%;margin-top:auto;display:flex}.sync-checking-actions>.button{width:100%;min-height:48px;font-size:20px}.sync-checking-actions>.apple-signin-pending{background:var(--apple-artwork-background) url(/apple-signin-zh.webp) center/auto 100% no-repeat;opacity:.22;border:0;border-radius:24px;max-width:100%}.sync-dialog .sync-checking-actions{align-self:center;max-width:760px}.sync-checking-actions>.button-secondary{background:var(--mint);box-shadow:none;border:0}[data-theme=dark] .sync-checking-actions>.apple-signin-pending{filter:invert()}.sync-symbol-disconnected>svg>path:first-child{stroke:var(--accent)}.sync-symbol-paused,.sync-symbol .sync-symbol-issue{color:var(--accent)}.sync-symbol .sync-symbol-issue.lucide-alert-circle{fill:var(--accent);stroke:var(--surface)}@media (width>=680px){.sync-issue-dialog .modal-head{background:var(--mint);gap:12px;margin:-32px -32px 24px;padding:20px 32px}.sync-issue-dialog .modal-head>div{margin-right:auto}.sync-issue-dialog .modal-head>svg{flex-shrink:0}#wordloom-apple-signin>.apple-auth-button{max-width:760px!important}.cloud-sync-panel:has(.sync-symbol-disconnected)>.sync-actions{margin-top:0}.cloud-sync-panel:has(.sync-symbol-disconnected)>.sync-actions>.button{background:var(--mint);box-shadow:none;border:0}.cloud-sync-panel:has(.sync-issue-auth)>.sync-actions:empty{display:none}}.backup-file-choices{border:1px solid var(--line);border-radius:20px;margin:24px 0 8px;overflow:hidden}.backup-file-option{background:var(--surface);cursor:pointer;align-items:center;gap:16px;min-height:76px;padding:16px 20px;display:flex}.backup-file-option+.backup-file-option{border-top:1px solid var(--line)}.backup-file-option>input{width:20px;height:20px;accent-color:var(--action);flex-shrink:0}.backup-file-option>strong{overflow-wrap:anywhere;flex:1;min-width:0;font-size:21px}.backup-file-option>span{color:var(--muted);white-space:nowrap;font-size:16px}.backup-file-option>svg{flex-shrink:0}.backup-choose-again{color:var(--muted);align-self:flex-start;margin:0 0 8px;padding:6px 0;font-size:15px;text-decoration:underline}.backup-import-picker>.modal-footer{justify-content:flex-end}.backup-import-reading{align-items:stretch;justify-content:initial;flex:1;gap:0;min-height:480px;padding:0}.backup-import-reading-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:20px;padding:24px;display:flex}.backup-import-reading-content>p{color:var(--muted);font-size:19px;line-height:1.8}.backup-reading-spinner{border:10px solid var(--mint);border-right-color:var(--action);border-radius:50%;width:76px;height:76px;display:block}.backup-import-reading>.modal-footer{justify-content:space-between;margin-top:auto;padding-top:24px;display:flex}.import-match-summary{background:var(--mint);border-radius:20px;margin:16px 0 12px;padding:16px 24px}.import-match-summary>div{align-items:center;gap:16px;padding:8px 0;font-size:22px;display:flex}.import-match-summary strong{color:var(--accent-text);font-size:28px}.import-match-summary>div:first-child>svg{color:var(--success)}.import-match-summary>div:last-child>svg{color:var(--accent)}.import-unmatched-list{background:var(--soft);border:1px solid var(--line);border-radius:20px;max-height:220px;margin:0 0 12px;padding:12px 20px;list-style:none;overflow:auto}.import-unmatched-list>li{overflow-wrap:anywhere;align-items:center;gap:12px;padding:8px;font-size:20px;display:flex}.import-unmatched-list>li:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:8px;height:8px}.records-export-dialog .backup-receipt>h3{display:none}.records-export-dialog .backup-receipt{background:0 0;padding:0}.records-export-dialog .backup-receipt>div{border:1px solid var(--line);background:0 0}.records-export-dialog .backup-receipt>p{padding:0 8px}.records-result-dialog .records-controls>.setting-row{border:0}.record-notice>svg,.import-match-summary>div:first-child>svg{fill:var(--success);stroke:var(--surface)}.import-match-summary>div:last-child>svg{fill:var(--accent);stroke:var(--surface)}.records-recovery-navigation{align-items:center;gap:12px;min-height:44px;margin:32px 0 12px;font-size:20px;display:flex}.records-recovery-navigation>button{color:var(--muted);padding:0}.snapshots-dialog .modal-head>svg{color:var(--action);flex-shrink:0;margin-right:12px}.snapshots-dialog .modal-head>div{margin-right:auto}@media (width>=680px){.modal-backdrop:has(.modal-with-navigation){align-items:flex-start;padding-top:32px}.modal.modal-with-navigation{min-height:0;box-shadow:none;background:0 0;border:0;gap:20px;max-height:calc(100dvh - 64px);padding:0;overflow:visible}.modal-with-navigation>.modal-card{border:1px solid var(--line);background:var(--surface);min-height:min(640px,100dvh - 224px);max-height:calc(100dvh - 224px);box-shadow:0 12px 32px var(--shadow-card);border-radius:24px;flex-direction:column;padding:32px;display:flex;overflow:hidden}.modal-with-navigation .modal-body{flex-direction:column;flex:1;display:flex}.legacy-import-dialog .modal-body>.modal-footer{margin-top:auto;padding-top:24px}.legacy-import-dialog .modal-footer>.button{min-width:220px;min-height:52px;padding:12px 28px;font-size:20px}.backup-import-picker,.backup-import-reading{min-height:min(480px,100dvh - 330px)}}@media (width<=679px){.records-modal-navigation,.records-recovery-navigation{display:none}.modal.modal-with-navigation{box-shadow:none;background:0 0;border:0;padding:0}.modal-with-navigation>.modal-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:24px;overflow:auto}.backup-file-option{gap:8px;padding:12px}.backup-file-option>strong{font-size:17px}.backup-file-option>span{font-size:13px}.backup-file-option>svg{width:24px}.backup-import-reading{min-height:360px}.import-match-summary>div,.import-unmatched-list>li{font-size:17px}.recovery-navigation>button:first-child{display:none}}@media (width>=680px){.modal-backdrop.modal-page-backdrop{padding-top:32px}}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=42.5rem){.container{max-width:42.5rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-0{margin:0}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.\!block{display:block!important}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-14{min-height:calc(var(--spacing) * 14)}.w-full{width:100%}.max-w-\[1100px\]{max-width:1100px}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:2147483647px}.border{border-style:var(--tw-border-style);border-width:1px}.bg-selection{background-color:var(--selection-surface)}.bg-surface{background-color:var(--surface)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[19px\]{font-size:19px}.text-\[30px\]{font-size:30px}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.whitespace-nowrap{white-space:nowrap}.text-ink{color:var(--ink)}.text-selection-ink{color:var(--selection-ink)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, )}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.shadow-\[0_4px_12px_var\(--shadow-small\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,var(--shadow-small));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.invert{--tw-invert:invert(100%);filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (width>=42.5rem){.desktop\:block{display:block}.desktop\:flex{display:flex}.desktop\:flex-col{flex-direction:column}.desktop\:gap-5{gap:calc(var(--spacing) * 5)}}}.root{isolation:isolate}body{position:relative}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
