:root{--clr-primary: #2978f0;--clr-primary-dark: #1a54c4;--clr-primary-hover: var(--clr-primary-dark);--clr-primary-soft: var(--clr-primary);--clr-primary-deep: var(--clr-primary-dark);--clr-ink: #0c1f3d;--clr-ink-soft: #4a5d7c;--clr-ink-panel: #1c2b3a;--clr-ink-panel-hover: #2e4a63;--clr-ink-deep: #1e3a5f;--clr-ink-deep-hover: #2e4a6f;--clr-ink-night: #0a1f3a;--clr-ink-night-strong: #1a1a2e;--clr-on-primary: #ffffff;--clr-on-primary-muted: rgba(255, 255, 255, .68);--clr-on-primary-surface-hover: rgba(255, 255, 255, .22);--clr-surface: #ffffff;--clr-bg-top: #f5f9ff;--clr-bg-bottom: #eaf2ff;--clr-surface-muted: #f5f9fc;--clr-surface-muted-strong: #e8f0fe;--clr-surface-frosted: rgba(255, 255, 255, .6);--clr-surface-veil: rgba(255, 255, 255, .98);--clr-disabled-bg: #eef2f6;--clr-divider-soft: #eef0f3;--clr-divider: #e0e7ef;--clr-divider-strong: #dde2e8;--clr-divider-dashed: #d0dce8;--clr-neutral-border: #e4eef6;--clr-neutral-border-strong: #c5dced;--clr-field-border: rgba(28, 43, 58, .15);--clr-disabled-border: #cccccc;--clr-subtle-text: #9aabba;--clr-subtle-text-strong: #7b8da0;--clr-disabled-text: #888888;--clr-disabled-text-strong: #bbbbbb;--clr-accent-blue-bg: #cfe0ff;--clr-accent-blue-border: #2978f0;--clr-accent-mint-bg: #dff5ea;--clr-accent-mint-border: #55c29a;--clr-accent-cream-bg: #fff6e0;--clr-accent-cream-border: #d6a93a;--clr-accent-coral-bg: #ffe1d6;--clr-accent-coral-border: #ff7a59;--clr-accent-diamond-bg: #fff6e0;--clr-accent-diamond-border: #e6c86b;--clr-accent-diamond-label: #8b5a00;--clr-accent-chapter-1-bg: oklch(89% .08 25deg);--clr-accent-chapter-1-border:oklch(62% .18 25deg);--clr-accent-chapter-2-bg: oklch(90% .06 230deg);--clr-accent-chapter-2-border:oklch(58% .16 235deg);--clr-accent-chapter-3-bg: oklch(92% .1 85deg);--clr-accent-chapter-3-border:oklch(70% .18 75deg);--clr-accent-chapter-4-bg: oklch(91% .07 175deg);--clr-accent-chapter-4-border:oklch(60% .13 175deg);--clr-accent-chapter-5-bg: oklch(88% .09 355deg);--clr-accent-chapter-5-border:oklch(60% .2 355deg);--clr-accent-chapter-6-bg: oklch(91% .08 150deg);--clr-accent-chapter-6-border:oklch(62% .16 150deg);--clr-accent-chapter-7-bg: oklch(90% .08 50deg);--clr-accent-chapter-7-border:oklch(66% .16 55deg);--clr-accent-chapter-8-bg: oklch(89% .08 285deg);--clr-accent-chapter-8-border:oklch(58% .18 285deg);--clr-accent-chapter-9-bg: oklch(93% .1 100deg);--clr-accent-chapter-9-border:oklch(72% .16 95deg);--clr-accent-chapter-10-bg: oklch(90% .07 250deg);--clr-accent-chapter-10-border:oklch(55% .18 255deg);--clr-accent-chapter-11-bg: oklch(88% .09 15deg);--clr-accent-chapter-11-border:oklch(64% .18 15deg);--clr-accent-chapter-12-bg: oklch(91% .07 130deg);--clr-accent-chapter-12-border:oklch(62% .14 130deg);--clr-accent-chapter-13-bg: oklch(88% .09 340deg);--clr-accent-chapter-13-border:oklch(60% .2 335deg);--clr-accent-chapter-14-bg: oklch(91% .06 215deg);--clr-accent-chapter-14-border:oklch(58% .16 215deg);--clr-accent-chapter-15-bg: oklch(89% .1 40deg);--clr-accent-chapter-15-border:oklch(66% .2 40deg);--clr-accent-chapter-16-bg: oklch(89% .08 275deg);--clr-accent-chapter-16-border:oklch(55% .18 275deg);--clr-accent-chapter-17-bg: oklch(91% .08 110deg);--clr-accent-chapter-17-border:oklch(65% .16 110deg);--clr-accent-chapter-18-bg: oklch(89% .08 305deg);--clr-accent-chapter-18-border:oklch(58% .18 305deg);--clr-accent-chapter-19-bg: oklch(88% .07 5deg);--clr-accent-chapter-19-border:oklch(58% .2 10deg);--clr-accent-chapter-20-bg: oklch(92% .07 185deg);--clr-accent-chapter-20-border:oklch(62% .13 185deg);--clr-accent-chapter-21-bg: oklch(91% .1 70deg);--clr-accent-chapter-21-border:oklch(68% .18 70deg);--clr-accent-chapter-22-bg: oklch(88% .07 320deg);--clr-accent-chapter-22-border:oklch(55% .18 320deg);--clr-accent-chapter-23-bg: oklch(92% .1 125deg);--clr-accent-chapter-23-border:oklch(66% .16 125deg);--clr-accent-chapter-24-bg: oklch(91% .07 260deg);--clr-accent-chapter-24-border:oklch(60% .16 260deg);--clr-accent-chapter-25-bg: oklch(88% .09 30deg);--clr-accent-chapter-25-border:oklch(62% .18 30deg);--clr-accent-chapter-26-bg: oklch(91% .07 165deg);--clr-accent-chapter-26-border:oklch(60% .14 165deg);--clr-accent-chapter-27-bg: oklch(88% .08 325deg);--clr-accent-chapter-27-border:oklch(60% .18 325deg);--clr-accent-chapter-28-bg: oklch(91% .07 240deg);--clr-accent-chapter-28-border:oklch(55% .18 240deg);--clr-success: #4caf78;--clr-success-bg: #edf7f0;--clr-success-text: #2e7d52;--clr-success-solid: #22c55e;--clr-error: #c05a4a;--clr-error-bg: #fdf0ed;--clr-danger-solid: #ef4444;--clr-danger-solid-dark: #dc2626;--clr-danger-soft: #fff5f5;--clr-danger-border: #ff6b6b;--clr-info-solid: #3b82f6;--clr-info-solid-dark:#2563eb;--clr-info-bg: #f0f7ff;--clr-info-border: #bee3f8;--clr-info-text: #2c5282;--clr-warning: #f59e0b;--clr-gold: #d4a843;--clr-gold-text: #c9a84c;--clr-gold-glow: rgba(212, 168, 67, .7);--clr-gold-glow-soft: rgba(212, 168, 67, .3);--clr-gold-glow-clear: rgba(212, 168, 67, 0);--clr-streak-start: #f97316;--clr-celebrate-accent: #4a7fa5;--clr-celebrate-accent-dark: #2e6090;--clr-guide-muted: #d0d8e0;--clr-overlay-scrim: rgba(28, 43, 58, .72);--clr-scrim-soft-strong: rgba(0, 0, 0, .18);--clr-scrim-medium: rgba(0, 0, 0, .4);--clr-auth-start: #1c2b3a;--clr-auth-end: #2e4a63;--clr-timebar-start: #22c55e;--clr-timebar-mid: #f59e0b;--clr-timebar-end: #ef4444;--clr-focus-ring-strong: rgba(20, 111, 209, .45);--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--r-xs: 6px;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 20px;--r-2xl: 24px;--r-3xl: 28px;--r-pill: 999px;--r-bubble: 22px;--r-bubble-inner: 14px;--shadow-sm: 0 2px 8px rgba(15, 40, 80, .09);--shadow-md: 0 4px 16px rgba(15, 40, 80, .11);--shadow-lg: 0 8px 24px rgba(15, 40, 80, .13);--shadow-xl: 0 12px 48px rgba(0, 0, 0, .3);--shadow-runner-card: 0 2px 12px rgba(44, 90, 130, .1);--shadow-focus-ring: 0 0 0 4px rgba(40, 135, 230, .18);--shadow-bubble-4: 0 4px 0 var(--bubble-border, var(--clr-ink));--shadow-bubble-3: 0 3px 0 var(--bubble-border, var(--clr-ink));--shadow-bubble-2: 0 2px 0 var(--bubble-border, var(--clr-ink));--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur: .2s;--z-content: 2;--z-float: 1000;--z-banner: 1080;--z-modal: 1100;--z-auth: 1150;--z-toast: 1200;--z-tutorial-fab: 1250;--z-tutorial-bubble: 1260;--z-tutorial: 1300;--z-world-overlay: 1400;--z-tutorial-trash: 1310}@supports not (color: oklch(50% 0 0)){:root{--clr-accent-chapter-1-bg: #ffd6d0;--clr-accent-chapter-1-border: #d05a4d;--clr-accent-chapter-2-bg: #d4e4f5;--clr-accent-chapter-2-border: #2c6fb5;--clr-accent-chapter-3-bg: #fbe9b8;--clr-accent-chapter-3-border: #c89938;--clr-accent-chapter-4-bg: #cdebe5;--clr-accent-chapter-4-border: #3d9a8f;--clr-accent-chapter-5-bg: #f9d4dc;--clr-accent-chapter-5-border: #c84d68;--clr-accent-chapter-6-bg: #cfeed7;--clr-accent-chapter-6-border: #3fa05f;--clr-accent-chapter-7-bg: #ffdcc0;--clr-accent-chapter-7-border: #d2823a;--clr-accent-chapter-8-bg: #dad5f4;--clr-accent-chapter-8-border: #6c5cc1;--clr-accent-chapter-9-bg: #faea9c;--clr-accent-chapter-9-border: #c8a534;--clr-accent-chapter-10-bg: #d2deef;--clr-accent-chapter-10-border: #2a5dbb;--clr-accent-chapter-11-bg: #ffd0c5;--clr-accent-chapter-11-border: #d56050;--clr-accent-chapter-12-bg: #d2e9c9;--clr-accent-chapter-12-border: #5a9a4d;--clr-accent-chapter-13-bg: #f7d2e4;--clr-accent-chapter-13-border: #c44d8c;--clr-accent-chapter-14-bg: #d4e4f3;--clr-accent-chapter-14-border: #2f6caf;--clr-accent-chapter-15-bg: #ffd0a8;--clr-accent-chapter-15-border: #d6791e;--clr-accent-chapter-16-bg: #d3cdf3;--clr-accent-chapter-16-border: #5340c0;--clr-accent-chapter-17-bg: #e8e4b6;--clr-accent-chapter-17-border: #998d40;--clr-accent-chapter-18-bg: #e3d0f2;--clr-accent-chapter-18-border: #8245b8;--clr-accent-chapter-19-bg: #ffd0d0;--clr-accent-chapter-19-border: #c84548;--clr-accent-chapter-20-bg: #d2ece8;--clr-accent-chapter-20-border: #408a85;--clr-accent-chapter-21-bg: #ffe2a6;--clr-accent-chapter-21-border: #c89534;--clr-accent-chapter-22-bg: #ecd0e8;--clr-accent-chapter-22-border: #8a3a8e;--clr-accent-chapter-23-bg: #d8edaa;--clr-accent-chapter-23-border: #708a35;--clr-accent-chapter-24-bg: #d3dcf3;--clr-accent-chapter-24-border: #4055b9;--clr-accent-chapter-25-bg: #ffd0bd;--clr-accent-chapter-25-border: #c45a35;--clr-accent-chapter-26-bg: #d0ead7;--clr-accent-chapter-26-border: #408764;--clr-accent-chapter-27-bg: #f0d2e8;--clr-accent-chapter-27-border: #984588;--clr-accent-chapter-28-bg: #d2dcf2;--clr-accent-chapter-28-border: #2f55b5}}*{margin:0;padding:0;box-sizing:border-box}html{overflow-y:scroll}html.modal-open{overflow:hidden;overscroll-behavior:none}body.modal-open{overflow:hidden;overscroll-behavior:none;position:fixed;width:100%}body{font-family:var(--font-body);background-color:var(--clr-bg-bottom);background-image:linear-gradient(180deg,var(--clr-bg-top) 0%,var(--clr-bg-bottom) 100%);min-height:100vh;padding:10px;color:var(--clr-ink)}.container{max-width:1000px;margin:0 auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--clr-ink);color:var(--clr-bg-card);padding:8px 14px;z-index:var(--z-toast);text-decoration:none;font-weight:600;border-radius:0 0 6px}.skip-link:focus{top:0}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}@media(min-width:601px){body{padding:20px}}.bubble-card{position:relative;box-sizing:border-box;border-radius:var(--r-bubble);border:2px solid var(--bubble-border, var(--clr-ink));background:var(--bubble-bg, var(--clr-surface));box-shadow:var(--shadow-bubble-4);font-family:var(--font-body);color:var(--clr-ink);transition:transform var(--dur-fast) var(--ease)}.bubble-card--neutral{--bubble-bg: var(--clr-surface);--bubble-border: var(--clr-ink)}.bubble-card--solid{background:var(--bubble-border, var(--clr-primary));color:var(--clr-on-primary)}.bubble-card[role=button],button.bubble-card{cursor:pointer;text-align:left;padding:var(--sp-4)}.bubble-card[role=button]:focus-visible,button.bubble-card:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.bubble-card[role=button]:active,button.bubble-card:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.bubble-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-pill);border:2px solid var(--bubble-border, var(--clr-primary-dark));font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.2px;cursor:pointer;box-shadow:var(--shadow-bubble-3);transition:transform var(--dur-fast) var(--ease)}.bubble-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.bubble-btn:active:not(:disabled){transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.bubble-btn:disabled{opacity:.5;cursor:not-allowed}.bubble-btn--primary{background:var(--clr-primary);color:var(--clr-on-primary);--bubble-border: var(--clr-primary-dark)}.bubble-btn--ghost{background:var(--clr-surface);color:var(--clr-ink);--bubble-border: var(--clr-ink)}.bubble-btn--danger{background:var(--clr-danger-solid);color:var(--clr-on-primary);--bubble-border: var(--clr-danger-solid-dark)}.stat-bubble{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--sp-3) var(--sp-2);border-radius:var(--r-bubble);border:2px solid var(--bubble-border, var(--clr-ink));background:var(--bubble-bg, var(--clr-surface));box-shadow:var(--shadow-bubble-4);font-family:var(--font-body);color:var(--clr-ink);cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.stat-bubble:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.stat-bubble:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.stat-bubble__icon{font-size:22px;line-height:1}.stat-bubble__value{font-size:26px;font-weight:900;letter-spacing:-.5px;line-height:1;margin-top:2px}.stat-bubble__label{font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--clr-ink-soft);margin-top:2px}.stat-bubble--diamond .stat-bubble__label{color:var(--clr-accent-diamond-label)}.bubble-overlay{border:none;padding:0;background:transparent;max-width:min(92vw,520px);max-height:90vh;width:100%}.bubble-overlay::backdrop{background:var(--clr-overlay-scrim)}.bubble-overlay__card{position:relative;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);--bubble-border: var(--clr-ink);box-shadow:var(--shadow-bubble-4);padding:var(--sp-5);max-height:90vh;overflow-y:auto;font-family:var(--font-body);color:var(--clr-ink)}.bubble-overlay--sm .bubble-overlay__card{padding:var(--sp-4)}.bubble-overlay--lg{max-width:min(94vw,720px)}.bubble-overlay__title{font-size:20px;font-weight:900;letter-spacing:-.5px;padding-right:var(--sp-8)}.bubble-overlay__subtitle{font-size:13px;font-weight:700;font-style:italic;color:var(--clr-ink-soft);margin-top:2px;padding-right:var(--sp-8)}.bubble-overlay__close{position:absolute;top:var(--sp-3);right:var(--sp-3);width:32px;height:32px;border-radius:var(--r-pill);border:2px solid var(--clr-ink);background:var(--clr-surface);font-family:var(--font-body);font-size:18px;font-weight:900;line-height:1;cursor:pointer;box-shadow:var(--shadow-bubble-2)}.bubble-overlay__close:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.bubble-overlay__body{margin-top:var(--sp-4);font-size:14px;font-weight:700;line-height:1.4}.cultural-tip-overlay-body{display:flex;flex-direction:column;gap:var(--sp-3)}.cultural-tip-overlay-block{padding:var(--sp-3);border-radius:var(--r-bubble-inner);background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);--bubble-border: var(--clr-accent-blue-border);color:var(--clr-ink);font-weight:700;line-height:1.45}.cultural-tip-overlay-block--translation{background:var(--clr-accent-cream-bg);border-color:var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border);font-style:italic;font-weight:600}.cultural-tip-overlay-empty{font-size:14px;font-weight:700;color:var(--clr-ink-soft);margin:0}.header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-2);margin-bottom:var(--sp-4);font-family:var(--font-body);color:var(--clr-ink)}.header-wordmark{display:flex;align-items:center;gap:var(--sp-2);min-width:0;flex:1 1 auto}.header-logo{width:36px;height:36px;flex-shrink:0;object-fit:contain}.header-brand{min-width:0;display:flex;flex-direction:column}.header-brand-title{font-size:22px;font-weight:900;letter-spacing:-.5px;line-height:1.1}.header-brand-sub{font-size:12px;font-weight:700;color:var(--clr-ink-soft);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-actions{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.header-flag-pill,.header-cog{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);font-family:var(--font-body);cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.header-flag-pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:16px;line-height:1}.header-flag-arrow{font-size:12px;font-weight:900;color:var(--clr-ink)}.header-cog{width:36px;height:36px;padding:0;font-size:18px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.header-flag-pill:focus-visible,.header-cog:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.header-flag-pill:active,.header-cog:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}@media(min-width:601px){.header{padding:var(--sp-3) var(--sp-5)}.header-brand-title{font-size:26px}.header-brand-sub{font-size:14px}.header-logo{width:42px;height:42px}.header-flag-pill{height:40px;font-size:18px;padding:0 14px}.header-cog{width:40px;height:40px;font-size:20px}}.tab-content{display:none}.tab-content.active{display:block}.stat-bubbles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.chapters-heading{display:flex;align-items:baseline;gap:var(--sp-2);margin:var(--sp-2) 0 var(--sp-3);font-family:var(--font-body)}.chapters-heading-title{font-size:18px;font-weight:900;letter-spacing:-.3px;color:var(--clr-ink)}.chapters-heading-sub{font-size:13px;font-weight:700;font-style:italic;color:var(--clr-ink-soft)}@media(min-width:601px){.stat-bubbles{gap:var(--sp-4);margin-bottom:var(--sp-5)}.chapters-heading-title{font-size:22px}.chapters-heading-sub{font-size:15px}}.today-card{position:relative;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);margin-bottom:var(--sp-5);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-ink);font-family:var(--font-body);color:var(--clr-ink)}.today-card[hidden]{display:none}.today-card:before,.today-card:after{content:"";position:absolute;left:28px;width:0;height:0;border-style:solid;pointer-events:none}.today-card:before{bottom:-16px;border-width:16px 14px 0 0;border-color:var(--clr-ink) transparent transparent transparent}.today-card:after{bottom:-12px;left:31px;border-width:12px 11px 0 0;border-color:var(--clr-surface) transparent transparent transparent}.today-eyebrow{display:flex;align-items:center;gap:var(--sp-2)}.today-eyebrow__avatar{width:28px;height:28px;flex-shrink:0;object-fit:contain}.today-eyebrow__label{font-size:11px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;color:var(--clr-ink-soft)}.today-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.today-cta__text{flex:1;min-width:0}.today-cta__title{font-size:15px;font-weight:900;letter-spacing:-.2px;line-height:1.25;color:var(--clr-ink)}.today-cta__sub{margin-top:4px;font-size:12px;font-weight:700;font-style:italic;color:var(--clr-ink-soft);line-height:1.3}.today-cta__btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 var(--sp-4);background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-primary-dark);font-family:var(--font-body);font-size:13px;font-weight:900;letter-spacing:.2px;cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.today-cta__btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.today-cta__btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.today-divider{height:0;border-top:1.5px dashed var(--clr-ink-soft);opacity:.33;margin:2px 0}.today-review{display:flex;align-items:center;gap:var(--sp-3)}.today-review__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-bubble-inner);background:var(--clr-accent-cream-bg);border:2px solid var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border);font-size:18px;line-height:1}.today-review__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.today-review__title{font-size:13px;font-weight:900;color:var(--clr-ink);letter-spacing:-.1px}.today-review__sub{font-size:11px;font-weight:700;font-style:italic;color:var(--clr-ink-soft)}.today-review__bar{display:flex;gap:3px;margin-top:2px}.today-review__seg{flex:1;height:6px;border-radius:var(--r-pill);background:var(--clr-ink-soft);opacity:.22}.today-review__seg--filled{background:var(--clr-accent-mint-border);opacity:1}.today-review__btn{flex-shrink:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:36px;padding:4px var(--sp-3);background:var(--clr-surface);color:var(--clr-ink);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);font-family:var(--font-body);cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.today-review__btn-main{font-size:12px;font-weight:900;letter-spacing:.1px;line-height:1}.today-review__btn-sub{font-size:9px;font-weight:700;font-style:italic;letter-spacing:0;opacity:.55;line-height:1}.today-review__btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.today-review__btn:active{transform:translateY(1px);box-shadow:none}.today-goal{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:2px}.today-goal__label{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--clr-ink-soft);text-transform:uppercase}.today-goal__chips{display:flex;flex-wrap:wrap;gap:6px}.today-goal__chip{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:32px;padding:0 12px;border-radius:var(--r-pill);background:var(--clr-surface);border:2px solid var(--clr-ink);color:var(--clr-ink);font-family:var(--font-body);font-size:12px;font-weight:900;letter-spacing:.02em;cursor:pointer;box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);transition:transform var(--dur-fast) var(--ease)}.today-goal__chip:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.today-goal__chip:active{transform:translateY(1px);box-shadow:none}.today-goal__chip[aria-pressed=true]{background:var(--clr-primary);color:var(--clr-on-primary)}.today-goal__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.today-info-btn{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:2px solid var(--clr-ink-soft);background:var(--clr-surface);color:var(--clr-ink);font-size:14px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink-soft);transition:transform var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.today-info-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.today-info-btn:active{transform:translateY(1px);box-shadow:none}.today-info-btn[aria-expanded=true]{background:var(--clr-surface-muted-strong);border-color:var(--clr-primary)}.today-info-popover{margin-top:var(--sp-2);padding:var(--sp-3);background:var(--clr-surface-muted);border:1.5px solid var(--clr-ink-soft);border-radius:var(--r-bubble-inner);display:flex;flex-direction:column;gap:var(--sp-3)}.today-info__bubbles{display:flex;justify-content:space-between;gap:6px}.today-info__cell{flex:1;text-align:center;min-width:0}.today-info__bubble{width:44px;height:44px;border-radius:50%;border:2.5px solid currentcolor;background:var(--clr-surface);color:var(--clr-ink-soft);margin:0 auto 4px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;line-height:1}.today-info__bubble--due{color:#e53e3e;background:#fff5f5}.today-info__bubble--learning{color:#dd6b20;background:#fffaf0}.today-info__bubble--review{color:#3182ce;background:#ebf8ff}.today-info__bubble--mastered{color:#38a169;background:#f0fff4}.today-info__cell-label{font-size:10px;font-weight:800;color:var(--clr-ink);line-height:1.2}.today-info__cell-sub{font-size:9px;font-weight:600;color:var(--clr-ink-soft);opacity:.75;font-style:italic;line-height:1.2;margin-top:1px}.today-info__legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.today-info__legend-item{display:flex;gap:8px;align-items:flex-start}.today-info__legend-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:currentcolor;margin-top:4px}.today-info__legend-body{flex:1;min-width:0}.today-info__legend-msg{font-size:11px;font-weight:600;color:var(--clr-ink);line-height:1.35}.today-info__legend-msg-sub{font-size:10px;font-style:italic;color:var(--clr-ink-soft);opacity:.8;line-height:1.3;margin-top:1px}.today-info__section-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--clr-ink-soft)}.today-info__presets{display:flex;gap:6px}.today-info__preset{flex:1;padding:8px 4px;background:var(--clr-surface);border:2px solid var(--clr-ink-soft);border-radius:var(--r-bubble-inner);cursor:pointer;text-align:center;font-family:var(--font-body);color:var(--clr-ink);transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.today-info__preset:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:2px}.today-info__preset--active{border-color:var(--clr-primary);background:var(--clr-surface-muted-strong)}.today-info__preset-icon{font-size:18px;line-height:1;margin-bottom:2px}.today-info__preset-label{font-size:11px;font-weight:800;line-height:1.2}.today-info__preset-label-sub{font-size:9px;font-style:italic;color:var(--clr-ink-soft);opacity:.8;line-height:1.2}.today-info__preset-desc{font-size:9px;color:var(--clr-ink-soft);line-height:1.3;margin-top:3px;opacity:.85}@media(min-width:601px){.today-cta__title{font-size:17px}.today-cta__sub{font-size:13px}.today-review__title{font-size:14px}.today-review__sub{font-size:12px}.today-goal__chip{height:36px;min-width:52px;font-size:13px}.today-info__bubble{width:48px;height:48px;font-size:17px}.today-info__cell-label{font-size:11px}.today-info__legend-msg{font-size:12px}}.chapters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}@media(min-width:601px){.chapters-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}}@media(min-width:901px){.chapters-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.chapter-card{appearance:none;display:flex;flex-direction:column;padding:0;width:100%;text-align:left;font:inherit;font-family:var(--font-body);color:var(--clr-ink);background:var(--clr-surface);border:2px solid var(--bubble-border, var(--clr-ink));border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);cursor:pointer;overflow:hidden;transition:transform var(--dur-fast) var(--ease)}.chapter-card:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.chapter-card:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.chapter-card-locked{opacity:.78;filter:grayscale(.6)}.chapter-card-visual{position:relative;width:100%;padding-bottom:75%;background:var(--bubble-bg, var(--clr-surface-muted));overflow:hidden}.chapter-card-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.chapter-card-icon{position:absolute;inset:0;display:grid;place-items:center;font-size:3.2em;line-height:1}.chapter-card-top{position:absolute;top:var(--sp-2);left:var(--sp-2);right:var(--sp-2);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-2);z-index:var(--z-content)}.chapter-status-row{display:flex;align-items:center;min-height:24px}.chapter-status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--r-pill);background:var(--clr-surface);border:2px solid var(--clr-ink);color:var(--clr-ink);font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink)}.chapter-number{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;border-radius:var(--r-pill);background:var(--bubble-bg, var(--clr-surface));color:var(--clr-ink);border:1.5px solid var(--bubble-border, var(--clr-ink));font-size:13px;font-weight:900;letter-spacing:-.2px;line-height:1;flex-shrink:0}.chapter-card-diamond-count{position:absolute;right:var(--sp-2);bottom:var(--sp-2);display:inline-flex;align-items:center;gap:4px;background:linear-gradient(180deg,#f3f5f8,#d9dee5);border:1.5px solid var(--clr-ink);color:var(--clr-ink);padding:2px 8px;border-radius:var(--r-pill);font-size:12px;font-weight:900;letter-spacing:.02em;--bubble-border: var(--clr-ink);box-shadow:var(--shadow-bubble-2);pointer-events:none;z-index:var(--z-content)}.chapter-card-body{flex:1;padding:0;display:flex;flex-direction:column;background:var(--bubble-bg, var(--clr-surface-muted));border-top:2px solid var(--bubble-border, var(--clr-ink))}.chapter-card-text{padding:var(--sp-3) var(--sp-3) 0;display:flex;flex-direction:column;min-height:75px}.chapter-title{font-size:14px;font-weight:900;letter-spacing:-.2px;line-height:1.15;color:var(--clr-ink);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chapter-subtitle{margin:2px 0 0;font-size:12px;font-weight:700;font-style:italic;line-height:1.2;color:var(--clr-ink-soft);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.chapter-card-niveau{padding:8px var(--sp-3) 0;display:flex;flex-direction:column;gap:1px;font-size:11px;line-height:1.2}.chapter-card-niveau__main{color:var(--clr-ink);font-weight:800;letter-spacing:.01em}.chapter-card-niveau__sub{color:var(--clr-ink-soft);font-style:italic;font-weight:600}.chapter-card-progress{margin-top:auto;padding:8px var(--sp-3) var(--sp-3)}.chapter-card-word-progress{padding:0 0 4px;font-size:11px;font-weight:800;color:var(--clr-ink-soft);letter-spacing:.02em}.chapter-card-progress-bar{height:6px;background:var(--clr-divider-strong);border-radius:var(--r-pill);overflow:hidden}.chapter-card-progress-bar__fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--bubble-border, var(--clr-accent-mint-border));transition:width var(--dur) var(--ease)}@media(min-width:601px){.chapter-card-text{min-height:80px}.chapter-title{font-size:15px}.chapter-subtitle{font-size:13px}.chapter-card-niveau,.chapter-card-word-progress{font-size:12px}.chapter-number{min-width:28px;height:28px;font-size:14px;padding:0 10px}.chapter-card-diamond-count{font-size:13px}}.chapter-strip{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--bubble-bg, var(--clr-surface));border:2px solid var(--bubble-border, var(--clr-ink));border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-3);font-family:var(--font-body);color:var(--clr-ink);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.chapter-strip[hidden]{display:none}.chapter-strip__back{flex-shrink:0;width:36px;height:36px;padding:0;border-radius:var(--r-pill);background:var(--clr-surface);border:2px solid var(--clr-ink);color:var(--clr-ink);font-family:var(--font-body);font-size:16px;font-weight:900;line-height:1;cursor:pointer;box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);transition:transform var(--dur-fast) var(--ease)}.chapter-strip__back:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.chapter-strip__back:active{transform:translateY(1px);box-shadow:none}.chapter-strip__identity{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-2);overflow:hidden}.chapter-strip__number{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 8px;border-radius:var(--r-pill);background:var(--clr-surface);color:var(--clr-ink);border:1.5px solid var(--bubble-border, var(--clr-ink));font-size:12px;font-weight:900;letter-spacing:-.2px;line-height:1}.chapter-strip__number:empty{display:none}.chapter-strip__title{flex:1;min-width:0;font-size:14px;font-weight:900;letter-spacing:-.2px;color:var(--clr-ink);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.chapter-strip__score{flex-shrink:0;font-size:13px;font-weight:900;color:var(--clr-ink);white-space:nowrap;font-variant-numeric:tabular-nums}@media(min-width:601px){.chapter-strip{padding:var(--sp-3) var(--sp-4)}.chapter-strip__title{font-size:16px}.chapter-strip__number{min-width:32px;height:28px;font-size:13px}.chapter-strip__score{font-size:14px}}.chapter-hero{position:relative;display:grid;grid-template-columns:1fr;margin-bottom:var(--sp-4);background:var(--clr-surface);border:2px solid var(--bubble-border, var(--clr-ink));border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);overflow:hidden;--bubble-border: var(--clr-ink);font-family:var(--font-body);color:var(--clr-ink)}.chapter-hero[hidden]{display:none}.chapter-hero__back{position:absolute;top:var(--sp-3);left:var(--sp-3);width:40px;height:40px;padding:0;border-radius:var(--r-pill);background:var(--clr-surface);border:2px solid var(--clr-ink);color:var(--clr-ink);font-family:var(--font-body);font-size:18px;font-weight:900;line-height:1;cursor:pointer;box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);z-index:var(--z-content);transition:transform var(--dur-fast) var(--ease)}.chapter-hero__back:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.chapter-hero__back:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.chapter-hero__visual{position:relative;width:100%;padding-bottom:40%;background:var(--bubble-bg, var(--clr-surface-muted));overflow:hidden}.chapter-hero__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.chapter-hero__body{padding:var(--sp-4);background:var(--bubble-bg, var(--clr-surface-muted));border-top:2px solid var(--bubble-border, var(--clr-ink));display:flex;flex-direction:column;gap:4px}.chapter-hero__meta{display:flex;align-items:center;gap:var(--sp-2)}.chapter-hero__number{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:28px;padding:0 10px;border-radius:var(--r-pill);background:var(--clr-surface);border:2px solid var(--clr-ink);font-size:13px;font-weight:900;letter-spacing:.02em;color:var(--clr-ink);--bubble-border: var(--clr-ink)}.chapter-hero__title{font-size:20px;font-weight:900;letter-spacing:-.3px;line-height:1.15;color:var(--clr-ink);margin-top:4px}.chapter-hero__subtitle{font-size:13px;font-weight:700;font-style:italic;color:var(--clr-ink-soft)}.chapter-hero__word-progress{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);color:var(--clr-ink);display:flex;flex-direction:column;gap:var(--sp-2)}.chapter-hero__word-progress[hidden]{display:none}.chapter-hero__word-progress-eyebrow{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--clr-ink-soft)}.chapter-hero__word-progress-eyebrow-sub{margin-left:4px;font-style:italic;font-weight:700;text-transform:none;letter-spacing:0}.chapter-hero__word-progress-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3)}.chapter-hero__word-progress-num{display:flex;align-items:baseline;gap:4px}.chapter-hero__word-progress-num-seen{font-size:28px;font-weight:900;letter-spacing:-.5px;color:var(--clr-ink);line-height:1}.chapter-hero__word-progress-num-total{font-size:18px;font-weight:800;color:var(--clr-ink-soft);line-height:1}.chapter-hero__word-progress-pct{text-align:right}.chapter-hero__word-progress-pct-value{display:block;font-size:22px;font-weight:900;letter-spacing:-.4px;color:var(--clr-accent-mint-border);line-height:1}.chapter-hero__word-progress-pct-sub{display:block;margin-top:2px;font-size:11px;font-weight:700;color:var(--clr-ink-soft)}.chapter-hero__word-progress-bar{height:8px;background:var(--clr-divider-strong);border-radius:var(--r-pill);overflow:hidden}.chapter-hero__word-progress-bar-fill{height:100%;background:var(--clr-accent-mint-border);border-radius:var(--r-pill);transition:width var(--dur) var(--ease)}.chapter-hero__word-progress-helper{display:flex;flex-direction:column;font-size:11px;font-weight:700;color:var(--clr-ink-soft);line-height:1.3}.chapter-hero__word-progress-helper-sub{font-style:italic}@media(min-width:601px){.chapter-hero__visual{padding-bottom:32%}.chapter-hero__title{font-size:24px}.chapter-hero__subtitle{font-size:15px}.chapter-hero__word-progress-num-seen{font-size:32px}.chapter-hero__word-progress-pct-value{font-size:26px}}.chapter-section{margin-bottom:var(--sp-4)}.chapter-section-title{font-family:var(--font-body);font-size:14px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-ink-soft);margin:0 0 var(--sp-2)}.game-types--core,.game-types--practice{display:grid;gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr))}.game-types--practice{grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:601px){.game-types--practice{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:901px){.game-types--practice{grid-template-columns:repeat(4,minmax(0,1fr))}}.game-types .game-type-btn{appearance:none;display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:flex-start;text-align:left;min-height:72px;padding:var(--sp-3);border-radius:var(--r-bubble-inner);background:var(--clr-surface);border:2px solid var(--clr-ink);color:var(--clr-ink);font-family:var(--font-body);font-size:13px;font-weight:900;letter-spacing:-.1px;line-height:1.2;cursor:pointer;box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);transition:transform var(--dur-fast) var(--ease)}.game-types .game-type-btn small{font-family:var(--font-body);font-size:11px;font-weight:700;font-style:italic;color:var(--clr-ink-soft);margin-top:2px}.game-types .game-type-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.game-types .game-type-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.game-types--core .game-type-btn{background:var(--clr-accent-blue-bg)}.game-types--practice .game-type-btn{background:var(--clr-surface)}.game-types .game-type-btn.active{background:var(--clr-primary);color:var(--clr-on-primary)}.game-types .game-type-btn.active small{color:var(--clr-on-primary);opacity:.85}.order-pill-card{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);margin:0 0 var(--sp-3);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);font-family:var(--font-body);color:var(--clr-ink)}.game-types .order-pill-card{grid-column:1 / -1}.order-pill-card__label{font-size:12px;font-weight:900;letter-spacing:.02em;white-space:nowrap;color:var(--clr-ink)}.order-pill{display:inline-flex;margin-left:auto;background:var(--clr-surface-muted-strong);border:1px solid var(--clr-divider-strong);border-radius:var(--r-pill);padding:2px}.order-pill__seg{appearance:none;background:transparent;border:0;color:var(--clr-ink-soft);padding:4px 14px;font-family:var(--font-body);font-size:12px;font-weight:800;border-radius:var(--r-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.order-pill__seg--active{background:var(--clr-primary);color:var(--clr-on-primary);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-primary-dark)}.order-pill__seg:focus-visible{outline:2px solid var(--clr-focus-ring-strong);outline-offset:2px}.order-pill-info{appearance:none;background:transparent;border:0;color:var(--clr-ink-soft);font-size:15px;font-weight:700;cursor:pointer;padding:0;line-height:1;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.order-pill-info:hover{background:var(--clr-surface-muted);color:var(--clr-ink)}.order-pill-info:focus-visible{outline:2px solid var(--clr-focus-ring-strong);outline-offset:2px}.order-info-popover{position:fixed;z-index:var(--z-modal);min-width:240px;max-width:320px;background:var(--clr-surface);border:1.5px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-3);padding:12px 28px 14px 14px;font-family:var(--font-body);color:var(--clr-ink)}.order-info-popover__head{font-size:13px;font-weight:900;margin-bottom:6px}.order-info-popover__body{font-size:12px;line-height:1.4;margin:0 0 6px}.order-info-popover__sub{font-size:11px;line-height:1.4;color:var(--clr-ink-soft);font-style:italic;margin:0}.order-info-popover__close{position:absolute;top:4px;right:6px;background:transparent;border:0;font-size:18px;line-height:1;cursor:pointer;color:var(--clr-ink-soft);padding:4px 8px}.order-info-popover__close:hover{color:var(--clr-ink)}.back-button{display:inline-flex;align-items:center;justify-content:center;background:var(--clr-surface);color:var(--clr-ink);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);padding:var(--sp-2) var(--sp-3);cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:900;letter-spacing:.02em;min-height:40px;transition:transform var(--dur-fast) var(--ease)}.back-button:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.back-button:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.game-error-fallback{text-align:center;padding:40px 24px}.game-error-fallback p{margin-bottom:20px}@media(min-width:901px){.back-button{padding:10px 20px;font-size:1em}}.statistics-page{background:var(--clr-surface);padding:18px;border-radius:var(--r-xl);box-shadow:var(--shadow-md);border:2px solid var(--clr-divider-soft);display:flex;flex-direction:column;gap:18px}.statistics-page-header{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.statistics-page-header h2{color:var(--clr-ink);margin:0 0 6px;font-size:1.55em;font-family:var(--font-body);font-weight:800}.statistics-page-header p{margin:0;color:var(--clr-ink-soft);line-height:1.5}.statistics-card{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.statistics-card--today{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border);--bubble-border: var(--clr-accent-mint-border)}.statistics-card--trend{background:var(--clr-accent-blue-bg);border-color:var(--clr-accent-blue-border);--bubble-border: var(--clr-accent-blue-border)}.statistics-card--lifetime{background:var(--clr-accent-cream-bg);border-color:var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border)}.statistics-card__head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.statistics-card__title{margin:0;font-family:var(--font-body);font-weight:800;font-size:1.05em;color:var(--clr-ink)}.statistics-card__title-sub{font-weight:600;font-style:italic;font-size:.82em;color:var(--clr-ink-soft)}.statistics-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.statistics-mini-stat{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);padding:var(--sp-3);display:flex;flex-direction:column;gap:4px;min-width:0}.statistics-mini-stat__icon{font-size:1.2em;line-height:1}.statistics-mini-stat__value{font-family:var(--font-body);font-weight:900;font-size:1.6em;color:var(--clr-ink);line-height:1.1;letter-spacing:-.02em}.statistics-mini-stat__label{font-family:var(--font-body);font-weight:700;font-size:.78em;color:var(--clr-ink)}.statistics-mini-stat__label-sub{font-family:var(--font-body);font-style:italic;font-size:.7em;color:var(--clr-ink-soft)}.statistics-trend{display:flex;flex-direction:column;gap:10px}.statistics-trend-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:4px;height:110px;padding:4px 0}.statistics-trend-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;background:transparent;border:none;padding:0;cursor:pointer;min-width:0}.statistics-trend-bar:focus-visible{outline:2px solid var(--clr-focus-ring-strong);outline-offset:2px;border-radius:var(--r-sm)}.statistics-trend-bar__track{flex:1;width:100%;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);display:flex;align-items:flex-end;overflow:hidden;min-height:12px}.statistics-trend-bar__fill{width:100%;background:linear-gradient(180deg,var(--clr-primary),var(--clr-primary-dark));border-radius:0;transition:height var(--dur) var(--ease);min-height:4px}.statistics-trend-bar.is-empty .statistics-trend-bar__fill{background:transparent;min-height:0}.statistics-trend-bar.is-today .statistics-trend-bar__track{border-color:var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border)}.statistics-trend-bar.is-today .statistics-trend-bar__fill{background:linear-gradient(180deg,var(--clr-accent-cream-border),var(--clr-accent-coral-border))}.statistics-trend-bar.is-active .statistics-trend-bar__track{border-color:var(--clr-primary-dark);--bubble-border: var(--clr-primary-dark);box-shadow:var(--shadow-bubble-3)}.statistics-trend-bar__label{font-family:var(--font-body);font-weight:700;font-size:.65em;color:var(--clr-ink-soft);line-height:1}.statistics-trend-bar.is-today .statistics-trend-bar__label{color:var(--clr-ink);font-weight:900}.statistics-trend-tooltip{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);padding:8px 12px;font-family:var(--font-body);font-weight:700;font-size:.86em;color:var(--clr-ink);text-align:center;min-height:22px}.statistics-trend-tooltip:empty:before{content:attr(data-empty);font-weight:600;font-style:italic;color:var(--clr-ink-soft)}.statistics-empty-state{padding:22px 18px;text-align:center;color:var(--clr-ink-soft);font-style:italic}.statistics-account-card{background:var(--clr-surface);border-radius:var(--r-lg);padding:18px;border:2px solid var(--clr-divider-soft);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:14px}.statistics-account-card.is-guest{background:linear-gradient(180deg,var(--clr-surface) 0%,var(--clr-accent-blue-bg) 100%)}.statistics-account-card.is-signed-in{background:linear-gradient(180deg,var(--clr-surface) 0%,var(--clr-bg-bottom) 100%)}.statistics-account-grid{display:grid;grid-template-columns:1fr;gap:12px}.statistics-account-row{background:var(--clr-bg-top);border:2px solid var(--clr-divider-soft);border-radius:var(--r-md);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.statistics-account-label{color:var(--clr-ink-soft);font-size:.74em;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.statistics-account-value{color:var(--clr-ink);font-size:.96em;font-weight:600;line-height:1.45;word-break:break-word}.statistics-account-note{margin:0;color:var(--clr-ink-soft);font-size:.84em;line-height:1.5}.statistics-account-copy-btn{align-self:flex-start;background:var(--clr-ink-panel);color:var(--clr-on-primary);border:none;border-radius:var(--r-md);padding:10px 16px;font-size:.86em;font-weight:700;cursor:pointer;transition:transform var(--dur-fast) var(--ease),opacity var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.statistics-account-copy-btn:hover{background:var(--clr-ink-panel-hover);transform:translateY(-1px)}.statistics-account-divider{width:100%;border:none;border-top:1px solid var(--clr-divider);margin:16px 0 12px}.statistics-account-danger-btn{align-self:flex-start;background:transparent;color:var(--clr-error);border:2px solid var(--clr-error);border-radius:var(--r-md);padding:10px 16px;font-size:.86em;font-weight:700;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.statistics-account-danger-btn:hover{background:var(--clr-error);color:var(--clr-on-primary)}.statistics-account-danger-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:2px}.statistics-account-danger-note{margin:6px 0 0;font-size:.78em;color:var(--clr-subtle-text);line-height:1.4}.statistics-modal-card{max-width:640px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);gap:0}.statistics-modal-header{padding-bottom:10px}.statistics-modal-body{display:flex;flex-direction:column;gap:14px}@media(min-width:601px){.statistics-page{padding:30px}.statistics-account-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.statistics-card{padding:var(--sp-5)}.statistics-mini-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.statistics-trend-chart{height:140px;gap:6px}.statistics-trend-bar__label{font-size:.7em}}@media(min-width:901px){.statistics-page-header{flex-direction:row;justify-content:space-between}}.words-modal-card{max-width:640px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);gap:0;--bubble-border: var(--clr-accent-mint-border)}.words-modal-header{padding-bottom:10px}.words-modal-body{display:flex;flex-direction:column;gap:14px;padding:0 var(--sp-4) var(--sp-4)}.vocab-desc{margin:0;color:var(--clr-ink-soft);font-size:.92em;line-height:1.5}.vocab-listen-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-start;background:var(--clr-accent-mint-bg);color:var(--clr-ink);border:2px solid var(--clr-accent-mint-border);border-radius:var(--r-pill);padding:10px 18px;font-size:.96em;font-weight:800;cursor:pointer;--bubble-border: var(--clr-accent-mint-border);box-shadow:var(--shadow-bubble-3);transition:transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.vocab-listen-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-bubble-4)}.vocab-listen-btn:active{transform:translateY(1px);box-shadow:var(--shadow-bubble-2)}.vocab-search{width:100%;padding:12px 16px;border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);font-size:1em;color:var(--clr-ink);background:var(--clr-surface);--bubble-border: var(--clr-ink);box-shadow:var(--shadow-bubble-2);transition:box-shadow var(--dur-fast) var(--ease)}.vocab-search:focus{outline:none;--bubble-border: var(--clr-accent-mint-border);border-color:var(--clr-accent-mint-border);box-shadow:var(--shadow-bubble-3)}.vocab-list{display:grid;gap:10px}.vocab-item{background:var(--clr-surface);padding:14px 16px;border-radius:var(--r-bubble-inner);border:2px solid var(--clr-ink);--bubble-border: var(--clr-ink);box-shadow:var(--shadow-bubble-2);display:flex;justify-content:space-between;align-items:center;gap:12px}.vocab-words{flex:1;min-width:0}.vocab-dutch{font-size:1.1em;color:var(--clr-ink);font-weight:800;margin-bottom:2px}.vocab-slovak{color:var(--clr-ink-soft);font-style:italic;font-size:.92em}.vocab-difficulty{display:flex;gap:5px;margin-left:12px;flex-shrink:0}.difficulty-dot{width:10px;height:10px;border-radius:50%;background:var(--clr-divider-strong)}.difficulty-dot.filled{background:var(--clr-gold)}.achievements-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.achievement-card{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);padding:var(--sp-4);text-align:center;box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);transition:transform var(--dur-fast) var(--ease)}.achievement-card.unlocked{background:var(--clr-accent-cream-bg);border-color:var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border)}.achievement-card.locked{opacity:.45;filter:grayscale(.3)}.achievement-icon{font-size:2.8em;margin-bottom:10px}.achievement-title{font-size:1em;color:var(--clr-ink);font-weight:700;margin-bottom:5px}.achievement-desc{font-size:.85em;color:var(--clr-ink-soft);line-height:1.4}.achievement-popup{position:fixed;top:10px;left:10px;right:10px;background:var(--clr-accent-cream-bg);border:2px solid var(--clr-accent-cream-border);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-accent-cream-border);color:var(--clr-ink);font-family:var(--font-body);padding:var(--sp-3) var(--sp-4);z-index:var(--z-toast);display:none;animation:slideInRight .4s var(--ease)}.achievement-popup.show{display:block}@keyframes slideInRight{0%{transform:translate(360px);opacity:0}to{transform:translate(0);opacity:1}}.achievement-popup-title{font-family:var(--font-body);font-size:15px;font-weight:900;letter-spacing:-.2px;margin-bottom:4px;color:var(--clr-ink)}@keyframes achievementGlow{0%{box-shadow:var(--shadow-lg),0 0 0 0 var(--clr-gold-glow);transform:scale(1)}30%{box-shadow:var(--shadow-lg),0 0 0 12px var(--clr-gold-glow-soft);transform:scale(1.04)}60%{box-shadow:var(--shadow-lg),0 0 0 20px var(--clr-gold-glow-clear);transform:scale(1.02)}to{box-shadow:var(--shadow-lg),0 0 0 0 var(--clr-gold-glow-clear);transform:scale(1)}}.achievement-popup.achievement-celebrating{animation:achievementGlow .7s ease-out forwards}.celebration-layer-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-toast)}.streak-modal-card{max-width:640px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);gap:0}.streak-modal-header{padding-bottom:10px}.streak-modal-body{display:flex;flex-direction:column;gap:18px;padding:0 var(--sp-4) var(--sp-4)}.streak-explainer{display:flex;flex-direction:column;gap:10px}.streak-explainer__bubble{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--clr-accent-coral-bg);border:2px solid var(--clr-accent-coral-border);border-radius:var(--r-bubble-inner);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-accent-coral-border)}.streak-explainer__icon{font-size:1.7em;line-height:1;flex-shrink:0}.streak-explainer__text{flex:1;min-width:0}.streak-explainer__intro{margin:0;font-family:var(--font-body);font-weight:700;font-size:.95em;color:var(--clr-ink);line-height:1.4}.streak-explainer__intro-sub{margin:4px 0 0;font-family:var(--font-body);font-style:italic;font-size:.82em;color:var(--clr-ink-soft);line-height:1.4}.streak-explainer__toggle{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:transparent;border:none;padding:6px 4px;cursor:pointer;color:var(--clr-primary);font-family:var(--font-body);font-weight:700;font-size:.86em}.streak-explainer__toggle:hover{color:var(--clr-primary-dark)}.streak-explainer__toggle:focus-visible{outline:2px solid var(--clr-focus-ring-strong);outline-offset:2px;border-radius:var(--r-sm)}.streak-explainer__toggle-icon{font-size:1.15em;line-height:1}.streak-explainer__toggle[aria-expanded=true] .streak-explainer__toggle-icon{transform:rotate(180deg)}.streak-explainer__details{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);padding:var(--sp-3) var(--sp-4);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink)}.streak-explainer__details[hidden]{display:none}.streak-explainer__details-text{margin:0;font-family:var(--font-body);font-size:.88em;color:var(--clr-ink);line-height:1.5}.streak-explainer__details-text--sub{margin-top:6px;font-style:italic;font-size:.8em;color:var(--clr-ink-soft)}.streak-trophies__heading{margin:0 0 12px;font-family:var(--font-body);font-weight:800;font-size:1em;color:var(--clr-ink);display:flex;align-items:baseline;gap:8px}.streak-trophies__heading small{font-weight:600;font-style:italic;font-size:.78em;color:var(--clr-ink-soft)}@media(min-width:601px){.achievements-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.achievement-popup{left:auto;right:20px;top:20px;max-width:300px}}@media(min-width:901px){.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px}}.game-container{background:transparent;padding:0;border:none;box-shadow:none;display:none}.game-container.active{display:block}.game-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);font-family:var(--font-body);color:var(--clr-ink)}.game-header[hidden]{display:none}.game-title{font-family:var(--font-body);font-size:15px;font-weight:900;letter-spacing:-.2px;color:var(--clr-ink);flex:1;min-width:0;text-align:left;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-num{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:11px;font-weight:900;color:var(--clr-ink);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);padding:2px 8px;margin-right:var(--sp-2);vertical-align:middle;letter-spacing:.02em;--bubble-border: var(--clr-ink)}.game-title small{display:block;font-size:11px;font-weight:700;font-style:italic;color:var(--clr-ink-soft);margin-top:2px}.game-score{font-family:var(--font-body);font-size:13px;font-weight:900;color:var(--clr-ink);white-space:nowrap;flex-shrink:0}.learn-page-body p,.learn-page-copy,.learn-page-note-body{font-size:.95em;line-height:1.65;color:var(--clr-ink);margin:0}.learn-page-copy,.learn-page-note-body{white-space:pre-wrap;overflow-wrap:break-word}.learn-page-copy ul,.learn-page-note-body ul{padding-left:1.4em;margin:0;display:grid;gap:4px}.learn-page-card{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-ink);padding:var(--sp-4);margin-bottom:var(--sp-4);font-family:var(--font-body);color:var(--clr-ink)}.learn-page-header{display:flex;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:2px solid var(--clr-divider-soft)}.learn-page-icon{font-size:28px;line-height:1;flex-shrink:0}.learn-page-title{font-family:var(--font-body);font-size:20px;font-weight:900;letter-spacing:-.3px;color:var(--clr-ink);margin:0 0 4px}.learn-page-subtitle{font-family:var(--font-body);font-size:13px;font-weight:700;font-style:italic;color:var(--clr-ink-soft);margin:0}.learn-page-language-section{display:grid;gap:var(--sp-3)}.learn-page-language-section+.learn-page-language-section{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:2px solid var(--clr-divider-soft)}.learn-page-language-section--native{background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);--bubble-border: var(--clr-accent-blue-border);border-radius:var(--r-bubble-inner);padding:var(--sp-4)}.learn-page-language-label,.learn-page-translation-label,.learn-page-note-label{font-family:var(--font-body);font-size:11px;font-weight:900;color:var(--clr-ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.learn-page-language-label{font-size:11px;margin:0}.learn-page-translation-block{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:2px solid var(--clr-divider-soft)}.learn-page-translation-body{font-family:var(--font-body);font-size:13px;line-height:1.6;color:var(--clr-ink-soft);font-style:italic;white-space:pre-wrap;overflow-wrap:break-word;margin:0}.learn-page-placeholder-text{font-family:var(--font-body);color:var(--clr-ink-soft);font-style:italic;text-align:center;padding:var(--sp-4) 0}.learn-page-note-card{border-radius:var(--r-bubble-inner);background:var(--clr-accent-cream-bg);border:2px solid var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border);padding:var(--sp-4)}.game-types-title{text-align:center;padding:20px 0;margin-bottom:20px}.game-types-title h3{color:var(--clr-primary-dark);font-size:1.4em;margin-bottom:10px}.game-types-title p,.vocab-list-subtitle{font-size:1em;color:var(--clr-ink-soft)}.vocab-list-title{color:var(--clr-primary-dark);text-align:center;margin-bottom:30px}.vocab-list-subtitle{text-align:center;margin-bottom:30px}.vocabulary-list-container{padding:0;background:transparent;border-radius:0;box-shadow:none}@media(min-width:601px){.vocabulary-list-container{padding:var(--sp-6);background:var(--clr-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}}.vocab-list-grid{display:grid;gap:var(--sp-3)}.vocab-list-row{display:flex;justify-content:space-between;align-items:center;padding:var(--sp-4) var(--sp-5);background:var(--clr-surface);border:1px solid var(--clr-divider);border-left:4px solid var(--clr-primary);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.vocab-list-row__main{flex:1}.vocab-list-row__target{font-size:1.15em;font-weight:700;color:var(--clr-ink);margin-bottom:3px}.vocab-list-row__source{font-size:1em;color:var(--clr-ink-soft);font-style:italic}.vocab-audio-btn{appearance:none;background:var(--clr-primary);color:var(--clr-on-primary);border:0;padding:var(--sp-3) var(--sp-4);border-radius:50%;font-size:1.3em;cursor:pointer;transition:transform var(--dur-fast) var(--ease);flex-shrink:0}.vocab-audio-btn:hover{background:var(--clr-primary-dark)}.vocab-audio-btn:focus-visible{outline:2px solid var(--clr-focus-ring-strong);outline-offset:2px}.vocab-list-total{text-align:center;margin-top:var(--sp-6);padding:var(--sp-4);background:var(--clr-surface);border:1px solid var(--clr-divider);border-radius:var(--r-md)}.vocab-list-total p{font-size:1.05em;color:var(--clr-ink);margin-bottom:4px}.question-card{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-ink);padding:var(--sp-4);margin-bottom:var(--sp-4);font-family:var(--font-body);color:var(--clr-ink)}.question-text{font-family:var(--font-body);font-size:18px;font-weight:900;letter-spacing:-.3px;color:var(--clr-ink);margin-bottom:var(--sp-3);text-align:center;line-height:1.3}.translation{text-align:center;font-family:var(--font-body);font-size:13px;font-weight:700;font-style:italic;color:var(--clr-ink-soft);margin-bottom:var(--sp-3)}.options{display:grid;gap:var(--sp-2)}.option-btn{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);padding:var(--sp-3) var(--sp-4);cursor:pointer;transition:transform var(--dur-fast) var(--ease);font-family:var(--font-body);font-size:14px;font-weight:800;text-align:left;color:var(--clr-ink);min-height:52px}.option-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.option-btn:active:not(.disabled){transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.opt-dutch{display:block;font-family:var(--font-body);font-size:14px;font-weight:900;color:var(--clr-ink)}.opt-sk{display:block;font-family:var(--font-body);font-size:11px;font-weight:700;font-style:italic;color:var(--clr-ink-soft);margin-top:2px}.option-btn.correct{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border);--bubble-border: var(--clr-accent-mint-border);color:var(--clr-ink)}.option-btn.wrong{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border);--bubble-border: var(--clr-accent-coral-border);color:var(--clr-ink)}.option-btn.disabled{cursor:not-allowed;opacity:.7;pointer-events:none}.audio-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--clr-surface);color:var(--clr-ink);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);padding:var(--sp-2) var(--sp-4);cursor:pointer;font-family:var(--font-body);font-size:13px;font-weight:900;letter-spacing:.2px;margin:var(--sp-2) auto;min-height:40px;transition:transform var(--dur-fast) var(--ease)}.audio-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.audio-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.feedback{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-bubble-inner);margin-top:var(--sp-3);text-align:center;font-family:var(--font-body);font-size:14px;font-weight:800;color:var(--clr-ink);display:none;border:2px solid var(--clr-ink);--bubble-border: var(--clr-ink);box-shadow:var(--shadow-bubble-3)}.feedback.show{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.feedback.correct{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border);--bubble-border: var(--clr-accent-mint-border)}.feedback.wrong{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border);--bubble-border: var(--clr-accent-coral-border)}@keyframes ptsFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-22px)}}.pts-float{display:inline-block;font-weight:700;color:var(--clr-success-solid);font-size:.95em;animation:ptsFloat .85s ease-out forwards;pointer-events:none;margin-left:6px}.streak-badge{display:inline-block;background:linear-gradient(135deg,var(--clr-streak-start),var(--clr-warning));color:var(--clr-on-primary);font-size:.72em;font-weight:700;border-radius:var(--r-pill);padding:2px 9px;margin-left:8px;vertical-align:middle}.next-btn{display:none;align-items:center;justify-content:center;background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-primary-dark);padding:var(--sp-3) var(--sp-5);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:900;letter-spacing:.2px;margin:var(--sp-4) auto;min-height:48px;width:100%;transition:transform var(--dur-fast) var(--ease)}.next-btn.show{display:inline-flex}.next-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.next-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.next-btn:disabled,.next-btn--reading{opacity:.55;cursor:not-allowed;transform:none}.next-btn--reading{font-style:italic;letter-spacing:1px}.dialogue-reward-capped{margin:var(--sp-2) 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--clr-accent-cream-bg);border:1px solid var(--clr-ink-soft);border-radius:var(--r-bubble-inner);text-align:center;font-size:13px;font-weight:600;color:var(--clr-ink-soft)}.dialogue-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--sp-3);gap:var(--sp-3)}.dialogue-title{font-family:var(--font-body);color:var(--clr-ink);margin:0;font-size:16px;font-weight:900;letter-spacing:-.2px}.dialogue-progress{font-family:var(--font-body);font-size:12px;font-weight:900;color:var(--clr-ink);white-space:nowrap;background:var(--clr-surface);border:2px solid var(--clr-ink);--bubble-border: var(--clr-ink);padding:2px 10px;border-radius:var(--r-pill)}#dialogueActions{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-3)}.dialogue-end-btn,.dialogue-complete-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-pill);font-family:var(--font-body);font-size:13px;font-weight:900;letter-spacing:.2px;cursor:pointer;min-height:44px;box-shadow:var(--shadow-bubble-3);transition:transform var(--dur-fast) var(--ease)}.dialogue-end-btn:active,.dialogue-complete-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.dialogue-end-btn:focus-visible,.dialogue-complete-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.dialogue-end-btn{flex:1;background:var(--clr-surface);color:var(--clr-ink);border:2px solid var(--clr-ink);--bubble-border: var(--clr-ink)}.dialogue-complete-btn{flex:2;background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);--bubble-border: var(--clr-primary-dark);margin:0}.dialogue-container{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);padding:var(--sp-3);margin-bottom:var(--sp-4)}.dialogue-message{display:flex;margin-bottom:var(--sp-3);animation:slideIn .4s var(--ease)}@keyframes slideIn{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.dialogue-message.user{flex-direction:row-reverse}.dialogue-bubble{background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);--bubble-border: var(--clr-accent-blue-border);padding:var(--sp-3);border-radius:var(--r-bubble-inner);max-width:86%;font-family:var(--font-body);color:var(--clr-ink)}.dialogue-message.user .dialogue-bubble{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border);--bubble-border: var(--clr-accent-mint-border)}.dialogue-person{font-family:var(--font-body);font-weight:900;margin-bottom:4px;font-size:11px;color:var(--clr-ink-soft);letter-spacing:.04em;text-transform:uppercase}.dialogue-dutch{font-family:var(--font-body);font-size:14px;margin-bottom:4px;font-weight:800;color:var(--clr-ink)}.dialogue-slovak{font-family:var(--font-body);font-size:12px;font-weight:700;font-style:italic;color:var(--clr-ink-soft)}.matching-game{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-2)}.matching-progress{margin:var(--sp-3) 0 var(--sp-2);text-align:center;font-size:13px;font-weight:600;color:var(--clr-ink-soft);transition:color var(--dur-fast) var(--ease)}.matching-progress--ready{color:var(--clr-success-solid)}.matching-column{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-bubble-inner)}.matching-column:first-child{background:var(--clr-accent-blue-bg)}.matching-column:last-child{background:var(--clr-accent-cream-bg)}.matching-item{appearance:none;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);padding:var(--sp-2);cursor:pointer;transition:transform var(--dur-fast) var(--ease);text-align:center;min-height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:13px;font-weight:800;color:var(--clr-ink);width:100%;word-break:break-word;line-height:1.3}.matching-item:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.matching-item:active{transform:translateY(1px);box-shadow:none}.matching-item.selected{background:var(--clr-primary);color:var(--clr-on-primary);border-color:var(--clr-primary-dark);--bubble-border: var(--clr-primary-dark)}.matching-item.matched{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border);--bubble-border: var(--clr-accent-mint-border);cursor:not-allowed;color:var(--clr-ink);font-weight:800}.matching-col-header{font-family:var(--font-body);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);text-align:center;margin-bottom:6px;color:var(--clr-ink)}.matching-col-header.dutch{background:var(--clr-surface);border:2px solid var(--clr-accent-blue-border);--bubble-border: var(--clr-accent-blue-border)}.matching-col-header.slovak{background:var(--clr-surface);border:2px solid var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border)}.fill-in-blank{display:flex;flex-direction:column;gap:var(--sp-4)}.sentence-with-blank{font-family:var(--font-body);font-size:16px;font-weight:800;color:var(--clr-ink);text-align:center;margin:var(--sp-4) 0;line-height:1.8}.blank-input{display:inline-block;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);--bubble-border: var(--clr-ink);padding:4px var(--sp-3);font-family:var(--font-body);font-size:15px;font-weight:900;min-width:120px;text-align:center;color:var(--clr-ink);box-shadow:var(--shadow-bubble-2);transition:transform var(--dur-fast) var(--ease)}.blank-input:focus{outline:none;border-color:var(--clr-primary-dark);--bubble-border: var(--clr-primary-dark)}.blank-input:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.pron-word{font-family:var(--font-body);font-size:32px;font-weight:900;letter-spacing:-.5px;text-align:center;margin:var(--sp-4) 0 var(--sp-2);color:var(--clr-ink)}.pron-slovak{text-align:center;font-family:var(--font-body);color:var(--clr-ink-soft);font-style:italic;font-weight:700;margin-bottom:var(--sp-4);font-size:14px}.pron-mic-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin:var(--sp-3) auto;background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-primary-dark);padding:var(--sp-3) var(--sp-5);font-family:var(--font-body);font-size:13px;font-weight:900;letter-spacing:.2px;min-height:44px;cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.pron-mic-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.pron-mic-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.pron-mic-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.pron-mic-btn.listening{background:var(--clr-accent-coral-bg);color:var(--clr-ink);border-color:var(--clr-accent-coral-border);--bubble-border: var(--clr-accent-coral-border);animation:pron-pulse 1s infinite}@keyframes pron-pulse{0%,to{opacity:1}50%{opacity:.72}}.pron-transcript-box{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);padding:var(--sp-2) var(--sp-3);margin:var(--sp-2) 0;min-height:44px;text-align:center;font-family:var(--font-body);font-size:14px;font-weight:800;color:var(--clr-ink)}.pron-transcript-label{font-family:var(--font-body);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--clr-ink-soft);text-align:left;margin-bottom:4px}.pron-status{text-align:center;font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--clr-ink-soft);margin:var(--sp-2) 0 0;min-height:20px}.reset-zone{text-align:center;margin-top:36px;padding:30px 0 10px;border-top:1px dashed var(--clr-divider-dashed)}.reset-btn{background:none;border:1px solid var(--clr-disabled-border);color:var(--clr-disabled-text-strong);font-size:.8em;padding:8px 18px;border-radius:var(--r-pill);cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease),background var(--dur) var(--ease)}.reset-btn:hover{border-color:var(--clr-danger-border);color:var(--clr-danger-border);background:var(--clr-danger-soft)}@media(min-width:601px){.game-header{flex-direction:row;justify-content:space-between;margin-bottom:30px;padding-bottom:20px;gap:15px;text-align:left}.game-title{font-size:1.8em}.game-score{font-size:1.1em}.cultural-tip-box,.grammar-tip-box{padding:20px}.learn-page-card{padding:30px}.question-card{border-radius:var(--r-xl);padding:30px}.question-text{font-size:1.4em}.option-btn{padding:18px 20px;min-height:0}.audio-btn{padding:10px 24px}.next-btn{width:auto;padding:14px 40px;font-size:1.1em}.dialogue-container{padding:28px}.dialogue-bubble{max-width:70%}.matching-game{gap:16px}.matching-column:first-child,.matching-column:last-child{background:none;padding:0}.matching-item{padding:14px;min-height:58px;word-break:normal;line-height:1.4}.sentence-with-blank{font-size:1.3em}.blank-input{min-width:150px;font-size:1.3em}.reset-zone{margin-top:60px}}body.in-minigame-fullscreen #gameContent{position:fixed;inset:0;z-index:var(--z-float);background:#1a1d2b;overflow-y:auto;overflow-x:hidden;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom));padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}body.in-minigame-fullscreen{overflow:hidden}.runner-mode-select{padding:24px 12px;text-align:center;max-width:420px;margin:0 auto}.runner-mode-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.runner-mode-btn{flex:1;min-width:130px;max-width:180px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--sp-4) var(--sp-3);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);color:var(--clr-ink);cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.runner-mode-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.runner-mode-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.runner-mode-btn-disabled{opacity:.55;cursor:default;box-shadow:none}.runner-mode-btn-disabled:active{transform:none}.runner-mode-icon{font-size:28px}.runner-mode-label{font-family:var(--font-body);font-size:14px;font-weight:900;color:var(--clr-ink)}.runner-mode-sub{font-family:var(--font-body);font-size:11px;font-weight:700;font-style:italic;color:var(--clr-ink-soft)}.runner-type-row{display:flex;gap:var(--sp-2);width:100%}.runner-type-input{flex:1;padding:var(--sp-2) var(--sp-3);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);font-family:var(--font-body);font-size:14px;font-weight:800;color:var(--clr-ink);outline:none;transition:transform var(--dur-fast) var(--ease)}.runner-type-input:focus{border-color:var(--clr-primary-dark);--bubble-border: var(--clr-primary-dark)}.runner-type-input:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.runner-type-input:disabled{opacity:.5}.runner-type-submit{background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-deep));color:var(--clr-on-primary);border:none;border-radius:var(--r-md);padding:10px 18px;font-size:1.1em;font-weight:700;cursor:pointer;transition:opacity var(--dur-fast) var(--ease)}.runner-type-submit:disabled{opacity:.5;cursor:default}.runner-canvas{display:block;width:100%;border-radius:var(--r-md);background:var(--clr-ink-night)}.runner-card-top{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.runner-audio-main{background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-deep));color:var(--clr-on-primary);border:none;border-radius:var(--r-xl);padding:8px 18px;font-size:.95em;font-weight:600;cursor:pointer;transition:opacity var(--dur-fast) var(--ease)}.runner-audio-main:hover{opacity:.85}.runner-gloss-hint{font-size:1.1em;color:var(--clr-primary);font-style:normal;font-weight:600}.runner-wrap{padding:12px;max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:10px;position:relative}.runner-fs-btn{display:none;position:absolute;top:4px;right:4px;background:var(--clr-scrim-soft-strong);border:none;color:var(--clr-on-primary);font-size:1.2em;width:32px;height:32px;border-radius:var(--r-xs);cursor:pointer;z-index:var(--z-content);line-height:1;transition:background var(--dur-fast) var(--ease)}.runner-fs-btn:hover{background:var(--clr-scrim-medium)}@media(hover:hover)and (pointer:fine){.runner-fs-btn{display:flex;align-items:center;justify-content:center}}.runner-wrap:fullscreen,.runner-wrap:-webkit-full-screen{max-width:100%;height:100vh;padding:24px;background:var(--clr-ink-night-strong);justify-content:center}.runner-wrap:fullscreen .runner-canvas,.runner-wrap:-webkit-full-screen .runner-canvas{width:100%;max-width:700px;height:auto;margin:0 auto}.runner-wrap:fullscreen .runner-card,.runner-wrap:-webkit-full-screen .runner-card{max-width:700px;margin:0 auto}.runner-hud{display:flex;justify-content:space-between;align-items:center}.runner-hearts{display:flex;gap:4px;font-size:1.4em}.runner-heart.empty{opacity:.25}.runner-progress{font-size:.85em;color:var(--clr-ink-soft);font-weight:600}.runner-track{position:relative;height:64px;background:linear-gradient(180deg,var(--clr-accent-blue-bg) 60%,var(--clr-accent-blue-border) 100%);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--clr-neutral-border-strong)}.runner-figure,.runner-barrier{position:absolute;bottom:8px;font-size:1.8em;line-height:1;z-index:var(--z-content)}.runner-figure{left:18px}.runner-barrier{right:-60px}.runner-barrier-go{animation:runnerBarrierApproach var(--runner-time, 6s) linear forwards}@keyframes runnerBarrierApproach{0%{right:-60px}to{right:12px}}.runner-timebar-wrap{height:6px;background:var(--clr-divider-soft);border-radius:var(--r-xs);overflow:hidden}.runner-timebar{height:100%;width:100%;background:linear-gradient(90deg,var(--clr-timebar-start),var(--clr-timebar-mid),var(--clr-timebar-end));transform-origin:left}.runner-timebar-drain{animation:runnerTimeDrain var(--runner-time, 6s) linear forwards}@keyframes runnerTimeDrain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.runner-card{background:var(--clr-surface);border-radius:var(--r-lg);box-shadow:var(--shadow-runner-card);padding:24px 20px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.runner-target{font-size:1.8em;font-weight:700;color:var(--clr-ink);letter-spacing:.01em}.runner-gloss{font-size:1em;color:var(--clr-ink-soft);font-style:italic}.runner-audio-btn{background:none;border:1px solid var(--clr-neutral-border-strong);border-radius:var(--r-xl);padding:4px 14px;font-size:1em;cursor:pointer;color:var(--clr-primary);transition:background var(--dur-fast) var(--ease)}.runner-audio-btn:hover{background:var(--clr-accent-blue-bg)}.runner-mic-btn{background:linear-gradient(135deg,var(--clr-primary),var(--clr-primary-deep));color:var(--clr-on-primary);border:none;border-radius:var(--r-2xl);padding:10px 28px;font-size:1em;font-weight:600;cursor:pointer;transition:opacity var(--dur-fast) var(--ease)}.runner-mic-btn:disabled{opacity:.5;cursor:default}.runner-feedback{font-size:.9em;min-height:1.2em;color:var(--clr-disabled-text);font-weight:500}.runner-feedback.correct{color:var(--clr-success-solid)}.runner-feedback.wrong{color:var(--clr-danger-solid)}@media(min-width:601px){.runner-mode-select{padding:32px 20px}.runner-figure,.runner-barrier,.runner-target{font-size:2.2em}}#listenPlayer{position:fixed;bottom:70px;left:50%;transform:translate(-50%);background:var(--clr-surface);color:var(--clr-ink);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-ink);padding:var(--sp-2) var(--sp-3);display:none;align-items:center;gap:var(--sp-2);z-index:var(--z-float);max-width:340px;width:calc(100% - 32px);font-family:var(--font-body)}.listen-player-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.listen-player-icon{font-size:18px;flex-shrink:0}.listen-player-text{font-size:13px;font-weight:800;color:var(--clr-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.listen-player-controls{display:flex;gap:6px;flex-shrink:0}.listen-btn{background:var(--clr-surface);border:2px solid var(--clr-ink);color:var(--clr-ink);border-radius:var(--r-pill);--bubble-border: var(--clr-ink);padding:var(--sp-2) var(--sp-3);min-height:36px;min-width:36px;font-family:var(--font-body);font-size:15px;font-weight:900;cursor:pointer;box-shadow:var(--shadow-bubble-3);transition:transform var(--dur-fast) var(--ease)}.listen-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.listen-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.listen-btn-pause{background:var(--clr-primary);border-color:var(--clr-primary-dark);color:var(--clr-on-primary);--bubble-border: var(--clr-primary-dark)}.listen-btn-stop{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border);--bubble-border: var(--clr-accent-coral-border)}.listen-pref-btn{padding:5px 9px;font-size:.82em;min-height:unset;min-width:unset;box-shadow:var(--shadow-bubble-2)}.completion-modal{position:fixed;inset:0;background:var(--clr-overlay-scrim);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:none;justify-content:center;align-items:center;z-index:var(--z-modal)}.completion-modal.show{display:flex}.completion-content{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-ink);padding:var(--sp-5) var(--sp-4);text-align:center;max-width:500px;width:90%;animation:popIn .35s var(--ease);font-family:var(--font-body);color:var(--clr-ink)}@keyframes popIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.completion-title{font-family:var(--font-body);font-size:26px;font-weight:900;letter-spacing:-.5px;color:var(--clr-ink);margin-bottom:var(--sp-3)}.completion-message{font-size:14px;font-weight:700;color:var(--clr-ink);margin-bottom:var(--sp-4)}.completion-stats{background:var(--bubble-bg, var(--clr-accent-blue-bg));border:2px solid var(--bubble-border, var(--clr-accent-blue-border));padding:var(--sp-3);border-radius:var(--r-bubble-inner);margin-bottom:var(--sp-4);text-align:left;font-size:13px;font-weight:700;color:var(--clr-ink);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.completion-stats__row{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);font-size:13px;color:var(--clr-ink-soft)}.completion-stats__row--total{margin-bottom:var(--sp-2);font-size:12px}.completion-stats__game{font-weight:800;color:var(--clr-ink-panel)}.completion-stats__earned{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:800;color:var(--clr-ink-panel)}.completion-stats__earned-value{display:inline-flex;align-items:center;gap:2px;font-size:14px;font-weight:900;color:var(--clr-ink)}.completion-stats__earned-num{font-variant-numeric:tabular-nums;min-width:2.5ch;text-align:left;transform-origin:left center;transition:color .12s var(--ease),transform .12s var(--ease)}.completion-stats__earned-num--ticking,.completion-stats__lifetime-num--ticking{color:var(--clr-accent-diamond-label);transform:scale(1.15)}.completion-stats__new-record{font-size:11px;font-weight:900;color:var(--clr-warning);letter-spacing:.02em}.completion-stats__total-label{color:var(--clr-ink-soft);font-weight:700}.completion-stats__total-value{font-weight:900;color:var(--clr-celebrate-accent)}.completion-stats__bar{height:10px;border-radius:5px;background:var(--clr-divider-soft);overflow:hidden;margin-bottom:var(--sp-3)}.completion-stats__bar-fill{width:var(--completion-bar-width, 0%);height:100%;background:linear-gradient(90deg,var(--clr-celebrate-accent),var(--clr-celebrate-accent-dark));transition:width 1.2s var(--ease)}.completion-stats__lifetime{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--clr-accent-diamond-bg);border:2px solid var(--clr-accent-diamond-border);border-radius:var(--r-bubble-inner);box-shadow:0 2px 0 var(--clr-accent-diamond-border)}.completion-stats__lifetime-label{font-size:11px;font-weight:800;color:var(--clr-accent-diamond-label);text-transform:uppercase;letter-spacing:.05em}.completion-stats__lifetime-value{font-size:18px;font-weight:900;color:var(--clr-accent-diamond-label);font-variant-numeric:tabular-nums}.completion-stats__lifetime-num{display:inline-block;min-width:1.5ch;text-align:right;transform-origin:right center;transition:color .12s var(--ease),transform .12s var(--ease)}.completion-stats__diamond-fly{position:fixed;pointer-events:none;z-index:var(--z-modal);font-size:28px;line-height:1;will-change:transform,opacity;filter:drop-shadow(0 2px 4px var(--clr-gold-glow-soft))}.completion-stats__diamond-fly--go{animation:completionDiamondFly var(--diamond-fly-duration, .9s) var(--ease) forwards}@keyframes completionDiamondFly{0%{transform:translate(0) scale(1) rotate(0);opacity:1}50%{transform:translate(calc(var(--diamond-fly-dx) * .5),calc(var(--diamond-fly-dy) * .5 - 28px)) scale(1.35) rotate(180deg);opacity:1}to{transform:translate(var(--diamond-fly-dx),var(--diamond-fly-dy)) scale(.7) rotate(360deg);opacity:0}}.completion-stats__lifetime--landing{animation:completionLifetimeLand .36s var(--ease)}@keyframes completionLifetimeLand{0%{transform:scale(1);box-shadow:0 2px 0 var(--clr-accent-diamond-border)}40%{transform:scale(1.06);box-shadow:0 4px 0 var(--clr-accent-diamond-border),0 0 18px var(--clr-gold-glow)}to{transform:scale(1);box-shadow:0 2px 0 var(--clr-accent-diamond-border)}}.completion-stats__hint{display:flex;flex-direction:column;gap:2px;margin-top:var(--sp-2);text-align:center}.completion-stats__hint-main{font-size:12px;font-weight:800;color:var(--clr-ink)}.completion-stats__hint-sub{font-size:11px;font-weight:700;font-style:italic;color:var(--clr-ink-soft)}.completion-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-pill);cursor:pointer;font-family:var(--font-body);font-size:14px;font-weight:900;letter-spacing:.2px;margin:var(--sp-2) 0;width:100%;box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-primary-dark);transition:transform var(--dur-fast) var(--ease)}.completion-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.completion-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.completion-btn--retry{background:var(--clr-accent-cream-bg);color:var(--clr-ink);border-color:var(--clr-accent-cream-border);--bubble-border: var(--clr-accent-cream-border)}.course-switch-btn{gap:6px;font-size:.86em}.course-switch-btn:hover{background:var(--clr-on-primary-surface-hover)}.cs-overlay{position:fixed;inset:0;background:var(--clr-overlay-scrim);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));overflow:hidden}.modal-overlay{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cs-card{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);padding:var(--sp-5) var(--sp-4) var(--sp-4);width:100%;max-width:520px;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);position:relative;box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-ink);text-align:center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;font-family:var(--font-body);color:var(--clr-ink)}.modal-sheet{width:100%;padding:0;overflow:hidden;display:flex;flex-direction:column;text-align:left;max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);border-radius:var(--r-bubble)}.modal-sheet-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);flex:0 0 auto}.modal-sheet-header .cs-close{position:static;flex-shrink:0}.modal-sheet-title{min-width:0}.modal-sheet-title h2{margin:0 0 2px;font-family:var(--font-body);font-size:20px;font-weight:900;letter-spacing:-.3px;color:var(--clr-ink)}.modal-sheet-title small{font-family:var(--font-body);font-size:13px;font-weight:700;font-style:italic;color:var(--clr-ink-soft)}.modal-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:0 18px 18px}.cs-close{position:absolute;top:var(--sp-3);right:var(--sp-3);width:36px;height:36px;padding:0;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);font-family:var(--font-body);font-size:18px;font-weight:900;line-height:1;color:var(--clr-ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--dur-fast) var(--ease)}.cs-close:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.cs-close:active{transform:translateY(1px);box-shadow:none}.cs-logo{font-size:2.4em;margin-bottom:8px}.voice-hint{margin-top:6px;font-size:.78em}.voice-hint-toggle{cursor:pointer;color:var(--clr-primary);list-style:none;display:inline-flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.voice-hint-toggle::-webkit-details-marker{display:none}.voice-test-btn,.voice-stop-btn{display:inline-flex;align-items:center;justify-content:center;padding:1px 8px;border:none;border-radius:var(--r-xs);font-size:.82em;cursor:pointer;line-height:1.6}.voice-test-btn{margin-left:6px;background:var(--clr-surface-muted-strong);color:var(--clr-info-solid-dark)}.voice-test-btn:hover{background:var(--clr-bg-bottom)}.voice-stop-btn{background:var(--clr-error-bg);color:var(--clr-error)}.voice-stop-btn:hover{background:var(--clr-danger-soft)}.voice-section{margin-bottom:14px}.voice-section:last-child{margin-bottom:0}.voice-section-header{font-size:.78em;font-weight:700;color:var(--clr-ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}.voice-item{display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:var(--r-sm);background:var(--clr-bg-top);margin-bottom:4px;border:1px solid transparent}.voice-item--active{background:var(--clr-success-bg);border-color:var(--clr-success)}.voice-item-none{font-size:.84em;color:var(--clr-error);padding:4px 0}.voice-item-label{flex:1;display:flex;align-items:center;gap:8px;cursor:pointer;min-width:0}.voice-item-info{display:flex;flex-direction:column;min-width:0}.voice-item-name{font-size:.84em;font-weight:500;color:var(--clr-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-item-meta{font-size:.74em;color:var(--clr-ink-soft);margin-top:1px}.voice-item-actions{display:flex;gap:4px;flex-shrink:0}.voice-hint-body{margin-top:8px;padding:10px 12px;background:var(--clr-bg-bottom);border-radius:var(--r-sm);color:var(--clr-ink);line-height:1.6}.cs-title{font-family:var(--font-body);font-size:18px;font-weight:900;letter-spacing:-.3px;color:var(--clr-ink);margin:0 0 var(--sp-4);text-align:center;line-height:1.3;min-height:2.4em;display:flex;align-items:center;justify-content:center}.cs-skip-label{display:flex;align-items:center;gap:8px;font-size:.8em;color:var(--clr-ink-soft);margin-top:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.cs-skip-label input{cursor:pointer}.cs-columns{display:flex;flex-direction:row;gap:8px;align-items:flex-start;justify-content:center;margin-bottom:20px}.cs-column{flex:1;min-width:0}.cs-col-label{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--clr-ink-soft);margin-bottom:8px;display:flex;align-items:flex-end;line-height:1.3}.cs-arrow{font-size:1.4em;color:var(--clr-guide-muted);align-self:flex-start;padding-top:32px;flex-shrink:0}.cs-lang-list{display:flex;flex-direction:column;gap:10px}.cs-lang-btn{display:flex;align-items:center;gap:9px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);padding:10px 12px;cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease);position:relative;width:100%;box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-ink);color:var(--clr-ink)}.cs-lang-btn:hover:not(.cs-soon){background:var(--clr-accent-blue-bg);transform:translateY(-1px);box-shadow:0 4px 0 var(--bubble-border)}.cs-lang-btn.cs-sel{background:var(--clr-accent-blue-bg);--bubble-border: var(--clr-primary-dark);border-color:var(--clr-primary-dark)}.cs-lang-btn:not(:disabled):active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.cs-lang-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:2px}.cs-lang-btn.cs-soon{opacity:.48;cursor:default;box-shadow:var(--shadow-bubble-2)}.cs-flag{font-size:1.4em;flex-shrink:0;font-family:"Noto Color Emoji","Apple Color Emoji","Segoe UI Emoji",sans-serif}.cs-lang-name{font-weight:600;color:var(--clr-ink);font-size:.92em;flex:1}.cs-badge{font-size:.68em;font-weight:700;padding:2px 7px;border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0}.cs-badge-soon{background:var(--clr-disabled-bg);color:var(--clr-ink-soft)}.cs-badge-active{background:var(--clr-success-bg);color:var(--clr-success-text)}.cs-start-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);border-radius:var(--r-pill);padding:var(--sp-3) var(--sp-5);font-family:var(--font-body);font-size:14px;font-weight:900;letter-spacing:.2px;cursor:pointer;margin-bottom:var(--sp-3);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-primary-dark);transition:transform var(--dur-fast) var(--ease)}.cs-start-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.cs-start-btn:not(:disabled):active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.cs-start-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.cs-note{font-size:.78em;color:var(--clr-ink-soft);margin:0}.confirm-overlay{position:fixed;inset:0;background:var(--clr-overlay-scrim);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:20px}.confirm-card{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-ink);padding:var(--sp-5) var(--sp-4) var(--sp-4);max-width:360px;width:100%;text-align:center;font-family:var(--font-body);color:var(--clr-ink)}.confirm-message{font-family:var(--font-body);font-size:14px;font-weight:700;color:var(--clr-ink);margin:0 0 var(--sp-4);line-height:1.5;white-space:pre-line}.confirm-require-input{width:100%;margin:0 0 var(--sp-4);padding:10px 12px;font-family:var(--font-body);font-size:14px;color:var(--clr-ink);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--radius-md)}.confirm-require-input:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:2px}.confirm-ok-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-buttons{display:flex;gap:var(--sp-2);justify-content:center}.confirm-cancel-btn,.confirm-ok-btn{flex:1;min-height:44px;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);font-family:var(--font-body);font-size:13px;font-weight:900;letter-spacing:.2px;cursor:pointer;box-shadow:var(--shadow-bubble-3);transition:transform var(--dur-fast) var(--ease)}.confirm-cancel-btn:focus-visible,.confirm-ok-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.confirm-cancel-btn:active,.confirm-ok-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.confirm-cancel-btn{background:var(--clr-surface);color:var(--clr-ink);border:2px solid var(--clr-ink);--bubble-border: var(--clr-ink)}.confirm-ok-btn{background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);--bubble-border: var(--clr-primary-dark)}.review-picker-card{max-width:400px}.review-picker-heading{font-size:1.2em;font-weight:700;color:var(--clr-ink);margin:0 0 4px}.review-picker-heading-sub{display:block;font-size:.8em;color:var(--clr-ink-soft);margin-bottom:20px}.review-picker-btns{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin-bottom:20px}.review-picker-remember{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85em;color:var(--clr-ink-soft);cursor:pointer;padding:8px 0}.review-picker-remember input[type=checkbox]{width:16px;height:16px;accent-color:var(--clr-primary);cursor:pointer}@media(min-width:601px){.completion-content{padding:40px;border-radius:var(--r-2xl)}.completion-title{font-size:2.2em}.completion-btn{width:auto;padding:14px 36px;font-size:1.1em}.cs-overlay{padding:16px}.modal-sheet{max-height:calc(100dvh - 32px);border-radius:var(--r-2xl)}.modal-sheet-header{padding:24px 24px 16px}.modal-sheet-body{padding:0 24px 24px}.cs-columns{gap:12px}.cs-arrow{font-size:1.6em;padding-top:36px}}html.boot-active .signin-overlay{display:none}html.boot-restoring .signin-restoring,html.boot-restoring .signin-restoring[hidden]{display:flex}html.boot-restoring #signinCardBody,html.boot-anonymous #appShell,html.boot-restoring #appShell{display:none}.signin-overlay{position:fixed;inset:0;background:linear-gradient(135deg,var(--clr-auth-start) 0%,var(--clr-auth-end) 100%);display:flex;align-items:center;justify-content:center;z-index:var(--z-auth);padding:16px}.signin-card{background:var(--clr-surface);border-radius:var(--r-xl);padding:32px 20px 24px;text-align:center;box-shadow:var(--shadow-xl);max-width:380px;width:100%}.signin-card:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:4px}.signin-logo{margin:0 auto 14px;width:fit-content}.signin-logo-image{display:block;width:108px;max-width:100%;height:auto}.signin-title{color:var(--clr-ink);font-size:1.55em;margin:0 0 4px;font-family:var(--font-body);font-weight:800}.signin-subtitle{color:var(--clr-ink-soft);font-size:.88em;font-style:italic;margin:0 0 24px}.signin-google-gate{display:flex;justify-content:center;margin-bottom:6px;visibility:hidden;opacity:0;transition:opacity .15s ease,filter var(--dur) var(--ease),visibility 0s linear .15s}.signin-google-gate--ready{visibility:visible;opacity:1;transition:opacity .15s ease,filter var(--dur) var(--ease),visibility 0s linear 0s}.signin-google-gate--disabled{pointer-events:none;opacity:.5;filter:grayscale(.6)}.signin-google-gate--ready.signin-google-gate--disabled{opacity:.5}.signin-google-container{display:inline-block;width:280px;height:44px;overflow:hidden}.signin-error{margin-top:16px;color:var(--clr-error);font-size:.82em;line-height:1.5}.signin-legal{margin-top:14px;font-size:.72em;color:var(--clr-subtle-text);line-height:1.5}.signin-legal a{color:var(--clr-primary)}.signin-consent-label{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:.85em;color:var(--clr-subtle-text);line-height:1.5;text-align:left}.signin-consent-label input[type=checkbox]{margin-top:3px;flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:var(--clr-primary)}.signin-consent-text a{color:var(--clr-primary)}.signin-value-prop{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 18px;color:var(--clr-ink-soft);font-size:.85em;line-height:1.5}.signin-value-icon{flex-shrink:0;color:var(--clr-primary)}.signin-consent{border:none;padding:0;margin:0;min-inline-size:0}.signin-guest-row{margin-top:14px;text-align:center}.signin-guest-link{background:none;border:none;padding:6px 0;color:var(--clr-primary);font-size:.85em;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.signin-guest-link:hover{color:var(--clr-ink)}.signin-guest-sub{margin:4px 0 0;color:var(--clr-subtle-text);font-size:.78em;line-height:1.4;text-align:center}.signin-restoring{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px 0;color:var(--clr-ink-soft);font-size:.9em}.signin-restoring[hidden]{display:none}.signin-spinner{width:32px;height:32px;border:3px solid var(--clr-divider);border-top-color:var(--clr-primary);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.signin-nudge{background:var(--clr-info-bg);border:1px solid var(--clr-info-border);border-radius:var(--r-sm);padding:12px 16px;margin-bottom:14px;font-size:.82em;color:var(--clr-info-text);line-height:1.5}.signin-nudge-row{display:flex;align-items:flex-start;gap:10px}.signin-nudge-icon{flex-shrink:0;color:var(--clr-info-text);margin-top:2px}.signin-nudge-text{flex:1;min-inline-size:0}.signin-nudge-btn{display:block;margin:10px auto 0;background:var(--clr-primary);color:var(--clr-on-primary);border:none;border-radius:var(--r-sm);padding:8px 18px;font-size:.88em;cursor:pointer;font-weight:600}.signin-nudge-btn:hover:not(:disabled){background:var(--clr-primary-hover)}.signin-nudge-btn:disabled{opacity:.6;cursor:default}@media(min-width:601px){.signin-card{padding:48px 40px 40px}}.account-modal-card{max-width:400px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);gap:0}.account-modal-header{padding-bottom:12px}.account-modal-header h2{margin:0;font-size:1.3em;color:var(--clr-ink);font-family:var(--font-body);font-weight:800}.account-modal-title{display:flex;align-items:center;gap:12px;min-width:0}.account-modal-body{display:flex;flex-direction:column;gap:16px}.account-modal-footer{display:flex;flex-direction:column;gap:8px;padding-top:4px}.version-action-btn{background:var(--clr-primary);color:var(--clr-on-primary);border:none;border-radius:var(--r-sm);padding:5px 12px;font-size:.8em;cursor:pointer;font-weight:600;transition:background var(--dur) var(--ease),opacity var(--dur) var(--ease)}.version-action-btn:hover:not(:disabled){background:var(--clr-primary-hover)}.version-action-btn:disabled{cursor:default}#installAppBtn.is-installed{background:var(--clr-success-bg);color:var(--clr-success)}#installAppBtn.is-unavailable{background:var(--clr-disabled-bg);color:var(--clr-disabled-text);opacity:.82}.user-bar{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--clr-surface-frosted);border-radius:var(--r-pill);font-size:.8em;color:var(--clr-ink-panel-hover);flex-wrap:wrap}.account-modal-user-bar{width:100%;margin-bottom:16px;padding:10px 12px;border:1px solid var(--clr-neutral-border);border-radius:var(--r-lg);background:var(--clr-surface-muted)}.user-bar-photo{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-bar-name{flex:1;font-weight:600;color:var(--clr-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.user-bar-signout{background:none;border:1px solid var(--clr-disabled-border);border-radius:var(--r-sm);padding:3px 10px;font-size:.85em;color:var(--clr-disabled-text);cursor:pointer;transition:border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.user-bar-signout:hover{border-color:var(--clr-danger-border);color:var(--clr-danger-border)}.pwa-banner{position:fixed;bottom:80px;left:50%;transform:translate(-50%);background:var(--clr-ink-panel);color:var(--clr-on-primary);border-radius:var(--r-md);padding:14px 18px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-lg);z-index:var(--z-banner);max-width:420px;width:calc(100% - 32px);animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.pwa-banner-text{display:flex;flex-direction:column;flex:1;gap:2px}.pwa-banner-text strong{font-size:.92em}.pwa-banner-text span{font-size:.78em;opacity:.75}.pwa-banner-actions{display:flex;align-items:center;gap:8px}.pwa-install-btn{background:var(--clr-info-solid);color:var(--clr-on-primary);border:none;border-radius:var(--r-sm);padding:8px 16px;font-size:.88em;font-weight:600;cursor:pointer;white-space:nowrap}.pwa-install-btn:hover{background:var(--clr-info-solid-dark)}.pwa-dismiss-btn{background:none;border:none;color:var(--clr-on-primary-muted);font-size:1em;cursor:pointer;padding:4px;line-height:1}.pwa-dismiss-btn:hover{color:var(--clr-on-primary)}.telemetry-consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-banner);display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:16px 18px;border-radius:var(--r-xl);background:var(--clr-surface-veil);border:2px solid var(--clr-ink);box-shadow:var(--shadow-lg)}.telemetry-consent[hidden]{display:none}.telemetry-consent-copy{display:grid;gap:4px;min-width:0}.telemetry-consent-copy strong{color:var(--clr-ink);font-size:.95em}.telemetry-consent-copy span{color:var(--clr-ink-panel-hover);font-size:.84em;line-height:1.45}.telemetry-consent-copy small{color:var(--clr-subtle-text-strong);font-size:.76em;line-height:1.4}.telemetry-consent-actions{display:flex;width:100%;flex-direction:row;gap:8px}.telemetry-consent-btn{flex:1;border:none;border-radius:var(--r-md);padding:10px 14px;font-size:.82em;font-weight:600;cursor:pointer;white-space:nowrap}.telemetry-consent-btn-primary{background:var(--clr-primary-dark);color:var(--clr-on-primary)}.telemetry-consent-btn-secondary{background:var(--clr-disabled-bg);color:var(--clr-ink-panel-hover)}.offline-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:var(--z-banner);padding:10px 16px;background:var(--clr-ink-panel);color:var(--clr-on-primary);font-size:.84em;border-radius:var(--r-sm);box-shadow:var(--shadow-md);text-align:center}.offline-banner[hidden]{display:none}@media(min-width:601px){.telemetry-consent{left:20px;right:auto;bottom:20px;width:min(420px,calc(100vw - 40px))}.telemetry-consent-actions{width:auto;flex-direction:column;flex-shrink:0}.telemetry-consent-btn{flex:none}.offline-banner{left:auto;right:20px;bottom:20px;text-align:left}}.world-mount{position:relative;width:100%;max-width:720px;margin:0 auto}.world-stage{width:100%;aspect-ratio:16 / 9;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);overflow:hidden;transition:opacity var(--dur-fast, .2s) var(--ease, ease-out)}.world-mount--fullscreen{position:fixed;inset:0;z-index:var(--z-modal);max-width:none;margin:0;background:var(--clr-bg-top)}.world-mount--fullscreen .world-stage{width:100%;height:100%;aspect-ratio:auto;border:none;border-radius:0;box-shadow:none}.world-mount__fullscreen-ui{display:none;position:absolute;top:12px;left:12px;right:12px;align-items:center;gap:var(--sp-2);pointer-events:none}.world-mount--fullscreen .world-mount__fs-location{margin-left:auto}.world-mount--fullscreen .world-mount__fullscreen-ui{display:flex}.world-mount__fs-btn{width:36px;height:36px;padding:0;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:50%;box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:16px;line-height:1;cursor:pointer;flex:0 0 auto;pointer-events:auto;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out)}.world-mount__fs-btn:hover,.world-mount__fs-btn:focus-visible{background:var(--clr-accent-mint-bg)}.world-mount__fs-location,.world-mount__fs-balance{flex:0 1 auto;padding:5px 12px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:12px;font-weight:800;white-space:nowrap;pointer-events:auto}.world-mount__fs-balance{background:var(--clr-accent-blue-bg);border-color:var(--clr-accent-blue-border)}.world-stage--fading{opacity:0}.world-stage[data-time=dawn]{filter:brightness(.92) sepia(.18) saturate(1.05)}.world-stage[data-time=evening]{filter:brightness(.85) saturate(.92) hue-rotate(8deg)}.world-stage[data-time=night]{filter:brightness(.55) saturate(.7) hue-rotate(-15deg)}.world-stage[data-time=day]{filter:none}.world-anim-pet{transform-origin:center;transform-box:fill-box;animation:world-pet-breathe 3.2s ease-in-out infinite}@keyframes world-pet-breathe{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.025) translateY(-1px)}}.world-anim-tree,.world-anim-plant{transform-origin:center bottom;transform-box:fill-box;animation:world-plant-sway 5s ease-in-out infinite}@keyframes world-plant-sway{0%,to{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}.world-anim-fountain{transform-origin:center bottom;transform-box:fill-box;animation:world-fountain-flow 2.4s ease-in-out infinite}@keyframes world-fountain-flow{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}.world-stage[data-time=evening] .world-anim-lamppost,.world-stage[data-time=night] .world-anim-lamppost{filter:drop-shadow(0 0 6px rgba(245,214,138,.7))}.world-svg{display:block;width:100%;height:100%;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.world-orientation-overlay{display:none;position:fixed;inset:0;z-index:var(--z-modal);background:var(--clr-ink-panel);color:var(--clr-surface);padding:var(--sp-5);align-items:center;justify-content:center;text-align:center}.world-orientation-overlay__inner{max-width:320px}.world-orientation-overlay__icon{font-size:48px;margin-bottom:var(--sp-3);line-height:1}.world-orientation-overlay__title{font-size:18px;font-weight:800;margin-bottom:var(--sp-2)}.world-orientation-overlay__sub{font-size:14px;opacity:.85;line-height:1.4}.world-orientation-overlay__btn{margin-top:var(--sp-3);padding:10px 18px;background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out)}.world-orientation-overlay__btn:hover,.world-orientation-overlay__btn:focus-visible{background:var(--clr-accent-mint-bg)}@media(orientation:portrait){.world-orientation-overlay{display:flex}}.world-dialog{display:flex;flex-direction:column;gap:var(--sp-3)}.world-dialog__speech{position:relative;min-height:96px;padding:var(--sp-3) var(--sp-4);background:var(--clr-surface-muted);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:16px;line-height:1.45;-webkit-user-select:none;user-select:none}.world-dialog__speech:focus-visible{outline:3px solid var(--clr-accent-blue-border);outline-offset:2px}.world-dialog__line{margin:0;white-space:pre-line}.world-dialog__indicator{position:absolute;right:var(--sp-3);bottom:var(--sp-2);font-size:12px;color:var(--clr-ink-soft);animation:world-dialog-blink .9s steps(2,jump-none) infinite}@keyframes world-dialog-blink{0%{opacity:1;transform:translateY(0)}50%{opacity:.35;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.world-dialog__choices{display:flex;flex-direction:column;gap:var(--sp-2)}.world-dialog__choice{width:100%;padding:10px 14px;text-align:left;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out),transform var(--dur-fast, .12s) var(--ease, ease-out)}.world-dialog__choice:hover:not(:disabled),.world-dialog__choice:focus-visible{background:var(--clr-accent-mint-bg)}.world-dialog__choice:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-bubble-3)}.world-dialog__choice:disabled{opacity:.55;cursor:default}.world-dialog__hint{padding:8px 12px;background:var(--clr-accent-coral-bg);border:2px solid var(--clr-accent-coral-border);border-radius:var(--r-bubble);color:var(--clr-ink);font-size:13px;font-style:italic}.world-fab{position:absolute;right:var(--sp-3);bottom:var(--sp-3);width:52px;height:52px;padding:0;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:50%;box-shadow:var(--shadow-bubble-3);color:var(--clr-ink);font-size:24px;line-height:1;cursor:pointer;transition:transform var(--dur-fast, .12s) var(--ease, ease-out),box-shadow var(--dur-fast, .12s) var(--ease, ease-out)}.world-fab:hover,.world-fab:focus-visible{background:var(--clr-accent-mint-bg);transform:translateY(-1px)}.world-fab:active{transform:translateY(1px);box-shadow:var(--shadow-bubble-2)}.world-fab--pickup{right:calc(var(--sp-3) + 60px);width:44px;height:44px;font-size:20px}.world-fab--active{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border)}.world-fab--garden{right:auto;left:var(--sp-3);width:44px;height:44px;font-size:20px}.world-fab--workers{right:auto;left:calc(var(--sp-3) + 56px);width:44px;height:44px;font-size:20px}.world-workers{display:flex;flex-direction:column;gap:var(--sp-3);text-align:center}.world-workers__count{font-size:22px;font-weight:900;color:var(--clr-ink)}.world-workers__income{font-size:13px;color:var(--clr-ink-soft);line-height:1.4}.world-workers__actions{display:flex;gap:var(--sp-2)}.world-workers__hire,.world-workers__fire{flex:1;padding:10px 12px;border:2px solid var(--clr-ink);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}.world-workers__hire{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border)}.world-workers__hire:hover:not(:disabled),.world-workers__hire:focus-visible{background:var(--clr-accent-blue-bg)}.world-workers__hire:disabled,.world-workers__fire:disabled{opacity:.55;cursor:not-allowed}.world-workers__fire{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border)}.world-workers__fire:hover:not(:disabled),.world-workers__fire:focus-visible{background:var(--clr-accent-cream-bg)}.world-radial-menu{position:absolute;width:0;height:0;z-index:var(--z-content);pointer-events:none;animation:world-radial-pop var(--dur-fast, .22s) ease-out}.world-radial-menu[hidden]{display:none}.world-radial-menu__btn{position:absolute;width:36px;height:36px;margin-left:-18px;margin-top:-18px;padding:0;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:50%;box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:16px;line-height:1;cursor:pointer;pointer-events:auto;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out),transform var(--dur-fast, .12s) var(--ease, ease-out)}.world-radial-menu__btn[hidden]{display:none}.world-radial-menu__btn:hover,.world-radial-menu__btn:focus-visible{background:var(--clr-accent-mint-bg);transform:scale(1.08)}.world-radial-menu__btn:active{transform:scale(.95)}.world-radial-menu__btn:before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:18px;margin-left:-1px;background:var(--clr-ink);transform-origin:50% 100%;transform:rotate(calc(180deg + var(--radial-angle, 0deg)));z-index:-1;border-radius:1px;opacity:.6}@keyframes world-radial-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.world-vocab-review{display:flex;flex-direction:column;gap:var(--sp-3);text-align:center}.world-vocab-review__progress{font-size:12px;color:var(--clr-ink-soft);font-weight:800}.world-vocab-review__prompt{font-size:14px;color:var(--clr-ink)}.world-vocab-review__word{padding:16px 12px;background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);border-radius:var(--r-bubble);font-size:22px;font-weight:900;color:var(--clr-ink)}.world-vocab-review__options{display:grid;grid-template-columns:1fr;gap:8px}@media(min-width:601px){.world-vocab-review__options{grid-template-columns:1fr 1fr}}.world-vocab-review__option{padding:10px 14px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out)}.world-vocab-review__option:hover:not(:disabled),.world-vocab-review__option:focus-visible{background:var(--clr-accent-mint-bg)}.world-vocab-review__option--correct{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border)}.world-vocab-review__option--wrong{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border)}.world-vocab-review__option:disabled{cursor:default}.world-vocab-review__feedback{padding:8px;font-size:13px;font-weight:700;color:var(--clr-ink)}.world-vocab-review__close{padding:10px 16px;background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:14px;font-weight:800;cursor:pointer}.world-catalog{display:flex;flex-direction:column;gap:var(--sp-3)}.world-catalog__stats{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--clr-surface-muted);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2);font-weight:800;font-size:15px;color:var(--clr-ink)}.world-catalog__search{width:100%;padding:10px 14px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:14px;box-shadow:var(--shadow-bubble-2)}.world-catalog__search:focus{outline:3px solid var(--clr-accent-blue-border);outline-offset:2px}.world-catalog__empty{padding:var(--sp-4);text-align:center;font-size:13px;color:var(--clr-ink-soft);grid-column:1 / -1}.world-catalog__filters{display:flex;flex-wrap:wrap;gap:6px}.world-catalog__filter{padding:6px 12px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);color:var(--clr-ink);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out)}.world-catalog__filter:hover,.world-catalog__filter:focus-visible{background:var(--clr-accent-mint-bg)}.world-catalog__filter--active{background:var(--clr-accent-blue-bg);border-color:var(--clr-accent-blue-border)}.world-catalog__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.world-catalog__card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--sp-2);background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2);text-align:center}.world-catalog__thumb{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--clr-surface-muted);border-radius:var(--r-bubble);overflow:hidden}.world-catalog__thumb img{max-width:100%;max-height:100%;display:block}.world-catalog__name{font-size:14px;font-weight:800;color:var(--clr-ink)}.world-catalog__cost{font-size:13px;font-weight:700;color:var(--clr-ink-soft)}.world-catalog__actions{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:4px}.world-catalog__buy{width:100%;padding:8px 10px;background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out)}.world-catalog__place--inline{width:100%;padding:8px 10px;background:var(--clr-accent-mint-bg);border:2px solid var(--clr-accent-mint-border);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}.world-catalog__place--inline:hover,.world-catalog__place--inline:focus-visible{background:var(--clr-accent-blue-bg)}.world-catalog__buy:hover:not(:disabled),.world-catalog__buy:focus-visible{background:var(--clr-accent-mint-bg)}.world-catalog__buy--locked,.world-catalog__buy:disabled{opacity:.5;cursor:not-allowed}.world-catalog__card--incompatible{opacity:.5}.world-catalog__card--incompatible .world-catalog__name,.world-catalog__card--incompatible .world-catalog__cost{color:var(--clr-ink-soft)}.world-catalog__inventory-row--incompatible{opacity:.55}.world-catalog__inventory-hint{font-size:11px;color:var(--clr-accent-coral-border);font-weight:800;margin-top:2px}@media(min-width:601px){.world-catalog__grid{grid-template-columns:repeat(3,1fr)}}.world-catalog__inventory-heading{margin-top:var(--sp-3);font-size:14px;font-weight:800;color:var(--clr-ink)}.world-catalog__inventory-list{display:flex;flex-direction:column;gap:6px}.world-catalog__inventory-row{display:flex;align-items:center;gap:var(--sp-2);padding:6px 8px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2)}.world-catalog__inventory-thumb{width:40px;height:40px;object-fit:contain;background:var(--clr-surface-muted);border-radius:var(--r-bubble);flex:0 0 auto}.world-catalog__inventory-label{flex:1;min-width:0}.world-catalog__inventory-name{font-size:14px;font-weight:800;color:var(--clr-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-catalog__inventory-qty{font-size:12px;color:var(--clr-ink-soft)}.world-catalog__place{padding:6px 12px;background:var(--clr-accent-mint-bg);border:2px solid var(--clr-accent-mint-border);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;flex:0 0 auto;transition:background-color var(--dur-fast, .12s) var(--ease, ease-out)}.world-catalog__place:hover,.world-catalog__place:focus-visible{background:var(--clr-accent-blue-bg)}.world-catalog__upgrades-heading{margin-top:var(--sp-3);font-size:14px;font-weight:800;color:var(--clr-ink)}.world-catalog__upgrades-list{display:flex;flex-direction:column;gap:6px}.world-catalog__upgrade-card{display:flex;align-items:center;gap:var(--sp-2);padding:8px 10px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2)}.world-catalog__upgrade-card--owned{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border)}.world-catalog__upgrade-meta{flex:1;min-width:0}.world-catalog__upgrade-name{font-size:14px;font-weight:800;color:var(--clr-ink)}.world-catalog__upgrade-desc{font-size:12px;color:var(--clr-ink-soft);line-height:1.35;margin-top:2px}.world-catalog__upgrade-cost{font-size:12px;font-weight:700;color:var(--clr-ink-soft);margin-top:4px}.world-catalog__upgrade-buy{flex:0 0 auto;padding:8px 12px;background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);border-radius:var(--r-bubble);color:var(--clr-ink);font-family:inherit;font-size:13px;font-weight:800;cursor:pointer}.world-catalog__upgrade-buy:hover:not(:disabled),.world-catalog__upgrade-buy:focus-visible{background:var(--clr-accent-mint-bg)}.world-catalog__upgrade-buy:disabled{opacity:.55;cursor:not-allowed}.world-placement-banner[hidden],.world-tutorial-banner[hidden],.world-quest-banner[hidden],.world-orientation-overlay[hidden],.world-overlay-bar[hidden]{display:none}.world-overlay-bar{position:absolute;top:8px;left:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:var(--z-content);pointer-events:none}.world-overlay-bar>*{pointer-events:auto}.world-mount--fullscreen .world-overlay-bar{top:56px}.world-placement-banner{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--sp-2);max-width:calc(100% - 24px);padding:6px 12px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:13px;font-weight:700;z-index:var(--z-content);pointer-events:none}.world-placement-banner--error{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border)}.world-placement-banner__text{flex:1;min-width:0}.world-placement-banner__cancel{padding:4px 10px;background:var(--clr-surface-muted);border:2px solid var(--clr-ink);border-radius:var(--r-pill);color:var(--clr-ink);font-family:inherit;font-size:12px;font-weight:800;cursor:pointer;flex:0 0 auto}.world-placement-banner__cancel:hover,.world-placement-banner__cancel:focus-visible{background:var(--clr-accent-mint-bg)}.world-tutorial-banner{display:flex;align-items:center;gap:var(--sp-2);padding:6px 10px;background:var(--clr-accent-blue-bg);border:2px solid var(--clr-accent-blue-border);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:12px;font-weight:700}.world-tutorial-banner__step{flex:0 0 auto;padding:2px 8px;background:var(--clr-surface);border-radius:var(--r-pill);font-weight:800}.world-tutorial-banner__text{flex:1;min-width:0}.world-tutorial-banner__skip{flex:0 0 auto;width:22px;height:22px;padding:0;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:50%;color:var(--clr-ink);font-family:inherit;font-size:11px;font-weight:800;line-height:1;cursor:pointer}.world-tutorial-banner__skip:hover,.world-tutorial-banner__skip:focus-visible{background:var(--clr-accent-mint-bg)}.world-quest-banner{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:11px;font-weight:800;align-self:flex-start}.world-quest-banner--done{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border)}.world-quest-banner__icon{flex:0 0 auto}.world-quest-banner__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.world-quest-banner__streak{flex:0 0 auto;padding:2px 6px;background:var(--clr-accent-coral-bg);border-radius:var(--r-pill);font-size:10px}.world-achievement-toast{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:var(--sp-2);max-width:calc(100% - 24px);padding:12px 16px;background:var(--clr-accent-mint-bg);border:3px solid var(--clr-accent-mint-border);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);color:var(--clr-ink);z-index:var(--z-banner);pointer-events:none;animation:world-achievement-pop 3.5s ease-out forwards}.world-achievement-toast[hidden]{display:none}.world-achievement-toast__icon{flex:0 0 auto;font-size:28px;line-height:1}.world-achievement-toast__body{flex:1;min-width:0}.world-achievement-toast__name{font-size:14px;font-weight:800;color:var(--clr-ink);margin-bottom:2px}.world-achievement-toast__desc{font-size:12px;color:var(--clr-ink-soft);line-height:1.35}.world-npc-indicator{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;background:var(--clr-accent-coral-bg);border:2px solid var(--clr-accent-coral-border);border-radius:50%;color:var(--clr-ink);font-size:14px;font-weight:900;text-align:center;line-height:20px;pointer-events:none;z-index:var(--z-content);animation:world-npc-indicator-pulse 1.6s ease-in-out infinite}@keyframes world-npc-indicator-pulse{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-60%) scale(1.12)}to{transform:translate(-50%,-50%) scale(1)}}.world-action-toast{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--clr-accent-mint-bg);border:2px solid var(--clr-accent-mint-border);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:13px;font-weight:800;z-index:var(--z-content);pointer-events:none;animation:world-action-toast-pop .3s ease-out}.world-action-toast__text{flex:1}.world-action-toast__undo{pointer-events:auto;padding:4px 10px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);color:var(--clr-ink);font-family:inherit;font-size:12px;font-weight:800;cursor:pointer}.world-action-toast__undo:hover,.world-action-toast__undo:focus-visible{background:var(--clr-accent-blue-bg)}.world-action-toast[hidden]{display:none}.world-action-toast[data-kind=error]{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border)}@keyframes world-action-toast-pop{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@keyframes world-achievement-pop{0%{opacity:0;transform:translate(-50%,-40%) scale(.85)}8%{opacity:1;transform:translate(-50%,-50%) scale(1.02)}14%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-55%) scale(1)}}.world-floor__tile--tutorial{fill:var(--clr-accent-mint-bg);stroke:var(--clr-accent-mint-border);stroke-width:2;animation:world-tutorial-pulse 1.4s ease-in-out infinite}.world-fab--tutorial{animation:world-tutorial-pulse 1.4s ease-in-out infinite;box-shadow:0 0 0 4px var(--clr-accent-mint-bg)}@keyframes world-tutorial-pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.world-floor__tile{fill:var(--clr-accent-cream-bg);stroke:var(--clr-ink-soft);stroke-width:1;stroke-linejoin:round}.world-floor__tile--alt{fill:var(--clr-surface-muted)}.world-floor__tile:hover{fill:var(--clr-accent-mint-bg)}.world-stage[data-floor=wood] .world-floor__tile{fill:#c89052}.world-stage[data-floor=wood] .world-floor__tile--alt{fill:#a87042}.world-stage[data-floor=stone] .world-floor__tile{fill:#b8b8b0}.world-stage[data-floor=stone] .world-floor__tile--alt{fill:#989088}.world-stage[data-floor=pink] .world-floor__tile{fill:#fbd5e0}.world-stage[data-floor=pink] .world-floor__tile--alt{fill:#f0b8c8}.world-test-body{margin:0;padding:var(--sp-5) var(--sp-3);background:var(--clr-bg-top);color:var(--clr-ink);font-family:var(--font-body);min-height:100vh}.world-test-header{max-width:720px;margin:0 auto var(--sp-4);text-align:center}.world-test-title{margin:0 0 var(--sp-2);font-size:22px;font-weight:900;letter-spacing:-.3px}.world-test-subtitle{margin:0 0 var(--sp-1);font-size:14px;color:var(--clr-ink-soft)}.world-test-hint{margin:0 0 var(--sp-3);font-size:12px;font-style:italic;color:var(--clr-ink-soft);opacity:.7}.world-test-strip{display:inline-flex;align-items:center;padding:6px 14px;border-radius:var(--r-pill);background:var(--clr-surface);border:2px solid var(--clr-ink);box-shadow:var(--shadow-bubble-2)}.world-test-strip__label{font-size:13px;font-weight:800;color:var(--clr-ink);letter-spacing:.02em}.world-test-stage{max-width:720px;margin:0 auto}.world-visit-banner{position:absolute;top:56px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--sp-2);padding:8px 14px;background:var(--clr-accent-coral-bg);border:3px solid var(--clr-accent-coral-border);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-size:13px;font-weight:800;z-index:var(--z-banner);pointer-events:auto}.world-visit-banner[hidden]{display:none}.world-visit-banner__label{white-space:nowrap}.world-visit-banner__exit{padding:4px 10px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);color:var(--clr-ink);font-size:12px;font-weight:800;cursor:pointer}.world-visit-banner__exit:hover,.world-visit-banner__exit:focus-visible{background:var(--clr-accent-mint-bg)}.world-share-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--sp-3);z-index:var(--z-world-overlay);pointer-events:auto}.world-share-modal{width:100%;max-width:480px;background:var(--clr-surface);border:3px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-3);max-height:90vh;overflow-y:auto}.world-share-modal__header{display:flex;align-items:center;justify-content:space-between}.world-share-modal__title{margin:0;font-size:18px;font-weight:900;color:var(--clr-ink)}.world-share-modal__close{width:32px;height:32px;padding:0;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:50%;color:var(--clr-ink);font-size:14px;cursor:pointer}.world-share-modal__close:hover,.world-share-modal__close:focus-visible{background:var(--clr-accent-coral-bg)}.world-share-modal__section{display:flex;flex-direction:column;gap:var(--sp-2)}.world-share-modal__label{font-size:13px;font-weight:700;color:var(--clr-ink-soft)}.world-share-modal__divider{height:2px;background:var(--clr-ink);opacity:.15;border-radius:1px}.world-share-modal__code-row{display:flex;flex-direction:column;gap:var(--sp-2)}.world-share-modal__code-box{width:100%;padding:10px;background:var(--clr-bg-top);border:2px solid var(--clr-ink);border-radius:var(--r-card);color:var(--clr-ink);font-family:monospace;font-size:11px;line-height:1.4;resize:vertical;word-break:break-all}.world-share-modal__code-box:focus{outline:2px solid var(--clr-accent-mint-border);outline-offset:1px}.world-share-modal__code-box--error{border-color:var(--clr-accent-coral-border);background:var(--clr-accent-coral-bg)}.world-share-modal__copy,.world-share-modal__visit{align-self:flex-end;padding:8px 16px;background:var(--clr-accent-mint-bg);border:2px solid var(--clr-accent-mint-border);border-radius:var(--r-pill);color:var(--clr-ink);font-size:13px;font-weight:800;cursor:pointer}.world-share-modal__copy:hover,.world-share-modal__copy:focus-visible,.world-share-modal__visit:hover,.world-share-modal__visit:focus-visible{background:var(--clr-accent-blue-bg);border-color:var(--clr-accent-blue-border)}.world-share-modal__copy:disabled{opacity:.4;cursor:not-allowed}.world-mount__fs-btn--share{background:var(--clr-accent-blue-bg);border-color:var(--clr-accent-blue-border)}.world-mount__fs-btn--wardrobe{background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border)}.world-fab--wardrobe{bottom:calc(var(--sp-3) + 60px);width:44px;height:44px;font-size:22px;background:var(--clr-accent-coral-bg);border-color:var(--clr-accent-coral-border)}.world-worker-diamond{position:absolute;transform:translate(-50%,-50%);padding:3px 8px;background:var(--clr-accent-mint-bg);border:2px solid var(--clr-accent-mint-border);border-radius:var(--r-pill);color:var(--clr-ink);font-size:11px;font-weight:900;pointer-events:none;z-index:var(--z-banner);animation:world-worker-diamond-rise 1.6s ease-out forwards;white-space:nowrap}@keyframes world-worker-diamond-rise{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}20%{transform:translate(-50%,-60%) scale(1.1);opacity:1}to{transform:translate(-50%,-150%) scale(.9);opacity:0}}.world-splash-wrap{position:absolute;transform:translate(-50%,-50%);pointer-events:none;z-index:var(--z-banner)}.world-splash-center{position:absolute;transform:translate(-50%,-50%);font-size:36px;line-height:1;animation:world-splash-burst 1.3s ease-out forwards}@keyframes world-splash-burst{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}20%{transform:translate(-50%,-120%) scale(1.4);opacity:1}to{transform:translate(-50%,-160%) scale(.6);opacity:0}}.world-splash-drop{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:12px;height:12px;color:var(--clr-accent-blue-border);font-size:20px;line-height:1;text-align:center;animation:world-splash-drop-fly 1.3s ease-out forwards}@keyframes world-splash-drop-fly{0%{transform:translate(-50%,-50%) scale(.4);opacity:0}25%{transform:translate(calc(-50% + var(--dx, 0px) * .3),calc(-50% + var(--dy, 0px) * .3 - 20px)) scale(1.2);opacity:1}to{transform:translate(calc(-50% + var(--dx, 0px)),calc(-50% + var(--dy, 0px) + 30px)) scale(.6);opacity:0}}.world-avatar-walking{animation:world-avatar-bob .4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes world-avatar-bob{0%{transform:translateY(0)}50%{transform:translateY(-2px)}to{transform:translateY(0)}}.world-wardrobe-modal{max-width:720px}.world-wardrobe-layout{display:flex;gap:var(--sp-3);align-items:stretch;flex-wrap:wrap}.world-wardrobe-preview{flex:0 0 160px;background:var(--clr-bg-top);border:2px solid var(--clr-ink);border-radius:var(--r-card);padding:var(--sp-3);display:flex;align-items:center;justify-content:center;min-height:220px}.world-wardrobe-preview__stack{position:relative;width:128px;height:160px}.world-wardrobe-preview__layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;pointer-events:none}.world-wardrobe-right{flex:1 1 280px;display:flex;flex-direction:column;gap:var(--sp-2);min-width:0}.world-wardrobe-tabs{display:flex;gap:var(--sp-2);flex-wrap:wrap}.world-wardrobe-tab{padding:6px 12px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);color:var(--clr-ink);font-size:12px;font-weight:800;cursor:pointer}.world-wardrobe-tab:hover,.world-wardrobe-tab:focus-visible{background:var(--clr-accent-mint-bg)}.world-wardrobe-tab--active{background:var(--clr-accent-blue-bg);border-color:var(--clr-accent-blue-border)}.world-wardrobe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--sp-2);max-height:320px;overflow-y:auto;padding:var(--sp-2);background:var(--clr-bg-top);border:2px solid var(--clr-ink);border-radius:var(--r-card)}.world-wardrobe-cell{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px;background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-card);cursor:pointer;transition:transform var(--dur-fast, .12s) var(--ease, ease-out)}.world-wardrobe-cell:hover,.world-wardrobe-cell:focus-visible{transform:translateY(-2px);background:var(--clr-accent-mint-bg)}.world-wardrobe-cell--selected{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border);box-shadow:var(--shadow-bubble-2)}.world-wardrobe-cell__img{width:48px;height:60px;object-fit:contain;pointer-events:none}.world-wardrobe-cell__none{width:48px;height:60px;display:flex;align-items:center;justify-content:center;font-size:32px;color:var(--clr-ink-soft);pointer-events:none}.world-wardrobe-cell__label{font-size:10px;font-weight:700;color:var(--clr-ink);text-align:center;line-height:1.2;pointer-events:none}.world-wardrobe-footer{display:flex;justify-content:flex-end;padding-top:var(--sp-2)}.world-achievements-modal{max-width:520px}.world-achievements-list{display:flex;flex-direction:column;gap:var(--sp-2)}.world-achievement-card{display:flex;align-items:center;gap:var(--sp-3);padding:10px 12px;background:var(--clr-bg-top);border:2px solid var(--clr-ink);border-radius:var(--r-card)}.world-achievement-card--unlocked{background:var(--clr-accent-mint-bg);border-color:var(--clr-accent-mint-border)}.world-achievement-card--locked{opacity:.55}.world-achievement-card__icon{flex:0 0 auto;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1}.world-achievement-card__body{flex:1;min-width:0}.world-achievement-card__name{font-size:13px;font-weight:800;color:var(--clr-ink);margin-bottom:2px}.world-achievement-card__desc{font-size:11px;color:var(--clr-ink-soft);line-height:1.35}.ui-target{display:block;line-height:1.1}.ui-subtitle{display:block;font-size:.7em;opacity:.65;line-height:1.1;margin-top:1px;font-weight:400}.world-mount[data-subtitle=off] .ui-subtitle{display:none}:root{--miner-wood-light: #f4d597;--miner-wood-mid: #c79a55;--miner-wood-mid-2: #d9a96a;--miner-wood-amber: #8a5e2d;--miner-wood-deep: #6b3f1f;--miner-wood-deep-2: #7b4923;--miner-wood-darker: #553318;--miner-wood-shadow: #5d3818;--miner-wood-grain: #3a1f10;--miner-wood-burned: #2a1408;--miner-wood-coal: #1a0c04;--miner-paper: #fff6e0;--miner-tag-grain: rgba(0, 0, 0, .4);--miner-tag-shadow: rgba(0, 0, 0, .35);--miner-shop-overlay: rgba(0, 0, 0, .2);--miner-slot-tint: rgba(255, 246, 224, .08);--miner-tier-empty: rgba(255, 246, 224, .18);--miner-text-muted: rgba(255, 246, 224, .72);--miner-tag-disabled: rgba(244, 213, 151, .4);--miner-tag-disabled-text: rgba(42, 20, 8, .7);--miner-gold: #ffd166}.miner-mount{background:var(--clr-bg-top);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-2);padding:var(--sp-4);min-height:640px;display:flex;flex-direction:column}.miner-error{color:var(--clr-error);background:var(--clr-surface);padding:var(--sp-4);border-radius:var(--r-md);text-align:center}.miner-lobby{display:flex;flex-direction:column;gap:var(--sp-4);max-width:600px;margin:0 auto;width:100%}.miner-lobby-hero{display:flex;gap:var(--sp-4);align-items:center}.miner-lobby-avatar{width:110px;height:auto;flex-shrink:0;filter:drop-shadow(0 4px 0 rgba(12,31,61,.18));animation:miner-bob 3.4s ease-in-out infinite}@keyframes miner-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.miner-lobby-hero-text{flex:1;display:flex;flex-direction:column;gap:var(--sp-2)}.miner-lobby-title{color:var(--clr-ink);font-size:1.7rem;margin:0;display:flex;align-items:center;gap:var(--sp-3)}.miner-beta-badge{background:var(--clr-accent-coral-bg);color:var(--clr-accent-coral-border);border:2px solid var(--clr-accent-coral-border);border-radius:var(--r-pill);padding:2px var(--sp-2);font-size:.7rem;font-weight:700;letter-spacing:.05em}.miner-lobby-intro{color:var(--clr-ink-soft);margin:0;line-height:1.5}.miner-lobby-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);align-items:stretch}.miner-bubble{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-bubble-inner);padding:var(--sp-2) var(--sp-3);box-shadow:var(--shadow-bubble-2);color:var(--clr-ink);font-weight:700;text-align:center;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center}.miner-bubble--balance{background:var(--clr-accent-blue-bg)}.miner-bubble--fee{background:var(--clr-accent-coral-bg);color:var(--clr-accent-coral-border)}.miner-bubble--best{background:var(--clr-accent-cream-bg);color:var(--clr-accent-cream-border)}.miner-bubble--round{background:var(--clr-accent-blue-bg)}.miner-bubble--time{background:var(--clr-accent-mint-bg)}.miner-bubble--time.is-low{background:var(--clr-accent-coral-bg);color:var(--clr-accent-coral-border);border-color:var(--clr-accent-coral-border);animation:miner-pulse .7s ease-in-out infinite}.miner-bubble--time.is-paused{background:var(--clr-disabled-bg);color:var(--clr-ink-soft);border-color:var(--clr-divider-strong);opacity:.7;animation:none}.miner-bubble--time.is-paused .miner-bubble-main:before{content:"⏸ "}.miner-bubble--score{background:var(--clr-accent-cream-bg)}.miner-bubble-main{font-size:1.05rem;font-weight:700;line-height:1}.miner-bubble-sub{font-size:.78rem;font-weight:600;color:var(--clr-ink-soft);line-height:1}@keyframes miner-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.miner-lobby-howto{background:var(--clr-surface);border:2px solid var(--clr-divider);border-radius:var(--r-md);padding:var(--sp-4)}.miner-lobby-howto h3{margin:0 0 var(--sp-3);color:var(--clr-ink);font-size:1rem}.miner-lobby-howto ul{margin:0;padding-left:var(--sp-5);color:var(--clr-ink-soft);line-height:1.6}.miner-lobby-actions{display:flex;flex-direction:column;gap:var(--sp-3);align-items:center}.miner-lobby-start{width:100%;max-width:320px;padding:var(--sp-3) var(--sp-5);font-size:1.1rem;font-weight:700;border-radius:var(--r-pill)}.miner-lobby-start:disabled{background:var(--clr-disabled-bg);color:var(--clr-disabled-text);border-color:var(--clr-disabled-border);cursor:not-allowed}.miner-lobby-tooPoor{color:var(--clr-error);text-align:center;margin:0;font-size:.9rem}.miner-stage{display:flex;flex-direction:column;flex:1;gap:var(--sp-3);position:relative;outline:none}.miner-hud{display:grid;grid-template-columns:1.4fr 1fr 1.4fr;gap:var(--sp-2);color:var(--clr-ink);font-variant-numeric:tabular-nums}.miner-canvas-wrap{position:relative;width:100%;margin:0 auto;background:var(--clr-ink-night);border:2px solid var(--clr-divider-strong);border-radius:var(--r-md);overflow:hidden;cursor:pointer;display:flex;justify-content:center}.miner-canvas{display:block;max-width:100%;height:auto;-webkit-user-select:none;user-select:none;touch-action:manipulation}.miner-avatar{position:absolute;top:4px;right:12px;width:64px;height:auto;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:var(--z-content);transform-origin:50% 90%;animation:miner-bob 3.4s ease-in-out infinite}.miner-avatar.is-throwing{animation:miner-throw .32s ease-out}.miner-avatar.is-cheering{animation:miner-cheer 1.4s ease-in-out}@keyframes miner-throw{0%{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(-7deg)}70%{transform:translateY(-1px) rotate(3deg)}to{transform:translateY(0) rotate(0)}}@keyframes miner-cheer{0%,to{transform:translateY(0) rotate(0)}20%{transform:translateY(-8px) rotate(-4deg)}40%{transform:translateY(0) rotate(4deg)}60%{transform:translateY(-6px) rotate(-2deg)}80%{transform:translateY(0) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.miner-avatar,.miner-lobby-avatar,.miner-avatar.is-throwing,.miner-avatar.is-cheering{animation:none}}.miner-overlay{position:absolute;inset:0;background:var(--clr-overlay-scrim);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);color:var(--clr-on-primary);padding:var(--sp-6);text-align:center;border-radius:var(--r-md);z-index:var(--z-modal)}.miner-overlay h3{margin:0;color:var(--clr-on-primary);font-size:1.5rem}.miner-overlay .btn-primary,.miner-overlay .btn-secondary{min-width:200px}.miner-overlay--roundend{align-items:center;justify-content:center}.miner-roundEnd-card{background:var(--clr-surface);border:3px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-3);padding:var(--sp-5) var(--sp-5) var(--sp-4);color:var(--clr-ink);text-align:center;display:flex;flex-direction:column;gap:var(--sp-3);min-width:280px;max-width:360px}.miner-roundEnd-card.is-success{border-color:var(--clr-accent-mint-border);background:linear-gradient(180deg,var(--clr-accent-mint-bg),var(--clr-surface))}.miner-roundEnd-card.is-failed{border-color:var(--clr-accent-coral-border);background:linear-gradient(180deg,var(--clr-accent-coral-bg),var(--clr-surface))}.miner-roundEnd-card h3{color:var(--clr-ink);margin:0;font-size:1.4rem}.miner-roundEnd-success,.miner-roundEnd-failed{font-weight:800;margin:0}.miner-roundEnd-success{color:var(--clr-accent-mint-border)}.miner-roundEnd-failed{color:var(--clr-accent-coral-border)}.miner-roundEnd-stats{display:flex;flex-direction:column;gap:var(--sp-1);color:var(--clr-ink-soft);font-size:.95rem;font-weight:600}.miner-roundEnd-timebonus{color:var(--clr-accent-cream-border);font-weight:700}.miner-roundEnd-actions{display:flex;flex-direction:column;gap:var(--sp-2)}.miner-roundEnd-continue,.miner-roundEnd-exit{width:100%}.miner-overlay--bonus{align-items:center;justify-content:center;padding:var(--sp-3);overflow-y:auto}.miner-bonus-card{background:var(--clr-surface);border:3px solid var(--clr-ink);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-3);padding:var(--sp-3) var(--sp-3) var(--sp-4);color:var(--clr-ink);text-align:center;display:flex;flex-direction:column;gap:var(--sp-2);align-items:stretch;min-width:260px;max-width:360px;width:100%;margin:auto}.miner-bonus-card h3{margin:0;font-size:1.15rem;color:var(--clr-ink);display:flex;align-items:center;justify-content:center;gap:var(--sp-1)}.miner-bonus-body{color:var(--clr-ink-soft);margin:0;font-size:.9rem;line-height:1.4}.miner-bonus-word{background:linear-gradient(180deg,var(--clr-accent-cream-bg),var(--clr-surface));color:var(--clr-ink);padding:var(--sp-2) var(--sp-4);border:2px solid var(--clr-accent-cream-border);border-radius:var(--r-md);font-size:1.35rem;font-weight:800;letter-spacing:.01em;box-shadow:var(--shadow-bubble-2);align-self:center;max-width:100%;word-break:break-word}.miner-bonus-options{display:flex;flex-direction:column;gap:var(--sp-2);width:100%}.miner-bonus-option{width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:2px solid var(--clr-ink);box-shadow:var(--shadow-bubble-2);font-weight:700;cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.miner-bonus-option:hover{transform:translateY(-2px)}.miner-bonus-option:nth-of-type(1){background:var(--clr-accent-blue-bg);color:var(--clr-accent-blue-border);border-color:var(--clr-accent-blue-border)}.miner-bonus-option:nth-of-type(2){background:var(--clr-accent-mint-bg);color:var(--clr-accent-mint-border);border-color:var(--clr-accent-mint-border)}.miner-bonus-option:nth-of-type(3){background:var(--clr-accent-coral-bg);color:var(--clr-accent-coral-border);border-color:var(--clr-accent-coral-border)}.miner-bonus-skip{margin-top:var(--sp-1);background:transparent;color:var(--clr-ink-soft);border:2px dashed var(--clr-divider-strong);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);font-weight:600;cursor:pointer;align-self:center}.miner-bonus-skip:hover{color:var(--clr-ink);border-color:var(--clr-ink)}.miner-bonus-mc-grid{display:flex;flex-direction:column;gap:var(--sp-2);width:100%}.miner-bonus-mc-option{padding:var(--sp-2) var(--sp-3);text-align:center;background:var(--clr-surface);color:var(--clr-ink);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);font-weight:700;cursor:pointer;transition:transform var(--dur-fast) var(--ease)}.miner-bonus-mc-option:hover:not(:disabled){transform:translateY(-2px);background:var(--clr-accent-blue-bg)}.miner-bonus-mc-option:disabled{cursor:not-allowed}.miner-bonus-mc-option.correct{background:var(--clr-accent-mint-bg);color:var(--clr-accent-mint-border);border-color:var(--clr-accent-mint-border)}.miner-bonus-mc-option.wrong{background:var(--clr-accent-coral-bg);color:var(--clr-accent-coral-border);border-color:var(--clr-accent-coral-border)}.miner-bonus-input{width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:2px solid var(--clr-ink);font-size:1.1rem;font-family:var(--font-body);background:var(--clr-surface);color:var(--clr-ink);text-align:center;box-shadow:var(--shadow-bubble-2)}.miner-bonus-check,.miner-bonus-listen,.miner-bonus-record{min-width:200px;align-self:center}.miner-bonus-record{font-size:1.4rem;padding:var(--sp-3);width:80px;height:80px;border-radius:50%;background:var(--clr-accent-coral-bg);color:var(--clr-accent-coral-border);border:2px solid var(--clr-accent-coral-border);box-shadow:var(--shadow-bubble-3);cursor:pointer}.miner-bonus-speak-status{color:var(--clr-ink-soft);font-style:italic;min-height:1.2em}.miner-bonus-feedback{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);font-weight:700;align-self:center}.miner-bonus-feedback.correct{background:var(--clr-accent-mint-bg);color:var(--clr-accent-mint-border)}.miner-bonus-feedback.wrong{background:var(--clr-accent-coral-bg);color:var(--clr-accent-coral-border)}.miner-overlay--shop{overflow-y:auto;align-items:center;justify-content:flex-start;padding:var(--sp-3);gap:0;text-align:left}.miner-shop-frame{background:linear-gradient(180deg,var(--miner-shop-overlay),transparent),repeating-linear-gradient(180deg,var(--miner-wood-deep) 0,var(--miner-wood-deep-2) 4px,var(--miner-wood-deep) 8px,var(--miner-wood-darker) 14px);border:4px solid var(--miner-wood-burned);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-3);padding:var(--sp-4);width:100%;max-width:580px;display:flex;flex-direction:column;gap:var(--sp-3);color:var(--miner-paper)}.miner-shop-header{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-2)}.miner-shop-sign{background:linear-gradient(180deg,var(--miner-wood-light),var(--miner-wood-mid));color:var(--miner-wood-burned);border:3px solid var(--miner-wood-grain);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-4);font-weight:800;font-size:1.2rem;letter-spacing:.04em;box-shadow:var(--shadow-bubble-2);transform:rotate(-1.5deg)}.miner-shop-balance{background:var(--clr-accent-cream-bg);color:var(--clr-accent-cream-border);border:2px solid var(--clr-accent-cream-border);border-radius:var(--r-pill);padding:var(--sp-1) var(--sp-3);font-weight:700;box-shadow:var(--shadow-bubble-2)}.miner-shop-tabs{display:flex;gap:var(--sp-2);justify-content:center}.miner-shop-tab{background:linear-gradient(180deg,var(--miner-wood-mid),var(--miner-wood-amber));color:var(--miner-wood-burned);border:3px solid var(--miner-wood-grain);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-4);font-weight:800;font-size:.95rem;cursor:pointer;box-shadow:var(--shadow-bubble-2);transition:transform var(--dur) var(--ease)}.miner-shop-tab:hover{transform:translateY(-1px)}.miner-shop-tab.is-active{background:linear-gradient(180deg,var(--miner-wood-light),var(--miner-wood-mid-2));color:var(--miner-wood-coal);transform:translateY(-2px)}.miner-shop-shelves{display:flex;flex-direction:column;gap:var(--sp-3)}.miner-shop-shelf{display:flex;flex-direction:column;gap:0}.miner-shop-shelf-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-2);padding:var(--sp-2) var(--sp-2) 0}.miner-shop-plank{height:14px;background:linear-gradient(180deg,var(--miner-wood-mid) 0%,var(--miner-wood-amber) 50%,var(--miner-wood-shadow) 100%);border-top:2px solid var(--miner-wood-grain);border-bottom:3px solid var(--miner-wood-coal);border-radius:2px;box-shadow:0 4px 8px var(--miner-tag-shadow)}.miner-shop-slot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:var(--sp-2);background:var(--miner-slot-tint);border-radius:var(--r-sm);color:var(--miner-paper)}.miner-shop-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center}.miner-shop-icon-svg{width:100%;height:100%;filter:drop-shadow(0 2px 0 var(--miner-tag-shadow))}.miner-shop-name{font-weight:700;font-size:.9rem;line-height:1.1}.miner-shop-desc{font-size:.72rem;color:var(--miner-text-muted);line-height:1.25;min-height:2.4em}.miner-shop-tier{display:flex;gap:3px;justify-content:center}.miner-shop-tier-dot{width:10px;height:10px;border-radius:50%;background:var(--miner-tier-empty);border:1px solid var(--miner-tag-grain)}.miner-shop-tier-dot.is-on{background:var(--miner-gold);border-color:var(--clr-ink)}.miner-shop-tag{margin-top:2px}.miner-shop-buy{background:linear-gradient(180deg,var(--miner-paper),var(--miner-wood-light));color:var(--miner-wood-burned);border:2px solid var(--miner-wood-grain);border-radius:var(--r-pill);padding:4px var(--sp-2);font-weight:800;font-size:.85rem;cursor:pointer;transform:rotate(-2deg);box-shadow:var(--shadow-bubble-2);transition:transform var(--dur-fast) var(--ease)}.miner-shop-buy:hover:not(:disabled){transform:rotate(-2deg) translateY(-1px)}.miner-shop-buy:disabled{opacity:.5;cursor:not-allowed}.miner-shop-buy.is-owned{background:var(--clr-accent-mint-bg);color:var(--clr-accent-mint-border)}.miner-shop-buy.is-maxed{background:var(--miner-tag-disabled);color:var(--miner-tag-disabled-text)}.miner-shop-footer{display:flex;justify-content:center;padding-top:var(--sp-2)}.miner-shop-close{min-width:220px}.miner-gameover{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);padding:var(--sp-6)}.miner-gameover h2{margin:0;color:var(--clr-ink)}.miner-gameover-net{color:var(--clr-ink-soft);margin:0;font-weight:600}.miner-gameover-stats{background:var(--clr-surface-muted);border:1px solid var(--clr-divider);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);color:var(--clr-ink-soft);font-size:.92rem;display:flex;flex-direction:column;gap:var(--sp-1);min-width:220px;text-align:center}.miner-gameover-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap;justify-content:center}.harm-welcome-modal{display:none;position:fixed;inset:0;background:var(--clr-overlay-scrim);z-index:var(--z-tutorial);align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.harm-welcome-modal.visible{display:flex}.harm-welcome-card{background:var(--clr-surface);border:2px solid var(--clr-accent-cream-border);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-accent-cream-border);padding:var(--sp-5) var(--sp-4);max-width:420px;width:min(420px,calc(100vw - 40px));max-height:calc(100vh - 40px);overflow-y:auto;text-align:center;font-family:var(--font-body);color:var(--clr-ink);animation:harmPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes harmPop{0%{transform:scale(.8) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.harm-avatar{font-size:3em;margin-bottom:var(--sp-2);line-height:1}.harm-welcome-title{font-family:var(--font-body);font-size:20px;font-weight:900;letter-spacing:-.3px;color:var(--clr-ink);margin-bottom:var(--sp-3)}.harm-welcome-text{font-family:var(--font-body);font-size:14px;font-weight:700;color:var(--clr-ink);line-height:1.55;margin-bottom:var(--sp-4);text-align:left}.harm-welcome-sk{color:var(--clr-ink-soft);font-size:13px;font-style:italic;font-weight:700}.harm-disable-label{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--clr-ink-soft);margin-bottom:var(--sp-4);cursor:pointer;text-align:left;-webkit-user-select:none;user-select:none}.harm-disable-label input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:var(--clr-primary);cursor:pointer}.harm-welcome-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-3);--bubble-border: var(--clr-primary-dark);padding:var(--sp-3) var(--sp-5);font-family:var(--font-body);font-size:14px;font-weight:900;letter-spacing:.2px;min-height:48px;cursor:pointer;width:100%;transition:transform var(--dur-fast) var(--ease)}.harm-welcome-btn:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.harm-welcome-btn:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.harm-bubble{position:fixed;bottom:10px;right:10px;background:var(--clr-accent-cream-bg);border:2px solid var(--clr-accent-cream-border);border-radius:var(--r-bubble);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-accent-cream-border);padding:var(--sp-3);max-width:none;width:calc(100vw - 20px);display:flex;gap:var(--sp-3);align-items:flex-start;font-family:var(--font-body);color:var(--clr-ink);z-index:var(--z-tutorial-bubble);transform:translateY(140%);opacity:0;transition:transform .4s cubic-bezier(.34,1.4,.64,1),opacity .25s,top .35s cubic-bezier(.34,1.4,.64,1),bottom .35s cubic-bezier(.34,1.4,.64,1),left .35s cubic-bezier(.34,1.4,.64,1),right .35s cubic-bezier(.34,1.4,.64,1);pointer-events:none;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.harm-bubble.visible{transform:translateY(0);opacity:1;pointer-events:all}.harm-bubble.harm-anchor-top{transform:translateY(-140%)}.harm-bubble.harm-anchor-top.visible{transform:translateY(0)}.harm-bubble.harm-dragging,.harm-fab.harm-dragging{transition:none!important;cursor:grabbing!important;-webkit-user-select:none;user-select:none}.harm-bubble-left{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.harm-bubble-avatar{font-size:3.2em;flex-shrink:0;line-height:1}.harm-bubble-body{flex:1;min-width:0}.harm-bubble-title{font-family:var(--font-body);font-size:14px;font-weight:900;color:var(--clr-ink);margin-bottom:4px;letter-spacing:-.2px}.harm-bubble-text{font-family:var(--font-body);font-size:13px;font-weight:700;color:var(--clr-ink);line-height:1.5;margin-bottom:var(--sp-2);white-space:pre-wrap}.harm-bubble-text-sk{font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--clr-ink-soft);line-height:1.45;margin-top:4px;margin-bottom:var(--sp-2);font-style:italic;white-space:pre-wrap}.harm-bubble-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2)}.harm-bubble-nav{display:flex;align-items:center;gap:4px}.harm-nav-btn,.harm-bubble-resize{background:var(--clr-surface);border:2px solid var(--clr-ink);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-ink);color:var(--clr-ink);cursor:pointer;font-family:var(--font-body);font-weight:900;transition:transform var(--dur-fast) var(--ease);line-height:1}.harm-nav-btn{width:28px;height:26px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}.harm-nav-btn:active:not(:disabled),.harm-bubble-resize:active{transform:translateY(1px);box-shadow:none}.harm-nav-btn:focus-visible,.harm-bubble-resize:focus-visible,.harm-bubble-close:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:3px}.harm-nav-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.harm-nav-counter{font-family:var(--font-body);font-size:11px;font-weight:900;color:var(--clr-ink-soft);min-width:24px;text-align:center}.harm-bubble-actions{display:flex;align-items:center;gap:var(--sp-2)}.harm-disable-link{background:transparent;border:none;font-family:var(--font-body);font-size:11px;font-weight:700;color:var(--clr-ink-soft);cursor:pointer;text-decoration:underline;flex-shrink:0;padding:0}.harm-disable-link:hover{color:var(--clr-ink)}.harm-bubble-close{background:var(--clr-primary);color:var(--clr-on-primary);border:2px solid var(--clr-primary-dark);border-radius:var(--r-pill);box-shadow:var(--shadow-bubble-2);--bubble-border: var(--clr-primary-dark);padding:4px 12px;font-family:var(--font-body);font-size:12px;font-weight:900;letter-spacing:.2px;cursor:pointer;flex-shrink:0;transition:transform var(--dur-fast) var(--ease)}.harm-bubble-close:active{transform:translateY(1px);box-shadow:none}.harm-bubble-resize{width:auto;padding:0 10px;height:26px;font-size:11px}.harm-bubble.harm-bubble-large{max-width:none;width:calc(100vw - 20px);padding:var(--sp-4);gap:var(--sp-4)}.harm-bubble.harm-bubble-large .harm-bubble-title{font-size:18px;margin-bottom:6px}.harm-bubble.harm-bubble-large .harm-bubble-text{font-size:14px;line-height:1.6;margin-bottom:var(--sp-2)}.harm-bubble.harm-bubble-large .harm-bubble-text-sk{font-size:13px;line-height:1.5}.harm-bubble.harm-bubble-large .harm-nav-btn{width:36px;height:32px;font-size:14px}.harm-bubble.harm-bubble-large .harm-nav-counter{font-size:13px}.harm-fab{position:fixed;bottom:16px;right:16px;width:110px;height:110px;border-radius:50%;background:var(--clr-accent-cream-bg);border:3px solid var(--clr-accent-cream-border);box-shadow:var(--shadow-bubble-4);--bubble-border: var(--clr-accent-cream-border);font-size:3.4em;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;z-index:var(--z-tutorial-fab);display:none;align-items:center;justify-content:center;transition:transform var(--dur) var(--ease),top .35s cubic-bezier(.34,1.4,.64,1),bottom .35s cubic-bezier(.34,1.4,.64,1),left .35s cubic-bezier(.34,1.4,.64,1),right .35s cubic-bezier(.34,1.4,.64,1)}.harm-fab.visible{display:flex}.harm-fab:focus-visible{outline:3px solid var(--clr-focus-ring-strong);outline-offset:4px}.harm-fab:active{transform:translateY(2px);box-shadow:var(--shadow-bubble-2)}.harm-fab.is-paused{opacity:.6;filter:saturate(.55)}.harm-trash-zone{position:fixed;bottom:24px;left:50%;transform:translate(-50%);width:76px;height:76px;border-radius:50%;background:var(--clr-accent-coral-bg);border:3px dashed var(--clr-accent-coral-border);display:flex;align-items:center;justify-content:center;font-size:2.2em;z-index:var(--z-tutorial-trash);pointer-events:none;transition:background .18s,border-color .18s,transform .18s}.harm-trash-zone.harm-trash-hover{background:var(--clr-accent-coral-border);border-color:var(--clr-ink);transform:translate(-50%) scale(1.18)}@media(min-width:601px){.harm-welcome-title{font-size:24px}.harm-avatar{font-size:4em}.harm-bubble{bottom:20px;right:24px;max-width:340px;width:calc(100vw - 48px);padding:var(--sp-4)}.harm-bubble.harm-bubble-large{max-width:500px;width:auto;padding:var(--sp-5) var(--sp-5)}.harm-bubble-avatar{font-size:2.2em}.harm-bubble.harm-bubble-large .harm-bubble-avatar{font-size:4em}.harm-fab{bottom:20px;right:24px;width:160px;height:160px;font-size:5em}}
