@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/epilogue-vietnamese-wght-normal-CCSRnr7S.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/epilogue-latin-ext-wght-normal-C9jy1SL9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Epilogue Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/epilogue-latin-wght-normal-BnupfK5F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ds-white: #ffffff;--ds-gray-50: #fafafa;--ds-gray-100: #f4f4f5;--ds-gray-200: #e4e4e7;--ds-gray-300: #d4d4d8;--ds-gray-400: #a1a1aa;--ds-gray-500: #71717a;--ds-gray-600: #52525b;--ds-gray-700: #3f3f46;--ds-gray-800: #27272a;--ds-gray-900: #1a1a1a;--ds-blue-600: #2563eb;--ds-blue-700: #1d4ed8;--ds-blue-50: #eff6ff;--ds-indigo-600: #5B4FDB;--ds-indigo-600-08: rgba(91, 79, 219, .08);--ds-indigo-600-14: rgba(91, 79, 219, .14);--ds-color-white-60: rgba(255, 255, 255, .6);--ds-color-state-question: #ffffff;--ds-color-state-correct: #6EE679;--ds-color-state-incorrect: #FFD11D;--ds-color-overlay: rgba(0, 0, 0, .15);--ds-color-modal-overlay: rgba(0, 0, 0, .6);--ds-color-modal-overlay-strong: rgba(0, 0, 0, .7);--ds-color-white-70: rgba(255, 255, 255, .7);--ds-color-white-30: rgba(255, 255, 255, .3);--ds-color-border-subtle-on-state: rgba(0, 0, 0, .1);--ds-color-border-muted-on-state: rgba(0, 0, 0, .2);--ds-color-text-muted-on-state: rgba(0, 0, 0, .6);--ds-color-new-word: #5B4FDB;--ds-color-new-word-bg: rgba(91, 79, 219, .1);--ds-rating-again: #b85c5c;--ds-rating-again-bg: #faf5f5;--ds-rating-hard: #b8943a;--ds-rating-hard-bg: #faf8f3;--ds-rating-good: #4a8f6a;--ds-rating-good-bg: #f4faf7;--ds-rating-easy: #4a7ab8;--ds-rating-easy-bg: #f4f7fa;--ds-red-600: #dc2626;--ds-green-600: #16a34a;--ds-font-sans: "Epilogue Variable", "Epilogue", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--ds-font-serif: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", Times, serif;--ds-text-2xs: .625rem;--ds-text-xs: .75rem;--ds-text-sm: .875rem;--ds-text-base: 1rem;--ds-text-lg: 1.125rem;--ds-text-xl: 1.25rem;--ds-text-2xl: 1.5rem;--ds-text-3xl: 2rem;--ds-text-display: 2.5rem;--ds-text-4xl: 3rem;--ds-font-size-sentence-lg: 2.5rem;--ds-weight-normal: 400;--ds-weight-medium: 500;--ds-weight-semibold: 600;--ds-leading-tight: 1.25;--ds-leading-normal: 1.5;--ds-leading-relaxed: 1.625;--ds-space-1: .25rem;--ds-space-2: .5rem;--ds-space-3: .75rem;--ds-space-4: 1rem;--ds-space-5: 1.25rem;--ds-space-6: 1.5rem;--ds-space-8: 2rem;--ds-space-10: 2.5rem;--ds-space-12: 3rem;--ds-space-16: 4rem;--ds-size-full: 100%;--ds-size-viewport-height: 100vh;--ds-size-viewport-width: 100vw;--ds-size-modal-license: 30rem;--ds-size-icon-lg: 1.5rem;--ds-radius-none: 0;--ds-radius-sm: .25rem;--ds-radius-md: .375rem;--ds-radius-lg: .5rem;--ds-radius-xl: .75rem;--ds-radius-2xl: 1.5rem;--ds-radius-full: 9999px;--ds-radius-pill: 9999px;--ds-border-width-default: 1px;--ds-shadow-none: none;--ds-shadow-sm: 0 1px 2px 0 rgb(26 26 26 / .05);--ds-shadow-md: 0 4px 6px -1px rgb(26 26 26 / .08), 0 2px 4px -2px rgb(26 26 26 / .06);--ds-shadow-lg: 0 20px 60px rgba(91, 79, 219, .14);--ds-shadow-focus-ring-brand: 0 0 0 2px var(--ds-indigo-600-08);--ds-z-base: 0;--ds-z-dropdown: 100;--ds-z-sticky: 200;--ds-z-overlay: 300;--ds-z-modal: 400;--ds-z-toast: 500;--ds-duration-instant: 0ms;--ds-duration-fast: .1s;--ds-duration-normal: .2s;--ds-duration-slow: .3s;--ds-duration-feedback-wrong: 1.8s;--ds-ease-default: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--color-bg-app: var(--ds-gray-50, #fafafa);--color-bg-surface: var(--ds-white, #ffffff);--color-surface: var(--color-bg-surface);--color-bg-muted: var(--ds-gray-100, #f4f4f5);--color-bg-inverse: var(--ds-gray-900, #1a1a1a);--color-state-question: var(--ds-color-state-question, #ffffff);--color-state-correct: var(--ds-color-state-correct, #6EE679);--color-state-correct-subtle: rgba(110, 230, 121, .2);--color-state-correct-text: #207a28;--color-state-incorrect: var(--ds-color-state-incorrect, #FFD11D);--color-state-incorrect-subtle: rgba(255, 209, 29, .2);--color-state-incorrect-text: #a07a00;--color-overlay: var(--ds-color-overlay, rgba(0, 0, 0, .15));--color-modal-overlay: var(--ds-color-modal-overlay, rgba(0, 0, 0, .6));--color-modal-overlay-strong: var(--ds-color-modal-overlay-strong, rgba(0, 0, 0, .7));--color-border-subtle-on-state: var(--ds-color-border-subtle-on-state, rgba(0, 0, 0, .1));--color-border-muted-on-state: var(--ds-color-border-muted-on-state, rgba(0, 0, 0, .2));--color-new-word: var(--ds-color-new-word, #5B4FDB);--color-new-word-bg: var(--ds-color-new-word-bg, rgba(91, 79, 219, .1));--color-consent-bg: var(--ds-indigo-600, #5B4FDB);--color-consent-text: var(--ds-white, #ffffff);--color-consent-muted: var(--ds-color-white-70, rgba(255, 255, 255, .7));--color-consent-border: var(--ds-color-white-30, rgba(255, 255, 255, .3));--color-onboarding-btn-bg: var(--ds-indigo-600-08, rgba(91, 79, 219, .08));--color-onboarding-btn-bg-hover: var(--ds-indigo-600-14, rgba(91, 79, 219, .14));--color-onboarding-quote-muted: var(--ds-color-white-60, rgba(255, 255, 255, .6));--color-text-primary: var(--ds-gray-900, #1a1a1a);--color-text-secondary: var(--ds-gray-600, #52525b);--color-text-muted: var(--ds-gray-500, #71717a);--color-text-inverse: var(--ds-white, #ffffff);--color-text-link: var(--ds-blue-600, #2563eb);--color-text-target: var(--ds-gray-900, #1a1a1a);--color-text-muted-on-state: var(--ds-color-text-muted-on-state, rgba(0, 0, 0, .6));--color-border-default: var(--ds-gray-200, #e4e4e7);--color-border: var(--color-border-default);--color-border-strong: var(--ds-gray-300, #d4d4d8);--color-accent: var(--ds-blue-600, #2563eb);--color-accent-primary: var(--color-accent);--color-accent-hover: var(--ds-blue-700, #1d4ed8);--color-accent-subtle: var(--ds-blue-50, #eff6ff);--color-interactive-primary: var(--ds-gray-900, #1a1a1a);--color-interactive-dark: var(--color-interactive-primary);--color-interactive-primary-hover: var(--ds-gray-800, #27272a);--color-interactive-primary-active: var(--ds-gray-700, #3f3f46);--color-interactive-primary-text: var(--ds-white, #ffffff);--color-interactive-secondary: var(--ds-gray-100, #f4f4f5);--color-interactive-secondary-hover: var(--ds-gray-200, #e4e4e7);--color-interactive-secondary-text: var(--ds-gray-900, #1a1a1a);--color-focus-ring: var(--ds-blue-600, #2563eb);--color-rating-again: var(--ds-rating-again, #b85c5c);--color-rating-again-bg: var(--ds-rating-again-bg, #faf5f5);--color-rating-hard: var(--ds-rating-hard, #b8943a);--color-rating-hard-bg: var(--ds-rating-hard-bg, #faf8f3);--color-rating-good: var(--ds-rating-good, #4a8f6a);--color-rating-good-bg: var(--ds-rating-good-bg, #f4faf7);--color-rating-easy: var(--ds-rating-easy, #4a7ab8);--color-rating-easy-bg: var(--ds-rating-easy-bg, #f4f7fa);--color-feedback-error: var(--ds-red-600, #dc2626);--color-feedback-success: var(--ds-green-600, #16a34a);--space-0: 0;--space-1: var(--ds-space-1, .25rem);--space-2: var(--ds-space-2, .5rem);--space-3: var(--ds-space-3, .75rem);--space-4: var(--ds-space-4, 1rem);--space-5: var(--ds-space-5, 1.25rem);--space-6: var(--ds-space-6, 1.5rem);--space-8: var(--ds-space-8, 2rem);--space-10: var(--ds-space-10, 2.5rem);--space-12: var(--ds-space-12, 3rem);--space-16: var(--ds-space-16, 4rem);--font-family-sans: var(--ds-font-sans);--font-family-mono: var(--ds-font-mono);--font-family-target: var(--ds-font-serif);--font-size-2xs: var(--ds-text-2xs, .625rem);--font-size-xs: var(--ds-text-xs, .75rem);--font-size-sm: var(--ds-text-sm, .875rem);--font-size-base: var(--ds-text-base, 1rem);--font-size-md: var(--ds-text-base, 1rem);--font-size-lg: var(--ds-text-lg, 1.125rem);--font-size-xl: var(--ds-text-xl, 1.25rem);--font-size-2xl: var(--ds-text-2xl, 1.5rem);--font-size-3xl: var(--ds-text-3xl, 2rem);--font-size-display: var(--ds-text-display, 2.5rem);--font-size-4xl: var(--ds-text-4xl, 3rem);--font-size-sentence-lg: var(--ds-font-size-sentence-lg, 2.5rem);--font-weight-normal: var(--ds-weight-normal, 400);--font-weight-medium: var(--ds-weight-medium, 500);--font-weight-semibold: var(--ds-weight-semibold, 600);--line-height-tight: var(--ds-leading-tight, 1.25);--line-height-normal: var(--ds-leading-normal, 1.5);--line-height-relaxed: var(--ds-leading-relaxed, 1.625);--layout-height-full: var(--ds-size-full, 100%);--layout-height-viewport: var(--ds-size-viewport-height, 100vh);--layout-width-full: var(--ds-size-full, 100%);--layout-width-license-modal: var(--ds-size-modal-license, 30rem);--size-icon-lg: var(--ds-size-icon-lg, 1.5rem);--radius-none: var(--ds-radius-none, 0);--radius-sm: var(--ds-radius-sm, .25rem);--radius-md: var(--ds-radius-md, .375rem);--radius-lg: var(--ds-radius-lg, .5rem);--radius-xl: var(--ds-radius-xl, .75rem);--radius-2xl: var(--ds-radius-2xl, 1.5rem);--radius-full: var(--ds-radius-full, 9999px);--radius-pill: var(--ds-radius-pill, 9999px);--border-width-default: var(--ds-border-width-default, 1px);--shadow-none: var(--ds-shadow-none, none);--shadow-sm: var(--ds-shadow-sm);--shadow-md: var(--ds-shadow-md);--shadow-lg: var(--ds-shadow-lg);--shadow-focus-ring-brand: var(--ds-shadow-focus-ring-brand, 0 0 0 2px var(--ds-indigo-600-08));--z-base: var(--ds-z-base, 0);--z-dropdown: var(--ds-z-dropdown, 100);--z-sticky: var(--ds-z-sticky, 200);--z-overlay: var(--ds-z-overlay, 300);--z-modal: var(--ds-z-modal, 400);--z-toast: var(--ds-z-toast, 500);--duration-instant: var(--ds-duration-instant, 0ms);--duration-fast: var(--ds-duration-fast, .1s);--duration-normal: var(--ds-duration-normal, .2s);--duration-slow: var(--ds-duration-slow, .3s);--duration-feedback-wrong: var(--ds-duration-feedback-wrong, 1.8s);--ease-default: var(--ds-ease-default, cubic-bezier(.4, 0, .2, 1));--ease-in: var(--ds-ease-in, cubic-bezier(.4, 0, 1, 1));--ease-out: var(--ds-ease-out, cubic-bezier(0, 0, .2, 1));--transition-default: var(--duration-normal) var(--ease-default);--transition-fast: var(--duration-fast) var(--ease-default)}html,body{height:var(--layout-height-full);margin:var(--space-0);font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-app)}#root{height:var(--layout-height-full)}.app-shell{display:block;min-height:var(--layout-height-viewport);margin:var(--space-0);padding:var(--space-0);background-color:var(--color-state-question);color:var(--color-text-primary);font-family:var(--font-family-sans);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.session-complete{display:flex;min-height:var(--layout-height-viewport);flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);margin:var(--space-0);padding:var(--space-16);background-color:var(--color-state-correct);color:var(--color-text-primary);font-family:var(--font-family-sans);text-align:center}.session-complete h1,.session-complete p{margin:var(--space-0)}.session-complete h1{font-family:var(--font-family-target);font-size:var(--font-size-3xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight)}.session-complete p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.session-complete__stats{display:flex;flex-direction:column;gap:var(--space-2)}.session-complete__button{padding:var(--space-3) var(--space-6);border:none;border-radius:var(--radius-md);background-color:var(--color-interactive-dark);color:var(--color-text-inverse);font-family:var(--font-family-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer}.session-complete__button:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}.dashboard{display:flex;flex-direction:column;gap:var(--ds-space-3);padding:var(--ds-space-4);overflow-y:auto;height:100%;box-sizing:border-box}.dashboard__tile{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--ds-radius-xl);padding:var(--ds-space-4)}.dashboard__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--ds-space-3)}.dashboard__tile--activity{display:flex;flex-direction:column;gap:var(--ds-space-3)}.dashboard__tile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ds-space-3)}.dashboard__activity-meta{display:flex;flex-direction:column}.dashboard__activity-total{font-size:var(--font-size-sentence-lg);font-weight:700;line-height:1;color:var(--color-text-primary);letter-spacing:-.02em}.dashboard__activity-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--ds-space-1)}.dashboard__activity-controls{display:flex;align-items:center;gap:var(--ds-space-1);flex-shrink:0}.dashboard__nav-btn{background:none;border:1px solid var(--color-border-default);border-radius:var(--ds-radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--ds-space-1) var(--ds-space-2);line-height:1;transition:background .12s ease,color .12s ease}.dashboard__nav-btn:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text-primary)}.dashboard__nav-btn:disabled{opacity:.3;cursor:default}.dashboard__view-toggle{background:none;border:1px solid var(--color-border-default);border-radius:var(--ds-radius-md);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-xs);padding:var(--ds-space-1) var(--ds-space-2);transition:background .12s ease,color .12s ease,border-color .12s ease}.dashboard__view-toggle--active{background:var(--color-new-word-bg);border-color:var(--color-new-word);color:var(--color-new-word)}.dashboard__chart{display:flex;align-items:flex-end;gap:var(--ds-space-1);height:100px;padding-bottom:var(--ds-space-4);position:relative}.dashboard__bar-col{display:flex;flex-direction:column;align-items:center;flex:1;height:100%;position:relative}.dashboard__bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end}.dashboard__bar{width:100%;background:var(--color-new-word-bg);border-radius:var(--ds-radius-sm) var(--ds-radius-sm) 0 0;min-height:var(--ds-space-1);transition:height .2s ease}.dashboard__bar--today{background:var(--color-new-word)}.dashboard__bar-label{position:absolute;bottom:calc(-1 * var(--ds-space-4));font-size:var(--font-size-2xs);color:var(--color-text-muted);white-space:nowrap;transform:translate(-50%);left:50%}.dashboard__tile--streak{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:120px;background:var(--color-bg-surface)}.dashboard__streak-number{font-size:var(--font-size-4xl);font-weight:700;line-height:1;color:var(--color-text-primary);letter-spacing:-.03em}.dashboard__streak-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--ds-space-1)}.dashboard__streak-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--ds-space-2)}.dashboard__tile--pace{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:120px;background:var(--color-bg-surface)}.dashboard__pace-number{font-size:var(--font-size-4xl);font-weight:700;line-height:1;color:var(--color-text-primary);letter-spacing:-.03em}.dashboard__pace-label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--ds-space-1)}.dashboard__pace-sub{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--ds-space-2)}.dashboard__tile--start{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--ds-space-3);min-height:120px}.dashboard__due-count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard__start-btn{background:var(--color-interactive-dark);color:var(--color-interactive-primary-text);border:none;border-radius:var(--ds-radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;padding:var(--ds-space-2) var(--ds-space-4);width:100%;transition:background .12s ease}.dashboard__start-btn:hover{background:var(--color-interactive-primary-hover)}.dashboard__tile--progress{display:flex;flex-direction:column;gap:var(--ds-space-3)}.dashboard__progress-header{display:flex;align-items:flex-end;justify-content:space-between}.dashboard__progress-pct{font-size:var(--font-size-sentence-lg);font-weight:700;line-height:1;color:var(--color-text-primary);letter-spacing:-.02em}.dashboard__progress-pct-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--ds-space-1)}.dashboard__progress-bar{display:flex;height:var(--ds-space-2);border-radius:var(--ds-radius-full);overflow:hidden;background:var(--color-bg-muted)}.dashboard__progress-seg{height:100%;border-radius:var(--ds-radius-full);transition:width .3s ease}.dashboard__progress-seg--mastered{background:var(--color-state-correct)}.dashboard__progress-seg--in-progress{background:var(--color-state-incorrect)}.dashboard__progress-seg--unseen{background:var(--color-bg-muted)}.dashboard__progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ds-space-2)}.dashboard__stat-box{display:flex;flex-direction:column;align-items:center;background:var(--color-bg-muted);border-radius:var(--ds-radius-lg);padding:var(--ds-space-3) var(--ds-space-2);gap:var(--ds-space-1);text-align:center}.dashboard__stat-icon{width:var(--ds-space-8);height:var(--ds-space-8);border-radius:var(--ds-radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--ds-space-1)}.dashboard__stat-icon svg{width:var(--ds-space-5);height:var(--ds-space-5)}.dashboard__stat-icon--in-progress{background:var(--color-state-incorrect-subtle);color:var(--color-state-incorrect-text)}.dashboard__stat-icon--mastered{background:var(--color-state-correct-subtle);color:var(--color-state-correct-text)}.dashboard__stat-icon--unseen{background:var(--color-new-word-bg);color:var(--color-new-word)}.dashboard__stat-number{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);line-height:1}.dashboard__stat-name{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dashboard__unlock-cta{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);text-align:center;padding:var(--ds-space-2);width:100%;transition:color .12s ease}.dashboard__unlock-cta:hover{color:var(--color-text-primary)}@media (prefers-reduced-motion: reduce){.dashboard__bar,.dashboard__progress-seg{transition:none}}.word-list{display:flex;flex-direction:column;height:100vh;background-color:var(--color-bg-app);overflow:hidden}.word-list__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.word-list__back{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-md);background:none;border:none;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0}.word-list__back:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.word-list__title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary);margin:0;flex:1}.word-list__count{font-size:var(--font-size-sm);color:var(--color-text-muted)}.word-list__paywall-note{display:block;width:100%;padding:var(--space-3) var(--space-6);border:none;border-bottom:1px solid var(--color-border-default);background-color:var(--color-accent-subtle);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);text-align:left;cursor:pointer;flex-shrink:0}.word-list__paywall-note:hover{background-color:var(--color-accent-subtle);text-decoration:underline}.word-list__toolbar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-6);background-color:var(--color-bg-surface);border-bottom:1px solid var(--color-border-default);flex-shrink:0}.word-list__search{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);background-color:var(--color-bg-app);color:var(--color-text-primary);font-size:var(--font-size-sm);outline:none;box-sizing:border-box}.word-list__search:focus{border-color:var(--ds-indigo-600, #5b4fdb);box-shadow:var(--shadow-focus-ring-brand)}.word-list__filters{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.word-list__filter-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border-default);background-color:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.word-list__filter-chip:hover{border-color:var(--ds-indigo-600, #5b4fdb);color:var(--ds-indigo-600, #5b4fdb)}.word-list__filter-chip--active{background-color:var(--ds-indigo-600, #5b4fdb);border-color:var(--ds-indigo-600, #5b4fdb);color:var(--color-text-inverse)}.word-list__filter-chip--active:hover{background-color:var(--ds-indigo-600, #5b4fdb);color:var(--color-text-inverse)}.word-list__filter-chip--clear{border-color:var(--color-border-strong);color:var(--color-text-muted)}.word-list__table-wrapper{flex:1;overflow-y:auto}.word-list__table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.word-list__th{position:sticky;top:0;padding:var(--space-2) var(--space-4);text-align:left;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;background-color:var(--color-bg-app);border-bottom:1px solid var(--color-border-default);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.word-list__th:hover{color:var(--color-text-primary)}.word-list__th--translation{cursor:default}.word-list__sort-arrow{margin-left:var(--space-1);color:var(--ds-indigo-600, #5b4fdb)}.word-list__row{border-bottom:1px solid var(--color-border-default);background-color:var(--color-bg-surface)}.word-list__row:last-child{border-bottom:none}.word-list__row--unseen{background-color:var(--color-bg-app)}.word-list__td{padding:var(--space-3) var(--space-4);vertical-align:middle}.word-list__td--rank{color:var(--color-text-muted);font-variant-numeric:tabular-nums;width:4rem}.word-list__td--word{min-width:10rem}.word-list__word{display:block;font-weight:500;color:var(--color-text-primary)}.word-list__pos{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-1)}.word-list__td--translation{color:var(--color-text-secondary);max-width:16rem}.word-list__td--tier{width:7rem}.word-list__td--lastseen{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;width:7rem}.word-list__td--next{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;width:8rem}.word-list__dots{display:flex;gap:var(--space-1)}.word-list__dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);background-color:var(--color-overlay)}.word-list__dot--filled{background-color:var(--color-state-correct)}.word-list__dot--btn{cursor:pointer;border:none;padding:0;flex-shrink:0;transition:transform var(--transition-fast),background-color var(--transition-fast)}.word-list__dot--btn:hover{transform:scale(1.35)}.word-list__dot--btn:focus-visible{outline:2px solid var(--ds-indigo-600, #5b4fdb);outline-offset:2px;border-radius:var(--radius-full)}.word-list__empty{text-align:center;padding:var(--space-16);color:var(--color-text-muted)}.word-list__show-all{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);border-top:1px solid var(--color-border-default);background-color:var(--color-bg-surface);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-shrink:0}.word-list__show-all-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.word-list__show-all-btn:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.word-list__show-all-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background-color:var(--color-modal-overlay)}.app-menu__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:none;border:none;padding:0;cursor:default}.app-menu__card{display:flex;position:relative;z-index:1;width:calc(100% - var(--space-8));height:calc(100vh - var(--space-8));overflow:hidden;border-radius:var(--radius-xl);background-color:var(--color-bg-surface);box-shadow:var(--shadow-lg)}.app-menu__left{display:flex;width:220px;flex-shrink:0;flex-direction:column;background-color:var(--color-bg-app);padding:var(--space-4) var(--space-3)}.app-menu__left-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-2) var(--space-4)}.app-menu__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.app-menu__close{display:flex;align-items:center;justify-content:center;padding:var(--space-1) var(--space-2);border:none;background:none;color:var(--color-text-muted);font-size:var(--font-size-base);line-height:1;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-fast),color var(--transition-fast)}.app-menu__close:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.app-menu__nav{display:flex;flex:1;flex-direction:column;gap:var(--space-1)}.app-menu__nav-item{display:flex;align-items:center;gap:var(--space-3);width:var(--layout-width-full);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:none;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);text-align:left;cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.app-menu__nav-item:hover{background-color:var(--color-bg-muted);color:var(--color-text-primary)}.app-menu__nav-item--active{background-color:var(--color-interactive-secondary);color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.app-menu__nav-icon{flex-shrink:0;width:var(--font-size-base);height:var(--font-size-base)}.app-menu__left-footer{padding-top:var(--space-4);border-top:var(--border-width-default) solid var(--color-border-default)}.app-menu__unlock{display:block;width:var(--layout-width-full);padding:var(--space-2) var(--space-3);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:background-color var(--transition-fast)}.app-menu__unlock:hover{background-color:var(--color-bg-muted)}.app-menu__divider{width:var(--border-width-default);background-color:var(--color-border-default);flex-shrink:0}.app-menu__right{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column}.app-menu__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-menu__panel-content{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.app-menu__panel-content p,.app-menu__panel-content ul{margin:var(--space-0)}.app-menu__panel-content ul{padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.app-menu__panel-content--centered{align-items:center;justify-content:center;flex:1;text-align:center}.app-menu__panel-heading{margin:var(--space-0);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.app-menu__coming-soon{color:var(--color-text-muted);font-size:var(--font-size-sm)}.app-menu__privacy-meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.app-menu__toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-app);cursor:pointer}.app-menu__toggle-text{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-primary);font-size:var(--font-size-sm)}.app-menu__toggle-text strong{font-weight:var(--font-weight-semibold)}.app-menu__toggle-text span{color:var(--color-text-secondary);font-weight:var(--font-weight-normal)}.app-menu__toggle-row input{accent-color:var(--color-accent);flex-shrink:0}.app-menu__setting-group{display:flex;flex-direction:column;gap:var(--space-2)}.app-menu__setting-label{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.app-menu__setting-hint{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.app-menu__segmented{display:flex;flex-wrap:wrap;gap:var(--space-2)}.app-menu__segment{flex:1 1 auto;padding:var(--space-2) var(--space-3);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-app);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);cursor:pointer}.app-menu__segment:hover{border-color:var(--color-accent)}.app-menu__segment--active{border-color:var(--color-accent);background-color:var(--color-accent);color:var(--color-text-inverse);font-weight:var(--font-weight-semibold)}.app-menu__segment:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}.app-menu__contact-link{color:var(--color-text-link);font-size:var(--font-size-sm);text-decoration:none}.app-menu__contact-link:hover{text-decoration:underline}.app-menu__close:focus-visible,.app-menu__nav-item:focus-visible,.app-menu__unlock:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-menu__wordlist-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden}.app-menu__wordlist-wrapper .word-list{height:var(--layout-height-full);min-height:0}.app-menu__account-key-row{display:flex;align-items:center;gap:var(--space-2)}.app-menu__account-key{flex:1;padding:var(--space-2) var(--space-3);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-muted);color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:var(--font-size-sm);letter-spacing:.06em;-webkit-user-select:all;user-select:all;overflow-x:auto;white-space:nowrap}.app-menu__account-key-button{padding:var(--space-2) var(--space-3);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast)}.app-menu__account-key-button:hover{background-color:var(--color-bg-muted)}.app-menu__account-unlock{align-self:flex-start;padding:var(--space-2) var(--space-4);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-interactive-secondary);color:var(--color-text-inverse);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:opacity var(--transition-fast)}.app-menu__account-unlock:hover{opacity:.9}.app-menu__account-details{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-0)}.app-menu__account-detail-row{display:flex;gap:var(--space-3);font-size:var(--font-size-sm)}.app-menu__account-detail-row dt{color:var(--color-text-muted)}.app-menu__account-detail-row dd{margin:var(--space-0);color:var(--color-text-primary)}.app-menu__account-key-button:focus-visible,.app-menu__account-unlock:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-menu__sync-status-row{display:flex;align-items:center;gap:var(--space-2)}.app-menu__sync-folder{padding:var(--space-2) var(--space-3);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-muted);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:var(--layout-width-full)}.app-menu__sync-actions{display:flex;gap:var(--space-2)}.app-menu__sync-button{padding:var(--space-2) var(--space-3);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast)}.app-menu__sync-button:hover:not(:disabled){background-color:var(--color-bg-muted)}.app-menu__sync-button:disabled{opacity:.6;cursor:default}.app-menu__sync-button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-menu__back{display:none;align-self:flex-start;margin:var(--space-4) var(--space-4) var(--space-0);padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background-color:var(--color-bg-muted);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.app-menu__back:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}@media (max-width: 720px){.app-menu__card{width:100%;height:100%;border-radius:var(--radius-none)}.app-menu__left{width:100%;box-sizing:border-box}.app-menu__back{display:inline-flex}.app-menu__card--panel-open .app-menu__left,.app-menu__card--panel-open .app-menu__divider,.app-menu__card:not(.app-menu__card--panel-open) .app-menu__right,.app-menu__card:not(.app-menu__card--panel-open) .app-menu__divider{display:none}}.install-banner{position:fixed;left:var(--space-4);right:var(--space-4);bottom:var(--space-16);z-index:var(--z-sticky);box-sizing:border-box;max-width:36rem;margin:var(--space-0) auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-interactive-dark);color:var(--color-text-inverse);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);text-align:center}.install-banner__message{font-weight:var(--font-weight-medium)}.install-banner__action{padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background-color:var(--color-text-inverse);color:var(--color-interactive-dark);font-family:inherit;font-size:inherit;font-weight:var(--font-weight-medium);cursor:pointer}.install-banner__dismiss{padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-inverse);font-family:inherit;font-size:inherit;cursor:pointer;opacity:.8}.install-banner__dismiss:hover{opacity:1}.install-banner__action:focus-visible,.install-banner__dismiss:focus-visible{outline:var(--border-width-default) solid var(--color-text-inverse);outline-offset:var(--space-1)}.license-activation{position:fixed;inset:var(--space-0);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-8);background-color:var(--color-modal-overlay);font-family:var(--font-family-sans)}.license-activation__card{position:relative;width:var(--layout-width-full);max-width:var(--layout-width-license-modal);padding:var(--space-8);border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text-primary)}.license-activation__close{position:absolute;top:var(--space-4);right:var(--space-4);padding:var(--space-0);border:none;background:none;color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-2xl);line-height:var(--line-height-tight);cursor:pointer}.license-activation h2{margin:var(--space-0);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.license-activation__subtext{margin:var(--space-3) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal)}.license-activation__form{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-8)}.license-activation__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.license-activation__input{width:var(--layout-width-full);box-sizing:border-box;padding:var(--space-3) var(--space-4);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.license-activation__input:focus{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}.license-activation__activate{display:inline-flex;width:var(--layout-width-full);align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);background-color:var(--color-interactive-dark);color:var(--color-text-inverse);font-family:var(--font-family-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);cursor:pointer}.license-activation__activate:disabled{cursor:default}.license-activation__spinner{width:var(--font-size-base);height:var(--font-size-base);border:var(--border-width-default) solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:license-activation-spin var(--duration-slow) linear infinite}.license-activation__purchase-link{display:block;margin:var(--space-4) auto var(--space-0);padding:var(--space-0);border:none;background:none;color:var(--color-accent-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);cursor:pointer}.license-activation__error{margin:calc(var(--space-2) * -1) var(--space-0) var(--space-0);color:var(--color-feedback-error);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.license-activation__success{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-0);text-align:center}.license-activation__success-icon{color:var(--color-feedback-success);font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.license-activation__close:focus-visible,.license-activation__activate:focus-visible,.license-activation__purchase-link:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}@keyframes license-activation-spin{to{transform:rotate(1turn)}}.onboarding{display:flex;box-sizing:border-box;width:var(--layout-width-full, 100%);min-height:var(--layout-height-viewport, 100vh);padding:var(--space-6, 1.5rem) var(--space-0, 0) var(--space-6, 1.5rem) var(--space-6, 1.5rem);overflow-x:hidden;background-color:var(--color-consent-bg)}.onboarding__card{position:relative;display:flex;flex-direction:column;flex:0 0 53.7%;min-width:var(--space-0, 0);max-width:36.0625rem;min-height:calc(var(--layout-height-viewport, 100vh) - 2 * var(--space-6, 1.5rem));background-color:var(--color-bg-surface);border-radius:var(--space-8, 2rem);overflow:hidden}.onboarding__content{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-8, 2rem);max-width:24.875rem;margin:auto var(--space-10, 2.5rem) auto var(--space-12, 3rem)}.onboarding__copy,.onboarding__body-block{display:flex;flex-direction:column;gap:var(--space-4, 1rem)}.onboarding__actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4, 1rem)}.onboarding__icon{display:block;flex-shrink:0}.onboarding__heading{margin:var(--space-0, 0);font-family:var(--font-family-sans);font-size:var(--font-size-3xl, 2rem);font-weight:var(--font-weight-normal, 400);line-height:var(--line-height-tight, 1.25);color:var(--color-new-word)}.onboarding__body{margin:var(--space-0, 0);font-family:var(--font-family-sans);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-normal, 400);line-height:var(--line-height-normal, 1.5);color:var(--color-text-secondary)}.onboarding__btn-primary{display:inline-flex;align-items:center;gap:var(--space-4, 1rem);padding:var(--space-2, .5rem) var(--space-4, 1rem);border:none;border-radius:var(--space-4, 1rem);background-color:var(--color-onboarding-btn-bg);color:var(--color-new-word);font-family:var(--font-family-sans);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-normal, 400);line-height:var(--line-height-normal, 1.5);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast, .1s) var(--ease-default)}.onboarding__btn-primary:hover{background-color:var(--color-onboarding-btn-bg-hover)}.onboarding__btn-primary:focus-visible{outline:var(--border-width-default, 1px) solid var(--color-focus-ring);outline-offset:var(--space-1, .25rem)}.onboarding__btn-secondary{padding:var(--space-2, .5rem) var(--space-4, 1rem);border:none;border-radius:var(--space-4, 1rem);background-color:var(--color-interactive-primary);color:var(--color-interactive-primary-text);font-family:var(--font-family-sans);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-normal, 400);line-height:var(--line-height-normal, 1.5);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast, .1s) var(--ease-default)}.onboarding__btn-secondary:hover{background-color:var(--color-interactive-primary-hover)}.onboarding__btn-secondary:focus-visible{outline:var(--border-width-default, 1px) solid var(--color-focus-ring);outline-offset:var(--space-1, .25rem)}.onboarding__btn-link{padding:var(--space-1, .25rem) var(--space-0, 0);border:none;background:none;color:var(--color-text-secondary);font-family:var(--font-family-sans);font-size:var(--font-size-sm, .875rem);line-height:var(--line-height-normal, 1.5);text-decoration:underline;text-underline-offset:var(--space-1, .25rem);cursor:pointer}.onboarding__btn-link:hover{color:var(--color-new-word)}.onboarding__btn-link:focus-visible{outline:var(--border-width-default, 1px) solid var(--color-focus-ring);outline-offset:var(--space-1, .25rem)}.onboarding__btn-link:disabled{cursor:progress;opacity:.6}.onboarding__error{margin:var(--space-0, 0);font-family:var(--font-family-sans);font-size:var(--font-size-sm, .875rem);line-height:var(--line-height-normal, 1.5);color:var(--color-feedback-error)}.onboarding__panel{position:relative;display:flex;flex:1;flex-direction:column;justify-content:flex-end;min-width:var(--space-0, 0);padding:var(--space-0, 0) var(--space-10, 2.5rem) var(--space-10, 2.5rem) var(--space-6, 1.5rem);overflow:visible}.onboarding__logo-bg{position:absolute;top:-30%;right:-35%;width:140%;max-width:none;height:auto;object-fit:contain;object-position:right top;opacity:.42;filter:brightness(0) invert(1);pointer-events:none;-webkit-user-select:none;user-select:none}.onboarding__quote{position:relative;z-index:1;max-width:24.875rem;margin:var(--space-0, 0);padding:var(--space-0, 0);border:none}.onboarding__quote p{margin:var(--space-0, 0) var(--space-0, 0) var(--space-4, 1rem);font-family:var(--font-family-sans);font-size:var(--font-size-base, 1rem);font-weight:var(--font-weight-normal, 400);line-height:var(--line-height-normal, 1.5);color:var(--color-consent-text)}.onboarding__quote-link{font-family:var(--font-family-sans);font-size:var(--font-size-sm, .875rem);font-weight:var(--font-weight-normal, 400);line-height:var(--line-height-normal, 1.5);color:var(--color-onboarding-quote-muted);text-decoration:none}.onboarding__quote-link:hover{color:var(--color-consent-text);text-decoration:underline}.onboarding__quote-link:focus-visible{outline:var(--border-width-default, 1px) solid var(--color-consent-text);outline-offset:var(--space-1, .25rem)}@media (max-width: 640px){.onboarding{flex-direction:column;padding:var(--space-4, 1rem)}.onboarding__card{flex:0 0 auto;max-width:none;min-height:auto}.onboarding__content{margin:var(--space-10, 2.5rem) var(--space-6, 1.5rem)}.onboarding__panel{padding:var(--space-10, 2.5rem) var(--space-2, .5rem) var(--space-4, 1rem);overflow:hidden}}@media (prefers-reduced-motion: reduce){.onboarding__btn-primary,.onboarding__btn-secondary{transition:none}}.study-card{position:relative;display:flex;min-height:var(--layout-height-viewport);width:var(--layout-width-full);flex-direction:column;overflow:hidden;background-color:var(--color-state-question);color:var(--color-text-primary);font-family:var(--font-family-sans);transition:background-color var(--transition-default)}.study-card--correct{background-color:var(--color-state-correct)}.study-card--incorrect{background-color:var(--color-state-incorrect)}.study-card__top-bar{position:absolute;top:var(--space-8);left:var(--space-16);right:var(--space-16);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.study-card__mastery{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.study-card__mastery-label,.study-card__progress{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.study-card__mastery-dots{display:flex;gap:var(--space-1)}.study-card__mastery-dot{width:var(--space-3);height:var(--space-3);border-radius:var(--radius-full);background-color:var(--color-overlay)}.study-card__mastery-dot--filled{background-color:var(--color-state-correct)}.study-card--correct .study-card__mastery-dot--filled,.study-card--incorrect .study-card__mastery-dot--filled{background-color:var(--color-state-question)}.study-card__content{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-16);text-align:center}.study-card__sentence-form{margin:var(--space-0)}.study-card__new-word-badge{display:inline-block;margin-bottom:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background-color:var(--color-new-word-bg);color:var(--color-new-word);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.study-card__sentence{margin:var(--space-0);font-family:var(--font-family-target);font-size:var(--font-size-sentence-lg);line-height:var(--line-height-tight);color:var(--color-text-primary)}.study-card__inline-input,.study-card__inline-answer{display:inline-flex;width:calc(var(--blank-chars) * 1ch + var(--space-6));min-height:1em;align-items:center;justify-content:center;margin-inline:var(--space-2);padding-inline:var(--space-2);border:none;border-radius:var(--radius-md);background-color:var(--color-overlay);color:var(--color-text-primary);font:inherit;line-height:inherit;text-align:center;vertical-align:baseline}.study-card__inline-input{caret-color:var(--color-text-primary)}.study-card__inline-input:focus{outline:none}.study-card__inline-answer{font-weight:var(--font-weight-semibold)}.study-card__answer-reveal{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);margin-top:var(--space-2)}.study-card__answer-reveal-label{color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.study-card__answer-reveal-word{color:var(--color-text-primary);font-family:var(--font-family-target);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.study-card__article-reveal{margin:var(--space-2) var(--space-0) var(--space-0);color:var(--color-text-secondary);font-family:var(--font-family-target);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);text-align:center}.study-card__cue{margin:var(--space-4) var(--space-0) var(--space-0);color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.study-card__sentence-toggle,.study-card__change-review-toggle{padding:var(--space-0);border:none;background:none;color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);cursor:pointer}.study-card__change-review-toggle:hover{text-decoration:underline}.study-card__inline-input:focus-visible,.study-card__sentence-toggle:focus-visible,.study-card__change-review-toggle:focus-visible,.study-card__settings-trigger:focus-visible,.study-card__unlock-trigger:focus-visible,.study-card__privacy-link:focus-visible,.study-card__primary-action:focus-visible,.study-card__secondary-action:focus-visible,.study-card__review-toggle:focus-visible,.study-card__review-option:focus-visible,.study-card__settings-close:focus-visible,.study-card__menu-item:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}.study-card__sentence-details{display:flex;flex-direction:column;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.study-card__sentence-translation,.study-card__grammar-note{margin:var(--space-0)}.study-card__sentence-translation{font-family:var(--font-family-target);font-size:var(--font-size-md);color:var(--color-text-secondary)}.study-card__question-actions,.study-card__correct-actions,.study-card__incorrect-actions{display:flex;width:var(--layout-width-full);flex-direction:column;align-items:center;gap:var(--space-4);margin-top:var(--space-12)}.study-card__primary-action,.study-card__secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:none;border-radius:var(--radius-md);background-color:var(--color-overlay);font-family:var(--font-family-sans);cursor:pointer;transition:background-color var(--transition-fast)}.study-card__primary-action{padding:var(--space-3) var(--space-4);color:var(--color-text-inverse);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.study-card__secondary-action{padding:var(--space-3) var(--space-4);color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.study-card__primary-action-icon{width:var(--font-size-base);height:var(--font-size-base);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--border-width-default)}.study-card__review-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-0);border:none;background:none;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-lg);line-height:var(--line-height-normal);cursor:pointer}.study-card__review-panel{display:flex;width:var(--layout-width-full);flex-wrap:nowrap;overflow:hidden;border:var(--border-width-default) solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-bg-surface)}.study-card__review-option{display:flex;min-height:var(--space-16);flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-4) var(--space-2);border:none;border-right:var(--border-width-default) solid var(--color-border);background-color:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:var(--line-height-tight);text-align:center;cursor:pointer}.study-card__review-option:last-child{border-right:none}.study-card__review-option:focus-visible{outline:3px solid var(--ds-indigo-600, #5b4fdb);outline-offset:-3px;position:relative;z-index:1}.study-card__review-option strong{font-weight:var(--font-weight-semibold)}.study-card__review-option span{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.study-card__incorrect-rating-row{display:flex;gap:var(--space-3)}.study-card--incorrect .study-card__secondary-action{background-color:var(--color-interactive-dark);color:var(--color-text-inverse)}.study-card--incorrect .study-card__change-review-toggle{color:var(--color-text-muted-on-state)}.study-card__settings-trigger{position:absolute;left:var(--space-8);bottom:var(--space-8);z-index:var(--z-sticky);display:inline-flex;width:var(--size-icon-lg);height:var(--size-icon-lg);align-items:center;justify-content:center;padding:var(--space-0);border:none;background:none;color:var(--color-text-muted);cursor:pointer;opacity:.6;transition:opacity .2s ease-out}.study-card__settings-trigger:hover{opacity:1}.study-card__settings-icon{width:var(--size-icon-lg);height:var(--size-icon-lg);transition:transform .2s ease-out,opacity .2s ease-out}.study-card__settings-trigger:hover .study-card__settings-icon{transform:scale(1.1);opacity:1}@media (max-width: 480px){.study-card__top-bar{left:var(--space-6);right:var(--space-6)}.study-card__content{padding:var(--space-16) var(--space-6)}.study-card__sentence{font-size:var(--font-size-3xl)}}@media (prefers-reduced-motion: reduce){.study-card,.study-card__settings-icon,.study-card__settings-panel,.study-card__menu-card,.study-card__primary-action,.study-card__secondary-action{transition:none}}.study-card__unlock-trigger{position:absolute;right:var(--space-8);bottom:var(--space-8);z-index:var(--z-sticky);padding:var(--space-0);border:none;background:none;color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);cursor:pointer}.study-card__unlock-trigger:hover{text-decoration:underline}.study-card__settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.study-card__settings-header h2{margin-bottom:var(--space-0)}.study-card__settings-close{padding:var(--space-1) var(--space-2);border:none;background:none;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:1;cursor:pointer}.study-card__settings-close:hover{color:var(--color-text-primary)}.study-card__inline-answer--wrong{color:var(--color-text-primary);opacity:.5;text-decoration:line-through}.study-card__settings-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background-color:var(--color-modal-overlay);opacity:0;pointer-events:none;transition:opacity var(--transition-default)}.study-card__settings-panel--open{opacity:1;pointer-events:auto;transform:none}.study-card__menu-card{width:340px;max-width:calc(var(--layout-width-full) - var(--space-8));padding:var(--space-6);border-radius:var(--radius-xl);background-color:var(--color-bg-surface);box-shadow:var(--shadow-lg);transform:translateY(var(--space-4));transition:transform var(--transition-default)}.study-card__settings-panel--open .study-card__menu-card{transform:translateY(var(--space-0))}.study-card__menu-title{margin:var(--space-0);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}.study-card__menu-nav{display:flex;flex-direction:column;margin-top:var(--space-4)}.study-card__menu-item{display:flex;align-items:center;gap:var(--space-3);width:var(--layout-width-full);padding:var(--space-3) var(--space-2);border:none;border-radius:var(--radius-md);background:none;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);text-align:left;cursor:pointer;transition:background-color var(--transition-fast)}.study-card__menu-item:hover{background-color:var(--color-bg-muted)}.study-card__menu-item-icon{flex-shrink:0;width:var(--size-icon-lg);height:var(--size-icon-lg);color:var(--color-text-secondary)}.study-card__menu-item-label{flex:1}.study-card__menu-item-chevron{flex-shrink:0;width:var(--font-size-base);height:var(--font-size-base);color:var(--color-text-muted)}.study-card__menu-footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--border-width-default) solid var(--color-border-default)}.study-card__menu-unlock{display:block;width:var(--layout-width-full);padding:var(--space-3) var(--space-4);border:var(--border-width-default) solid var(--color-border-default);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center;cursor:pointer;transition:background-color var(--transition-fast)}.study-card__menu-unlock:hover{background-color:var(--color-bg-muted)}.study-card__privacy-link{margin-top:var(--space-4);padding:var(--space-0);border:none;background:none;color:var(--color-text-link);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-normal);cursor:pointer}.placement-session{position:relative;min-height:var(--layout-height-viewport);background-color:var(--color-state-question);color:var(--color-text-primary);font-family:var(--font-family-sans)}.placement-session__bottom-bar{position:absolute;bottom:var(--space-8);left:calc(var(--space-8) + var(--size-icon-lg) + var(--space-4));right:var(--space-8);z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between}.placement-session__level-label{margin-left:auto;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-tight)}.placement-session__level-label:after{content:"";display:inline-block;width:1.5em;text-align:left;animation:placement-ellipsis 1.2s steps(1,end) infinite}@keyframes placement-ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}to{content:""}}.placement-session__unlock-btn{padding:var(--space-0);border:none;background:none;color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-sm);line-height:var(--line-height-tight);cursor:pointer}.placement-session__unlock-btn:hover{text-decoration:underline}.placement-session__unlock-btn:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}.placement-session--complete{display:flex;align-items:center;justify-content:center;padding:var(--space-16);background-color:var(--color-state-correct);text-align:center}.placement-session__completion{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);max-width:var(--layout-width-license-modal)}.placement-session__completion-heading{margin:var(--space-0);color:var(--color-text-primary);font-family:var(--font-family-target);font-size:var(--font-size-3xl);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight)}.placement-session__completion-body{margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--font-size-base)}.placement-session__start-btn{padding:var(--space-3) var(--space-8);border:none;border-radius:var(--radius-pill);background-color:var(--color-text-primary);color:var(--color-state-correct);font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer}.placement-session__start-btn:hover{opacity:.85}.placement-session__word-list-cta{padding:var(--space-0);border:none;background:none;color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-sm);text-decoration:underline;cursor:pointer}.placement-session__word-list-cta:hover{opacity:.7}.placement-session__start-btn:focus-visible,.placement-session__word-list-cta:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}@media (prefers-reduced-motion: reduce){.placement-session__level-label:after{animation:none;content:"…"}}.privacy-policy{position:fixed;inset:var(--space-0);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--space-6);background-color:var(--color-modal-overlay);color:var(--color-text-primary);font-family:var(--font-family-sans)}.privacy-policy__card{position:relative;width:var(--layout-width-full);max-width:calc(var(--space-16) * 8 + var(--space-12));max-height:calc(var(--layout-height-viewport) - var(--space-16));overflow:auto;overscroll-behavior:contain;padding:var(--space-8);border-radius:var(--radius-lg);background-color:var(--color-bg-surface);box-shadow:var(--shadow-md)}.privacy-policy__close{position:absolute;top:var(--space-4);right:var(--space-4);padding:var(--space-0);border:none;background:none;color:var(--color-text-muted);font-family:var(--font-family-sans);font-size:var(--font-size-xl);line-height:var(--line-height-tight);cursor:pointer}.privacy-policy h2{margin:var(--space-0) var(--space-8) var(--space-4) var(--space-0);font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.privacy-policy p,.privacy-policy ul{margin:var(--space-0) var(--space-0) var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-md);line-height:var(--line-height-normal)}.privacy-policy ul{padding-left:var(--space-6)}.privacy-policy__close:focus-visible{outline:var(--border-width-default) solid var(--color-focus-ring);outline-offset:var(--space-1)}
