@layer tokens,base,components,pages,features,overrides;@layer tokens{:root{--palette-emerald-50: #ecfdf5;--palette-emerald-100: #d1fae5;--palette-emerald-200: #a7f3d0;--palette-emerald-600: #059669;--palette-emerald-700: #047857;--palette-emerald-800: #065f46;--palette-emerald-400: #34d399;--palette-emerald-300: #6ee7b7;--palette-slate-50: #f8fafc;--palette-slate-100: #f1f5f9;--palette-slate-200: #e2e8f0;--palette-slate-400: #94a3b8;--palette-slate-500: #64748b;--palette-slate-600: #475569;--palette-slate-700: #334155;--palette-slate-800: #1e293b;--palette-slate-900: #0f172a;--palette-slate-950: #020617;--palette-red-600: #dc2626;--palette-red-700: #b91c1c;--palette-red-800: #991b1b;--palette-red-400: #f87171;--palette-red-300: #fca5a5;--palette-amber-600: #b45309;--palette-amber-800: #92400e;--palette-amber-300: #fcd34d;--palette-amber-200: #fde68a;--palette-amber-100: #fef3c7;--palette-sky-700: #0369a1;--palette-sky-600: #0c4a6e;--palette-sky-400: #38bdf8;--palette-sky-300: #7dd3fc;--palette-sky-100: #f0f9ff;--palette-sky-200: #bae6fd;--palette-indigo-600: #4f46e5;--palette-indigo-800: #3730a3;--palette-indigo-300: #c4b5fd;--palette-indigo-200: #c7d2fe;--palette-indigo-100: #eef2ff;--palette-blue-600: #2563eb;--palette-blue-400: #60a5fa;--palette-teal-700: #0f766e;--palette-teal-500: #14b8a6;--palette-teal-400: #2dd4bf;--palette-white: #ffffff;--palette-black: #000000;--palette-brand-rgb: 4, 120, 87;--space-0: 0;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--size-touch: 2.75rem;--size-touch-sm: 2.25rem;--size-icon: 2.25rem;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 12px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 40px rgba(15, 23, 42, .12);--shadow-chip: 0 1px 2px rgba(0, 0, 0, .12);--shadow-inset-chip: 0 1px 2px rgba(0, 0, 0, .08);--shadow-card-lift: 0 16px 36px rgba(15, 23, 42, .14);--shadow-popover: 0 8px 24px rgba(0, 0, 0, .18);--duration-instant: .1s;--duration-fast: .15s;--duration-base: .2s;--duration-slow: .3s;--ease-standard: ease;--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--motion-fast: var(--duration-fast) var(--ease-standard);--motion-base: var(--duration-base) var(--ease-standard);--font-sans: "Be Vietnam Pro", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--container-billing: 1040px;--breakpoint-sm: 375px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1440px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--focus-ring-width: 3px;--focus-ring-offset: 2px}}@layer tokens{:root{--bg: var(--palette-slate-50);--bg-subtle: var(--palette-emerald-50);--surface: var(--palette-white);--surface-muted: #f0f8f6;--surface-tint: #e8eef8;--surface-raised: var(--palette-white);--overlay: rgba(26, 26, 46, .28);--overlay-22: color-mix(in srgb, rgba(26, 26, 46, 1) 22%, transparent);--fg: var(--palette-slate-900);--fg-muted: var(--palette-slate-600);--fg-subtle: var(--palette-slate-400);--fg-on-emphasis: var(--palette-white);--border: #e1f2ed;--border-strong: var(--palette-slate-200);--border-soft: #e8f5f0;--ring: var(--palette-emerald-600);--brand: var(--palette-emerald-700);--brand-hover: var(--palette-emerald-800);--brand-subtle: var(--palette-emerald-100);--brand-on: var(--palette-white);--brand-rgb: var(--palette-brand-rgb);--secondary: #10b981;--secondary-on: var(--palette-black);--owe: var(--palette-red-600);--owe-subtle: #fee2e2;--owe-border: #fecaca;--owe-strong: var(--palette-red-800);--success: var(--brand);--success-subtle: var(--palette-emerald-50);--success-border: var(--palette-emerald-200);--success-strong: var(--palette-emerald-800);--danger: var(--palette-red-600);--danger-subtle: #fee2e2;--danger-border: #fecaca;--danger-strong: var(--palette-red-800);--warning: var(--palette-amber-600);--warning-subtle: var(--palette-amber-100);--warning-border: var(--palette-amber-200);--warning-strong: var(--palette-amber-800);--info: var(--palette-sky-700);--info-subtle: var(--palette-sky-100);--info-border: var(--palette-sky-200);--info-fg: var(--palette-sky-600);--subtle: #e8ecf4;--subtle-hover: #d5dbe8;--indigo-subtle: var(--palette-indigo-100);--indigo-border: var(--palette-indigo-200);--indigo-fg: var(--palette-indigo-800);--accent-subtle: #e8edff;--chart-grid: #eef1f5;--chart-grid-strong: #d1d5db;--chart-1: var(--palette-blue-600);--chart-2: var(--palette-teal-700);--chart-3: var(--palette-teal-500);--chart-4: var(--brand);--chrome-bg: rgba(15, 23, 42, .96);--chrome-fg: var(--palette-white);--chrome-fg-muted: var(--palette-slate-400);--chrome-fg-subtle: #d2dae6;--chrome-fg-hover: var(--palette-slate-200);--chrome-fg-soft: color-mix(in srgb, var(--chrome-fg) 78%, transparent);--chrome-fg-strong: color-mix(in srgb, var(--chrome-fg) 90%, transparent);--chrome-surface-hover: color-mix(in srgb, var(--chrome-fg) 8%, transparent);--chrome-nav-bg-strong: color-mix(in srgb, var(--chrome-fg) 12%, transparent);--chrome-surface-28: color-mix(in srgb, var(--chrome-fg) 28%, transparent);--chrome-border: rgba(148, 163, 184, .18);--chrome-border-on-bg: color-mix(in srgb, var(--chrome-fg) 22%, transparent);--chrome-shadow: 0 10px 28px rgba(15, 23, 42, .18);--brand-strong: var(--brand-hover);--brand-a-04: rgba(var(--brand-rgb), .04);--brand-a-06: rgba(var(--brand-rgb), .06);--brand-a-08: rgba(var(--brand-rgb), .08);--brand-a-10: rgba(var(--brand-rgb), .1);--brand-a-12: rgba(var(--brand-rgb), .12);--brand-a-15: rgba(var(--brand-rgb), .15);--brand-a-16: rgba(var(--brand-rgb), .16);--brand-a-18: rgba(var(--brand-rgb), .18);--brand-a-20: rgba(var(--brand-rgb), .2);--brand-a-22: rgba(var(--brand-rgb), .22);--brand-a-14: rgba(var(--brand-rgb), .14);--brand-a-24: rgba(var(--brand-rgb), .24);--brand-a-28: rgba(var(--brand-rgb), .28);--brand-a-35: rgba(var(--brand-rgb), .35);--brand-a-38: rgba(var(--brand-rgb), .38);--brand-a-45: rgba(var(--brand-rgb), .45);--brand-a-50: rgba(var(--brand-rgb), .5);--danger-hover-bg: color-mix(in srgb, var(--danger) 18%, transparent);--danger-soft-hover: color-mix(in srgb, var(--danger) 12%, transparent);--danger-a-22: color-mix(in srgb, var(--danger) 22%, transparent);--info-a-10: color-mix(in srgb, var(--info) 10%, transparent);--info-a-14: color-mix(in srgb, var(--info) 14%, transparent);--info-border-a-28: color-mix(in srgb, var(--palette-sky-400) 28%, transparent);--indigo-a-18: color-mix(in srgb, var(--palette-indigo-600) 18%, transparent);--avatar-fallback-bg: rgba(96, 165, 250, .25);--avatar-fallback-bg-soft: rgba(96, 165, 250, .22);--chrome-nav-muted-bg: color-mix(in srgb, var(--chrome-fg) 4%, transparent);--chrome-nav-border-muted: color-mix(in srgb, var(--palette-slate-400) 10%, transparent);--chrome-nav-divider: color-mix(in srgb, var(--palette-slate-400) 35%, transparent);--chrome-nav-inset-highlight: color-mix(in srgb, var(--chrome-fg) 6%, transparent);--chrome-mobile-sheet-bg: color-mix(in srgb, var(--palette-slate-900) 98%, transparent);--chrome-mobile-sheet-shadow: 0 12px 24px color-mix(in srgb, var(--palette-slate-900) 20%, transparent);--chrome-icon-border: color-mix(in srgb, var(--chrome-fg) 18%, transparent);--chrome-icon-border-hover: color-mix(in srgb, var(--chrome-fg) 30%, transparent);--chrome-icon-bg: color-mix(in srgb, var(--chrome-fg) 6%, transparent);--chrome-icon-bg-hover: color-mix(in srgb, var(--chrome-fg) 10%, transparent);--chrome-icon-bg-active: color-mix(in srgb, var(--chrome-fg) 14%, transparent);--chrome-menu-divider: color-mix(in srgb, var(--chrome-fg) 8%, transparent);--chrome-brand-inset-ring: color-mix(in srgb, var(--palette-emerald-300) 25%, transparent);--chrome-brand-active-ring: color-mix(in srgb, var(--palette-emerald-300) 45%, transparent);--chrome-nav-active-bg: var(--brand-a-38);--chrome-nav-link-active-bg: var(--brand-a-22);--overlay-modal: color-mix(in srgb, var(--palette-slate-900) 45%, transparent);--overlay-stats: color-mix(in srgb, var(--palette-slate-900) 58%, transparent);--lang-on-light-border: color-mix(in srgb, var(--palette-slate-900) 18%, transparent);--lang-on-light-hover-bg: color-mix(in srgb, var(--palette-slate-900) 6%, transparent);--login-hero-glow: var(--brand-a-35);--login-hero-accent: rgba(114, 9, 183, .3);--login-hero-fg-muted: color-mix(in srgb, var(--chrome-fg) 72%, transparent);--login-card-shadow: 0 24px 60px color-mix(in srgb, var(--palette-slate-900) 35%, transparent);--login-panel-shadow: 0 24px 60px color-mix(in srgb, var(--palette-slate-900) 28%, transparent);--login-gold-glow: rgba(255, 214, 10, .3);--warning-surface: color-mix(in srgb, var(--warning) 12%, transparent);--warning-border-muted: color-mix(in srgb, #f59e0b 35%, transparent);--warning-surface-soft: color-mix(in srgb, #fbbf24 14%, transparent);--overlay-scrim: color-mix(in srgb, var(--palette-slate-900) 55%, transparent);--background: var(--bg);--foreground: var(--fg);--card: var(--surface);--card-foreground: var(--fg);--muted: var(--surface-muted);--muted-foreground: var(--fg-muted);--destructive: var(--danger);--on-destructive: var(--palette-white);--primary: var(--brand);--on-primary: var(--brand-on);--accent: var(--owe);--on-accent: var(--palette-white)}}@layer tokens{:root{--btn-primary-bg: var(--brand);--btn-primary-bg-hover: var(--brand-hover);--btn-primary-fg: var(--brand-on);--btn-danger-bg: var(--danger);--btn-danger-fg: var(--palette-white);--header-bg: var(--chrome-bg);--header-fg: var(--chrome-fg);--header-border: var(--chrome-border);--header-shadow: var(--chrome-shadow);--card-bg: var(--surface);--card-border: var(--border-soft);--card-shadow: var(--shadow-sm);--input-bg: var(--surface);--input-border: var(--border);--input-fg: var(--fg);--focus-outline: var(--focus-ring-width) solid rgba(var(--brand-rgb), .32);--pay-top-bar-bg: var(--header-bg);--pay-top-bar-border: var(--header-border);--pay-top-bar-shadow: var(--header-shadow);--pay-top-bar-fg: var(--chrome-fg)}}@layer tokens{:root{--color-game-pink: #ec4899;--color-game-pink-soft: #fce7f3;--color-game-pink-border: #f9a8d4;--color-game-pink-text: #be123c;--color-game-purple-soft: #ede9fe;--color-game-purple-text: #6b21a8;--color-game-magenta: #db2777;--color-game-rose: #fda4af;--color-game-amber: #fbbf24;--color-game-code-bg: #0b1220;--color-game-code-panel: #172033;--color-game-code-surface: #273449;--color-game-code-error-bg: #450a0a;--color-game-code-error-text: #fdba74;--color-game-code-error-deep: #431407;--color-game-code-success-bg: #052e16;--color-game-code-success-text: #86efac;--color-game-indigo: #6366f1;--color-game-indigo-deep: #4338ca;--color-game-teal: #0d9488;--color-game-warm-bg: #fffbf5;--color-game-warm-bg-alt: #fff7ed;--color-game-warm-bg-soft: #fffbeb;--color-game-lavender: #d8b4fe;--color-game-fuchsia: #d946ef;--color-game-magenta-dark: #9d174d;--color-game-magenta-deep: #9f1239;--color-game-cyan: #38bdf8;--color-game-mint: #5eead4;--color-game-violet: #a78bfa;--color-game-red: #ef4444;--color-game-pink-light: #f9a8d4;--color-game-lilac: #fae8ff;--color-game-rose-bg: #fff1f2;--color-game-rose-soft: #ffe4e6;--color-game-fuchsia-text: #a21caf;--color-game-purple-deep: #2a2540;--color-game-pink-pale: #f9a8d4;--color-game-surface-tint: #e8eef8}[data-theme=dark]{--color-game-pink: #f472b6;--color-game-pink-soft: rgba(244, 114, 182, .14);--color-game-code-bg: var(--bg);--color-game-code-panel: var(--bg-subtle);--color-game-code-surface: var(--surface-muted);--color-game-warm-bg: var(--surface-muted);--color-game-warm-bg-alt: var(--surface-muted);--color-game-warm-bg-soft: var(--surface-muted);--color-game-rose-bg: var(--surface-muted);--color-game-purple-deep: var(--bg-subtle);--color-game-surface-tint: var(--surface-muted)}}@layer tokens{:root{--pwa-bottom-nav-height: 3.65rem;--pwa-shell-chrome: var(--palette-slate-900);--pwa-nav-bg: color-mix(in srgb, var(--palette-slate-900) 97%, transparent);--pwa-nav-border: color-mix(in srgb, var(--palette-slate-400) 20%, transparent);--pwa-nav-shadow: 0 -8px 24px color-mix(in srgb, var(--palette-slate-900) 35%, transparent);--pwa-nav-active-fg: var(--palette-emerald-300);--pwa-nav-active-bg: color-mix(in srgb, var(--palette-emerald-500) 12%, transparent)}}@layer tokens{:root{--color-primary: var(--brand);--color-primary-hover: var(--brand-hover);--color-primary-soft: var(--brand-subtle);--color-primary-rgb: var(--brand-rgb);--color-secondary: var(--secondary);--color-accent: var(--owe);--color-bg: var(--bg);--color-bg-soft: var(--bg-subtle);--color-surface: var(--surface);--color-surface-muted: var(--surface-muted);--color-border: var(--border);--color-border-soft: var(--border-soft);--color-text: var(--fg);--color-muted: var(--fg-muted);--color-success: var(--success);--color-success-soft: var(--success-subtle);--color-danger: var(--danger);--color-danger-soft: var(--danger-subtle);--color-ring: var(--ring);--color-on-primary: var(--brand-on);--color-subtle: var(--subtle);--color-subtle-hover: var(--subtle-hover);--color-warning: var(--warning);--color-warning-soft: var(--warning-subtle);--color-warning-border: var(--warning-border);--color-warning-strong: var(--warning-strong);--color-info: var(--info);--color-info-soft: var(--info-subtle);--color-info-border: var(--info-border);--color-info-text: var(--info-fg);--color-success-strong: var(--success-strong);--color-success-border: var(--success-border);--color-danger-strong: var(--danger-strong);--color-danger-border: var(--danger-border);--color-indigo-soft: var(--indigo-subtle);--color-indigo-border: var(--indigo-border);--color-indigo-text: var(--indigo-fg);--color-accent-soft: var(--accent-subtle);--color-chart-grid: var(--chart-grid);--color-chart-grid-strong: var(--chart-grid-strong);--color-chart-bills: var(--chart-1);--color-chart-amount: var(--chart-2);--color-chart-bar: var(--chart-3);--color-header-text: var(--chrome-fg);--color-header-muted: var(--chrome-fg-muted);--color-header-subtle: var(--chrome-fg-subtle);--color-header-hover: var(--chrome-fg-hover);--color-overlay: var(--overlay);--color-background: var(--background);--color-foreground: var(--foreground);--color-card: var(--card);--color-card-foreground: var(--card-foreground);--color-muted-foreground: var(--muted-foreground);--color-destructive: var(--destructive);--color-on-destructive: var(--on-destructive);--color-on-secondary: var(--secondary-on);--color-on-accent: var(--on-accent)}}@layer tokens{[data-theme=dark]{color-scheme:dark;--palette-brand-rgb: 52, 211, 153;--bg: var(--palette-slate-900);--bg-subtle: #162032;--surface: var(--palette-slate-800);--surface-muted: var(--palette-slate-700);--surface-tint: var(--surface-muted);--surface-raised: var(--palette-slate-800);--overlay: rgba(0, 0, 0, .45);--fg: var(--palette-slate-100);--fg-muted: var(--palette-slate-400);--fg-subtle: var(--palette-slate-500);--border: var(--palette-slate-500);--border-strong: var(--palette-slate-600);--border-soft: var(--palette-slate-600);--ring: var(--palette-emerald-400);--brand: var(--palette-emerald-400);--brand-hover: var(--palette-emerald-300);--brand-subtle: rgba(52, 211, 153, .16);--brand-on: var(--palette-slate-900);--brand-rgb: var(--palette-brand-rgb);--secondary: #10b981;--owe: var(--palette-red-400);--owe-subtle: rgba(248, 113, 113, .14);--owe-border: var(--palette-red-400);--owe-strong: var(--palette-red-300);--success: var(--palette-emerald-400);--success-subtle: rgba(52, 211, 153, .12);--success-border: var(--palette-emerald-400);--success-strong: var(--palette-emerald-200);--danger: var(--palette-red-400);--danger-subtle: rgba(248, 113, 113, .14);--danger-border: var(--palette-red-400);--danger-strong: var(--palette-red-300);--warning: var(--palette-amber-300);--warning-subtle: rgba(251, 191, 36, .12);--warning-border: #fbbf24;--warning-strong: #fde68a;--info: var(--palette-sky-300);--info-subtle: rgba(56, 189, 248, .1);--info-border: var(--palette-sky-400);--info-fg: var(--palette-sky-300);--subtle: var(--palette-slate-700);--subtle-hover: var(--palette-slate-600);--indigo-subtle: rgba(129, 140, 248, .18);--indigo-border: #818cf8;--indigo-fg: var(--palette-indigo-300);--accent-subtle: rgba(129, 140, 248, .14);--chart-grid: var(--palette-slate-700);--chart-grid-strong: var(--palette-slate-600);--chart-1: var(--palette-blue-400);--chart-2: var(--palette-emerald-400);--chart-3: var(--palette-teal-400);--chart-4: var(--brand);--chrome-fg: #f8fafc;--chrome-fg-muted: var(--palette-slate-400);--chrome-fg-subtle: #cbd5e1;--chrome-fg-hover: var(--palette-slate-200);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 12px 30px rgba(0, 0, 0, .4)}}@layer tokens{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);background:linear-gradient(180deg,var(--bg-subtle) 0,var(--bg) 18rem),var(--bg);color:var(--fg);line-height:var(--leading-normal);-webkit-tap-highlight-color:var(--brand-a-14)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}img{max-width:100%}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-ring-offset)}.app{min-height:100dvh}.header{position:sticky;top:0;z-index:60;background:var(--header-bg);color:var(--chrome-fg);padding:0 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));border-bottom:1px solid var(--header-border);box-shadow:var(--header-shadow);-webkit-backdrop-filter:saturate(145%) blur(12px);backdrop-filter:saturate(145%) blur(12px)}@media(min-width:900px){.header-desktop-nav--billing,.header-desktop-nav--extras{display:flex}.header-desktop-nav--extras{margin-left:auto}.header-actions{margin-left:0}.header-menu-toggle{display:none}}body.nav-open,body.notifications-open,body.user-menu-open{overflow:hidden}.header-inner{max-width:1040px;margin:0 auto;display:flex;align-items:center;gap:.75rem;padding:.5rem 0;min-height:50px}.header-brand{flex-shrink:0;min-width:0}.logo{margin:0;font-size:1.02rem;font-weight:700;letter-spacing:-.01em;white-space:nowrap;text-decoration:none;color:var(--chrome-fg);transition:opacity var(--motion-fast)}.logo--brand-horse{display:inline-flex;align-items:center;justify-content:center;min-width:var(--size-touch-sm);min-height:var(--size-touch-sm);padding:.15rem;border-radius:var(--radius-sm)}.logo--brand-horse:hover{opacity:1;background:var(--chrome-surface-hover)}.logo-horse-icon{display:block;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35));transition:transform var(--motion-fast)}.logo--brand-horse:hover .logo-horse-icon{transform:scale(1.06)}.logo-accent{color:var(--success-border);font-weight:600}.header-desktop-nav{display:none;align-items:center;gap:.12rem;padding:.2rem;border-radius:11px;border:1px solid var(--chrome-nav-border-muted);flex-shrink:0}.header-desktop-nav--billing{margin-left:.15rem;background:var(--chrome-surface-hover);box-shadow:inset 0 1px 0 var(--chrome-icon-bg)}.header-desktop-nav--extras{background:var(--chrome-nav-muted-bg);border-color:var(--chrome-nav-border-muted)}.desktop-nav-link{text-decoration:none;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;color:var(--chrome-fg-subtle);padding:.42rem .88rem;border-radius:var(--radius-sm);font-size:.86rem;min-height:var(--size-touch-sm);transition:color var(--motion-fast),background var(--motion-fast),box-shadow var(--motion-fast)}.desktop-nav-link:hover{color:var(--chrome-fg);background:var(--chrome-surface-hover)}.desktop-nav-link.active{color:var(--chrome-fg);background:var(--brand-a-38);box-shadow:inset 0 0 0 1px var(--chrome-brand-inset-ring)}.desktop-nav-link--muted{color:var(--chrome-fg-muted);font-size:.82rem;padding:.38rem .72rem;min-height:34px}.desktop-nav-link--muted:hover{color:var(--chrome-fg)}.desktop-nav-link--muted.active{color:var(--chrome-fg);background:var(--chrome-nav-bg-strong, var(--chrome-icon-bg-active));box-shadow:none}.header-mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:.55rem 1rem .85rem;background:var(--chrome-mobile-sheet-bg);border-bottom:1px solid var(--chrome-border);box-shadow:var(--chrome-mobile-sheet-shadow)}.header-mobile-nav--open{display:block}.header-mobile-nav-section{display:flex;flex-direction:column;gap:.15rem}.header-mobile-nav-section+.header-mobile-nav-section{margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--chrome-nav-border-muted)}.header-mobile-nav-label{margin:0 0 .15rem;padding:0 .65rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--chrome-fg-muted)}.header-mobile-nav-link{color:var(--chrome-fg-subtle);text-decoration:none;padding:.55rem .65rem;border-radius:var(--radius-sm);font-size:.92rem;font-weight:500;min-height:var(--size-touch);display:inline-flex;align-items:center;transition:color var(--motion-fast),background var(--motion-fast)}.header-mobile-nav-link:hover{color:var(--chrome-fg);background:var(--chrome-surface-hover)}.header-mobile-nav-link.active{color:var(--chrome-fg);background:var(--brand-a-22)}.header-mobile-nav-lang{align-items:flex-start}.header-mobile-nav-lang .lang-switcher{margin-left:.65rem}.nav{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0}.nav-group{display:flex;align-items:center;gap:.15rem}.nav-divider{width:1px;height:20px;background:var(--chrome-nav-divider);margin:0 .35rem;flex-shrink:0}.nav-link{color:var(--chrome-fg-subtle);text-decoration:none;padding:.38rem .62rem;border-radius:var(--radius-sm);font-size:.84rem;font-weight:500;min-height:var(--size-touch-sm);display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;position:relative;transition:color var(--motion-fast),background var(--motion-fast)}.nav-link:hover{color:var(--chrome-fg);background:var(--chrome-surface-hover)}.nav-link.active{color:var(--chrome-fg);background:var(--brand-a-22)}.nav-link.active:after{content:"";position:absolute;bottom:2px;left:.62rem;right:.62rem;height:2px;border-radius:2px;background:var(--chart-1)}.header-actions{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-shrink:0}.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--size-icon);height:var(--size-icon);border:1px solid var(--chrome-icon-border);border-radius:999px;background:var(--chrome-icon-bg);color:inherit;cursor:pointer;padding:0;flex-shrink:0;transition:background var(--motion-fast),border-color var(--motion-fast)}.header-icon-btn:hover{background:var(--chrome-icon-bg-hover);border-color:var(--chrome-icon-border-hover)}.header-icon-btn:active{background:var(--chrome-icon-bg-active)}.theme-toggle-btn{color:var(--chrome-fg-subtle)}.theme-preference-menu{display:flex;flex-direction:column;gap:.45rem;padding:.35rem .45rem .55rem;border-bottom:1px solid var(--chrome-surface-hover)}.theme-preference-label,.header-mobile-nav-theme .theme-preference-label{font-size:.8rem;color:var(--chrome-fg-muted)}.theme-preference-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.theme-preference-options--dual{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-preference-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:var(--size-touch);padding:.35rem .25rem;border:1px solid var(--chrome-nav-bg-strong, var(--chrome-icon-bg-active));border-radius:var(--radius-md);background:var(--chrome-nav-muted-bg);color:var(--chrome-fg-subtle);font-size:.72rem;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.theme-preference-btn:hover{background:var(--chrome-surface-hover);border-color:var(--chrome-border-on-bg)}.theme-preference-btn.active{color:var(--chrome-fg);border-color:var(--chrome-brand-active-ring);background:var(--brand-a-22)}.header-mobile-nav-theme .theme-preference-menu{border-bottom:none;padding:0}.header-menu-toggle{display:inline-flex}.header-user-menu,.header-notifications{position:relative}.header-notifications-backdrop{display:none;z-index:0}.header-notifications-trigger{position:relative;width:var(--size-icon);height:var(--size-icon)}.header-notifications-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger);color:var(--chrome-fg);font-size:.68rem;font-weight:700;line-height:18px;text-align:center}.header-notifications-panel{position:static}.header-notifications-panel--overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;isolation:isolate}.header-notifications-panel--floating{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none}.header-notifications-panel--floating .header-notifications-dropdown{pointer-events:auto}.header-notifications-dropdown{position:fixed;top:auto;bottom:auto;left:auto;right:max(.75rem,env(safe-area-inset-right));width:min(360px,calc(100vw - 1.5rem));max-height:min(62dvh,480px);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-md);z-index:2}.header-notifications-head-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.header-notifications-close{display:none;align-items:center;justify-content:center;width:var(--size-icon);height:var(--size-icon);border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);color:var(--fg);cursor:pointer;flex-shrink:0}.header-notifications-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border-soft);flex-shrink:0}.header-notifications-title{margin:0;font-size:.95rem;font-weight:600;min-width:0;flex:1;color:var(--fg)}.header-notifications-read-all{border:none;background:transparent;color:var(--info);font-size:.8rem;cursor:pointer;padding:.35rem 0;flex-shrink:0;min-height:var(--size-touch);display:inline-flex;align-items:center}.header-notifications-read-all:hover{color:var(--brand-hover)}.header-notifications-list{flex:1;min-height:0;overflow-y:auto;max-height:340px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.header-notifications-panel--overlay .header-notifications-list{max-height:none}.header-notifications-empty{margin:0;padding:1.25rem 1rem;color:var(--fg-muted);font-size:.88rem;text-align:center}.header-notifications-item{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;min-height:var(--size-touch);padding:.85rem 1rem;border:none;border-bottom:1px solid var(--border-soft);background:transparent;color:var(--fg);text-align:left;cursor:pointer}.header-notifications-item:last-child{border-bottom:none}.header-notifications-item:hover{background:var(--surface-muted)}.header-notifications-item:active{background:var(--subtle)}.header-notifications-item.unread{background:var(--info-subtle)}.header-notifications-item-title{font-size:.88rem;font-weight:600;line-height:1.35;color:var(--fg)}.header-notifications-item.unread .header-notifications-item-title:before{content:"● ";color:var(--chart-1)}.header-notifications-item.is-read .header-notifications-item-title{color:var(--fg-muted)}.header-notifications-item-body{font-size:.82rem;color:var(--fg-muted);line-height:1.45;overflow-wrap:anywhere}.header-notifications-item.is-read .header-notifications-item-body{color:var(--fg-muted)}.header-notifications-item-time{font-size:.72rem;color:var(--fg-muted)}@media(prefers-reduced-motion:no-preference){.header-notifications-panel--overlay .header-notifications-dropdown{animation:header-notifications-drop-in .18s ease-out}}@keyframes header-notifications-drop-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.header-user-trigger{position:relative;width:var(--size-icon);height:var(--size-icon);padding:0;overflow:hidden}.header-user-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;flex-shrink:0}.header-user-avatar--fallback{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--avatar-fallback-bg);color:var(--indigo-fg);font-size:.8rem;font-weight:700}.header-user-backdrop{display:none;z-index:0}.header-user-panel--overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;isolation:isolate}.header-user-panel--floating{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;pointer-events:none}.header-user-panel--floating .header-user-dropdown{pointer-events:auto}.header-user-dropdown{position:fixed;top:auto;bottom:auto;left:auto;right:max(.75rem,env(safe-area-inset-right));width:min(280px,calc(100vw - 1.5rem));overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-md);z-index:2}.header-user-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid var(--border-soft)}.header-user-identity{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.header-user-dropdown-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.header-user-dropdown-avatar--fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--avatar-fallback-bg-soft);color:var(--indigo-fg);font-size:.95rem;font-weight:700}.header-user-dropdown-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.header-user-dropdown-name{font-size:.9rem;font-weight:600;color:var(--fg);line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-dropdown-email{font-size:.76rem;color:var(--fg-muted);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-user-dropdown-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.2rem}.header-user-dropdown-meta-item{font-size:.7rem;font-weight:600;color:var(--info)}.header-user-dropdown-meta-item--warn{color:var(--warning)}.header-user-close{display:none;align-items:center;justify-content:center;width:var(--size-icon);height:var(--size-icon);border:1px solid var(--border);border-radius:999px;background:var(--surface-muted);color:var(--fg);cursor:pointer;flex-shrink:0}.header-user-list{padding:.35rem}.header-user-item{display:flex;align-items:center;gap:.65rem;width:100%;min-height:var(--size-touch);padding:.6rem .75rem;border:0;border-radius:var(--radius-md);background:transparent;color:var(--fg);font-size:var(--text-sm);font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background var(--motion-fast)}.header-user-item svg{flex-shrink:0;color:var(--fg-muted)}.header-user-item:hover{background:var(--surface-muted)}.header-user-item:focus-visible{outline:2px solid var(--info);outline-offset:-2px}.header-user-footer{padding:.35rem .35rem .45rem;border-top:1px solid var(--border-soft)}.header-user-lang{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--size-touch);padding:.45rem .75rem .35rem}.header-user-lang-label{font-size:.8rem;color:var(--fg-muted)}.header-user-item--danger{color:var(--danger-strong)}.header-user-item--danger svg{color:var(--danger)}.header-user-item--danger:hover{background:var(--danger-soft-hover)}.lang-switcher{display:inline-flex;align-items:center;border:1px solid var(--chrome-border-on-bg);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.lang-switcher--menu{border-radius:var(--radius-sm)}.lang-switcher--menu .lang-btn{min-width:34px;min-height:30px;padding:.35rem .5rem}.lang-btn{border:0;background:transparent;color:var(--chrome-fg-muted);padding:.28rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;cursor:pointer;line-height:1;transition:color var(--motion-fast),background var(--motion-fast)}.lang-btn:hover{color:var(--chrome-fg);background:var(--chrome-surface-hover)}.lang-btn.active{color:var(--fg);background:var(--surface-tint)}.login-top-bar,.pay-lang-bar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.login-top-bar .lang-switcher,.pay-lang-bar .lang-switcher{border-color:var(--lang-on-light-border)}.login-top-bar .lang-btn,.pay-lang-bar .lang-btn{color:var(--fg-muted)}.login-top-bar .lang-btn:hover,.pay-lang-bar .lang-btn:hover{color:var(--fg);background:var(--lang-on-light-hover-bg)}.login-top-bar .lang-btn.active,.pay-lang-bar .lang-btn.active{color:var(--chrome-fg);background:var(--fg)}.header-user-dropdown .theme-preference-menu{border-bottom-color:var(--border-soft)}.header-user-dropdown .theme-preference-btn{border-color:var(--border);background:var(--surface-muted);color:var(--fg-muted)}.header-user-dropdown .theme-preference-btn:hover{background:var(--subtle);border-color:var(--border);color:var(--fg)}.header-user-dropdown .theme-preference-btn.active{color:var(--success-strong);border-color:var(--brand);background:var(--brand-subtle)}.header-user-dropdown .lang-switcher{border-color:var(--border)}.header-user-dropdown .lang-switcher--menu .lang-btn,.header-user-dropdown .lang-btn{color:var(--fg-muted)}.header-user-dropdown .lang-switcher--menu .lang-btn:hover,.header-user-dropdown .lang-btn:hover{color:var(--fg);background:var(--surface-muted)}.header-user-dropdown .lang-switcher--menu .lang-btn.active,.header-user-dropdown .lang-btn.active{color:var(--fg);background:var(--brand-subtle)}}@layer components{.profile-page .page-header{margin-bottom:0}.profile-page .subtitle{margin-bottom:1.25rem}.profile-hero{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:1rem;background:linear-gradient(135deg,var(--surface) 0%,var(--bg-subtle) 55%,var(--brand-subtle) 100%);border-color:var(--brand-subtle)}.profile-hero-main{display:flex;align-items:center;gap:var(--space-md)}.profile-hero-avatar{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);box-shadow:0 8px 20px var(--brand-a-14);flex-shrink:0}.profile-hero-avatar--fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-subtle);color:var(--brand);font-size:1.5rem;font-weight:700}.profile-hero-info{min-width:0}.profile-hero-name{margin:0;font-size:1.2rem;font-weight:700;color:var(--fg);line-height:1.3}.profile-hero-email{margin:.2rem 0 0;font-size:.9rem;color:var(--fg-muted);word-break:break-all}.profile-hero-code{margin:.25rem 0 0;font-size:.82rem;color:var(--fg-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.profile-hero-badges{display:flex;flex-wrap:wrap;gap:.45rem}.profile-hero-badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--surface-muted);color:var(--fg-muted)}.profile-hero-badge--admin{background:var(--brand-subtle);color:var(--brand)}.profile-hero-badge--success{background:var(--success-subtle);color:var(--success)}.profile-hero-badge--warn{background:var(--warning-subtle);color:var(--warning)}.profile-hero-badge--info{background:var(--info-subtle);color:var(--info)}.profile-sections{display:flex;flex-direction:column;gap:var(--space-md)}.profile-section{margin-bottom:0}.profile-section-header{display:grid;grid-template-columns:auto 1fr;gap:.75rem 1rem;align-items:start;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-soft)}.profile-section-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--brand-subtle);color:var(--brand)}.profile-section-heading{min-width:0}.profile-section-title{margin:0;font-size:1.05rem;line-height:1.35}.profile-section-desc{margin:.35rem 0 0;font-size:.85rem;color:var(--fg-muted);line-height:var(--leading-normal)}.profile-section-status{grid-column:1 / -1}.profile-section-body .field:last-of-type{margin-bottom:0}.profile-status-pill{display:block;width:100%;padding:.65rem .8rem;border-radius:var(--radius-md);font-size:.82rem;line-height:1.45}.profile-status-pill--success{background:var(--success-subtle);color:var(--success-strong)}.profile-status-pill--warn{background:var(--warning-subtle);color:var(--warning-strong)}.profile-status-pill--danger{background:var(--danger-subtle);color:var(--danger-strong)}.profile-status-pill--muted{background:var(--surface-muted);color:var(--fg-muted)}.profile-card{max-width:520px;margin-bottom:1rem}.profile-section-title{margin:0 0 .75rem;font-size:1.05rem}.profile-card+.profile-card{margin-top:0}.bank-setup-card .field-hint{margin-bottom:1rem}.profile-meta{display:flex;align-items:center;gap:.85rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-soft)}.profile-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover}.profile-email{margin:0;font-weight:600;font-size:.95rem}.profile-code{margin:.15rem 0 0;font-size:.85rem;color:var(--fg-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bank-setup-status{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border-soft)}.bank-preview{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem;padding:.75rem .9rem;background:var(--surface-muted);border-radius:var(--radius-md)}.bank-preview-logo{width:44px;height:44px;object-fit:contain;background:var(--surface);border-radius:var(--radius-sm);padding:4px;border:1px solid var(--border-soft)}.checkbox-field{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem;font-weight:600;color:var(--fg)}.checkbox-field input{width:1rem;height:1rem}.admin-toolbar,.admin-create-card{margin-bottom:1rem}.admin-section-title{margin:0 0 .35rem;font-size:1.1rem}.admin-create-card .field-hint{margin-bottom:1rem}.admin-create-form{display:grid;grid-template-columns:1.2fr 1.4fr .8fr auto;gap:.75rem 1rem;align-items:end}.admin-create-form .field{margin-bottom:0}.admin-create-form input,.admin-create-form select,.admin-toolbar input{box-sizing:border-box;height:2.75rem}.admin-create-actions{display:flex;align-items:flex-end;padding-bottom:.1rem}.admin-users-card{padding:0;overflow:hidden}.admin-users-table-wrap{overflow-x:auto}.admin-users-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-users-table th,.admin-users-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:middle}.admin-users-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-muted);background:var(--surface-muted)}.admin-empty{text-align:center;color:var(--fg-muted);padding:1.5rem!important}.admin-user-cell{display:flex;align-items:center;gap:.7rem;min-width:200px}.admin-user-avatar{width:var(--size-icon);height:var(--size-icon);border-radius:50%;object-fit:cover;flex-shrink:0}.admin-user-avatar.placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-subtle);color:var(--brand);font-weight:700;font-size:.85rem}.admin-user-email{font-size:.8rem;color:var(--fg-muted);margin-top:.1rem}.admin-name-input{min-width:160px;padding:.4rem .6rem;font-size:.9rem}.role-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.role-badge.is-admin{background:var(--indigo-subtle);color:var(--indigo-fg)}.role-badge.is-user{background:var(--surface-muted);color:var(--fg-muted)}.role-default{margin-left:.4rem;font-size:.72rem;color:var(--fg-muted)}.admin-row-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}.admin-row-actions .btn-secondary,.admin-row-actions .btn-mark-paid,.admin-row-actions .btn-delete-bill{padding:.3rem .65rem;font-size:.78rem}.users-bank-name{font-size:.85rem;color:var(--fg)}.users-bank-missing{font-size:.82rem;color:var(--fg-muted)}.users-page .subtitle{margin-bottom:1rem}.users-directory{padding:0;overflow:hidden}.users-list{list-style:none;margin:0;padding:0}.users-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid var(--border-soft)}.users-item:last-child{border-bottom:none}.users-item-main{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1}.users-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;object-fit:cover}.users-avatar--placeholder{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-subtle);color:var(--brand);font-size:.95rem;font-weight:700}.users-identity{min-width:0}.users-name{margin:0;font-weight:600;font-size:.95rem;line-height:1.3;overflow-wrap:anywhere}.users-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.15rem;font-size:.8rem;color:var(--fg-muted)}.users-email{overflow-wrap:anywhere}.users-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;padding:.12rem .42rem;border-radius:var(--radius-xs);background:var(--surface-muted);color:var(--fg-muted);white-space:nowrap}.users-item-side{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.users-bank-badge{font-size:.72rem;font-weight:600;padding:.22rem .55rem;border-radius:999px;max-width:7.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.users-bank-badge.is-ready{background:var(--success-subtle);color:var(--success)}.users-bank-badge.is-missing{background:var(--surface-muted);color:var(--fg-muted)}.users-qr-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--brand);cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.users-qr-btn:hover{background:var(--brand-subtle);border-color:var(--indigo-border)}.users-qr-spacer{width:40px;min-width:40px;flex-shrink:0}.users-empty{margin:0;text-align:center;padding:2.5rem 1rem;color:var(--fg-muted);font-size:.9rem}.btn-logout{border:1px solid var(--chrome-icon-border);background:transparent;color:var(--fg-muted);border-radius:var(--radius-sm);padding:.35rem .7rem;cursor:pointer;font-size:.8rem;min-height:34px;transition:color var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast)}.btn-logout:hover{color:var(--brand-on);border-color:var(--chrome-icon-border-hover);background:var(--chrome-surface-hover)}}@layer pages{.login-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(circle at 15% 15%,var(--login-hero-glow),transparent 45%),radial-gradient(circle at 85% 80%,var(--login-hero-accent),transparent 50%),var(--bg)}.login-layout{width:100%;max-width:460px;display:flex;flex-direction:column;gap:1.25rem}.login-hero{text-align:center;color:var(--brand-on);padding:0 .5rem}.login-hero-kicker{margin:0 0 .65rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--login-hero-fg-muted)}.login-slogan{margin:0;min-height:3.6rem;font-size:clamp(1.05rem,4vw,1.28rem);font-weight:600;line-height:1.45;animation:login-slogan-in .55s ease}@keyframes login-slogan-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-slogan-dots{display:flex;justify-content:center;gap:.4rem;margin-top:.85rem}.login-slogan-dot{width:6px;height:6px;border-radius:50%;background:var(--chrome-surface-28);transition:transform .2s ease,background .2s ease}.login-slogan-dot.is-active{background:var(--surface);transform:scale(1.2)}.login-card{width:100%;max-width:none;background:var(--surface);border-radius:var(--radius-xl);padding:2.25rem 2rem;box-shadow:var(--login-card-shadow)}.login-brand{display:flex;align-items:center;gap:.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-soft)}.login-brand-mark{width:46px;height:46px;flex-shrink:0;border-radius:var(--radius-lg);background:linear-gradient(145deg,var(--bg-subtle),var(--surface));border:1px solid var(--border-soft);box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;overflow:hidden}.login-brand-mark svg{display:block}.login-brand-name{margin:0;font-weight:700;font-size:var(--text-base)}.login-brand-tag{margin:0;font-size:.82rem;color:var(--fg-muted)}.login-title{margin:1.5rem 0 .35rem;font-size:1.6rem}.login-subtitle{margin:0 0 1.25rem;color:var(--fg-muted);font-size:.92rem}.login-top-bar{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-bottom:1rem}.cli-login-code-block{margin:0 0 1.25rem;padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border-soft)}.cli-login-code-label{margin:0 0 .35rem;font-size:.82rem;font-weight:600;color:var(--fg-muted)}.cli-login-code-value{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.35rem;font-weight:700;letter-spacing:.12em;color:var(--fg)}.cli-login-code-hint{margin:.5rem 0 0;font-size:.82rem;color:var(--fg-muted);line-height:1.45}.cli-login-code-hint code{font-size:.8rem;padding:.1rem .35rem;border-radius:4px;background:var(--subtle);color:var(--fg)}.login-features{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.login-features li{position:relative;padding-left:1.6rem;font-size:.88rem;color:var(--fg)}.login-features li:before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:50%;background:var(--accent-subtle);color:var(--brand);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.login-action{margin-top:1.75rem;min-height:var(--size-touch)}.login-google-wrap{display:flex;justify-content:center}.login-google-disabled{width:300px;min-height:40px}.login-status{margin:.75rem 0 0;text-align:center;font-size:.85rem;color:var(--fg-muted)}.login-message{margin:.75rem 0 0;font-size:.85rem}.login-footnote{margin:1.5rem 0 0;padding-top:1.25rem;border-top:1px solid var(--border-soft);text-align:center;font-size:.78rem;color:var(--fg-muted)}.field-hint{margin:0;font-size:.85rem;color:var(--fg-muted);font-weight:400}.shipping-share-preview{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem;color:var(--fg-muted)}.shipping-row td{color:var(--fg-muted);font-style:italic}.person-pay-ship{font-weight:500;color:var(--fg-muted);font-size:.8rem}.input-readonly{background:var(--surface-muted);color:var(--fg-muted);cursor:default}.person-tag-input{position:relative;min-width:0}.person-tag-chip{display:flex;align-items:center;justify-content:space-between;gap:.35rem;margin-top:.35rem;padding:.35rem .5rem;background:var(--brand-subtle);color:var(--brand-hover);border-radius:var(--radius-xs);font-size:.78rem}.person-tag-chip.is-external{background:var(--subtle);color:var(--fg-muted)}.person-tag-chip.is-open{background:var(--success-subtle);color:var(--success)}.person-tag-chip button{border:none;background:transparent;color:inherit;cursor:pointer;font-size:var(--text-base);line-height:1;padding:0}.person-tag-results{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:.25rem;list-style:none;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);max-height:220px;overflow:auto}.person-tag-results button{width:100%;border:none;background:transparent;color:var(--fg);text-align:left;padding:.55rem .6rem;border-radius:var(--radius-xs);cursor:pointer;display:flex;flex-direction:column;gap:.1rem}.person-tag-results button:hover{background:var(--surface-muted)}.person-tag-results strong{font-size:.9rem}.person-tag-results span{font-size:.78rem;color:var(--fg-muted)}.person-tag-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.person-tag-hint{padding:.55rem .6rem;font-size:.82rem;color:var(--fg-muted)}.main{max-width:1040px;margin:0 auto;padding:1.75rem 1rem 2.5rem;min-width:0;width:100%}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:40vh;padding:2rem 1rem;color:var(--fg-muted)}.page-loader-spinner{width:2rem;height:2rem;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:page-loader-spin .7s linear infinite}.page-loader-text{font-size:.9rem;font-weight:500}@keyframes page-loader-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.page-loader-spinner{animation:none;border-top-color:var(--brand);opacity:.7}}.page h1{margin:0 0 .25rem;font-size:1.75rem}.subtitle{margin:0 0 1.5rem;color:var(--fg-muted)}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:1.35rem;box-shadow:var(--shadow-sm)}.field{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.field>span,.field>label,.field-label{font-weight:600;font-size:.9rem}.field>label{display:block}input[type=text],input[type=email],input[type=search],input[type=number],input[type=tel],input[type=url],input[type=date],select{width:100%;min-width:0;padding:.625rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base);line-height:1.25;color:inherit;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),background var(--motion-fast);background:var(--surface);-moz-appearance:none;appearance:none;-webkit-appearance:none}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;padding-right:2.5rem}input[type=text]:focus,input[type=email]:focus,input[type=search]:focus,input[type=number]:focus,input[type=tel]:focus,input[type=url]:focus,input[type=date]:focus,select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-a-14)}.item-list{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}.item-header{display:grid;grid-template-columns:1fr 1.5fr .75fr 2rem;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--fg-muted);padding:0 .25rem}.item-row{display:grid;grid-template-columns:1fr 1.5fr .75fr 2rem;gap:.5rem;align-items:center}.btn-remove{width:2rem;height:2rem;border:none;background:var(--danger-subtle);color:var(--danger);border-radius:var(--radius-xs);font-size:1.25rem;cursor:pointer;line-height:1;padding:0}.btn-remove:disabled{opacity:.3;cursor:not-allowed}.btn-primary,.btn-secondary{border:none;border-radius:var(--radius-sm);padding:.75rem 1.25rem;font-size:var(--text-base);font-weight:600;cursor:pointer;transition:background .15s;-moz-appearance:none;appearance:none;-webkit-appearance:none;font-family:inherit;line-height:1.25;transition:background var(--motion-base),color var(--motion-base),border-color var(--motion-base),box-shadow var(--motion-base),transform var(--motion-base)}.btn-primary{background:var(--brand);color:var(--brand-on);box-shadow:0 8px 18px var(--brand-a-18)}.form-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);position:relative;z-index:2}.form-actions .btn-primary,.form-actions .btn-secondary{width:100%;margin:0}.btn-primary:hover:not(:disabled){background:var(--brand-hover);transform:translateY(-1px);box-shadow:0 10px 22px var(--brand-a-24)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--surface-muted);color:var(--fg)}.item-list .btn-secondary{align-self:flex-start;margin-top:.25rem}.btn-secondary:hover{background:var(--border);transform:translateY(-1px)}.message{padding:.85rem 1rem;border-radius:var(--radius-md);font-size:.9rem;margin:.5rem 0}.message.error{background:var(--danger-subtle);color:var(--danger)}.message.success{background:var(--brand-subtle);color:var(--success-strong)}.message.demo-notice{background:var(--warning-subtle);color:var(--warning-strong);margin-bottom:1rem}.spending-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:1rem;padding:.9rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--warning);background:var(--warning-subtle);color:var(--warning-strong);font-size:.95rem;box-shadow:0 2px 8px var(--warning-border-muted)}.impersonation-banner-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.impersonation-banner-label{font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--warning)}.impersonation-banner-user{font-weight:700;font-size:var(--text-base);color:var(--warning-strong);word-break:break-word}.impersonation-banner-admin{font-size:.85rem;color:var(--warning-strong)}.impersonation-banner-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;flex-shrink:0}.impersonation-stop{white-space:nowrap;min-width:8.5rem}.impersonation-stop-error{margin:0;max-width:14rem;font-size:.82rem;line-height:1.35;text-align:right;color:var(--danger)}.spending-alert-close{border:none;background:transparent;color:currentColor;font-size:1.25rem;line-height:1;cursor:pointer;padding:0}.daily-greeting-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300}.daily-greeting-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.daily-greeting-modal{position:relative;z-index:1;width:min(28rem,calc(100% - 2rem));margin:10vh auto 0;background:radial-gradient(circle at top right,var(--login-gold-glow),transparent 34%),linear-gradient(135deg,var(--warning-subtle) 0%,var(--danger-subtle) 100%);border-radius:24px;padding:1.5rem 1.25rem 1.25rem;box-shadow:var(--login-panel-shadow)}.daily-greeting-close{position:absolute;top:.85rem;right:.9rem;border:none;background:transparent;color:var(--warning-strong);font-size:1.5rem;line-height:1;cursor:pointer}.daily-greeting-kicker{margin:0 0 .4rem;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--owe)}.daily-greeting-title{margin:0;font-size:1.5rem;line-height:1.15;color:var(--warning-strong)}.daily-greeting-body{margin:.9rem 0 1.1rem;font-size:var(--text-base);line-height:1.65;color:var(--indigo-fg)}.daily-greeting-action{width:100%}}@layer components{.bill-grid{display:flex;flex-direction:column;gap:var(--space-md)}.bill-grid--virtual .bill-card{content-visibility:auto;contain-intrinsic-size:280px}.bill-grid-spacer{width:100%;pointer-events:none}.bill-card{position:relative;transition:border-color var(--motion-base),box-shadow var(--motion-base),transform var(--motion-base)}.bill-card:hover{border-color:var(--border);box-shadow:var(--shadow-md);transform:translateY(-1px)}.bill-card h2{margin:0;font-size:1.1rem;line-height:1.35;overflow-wrap:anywhere}.bill-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-soft)}.bill-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.bill-action-buttons{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.bill-action-buttons .pay-person-icon-btn,.person-pay-item-actions .pay-person-icon-btn{margin-left:0}.btn-edit-bill{display:inline-block;border:none;background:var(--subtle);color:var(--fg);padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;text-decoration:none;cursor:pointer;min-height:34px;transition:background var(--motion-base),color var(--motion-base),transform var(--motion-base)}.btn-edit-bill:hover{background:var(--subtle-hover);transform:translateY(-1px)}.btn-share-bill{display:inline-block;border:none;background:var(--brand);color:var(--brand-on);padding:.4rem .75rem;border-radius:var(--radius-xs);font-size:.8rem;font-weight:600;text-decoration:none;cursor:pointer}.btn-share-bill:hover{background:var(--brand-hover)}.btn-delete-bill{border:none;background:var(--danger-subtle);color:var(--danger);padding:.4rem .75rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;cursor:pointer;min-height:34px;transition:background var(--motion-base),color var(--motion-base),transform var(--motion-base)}.btn-delete-bill:hover:not(:disabled){background:var(--danger-hover-bg);transform:translateY(-1px)}.btn-delete-bill:disabled{opacity:.6;cursor:not-allowed}.btn-delete-item{width:2rem;height:2rem;border:none;background:var(--danger-subtle);color:var(--danger);border-radius:var(--radius-xs);font-size:1.1rem;cursor:pointer;line-height:1;padding:0;transition:background var(--motion-base),transform var(--motion-base)}.btn-delete-item:hover:not(:disabled){background:var(--danger-hover-bg);transform:translateY(-1px)}.btn-delete-item:disabled{opacity:.6;cursor:not-allowed}.action-col{width:3.25rem;text-align:center!important}.item-menu-col{width:1%;white-space:nowrap}.item-action-menu{position:relative;display:none;justify-content:flex-end}.item-action-inline{display:inline-flex;align-items:center;justify-content:flex-end;gap:.45rem}.item-action-trigger{width:2.25rem;height:2.25rem;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface);color:var(--fg-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background var(--motion-base),border-color var(--motion-base),color var(--motion-base),box-shadow var(--motion-base),transform var(--motion-base)}.item-action-trigger:hover,.item-action-trigger[aria-expanded=true]{background:var(--surface-muted);border-color:var(--border);color:var(--fg);box-shadow:var(--shadow-sm)}.item-action-trigger:hover{transform:translateY(-1px)}.item-action-popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;min-width:11.5rem;padding:.35rem;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-card-lift);transform-origin:top right;animation:item-menu-in .14s ease-out}.item-action-option{width:100%;min-height:40px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--fg);cursor:pointer;display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;font-family:inherit;font-size:.84rem;font-weight:650;text-align:left;white-space:nowrap;transition:background var(--motion-fast),color var(--motion-fast)}.item-action-option:hover:not(:disabled),.item-action-option:focus-visible{background:var(--surface-muted);color:var(--fg)}.item-action-option.is-danger{color:var(--danger)}.item-action-option+.item-action-option.is-danger{margin-top:.25rem;border-top:1px solid var(--danger-subtle);border-radius:0 0 8px 8px}.item-action-option.is-danger:hover:not(:disabled),.item-action-option.is-danger:focus-visible{background:var(--danger-subtle);color:var(--danger-strong)}.item-action-option:disabled{opacity:.55;cursor:not-allowed}@keyframes item-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.bill-meta{margin:.25rem 0 0;font-size:.9rem;color:var(--fg-muted)}.bill-date{margin:.25rem 0 0;font-size:.9rem;color:var(--fg)}.bill-time{font-size:.85rem;color:var(--fg-muted);white-space:nowrap}.bill-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.bill-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.9rem}.bill-table th,.bill-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top}.bill-table th{font-weight:600;color:var(--fg-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:0;background:var(--surface-muted)}.bill-table tfoot td{border-bottom:none;border-top:2px solid var(--border);padding-top:.75rem}.bill-table tbody tr{transition:background var(--motion-fast)}.bill-table tbody tr:hover td{background:var(--surface-muted)}.amount-col{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}.bill-person-pay-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem}.bill-person-pay-actions .pay-person-icon-btn{flex:0 0 32px;width:32px;height:32px}.pay-actions-col{white-space:nowrap;vertical-align:middle}.pay-actions-col.is-empty{padding-left:0;padding-right:0}.person-subtotal-row td{background:var(--surface-muted);border-top:1px dashed var(--border-soft)}.person-subtotal-row:hover td{background:var(--surface-muted)}.person-subtotal-label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem}.person-subtotal-meta{color:var(--fg-muted);font-size:.84rem}.bill-table th.pay-actions-col{text-align:right}.empty-state{text-align:center;color:var(--fg-muted);padding:3rem 1.5rem}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:.5rem}.page-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;flex-shrink:0}.bill-list-header{align-items:center;margin-bottom:.75rem}.bill-list-header-main{min-width:0}.bill-list-create-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--size-touch);padding:.65rem 1.15rem;font-size:.9rem;text-decoration:none;white-space:nowrap;flex-shrink:0;box-shadow:0 6px 16px var(--brand-a-20)}.bill-list-create-btn svg{flex-shrink:0}.bill-list-create-btn--empty{margin-top:1rem}.bill-filters{margin-bottom:1rem}.bill-filters .field{margin-bottom:0}.bill-form-wrapper{display:flex;flex-direction:column}.bill-form-wrapper .form-actions{margin-top:0}.create-modes{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.create-modes-tabs{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--subtle);border-radius:999px}.create-modes-tabs button{border:none;background:transparent;border-radius:999px;padding:.45rem .95rem;font-size:var(--text-sm);font-weight:600;color:var(--fg-muted);cursor:pointer;font-family:inherit;white-space:nowrap}.create-modes-tabs button.is-active{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-chip)}.create-modes-quota{font-size:.8rem;font-weight:600;color:var(--fg-muted)}.create-modes-hint{margin-top:0}.quick-bill-textarea{width:100%;min-height:9rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85rem;line-height:1.45}.quick-bill-lottery{margin-bottom:.75rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--surface-muted);border:1px solid var(--border-soft)}.quick-bill-lottery-note{margin:0;font-size:.88rem;font-weight:600;color:var(--fg)}.quick-bill-lottery-note.is-winner{color:var(--success)}.quick-bill-lottery-note.is-muted{color:var(--fg-muted);font-weight:500}.quick-bill-lottery-note.is-error{color:var(--danger);font-weight:600}.bill-split-mode-options{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:.35rem}.bill-split-mode-options label{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--fg)}.shared-split-form{display:flex;flex-direction:column;gap:var(--space-md)}.shared-split-expense-header,.shared-split-expense-row{grid-template-columns:1.4fr .8fr 2.5rem}.shared-split-participant-header,.shared-split-participant-row{grid-template-columns:1fr 2.5rem}.shared-split-count-input{max-width:8rem;margin-top:.35rem}.shared-split-preview{padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border-soft)}.shared-split-preview p{margin:0 0 .5rem;font-size:.88rem;color:var(--fg)}.shared-split-summary{margin-bottom:.85rem;padding:.75rem .9rem;border-radius:var(--radius-md);background:var(--info-subtle);border:1px solid var(--info-border)}.shared-split-summary-title{margin:0 0 .45rem;font-size:.82rem;font-weight:700;color:var(--info-fg)}.shared-split-summary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.shared-split-summary-list li{display:flex;justify-content:space-between;gap:.75rem;font-size:.86rem;color:var(--fg)}.shared-split-summary-total{margin:.55rem 0 0;font-size:.84rem;font-weight:600;color:var(--chart-2)}.quick-bill-lottery-slots{list-style:none;margin:.65rem 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.45rem}.quick-bill-lottery-slots li{border-radius:var(--radius-sm);padding:.45rem .55rem;font-size:.78rem;border:1px dashed var(--border);background:var(--surface);color:var(--fg-muted);display:flex;flex-direction:column;gap:.1rem}.quick-bill-lottery-slots li.is-taken{border-style:solid;border-color:var(--success-border);background:var(--success-subtle);color:var(--success-strong)}.quick-bill-lottery-slots li.is-read{border-style:solid;border-color:var(--border-soft);background:var(--surface-muted);color:var(--fg-muted)}.quick-bill-lottery-slots li.is-taken strong{font-size:.82rem;color:var(--success-strong)}.quick-bill-lottery-slots li.is-open{justify-content:center;text-align:center;min-height:2.6rem}.quick-bill-help{margin:.5rem 0 0;font-size:.8rem;color:var(--fg-muted)}.quick-bill-help summary{cursor:pointer;font-weight:600;color:var(--brand)}.quick-bill-help p{margin:.4rem 0 0;line-height:var(--leading-normal)}.quick-bill-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:.9rem 0 0}.quick-bill-drop{display:flex;align-items:center;justify-content:center;min-height:9rem;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--surface-muted);cursor:pointer;position:relative;overflow:hidden;text-align:center;padding:1rem;color:var(--fg-muted)}.quick-bill-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.quick-bill-preview{max-height:220px;width:auto;max-width:100%;display:block}.quick-bill-draft{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-soft)}.quick-bill-draft-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.quick-bill-draft-head p{margin:0;font-size:.9rem;font-weight:600}.quick-bill-draft-head .btn-primary{padding:.5rem 1rem;font-size:var(--text-sm)}.quick-bill-warnings{margin:.4rem 0 .75rem;padding-left:1.1rem;color:var(--warning-strong);font-size:.82rem}.quick-bill-warnings.is-error{color:var(--danger)}.quick-bill-lines{list-style:none;margin:0 0 .85rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.quick-bill-lines li{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr) auto;gap:.5rem;font-size:.82rem;background:var(--surface-muted);border-radius:var(--radius-sm);padding:.4rem .55rem}.quick-bill-lines span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quick-bill-match-hint{margin:0 0 .75rem;color:var(--warning)}.quick-bill-match{grid-column:1 / -1;margin-top:.25rem;padding-top:.35rem;border-top:1px dashed var(--border-soft)}.quick-bill-match-label{margin:0 0 .35rem;font-size:.78rem;color:var(--fg-muted)}.quick-bill-match-actions{display:flex;flex-wrap:wrap;gap:.35rem}.quick-bill-match-btn{padding:.25rem .55rem;font-size:.78rem}.quick-bill-match-btn.is-muted{opacity:.85}.bill-filters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);align-items:start}.bill-filters-grid .field{margin-bottom:0;min-width:0;width:100%}.bill-filters-grid input[type=date],.bill-filters-grid select{box-sizing:border-box;height:2.75rem}.bill-filters-actions{display:flex;align-items:center;gap:var(--space-md);margin-top:1rem}.btn-clear-filters{border:none;background:transparent;color:var(--brand);font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0}.btn-clear-filters:hover{text-decoration:underline}.bill-list-controls{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.bill-list-controls-start{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-width:0}.bill-list-segments{display:inline-flex;gap:.2rem;padding:.2rem;background:var(--subtle);border:1px solid var(--border-soft);border-radius:999px}.bill-list-segments button{border:none;background:transparent;padding:.42rem .8rem;border-radius:999px;font-size:.84rem;font-weight:600;color:var(--fg-muted);cursor:pointer;font-family:inherit;white-space:nowrap;min-height:var(--size-touch-sm);transition:background var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast)}.bill-list-segments button.active{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-inset-chip)}.bill-list-segments button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.bill-list-bulk-link{display:inline-flex;align-items:center;gap:.25rem;min-height:var(--size-touch);padding:.35rem .15rem;font-size:.88rem;font-weight:650;color:var(--brand);text-decoration:none;white-space:nowrap;flex-shrink:0;transition:color var(--motion-fast)}.bill-list-bulk-link:hover{color:var(--brand-hover);text-decoration:underline}.bill-list-bulk-link:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--radius-xs)}.view-toggle{display:flex;gap:.25rem;background:var(--subtle);padding:.25rem;border:1px solid var(--border-soft);border-radius:var(--radius-md);flex-shrink:0}.view-toggle button{border:none;background:transparent;padding:.5rem .875rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--fg-muted);cursor:pointer;transition:background var(--motion-base),color var(--motion-base),box-shadow var(--motion-base)}.view-toggle button.active{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-inset-chip)}.view-toggle--compact button{padding:.42rem .75rem;font-size:.84rem;min-height:var(--size-touch-sm)}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:1.25rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.pagination-meta{margin:0;font-size:.85rem;color:var(--fg-muted)}.pagination-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.pagination-btn{min-width:2.25rem;height:2.25rem;padding:0 .55rem;border:1px solid var(--border-soft);border-radius:var(--radius-xs);background:var(--surface);color:var(--fg);font-size:.82rem;font-weight:600;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast)}.pagination-btn:hover:not(:disabled):not(.active){border-color:var(--border);background:var(--surface-muted)}.pagination-btn.active{background:var(--brand);border-color:var(--brand);color:var(--brand-on)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-ellipsis{color:var(--fg-muted);padding:0 .15rem;font-size:.85rem}.bill-groups{display:flex;flex-direction:column;gap:1.25rem}.creator-group{padding:1.25rem}.creator-group-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-soft)}.creator-group-header h2{margin:0;font-size:1.25rem}.creator-group-meta{margin:.25rem 0 0;font-size:var(--text-sm);color:var(--fg-muted)}.creator-group-total{margin:0;font-size:var(--text-base);white-space:nowrap}.creator-group-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.btn-export{border:none;background:var(--brand);color:var(--brand-on);padding:.45rem .9rem;border-radius:var(--radius-xs);font-size:.85rem;font-weight:600;cursor:pointer}.btn-export:hover:not(:disabled){background:var(--brand-hover)}.btn-export:disabled{opacity:.6;cursor:not-allowed}.bill-grid.nested .bill-card{box-shadow:none;border:1px solid var(--border-soft)}}@layer pages{.pay-page{min-height:100dvh;background:linear-gradient(180deg,var(--bg-subtle) 0,var(--bg) 18rem),var(--bg)}.pay-top-bar{position:sticky;top:0;z-index:60;background:var(--pay-top-bar-bg);color:var(--pay-top-bar-fg);border-bottom:1px solid var(--pay-top-bar-border);box-shadow:var(--pay-top-bar-shadow);-webkit-backdrop-filter:saturate(145%) blur(12px);backdrop-filter:saturate(145%) blur(12px)}.pay-top-bar-inner{max-width:560px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}.pay-home-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--size-touch);padding:.35rem .7rem;border-radius:var(--radius-md);color:var(--chrome-fg-strong);font-size:.9rem;font-weight:600;text-decoration:none;transition:background var(--motion-fast),color var(--motion-fast)}.pay-home-btn:hover{color:var(--chrome-fg);background:var(--chrome-surface-hover)}.pay-top-bar .lang-switcher{border-color:var(--chrome-border-on-bg)}.pay-top-bar .lang-btn{color:var(--chrome-fg-soft)}.pay-top-bar .lang-btn:hover{color:var(--chrome-fg);background:var(--chrome-surface-hover)}.pay-top-bar .lang-btn.active{color:var(--chrome-fg);background:var(--brand)}.bulk-pay-page .page-header{align-items:flex-start;gap:var(--space-md)}.bulk-pay-intro{margin:-.25rem 0 .75rem;font-size:.9rem;color:var(--fg-muted);line-height:var(--leading-normal)}.bulk-pay-groups{display:flex;flex-direction:column;gap:1.25rem}.bulk-pay-group{display:flex;flex-direction:column;gap:var(--space-md)}.bulk-pay-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.bulk-pay-group-header h2{margin:0 0 .25rem;font-size:1.2rem}.bulk-pay-group-meta{margin:0;color:var(--fg-muted);font-size:.95rem}.bulk-pay-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.bulk-pay-short-url{margin:-.5rem 0 1rem}.bulk-pay-short-url code{font-size:.9rem;word-break:break-all}.bulk-pay-table{margin:0}.bulk-pay-group .pay-qr-section{margin:0;box-shadow:none;border:1px solid var(--border-soft)}.pay-container{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md);padding:1.5rem 1rem 2.5rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(2.5rem,env(safe-area-inset-bottom))}.pay-page-header{margin-bottom:0}.pay-page-header h1{margin:0 0 .25rem;font-size:1.5rem;line-height:1.25}.pay-page-subtitle{margin:0}.pay-header-main{min-width:0}.pay-full-bill-btn{flex-shrink:0;text-decoration:none;white-space:nowrap}@media(min-width:641px){.pay-summary .bill-table-wrap,.pay-persons .bill-table-wrap{overflow-x:visible}.pay-summary .bill-table,.pay-persons .bill-table{min-width:0;table-layout:fixed}.pay-summary .bill-table th,.pay-summary .bill-table td{overflow-wrap:anywhere;word-break:normal}.pay-summary .bill-table th:nth-child(1),.pay-summary .bill-table td:nth-child(1){width:30%}.pay-summary .bill-table th:nth-child(2),.pay-summary .bill-table td:nth-child(2){width:42%}.pay-summary .bill-table th.amount-col,.pay-summary .bill-table td.amount-col{width:28%}.pay-summary .bill-table.has-pay-item-actions th:nth-child(1),.pay-summary .bill-table.has-pay-item-actions td:nth-child(1){width:22%}.pay-summary .bill-table.has-pay-item-actions th:nth-child(2),.pay-summary .bill-table.has-pay-item-actions td:nth-child(2){width:38%}.pay-summary .bill-table.has-pay-item-actions th.amount-col,.pay-summary .bill-table.has-pay-item-actions td.amount-col{width:22%}.pay-summary .bill-table.has-pay-item-actions th.pay-item-action-col,.pay-summary .bill-table.has-pay-item-actions td.pay-item-action-col{width:18%;min-width:5.75rem;text-align:right;vertical-align:middle}.pay-persons-table th:nth-child(1),.pay-persons-table td:nth-child(1){width:38%}.pay-persons-table td.amount-col{width:24%}.pay-persons-table td.pay-persons-actions{width:38%}}.pay-total{color:var(--brand);font-size:1.1rem}.pay-qr-section h2{margin:0;font-size:var(--text-base)}.pay-qr-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:1rem}.pay-qr-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.pay-qr-modal{position:relative;width:min(100%,28rem);max-height:min(92dvh,720px);overflow:auto;padding:1rem 1rem 1.1rem;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-md)}.pay-qr-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.pay-qr-modal-header h2{margin:0;font-size:1.05rem;line-height:1.35;padding-right:2rem}.pay-qr-modal-close{position:absolute;top:.65rem;right:.65rem;width:44px;height:44px;border:none;background:transparent;color:var(--fg-muted);font-size:1.5rem;line-height:1;cursor:pointer;border-radius:var(--radius-sm)}.pay-qr-modal-close:hover{background:var(--surface-muted);color:var(--fg)}.pay-qr-modal-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.pay-qr-modal-status{margin:0}.pay-qr-modal-body{margin:0;padding:0;border:none;box-shadow:none;background:transparent}.pay-qr-modal .pay-setup-notice h3{margin:0 0 .75rem;font-size:var(--text-base)}.pay-qr-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.pay-qr-header-compact{justify-content:flex-end;margin-bottom:.5rem}.pay-bank-logo{height:28px;width:auto;flex-shrink:0}.pay-qr-layout{display:grid;grid-template-columns:160px 1fr;gap:.85rem 1rem;align-items:start;margin-bottom:.85rem}.pay-qr-wrap{display:flex;justify-content:center}.pay-qr-image{width:160px;max-width:100%;height:auto;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--surface)}.pay-bank-info{display:flex;flex-direction:column;gap:.45rem;min-width:0}.pay-info-row{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem;line-height:1.35}.pay-info-row span{color:var(--fg-muted);flex-shrink:0}.pay-info-row strong{text-align:right;word-break:break-word}.pay-info-amount strong{color:var(--brand);font-size:.95rem}.pay-actions{display:grid;grid-template-columns:1fr;gap:.5rem}.pay-actions .btn-primary,.pay-actions .btn-secondary{width:100%;margin:0;padding:.55rem .7rem;font-size:.85rem}.pay-setup-notice h2{margin:0 0 .75rem;font-size:1.1rem}.pay-setup-notice p{margin:0;color:var(--fg-muted);line-height:1.6}.pay-setup-notice code{background:var(--surface-muted);padding:.1rem .35rem;border-radius:4px;font-size:.85rem}.person-pay-links{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-soft)}.card.person-pay-links{margin-top:0;padding-top:1.5rem;border-top:none}.person-pay-links h3{margin:0 0 .75rem;font-size:.95rem}.person-pay-list{display:flex;flex-direction:column;gap:.5rem}.person-pay-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:var(--radius-md);transition:border-color var(--motion-base),box-shadow var(--motion-base),transform var(--motion-base)}.person-pay-item:hover{border-color:var(--border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.person-pay-item>div:first-child{display:flex;flex-direction:column;gap:.15rem;min-width:0}.person-pay-amount{font-size:.85rem;color:var(--brand);font-weight:600}.person-pay-item-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-person-pay,.btn-copy-person-pay{border:none;border-radius:var(--radius-xs);padding:.4rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap}.btn-person-pay{background:var(--brand);color:var(--brand-on)}.btn-person-pay:hover{background:var(--brand-hover)}.btn-copy-person-pay{background:var(--subtle);color:var(--fg)}.btn-copy-person-pay:hover{background:var(--subtle-hover)}.person-pay-item.is-paid{background:var(--success-subtle)}.pay-persons{margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--border-soft)}.pay-persons-label{margin:0 0 .4rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fg-muted)}.pay-your-qr-hint{margin:0 0 .65rem;padding:.55rem .7rem;border-radius:var(--radius-md);background:var(--brand-a-08);border:1px solid var(--brand-a-18);color:var(--info-fg);font-size:.82rem;line-height:1.45}.pay-quick-login{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md) 1.25rem;padding:.95rem 1rem;margin-bottom:.85rem;border:1px solid var(--brand-a-16);background:linear-gradient(135deg,var(--brand-a-06) 0%,var(--surface) 72%)}.pay-quick-login-copy{min-width:0}.pay-quick-login-copy h2{margin:0 0 .3rem;font-size:.95rem;line-height:1.35}.pay-quick-login-copy p{margin:0;color:var(--fg-muted);font-size:.82rem;line-height:1.45}.pay-quick-login-action{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex-shrink:0}.pay-quick-login-google{display:flex;justify-content:flex-end}.pay-quick-login-btn{min-width:11rem;margin:0}.pay-quick-login-error{margin:0;max-width:16rem;text-align:right;font-size:.8rem}.pay-you-badge{display:inline-block;margin-left:.45rem;padding:.1rem .45rem;border-radius:999px;background:var(--brand-a-12);color:var(--brand);font-size:.7rem;font-weight:700;vertical-align:middle}.pay-persons-table tr.is-you td{background:var(--brand-a-06)}.pay-persons-table tr.is-you td:first-child{box-shadow:inset 3px 0 0 var(--brand)}.pay-persons-table tr.is-you.row-paid td{background:var(--brand-a-04)}.pay-person-icon-btn.is-primary.is-you-qr{box-shadow:0 0 0 2px var(--brand-a-18),0 0 0 4px var(--brand-a-08)}.pay-persons-table td{border-bottom:1px solid var(--surface-muted)}.pay-persons-table tr:last-child td{border-bottom:none}.pay-persons-table .row-paid td{color:var(--fg-muted)}.pay-persons-actions{width:1%;white-space:nowrap;text-align:right!important}.pay-person-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:.3rem;padding:.26rem .55rem;border:1px solid var(--border-soft);border-radius:var(--radius-xs);background:var(--surface);color:var(--fg-muted);font-size:.75rem;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer}.pay-person-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin-left:.3rem;padding:0;border:1px solid var(--border-soft);border-radius:9px;background:var(--surface);color:var(--fg-muted);text-decoration:none;cursor:pointer;vertical-align:middle;transition:background var(--motion-base),border-color var(--motion-base),color var(--motion-base),box-shadow var(--motion-base),transform var(--motion-base)}.pay-person-icon-btn:first-child,.pay-person-btn:first-child{margin-left:0}.pay-person-icon-btn:hover:not(:disabled){border-color:var(--border);color:var(--fg);background:var(--surface-muted);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.pay-person-icon-btn.is-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-on)}.pay-person-icon-btn.is-primary:hover{background:var(--brand-hover);color:var(--brand-on)}.pay-person-icon-btn.is-state{background:var(--surface-muted);border-color:var(--border-soft);color:var(--fg-muted)}.pay-person-icon-btn.is-state:hover:not(:disabled){background:var(--indigo-subtle);border-color:var(--indigo-border);color:var(--brand-hover)}.pay-person-icon-btn.is-state.is-reopen{background:var(--info-subtle);border-color:var(--indigo-border);color:var(--brand-hover)}.pay-person-icon-btn.is-edit{background:var(--surface-muted);border-color:var(--border-soft);color:var(--fg-muted)}.pay-person-icon-btn.is-edit:hover{background:var(--indigo-subtle);border-color:var(--indigo-border);color:var(--brand-hover)}.pay-person-icon-btn.is-danger{background:var(--danger-subtle);border-color:var(--danger-border);color:var(--danger)}.pay-person-icon-btn.is-danger:hover:not(:disabled){background:var(--danger-subtle);border-color:var(--danger-strong);color:var(--danger-strong)}.pay-person-icon-btn.is-copied,.pay-person-icon-btn.is-mark.is-done{background:var(--success-subtle);border-color:var(--success-border);color:var(--success)}.pay-person-icon-btn.is-mark.is-done:hover:not(:disabled){background:var(--brand-subtle);border-color:var(--success);color:var(--success-strong)}.pay-person-icon-btn.is-remind{color:var(--warning);border-color:var(--warning-border-muted);background:var(--warning-surface)}.pay-person-icon-btn.is-remind:hover:not(:disabled){color:var(--brand-on);background:var(--warning);border-color:var(--warning)}.pay-person-icon-btn:disabled{opacity:.6;cursor:not-allowed}.pay-person-btn:first-child{margin-left:0}.pay-person-btn:hover:not(:disabled){border-color:var(--border);color:var(--fg)}.pay-person-btn.is-primary{background:var(--brand);border-color:var(--brand);color:var(--brand-on)}.pay-person-btn.is-primary:hover{background:var(--brand-hover);color:var(--brand-on)}.pay-person-btn.is-done{background:var(--success-subtle);border-color:var(--success-border);color:var(--success)}.pay-person-btn:disabled{opacity:.6;cursor:not-allowed}.pay-persons-hint{margin:.6rem 0 0}.bill-comments{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-soft)}.card>.bill-comments:not(.is-embedded){margin:0;padding:0;border-top:0}.bill-comments.is-embedded{margin-top:.85rem;padding-top:.85rem}.bill-comments-header h3{margin:0 0 .85rem;font-size:var(--text-base)}.bill-comments-list{list-style:none;margin:0;padding:0 .25rem 0 0;display:flex;flex-direction:column;gap:.5rem;max-height:320px;overflow-y:auto}.bill-comment-item{border:1px solid var(--border-soft);background:var(--surface-muted);border-radius:var(--radius-sm);padding:.65rem .75rem;scroll-margin-top:5.5rem;scroll-margin-bottom:1rem}.bill-comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .65rem;margin-bottom:.35rem;font-size:.8rem;color:var(--fg-muted)}.bill-comment-meta strong{color:var(--fg);font-size:.85rem}.bill-comment-actions{margin-left:auto;display:flex;align-items:center;gap:.4rem}.bill-comment-meta time{font-size:.75rem}.btn-delete-comment{border:none;background:var(--danger-subtle);color:var(--danger);padding:.15rem .45rem;border-radius:var(--radius-xs);font-size:.72rem;font-weight:600;cursor:pointer}.btn-delete-comment:hover:not(:disabled){background:var(--danger-hover-bg)}.btn-delete-comment:disabled{opacity:.6;cursor:not-allowed}.bill-comment-item.is-system{border-left:3px solid var(--brand);background:var(--brand-subtle)}.bill-comment-badge.is-system{background:var(--subtle);color:var(--fg-muted)}.bill-comment-badge{display:inline-block;padding:.05rem .4rem;border-radius:999px;background:var(--subtle);color:var(--fg-muted);font-size:.68rem;font-weight:600}.bill-comment-body{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.45;color:var(--fg)}.comment-mention{color:var(--brand);font-weight:600}.comment-mention-textarea{position:relative}.comment-mention-textarea textarea{width:100%;min-height:4.5rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg);font:inherit;resize:vertical}.comment-mention-textarea textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-a-15)}.comment-mention-results{position:absolute;left:0;right:0;top:calc(100% + .25rem);z-index:20}.bill-comments-mention-hint{margin:.35rem 0 0}.bill-comment-item.is-focus-target{border-radius:var(--radius-md);animation:comment-focus-pulse 2.4s ease-out}.bill-comments.is-focus-section{scroll-margin-top:5.5rem}@keyframes comment-focus-pulse{0%,to{background:transparent;box-shadow:none}18%,42%{background:var(--brand-a-12);box-shadow:inset 3px 0 0 var(--brand)}}@media(prefers-reduced-motion:reduce){.bill-comment-item.is-focus-target{animation:none;background:var(--brand-a-10);box-shadow:inset 3px 0 0 var(--brand)}}.bill-comments-state{margin:0;padding:.75rem;border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--fg-muted);font-size:.85rem;text-align:center}.bill-comments-state.is-private{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem .75rem;background:var(--surface-muted);color:var(--fg-muted)}.bill-comments-login-btn{display:inline-flex;align-items:center;padding:.35rem .85rem;border-radius:999px;background:var(--brand);color:var(--brand-on);font-size:.8rem;font-weight:600;text-decoration:none;white-space:nowrap}.bill-comments-login-btn:hover{background:var(--brand-hover);color:var(--brand-on)}.bill-comments-form{margin-top:.85rem;padding:.75rem;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-muted)}.bill-comments-composer-meta{display:flex;align-items:center;min-height:1.75rem;margin-bottom:.5rem}.bill-comments-name{display:flex;align-items:center;gap:.6rem;width:100%;color:var(--fg-muted);font-size:.8rem;font-weight:600}.bill-comments-name input{width:min(260px,100%);margin-left:auto;padding:.4rem .55rem;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--fg);font:inherit;font-weight:400}.bill-comments-identity{color:var(--fg-muted);font-size:.8rem}.bill-comments-body-field{display:block}.bill-comments-form textarea{width:100%;resize:vertical;min-height:64px;font:inherit;padding:.6rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--fg)}.bill-comments-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-a-15)}.bill-comments-footer{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;margin-top:.5rem}.bill-comments-count{margin-right:auto;color:var(--fg-muted);font-size:.72rem;font-variant-numeric:tabular-nums}.bill-comments-footer .btn-primary{margin:0;padding:.45rem .8rem;font-size:.82rem}.bill-comments-visitor-note{margin:.5rem 0 0;color:var(--fg-muted);font-size:.74rem;line-height:1.4}.bill-comments-limit{margin:.85rem 0 0;padding:.65rem .75rem;background:var(--warning-surface-soft);border-radius:var(--radius-sm);color:var(--warning)}.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}.btn-mark-paid{border:none;border-radius:var(--radius-xs);padding:.4rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;background:var(--brand-subtle);color:var(--success-strong);white-space:nowrap}.btn-mark-paid:hover:not(:disabled){background:var(--success-border)}.btn-unmark-paid{border:none;border-radius:var(--radius-xs);padding:.4rem .75rem;font-size:.8rem;font-weight:600;cursor:pointer;background:var(--warning-subtle);color:var(--warning-strong);white-space:nowrap}.btn-unmark-paid:hover:not(:disabled){background:var(--warning-border)}.btn-mark-paid:disabled,.btn-unmark-paid:disabled{opacity:.6;cursor:not-allowed}.paid-badge{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;border-radius:999px;background:var(--success-subtle);color:var(--success-strong);font-size:.7rem;font-weight:700;vertical-align:middle}.bill-person-cell{display:inline}.bill-person-name{overflow-wrap:anywhere}.open-bill-badge{display:inline-block;margin-left:.55rem;padding:.15rem .55rem;border-radius:999px;background:var(--success-subtle);color:var(--success);font-size:.72rem;font-weight:700;vertical-align:middle}.closed-bill-badge{display:inline-block;margin-left:.55rem;padding:.15rem .55rem;border-radius:999px;background:var(--surface-muted);color:var(--fg-muted);font-size:.72rem;font-weight:700;vertical-align:middle}.bill-card.is-closed{border-color:var(--border-soft);background:var(--surface-muted)}.bill-closed-summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0 .15rem}.bill-closed-summary p{margin:0;font-size:.92rem;color:var(--fg)}.bill-closed-summary-sep{margin:0 .35rem;color:var(--fg-muted)}.bill-card-collapse{margin-top:.75rem}.btn-close-bill,.btn-reopen-bill{border:none;border-radius:var(--radius-sm);padding:.35rem .65rem;font-size:.78rem;font-weight:600;cursor:pointer;min-height:34px;transition:background var(--motion-base),color var(--motion-base),transform var(--motion-base)}.btn-close-bill{background:var(--subtle);color:var(--fg)}.btn-close-bill:hover:not(:disabled){background:var(--subtle-hover);transform:translateY(-1px)}.btn-reopen-bill{background:var(--brand-subtle);color:var(--brand-hover)}.btn-reopen-bill:hover:not(:disabled){background:var(--brand-a-22);transform:translateY(-1px)}.btn-close-bill:disabled,.btn-reopen-bill:disabled{opacity:.6;cursor:not-allowed}.open-item-label{color:var(--success);font-weight:600;font-style:italic}.row-open td{background:var(--success-subtle)}.item-inline-edit{width:100%;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:var(--text-sm);background:var(--surface);color:var(--fg)}.item-inline-edit-amount{max-width:6.5rem}.item-edit-actions{display:flex;flex-direction:column;gap:.25rem;align-items:stretch}.btn-item-edit-save,.btn-item-edit-cancel,.btn-correct-item{border:none;border-radius:var(--radius-sm);padding:.3rem .55rem;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn-item-edit-save{background:var(--brand);color:var(--brand-on)}.btn-item-edit-cancel{background:var(--subtle);color:var(--fg)}.btn-correct-item{background:var(--brand-subtle);color:var(--brand-strong)}tr.is-editing-item td{background:var(--brand-subtle)}.pay-item-action-col{white-space:nowrap;vertical-align:middle}.pay-summary .bill-table.has-pay-item-actions .btn-correct-item,.pay-summary .bill-table.has-pay-item-actions .item-edit-actions{margin-left:auto}.btn-claim-item,.btn-unclaim-item{border:none;border-radius:var(--radius-sm);padding:.3rem .55rem;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;min-height:32px;transition:background var(--motion-base),color var(--motion-base),transform var(--motion-base)}.btn-claim-item{background:var(--brand-subtle);color:var(--success-strong)}.btn-claim-item:hover:not(:disabled){background:var(--success-border);transform:translateY(-1px)}.btn-unclaim-item{background:var(--subtle);color:var(--fg)}.btn-unclaim-item:hover:not(:disabled){background:var(--subtle-hover);transform:translateY(-1px)}.btn-claim-item:disabled,.btn-unclaim-item:disabled{opacity:.6;cursor:not-allowed}.open-items-hint{margin:.75rem 0 0}.claim-help-hint{margin:.4rem 0 0}.bill-card-toggles{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.85rem}.bill-card-toggle{border:1px solid var(--border-soft);background:var(--surface);color:var(--fg-muted);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer;min-height:var(--size-touch-sm);transition:background var(--motion-base),border-color var(--motion-base),color var(--motion-base),transform var(--motion-base)}.bill-card-toggle:hover{border-color:var(--border);color:var(--fg);transform:translateY(-1px)}.bill-card-toggle.is-open{background:var(--brand-subtle);border-color:var(--brand-a-35);color:var(--brand-hover)}.claim-col{width:auto;min-width:5.5rem;white-space:nowrap}.row-paid td{color:var(--fg-muted)}.pay-mark-section{display:flex;justify-content:center}.pay-mark-section .btn-mark-paid,.pay-mark-section .btn-unmark-paid{width:100%;padding:.75rem 1rem;font-size:var(--text-base)}.paid-status{margin:.5rem 0 0}.btn-copy-person-pay.is-copied,.pay-person-btn.is-copied,.pay-person-icon-btn.is-copied,.btn-primary.is-copied,.btn-secondary.is-copied{background:var(--brand-subtle)!important;border-color:var(--success-border)!important;color:var(--success-strong)!important}.copy-toast{position:fixed;top:1.25rem;left:50%;transform:translate(-50%);z-index:1000;background:var(--success-strong);color:var(--brand-on);padding:.75rem 1.25rem;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;box-shadow:var(--shadow-popover);max-width:calc(100% - 2rem);text-align:center}.pay-back-link{display:inline-block;margin-top:.5rem;color:var(--brand);font-size:.9rem;text-decoration:none}.pay-back-link:hover{text-decoration:underline}}@layer pages{.stats-filters{margin-bottom:1rem}.stats-filters-grid{display:grid;grid-template-columns:140px minmax(0,1fr);gap:var(--space-md);align-items:start}.stats-filters-grid .field{margin-bottom:0}.stats-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;margin-bottom:1rem}.stats-summary-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;min-width:0}.stats-summary-label{font-size:.8rem;color:var(--fg-muted);font-weight:600}.stats-summary-value{font-size:1.25rem;line-height:1.3;word-break:break-word}.stats-summary-value.accent{color:var(--brand)}.stats-summary-meta{font-size:.8rem;color:var(--fg-muted)}.stats-section-title-spaced{margin:1.5rem 0 .75rem}.stats-summary-ai{margin-bottom:.5rem}.stats-summary-inline{margin-bottom:1rem}.stats-user-meta{display:block;font-size:.78rem;color:var(--fg-muted);font-weight:400;margin-top:.15rem}.stats-chart-card,.stats-table-card{margin-bottom:1rem}.stats-section-title{margin:0 0 1rem;font-size:1.05rem}.stats-chart-wrap{width:100%;max-width:100%;min-width:0}.stats-chart{width:100%;height:auto;display:block}.stats-grid-line{stroke:var(--chart-grid);stroke-width:1}.stats-baseline{stroke:var(--border);stroke-width:1.5}.stats-axis-label{font-size:11px;fill:var(--fg-muted)}.stats-axis-bills{fill:var(--chart-1)}.stats-axis-amount{fill:var(--chart-2)}.stats-month-label{font-size:11px;fill:var(--fg-muted)}.stats-bar-bills{fill:var(--brand)}.stats-bar-amount{fill:var(--chart-3)}.stats-legend{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:.85rem;font-size:.85rem;color:var(--fg-muted)}.stats-legend-item{display:inline-flex;align-items:center;gap:.4rem}.stats-legend-swatch{width:12px;height:12px;border-radius:3px;display:inline-block}.stats-legend-swatch.bills{background:var(--brand)}.stats-legend-swatch.amount{background:var(--chart-3)}.stats-table tfoot td{border-top:2px solid var(--border);border-bottom:none}.stats-table-card .admin-users-table-wrap{max-width:100%;min-width:0;-webkit-overflow-scrolling:touch}.page:has(.stats-filters){min-width:0;max-width:100%}@media(max-width:900px){.bill-filters-grid,.admin-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-create-actions{grid-column:1 / -1}.admin-create-actions .btn-primary{width:100%}.stats-summary,.stats-filters-grid{grid-template-columns:1fr}}@media(max-width:640px){.stats-filters-grid,.stats-summary{grid-template-columns:1fr}.stats-summary-value{font-size:1.15rem}.stats-summary-ai.stats-summary-inline{margin-bottom:.75rem}.stats-table-card .admin-users-table{font-size:.82rem}.stats-table-card .admin-users-table th,.stats-table-card .admin-users-table td{padding:.55rem .45rem;vertical-align:top}.stats-user-meta{word-break:break-word}.header-inner{padding:.45rem 0;gap:.45rem}.logo{font-size:.96rem}.logo-accent{display:none}.header-user-backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border:none;padding:0;margin:0;background:var(--overlay-stats);cursor:pointer}.header-user-close{display:inline-flex}.header-notifications-backdrop{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border:none;padding:0;margin:0;background:var(--overlay-stats);cursor:pointer}.header-notifications-close{display:inline-flex}.header-notifications-trigger{width:38px;height:38px;flex-shrink:0}.header-actions{gap:.35rem;flex-shrink:0}.lang-btn{min-height:38px;padding:.26rem .52rem;font-size:.68rem}.main{padding:1rem .85rem 1.5rem;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.page h1{font-size:1.4rem}.subtitle{margin-bottom:1rem;font-size:.9rem}.card{padding:1rem;border-radius:var(--radius-md)}.btn-primary,.btn-secondary{min-height:var(--size-touch)}.login-screen{padding:1.25rem 1rem;align-items:flex-start}.login-slogan{min-height:4.2rem;font-size:var(--text-base)}.login-card{padding:1.75rem 1.25rem}.login-title{font-size:1.35rem}.admin-create-form,.bill-filters-grid{grid-template-columns:1fr}.admin-users-table th,.admin-users-table td{padding:.65rem .75rem}.admin-row-actions{justify-content:flex-start}.users-item{align-items:flex-start;flex-wrap:wrap}.users-item-side{width:100%;padding-left:calc(40px + .75rem);justify-content:space-between}.users-bank-badge{max-width:none;flex:1}.impersonation-banner{flex-direction:column;align-items:stretch}.impersonation-stop{width:100%}.page-header{flex-direction:column;gap:.85rem}.page-header-actions{width:100%;align-items:stretch}.bill-list-header{flex-direction:column;align-items:stretch}.bill-list-create-btn{width:100%}.bill-list-controls{flex-direction:column;align-items:stretch}.bill-list-controls-start{width:100%;flex-direction:column;align-items:stretch}.view-toggle,.bill-list-segments{display:flex;width:100%}.view-toggle button,.bill-list-segments button{flex:1;min-height:42px}.bill-list-bulk-link{align-self:flex-end;padding-right:0}.pagination{flex-direction:column;align-items:stretch}.pagination-controls{justify-content:center}.bill-filters-actions{flex-direction:column;align-items:stretch;gap:.75rem}.creator-group{padding:1rem}.creator-group-header{flex-direction:column}.creator-group-actions{width:100%;align-items:stretch}.btn-export{width:100%;min-height:40px}.item-header{display:none}.item-row{grid-template-columns:1fr;background:var(--surface-muted);padding:.75rem;border-radius:var(--radius-sm)}.item-row .btn-remove{width:100%;height:2.25rem}.bill-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem .75rem}.bill-header-actions{width:auto;align-items:flex-end;gap:0}.bill-header>div:first-child{min-width:0}.bill-time{display:none}.bill-action-buttons{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}.bill-action-buttons>*:not(.pay-person-icon-btn){flex:1;min-height:42px;text-align:center;display:inline-flex;align-items:center;justify-content:center}.bill-action-buttons .pay-person-icon-btn{flex:0 0 34px;width:34px;height:34px;border-radius:var(--radius-sm)}.bill-table-wrap{overflow:visible}.bill-table{display:block;min-width:0;font-size:.88rem}.bill-table thead{display:none}.bill-table tbody,.bill-table tfoot,.bill-table tr,.bill-table td{display:block;width:100%}.bill-table tbody{display:flex;flex-direction:column;gap:.65rem}.bill-table tbody tr,.bill-table tfoot tr{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface);overflow:hidden;box-shadow:var(--shadow-sm)}.bill-table tbody tr{position:relative;padding:.85rem}.bill-table tbody tr.has-menu-actions{overflow:visible}.bill-table tbody tr>td:first-child{padding-right:3.25rem}.bill-table tbody tr:hover td{background:transparent}.bill-table th,.bill-table td{padding:.45rem 0;border-bottom:0;word-break:normal;overflow-wrap:anywhere}.bill-table tbody td,.bill-table tfoot td{display:grid;grid-template-columns:minmax(5.75rem,34%) minmax(0,1fr);align-items:start;gap:.65rem}.bill-table tbody td:before,.bill-table tfoot td[data-label]:before{content:attr(data-label);color:var(--fg-muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.bill-table tbody td:first-child{padding-top:0;font-weight:700;color:var(--fg)}.bill-person-cell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.35rem .45rem;min-width:0}.bill-person-cell .paid-badge{margin-left:0;padding:.18rem .5rem;font-size:.68rem;line-height:1.15;letter-spacing:0;border:1px solid var(--success-border);background:var(--success-subtle)}.bill-table tbody td:first-child:before{color:var(--fg-muted)}.bill-table tbody td:nth-child(2){padding-top:.35rem;color:var(--fg)}.bill-table tbody td.action-col,.bill-table tbody td.claim-col{display:flex;justify-content:flex-end}.bill-table tbody td.item-menu-col{position:absolute;top:.55rem;right:.55rem;z-index:4;width:auto;padding:0;border:0}.bill-table tbody td.action-col.is-empty,.bill-table tbody td.claim-col.is-empty,.bill-table tbody td.pay-actions-col.is-empty{display:none}.bill-table tbody td.pay-actions-col{display:block;grid-template-columns:1fr;padding-top:.55rem;margin-top:.35rem;border-top:1px dashed var(--border-soft)}.bill-table tbody td.pay-actions-col:before{margin-bottom:.35rem}.bill-person-pay-actions{justify-content:flex-start}.bill-table tbody tr.person-subtotal-row{border-color:var(--brand-subtle);background:var(--surface-muted)}.bill-table tbody tr.person-subtotal-row td{background:transparent}.bill-table tbody tr.has-inline-pay td.pay-actions-col{margin-top:.15rem}.bill-table tbody td.action-col:before,.bill-table tbody td.claim-col:before{display:none}.bill-table tfoot{display:flex;flex-direction:column;gap:.65rem;margin-top:.75rem}.bill-table tfoot td{border-top:0}.bill-table tr td:last-child{border-bottom:0}.amount-col{text-align:right!important;white-space:normal;font-weight:700;color:var(--brand)}.btn-claim-item,.btn-unclaim-item,.btn-delete-item{min-height:40px}.btn-claim-item,.btn-unclaim-item{padding:.45rem .85rem}.btn-delete-item{width:40px;height:40px}.pay-page{padding:0}.pay-container{padding-top:1.1rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.pay-page-header{flex-direction:column;align-items:stretch}.pay-full-bill-btn{width:100%;text-align:center}.pay-page-header h1{font-size:1.25rem}.pay-quick-login{flex-direction:column;align-items:stretch}.pay-quick-login-action{align-items:stretch}.pay-quick-login-google{justify-content:center}.pay-quick-login-error{max-width:none;text-align:left}.pay-summary .bill-table,.pay-persons .bill-table{table-layout:auto}.pay-summary .bill-table th,.pay-summary .bill-table td,.pay-persons-table th,.pay-persons-table td{width:100%;max-width:100%}.pay-summary .bill-table tbody tr>td:first-child{padding-right:0}.pay-summary .bill-table tbody td.amount-col,.pay-persons-table tbody td.amount-col{white-space:normal;text-align:right!important}.pay-summary .bill-table tbody td.amount-col:before{text-align:left}.pay-summary .bill-table tbody td.pay-item-action-col{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;padding-top:.35rem}.pay-summary .bill-table tbody td.pay-item-action-col.is-empty{display:none}.pay-summary .bill-table tbody td.pay-item-action-col:before{width:100%;text-align:left}.pay-persons-table tbody td.pay-persons-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;padding-top:.35rem}.pay-persons-table tbody td.pay-persons-actions:before{content:none}.pay-persons-table tbody tr.is-you{border-color:var(--brand-a-22);border-left:3px solid var(--brand);background:var(--surface-muted);box-shadow:0 0 0 1px var(--brand-a-10),var(--shadow-sm)}.pay-persons-table tbody tr.is-you.row-paid{background:var(--surface-muted)}.pay-persons-table tbody tr.is-you td,.pay-persons-table tbody tr.is-you td:first-child{background:transparent;box-shadow:none}.pay-persons-table tbody tr.is-you .pay-you-badge{position:absolute;top:.62rem;right:.72rem;margin:0;padding:.18rem .55rem;font-size:.68rem;line-height:1.2;letter-spacing:.02em;border:1px solid var(--brand-a-18);box-shadow:var(--shadow-sm)}.pay-persons-table tbody tr.is-you>td:first-child{padding-right:3.6rem}.pay-persons-table tbody tr.is-you .bill-person-cell{align-items:flex-start;gap:.3rem}.pay-persons-table tbody tr.is-you .bill-person-cell .paid-badge{margin-left:0}.pay-qr-layout{grid-template-columns:1fr;justify-items:center;gap:.75rem}.pay-qr-image{width:180px}.pay-bank-info{width:100%}.pay-info-row{flex-wrap:wrap;gap:.1rem .75rem}.pay-info-row strong{text-align:left}.pay-actions{grid-template-columns:1fr}.pay-persons-actions{width:auto;white-space:normal}.pay-person-btn{margin:.2rem 0 0 .25rem;padding:.24rem .45rem;font-size:.72rem}.pay-person-icon-btn{width:44px;height:44px;margin:.15rem 0 0 .2rem}.bill-comments-name{align-items:stretch;flex-direction:column;gap:.35rem}.bill-comments-name input{width:100%;margin-left:0}.bill-comment-actions{width:100%;margin-left:0;justify-content:space-between}.quick-bill-lines li{grid-template-columns:minmax(0,1fr) auto;gap:.1rem .5rem}.quick-bill-lines li span:nth-child(2){grid-column:1 / -1;color:var(--fg-muted)}.quick-bill-actions .btn-primary,.quick-bill-actions .btn-secondary{width:100%}.create-modes-tabs{width:100%;justify-content:space-between}.create-modes-tabs button{flex:1;padding:.45rem .5rem;font-size:.82rem}.quick-bill-draft-head .btn-primary{width:100%}.person-pay-item{flex-direction:column;align-items:stretch}.person-pay-item-actions{width:100%}.person-pay-item-actions .pay-person-icon-btn{flex:1 1 0;min-height:var(--size-touch);height:44px;text-align:center}}@media(max-width:400px){.logo{font-size:.95rem}.card{padding:1rem .85rem}.bill-table td{grid-template-columns:1fr;gap:.25rem;padding:.65rem;font-size:.8rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer features{.food-advisor-widget{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:90}.food-advisor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:-1}.food-advisor-fab{width:3.5rem;height:3.5rem;border:0;border-radius:50%;background:linear-gradient(145deg,var(--brand),var(--brand-hover));color:var(--brand-on);font-size:1.55rem;line-height:1;cursor:pointer;box-shadow:0 8px 24px var(--brand-a-45);display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.food-advisor-fab:hover{transform:scale(1.05);box-shadow:0 10px 28px var(--brand-a-50)}.food-advisor-widget.is-open .food-advisor-fab{font-size:1.75rem;font-weight:300}.food-advisor-panel{position:absolute;right:0;bottom:4.25rem;width:min(22rem,calc(100vw - 2rem));max-height:min(70vh,32rem);background:var(--surface);border-radius:var(--radius-xl);box-shadow:0 16px 48px var(--overlay-22);display:flex;flex-direction:column;overflow:hidden}.food-advisor-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.85rem .85rem .5rem;border-bottom:1px solid var(--border-soft);background:var(--surface-muted)}.food-advisor-panel-title{display:flex;gap:.6rem;align-items:flex-start;min-width:0}.food-advisor-panel-title strong{display:block;font-size:.95rem;line-height:1.3}.food-advisor-panel-title p{margin:.15rem 0 0;font-size:.78rem;color:var(--fg-muted);line-height:1.35}.food-advisor-panel-avatar{font-size:1.6rem;line-height:1;flex-shrink:0}.food-advisor-close{border:0;background:transparent;color:var(--fg-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.1rem .35rem;border-radius:var(--radius-xs)}.food-advisor-close:hover{background:var(--chart-grid);color:var(--fg)}.food-advisor-quota{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.75rem;color:var(--fg-muted);padding:.45rem .85rem 0}.food-advisor-quota-sep{opacity:.5}.food-advisor-notice{margin:.45rem .85rem 0;padding:.5rem .65rem;border-radius:var(--radius-sm);font-size:.82rem}.food-advisor-notice.is-error{background:var(--danger-subtle);color:var(--danger)}.food-advisor-notice.is-muted{background:var(--surface-muted);color:var(--fg-muted)}.food-advisor-chat{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.food-advisor-messages{list-style:none;margin:0;padding:.75rem .85rem;flex:1;min-height:10rem;max-height:16rem;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem}.food-advisor-msg{display:flex;gap:.45rem;align-items:flex-end}.food-advisor-msg.is-user{justify-content:flex-end}.food-advisor-msg-avatar{font-size:1.2rem;line-height:1;flex-shrink:0}.food-advisor-bubble{max-width:88%;padding:.55rem .75rem;border-radius:12px;font-size:.88rem;white-space:pre-wrap;word-break:break-word}.food-advisor-msg.is-user .food-advisor-bubble{background:var(--brand);color:var(--brand-on);border-bottom-right-radius:4px}.food-advisor-msg.is-assistant .food-advisor-bubble{background:var(--chart-grid);color:var(--fg);border-bottom-left-radius:4px}.food-advisor-bubble.is-typing{font-style:italic;color:var(--fg-muted)}.food-advisor-error{margin:0 .85rem .35rem;color:var(--danger);font-size:.82rem}.food-advisor-form{border-top:1px solid var(--border-soft);padding:.65rem .85rem .5rem}.food-advisor-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-md);padding:.55rem .65rem;font:inherit;font-size:.88rem;resize:none;min-height:2.5rem}.food-advisor-input:focus{outline:2px solid var(--brand-a-35);border-color:var(--brand)}.food-advisor-form-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.45rem}.food-advisor-form-foot .btn-primary{padding:.4rem .85rem;font-size:.85rem}.food-advisor-footnote{margin:0;padding:.35rem .85rem .65rem;text-align:center;font-size:.72rem}@media(max-width:480px){.food-advisor-panel{width:calc(100vw - 2rem);max-height:min(72vh,36rem)}.food-advisor-messages{max-height:14rem}}@media(max-width:640px){.bill-table tfoot td[data-label]:before{content:none}.bill-table tfoot tr{display:grid;grid-template-columns:minmax(0,1fr) auto;box-shadow:none}.bill-table tfoot td{width:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:0;padding:.55rem .7rem}.bill-table tfoot td:empty{display:none}.bill-table tfoot td[colspan]{padding-bottom:.2rem;border-bottom:0;color:var(--fg-muted);font-size:.84rem}.bill-table tfoot .amount-col{justify-content:flex-end;padding-top:.2rem;color:var(--brand);font-size:.98rem;text-align:right!important}.bill-table tbody td.action-col .item-action-menu{display:inline-flex;margin-left:auto}.bill-table tbody td.action-col .item-action-inline{display:none}.bill-table tbody td.action-col .item-action-trigger{width:40px;height:40px;border-radius:var(--radius-md);background:transparent;box-shadow:none}.item-action-popover{top:calc(100% + .4rem);right:0;min-width:min(13rem,calc(100vw - 3rem))}.item-action-option{min-height:var(--size-touch);font-size:.88rem}.bill-table tbody td.action-col .btn-delete-item{width:40px;min-width:40px;height:40px;min-height:40px;margin-left:auto}.bill-table tbody td.action-col .btn-delete-item:hover:not(:disabled){background:var(--danger-subtle);transform:none}}.game-catalog{display:grid;gap:var(--space-md)}.game-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-md);align-items:center;padding:1.1rem 1.25rem}.game-card-icon{width:4.5rem;height:4.5rem;border-radius:1rem;background:linear-gradient(145deg,var(--brand-subtle),var(--surface-muted));display:flex;align-items:center;justify-content:center;flex-shrink:0}.game-card-icon-caro{position:relative;overflow:hidden}.game-card-piece{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;font-size:.82rem;font-weight:700}.game-card-piece-x{top:.85rem;left:.75rem;background:var(--fg);color:var(--brand-on)}.game-card-piece-o{right:.7rem;bottom:.8rem;background:var(--surface);color:var(--danger);border:2px solid var(--danger)}.game-card-heading{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.game-card-heading h2{margin:0;font-size:1.15rem}.game-card-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:var(--brand-subtle);color:var(--brand);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.game-card-description{margin:.35rem 0 0;color:var(--fg)}.game-card-meta{margin:.35rem 0 0;color:var(--fg-muted);font-size:.9rem}.game-card-action{white-space:nowrap;min-width:6.5rem;text-align:center;text-decoration:none}.game-card-icon-minesweeper{position:relative;--game-card-mine-color: var(--fg);--game-card-flag-color: var(--danger);background:linear-gradient(145deg,var(--warning-surface-soft),var(--surface-muted));border:1px solid var(--warning-border-muted)}.game-card-mine-svg,.game-card-flag-svg{position:absolute}.game-card-mine-body{fill:var(--game-card-mine-color)}.game-card-mine-spikes{fill:none;stroke:var(--game-card-mine-color)}.game-card-flag-path{fill:none;stroke:var(--game-card-flag-color)}.game-card-mine-svg{top:.9rem;left:.85rem}.game-card-flag-svg{right:.8rem;bottom:.85rem}}@layer pages{.minesweeper-page{--ms-primary: #be185d;--ms-primary-hover: #9d174d;--ms-primary-soft: var(--color-game-pink-soft);--ms-on-primary: #fff7fb;--ms-guess-low: var(--success);--ms-guess-medium: var(--warning);--ms-guess-high: var(--warning);--ms-guess-critical: var(--danger);--ms-border: var(--border);--ms-muted: var(--fg-muted);--ms-surface: var(--surface);--ms-bg: var(--bg);--ms-board-bg: #1e293b;--ms-cell-closed: #64748b;--ms-cell-closed-hi: #cbd5e1;--ms-cell-closed-lo: #334155;--ms-cell-open: #eef2f7;--ms-cell-flagged: #e8c9cf;--ms-cell-flag-icon: #9f1239;--ms-cell-mine: #b91c1c;--ms-cell-mine-icon: #fef2f2;--ms-cell-wrong: #fecaca;--ms-n1: #1d4ed8;--ms-n2: #166534;--ms-n3: #b91c1c;--ms-n4: #1e3a8a;--ms-n5: #9a3412;--ms-n6: #155e75;--ms-n7: #111827;--ms-n8: #4b5563;max-width:68rem;margin-inline:auto}.ms-header{margin-bottom:1.25rem}.ms-header h1{margin:0 0 .35rem;font-size:clamp(1.5rem,2.5vw,1.85rem);color:var(--fg)}.ms-header p{margin:0;color:var(--ms-muted);font-size:.95rem;line-height:1.5}.ms-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);gap:1rem;align-items:start}.ms-layout--solo{grid-template-columns:minmax(0,1fr);max-width:40rem;margin-inline:auto}.ms-main,.ms-sidebar{background:var(--ms-surface);border:1px solid var(--ms-border);border-radius:.75rem;padding:1rem}.ms-sidebar h2{margin:0 0 .25rem;font-size:1rem}.ms-sidebar-desc{margin:0 0 .75rem;font-size:.82rem;color:var(--ms-muted);line-height:1.45}.ms-loading,.ms-empty{padding:2rem 1rem;text-align:center;color:var(--ms-muted)}.ms-alert{margin:0 0 1rem;padding:.85rem 1rem;border-radius:.5rem;border:1px solid var(--danger-border);background:var(--danger-subtle);color:var(--danger)}.ms-lobby{display:flex;flex-direction:column;gap:1rem}.ms-field label{display:block;margin-bottom:.4rem;font-size:.8rem;font-weight:600;color:var(--fg)}.ms-segmented{display:flex;flex-wrap:wrap;gap:.4rem}.ms-segmented button{flex:1 1 auto;min-height:2.75rem;padding:.45rem .75rem;border:1px solid var(--ms-border);border-radius:.5rem;background:var(--ms-surface);color:var(--fg);font-size:.88rem;font-weight:500;cursor:pointer;transition:border-color .15s ease,background .15s ease}.ms-segmented button:hover{border-color:var(--ms-border);background:var(--ms-bg)}.ms-segmented button.is-active{border-color:var(--ms-primary);background:var(--danger-subtle);color:var(--color-game-magenta-dark);font-weight:600}.ms-segmented button:focus-visible{outline:2px solid var(--ms-primary);outline-offset:2px}.ms-size-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.ms-size-grid button{min-height:2.75rem;padding:.5rem;border:1px solid var(--ms-border);border-radius:.5rem;background:var(--ms-surface);cursor:pointer;text-align:center;font-size:.82rem;color:var(--ms-muted)}.ms-size-grid button strong{display:block;color:var(--fg);font-size:.9rem}.ms-size-grid button.is-active{border-color:var(--ms-primary);background:var(--danger-subtle)}.ms-lobby-meta{padding:.65rem .75rem;border-radius:.5rem;background:var(--ms-bg);font-size:.85rem;color:var(--ms-muted)}.ms-lobby-meta strong{color:var(--fg)}.ms-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.75rem;padding:.55rem 1rem;border-radius:.5rem;border:1px solid transparent;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.ms-btn:focus-visible{outline:2px solid var(--ms-primary);outline-offset:2px}.ms-btn-primary{width:100%;background:var(--ms-primary);color:var(--ms-on-primary)}.ms-btn-primary:hover{background:var(--ms-primary-hover)}.ms-btn-secondary{background:var(--ms-surface);border-color:var(--ms-border);color:var(--fg)}.ms-btn-secondary:hover{background:var(--ms-bg)}.ms-btn-ghost{background:transparent;border-color:var(--ms-border);color:var(--ms-muted)}.ms-help{margin-top:.25rem;font-size:.82rem;color:var(--ms-muted)}.ms-help summary{cursor:pointer;font-weight:500;color:var(--ms-muted)}.ms-help-body{display:flex;flex-direction:column;gap:.85rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--ms-border)}.ms-help-body section h3{margin:0 0 .35rem;font-size:.8rem;font-weight:600;color:var(--fg)}.ms-help-body section p{margin:0 0 .35rem;line-height:1.5}.ms-help-body section p:last-child{margin-bottom:0}.ms-mode-desc{margin:.35rem 0 0;font-size:.82rem;line-height:1.45;color:var(--ms-muted)}.ms-game{display:flex;flex-direction:column;align-items:center;gap:.75rem}.ms-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%}.ms-quit{margin-right:auto}.ms-stats{display:flex;flex-wrap:wrap;gap:.5rem}.ms-stat{display:flex;flex-direction:column;min-width:4.5rem;padding:.35rem .6rem;border:1px solid var(--ms-border);border-radius:.45rem;background:var(--ms-bg)}.ms-stat span{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;color:var(--ms-muted)}.ms-stat strong{font-size:.95rem;font-variant-numeric:tabular-nums;color:var(--fg)}.ms-status{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.78rem;font-weight:600}.ms-status-playing{background:var(--brand-subtle);color:var(--brand-hover)}.ms-status-paused{background:var(--warning-subtle);color:var(--warning-strong)}.ms-status-won{background:var(--success-subtle);color:var(--success-strong)}.ms-status-lost{background:var(--danger-subtle);color:var(--danger)}.ms-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%}@media(pointer:coarse){.ms-modes{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-mode--desktop-hidden{display:inline-flex}}@media(pointer:fine){.ms-mode--desktop-hidden{display:none}}.ms-mode{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.75rem;padding:.4rem .65rem;border:1px solid var(--ms-border);border-radius:999px;background:var(--ms-surface);font-size:.82rem;font-weight:500;color:var(--ms-muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-mode.is-active{border-color:var(--ms-primary);background:var(--danger-subtle);color:var(--color-game-magenta-dark)}.ms-mode--guess.is-active{border-color:var(--indigo-fg);background:linear-gradient(145deg,var(--color-game-purple-soft),var(--danger-subtle));color:var(--color-game-purple-text)}.ms-mode__icon{width:1rem;height:1rem;flex-shrink:0}.ms-hint-slot{margin:0;width:100%;height:3.25rem;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:.8rem;line-height:1.45;color:var(--ms-muted);text-align:center}.ms-hint{margin:0;width:100%;font-size:.8rem;color:var(--ms-muted);text-align:center}.ms-board-wrap{position:relative;flex-shrink:0;width:min(100%,calc(var(--ms-cols, 16) * 1.85rem + .5rem));padding:.25rem;border-radius:.35rem;background:var(--ms-board-bg)}.ms-pause-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem;border-radius:inherit;background:#0f172ad6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ms-pause-title{margin:0;font-size:1.1rem;font-weight:700;color:#f8fafc}.ms-pause-desc{margin:0;max-width:16rem;font-size:.85rem;line-height:1.45;color:#cbd5e1;text-align:center}.ms-pause-overlay .ms-btn-primary{width:auto;min-width:8rem}.minesweeper-page--expert .ms-board-wrap{width:min(100%,calc(var(--ms-cols, 30) * 1.35rem + .5rem))}.minesweeper-page--expert .ms-cell{font-size:clamp(.58rem,1.6vw,.82rem)}.ms-expert-spec{padding:.75rem .9rem;border:1px solid var(--ms-border);border-radius:.55rem;background:var(--ms-bg)}.ms-expert-spec p{margin:.35rem 0 0;color:var(--ms-muted);font-size:.9rem}.ms-mode-link{display:inline-block;margin-top:.35rem;color:var(--color-game-magenta-dark);font-weight:600;text-decoration:none}.ms-mode-link:hover{text-decoration:underline}.ms-board{display:grid;gap:1px;width:100%;touch-action:manipulation}.ms-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;padding:0;border:none;cursor:pointer;font-weight:700;font-size:clamp(.75rem,2.8vw,.95rem);line-height:1;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ms-cell:focus-visible{outline:2px solid var(--ms-primary);outline-offset:1px;z-index:1}.ms-cell:disabled{cursor:default}.ms-cell.is-closed{background:var(--ms-cell-closed);box-shadow:inset 1px 1px 0 var(--ms-cell-closed-hi),inset -1px -1px 0 var(--ms-cell-closed-lo)}.ms-cell.is-closed:active:not(:disabled){background:var(--ms-cell-closed-lo);box-shadow:inset 1px 1px 2px var(--ms-cell-closed-lo)}.ms-cell.is-open{background:var(--ms-cell-open);box-shadow:inset 0 0 0 1px #0f172a0f}.ms-cell.is-flagged.is-closed{background:var(--ms-cell-flagged)}.ms-cell.is-mine.is-open,.ms-cell.is-mine.is-closed{background:var(--ms-cell-mine)}.ms-cell.is-wrong-flag{background:var(--ms-cell-wrong)}.ms-cell.is-pending{z-index:2;background:linear-gradient(160deg,var(--danger-subtle) 0%,var(--color-game-lilac) 100%);box-shadow:inset 0 0 0 2px var(--ms-primary),0 0 0 2px #ec489940,0 0 14px #ec489959;animation:ms-pending-pulse 1.4s ease-in-out infinite}.ms-cell-target{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.ms-cell-target__ring{position:absolute;width:72%;height:72%;border:2px solid rgba(236,72,153,.85);border-radius:50%;animation:ms-target-ring 1.4s ease-in-out infinite}.ms-cell-target__core{width:18%;height:18%;border-radius:50%;background:var(--ms-primary);box-shadow:0 0 6px #ec48998c}@keyframes ms-pending-pulse{0%,to{box-shadow:inset 0 0 0 2px var(--ms-primary),0 0 0 2px #ec489933,0 0 10px #ec489947}50%{box-shadow:inset 0 0 0 2px var(--ms-primary),0 0 0 4px #ec489947,0 0 18px #ec489973}}@keyframes ms-target-ring{0%,to{transform:scale(.92);opacity:.75}50%{transform:scale(1);opacity:1}}.ms-cell-num{font-weight:700;font-variant-numeric:tabular-nums}.ms-n1{color:var(--ms-n1)}.ms-n2{color:var(--ms-n2)}.ms-n3{color:var(--ms-n3)}.ms-n4{color:var(--ms-n4)}.ms-n5{color:var(--ms-n5)}.ms-n6{color:var(--ms-n6)}.ms-n7{color:var(--ms-n7)}.ms-n8{color:var(--ms-n8)}.ms-cell-icon{width:55%;height:55%;max-width:1rem;max-height:1rem}.ms-cell-icon-flag{color:var(--ms-cell-flag-icon)}.ms-cell-icon-mine{color:var(--ms-cell-mine-icon)}.ms-guess-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f172a6b;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ms-guess-dialog{position:fixed;z-index:50;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,21rem);padding:1.1rem 1.1rem 1rem;border-radius:1rem;border:1px solid var(--color-game-pink-soft);background:linear-gradient(180deg,var(--surface) 0%,var(--color-game-rose-bg) 100%);box-shadow:0 24px 48px #0f172a29,0 0 0 1px #ec489914;animation:ms-guess-enter .18s ease-out}.ms-guess-dialog--low{--ms-guess-tone: var(--ms-guess-low)}.ms-guess-dialog--medium{--ms-guess-tone: var(--ms-guess-medium)}.ms-guess-dialog--high{--ms-guess-tone: var(--ms-guess-high)}.ms-guess-dialog--critical{--ms-guess-tone: var(--ms-guess-critical)}.ms-guess-dialog__close{position:absolute;top:.55rem;right:.55rem;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:999px;background:transparent;color:var(--fg-muted);cursor:pointer}.ms-guess-dialog__close:hover{background:var(--ms-bg);color:var(--fg-muted)}.ms-guess-dialog__close:focus-visible{outline:2px solid var(--ms-primary);outline-offset:2px}.ms-guess-dialog__close-icon{width:1rem;height:1rem}.ms-guess-dialog__header{display:flex;align-items:flex-start;gap:.7rem;padding-right:1.5rem;margin-bottom:.85rem}.ms-guess-dialog__badge{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:.7rem;background:linear-gradient(145deg,var(--danger-subtle),var(--color-game-lilac));color:var(--color-game-violet);flex-shrink:0}.ms-guess-dialog__badge-icon{width:1.2rem;height:1.2rem}.ms-guess-dialog h3{margin:0;font-size:1.02rem;color:var(--fg)}.ms-guess-dialog__subtitle{margin:.2rem 0 0;font-size:.82rem;line-height:1.45;color:var(--ms-muted)}.ms-guess-dialog__gauge{display:flex;justify-content:center;margin-bottom:.65rem}.ms-guess-ring{--guess-pct: 0;width:6.5rem;height:6.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(var(--ms-guess-tone) calc(var(--guess-pct) * 1%),var(--fg) 0);box-shadow:inset 0 0 0 1px #0f172a0a}.ms-guess-ring__inner{width:4.85rem;height:4.85rem;border-radius:50%;background:var(--ms-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;box-shadow:0 1px 2px #0f172a0f}.ms-guess-ring__value{font-size:1.35rem;font-weight:800;line-height:1;color:var(--fg)}.ms-guess-ring__label{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ms-guess-tone)}.ms-guess-dialog__probability{margin:0 0 .65rem;text-align:center;font-size:.86rem;color:var(--ms-muted)}.ms-guess-bonus-chip{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem;padding:.55rem .7rem;border-radius:.65rem;border:1px solid var(--warning-border);background:linear-gradient(145deg,var(--color-game-warm-bg-soft),var(--warning-subtle));font-size:.8rem;line-height:1.4;color:var(--warning-strong)}.ms-guess-bonus-chip__icon{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;padding:.15rem .45rem;border-radius:999px;background:var(--warning);color:var(--color-game-warm-bg-soft);font-size:.75rem;font-weight:800;flex-shrink:0}.ms-guess-dialog__actions{display:flex;gap:.5rem}.ms-guess-dialog__actions .ms-btn{flex:1;width:auto}@keyframes ms-guess-enter{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.ms-result{margin:0;font-weight:600;text-align:center}.ms-result-won{color:var(--success-strong)}.ms-result-lost{color:var(--danger)}.ms-end-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.ms-stats-card{width:100%;padding:.75rem;border:1px solid var(--ms-border);border-radius:.5rem;background:var(--ms-bg);font-size:.85rem}.ms-stats-card h3{margin:0 0 .5rem;font-size:.9rem}.ms-stats-row{display:flex;justify-content:space-between;gap:.5rem;margin-top:.25rem;color:var(--ms-muted)}.ms-stats-row strong{color:var(--fg);font-variant-numeric:tabular-nums}.ms-segmented--mines button{min-width:3rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;line-height:1.2}.ms-segmented--mines button small{font-size:.7rem;font-weight:500;opacity:.75}.ms-lb-tabs{display:flex;gap:.35rem;margin-bottom:.65rem}.ms-lb-tabs--mines{flex-wrap:wrap}.ms-lb-tabs--mines button{flex:1 1 calc(20% - .35rem);min-width:2.5rem;padding-inline:.25rem;font-size:.8rem}.ms-lb-tabs button{flex:1;min-height:2.25rem;border:1px solid var(--ms-border);border-radius:.45rem;background:var(--ms-surface);font-size:.8rem;font-weight:500;cursor:pointer}.ms-lb-tabs button.is-active{border-color:var(--ms-primary);background:var(--danger-subtle);color:var(--color-game-magenta-dark);font-weight:600}.ms-lb-count{margin:0 0 .5rem;font-size:.8rem;color:var(--ms-muted)}.ms-my-best{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .65rem;margin-bottom:.65rem;padding:.55rem .65rem;border-radius:.45rem;background:var(--danger-subtle);font-size:.85rem}.ms-my-best strong{font-variant-numeric:tabular-nums;color:var(--color-game-magenta-dark)}.ms-lb-list{margin:0;padding:0;list-style:none;max-height:22rem;overflow:auto}.ms-lb-item{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.5rem;align-items:center;padding:.45rem .35rem;border-bottom:1px solid var(--fg);font-size:.85rem}.ms-lb-item.is-me{background:var(--danger-subtle);border-radius:.35rem}.ms-lb-rank{font-weight:600;color:var(--ms-muted);font-variant-numeric:tabular-nums}.ms-lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-lb-time{font-variant-numeric:tabular-nums;font-weight:600;color:var(--fg)}.ms-back{display:inline-block;margin-top:.85rem;font-size:.85rem;color:var(--ms-muted);text-decoration:none}.ms-back:hover{color:var(--fg)}@media(max-width:900px){.ms-layout{grid-template-columns:1fr}.ms-sidebar{order:2}}@media(max-width:480px){.ms-size-grid{grid-template-columns:1fr}.ms-toolbar{flex-direction:column;align-items:stretch}.ms-quit{margin-right:0;width:100%}.ms-stats{justify-content:space-between}}@media(prefers-reduced-motion:reduce){.ms-btn,.ms-segmented button,.ms-mode,.ms-cell,.ms-guess-dialog{transition:none;animation:none}.ms-cell.is-pending,.ms-cell-target__ring{animation:none}}}@layer pages{.caro-lobby-page{--caro-lobby-pink: var(--color-game-pink);--caro-lobby-purple: var(--brand);--caro-lobby-mint: var(--secondary);max-width:52rem;margin-inline:auto}.caro-lobby-layout{display:flex;flex-direction:column;gap:1rem}.caro-lobby-aside{display:flex;flex-direction:column;gap:1rem;min-width:0}.caro-lobby-page .game-breadcrumb{margin-bottom:.65rem}.caro-lobby-page .subtitle{margin-bottom:0}.caro-room-page{max-width:min(44rem,100%);margin-inline:auto}.caro-room-page .game-breadcrumb{margin-bottom:.65rem}.caro-room-page--playing{max-width:none;margin-inline:0;margin-bottom:0}.caro-room-page--waiting,.caro-room-waiting{display:flex;flex-direction:column;gap:.65rem}.caro-room-toolbar{border-color:#f9a8d473;border-radius:1rem;background:linear-gradient(145deg,#fffffffa,#fdf2f8f2);box-shadow:0 0 0 1px #ffffffd9 inset,0 8px 24px -14px #be185d2e}.caro-game-status-bar.is-waiting{border-color:#a78bfa59;background:linear-gradient(90deg,var(--indigo-subtle),var(--surface));color:var(--indigo-fg);font-weight:600}.caro-room-waiting-layout{display:flex;justify-content:center}.caro-room-waiting-card{width:100%;max-width:28rem;margin-inline:auto}.caro-room-waiting-card .caro-lobby-room-player{position:relative;padding:.55rem .35rem;border-radius:.85rem;border:1px solid transparent}.caro-room-waiting-card .caro-lobby-room-player.is-me{border-color:#a78bfa73;background:linear-gradient(165deg,var(--surface) 0%,var(--indigo-subtle) 100%)}.caro-room-waiting-card .caro-lobby-room-player.is-pending{border-style:dashed;border-color:#a78bfa66;background:#f5f3ff8c}.caro-room-player-role{font-size:.72rem;font-weight:600;color:var(--fg-muted)}.caro-room-you-chip{position:absolute;top:.2rem;right:.2rem;padding:.1rem .4rem;border-radius:999px;background:var(--color-game-purple-soft);color:var(--brand-hover);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.caro-lobby-room-player:first-child .caro-room-you-chip{right:auto;left:.2rem}.caro-room-waiting-hints{display:flex;flex-direction:column;align-items:center;gap:.55rem;padding:.65rem .35rem .15rem;text-align:center}.caro-room-waiting-icon{position:relative;width:4.5rem;height:4.5rem;border-radius:1rem;border:2px solid var(--color-game-pink-border);background:linear-gradient(145deg,var(--danger-subtle),var(--color-game-lilac));box-shadow:0 8px 20px -12px #be185d47}.caro-room-waiting-icon .caro-lobby-hero-grid{top:.45rem;right:.45rem;bottom:.45rem;left:.45rem}.caro-room-waiting-piece-x,.caro-room-waiting-piece-o{position:absolute;width:1.35rem;height:1.35rem;font-size:.68rem;z-index:1}.caro-room-waiting-piece-x{top:.5rem;left:.45rem}.caro-room-waiting-piece-o{right:.4rem;bottom:.45rem}.caro-room-waiting-message{margin:0;color:var(--fg);font-size:.92rem;line-height:1.5}.caro-room-waiting-share{margin:0;padding:.55rem .75rem;border-radius:.75rem;border:1px solid rgba(167,139,250,.3);background:var(--color-game-purple-soft);color:var(--color-game-purple-text);font-size:.82rem;line-height:1.45}.caro-room-skeleton{display:grid;gap:.65rem}.caro-room-skeleton-toolbar,.caro-room-skeleton-status,.caro-room-skeleton-card{border-radius:1rem;background:linear-gradient(90deg,var(--fg) 0%,var(--border) 45%,var(--fg) 90%);background-size:200% 100%;animation:caro-lobby-shimmer 1.2s ease-in-out infinite}.caro-room-skeleton-toolbar{height:2.85rem}.caro-room-skeleton-status{height:2.25rem;border-radius:999px;max-width:22rem;margin-inline:auto;width:100%}.caro-room-skeleton-card{height:18rem}.caro-room-error-panel{padding:1.25rem;border-radius:1.2rem;border:1px solid var(--border-soft);background:#ffffffeb;box-shadow:var(--shadow-sm)}.caro-room-page--closed{display:flex;flex-direction:column;gap:.65rem}.caro-room-closed{display:flex;justify-content:center;padding:.5rem 0 1rem}.caro-room-closed-card{width:100%;max-width:24rem;display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:1.5rem 1.25rem 1.35rem;border-radius:1.2rem;border:2px solid rgba(249,168,212,.45);background:radial-gradient(ellipse 90% 80% at 50% 0%,rgba(250,232,255,.9),transparent 62%),linear-gradient(165deg,var(--surface) 0%,var(--danger-subtle) 55%,var(--indigo-subtle) 100%);box-shadow:0 0 0 1px #ffffffe6 inset,0 12px 32px -18px #be185d38;text-align:center}.caro-room-closed-icon{position:relative;width:4.25rem;height:4.25rem;margin-bottom:.15rem}.caro-room-closed-icon .caro-piece-x{position:absolute;top:.15rem;left:.1rem;opacity:.45}.caro-room-closed-icon .caro-piece-o{position:absolute;right:.05rem;bottom:.1rem;opacity:.45}.caro-room-closed-title{margin:0;font-size:1.35rem;line-height:1.2;background:linear-gradient(135deg,var(--owe),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}.caro-room-closed-body{margin:0;color:var(--fg-muted);font-size:.92rem;line-height:1.5}.caro-room-closed-code{margin:0;font-size:.82rem;color:var(--fg);letter-spacing:.06em}.caro-room-closed-code strong{font-variant-numeric:tabular-nums;color:var(--brand-hover)}.caro-room-closed-action{margin-top:.35rem;width:100%;max-width:16rem}.caro-lobby-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin-bottom:1rem;padding:1.25rem 1.35rem;border-radius:1.35rem;border:2px solid rgba(249,168,212,.55);background:radial-gradient(ellipse 80% 90% at 100% 0%,rgba(250,232,255,.95),transparent 58%),linear-gradient(145deg,var(--surface) 0%,var(--danger-subtle) 42%,var(--indigo-subtle) 100%);box-shadow:0 0 0 1px #ffffffe6 inset,0 10px 0 -4px var(--color-game-pink-border),0 20px 40px -18px #be185d38}.caro-lobby-kicker{margin:0 0 .25rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-game-fuchsia-text)}.caro-lobby-title{margin:0;font-size:clamp(1.65rem,4vw,2.1rem);line-height:1.15;background:linear-gradient(135deg,var(--owe),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}.caro-lobby-subtitle{margin:.45rem 0 .9rem;max-width:28rem;color:var(--fg-muted);font-size:.95rem;line-height:1.5}.caro-lobby-create{min-height:2.75rem;padding:.55rem 1.15rem;border:none;border-radius:999px;background:linear-gradient(135deg,var(--color-game-magenta),var(--brand));color:var(--brand-on);font-size:.92rem;font-weight:700;cursor:pointer;box-shadow:0 10px 24px -12px #7e22cea6;transition:transform .15s ease,box-shadow .15s ease}.caro-lobby-create:hover:not(:disabled){box-shadow:0 12px 28px -10px #7e22cebf}.caro-lobby-create:active:not(:disabled){transform:scale(.98)}.caro-lobby-create:disabled{opacity:.65;cursor:not-allowed}.caro-lobby-hero-board{position:relative;width:5.5rem;height:5.5rem;border-radius:1.1rem;background:linear-gradient(145deg,var(--danger-subtle),var(--color-game-lilac));border:2px solid var(--color-game-pink-border);box-shadow:0 8px 20px -10px #be185d59;flex-shrink:0}.caro-lobby-hero-grid{position:absolute;top:.55rem;right:.55rem;bottom:.55rem;left:.55rem;border-radius:.55rem;background-image:linear-gradient(rgba(236,72,153,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(236,72,153,.12) 1px,transparent 1px);background-size:.65rem .65rem;opacity:.85}.caro-lobby-hero-piece{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;font-size:.78rem;font-weight:700;z-index:1}.caro-lobby-hero-piece-x{top:.65rem;left:.55rem;background:var(--fg);color:var(--brand-on);box-shadow:0 4px 10px #11182740}.caro-lobby-hero-piece-o{right:.5rem;bottom:.55rem;background:var(--surface);color:var(--danger);border:2px solid var(--danger);box-shadow:0 4px 10px #dc262633}.caro-lobby-stats{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-bottom:1rem}.caro-lobby-stat{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;border-radius:1rem;border:1px solid var(--border);background:#ffffffeb;box-shadow:var(--shadow-sm)}.caro-lobby-stat.is-live{border-color:#f43f5e47;background:linear-gradient(145deg,var(--color-game-rose-bg),var(--surface))}.caro-lobby-stat.is-waiting{border-color:#a78bfa59;background:linear-gradient(145deg,var(--indigo-subtle),var(--surface))}.caro-lobby-stat-value{font-size:1.45rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--fg)}.caro-lobby-stat.is-live .caro-lobby-stat-value{color:var(--color-game-pink-text)}.caro-lobby-stat.is-waiting .caro-lobby-stat-value{color:var(--brand-hover)}.caro-lobby-stat-label{font-size:.78rem;font-weight:600;color:var(--fg-muted)}.caro-lobby-error{margin-bottom:.85rem}.caro-lobby-panel{border-radius:1.2rem;border:1px solid var(--border-soft);background:#ffffffe0;box-shadow:var(--shadow-sm);overflow:hidden;min-width:0}.caro-lobby-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;padding:.4rem;background:var(--bg);border-bottom:1px solid var(--border-soft)}.caro-lobby-tab{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.75rem;padding:.45rem .65rem;border:none;border-radius:.75rem;background:transparent;color:var(--fg-muted);font-size:.86rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.caro-lobby-tab.is-active{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.caro-lobby-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--color-game-purple-soft);color:var(--brand-hover);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}.caro-lobby-tab-count.is-live{background:var(--color-game-rose-soft);color:var(--color-game-pink-text)}.caro-lobby-tabpanel{padding:1rem 1rem 1.15rem}.caro-lobby-tab-hint{margin:0 0 .85rem;color:var(--fg-muted);font-size:.88rem}.caro-lobby-room-grid{display:grid;gap:.75rem}.caro-lobby-room{display:flex;flex-direction:column;gap:.65rem;padding:.9rem;border-radius:1rem;border:1px solid var(--border-soft);background:linear-gradient(165deg,var(--surface) 0%,var(--danger-subtle) 100%);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.caro-lobby-room:hover{box-shadow:0 12px 28px -16px #5b21b647}.caro-lobby-room.is-live{border-color:#fda4af8c;background:linear-gradient(165deg,var(--surface) 0%,var(--color-game-rose-bg) 100%)}.caro-lobby-room-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.caro-lobby-room-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.caro-lobby-room-badge.is-live{background:var(--color-game-rose-soft);color:var(--color-game-pink-text);border:1px solid var(--color-game-rose)}.caro-lobby-room-badge.is-live:before{content:"";width:.4rem;height:.4rem;border-radius:999px;background:var(--owe);animation:caro-lobby-pulse 1.4s ease-in-out infinite}.caro-lobby-room-badge.is-open{background:var(--success-subtle);color:var(--success);border:1px solid var(--success-border)}.caro-lobby-room-code{font-size:.78rem;color:var(--fg-muted)}.caro-lobby-room-code strong{color:var(--fg);letter-spacing:.08em;font-variant-numeric:tabular-nums}.caro-lobby-room-duel{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.45rem}.caro-lobby-room-player{display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.caro-lobby-room-player:last-child{text-align:center}.caro-lobby-room-piece{width:2rem;height:2rem;font-size:.85rem}.caro-lobby-room-name{width:100%;font-size:.82rem;font-weight:700;line-height:1.3;text-align:center;overflow-wrap:anywhere}.caro-lobby-room-vs{font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--color-game-fuchsia)}.caro-lobby-room-meta{margin:0;text-align:center;font-size:.8rem;color:var(--fg-muted);font-variant-numeric:tabular-nums}.caro-lobby-room-action{min-height:2.75rem;width:100%;border-radius:999px;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.caro-lobby-room-action:active:not(:disabled){transform:scale(.98)}.caro-lobby-room-action.is-primary{border:none;color:var(--brand-on);background:linear-gradient(135deg,var(--color-game-magenta),var(--brand));box-shadow:0 8px 20px -12px #7e22ce8c}.caro-lobby-room-action.is-secondary{border:1px solid rgba(236,72,153,.35);color:var(--color-game-magenta-dark);background:var(--surface)}.caro-lobby-room-action.is-secondary:hover:not(:disabled){background:var(--danger-subtle)}.caro-lobby-room-action:disabled{opacity:.6;cursor:not-allowed}.caro-lobby-empty{display:flex;flex-direction:column;align-items:center;gap:.65rem;padding:2rem 1rem 1.5rem;text-align:center;color:var(--fg-muted);grid-column:1 / -1}.caro-lobby-empty-icon{position:relative;width:4rem;height:4rem}.caro-lobby-empty-icon .caro-piece-x{position:absolute;top:.2rem;left:.15rem}.caro-lobby-empty-icon .caro-piece-o{position:absolute;right:.1rem;bottom:.15rem}.caro-lobby-empty p{margin:0;max-width:18rem;line-height:1.5}.caro-lobby-empty-action{min-height:2.75rem;padding:.5rem 1rem;border:none;border-radius:999px;background:linear-gradient(135deg,var(--color-game-magenta),var(--brand));color:var(--brand-on);font-size:.88rem;font-weight:700;cursor:pointer}.caro-lobby-skeleton{display:grid;gap:.75rem}.caro-lobby-skeleton-hero,.caro-lobby-skeleton-stats,.caro-lobby-skeleton-card{border-radius:1rem;background:linear-gradient(90deg,var(--fg) 0%,var(--border) 45%,var(--fg) 90%);background-size:200% 100%;animation:caro-lobby-shimmer 1.2s ease-in-out infinite}.caro-lobby-skeleton-hero{height:9.5rem}.caro-lobby-skeleton-stats{height:4.5rem}.caro-lobby-skeleton-card{height:7.5rem}.caro-lobby-skeleton-panel{display:grid;gap:.75rem}@media(min-width:768px){.caro-lobby-page{max-width:min(44rem,100%)}.caro-lobby-hero{gap:1.25rem}.caro-lobby-hero-board{width:6.75rem;height:6.75rem}.caro-lobby-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.caro-lobby-room{height:100%}.caro-lobby-skeleton-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.caro-room-page--waiting{max-width:min(36rem,100%)}.caro-room-waiting-card{max-width:32rem}}@media(min-width:1024px){.caro-lobby-page{max-width:min(72rem,100%)}.caro-lobby-layout{display:grid;grid-template-columns:minmax(17rem,21.5rem) minmax(0,1fr);gap:1.25rem;align-items:start}.caro-lobby-aside{position:sticky;top:1rem}.caro-lobby-hero{grid-template-columns:1fr;margin-bottom:0;gap:.85rem}.caro-lobby-hero-board{width:7.25rem;height:7.25rem;justify-self:center}.caro-lobby-subtitle{max-width:none}.caro-lobby-stats,.caro-lobby-error{margin-bottom:0}.caro-lobby-tabpanel{padding:1.1rem 1.15rem 1.25rem}}@keyframes caro-lobby-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}@keyframes caro-lobby-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.caro-lobby-section{margin-bottom:1.5rem}.caro-lobby-section-header{margin-bottom:.75rem}.caro-lobby-section-header h2{margin:0;font-size:1.05rem}.caro-lobby-section-header p{margin:.25rem 0 0;color:var(--fg-muted);font-size:.92rem}.caro-room-vs{margin:0 .35rem;color:var(--fg-muted);font-weight:500}.caro-spectator-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);border:1px solid var(--indigo-fg);background:linear-gradient(90deg,var(--indigo-subtle),var(--surface));color:var(--indigo-fg);font-weight:600;text-align:center}.caro-turn-banner.is-spectator{border-color:var(--indigo-fg);background:linear-gradient(90deg,var(--indigo-subtle),var(--surface))}.caro-lobby-note{margin-bottom:1rem;color:var(--fg-muted)}.caro-room-list{display:grid;gap:.75rem}.caro-players{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:center;margin-bottom:1rem}.caro-player,.game-breadcrumb{margin-bottom:.85rem}.game-breadcrumb-list{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;font-size:.88rem;color:var(--fg-muted)}.game-breadcrumb-item{display:inline-flex;align-items:center;gap:.35rem}.game-breadcrumb-item:not(:last-child):after{content:"/";color:var(--fg-muted)}.game-breadcrumb-link{color:var(--brand);text-decoration:none;font-weight:500}.game-breadcrumb-link:hover{text-decoration:underline}.game-breadcrumb-current{color:var(--fg);font-weight:600}.caro-room-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.caro-room-card h2{margin:0 0 .25rem;font-size:1.05rem}.caro-room-meta{margin:0;color:var(--fg-muted);font-size:.92rem}.caro-player{display:flex;align-items:center;gap:.75rem}.caro-player.is-me{background:var(--brand-subtle);border-radius:var(--radius-md);padding:.5rem}.caro-player p{margin:.15rem 0 0;color:var(--fg-muted);font-size:.85rem}.caro-vs{font-weight:700;color:var(--fg-muted)}.caro-piece{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;font-weight:700}.caro-piece-x{background:var(--fg);color:var(--brand-on)}.caro-piece-o{background:var(--surface);color:var(--danger);border:2px solid var(--danger)}.caro-player.is-active-turn{background:linear-gradient(135deg,var(--brand-subtle),var(--info-subtle));border-radius:var(--radius-md);padding:.65rem;box-shadow:0 0 0 2px rgba(var(--brand-rgb),.18);animation:caro-turn-pulse 1.4s ease-in-out infinite}.caro-player-turn-badge{display:inline-flex;margin-top:.35rem;padding:.12rem .5rem;border-radius:999px;background:var(--brand);color:var(--brand-on);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.caro-turn-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.caro-turn-banner.is-my-turn{border-color:var(--info);background:linear-gradient(90deg,var(--info-subtle),var(--surface))}.caro-turn-banner.is-opponent-turn{border-color:var(--warning);background:linear-gradient(90deg,var(--color-game-warm-bg-soft),var(--surface))}.caro-turn-banner-label{font-weight:600}.caro-turn-timer{display:inline-flex;align-items:center;justify-content:center;min-width:3.25rem;padding:.3rem .65rem;border-radius:999px;background:var(--fg);color:var(--brand-on);font-variant-numeric:tabular-nums;font-weight:700}.caro-turn-timer.is-urgent{background:var(--danger);animation:caro-timer-pulse .9s ease-in-out infinite}.caro-board-wrap.is-my-turn .caro-board-shell{--caro-shell-glow: rgba(236, 72, 153, .35);animation:caro-board-glow 2s ease-in-out infinite}.caro-result-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:1rem}.caro-result-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#5b21b661;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.caro-result-modal{position:relative;width:min(100%,28rem);padding:1.75rem 1.5rem 1.35rem;border-radius:1.25rem;border:2px solid rgba(255,255,255,.92);background:linear-gradient(165deg,var(--surface) 0%,var(--danger-subtle) 42%,var(--indigo-subtle) 100%);box-shadow:0 0 0 1px #ec489924,0 10px 0 -4px var(--color-game-pink-border),0 24px 48px -16px #5b21b64d;text-align:center}.caro-result-modal.is-win{border-color:#a7f3d0f2;background:linear-gradient(165deg,var(--surface) 0%,var(--success-subtle) 38%,var(--indigo-subtle) 100%);box-shadow:0 0 0 1px #10b9812e,0 10px 0 -4px var(--success-border),0 24px 48px -16px #05966947}.caro-result-modal.is-lose{border-color:#fecacaf2;background:linear-gradient(165deg,var(--surface) 0%,var(--color-game-rose-bg) 38%,var(--indigo-subtle) 100%);box-shadow:0 0 0 1px #f43f5e29,0 10px 0 -4px var(--color-game-rose),0 24px 48px -16px #be123c3d}.caro-result-modal.is-draw{border-color:#c4b5fdf2;background:linear-gradient(165deg,var(--surface) 0%,var(--indigo-subtle) 42%,var(--danger-subtle) 100%)}.caro-result-close{position:absolute;top:.65rem;right:.65rem;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid rgba(236,72,153,.2);border-radius:999px;background:#ffffffe6;color:var(--color-game-magenta-dark);font-size:1.25rem;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.caro-result-close:hover{background:var(--surface);transform:scale(1.04)}.caro-result-kicker{margin:0;color:var(--color-game-fuchsia-text);font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.caro-result-title{margin:.45rem 0 .65rem;font-size:1.55rem;line-height:1.25;background:linear-gradient(135deg,var(--owe),var(--brand));-webkit-background-clip:text;background-clip:text;color:transparent}.caro-result-modal.is-win .caro-result-title{background:linear-gradient(135deg,var(--success),var(--color-game-teal));-webkit-background-clip:text;background-clip:text;color:transparent}.caro-result-modal.is-lose .caro-result-title{background:linear-gradient(135deg,var(--color-game-pink-text),var(--color-game-magenta-deep));-webkit-background-clip:text;background-clip:text;color:transparent}.caro-result-body{margin:0 0 1.1rem;color:var(--fg-muted);font-size:.95rem;line-height:1.5}.caro-result-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}.caro-result-btn{min-height:2.75rem;padding:.55rem 1rem;border-radius:999px;font-size:.88rem;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.caro-result-btn:active{transform:scale(.98)}.caro-result-btn-primary{border:none;color:var(--brand-on);background:linear-gradient(135deg,var(--color-game-magenta),var(--brand));box-shadow:0 8px 20px -10px #7e22cea6}.caro-result-btn-primary:hover{box-shadow:0 10px 24px -10px #7e22cebf}.caro-result-btn-secondary{border:1px solid rgba(236,72,153,.35);color:var(--color-game-magenta-dark);background:#ffffffeb}.caro-result-btn-secondary:hover{background:var(--surface);border-color:#ec489980}@keyframes caro-turn-pulse{0%,to{box-shadow:0 0 0 2px rgba(var(--brand-rgb),.18)}50%{box-shadow:0 0 0 4px rgba(var(--brand-rgb),.28)}}@keyframes caro-timer-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.caro-waiting-card,.caro-result-card{text-align:center}.caro-result-card .btn-primary{margin-top:.75rem}html.caro-focus-mode .header,html.caro-focus-mode .food-advisor-widget{display:none}html.caro-focus-mode .app{min-height:100dvh;background:radial-gradient(ellipse 90% 70% at 50% 42%,rgba(250,232,255,.85),transparent 68%),linear-gradient(180deg,var(--danger-subtle) 0%,var(--indigo-subtle) 48%,var(--indigo-subtle) 100%)}html.caro-focus-mode .main{max-width:72rem;padding:.5rem .65rem;padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right));padding-bottom:max(.5rem,env(safe-area-inset-bottom))}html.caro-focus-mode .caro-room-page--playing{min-height:calc(100dvh - 1rem)}html.caro-focus-mode .caro-game-arena{min-height:calc(100dvh - 1rem);justify-content:center;gap:.4rem}html.caro-focus-mode .caro-game-match{flex:1;align-items:center;min-height:0}html.caro-focus-mode .caro-board-stage{flex:1;align-items:center}html.caro-focus-mode .caro-game-toolbar{top:0;border-color:#ec489938;box-shadow:0 8px 24px #be185d14}html.caro-focus-mode .caro-game-status-bar{top:3rem}html.caro-focus-mode .caro-game-side{top:5.1rem}html.caro-focus-mode .caro-room-page--playing .caro-board-shell{width:min(calc(100dvh - 7.5rem),calc(100vw - 11.5rem),42rem);filter:drop-shadow(0 22px 36px rgba(91,33,182,.18))}html.caro-focus-mode .caro-room-page--playing .caro-board-wrap.is-my-turn .caro-board-shell{filter:drop-shadow(0 22px 36px rgba(236,72,153,.22))}.caro-game-arena{display:flex;flex-direction:column;gap:.45rem}.caro-game-toolbar{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.5rem;padding:.55rem .65rem;border:1px solid rgba(249,168,212,.4);border-radius:1rem;background:linear-gradient(145deg,#fffffffa,#fdf2f8f0);box-shadow:0 0 0 1px #ffffffd9 inset,0 8px 24px -14px #be185d29;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.caro-game-status-bar{position:sticky;top:3.1rem;z-index:15;margin:0;padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border);background:#fffffff0;text-align:center;font-size:.82rem;font-weight:600;color:var(--fg-muted);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.caro-game-status-bar.is-my-turn{border-color:var(--info);color:var(--brand-hover);background:linear-gradient(90deg,#eff6fff5,#fffffff5)}.caro-game-status-bar.is-opponent-turn{border-color:var(--warning);color:var(--warning);background:linear-gradient(90deg,#fffbebf5,#fffffff5)}.caro-game-match{display:grid;grid-template-columns:minmax(4.75rem,6.5rem) minmax(0,1fr) minmax(4.75rem,6.5rem);gap:.45rem;align-items:start}.caro-game-side{position:sticky;top:5.35rem;z-index:12;align-self:start}.caro-game-side-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.65rem .4rem .55rem;border-radius:1rem;border:2px solid var(--border);background:linear-gradient(165deg,var(--surface) 0%,var(--danger-subtle) 100%);box-shadow:var(--shadow-sm);text-align:center}.caro-game-side.is-me .caro-game-side-card{border-color:var(--info);background:linear-gradient(165deg,var(--info-subtle) 0%,var(--surface) 100%)}.caro-game-side.is-active-turn .caro-game-side-card{border-color:var(--warning);box-shadow:0 0 0 2px #f59e0b33,var(--shadow-sm)}.caro-game-side-piece{width:2.35rem;height:2.35rem;font-size:1rem}.caro-game-side-name{margin:0;width:100%;font-size:.74rem;font-weight:700;line-height:1.3;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.caro-game-side-role{font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-muted)}.caro-game-side-you,.caro-game-side-turn{display:inline-flex;padding:.12rem .45rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.caro-game-side-you{position:absolute;top:.35rem;z-index:1;padding:.1rem .38rem;background:var(--brand);color:var(--brand-on);box-shadow:0 2px 6px rgba(var(--brand-rgb),.22)}.caro-game-side-left .caro-game-side-you{left:.35rem}.caro-game-side-right .caro-game-side-you{right:.35rem}.caro-game-side-status{display:flex;align-items:center;justify-content:center;min-height:1.35rem;width:100%}.caro-game-side-turn{background:var(--warning-subtle);color:var(--warning);border:1px solid var(--warning)}.caro-game-side-winner{display:inline-flex;padding:.12rem .45rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;background:var(--brand-subtle);color:var(--success);border:1px solid var(--success-border)}.caro-game-side.is-winner .caro-game-side-card{border-color:var(--success);background:linear-gradient(165deg,var(--success-subtle) 0%,var(--surface) 100%);box-shadow:0 0 0 2px #34d39938,var(--shadow-sm)}.caro-game-status-bar.is-finished{border-color:var(--indigo-fg);color:var(--indigo-fg);background:linear-gradient(90deg,#f5f3fff5,#fffffff5)}.caro-game-status-bar.is-finished.is-win{border-color:var(--success-border);color:var(--success);background:linear-gradient(90deg,#ecfdf5f5,#fffffff5)}.caro-game-status-bar.is-finished.is-lose{border-color:var(--color-game-rose);color:var(--color-game-pink-text);background:linear-gradient(90deg,#fff1f2f5,#fffffff5)}.caro-game-status-bar.is-finished.is-draw{border-color:var(--indigo-fg);color:var(--brand-hover);background:linear-gradient(90deg,#f5f3fff5,#fffffff5)}.caro-board-stage{flex:0 1 auto;min-width:0;display:flex;align-items:flex-start;justify-content:center}.caro-room-page--playing .caro-board-wrap{overflow:visible;padding:0;width:100%;display:flex;align-items:center;justify-content:center}.caro-room-page--playing .caro-board-shell{width:min(100%,calc(100dvh - 10rem),calc(100svh - 10rem),36rem);max-width:100%;height:auto;aspect-ratio:1;margin:0;padding:.45rem}.caro-room-page--playing .caro-board-wrap.is-my-turn .caro-board-shell{animation:none;--caro-shell-glow: rgba(236, 72, 153, .28);box-shadow:0 0 0 1px #ffffffd9 inset,0 10px 0 -4px var(--owe),0 18px 28px -12px #be185d59,0 0 0 4px var(--caro-shell-glow)}.caro-game-back{justify-self:start;border:none;background:transparent;color:var(--brand);font-size:.82rem;font-weight:600;text-decoration:none;cursor:pointer;padding:.2rem 0;white-space:nowrap}.caro-game-back:hover{text-decoration:underline}.caro-game-code{justify-self:center;font-size:.78rem;color:var(--fg-muted);white-space:nowrap}.caro-game-code strong{color:var(--fg);letter-spacing:.04em}.caro-game-toolbar-actions{justify-self:end;display:inline-flex;align-items:center;gap:.4rem}.caro-game-leave{border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg-muted);font-size:.72rem;font-weight:600;padding:.28rem .55rem;cursor:pointer;white-space:nowrap}.caro-game-leave:hover:not(:disabled){border-color:var(--danger-strong);color:var(--danger)}.caro-game-spectator-note{font-weight:500;color:var(--fg-muted)}.caro-game-error{margin:0}@media(min-width:768px){.caro-game-match{grid-template-columns:minmax(7rem,9rem) minmax(0,1fr) minmax(7rem,9rem);gap:.75rem}.caro-game-side-card{padding:.85rem .55rem}.caro-game-side-piece{width:2.75rem;height:2.75rem;font-size:1.1rem}.caro-game-side-name{font-size:.82rem}.caro-room-page--playing .caro-board-shell{width:min(100%,calc(100dvh - 9rem),36rem)}}.caro-board-wrap{overflow:auto;padding:.5rem .25rem .75rem}.caro-board-shell{--caro-shell-glow: transparent;position:relative;width:min(100%,36rem);margin:0 auto;padding:.65rem;border-radius:1.25rem;background:linear-gradient(145deg,var(--danger-subtle) 0%,var(--color-game-pink-soft) 48%,var(--color-game-lilac) 100%);border:3px solid var(--color-game-pink-border);box-shadow:0 0 0 1px #ffffffd9 inset,0 10px 0 -4px var(--owe),0 18px 28px -12px #be185d59,0 0 0 4px var(--caro-shell-glow)}.caro-board-corner{position:absolute;width:.55rem;height:.55rem;border-radius:999px;background:linear-gradient(135deg,var(--color-game-amber),var(--warning));box-shadow:0 1px #ffffffa6 inset;z-index:2}.caro-board-corner-tl{top:.35rem;left:.35rem}.caro-board-corner-tr{top:.35rem;right:.35rem}.caro-board-corner-bl{bottom:.35rem;left:.35rem}.caro-board-corner-br{bottom:.35rem;right:.35rem}.caro-board{display:grid;grid-template-columns:repeat(var(--caro-size),minmax(0,1fr));gap:1px;width:100%;background:linear-gradient(180deg,var(--indigo-fg) 0%,var(--color-game-violet) 100%);border-radius:.85rem;padding:2px;box-shadow:0 0 0 2px #ffffff8c inset,0 4px 12px #5b21b62e}.caro-cell{aspect-ratio:1;border:none;background:var(--color-game-warm-bg);padding:0;position:relative;cursor:default;overflow:hidden;transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}.caro-cell.is-odd{background:var(--color-game-warm-bg-alt)}.caro-cell.is-playable{cursor:pointer}.caro-cell.is-playable:hover,.caro-cell.is-playable:focus-visible{background:var(--color-game-pink-soft);z-index:1}.caro-cell.is-playable:active:not(:disabled){transform:scale(.92)}.caro-cell:focus-visible{outline:2px solid var(--owe);outline-offset:-2px;z-index:2}.caro-cell-dot{position:absolute;left:50%;top:50%;width:clamp(2px,.35vw,4px);height:clamp(2px,.35vw,4px);border-radius:999px;background:var(--color-game-lavender);transform:translate(-50%,-50%);opacity:.55;pointer-events:none}.caro-cell.is-x .caro-cell-dot,.caro-cell.is-o .caro-cell-dot{opacity:0}.caro-mark{position:absolute;top:12%;right:12%;bottom:12%;left:12%;display:grid;place-items:center;pointer-events:none;animation:caro-piece-pop .32s cubic-bezier(.34,1.56,.64,1) both}.caro-mark-x{position:absolute;top:10%;right:10%;bottom:10%;left:10%}.caro-mark-x-line{position:absolute;width:78%;height:clamp(2px,.45vw,4px);border-radius:999px;background:linear-gradient(90deg,var(--color-game-indigo-deep),var(--color-game-indigo));box-shadow:0 1px 2px #4338ca59}.caro-mark-x-line:first-child{transform:rotate(45deg)}.caro-mark-x-line:last-child{transform:rotate(-45deg)}.caro-mark-o{border-radius:999px;border:clamp(2px,.5vw,4px) solid var(--owe);box-shadow:0 0 0 1px #ffffffa6 inset,0 2px 6px #f43f5e47;background:radial-gradient(circle at 35% 30%,var(--color-game-rose-bg) 0%,transparent 58%)}.caro-mark.is-last{animation:caro-piece-pop .32s cubic-bezier(.34,1.56,.64,1) both,caro-last-pulse 1.6s ease-in-out .32s infinite}.caro-cell.is-last{background:var(--warning-subtle);box-shadow:inset 0 0 0 2px var(--warning);z-index:1}.caro-mark-preview{position:absolute;top:22%;right:22%;bottom:22%;left:22%;opacity:0;transform:scale(.7);transition:opacity .16s ease,transform .2s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.caro-mark-preview-x{border-radius:999px;background:linear-gradient(135deg,#6366f159,#4338ca33)}.caro-mark-preview-o{border-radius:999px;border:2px dashed rgba(244,63,94,.45);background:#fff1f273}.caro-cell.can-preview.is-playable:hover .caro-mark-preview,.caro-cell.can-preview.is-playable:focus-visible .caro-mark-preview{opacity:1;transform:scale(1)}@keyframes caro-board-glow{0%,to{box-shadow:0 0 0 1px #ffffffd9 inset,0 10px 0 -4px var(--owe),0 18px 28px -12px #be185d59,0 0 0 4px var(--caro-shell-glow)}50%{box-shadow:0 0 0 1px #ffffffd9 inset,0 10px 0 -4px var(--owe),0 18px 28px -12px #be185d59,0 0 0 7px #ec489938}}@keyframes caro-piece-pop{0%{opacity:0;transform:scale(.2) rotate(-12deg)}70%{opacity:1;transform:scale(1.08) rotate(2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes caro-last-pulse{0%,to{filter:drop-shadow(0 0 0 rgba(245,158,11,0))}50%{filter:drop-shadow(0 0 6px rgba(245,158,11,.55))}}@media(prefers-reduced-motion:reduce){.caro-board-wrap.is-my-turn .caro-board-shell,.caro-mark,.caro-mark.is-last,.caro-turn-timer.is-urgent,.caro-lobby-room-badge.is-live:before,.caro-lobby-skeleton-hero,.caro-lobby-skeleton-stats,.caro-lobby-skeleton-card{animation:none}.caro-room-skeleton-toolbar,.caro-room-skeleton-status,.caro-room-skeleton-card,.caro-player.is-active-turn{animation:none}.caro-cell,.caro-mark-preview{transition:none}.caro-cell.is-playable:active:not(:disabled){transform:none}}@media(max-width:640px){.game-card{grid-template-columns:1fr;text-align:center}.game-card-icon{margin:0 auto}.game-card-heading{justify-content:center}.game-card-action{width:100%}.caro-room-card{flex-direction:column;align-items:stretch}.caro-lobby-hero{grid-template-columns:1fr;padding:1rem}.caro-lobby-hero-board{justify-self:center}.caro-lobby-create{width:100%}.caro-lobby-tab{font-size:.8rem;padding:.45rem .4rem}.caro-lobby-tabpanel{padding:.85rem .75rem 1rem}.caro-room-page--playing{gap:.35rem;touch-action:pan-y}html.caro-focus-mode{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}html.caro-focus-mode body{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}html.caro-focus-mode .app,html.caro-focus-mode .main{height:auto;min-height:0;overflow:visible}html.caro-focus-mode .caro-room-page--playing{min-height:auto;overflow:visible}html.caro-focus-mode .caro-game-arena{min-height:auto;height:auto;overflow:visible;justify-content:flex-start;gap:.3rem}html.caro-focus-mode .caro-game-match{flex:0 1 auto;min-height:auto;align-content:start;overflow:visible}html.caro-focus-mode .caro-board-stage{flex:0 1 auto;min-height:auto;overflow:visible}html.caro-focus-mode .main{padding:.35rem .4rem;padding-left:max(.35rem,env(safe-area-inset-left));padding-right:max(.35rem,env(safe-area-inset-right))}html.caro-focus-mode .caro-game-status-bar,html.caro-focus-mode .caro-game-side{top:auto}html.caro-focus-mode .caro-room-page--playing .caro-board-shell{width:min(calc(100vw - 1.25rem),calc(100dvh - 11rem),42rem)}.caro-game-match{grid-template-columns:1fr 1fr;grid-template-areas:"side-left side-right" "board board";gap:.35rem;align-items:stretch}.caro-game-side-left{grid-area:side-left}.caro-game-side-right{grid-area:side-right}.caro-board-stage{grid-area:board;width:100%;align-items:center}.caro-game-toolbar{position:static;top:auto;grid-template-columns:1fr auto;grid-template-areas:"back actions" "code code";padding:.45rem .5rem}.caro-game-back{grid-area:back;font-size:.78rem}.caro-game-code{grid-area:code;justify-self:start;font-size:.74rem}.caro-game-toolbar-actions{grid-area:actions;flex-wrap:wrap;justify-content:flex-end}.caro-game-status-bar{position:static;top:auto;font-size:.76rem;padding:.35rem .6rem}.caro-game-side{position:static;top:auto;align-self:stretch}.caro-game-side-card{padding:.45rem .35rem;border-radius:.85rem;gap:.2rem}.caro-game-side-piece{width:1.65rem;height:1.65rem;font-size:.78rem}.caro-game-side-name{font-size:.68rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.caro-game-side-role{font-size:.58rem}.caro-game-side-you,.caro-game-side-turn,.caro-game-side-winner{font-size:.56rem;padding:.1rem .35rem}.caro-game-side-you{top:.28rem}.caro-game-side-left .caro-game-side-you{left:.28rem}.caro-game-side-right .caro-game-side-you{right:.28rem}.caro-game-side-status{min-height:1.2rem}.caro-game-leave{font-size:.68rem;padding:.22rem .45rem}.caro-room-page--playing .caro-board-wrap{width:100%;touch-action:pan-y}.caro-room-page--playing .caro-board{touch-action:pan-y}.caro-room-page--playing .caro-board-shell{width:min(calc(100vw - 1rem),calc(100dvh - 11rem),calc(100svh - 11rem));max-width:none;padding:.35rem;border-width:2px;box-shadow:0 0 0 1px #ffffffd9 inset,0 6px 0 -3px var(--owe),0 12px 20px -10px #be185d4d,0 0 0 4px var(--caro-shell-glow)}.caro-board-corner{width:.4rem;height:.4rem}.caro-players{grid-template-columns:1fr;text-align:center}.caro-vs{display:none}.caro-player{justify-content:center}}}@layer pages{.tools-hub-page{--tool-sky: var(--info);--tool-indigo: var(--color-game-indigo);--tool-mint: var(--secondary);max-width:52rem;margin-inline:auto}.tools-hub-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin-bottom:1rem;padding:1.35rem 1.45rem;border-radius:1.35rem;border:2px solid rgba(56,189,248,.45);background:radial-gradient(ellipse 80% 90% at 100% 0%,rgba(224,242,254,.95),transparent 58%),linear-gradient(145deg,var(--surface) 0%,var(--info-subtle) 42%,var(--indigo-subtle) 100%);box-shadow:0 0 0 1px #ffffffe6 inset,0 10px 0 -4px var(--info),0 20px 40px -18px #0e749038}.tools-hub-kicker{margin:0 0 .25rem;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--info)}.tools-hub-title{margin:0;font-size:clamp(1.65rem,4vw,2.1rem);line-height:1.15;background:linear-gradient(135deg,var(--info),var(--indigo-fg));-webkit-background-clip:text;background-clip:text;color:transparent}.tools-hub-subtitle{margin:.45rem 0 .85rem;max-width:30rem;color:var(--fg-muted);font-size:.95rem;line-height:1.5}.tools-hub-features{display:flex;flex-wrap:wrap;gap:.45rem}.tools-hub-feature{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;background:#ffffffd9;border:1px solid rgba(14,165,233,.22);color:var(--chart-2);font-size:.78rem;font-weight:700}.tools-hub-visual{position:relative;width:5.75rem;height:5.75rem;border-radius:1.15rem;background:linear-gradient(145deg,var(--info-subtle),var(--indigo-subtle));border:2px solid var(--info);box-shadow:0 8px 20px -10px #0e749059;flex-shrink:0}.tools-hub-visual-grid{position:absolute;top:.55rem;right:.55rem;bottom:.55rem;left:.55rem;border-radius:.55rem;background-image:linear-gradient(rgba(14,165,233,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(14,165,233,.12) 1px,transparent 1px);background-size:.65rem .65rem}.tools-hub-visual-chip{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-width:1.8rem;height:1.45rem;padding:0 .35rem;border-radius:.45rem;font-size:.62rem;font-weight:800;box-shadow:0 4px 10px -6px #0f172a59}.tools-hub-visual-chip-jwt{top:.85rem;left:.7rem;background:var(--warning-subtle);color:var(--warning)}.tools-hub-visual-chip-json{right:.65rem;bottom:.8rem;background:var(--brand-subtle);color:var(--success)}.tools-hub-visual-orbit{position:absolute;top:.35rem;right:.35rem;bottom:.35rem;left:.35rem;border-radius:.95rem;border:1px dashed rgba(79,70,229,.28)}.tools-hub-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem;font-size:.85rem;color:var(--fg-muted)}.tools-hub-count{font-weight:700;color:var(--fg)}.tool-catalog{display:grid;gap:1rem}.tool-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1.15rem 1.3rem;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.tool-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px -18px #0f172a38}.tool-card-jwt{border-color:#fbbf2459}.tool-card-json{border-color:#34d39959}.tool-card-password{border-color:#a78bfa59}.tool-card-icon{position:relative;width:4.75rem;height:4.75rem;border-radius:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.tool-card-icon-jwt{background:linear-gradient(145deg,var(--warning-subtle),var(--color-game-warm-bg-alt));border:1px solid rgba(251,191,36,.35)}.tool-card-icon-json{background:linear-gradient(145deg,var(--brand-subtle),var(--success-subtle));border:1px solid rgba(52,211,153,.35)}.tool-card-icon-password{background:linear-gradient(145deg,#ede9fe,#ddd6fe);border:1px solid rgba(167,139,250,.35)}.tool-card-icon-password .tool-card-glyph{color:#6d28d9;font-size:.9rem;font-weight:800;letter-spacing:.08em}.tool-card-icon-ring{position:absolute;top:.35rem;right:.35rem;bottom:.35rem;left:.35rem;border-radius:.75rem;border:1px dashed rgba(15,23,42,.12)}.tool-card-glyph{position:relative;z-index:1;font-size:.95rem;font-weight:800;letter-spacing:.02em;color:var(--fg)}.tool-card-heading{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.tool-card-heading h2{margin:0;font-size:1.15rem}.tool-card-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;background:var(--success-subtle);color:var(--success);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.tool-card-description{margin:.35rem 0 0;color:var(--fg)}.tool-card-meta{margin:.35rem 0 0;color:var(--fg-muted);font-size:.9rem}.tool-card-action{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;white-space:nowrap;min-width:6.5rem;text-align:center;text-decoration:none}.tool-card-action-arrow{transition:transform .15s ease}.tool-card:hover .tool-card-action-arrow{transform:translate(2px)}.tool-page{max-width:56rem;margin-inline:auto}.tool-page .game-breadcrumb{margin-bottom:.65rem}.tool-page-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin-bottom:1rem;padding:1.1rem 1.25rem;border-radius:1.1rem;border:1px solid var(--border);background:linear-gradient(145deg,var(--surface),var(--bg))}.tool-page-hero-jwt{border-color:#fbbf2459;background:radial-gradient(ellipse 70% 80% at 100% 0%,rgba(254,243,199,.55),transparent 60%),linear-gradient(145deg,var(--surface),var(--color-game-warm-bg-soft))}.tool-page-hero-json{border-color:#34d39959;background:radial-gradient(ellipse 70% 80% at 100% 0%,rgba(209,250,229,.55),transparent 60%),linear-gradient(145deg,var(--surface),var(--success-subtle))}.tool-page-kicker{margin:0 0 .2rem;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}.tool-page-hero h1{margin:0;font-size:clamp(1.35rem,3vw,1.75rem)}.tool-page-hero .subtitle{margin:.35rem 0 0}.tool-page-hero-badge{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:1rem;background:var(--bg);color:var(--fg-muted);font-size:.82rem;font-weight:800;letter-spacing:.04em}.tool-page-jwt .tool-page-hero-badge{background:linear-gradient(145deg,var(--warning),var(--warning));color:var(--brand-on)}.tool-page-json .tool-page-hero-badge{background:linear-gradient(145deg,var(--secondary),var(--brand));color:var(--brand-on)}.main:has(.tool-page-json-wide){max-width:min(96rem,100%);padding-inline:max(1rem,env(safe-area-inset-left)) max(1rem,env(safe-area-inset-right))}.tool-page-json-wide{--tool-json-pane-height: clamp(18rem, 42vh, 40rem);max-width:none;margin-inline:0}.tool-page-hero-compact{margin-bottom:.75rem;padding:.85rem 1rem}.tool-page-hero-compact h1{font-size:clamp(1.2rem,2.5vw,1.5rem)}.tool-page-hero-compact .subtitle{margin-top:.25rem;font-size:.88rem}.tool-json-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin-bottom:.85rem;padding:.75rem .9rem;position:sticky;top:4.25rem;z-index:20;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tool-json-toolbar-actions{flex-wrap:wrap}.tool-json-toolbar-hint{margin:0;color:var(--fg-muted);font-size:.8rem}.tool-workbench-stacked{display:flex;flex-direction:column;gap:.85rem}.tool-workspace-input .tool-editor,.tool-workspace-output .tool-editor{display:flex;flex-direction:column}.tool-workspace-input .tool-editor-body,.tool-workspace-output .tool-editor-body{min-height:0}.tool-textarea-json{min-height:var(--tool-json-pane-height);height:var(--tool-json-pane-height);max-height:70vh;resize:vertical;overflow:auto}.tool-editor-scroll{min-height:var(--tool-json-pane-height);max-height:max(var(--tool-json-pane-height),70vh);overflow:auto}.tool-workspace{display:flex;flex-direction:column;gap:.85rem;padding:1rem}.tool-workbench{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.75rem;align-items:stretch}.tool-workbench-divider{display:flex;align-items:center;justify-content:center}.tool-workbench-arrow{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:var(--indigo-subtle);color:var(--indigo-fg);font-weight:700}.tool-editor{border:1px solid var(--surface);border-radius:.85rem;overflow:hidden;background:var(--bg)}.tool-editor-chrome{display:flex;align-items:center;gap:.65rem;padding:.55rem .75rem;background:linear-gradient(180deg,var(--surface),var(--color-game-code-panel));border-bottom:1px solid rgba(148,163,184,.18)}.tool-editor-dots{display:inline-flex;gap:.28rem}.tool-editor-dots span{width:.55rem;height:.55rem;border-radius:999px;background:var(--fg-muted)}.tool-editor-dots span:nth-child(1){background:var(--danger)}.tool-editor-dots span:nth-child(2){background:var(--color-game-amber)}.tool-editor-dots span:nth-child(3){background:var(--success)}.tool-editor-title{flex:1;min-width:0;color:var(--border);font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.tool-editor-actions{display:flex;gap:.35rem}.tool-copy-btn{min-height:1.85rem;padding:.2rem .65rem;font-size:.78rem}.tool-editor-body{background:var(--color-game-code-bg)}.tool-editor-footer{display:flex;flex-wrap:wrap;gap:.75rem;padding:.45rem .75rem;border-top:1px solid rgba(148,163,184,.14);background:var(--fg);color:var(--fg-muted);font-size:.75rem}.tool-editor-hint,.tool-editor-stats{display:flex;flex-wrap:wrap;gap:.75rem}.tool-textarea{width:100%;min-height:11rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.5;padding:.85rem;border:none;border-radius:0;background:transparent;color:var(--border)}.tool-textarea:focus{outline:none;box-shadow:none}.tool-textarea-editor{min-height:12rem}.tool-textarea::placeholder{color:var(--fg-muted)}.tool-actions{display:flex;flex-wrap:wrap;gap:.5rem}.tool-actions-bar{align-items:center}.tool-privacy-inline,.tool-privacy-footnote{margin:0;color:var(--fg-muted);font-size:.82rem}.tool-privacy-inline{margin-left:auto}.tool-privacy-footnote{margin-top:.75rem;text-align:center}.tool-error{margin:0;color:var(--danger);font-size:.9rem;font-weight:600}.tool-error-banner{padding:.65rem .85rem;border-radius:.65rem;background:var(--danger-subtle);border:1px solid var(--danger-border)}.tool-results{display:flex;flex-direction:column;gap:.85rem;margin-top:.85rem}.jwt-structure{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.55rem .65rem;border-radius:.75rem;background:var(--surface-muted);border:1px dashed var(--border)}.jwt-part{display:inline-flex;align-items:center;padding:.28rem .55rem;border-radius:.45rem;font-size:.75rem;font-weight:700;letter-spacing:.02em}.jwt-part-header{background:var(--brand-subtle);color:var(--brand-hover)}.jwt-part-payload{background:var(--brand-subtle);color:var(--success)}.jwt-part-signature{background:var(--color-game-pink-soft);color:var(--owe)}.jwt-dot{color:var(--fg-muted);font-weight:700}.tool-status-card{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;border-radius:.85rem}.tool-status-card.is-success{background:var(--success-subtle);border:1px solid var(--success-border)}.tool-status-card.is-error{background:var(--danger-subtle);border:1px solid var(--danger-border)}.tool-status-icon{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;font-size:.82rem;font-weight:800;flex-shrink:0}.tool-status-card.is-success .tool-status-icon{background:var(--secondary);color:var(--brand-on)}.tool-status-card.is-error .tool-status-icon{background:var(--color-game-red);color:var(--brand-on)}.tool-status-title{margin:0;font-size:.92rem;font-weight:700;color:var(--fg)}.tool-status-detail{margin:.2rem 0 0;font-size:.86rem;color:var(--fg-muted)}.tool-claims-card,.tool-output-card{padding:1rem}.tool-section-title{margin:0 0 .75rem;font-size:.92rem;font-weight:700;color:var(--fg)}.tool-claim-chips{display:flex;flex-wrap:wrap;gap:.5rem}.tool-claim-chip{display:inline-flex;flex-direction:column;gap:.15rem;min-width:6.5rem;padding:.45rem .65rem;border-radius:.65rem;background:var(--surface-muted);border:1px solid var(--border)}.tool-claim-key{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-game-indigo)}.tool-claim-value{font-size:.82rem;color:var(--fg);word-break:break-word}.tool-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.tool-tab{min-height:2rem;padding:.3rem .75rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--fg-muted);font-size:.82rem;font-weight:600;cursor:pointer}.tool-tab.is-active{color:var(--brand-on);border-color:transparent}.tool-tab-header.is-active{background:linear-gradient(135deg,var(--chart-1),var(--brand-hover))}.tool-tab-payload.is-active{background:linear-gradient(135deg,var(--brand),var(--success))}.tool-tab-signature.is-active{background:linear-gradient(135deg,var(--color-game-magenta),var(--owe))}.tool-code-block{margin:0;padding:.85rem;border-radius:.55rem;background:var(--bg);color:var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.tool-code-block-signature{background:var(--surface);color:var(--border)}.tool-json-highlight .json-key{color:var(--info)}.tool-json-highlight .json-string{color:var(--color-game-code-success-text)}.tool-json-highlight .json-number{color:var(--warning)}.tool-json-highlight .json-boolean{color:var(--color-game-pink-border)}.tool-json-highlight .json-null{color:var(--fg-muted)}.tool-json-highlight-panel{min-height:auto;border-radius:0;background:transparent}.tool-output-empty{min-height:var(--tool-json-pane-height, 18rem);display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--fg-muted);font-size:.88rem;text-align:center}@media(max-width:900px){.tool-workbench:not(.tool-workbench-stacked){grid-template-columns:1fr}.tool-workbench-divider{display:none}.tool-page-json-wide{--tool-json-pane-height: clamp(14rem, 34vh, 28rem)}.tool-json-toolbar{top:3.75rem}}@media(max-width:720px){.tools-hub-hero,.tool-page-hero{grid-template-columns:1fr}.tools-hub-visual,.tool-page-hero-badge{margin-inline:auto}.tool-card{grid-template-columns:1fr;text-align:center}.tool-card-icon{margin-inline:auto}.tool-card-heading{justify-content:center}.tool-card-action{width:100%}.tool-privacy-inline{margin-left:0;width:100%}}.main:has(.json-formatter),.main:has(.jwt-parser),.main:has(.password-generator){--dev-tool-offset: 4.35rem;max-width:none;margin:0;padding:0;width:100%;height:calc(100dvh - var(--dev-tool-offset));min-height:0;display:flex;flex-direction:column;overflow:hidden}.json-formatter{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--color-game-code-bg);color:var(--border)}.json-formatter:fullscreen{width:100%;height:100%;background:var(--color-game-code-bg)}.json-formatter-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.65rem .85rem;border-bottom:1px solid var(--surface);background:var(--fg);flex-shrink:0}.json-formatter-bar-start{display:flex;align-items:center;gap:.75rem;min-width:0}.json-formatter-back{color:var(--info);text-decoration:none;font-size:.84rem;font-weight:600;white-space:nowrap}.json-formatter-back:hover{text-decoration:underline}.json-formatter-title{margin:0;font-size:.95rem;font-weight:700;color:var(--bg);white-space:nowrap}.json-formatter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto}.json-formatter-btn{min-height:2.25rem;padding:.35rem .75rem;border:1px solid var(--surface-muted);border-radius:.5rem;background:var(--surface);color:var(--border);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.json-formatter-btn:hover:not(:disabled){background:var(--color-game-code-surface);border-color:var(--fg-muted)}.json-formatter-btn:disabled{opacity:.45;cursor:not-allowed}.json-formatter-btn.is-primary{background:var(--chart-1);border-color:var(--chart-1);color:var(--brand-on)}.json-formatter-btn.is-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.json-formatter-btn.is-success{background:var(--success-strong);border-color:var(--brand);color:var(--brand-subtle)}.json-formatter-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;padding-inline:0}.json-formatter-status{margin:0;padding:.35rem .85rem;border-bottom:1px solid var(--surface);background:var(--bg);color:var(--fg-muted);font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;flex-shrink:0}.json-formatter-status.is-error{color:var(--danger-strong);background:var(--color-game-code-error-bg)}.json-formatter-panes{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0;gap:1px;background:var(--surface)}.json-formatter-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--color-game-code-bg)}.json-formatter-pane-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem .35rem .75rem;border-bottom:1px solid var(--surface);background:var(--fg);flex-shrink:0}.json-formatter-pane-head-text{color:var(--fg-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.json-formatter-pane-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--surface-muted);border-radius:.45rem;background:var(--surface);color:var(--border);cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease}.json-formatter-pane-toggle:hover{background:var(--color-game-code-surface);border-color:var(--fg-muted);color:var(--bg)}.json-formatter-pane-toggle:focus-visible{outline:2px solid rgba(96,165,250,.85);outline-offset:2px}.json-formatter-pane.is-expanded .json-formatter-pane-toggle{border-color:var(--chart-1);color:var(--indigo-border)}.json-formatter-pane.is-collapsed .json-formatter-editor{display:none}.json-formatter-pane.is-collapsed .json-formatter-pane-head{border-bottom:none}.json-formatter-panes.is-focus-input .json-formatter-pane-input.is-expanded,.json-formatter-panes.is-focus-output .json-formatter-pane-output.is-expanded{min-height:0}.json-formatter-panes.is-focus-input{grid-template-columns:minmax(0,1fr) auto}.json-formatter-panes.is-focus-output{grid-template-columns:auto minmax(0,1fr)}.json-formatter-panes.is-focus-input .json-formatter-pane-output.is-collapsed,.json-formatter-panes.is-focus-output .json-formatter-pane-input.is-collapsed{width:2.85rem;max-width:2.85rem}.json-formatter-panes.is-focus-input .json-formatter-pane-output.is-collapsed .json-formatter-pane-head,.json-formatter-panes.is-focus-output .json-formatter-pane-input.is-collapsed .json-formatter-pane-head{flex-direction:column;justify-content:flex-start;height:100%;padding:.65rem .35rem;gap:.65rem}.json-formatter-panes.is-focus-input .json-formatter-pane-output.is-collapsed .json-formatter-pane-head-text,.json-formatter-panes.is-focus-output .json-formatter-pane-input.is-collapsed .json-formatter-pane-head-text{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);letter-spacing:.12em}.json-formatter-editor{flex:1;width:100%;min-height:0;padding:.85rem;border:none;border-radius:0;resize:none;background:transparent;color:var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.55;-moz-tab-size:2;tab-size:2;overflow:auto;-webkit-overflow-scrolling:touch}.json-formatter-editor:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb73}.json-formatter-editor::placeholder{color:var(--fg-muted)}.json-formatter-editor-output{color:var(--border)}@media(max-width:900px){.main:has(.json-formatter),.main:has(.jwt-parser),.main:has(.password-generator){--dev-tool-offset: 7.5rem;height:auto;min-height:calc(100dvh - var(--dev-tool-offset));overflow:visible}.json-formatter,.jwt-parser{min-height:calc(100dvh - var(--dev-tool-offset))}.json-formatter-panes{grid-template-columns:1fr;grid-template-rows:minmax(16rem,42dvh) minmax(16rem,42dvh)}.json-formatter-panes.is-focus-input{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.json-formatter-panes.is-focus-output{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.json-formatter-panes.is-focus-input .json-formatter-pane-output.is-collapsed,.json-formatter-panes.is-focus-output .json-formatter-pane-input.is-collapsed{width:auto;max-width:none}.json-formatter-panes.is-focus-input .json-formatter-pane-output.is-collapsed .json-formatter-pane-head,.json-formatter-panes.is-focus-output .json-formatter-pane-input.is-collapsed .json-formatter-pane-head{flex-direction:row;height:auto;padding:.35rem .5rem .35rem .75rem}.json-formatter-panes.is-focus-input .json-formatter-pane-output.is-collapsed .json-formatter-pane-head-text,.json-formatter-panes.is-focus-output .json-formatter-pane-input.is-collapsed .json-formatter-pane-head-text{writing-mode:horizontal-tb;transform:none}}@media(max-width:640px){.json-formatter-bar{padding:.55rem .65rem}.json-formatter-actions{width:100%;margin-left:0}.json-formatter-btn{flex:1 1 auto}.json-formatter-btn-icon{flex:0 0 2.25rem}}@media(prefers-reduced-motion:reduce){.json-formatter-btn,.json-formatter-pane-toggle,.jwt-parser-btn,.jwt-parser-pane-toggle,.jwt-parser-tab{transition:none}}.jwt-parser{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--color-game-code-bg);color:var(--border)}.jwt-parser:fullscreen{width:100%;height:100%;background:var(--color-game-code-bg)}.jwt-parser-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.65rem .85rem;border-bottom:1px solid var(--surface);background:var(--fg);flex-shrink:0}.jwt-parser-bar-start{display:flex;align-items:center;gap:.75rem;min-width:0}.jwt-parser-back{color:var(--warning);text-decoration:none;font-size:.84rem;font-weight:600;white-space:nowrap}.jwt-parser-back:hover{text-decoration:underline}.jwt-parser-title{margin:0;font-size:.95rem;font-weight:700;color:var(--bg);white-space:nowrap}.jwt-parser-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto}.jwt-parser-btn{min-height:2.25rem;padding:.35rem .75rem;border:1px solid var(--surface-muted);border-radius:.5rem;background:var(--surface);color:var(--border);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jwt-parser-btn:hover:not(:disabled){background:var(--color-game-code-surface);border-color:var(--fg-muted)}.jwt-parser-btn.is-primary{background:var(--warning);border-color:var(--warning);color:var(--brand-on)}.jwt-parser-btn.is-primary:hover:not(:disabled){background:var(--warning);border-color:var(--warning)}.jwt-parser-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;padding-inline:0}.jwt-parser-status{margin:0;padding:.35rem .85rem;border-bottom:1px solid var(--surface);background:var(--bg);color:var(--fg-muted);font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;flex-shrink:0}.jwt-parser-status.is-error{color:var(--danger-strong);background:var(--color-game-code-error-bg)}.jwt-parser-status.is-warn{color:var(--color-game-code-error-text);background:var(--color-game-code-error-deep)}.jwt-parser-status.is-success{color:var(--color-game-code-success-text);background:var(--color-game-code-success-bg)}.jwt-parser-panes{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0;gap:1px;background:var(--surface)}.jwt-parser-pane{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--color-game-code-bg)}.jwt-parser-pane-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .5rem .35rem .75rem;border-bottom:1px solid var(--surface);background:var(--fg);flex-shrink:0}.jwt-parser-pane-head-text{color:var(--fg-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.jwt-parser-pane-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--surface-muted);border-radius:.45rem;background:var(--surface);color:var(--border);cursor:pointer;flex-shrink:0;transition:background .15s ease,border-color .15s ease,color .15s ease}.jwt-parser-pane-toggle:hover{background:var(--color-game-code-surface);border-color:var(--fg-muted);color:var(--bg)}.jwt-parser-pane-toggle:focus-visible{outline:2px solid rgba(251,191,36,.85);outline-offset:2px}.jwt-parser-pane.is-expanded .jwt-parser-pane-toggle{border-color:var(--warning);color:var(--warning-border)}.jwt-parser-pane.is-collapsed .jwt-parser-editor,.jwt-parser-pane.is-collapsed .jwt-parser-structure,.jwt-parser-pane.is-collapsed .jwt-parser-output,.jwt-parser-pane.is-collapsed .jwt-parser-empty{display:none}.jwt-parser-pane.is-collapsed .jwt-parser-pane-head{border-bottom:none}.jwt-parser-panes.is-focus-input{grid-template-columns:minmax(0,1fr) auto}.jwt-parser-panes.is-focus-output{grid-template-columns:auto minmax(0,1fr)}.jwt-parser-panes.is-focus-input .jwt-parser-pane-output.is-collapsed,.jwt-parser-panes.is-focus-output .jwt-parser-pane-input.is-collapsed{width:2.85rem;max-width:2.85rem}.jwt-parser-panes.is-focus-input .jwt-parser-pane-output.is-collapsed .jwt-parser-pane-head,.jwt-parser-panes.is-focus-output .jwt-parser-pane-input.is-collapsed .jwt-parser-pane-head{flex-direction:column;justify-content:flex-start;height:100%;padding:.65rem .35rem;gap:.65rem}.jwt-parser-panes.is-focus-input .jwt-parser-pane-output.is-collapsed .jwt-parser-pane-head-text,.jwt-parser-panes.is-focus-output .jwt-parser-pane-input.is-collapsed .jwt-parser-pane-head-text{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);letter-spacing:.12em}.jwt-parser-structure{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.45rem .75rem;border-bottom:1px solid var(--surface);background:var(--bg);flex-shrink:0}.jwt-parser-part{display:inline-flex;align-items:center;padding:.2rem .5rem;border-radius:.4rem;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.jwt-parser-part-header{background:#3b82f633;color:var(--info)}.jwt-parser-part-payload{background:#10b9812e;color:var(--success-border)}.jwt-parser-part-signature{background:#f472b62e;color:var(--color-game-pink-border)}.jwt-parser-dot{color:var(--fg-muted);font-weight:700}.jwt-parser-editor{flex:1;width:100%;min-height:0;padding:.85rem;border:none;border-radius:0;resize:none;background:transparent;color:var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem;line-height:1.55;overflow:auto;-webkit-overflow-scrolling:touch;overflow-wrap:anywhere}.jwt-parser-editor:focus{outline:none;box-shadow:inset 0 0 0 2px #d9770673}.jwt-parser-editor::placeholder{color:var(--fg-muted)}.jwt-parser-output{display:flex;flex-direction:column;flex:1;min-height:0}.jwt-parser-claims{display:flex;flex-wrap:wrap;gap:.4rem;padding:.55rem .75rem;border-bottom:1px solid var(--surface);background:var(--bg);flex-shrink:0}.jwt-parser-claim{display:inline-flex;flex-direction:column;gap:.1rem;max-width:100%;padding:.35rem .55rem;border-radius:.45rem;background:var(--fg);border:1px solid var(--surface)}.jwt-parser-claim-key{font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-game-amber)}.jwt-parser-claim-value{font-size:.78rem;color:var(--border);overflow-wrap:anywhere}.jwt-parser-tabs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;border-bottom:1px solid var(--surface);background:var(--fg);flex-shrink:0}.jwt-parser-tab{min-height:2rem;padding:.28rem .7rem;border:1px solid var(--surface-muted);border-radius:999px;background:var(--surface);color:var(--border);font-size:.78rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.jwt-parser-tab:hover{border-color:var(--fg-muted);color:var(--bg)}.jwt-parser-tab.is-active{color:var(--brand-on);border-color:transparent}.jwt-parser-tab-header.is-active{background:linear-gradient(135deg,var(--chart-1),var(--brand-hover))}.jwt-parser-tab-payload.is-active{background:linear-gradient(135deg,var(--brand),var(--success))}.jwt-parser-tab-signature.is-active{background:linear-gradient(135deg,var(--color-game-magenta),var(--owe))}.jwt-parser-tab:focus-visible{outline:2px solid rgba(251,191,36,.85);outline-offset:2px}.jwt-parser-code{flex:1;min-height:0;overflow:auto}.jwt-parser-highlight,.jwt-parser-signature{margin:0;padding:.85rem;min-height:100%;background:transparent;color:var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.jwt-parser-signature{color:var(--border)}.jwt-parser-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem;color:var(--fg-muted);font-size:.88rem;text-align:center}@media(max-width:900px){.jwt-parser-panes{grid-template-columns:1fr;grid-template-rows:minmax(14rem,38dvh) minmax(14rem,38dvh)}.jwt-parser-panes.is-focus-input{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.jwt-parser-panes.is-focus-output{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.jwt-parser-panes.is-focus-input .jwt-parser-pane-output.is-collapsed,.jwt-parser-panes.is-focus-output .jwt-parser-pane-input.is-collapsed{width:auto;max-width:none}.jwt-parser-panes.is-focus-input .jwt-parser-pane-output.is-collapsed .jwt-parser-pane-head,.jwt-parser-panes.is-focus-output .jwt-parser-pane-input.is-collapsed .jwt-parser-pane-head{flex-direction:row;height:auto;padding:.35rem .5rem .35rem .75rem}.jwt-parser-panes.is-focus-input .jwt-parser-pane-output.is-collapsed .jwt-parser-pane-head-text,.jwt-parser-panes.is-focus-output .jwt-parser-pane-input.is-collapsed .jwt-parser-pane-head-text{writing-mode:horizontal-tb;transform:none}}@media(max-width:640px){.jwt-parser-bar{padding:.55rem .65rem}.jwt-parser-actions{width:100%;margin-left:0}.jwt-parser-btn{flex:1 1 auto}.jwt-parser-btn-icon{flex:0 0 2.25rem}}.erd-viewer-page{max-width:96rem;margin-inline:auto}.erd-viewer-topbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.85rem;margin-bottom:.75rem;padding:.85rem 1rem;border:1px solid var(--border);background:radial-gradient(ellipse 70% 120% at 100% 0%,rgba(224,242,254,.55),transparent 58%),var(--surface)}.erd-viewer-topbar-start{min-width:0}.erd-viewer-topbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.erd-viewer-render-btn{min-width:7.5rem}.erd-viewer-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0 0 .75rem;padding:0;list-style:none}.erd-viewer-step{display:flex;align-items:center;gap:.55rem;padding:.55rem .7rem;border-radius:.75rem;border:1px solid var(--border);background:var(--surface);color:var(--fg-muted);font-size:.82rem;line-height:1.35}.erd-viewer-step-index{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:999px;background:var(--info-subtle);color:var(--info);font-size:.72rem;font-weight:800;flex-shrink:0}.erd-viewer-status{margin:0 0 .75rem;padding:.55rem .75rem;border-radius:.75rem;border:1px solid var(--border);background:var(--surface-muted, #f8fafc);color:var(--fg-muted);font-size:.84rem;line-height:1.45}.erd-viewer-status.is-error{border-color:#ef444459;background:#fee2e273;color:#b91c1c}.erd-viewer-status.is-success{border-color:#0ea5e947;background:#e0f2fe8c;color:var(--chart-2, #0e7490)}.erd-viewer-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-bottom:.85rem;padding:1rem 1.1rem;border:1px solid var(--border);background:radial-gradient(ellipse 70% 120% at 100% 0%,rgba(224,242,254,.55),transparent 58%),var(--surface)}.erd-viewer-breadcrumb{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:.82rem;color:var(--fg-muted)}.erd-viewer-breadcrumb a{color:var(--info);text-decoration:none;font-weight:700}.erd-viewer-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.erd-viewer-hero h1{margin:0;font-size:clamp(1.45rem,3vw,1.95rem)}.erd-viewer-subtitle{margin:.45rem 0 0;max-width:42rem;color:var(--fg-muted);line-height:1.55;font-size:.92rem}.erd-viewer-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-start}.erd-viewer-badge{display:inline-flex;padding:.22rem .6rem;border-radius:999px;background:var(--info-subtle);color:var(--info);font-size:.72rem;font-weight:700;letter-spacing:.02em}.erd-viewer-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;padding:.75rem .9rem}.erd-viewer-bar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.erd-viewer-bar-status{margin:0;font-size:.82rem;color:var(--fg-muted);line-height:1.45}.erd-viewer-panes{display:grid;grid-template-columns:minmax(15rem,.78fr) minmax(0,1.35fr);grid-template-rows:minmax(24rem,68dvh);gap:.75rem}.erd-viewer-pane{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;height:100%;border-radius:1rem;border:1px solid var(--border);background:var(--surface);overflow:hidden;box-shadow:0 10px 28px -24px #0f172a59}.erd-viewer-pane-output{border-color:#0ea5e947}.erd-viewer-pane-body{min-height:0;display:flex;flex-direction:column}.erd-viewer-pane-body>.erd-canvas,.erd-viewer-pane-body>textarea{flex:1;min-height:0}.erd-viewer-pane-footer{padding:.55rem .8rem;border-top:1px solid var(--border);background:var(--surface-muted, #f8fafc)}.erd-viewer-format-hint{margin:0;font-size:.76rem;line-height:1.45;color:var(--fg-muted)}.erd-viewer-pane-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .8rem;border-bottom:1px solid var(--border);background:var(--surface-muted, #f8fafc)}.erd-viewer-pane-head-main{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;min-width:0}.erd-viewer-pane-head-text{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted)}.erd-viewer-pane-head-meta{font-size:.76rem;font-weight:600;color:var(--info);font-variant-numeric:tabular-nums}.erd-viewer-pane-toggle{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:.55rem;background:var(--surface);color:var(--fg);cursor:pointer}.erd-viewer-pane-toggle:focus-visible{outline:2px solid var(--info);outline-offset:2px}.erd-viewer-input{width:100%;height:100%;min-height:0;padding:.9rem 1rem;border:none;resize:none;background:linear-gradient(180deg,rgba(248,250,252,.65),transparent 2.5rem),var(--surface);color:var(--fg);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;line-height:1.55}.erd-viewer-input:focus{outline:none}.erd-viewer-pane-output .erd-canvas{height:100%;min-height:0;padding:.55rem;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.erd-viewer-pane-output .erd-canvas-viewport{min-height:0}.erd-viewer-panes.is-focus-input{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.erd-viewer-panes.is-focus-output{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.erd-viewer-panes.is-focus-input .erd-viewer-pane-output.is-collapsed,.erd-viewer-panes.is-focus-output .erd-viewer-pane-input.is-collapsed{grid-template-rows:auto}.erd-viewer-panes.is-focus-input .erd-viewer-pane-output.is-collapsed>:not(.erd-viewer-pane-head),.erd-viewer-panes.is-focus-output .erd-viewer-pane-input.is-collapsed>:not(.erd-viewer-pane-head){display:none}.erd-viewer-page.is-fullscreen{max-width:none;padding:.75rem}.erd-viewer-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}.erd-stat-chip{display:grid;gap:.15rem;padding:.7rem .85rem;border-radius:.85rem;border:1px solid var(--border);background:var(--surface)}.erd-stat-chip-value{font-size:1.05rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;overflow-wrap:anywhere}.erd-stat-chip-label{font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted)}.erd-viewer-error{margin-bottom:.85rem}.erd-canvas{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;height:100%;min-height:0;padding:.65rem .75rem .75rem}.erd-canvas.is-fullscreen{display:flex;flex-direction:column;gap:.5rem;width:100%;height:100%;padding:.85rem;background:var(--surface)}.erd-canvas-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.55rem;padding:.55rem .65rem;border-radius:.8rem;border:1px solid var(--border);background:var(--surface-muted, #f8fafc)}.erd-canvas-toolbar-section{display:grid;gap:.25rem}.erd-canvas-toolbar-label{font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-muted)}.erd-canvas-toolbar-group{display:inline-flex;align-items:center;gap:.2rem;padding:.15rem;border-radius:.65rem;background:#ffffffb8;border:1px solid rgba(148,163,184,.25)}.erd-canvas-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:2.25rem;padding:.35rem .55rem;border:none;border-radius:.55rem;background:transparent;color:var(--fg);font-size:.78rem;font-weight:700;cursor:pointer;transition:background-color .12s ease,color .12s ease}.erd-canvas-btn:hover{background:#0ea5e91f;color:var(--info)}.erd-canvas-btn:focus-visible{outline:2px solid var(--info);outline-offset:2px}.erd-canvas-layout-btn.is-active{background:var(--info);color:#fff}.erd-canvas-zoom-level{min-width:3.25rem;text-align:center;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--fg-muted)}.erd-canvas-btn-text{gap:.35rem;padding-inline:.55rem}.erd-canvas-btn-text span{font-size:.72rem}.erd-canvas-btn-fullscreen{margin-left:auto;align-self:flex-end}.erd-canvas-viewport{position:relative;min-height:0;height:100%;border-radius:.9rem;border:1px solid rgba(14,165,233,.18);background-color:#fff;background-image:linear-gradient(rgba(148,163,184,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.14) 1px,transparent 1px);background-size:24px 24px;overflow:hidden;cursor:grab;touch-action:pan-x pan-y;box-shadow:inset 0 0 0 1px #ffffffa6}.erd-canvas.is-fullscreen .erd-canvas-viewport{flex:1;min-height:0}.erd-canvas-viewport.is-dragging{cursor:grabbing}.erd-canvas-viewport:focus-visible{outline:2px solid var(--info);outline-offset:2px}.erd-canvas-stage{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}@media(prefers-reduced-motion:no-preference){.erd-canvas-stage{transition:transform 80ms linear}}.erd-canvas-loading,.erd-canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:1.25rem;color:var(--fg-muted);text-align:center}.erd-canvas-empty-icon{color:var(--info);opacity:.85}.erd-canvas-empty-title{margin:0;font-size:1rem;font-weight:800;color:var(--fg)}.erd-canvas-empty-text{margin:0;max-width:18rem;font-size:.86rem;line-height:1.5}.erd-canvas-loading{background:#f8fafcd1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.erd-canvas-stage.is-rendering{opacity:.35;pointer-events:none}.erd-canvas-stage.is-hidden{visibility:hidden}.erd-canvas-skeleton{width:min(72%,28rem);height:12rem;border-radius:1rem;background:linear-gradient(90deg,#94a3b81f,#94a3b83d,#94a3b81f);background-size:200% 100%;animation:erd-skeleton-shimmer 1.2s ease-in-out infinite}@keyframes erd-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.erd-canvas-skeleton{animation:none}.erd-canvas-stage{transition:none}}.erd-canvas-hint{margin:0;font-size:.76rem;color:var(--fg-muted);line-height:1.4}.erd-diagram{padding:1.75rem;background:#ffffffeb;border-radius:.75rem;box-shadow:0 12px 30px -22px #0f172a73}.erd-diagram svg{display:block;height:auto;filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}.tool-card-icon-erd{background:linear-gradient(145deg,#ecfeff,#e0e7ff);border-color:#38bdf8}.tool-card-icon-erd .tool-card-glyph{color:#0e7490;font-size:.72rem;font-weight:800;letter-spacing:.04em}@media(max-width:960px){.erd-viewer-steps{grid-template-columns:1fr}.erd-viewer-panes{grid-template-columns:1fr;grid-template-rows:minmax(20rem,48dvh) minmax(14rem,30dvh)}.erd-viewer-pane-output{order:1}.erd-viewer-pane-input{order:2}.erd-canvas-btn-fullscreen{margin-left:0}.erd-canvas-btn-text span{display:none}}.password-generator{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--color-game-code-bg);color:var(--border)}.password-generator:fullscreen{width:100%;height:100%;background:var(--color-game-code-bg)}.password-generator-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.65rem .85rem;border-bottom:1px solid var(--surface);background:var(--fg);flex-shrink:0}.password-generator-bar-start{display:flex;align-items:center;gap:.75rem;min-width:0}.password-generator-back{color:var(--info);text-decoration:none;font-size:.84rem;font-weight:600;white-space:nowrap}.password-generator-back:hover{text-decoration:underline}.password-generator-title{margin:0;font-size:.95rem;font-weight:700;color:var(--bg);white-space:nowrap}.password-generator-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto}.password-generator-btn{min-height:2.25rem;padding:.35rem .75rem;border:1px solid var(--surface-muted);border-radius:.5rem;background:var(--surface);color:var(--border);font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.password-generator-btn:hover:not(:disabled){background:var(--color-game-code-surface);border-color:var(--fg-muted)}.password-generator-btn:disabled{opacity:.45;cursor:not-allowed}.password-generator-btn.is-primary{background:var(--chart-1);border-color:var(--chart-1);color:var(--brand-on)}.password-generator-btn.is-primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.password-generator-btn.is-success{background:var(--success-strong);border-color:var(--brand);color:var(--brand-subtle)}.password-generator-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;padding-inline:0}.password-generator-status{margin:0;padding:.35rem .85rem;border-bottom:1px solid var(--surface);background:var(--bg);color:var(--fg-muted);font-size:.78rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;flex-shrink:0}.password-generator-status.is-error{color:var(--danger-strong);background:var(--color-game-code-error-bg)}.password-generator-body{flex:1;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(16rem,.9fr);gap:1px;min-height:0;background:var(--surface)}.password-generator-output,.password-generator-options{min-height:0;background:var(--color-game-code-bg);padding:1rem 1.1rem}.password-generator-output-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.password-generator-output-label,.password-generator-options-title{margin:0;color:var(--fg-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.password-generator-strength{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px}.password-generator-strength-weak{color:#b91c1c;background:#ef44441f}.password-generator-strength-fair{color:#b45309;background:#f59e0b24}.password-generator-strength-strong{color:#047857;background:#10b98124}.password-generator-strength-veryStrong{color:#1d4ed8;background:#3b82f624}.password-generator-field{display:flex;align-items:stretch;gap:.5rem}.password-generator-value{flex:1;min-width:0;padding:.85rem 1rem;border:1px solid var(--surface);border-radius:.65rem;background:var(--bg);color:var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem;line-height:1.4}.password-generator-value:focus{outline:none;box-shadow:inset 0 0 0 2px #2563eb73}.password-generator-visibility{display:inline-flex;align-items:center;justify-content:center;width:2.75rem;border:1px solid var(--surface);border-radius:.65rem;background:var(--bg);color:var(--fg-muted);cursor:pointer;flex-shrink:0}.password-generator-visibility:hover{color:var(--border);border-color:var(--fg-muted)}.password-generator-options{display:flex;flex-direction:column;gap:.85rem;overflow:auto}.password-generator-option{display:flex;align-items:center;gap:.6rem;color:var(--border);font-size:.88rem;cursor:pointer}.password-generator-option-length{flex-direction:column;align-items:stretch;gap:.55rem;cursor:default}.password-generator-option-label{font-size:.82rem;font-weight:600;color:var(--fg-muted)}.password-generator-length-control{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem;gap:.75rem;align-items:center}.password-generator-length-control input[type=range]{width:100%}.password-generator-length-input{width:100%;padding:.45rem .5rem;border:1px solid var(--surface);border-radius:.5rem;background:var(--bg);color:var(--border);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.84rem}@media(max-width:900px){.password-generator{min-height:calc(100dvh - var(--dev-tool-offset))}.password-generator-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}}@media(max-width:640px){.password-generator-bar{padding:.55rem .65rem}.password-generator-actions{width:100%;margin-left:0}.password-generator-btn{flex:1 1 auto}.password-generator-btn-icon{flex:0 0 2.25rem}}@media(prefers-reduced-motion:reduce){.password-generator-btn,.password-generator-visibility{transition:none}}}@layer pages{.monster-connect-page{--pc-primary: #2563eb;--pc-primary-soft: rgba(37, 99, 235, .14);--pc-accent: #f59e0b;--pc-board-bg: #1e293b;--pc-cell-bg: linear-gradient(145deg, #f8fafc, #e2e8f0);--pc-cell-border: #cbd5e1;--pc-path: #16a34a;--pc-path-glow: rgba(74, 222, 128, .9);max-width:56rem}.monster-connect-page.is-admin-levels{max-width:min(80rem,100%)}.pc-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.pc-sound-toggle{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--fg-muted);cursor:pointer}.pc-layout{display:grid;gap:1.5rem}.pc-layout--admin .pc-admin-lb-wrap .pc-admin-lb{margin-bottom:0}.pc-panel,.pc-admin-lb{margin-bottom:1rem}.pc-admin-lb h2{margin:0 0 .35rem;font-size:1rem}.pc-admin-lb h3,.pc-admin-lb-mode-title{margin:0 0 .5rem;font-size:.875rem;font-weight:700}.pc-admin-lb-mode{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.pc-admin-lb-mode:first-of-type{margin-top:.75rem;padding-top:0;border-top:none}.pc-admin-lb-mode h4{margin:0 0 .35rem;font-size:.75rem;font-weight:600;color:var(--fg-muted)}.pc-admin-lb-count--total{font-weight:600;color:var(--fg)}.pc-admin-lb-desc,.pc-admin-lb-count{margin:0 0 .5rem;font-size:.75rem;color:var(--fg-muted)}.pc-admin-lb-error{margin:0;font-size:.8125rem;color:var(--danger, #dc2626)}.pc-admin-lb-grid{display:grid;gap:1rem}.pc-admin-lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.pc-admin-lb-item{display:grid;grid-template-columns:2.25rem 1fr auto;gap:.35rem .5rem;align-items:center;padding:.35rem .45rem;border-radius:var(--radius-sm);background:var(--bg-subtle);font-size:.8125rem}.pc-admin-lb-rank{font-weight:700;color:var(--fg-muted)}.pc-admin-lb-user{min-width:0;display:flex;flex-direction:column;gap:.1rem}.pc-admin-lb-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-admin-lb-meta{font-size:.7rem;color:var(--fg-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-admin-lb-value{font-weight:700;font-variant-numeric:tabular-nums}.pc-admin-lb-empty{margin:0;font-size:.8125rem;color:var(--fg-muted)}.pc-aside{padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface)}.pc-panel-desc{color:var(--fg-muted);font-size:.9rem;margin-bottom:1rem}.pc-level-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.5rem}.pc-level-btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .35rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-subtle);cursor:pointer;transition:border-color var(--motion-fast),transform var(--motion-fast)}.pc-level-btn:not(.is-locked):hover{border-color:var(--pc-primary);transform:translateY(-1px)}.pc-level-btn.is-locked{opacity:.45;cursor:not-allowed}.pc-level-num{font-weight:700;font-size:1.1rem}.pc-level-size{font-size:.65rem;color:var(--fg-muted)}.pc-stars{font-size:.75rem;letter-spacing:.05em;color:var(--border)}.pc-star.is-on{color:var(--pc-accent)}.pc-help summary{cursor:pointer;font-weight:600;margin-bottom:.75rem}.pc-help p{font-size:.875rem;color:var(--fg-muted);margin-bottom:.5rem}.pc-art-credit{font-size:.75rem;opacity:.85}.pc-back-link{display:inline-block;margin-top:1rem;font-size:.875rem}.pc-play-layout{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%}.pc-play-hud{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.65rem 1rem;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--border);box-sizing:border-box}.pc-play-hud-stats{display:flex;flex-wrap:nowrap;align-items:center;gap:.65rem 1rem;min-width:0}.pc-play-stat{display:inline-flex;align-items:baseline;gap:.35rem;font-size:.75rem;color:var(--fg-muted)}.pc-play-stat strong{font-size:.95rem;color:var(--fg)}.pc-play-stat-label{font-size:.7rem}.pc-play-sound{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;font-size:.75rem;color:var(--fg-muted);cursor:pointer;white-space:nowrap}.pc-play-sound-text{max-width:4.5rem;overflow:hidden;text-overflow:ellipsis}.pc-board-scroll{width:100%;max-width:42rem;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;border-radius:var(--radius-lg)}.monster-connect-page.is-playing .pc-board-scroll,.monster-connect-page.is-playing .pc-board-stage,.monster-connect-page.is-playing .pc-board-wrap,.monster-connect-page.is-playing .pc-board{touch-action:manipulation}.pc-board-scroll .pc-board-wrap{flex-shrink:0;margin:auto}.pc-rotate-tip{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;width:100%;padding:.5rem .75rem;border-radius:var(--radius-md);background:#2563eb1a;border:1px solid rgba(37,99,235,.28);font-size:.8125rem;color:var(--fg);box-sizing:border-box}.pc-rotate-tip p{margin:0;flex:1;min-width:0}.pc-rotate-tip-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.pc-rotate-tip-landscape,.pc-rotate-tip-dismiss{flex-shrink:0;padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:.75rem;font-weight:600;cursor:pointer;min-height:2.75rem;touch-action:manipulation}.pc-rotate-tip-landscape{border-color:#2563eb73;background:#2563eb1f;color:var(--fg)}.pc-play-hud-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .5rem;flex-shrink:0}.pc-immersive-btn,.pc-landscape-btn{padding:.35rem .55rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:.7rem;font-weight:600;line-height:1.2;cursor:pointer;min-height:2.25rem;max-width:6.75rem;touch-action:manipulation;color:var(--fg)}.pc-immersive-btn.is-active,.pc-landscape-btn.is-active{border-color:#2563eb8c;background:#2563eb24}.monster-connect-page.is-fullscreen-play:fullscreen,.monster-connect-page.is-fullscreen-play:-webkit-full-screen,.monster-connect-page.is-landscape-play--native:fullscreen,.monster-connect-page.is-landscape-play--native:-webkit-full-screen{width:100%;height:100%;max-width:none;overflow:hidden;background:var(--bg);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;display:flex;flex-direction:column}.monster-connect-page.is-fullscreen-play:fullscreen .pc-play-layout,.monster-connect-page.is-fullscreen-play:-webkit-full-screen .pc-play-layout,.monster-connect-page.is-landscape-play--native:fullscreen .pc-play-layout,.monster-connect-page.is-landscape-play--native:-webkit-full-screen .pc-play-layout{flex:1 1 auto;min-height:0;height:100%}.monster-connect-page.is-fullscreen-play:fullscreen .pc-board-scroll,.monster-connect-page.is-fullscreen-play:-webkit-full-screen .pc-board-scroll,.monster-connect-page.is-landscape-play--native:fullscreen .pc-board-scroll,.monster-connect-page.is-landscape-play--native:-webkit-full-screen .pc-board-scroll{overflow:hidden;container-type:size}.monster-connect-page.is-fullscreen-play:fullscreen .pc-board-scroll .pc-board-wrap,.monster-connect-page.is-fullscreen-play:-webkit-full-screen .pc-board-scroll .pc-board-wrap,.monster-connect-page.is-landscape-play--native:fullscreen .pc-board-scroll .pc-board-wrap,.monster-connect-page.is-landscape-play--native:-webkit-full-screen .pc-board-scroll .pc-board-wrap{width:min(100cqw,calc(100cqh * var(--pc-cols) / var(--pc-rows)));max-width:100cqw;max-height:100cqh;aspect-ratio:var(--pc-cols) / var(--pc-rows)}.pc-play-dock{display:none;width:100%;gap:.35rem;padding-top:.25rem;padding-bottom:max(.35rem,env(safe-area-inset-bottom,0px));box-sizing:border-box}.pc-play-dock-btn{flex:1 1 0;min-width:0;min-height:3rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.35rem .25rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pc-play-dock-btn:disabled{opacity:.45;cursor:not-allowed}.pc-play-dock-btn:not(:disabled):active{transform:scale(.97);background:var(--bg-subtle)}.pc-play-dock-btn.is-active{border-color:#2563eb8c;background:#2563eb1f}.pc-play-dock-label{font-size:.72rem;font-weight:600;line-height:1.2;text-align:center}.pc-play-dock-meta{font-size:.65rem;color:var(--fg-muted)}.pc-play-toast{position:fixed;left:50%;bottom:calc(4.5rem + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:90;max-width:min(22rem,calc(100vw - 2rem));padding:.55rem 1rem;border-radius:var(--radius-md);background:#0f172aeb;color:#f8fafc;font-size:.875rem;text-align:center;pointer-events:none;box-shadow:0 8px 24px #00000040}.pc-hud{display:none}.pc-actions--desktop{display:flex}.pc-hud-item{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.75rem;color:var(--fg-muted)}.pc-hud-item strong{font-size:1.05rem;color:var(--fg)}.pc-urgent{color:var(--danger)}.pc-board-wrap{--pc-board-max-h: min(72dvh, 40rem);--pc-min-cell: 0px;--pc-board-pad: 12px;--pc-path-pad-x: .5rem;--pc-path-pad-y: .5rem;position:relative;width:min(100%,42rem,calc(var(--pc-board-max-h) * var(--pc-cols) / var(--pc-rows)));max-height:var(--pc-board-max-h);aspect-ratio:var(--pc-cols) / var(--pc-rows);margin-inline:auto;flex-shrink:0;box-sizing:border-box;padding:var(--pc-path-pad-y) var(--pc-path-pad-x);overflow:visible}.pc-board{position:relative;display:grid;width:100%;height:100%;gap:3px;padding:6px;border-radius:var(--radius-lg);background:var(--pc-board-bg);box-shadow:inset 0 2px 8px #00000040;box-sizing:border-box;overflow:visible}.pc-cell:not(.is-empty){z-index:2}.monster-connect-page.is-playing .pc-cell:not(.is-empty):before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;z-index:0}.pc-cell{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;min-height:0;min-width:0;margin:0;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;font:inherit;color:inherit;border-radius:6px;border:2px solid var(--pc-cell-border);background:var(--pc-cell-bg);cursor:pointer;overflow:hidden;box-sizing:border-box;transition:box-shadow .12s ease,border-color .12s ease}.pc-cell-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;min-width:0;transform:translateZ(0);transition:transform .12s ease,opacity .12s ease}.pc-cell.is-empty{visibility:hidden;pointer-events:none}@media(hover:hover)and (pointer:fine){.pc-cell:not(.is-empty):not(.is-selected):not(.is-matching):hover:not(:disabled) .pc-cell-content{transform:scale(1.06)}}.pc-cell.is-selected{border-color:var(--pc-primary);background:var(--pc-primary-soft);box-shadow:0 0 0 3px var(--pc-primary),inset 0 0 0 1px #ffffffa6;animation:pc-selected-pulse .9s ease-in-out infinite;z-index:3}.pc-cell.is-matching{pointer-events:none;border-color:var(--pc-accent);box-shadow:0 0 0 3px #fbbf248c;background:#fbbf241f;z-index:3}.pc-cell.is-selected .pc-cell-content{transform:scale(1.06)}.pc-cell.is-selected.is-pair-ready{border-color:var(--pc-accent);background:#fbbf2438;box-shadow:0 0 0 3px var(--pc-accent),0 0 14px #fbbf2473;animation:none}@keyframes pc-selected-pulse{0%,to{box-shadow:0 0 0 3px var(--pc-primary),inset 0 0 0 1px #ffffffa6}50%{box-shadow:0 0 0 5px #2563eb73,inset 0 0 0 1px #fffc}}.pc-cell.is-matching .pc-cell-content{animation:pc-match-pop var(--pc-match-ms, .38s) ease-in forwards;will-change:transform,opacity}.pc-cell.is-invalid .pc-cell-content{animation:pc-invalid-shake .42s ease}.pc-cell.is-invalid{border-color:var(--danger)!important}@keyframes pc-match-pop{0%{transform:scale(1);opacity:1}35%{transform:scale(1.14);filter:brightness(1.08)}to{transform:scale(.2);opacity:0}}@keyframes pc-invalid-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.pc-cell.is-hint{z-index:3;border-color:#d97706;background:#fbbf244d;box-shadow:0 0 0 3px #f59e0b,0 0 0 6px #fbbf248c,0 0 16px #f59e0b8c;animation:pc-hint-pulse .85s ease-in-out infinite alternate}.pc-cell.is-hint .pc-cell-content{filter:drop-shadow(0 0 6px rgba(245,158,11,.75))}.pc-hud-notice{display:none}html.monster-connect-focus-mode.mc-focus-mobile,html.monster-connect-focus-mode.mc-focus-mobile body{overflow:hidden}html.monster-connect-focus-mode.mc-focus-mobile .header{display:none}html.monster-connect-focus-mode.mc-focus-mobile .main{max-width:none;margin:0;padding:0;min-height:100dvh;display:flex;flex-direction:column}html.monster-connect-focus-mode.mc-focus-mobile .monster-connect-page.is-playing{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;width:100%;box-sizing:border-box}html.monster-connect-focus-mode.mc-focus-mobile .monster-connect-page.is-playing .pc-play-layout{flex:1 1 auto;min-height:0;width:100%}.monster-connect-page.mc-env-mobile.is-shift-play-mode:not(.is-shift-immersive-play) .pc-board-scroll .pc-board-wrap{--pc-board-max-h: min(58dvh, 28rem);width:min(100%,46rem,calc(var(--pc-board-max-h) * var(--pc-cols) / var(--pc-rows)))}.pc-play-immersive-body{display:flex;flex-direction:column;width:100%;align-items:stretch}.pc-play-layout--shift-immersive{align-items:stretch;justify-content:flex-start;flex:1 1 auto;min-height:0;width:100%}.pc-play-layout--shift-immersive .pc-play-immersive-body--shift{flex-direction:row;flex:1 1 0;min-height:0;align-items:stretch;justify-content:stretch;gap:.2rem;height:100%;width:100%}.pc-play-wing{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;width:3.15rem;min-width:3.15rem;padding:.35rem .15rem;align-self:stretch;box-sizing:border-box}.pc-play-wing .pc-play-rail-btn,.pc-play-wing-btn{width:2.85rem;height:2.85rem;min-height:2.85rem;padding:.45rem;flex-shrink:0}.pc-play-wing-icon{display:block;width:1.35rem;height:1.35rem;color:var(--fg)}.pc-play-wing .pc-play-rail-badge{top:.1rem;right:.08rem;bottom:auto}.pc-play-wing-btn.pc-play-rail-btn--quit .pc-play-wing-icon{color:var(--danger)}.pc-play-timebar{flex:0 0 auto;width:100%;padding:.2rem .1rem .3rem;box-sizing:border-box}.pc-play-timebar-track{width:100%;height:.5rem;border-radius:999px;background:color-mix(in srgb,var(--border) 65%,transparent);overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 80%,transparent)}.pc-play-timebar-fill{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#2563eb);transform-origin:left center;transform:scaleX(var(--pc-time-ratio, 1));transition:transform 1s linear,background .35s ease;will-change:transform}.pc-play-timebar.is-urgent .pc-play-timebar-fill{background:linear-gradient(90deg,#ef4444,#f97316)}.pc-play-timebar.is-paused .pc-play-timebar-fill{transition:none}@media(prefers-reduced-motion:reduce){.pc-play-timebar-fill{transition:none}}.monster-connect-page.is-playing.is-shift-css-landscape .pc-play-wing--left{padding-left:max(.2rem,env(safe-area-inset-left,0px))}.monster-connect-page.is-playing.is-shift-css-landscape .pc-play-wing--right{padding-right:max(.2rem,env(safe-area-inset-right,0px))}.pc-play-main{display:flex;flex-direction:column;min-width:0}.pc-play-layout--shift-immersive .pc-play-main--shift{flex:1 1 0;min-height:0;min-width:0;align-self:stretch;height:100%;display:flex;flex-direction:column}.pc-board-stage{width:100%;height:100%;min-height:0;min-width:0;display:grid;place-items:center;container-type:size;container-name:pc-shift-board}.pc-play-rail{display:flex;flex-direction:column;flex-shrink:0;align-self:stretch;gap:.35rem;width:3.35rem;min-height:0;height:100%;padding:.2rem 0;box-sizing:border-box}.pc-play-rail-label{font-size:.58rem;font-weight:700;line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .1rem}.pc-play-rail-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.12rem;width:3rem;min-height:2.65rem;padding:.2rem .1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pc-play-rail-btn:disabled{opacity:.45;cursor:not-allowed}.pc-play-rail-btn:not(:disabled):active{transform:scale(.96);background:var(--bg-subtle)}.pc-play-rail-btn.is-active{border-color:#2563eb8c;background:#2563eb1f}.pc-play-rail-btn--quit{flex-shrink:0}.pc-play-rail-badge{position:absolute;right:.15rem;bottom:.12rem;min-width:.95rem;padding:0 .2rem;border-radius:999px;background:#0f172ad1;color:#f8fafc;font-size:.58rem;font-weight:700;line-height:1.25;text-align:center}.pc-play-hud--compact{padding:.2rem .35rem;border:none;background:transparent;box-shadow:none}.pc-play-hud--compact .pc-play-hud-stats{width:100%;justify-content:space-between;gap:.5rem}.pc-play-hud--compact .pc-play-stat--level{font-size:.72rem;color:var(--fg-muted)}.pc-play-hud--compact .pc-play-stat--level strong{font-size:.8rem;font-weight:600}.pc-play-hud--compact .pc-play-stat-grid{font-weight:500;opacity:.85}.pc-play-hud--compact .pc-play-timer{font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.02em}.pc-play-dock--hidden{display:none!important}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode.is-mobile-play-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:450;display:flex;flex-direction:column;width:100%;max-width:none;min-height:100dvh;height:100dvh;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;overflow:hidden;overscroll-behavior:none;background:var(--bg)}.monster-connect-page.mc-env-mobile.is-playing.is-shift-css-landscape.is-mobile-play-shell{padding:0}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode.is-mobile-play-shell .pc-play-layout{--pc-play-chrome: 7.25rem;height:100%;max-height:100%;min-height:0}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-play-layout{--pc-play-chrome: 2.75rem;gap:.2rem;flex:1 1 auto;min-height:0;height:100%;max-height:100%;display:flex;flex-direction:column}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-play-immersive-body--shift{flex:1 1 0;min-height:0;height:100%}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode.is-mobile-play-shell .pc-board-scroll,.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode.is-mobile-play-shell .pc-board-stage{overflow:visible}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode.is-mobile-play-shell .pc-board-scroll,.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board-scroll{flex:1 1 0;min-height:0;height:100%;max-width:none;width:100%;min-width:0}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board-scroll,.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board-stage,.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board-wrap,.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-play-main--shift{overflow:visible}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-path-line{stroke-width:4.5}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-path-line-bg{stroke-width:8}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode.is-mobile-play-shell .pc-board-stage,.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board-stage{padding:.1rem;box-sizing:border-box}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode.is-mobile-play-shell .pc-board-stage .pc-board-wrap,.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board-stage .pc-board-wrap{--pc-path-pad-x: clamp(2px, .35cqw, 8px);--pc-path-pad-y: clamp(2px, .35cqh, 8px);width:min(99.5cqw,calc(99.5cqh * var(--pc-cols) / var(--pc-rows)));max-width:99.5cqw;max-height:99.5cqh;height:auto;aspect-ratio:var(--pc-cols) / var(--pc-rows);margin:0;justify-self:center;align-self:center}@container pc-shift-board (max-height: 79px){.pc-board-stage .pc-board-wrap{width:min(100%,calc((100dvh - 3.5rem) * var(--pc-cols) / var(--pc-rows)));max-width:100%;max-height:calc(100dvh - 3.5rem)}}@media(orientation:landscape){.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-play-wing{padding-top:max(.35rem,env(safe-area-inset-top,0px));padding-bottom:max(.35rem,env(safe-area-inset-bottom,0px))}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board{gap:2px;padding:2px}}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-board{gap:2px;padding:3px}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-cell{border-width:1.5px;border-radius:5px}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-cell-img{width:92%;height:92%;object-fit:contain}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play .pc-play-toast{bottom:calc(.65rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);max-width:min(16rem,calc(100% - 7.5rem))}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode .pc-board.is-settling .pc-cell:not(:disabled){transition:transform .22s cubic-bezier(.22,1,.36,1)}.pc-shift-desktop-only{margin:1rem 0;padding:1rem 1.1rem;border:1px solid var(--info-border, #bae6fd);background:var(--info-subtle, #f0f9ff);color:var(--fg)}.pc-shift-desktop-only-title{margin:0 0 .5rem;font-size:1rem;font-weight:700}.pc-shift-desktop-only p{margin:0 0 .85rem;font-size:.875rem;line-height:1.45;color:var(--fg-muted)}.pc-level-grid--disabled{pointer-events:none;opacity:.45;filter:grayscale(.15)}.pc-mode-tabs{display:flex;gap:.5rem;margin:.75rem 0 .35rem}.pc-mode-tab{flex:1 1 0;min-height:2.75rem;padding:.45rem .65rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;touch-action:manipulation}.pc-mode-tab.is-active{border-color:#2563eb8c;background:#2563eb1f}.pc-mode-desc{margin:0 0 .75rem;font-size:.85rem;color:var(--fg-muted);line-height:1.45}.pc-slide-bar{flex-shrink:0;padding:.35rem .25rem 0}.pc-slide-bar--active{padding:.5rem .55rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.pc-slide-bar-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .65rem;margin-bottom:.35rem}.pc-slide-bar-title{font-size:.8rem;font-weight:700}.pc-slide-bar-meta{font-size:.72rem;color:var(--fg-muted)}.pc-slide-tool-toggle,.pc-slide-tool-done{margin-left:auto;min-height:2.25rem;padding:.35rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-subtle);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;touch-action:manipulation}.pc-slide-bar-hint{margin:0 0 .45rem;font-size:.72rem;color:var(--fg-muted);line-height:1.35}.pc-slide-controls{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.pc-slide-group{display:flex;flex-direction:column;gap:.25rem;min-width:0}.pc-slide-label{font-size:.7rem;font-weight:600;color:var(--fg-muted)}.pc-slide-picker{display:flex;align-items:center;justify-content:center;gap:.35rem}.pc-slide-index{min-width:1.75rem;text-align:center;font-weight:700;font-size:.9rem}.pc-slide-step,.pc-slide-arrow{min-width:2.5rem;min-height:2.35rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);font-size:1rem;font-weight:700;cursor:pointer;touch-action:manipulation}.pc-slide-step:disabled,.pc-slide-arrow:disabled{opacity:.45;cursor:not-allowed}.pc-slide-arrows{display:flex;gap:.35rem;justify-content:center}.pc-cell.is-slide-row{box-shadow:inset 0 0 0 2px #2563eb8c}.pc-cell.is-slide-col{box-shadow:inset 0 0 0 2px #10b9818c}.pc-cell.is-slide-row.is-slide-col{box-shadow:inset 0 0 0 2px #2563eb8c,inset 0 0 0 4px #10b98159}@keyframes pc-hint-pulse{0%{box-shadow:0 0 0 3px #f59e0b,0 0 0 6px #fbbf248c,0 0 16px #f59e0b8c}to{box-shadow:0 0 0 3px #fbbf24,0 0 0 9px #fbbf24bf,0 0 22px #f59e0bd9}}.pc-cell-emoji{font-size:clamp(1rem,3.5vw,1.75rem);line-height:1}.pc-cell-img{width:78%;height:78%;max-width:100%;max-height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.pc-type-grass{border-color:#22c55e}.pc-type-fire{border-color:#ef4444}.pc-type-water{border-color:#3b82f6}.pc-type-electric{border-color:#eab308}.pc-type-psychic{border-color:#a855f7}.pc-type-normal{border-color:#94a3b8}.pc-type-fighting{border-color:#b45309}.pc-type-ghost{border-color:#6366f1}.pc-type-fairy{border-color:#ec4899}.pc-type-dark{border-color:#475569}.pc-type-rock{border-color:#78716c}.pc-type-dragon{border-color:#7c3aed}.pc-path-layer{position:absolute;z-index:12;pointer-events:none;overflow:visible}.pc-board-wrap .pc-path-line,.pc-board-wrap .pc-path-line-bg{vector-effect:non-scaling-stroke}.pc-path-line-bg{fill:none;stroke:#0f172a47;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.pc-path-line{fill:none;stroke:var(--pc-path, #16a34a);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke fill markers;filter:drop-shadow(0 0 3px var(--pc-path, #16a34a)) drop-shadow(0 0 8px var(--pc-path-glow, rgba(74, 222, 128, .85)));stroke-dasharray:var(--pc-path-len, 1000);stroke-dashoffset:var(--pc-path-len, 1000)}.pc-path-line--draw{animation-name:pc-path-draw;animation-timing-function:ease-out;animation-fill-mode:forwards}@keyframes pc-path-draw{to{stroke-dashoffset:0}}.pc-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;width:100%}.pc-pause-overlay{z-index:110}.monster-connect-page.is-paused .pc-board-wrap{filter:saturate(.92) brightness(.88);pointer-events:none}.pc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a8c}.pc-modal{max-width:22rem;text-align:center;padding:1.5rem}.pc-modal-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.25rem}.game-card-icon-connect{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:.65rem;background:linear-gradient(145deg,#2563eb1f,#f59e0b2e);border:1px solid rgba(37,99,235,.25)}.game-card-connect-tile{width:1.35rem;height:1.35rem;border-radius:4px;background:var(--surface);display:flex;align-items:center;justify-content:center;font-size:.85rem}@media(prefers-reduced-motion:reduce){.pc-cell.is-hint{animation:none;border-color:#d97706;background:#fbbf2459;box-shadow:0 0 0 3px #f59e0b,0 0 0 6px #fbbf24a6,inset 0 0 0 1px #ffffff80}.pc-cell-content{transition:none}.pc-cell.is-matching .pc-cell-content{animation:none;opacity:0}.pc-cell.is-invalid .pc-cell-content,.pc-cell.is-selected{animation:none}.pc-path-line--draw{animation:none;stroke-dashoffset:0}}.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode .pc-board-scroll,.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode .pc-board-stage,.monster-connect-page.mc-env-mobile.is-playing.is-shift-play-mode .pc-board-wrap{overflow:visible}}@layer pages{.monster-connect-page.mc-env-desktop .pc-layout{grid-template-columns:1fr 16rem}.monster-connect-page.mc-env-desktop .pc-layout--admin{grid-template-columns:minmax(0,1fr) minmax(12.5rem,15rem);grid-template-areas:"levels sidebar" "admin sidebar";align-items:start}.monster-connect-page.mc-env-desktop .pc-layout--admin .pc-panel{grid-area:levels}.monster-connect-page.mc-env-desktop .pc-layout--admin .pc-admin-lb-wrap{grid-area:admin;min-width:0}.monster-connect-page.mc-env-desktop .pc-layout--admin .pc-aside{grid-area:sidebar;position:sticky;top:1rem;align-self:start;max-height:calc(100vh - 2rem);overflow:auto}.monster-connect-page.mc-env-desktop .pc-layout--admin .pc-admin-lb-mode .pc-admin-lb-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem}.monster-connect-page.mc-env-desktop .pc-layout--admin .pc-admin-lb-item{grid-template-columns:2rem minmax(0,1fr) auto}.monster-connect-page.mc-env-desktop .pc-play-toast{bottom:2rem}.monster-connect-page.mc-env-desktop .pc-admin-lb-grid{grid-template-columns:1fr 1fr}.monster-connect-page.is-playing:not(.is-shift-immersive-play) .pc-play-immersive-body,.monster-connect-page.mc-env-desktop.is-playing:not(.is-shift-immersive-play) .pc-play-main{flex:0 1 auto;min-height:auto}.monster-connect-page.mc-env-desktop.is-playing:not(.is-shift-immersive-play) .pc-board-scroll{flex:0 1 auto;min-height:auto;overflow:visible}.monster-connect-page.mc-env-desktop.is-playing:not(.is-shift-immersive-play) .pc-play-immersive-body,.monster-connect-page.mc-env-desktop.is-playing:not(.is-shift-immersive-play) .pc-play-main{flex:0 1 auto;min-height:auto}.monster-connect-page.mc-env-desktop.is-playing:not(.is-shift-immersive-play) .pc-board-scroll{flex:0 1 auto;min-height:auto;overflow:visible;max-width:42rem}.monster-connect-page.mc-env-desktop.is-playing .pc-play-immersive-body{max-width:42rem;margin-inline:auto}.monster-connect-page.mc-env-desktop .pc-actions--desktop{display:flex}.monster-connect-page.mc-env-desktop .pc-play-dock{display:none!important}.monster-connect-page.mc-env-desktop.is-shift-play-mode:not(.is-shift-immersive-play) .pc-board-scroll .pc-board-wrap{--pc-board-max-h: min(72dvh, 40rem);width:min(100%,42rem,calc(var(--pc-board-max-h) * var(--pc-cols) / var(--pc-rows)))}}@layer pages{.monster-connect-page.mc-env-mobile.is-playing.is-mobile-play-shell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:450;width:100%;max-width:none;min-height:100dvh;height:100dvh;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;overflow:hidden;overscroll-behavior:none;background:var(--bg)}.monster-connect-page.mc-env-mobile.is-playing.is-mobile-play-shell .pc-play-layout{--pc-play-chrome: 7.25rem;height:100%;max-height:100%;min-height:0}.monster-connect-page.mc-env-mobile.is-playing.is-shift-immersive-play.is-mobile-play-shell .pc-play-layout{height:100%;max-height:100%}.monster-connect-page.mc-env-mobile.is-playing.is-mobile-play-shell .pc-board-scroll{overflow:hidden;container-type:size}.monster-connect-page.mc-env-mobile.is-playing.is-mobile-play-shell .pc-board-scroll .pc-board-wrap{width:min(100cqw,calc(100cqh * var(--pc-cols) / var(--pc-rows)));max-width:100cqw;max-height:100cqh;aspect-ratio:var(--pc-cols) / var(--pc-rows)}.monster-connect-page.mc-env-mobile.is-playing.is-mobile-play-shell .pc-play-dock{background:var(--bg);padding-bottom:max(.15rem,env(safe-area-inset-bottom,0px))}.monster-connect-page.mc-env-mobile.is-playing{overscroll-behavior:none;max-width:none;padding-inline:max(.35rem,env(safe-area-inset-left)) max(.35rem,env(safe-area-inset-right))}.monster-connect-page.mc-env-mobile.is-playing.is-mobile-play-shell{padding-inline:max(.2rem,env(safe-area-inset-left)) max(.2rem,env(safe-area-inset-right))}.monster-connect-page.mc-env-mobile.is-playing .pc-play-layout{--pc-play-chrome: 8.75rem;gap:.35rem;flex:1 1 auto;min-height:0;height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));align-items:stretch;box-sizing:border-box}.monster-connect-page.mc-env-mobile.is-playing .pc-play-hud{padding:.4rem .55rem;flex-shrink:0}.monster-connect-page.mc-env-mobile.is-playing .pc-play-stat-label,.monster-connect-page.mc-env-mobile.is-playing .pc-play-sound-text{display:none}.monster-connect-page.mc-env-mobile.is-playing .pc-board-scroll{flex:1 1 0;min-height:0;max-width:none;width:100%;overflow:hidden;overscroll-behavior:none;touch-action:manipulation;container-type:size;align-items:center;justify-content:center;scroll-padding:0}.monster-connect-page.mc-env-mobile.is-playing .pc-board-scroll .pc-board-wrap{flex-shrink:1;margin:auto;--pc-board-pad: 8px;width:min(100cqw,calc(100cqh * var(--pc-cols) / var(--pc-rows)));max-width:100cqw;max-height:100cqh;aspect-ratio:var(--pc-cols) / var(--pc-rows);height:auto}.monster-connect-page.mc-env-mobile.is-playing .pc-play-dock{display:flex;flex-shrink:0;position:relative;bottom:auto;z-index:25;background:linear-gradient(to top,var(--bg) 85%,transparent);padding-top:.35rem;padding-bottom:max(.25rem,env(safe-area-inset-bottom,0px))}.monster-connect-page.mc-env-mobile .pc-level-grid{grid-template-columns:repeat(auto-fill,minmax(3.25rem,1fr))}.monster-connect-page.mc-env-mobile .pc-level-btn{min-height:3rem}.monster-connect-page.mc-env-mobile.is-playing .pc-play-layout{--pc-play-chrome: 8.5rem}.monster-connect-page.mc-env-mobile.is-playing .pc-board{gap:2px;padding:4px}.monster-connect-page.mc-env-mobile.is-playing .pc-cell{border-width:1.5px;border-radius:4px}.monster-connect-page.mc-env-mobile.is-playing .pc-path-line{stroke-width:3}.monster-connect-page.is-playing .game-breadcrumb,.monster-connect-page.mc-env-mobile.is-playing .pc-header{display:none}.monster-connect-page.mc-env-mobile.is-playing{max-width:none;overscroll-behavior-y:contain}.monster-connect-page.mc-env-mobile.is-playing .pc-play-layout{--pc-play-chrome: 5.5rem;gap:.35rem;width:100%;min-height:100dvh}.monster-connect-page.mc-env-mobile.is-playing .pc-play-hud{flex-wrap:nowrap;padding:.35rem .5rem}.monster-connect-page.mc-env-mobile.is-playing .pc-play-stat-label{display:none}.monster-connect-page.mc-env-mobile.is-playing .pc-board-scroll{max-width:none;overflow:hidden;container-type:size;touch-action:manipulation}.monster-connect-page.mc-env-mobile.is-playing .pc-board-scroll .pc-board-wrap{width:min(100cqw,calc(100cqh * var(--pc-cols) / var(--pc-rows)));max-width:100cqw;max-height:100cqh;aspect-ratio:var(--pc-cols) / var(--pc-rows);height:auto}.monster-connect-page.mc-env-mobile.is-playing .pc-actions--desktop{display:none}.monster-connect-page.mc-env-mobile.is-playing .pc-play-dock{display:flex;padding-bottom:max(.25rem,env(safe-area-inset-bottom,0px))}.monster-connect-page.mc-env-mobile.is-playing .pc-play-dock-btn{min-height:2.75rem;padding:.35rem}.monster-connect-page.mc-env-mobile.is-playing .pc-play-dock-label{font-size:.68rem}.monster-connect-page.mc-env-mobile.is-landscape-play.is-landscape-play--css:not(.is-shift-css-landscape){position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;width:100%;height:100%;max-width:none;margin:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box;overflow:hidden;background:var(--bg);display:flex;flex-direction:column}.monster-connect-page.mc-env-mobile.is-shift-css-landscape.is-landscape-play.is-landscape-play--css{position:fixed;top:0;right:0;bottom:0;left:0;z-index:500;width:100%;height:100%;max-width:none;margin:0;padding:0;box-sizing:border-box;overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center}.monster-connect-page.mc-env-mobile.is-landscape-play.is-landscape-play--css:not(.is-shift-css-landscape) .pc-play-layout{flex:1 1 auto;min-height:0;width:100%;max-height:100%}.monster-connect-page.mc-env-mobile.is-landscape-play.is-landscape-play--css:not(.is-shift-css-landscape) .pc-board-scroll{flex:1 1 0;min-height:0;container-type:size;display:flex;align-items:center;justify-content:center}@media(orientation:portrait){.monster-connect-page.mc-env-mobile.is-playing.is-shift-css-landscape .pc-play-layout--shift-immersive{flex:1 1 auto;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:0}.monster-connect-page.mc-env-mobile.is-playing.is-shift-css-landscape .pc-play-immersive-body--shift{flex:0 0 auto;flex-direction:row;align-items:stretch;width:100svh;height:100svw;max-width:100svh;max-height:100svw;transform:rotate(90deg) translateZ(0);transform-origin:center center;padding:max(.2rem,env(safe-area-inset-top,0px)) max(.2rem,env(safe-area-inset-right,0px)) max(.2rem,env(safe-area-inset-bottom,0px)) max(.2rem,env(safe-area-inset-left,0px));box-sizing:border-box}.monster-connect-page.mc-env-mobile.is-playing.is-shift-css-landscape .pc-play-main--shift{flex:1 1 0;min-height:0}}.monster-connect-page.mc-env-mobile .pc-play-immersive-body,.monster-connect-page.mc-env-mobile .pc-play-main{flex:1 1 0;min-height:0}}@layer overrides{html.is-pwa-standalone{background-color:var(--pwa-shell-chrome)}html.is-pwa-standalone[data-theme=dark]{color-scheme:dark}html.is-pwa-standalone[data-theme=light]{color-scheme:light}html.is-pwa-standalone .app{min-height:100dvh;width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-y:contain}html.is-pwa-standalone .main{min-width:0;max-width:100%}@media(max-width:899px){html.is-pwa-standalone .header{padding-top:env(safe-area-inset-top,0px)}html.is-pwa-standalone .header-menu-toggle{display:none}html.is-pwa-standalone .main{padding-bottom:calc(1.75rem + var(--pwa-bottom-nav-height) + env(safe-area-inset-bottom,0px))}html.is-pwa-standalone .food-advisor-widget{bottom:calc(.75rem + var(--pwa-bottom-nav-height) + env(safe-area-inset-bottom,0px))}}.pwa-bottom-nav{display:none}@media(max-width:899px){html.is-pwa-standalone .pwa-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:flex;align-items:stretch;justify-content:space-around;gap:.15rem;min-height:var(--pwa-bottom-nav-height);padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom,0px));padding-left:max(.5rem,env(safe-area-inset-left,0px));padding-right:max(.5rem,env(safe-area-inset-right,0px));background:var(--pwa-nav-bg);border-top:1px solid var(--pwa-nav-border);box-shadow:var(--pwa-nav-shadow);-webkit-backdrop-filter:saturate(145%) blur(14px);backdrop-filter:saturate(145%) blur(14px)}html.caro-focus-mode .pwa-bottom-nav,html.monster-connect-focus-mode .pwa-bottom-nav{display:none}html.caro-focus-mode.is-pwa-standalone .main,html.monster-connect-focus-mode.is-pwa-standalone .main{padding-bottom:2.5rem}html.caro-focus-mode.is-pwa-standalone .food-advisor-widget,html.monster-connect-focus-mode.is-pwa-standalone .food-advisor-widget{bottom:max(1rem,env(safe-area-inset-bottom,0px))}}.pwa-bottom-nav-item{flex:1 1 0;min-width:0;min-height:2.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.2rem .15rem;border-radius:var(--radius-md);text-decoration:none;color:var(--chrome-fg-muted);font-size:.68rem;font-weight:500;line-height:1.15;transition:color var(--motion-fast),background-color var(--motion-fast)}.pwa-bottom-nav-item:hover{color:var(--chrome-fg-subtle)}.pwa-bottom-nav-item.is-active{color:var(--pwa-nav-active-fg);background:var(--pwa-nav-active-bg)}.pwa-bottom-nav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer overrides{[data-theme=dark] body{background:linear-gradient(180deg,var(--bg-subtle) 0,var(--bg) 18rem),var(--bg)}[data-theme=dark] .login-screen{background:radial-gradient(circle at 15% 15%,var(--brand-a-20),transparent 45%),linear-gradient(180deg,var(--bg) 0,var(--surface) 100%)}[data-theme=dark] .login-hero{color:var(--fg)}[data-theme=dark] .login-hero-kicker{color:var(--fg-muted)}[data-theme=dark] .login-slogan-dot{background:var(--chrome-nav-divider)}[data-theme=dark] .login-slogan-dot.is-active{background:var(--brand)}[data-theme=dark] .login-card,[data-theme=dark] .card{background:var(--surface);border-color:var(--border-soft)}[data-theme=dark] .login-brand{border-bottom-color:var(--border)}[data-theme=dark] .pay-page{background:linear-gradient(180deg,var(--bg-subtle) 0,var(--bg) 18rem),var(--bg)}[data-theme=dark] .message.error{background:var(--danger-subtle);color:var(--danger-strong)}[data-theme=dark] .message.success{background:var(--success-subtle);color:var(--success-strong)}[data-theme=dark] .message.demo-notice{background:var(--warning-surface-soft);color:var(--warning-strong)}[data-theme=dark] .btn-secondary:hover{background:var(--subtle-hover)}[data-theme=dark] input[type=text],[data-theme=dark] input[type=email],[data-theme=dark] input[type=search],[data-theme=dark] input[type=number],[data-theme=dark] input[type=tel],[data-theme=dark] input[type=date],[data-theme=dark] input[type=password],[data-theme=dark] select,[data-theme=dark] textarea{background:var(--surface-muted);border-color:var(--border);color:var(--fg)}[data-theme=dark] .form-actions{border-top-color:var(--border)}[data-theme=dark] .daily-greeting-modal,[data-theme=dark] .header-user-dropdown,[data-theme=dark] .header-notifications-dropdown{background:var(--surface);border-color:var(--border);color:var(--fg)}[data-theme=dark] .header-notifications-item.unread{background:var(--info-a-10)}[data-theme=dark] .header-user-dropdown .theme-preference-btn{border-color:var(--border-soft);background:var(--surface-muted);color:var(--fg-muted)}[data-theme=dark] .header-user-dropdown .theme-preference-btn:hover{background:var(--subtle-hover);color:var(--fg)}[data-theme=dark] .header-user-dropdown .theme-preference-btn.active{color:var(--brand);border-color:var(--brand-a-45);background:var(--brand-a-18)}[data-theme=dark] .header-user-dropdown .lang-switcher--menu .lang-btn,[data-theme=dark] .header-user-dropdown .lang-btn{color:var(--fg-muted)}[data-theme=dark] .header-user-dropdown .lang-switcher--menu .lang-btn.active,[data-theme=dark] .header-user-dropdown .lang-btn.active{color:var(--brand);background:var(--brand-a-18)}[data-theme=dark] .food-advisor-panel{background:var(--surface);border-color:var(--border)}[data-theme=dark] .food-advisor-bubble{background:var(--surface-muted);color:var(--fg)}[data-theme=dark] .food-advisor-msg.is-user .food-advisor-bubble{background:var(--brand-a-22)}[data-theme=dark] .food-advisor-panel-head{background:var(--surface-muted);border-bottom-color:var(--border-soft)}[data-theme=dark] .food-advisor-msg.is-assistant .food-advisor-bubble{background:var(--surface-muted);color:var(--fg)}[data-theme=dark] .lang-btn.active{color:var(--chrome-fg);background:var(--brand-a-28)}[data-theme=dark] .profile-hero{background:linear-gradient(135deg,var(--surface) 0%,var(--bg-subtle) 55%,var(--brand-a-12) 100%);border-color:var(--brand-a-28)}[data-theme=dark] .profile-hero-avatar{border-color:var(--surface-muted)}[data-theme=dark] .profile-hero-badge{background:var(--surface-muted);color:var(--fg-muted)}[data-theme=dark] .profile-hero-badge--warn{background:var(--warning-surface-soft);color:var(--warning)}[data-theme=dark] .profile-hero-badge--info{background:var(--info-a-14);color:var(--info)}[data-theme=dark] .bank-setup-status{border-bottom-color:var(--border-soft)}[data-theme=dark] .bank-preview-logo{background:var(--surface-muted);border-color:var(--border-soft)}[data-theme=dark] .admin-users-table th{background:var(--surface-muted)}[data-theme=dark] .admin-users-table th,[data-theme=dark] .admin-users-table td{border-bottom-color:var(--border-soft)}[data-theme=dark] .admin-user-avatar.placeholder{background:var(--brand-a-18)}[data-theme=dark] .role-badge.is-admin{background:var(--indigo-a-18);color:var(--indigo-fg)}[data-theme=dark] .role-badge.is-user{background:var(--surface-muted);color:var(--fg-muted)}[data-theme=dark] .bill-card:hover{border-color:var(--border)}[data-theme=dark] .btn-delete-bill,[data-theme=dark] .btn-delete-item{background:var(--danger-subtle);color:var(--danger-strong)}[data-theme=dark] .btn-delete-bill:hover:not(:disabled),[data-theme=dark] .btn-delete-item:hover:not(:disabled){background:var(--danger-a-22)}[data-theme=dark] .item-action-option.is-danger{color:var(--danger-strong)}[data-theme=dark] .shared-split-summary{background:var(--info-a-10);border-color:var(--info-border-a-28)}[data-theme=dark] .shared-split-summary-title{color:var(--info)}[data-theme=dark] .shared-split-summary-list li{color:var(--fg)}[data-theme=dark] .shared-split-summary-total{color:var(--success)}[data-theme=dark] .quick-bill-lottery-slots li.is-taken{border-color:var(--brand-a-35);background:var(--brand-a-10);color:var(--success-border)}[data-theme=dark] .quick-bill-lottery-slots li.is-taken strong{color:var(--success-border)}[data-theme=dark] .quick-bill-lottery-slots li.is-read{border-color:var(--border-soft);background:var(--surface-muted)}[data-theme=dark] .quick-bill-warnings,[data-theme=dark] .quick-bill-match-hint{color:var(--warning)}[data-theme=dark] .pagination-btn.active,[data-theme=dark] .btn-share-bill,[data-theme=dark] .pagination-btn.active:hover{color:var(--brand-on)}[data-theme=dark] .stats-summary-meta{color:var(--fg-muted)}[data-theme=dark] .stats-grid-line{stroke:var(--surface-muted)}[data-theme=dark] .stats-baseline{stroke:var(--fg-muted)}[data-theme=dark] .stats-axis-label{fill:var(--fg-muted)}[data-theme=dark] .stats-axis-bills{fill:var(--chart-1)}[data-theme=dark] .stats-axis-amount{fill:var(--success)}[data-theme=dark] .stats-bar-amount{fill:var(--chart-3)}[data-theme=dark] .bill-comment-item{background:var(--surface);border-color:var(--border-soft)}[data-theme=dark] .bill-comments-form,[data-theme=dark] .bill-comments-state,[data-theme=dark] .bill-comments-state.is-private{background:var(--bg-subtle)}[data-theme=dark] .bill-comments-limit{background:var(--warning-surface-soft);color:var(--warning)}[data-theme=dark] .bill-card-toggle.is-open{color:var(--brand)}[data-theme=dark] .paid-badge{color:var(--success-border)}[data-theme=dark] .btn-mark-paid{background:var(--success-subtle);color:var(--success-border)}[data-theme=dark] .btn-unmark-paid{background:var(--warning-surface-soft);color:var(--warning)}[data-theme=dark] .btn-claim-item{background:var(--success-subtle);color:var(--success-border)}[data-theme=dark] .person-tag-chip{color:var(--brand)}}@layer overrides{[data-section=games]{--brand: #7c3aed;--brand-hover: #6d28d9;--brand-subtle: rgba(124, 58, 237, .14);--brand-rgb: 124, 58, 237;--secondary: #a78bfa;--owe: #f43f5e}[data-section=games] .main{background:linear-gradient(180deg,var(--indigo-subtle) 0,var(--bg) 16rem),var(--bg)}[data-theme=dark][data-section=games] .main{background:linear-gradient(180deg,var(--bg-subtle) 0,var(--bg) 16rem),var(--bg)}[data-section=games] .game-card{border-color:#7c3aed2e;transition:border-color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}[data-section=games] .game-card:hover{border-color:#7c3aed59;box-shadow:0 12px 28px #7c3aed1f}[data-theme=dark][data-section=games] .game-card{background:var(--surface);border-color:#7c3aed47}[data-section=games] .game-card-badge{background:#7c3aed1f;color:var(--brand-hover)}[data-theme=dark][data-section=games] .game-card-badge{background:#a78bfa29;color:var(--indigo-fg)}[data-section=games] .game-hub-page h1{letter-spacing:-.02em}@media(prefers-reduced-motion:no-preference){[data-section=games] .game-catalog .game-card{animation:games-card-enter .4s ease both}[data-section=games] .game-catalog .game-card:nth-child(2){animation-delay:.06s}[data-section=games] .game-catalog .game-card:nth-child(3){animation-delay:.12s}[data-section=games] .game-catalog .game-card:nth-child(4){animation-delay:.18s}}@keyframes games-card-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){[data-section=games] .game-catalog .game-card{animation:none}}}@layer overrides{[data-theme=dark] .game-card-icon{background:linear-gradient(145deg,rgba(var(--brand-rgb),.18),var(--surface-muted))}[data-theme=dark] .game-card-icon-minesweeper{--game-card-mine-color: #e2e8f0;--game-card-flag-color: #f87171;background:linear-gradient(145deg,#fbbf2438,#334155f2);border-color:#fbbf246b}[data-theme=dark] .game-card-icon-connect{background:linear-gradient(145deg,#3b82f638,#334155f2);border-color:#3b82f666}[data-theme=dark] .monster-connect-page{--pc-board-bg: #0f172a;--pc-cell-bg: linear-gradient(145deg, #334155, #1e293b);--pc-cell-border: #475569;--pc-path: #86efac;--pc-path-glow: #4ade80}[data-theme=dark] .monster-connect-page .pc-path-line-bg{stroke:#fffffff2;opacity:.85;stroke-width:9}[data-theme=dark] .monster-connect-page .pc-path-line{stroke:#86efac;stroke-width:6;filter:drop-shadow(0 0 4px rgba(34,197,94,.85))}[data-theme=dark] .monster-connect-page .pc-play-toast{background:#0f172af5;color:#f1f5f9;border:1px solid rgba(148,163,184,.35)}[data-theme=dark] .monster-connect-page .pc-rotate-tip{background:#3b82f624;border-color:#60a5fa59}[data-theme=dark] .monster-connect-page .pc-rotate-tip-landscape,[data-theme=dark] .monster-connect-page .pc-immersive-btn.is-active,[data-theme=dark] .monster-connect-page .pc-landscape-btn.is-active{background:#3b82f633;border-color:#60a5fa73}[data-theme=dark] .monster-connect-page .pc-cell.is-hint{border-color:#fcd34d;background:#fbbf2461;box-shadow:0 0 0 3px #fbbf24,0 0 0 6px #fbbf248c,0 0 18px #f59e0ba6,inset 0 0 0 1px #ffffff59}[data-theme=dark] .monster-connect-page .pc-cell.is-hint .pc-cell-content{filter:drop-shadow(0 0 8px rgba(251,191,36,.9))}[data-theme=dark] .game-card-piece-o{background:var(--surface);color:var(--danger);border-color:var(--danger)}[data-theme=dark] .minesweeper-page{--ms-primary: #f472b6;--ms-primary-hover: #f9a8d4;--ms-primary-soft: rgba(244, 114, 182, .22);--ms-on-primary: #111827;--ms-primary-text: #fbcfe8;--ms-active-bg: rgba(244, 114, 182, .2);--ms-border: var(--border);--ms-muted: #cbd5e1;--ms-surface: #243044;--ms-bg: #1a2438;--ms-board-bg: #0f172a;--ms-cell-closed: #8b9cb3;--ms-cell-closed-hi: #c5d0dc;--ms-cell-closed-lo: #475569;--ms-cell-open: #1a2332;--ms-cell-flagged: #9f1239;--ms-cell-flag-icon: #fecaca;--ms-cell-mine: #991b1b;--ms-cell-mine-icon: #fecaca;--ms-cell-wrong: #7f1d1d;--ms-n1: #93c5fd;--ms-n2: #4ade80;--ms-n3: #f87171;--ms-n4: #a5b4fc;--ms-n5: #fb923c;--ms-n6: #22d3ee;--ms-n7: #f8fafc;--ms-n8: #94a3b8}[data-theme=dark] .ms-alert{border-color:#f8717159;background:var(--danger-subtle);color:var(--danger-strong)}[data-theme=dark] .ms-main,[data-theme=dark] .ms-sidebar{background:var(--ms-surface);border-color:var(--ms-border)}[data-theme=dark] .ms-sidebar-desc,[data-theme=dark] .ms-mode-desc,[data-theme=dark] .ms-lb-count{color:var(--ms-muted)}[data-theme=dark] .ms-lobby-meta{background:var(--ms-bg);color:var(--ms-muted)}[data-theme=dark] .ms-lobby-meta strong{color:var(--fg)}[data-theme=dark] .ms-segmented button,[data-theme=dark] .ms-size-grid button,[data-theme=dark] .ms-lb-tabs button{background:var(--ms-bg);border-color:var(--ms-border);color:var(--fg)}[data-theme=dark] .ms-segmented button:hover,[data-theme=dark] .ms-size-grid button:hover,[data-theme=dark] .ms-lb-tabs button:hover{background:var(--surface-muted);border-color:var(--border)}[data-theme=dark] .ms-segmented button.is-active,[data-theme=dark] .ms-size-grid button.is-active,[data-theme=dark] .ms-mode.is-active,[data-theme=dark] .ms-lb-tabs button.is-active{background:var(--ms-active-bg);border-color:var(--ms-primary);color:var(--ms-primary-text);font-weight:600}[data-theme=dark] .ms-size-grid button.is-active strong{color:var(--ms-primary-text)}[data-theme=dark] .ms-segmented--mines button.is-active small{color:var(--ms-primary-text);opacity:.9}[data-theme=dark] .ms-mode--guess.is-active{background:linear-gradient(145deg,rgba(192,132,252,.24),var(--ms-active-bg));color:#e9d5ff;border-color:#c084fc}[data-theme=dark] .ms-status-won{background:var(--success-subtle);color:var(--success-border)}[data-theme=dark] .ms-status-lost{background:var(--danger-subtle);color:var(--danger-strong)}[data-theme=dark] .ms-cell.is-open{box-shadow:inset 0 0 0 1px #f8fafc0f}[data-theme=dark] .ms-guess-dialog{border-color:#f472b647;background:linear-gradient(180deg,var(--surface) 0%,var(--bg-subtle) 100%);box-shadow:0 24px 48px #00000073,0 0 0 1px #f472b61f}[data-theme=dark] .ms-guess-dialog__close{background:var(--surface-muted);color:var(--fg-muted)}[data-theme=dark] .ms-guess-dialog__close:hover{background:var(--subtle-hover);color:var(--fg)}[data-theme=dark] .ms-mode-link{color:var(--color-game-pink-border)}[data-theme=dark] .caro-lobby-page,[data-theme=dark] .caro-room-page{--caro-cell-bg: #1c2636;--caro-cell-bg-alt: #222e40;--caro-board-grid: #352d4d;--caro-board-grid-deep: #2a2340}[data-theme=dark] .caro-room-toolbar,[data-theme=dark] .caro-game-status-bar.is-waiting{background:linear-gradient(145deg,var(--bg-subtle),var(--surface));border-color:#a78bfa33;color:var(--indigo-fg);box-shadow:none}[data-theme=dark] .caro-room-waiting-card .caro-lobby-room-player.is-me{background:linear-gradient(165deg,var(--surface) 0%,rgba(124,58,237,.12) 100%);border-color:#a78bfa59}[data-theme=dark] .caro-room-waiting-card .caro-lobby-room-player.is-pending{background:#7c3aed14;border-color:#a78bfa47}[data-theme=dark] .caro-room-you-chip{background:#7c3aed38;color:var(--indigo-fg)}[data-theme=dark] .caro-room-waiting-icon{border-color:#f472b673;background:linear-gradient(145deg,#f472b61f,#c084fc1f)}[data-theme=dark] .caro-room-waiting-share{background:#7c3aed1f;border-color:#a78bfa47;color:var(--indigo-fg)}[data-theme=dark] .caro-room-skeleton-toolbar,[data-theme=dark] .caro-room-skeleton-status,[data-theme=dark] .caro-room-skeleton-card{background:linear-gradient(90deg,var(--surface-muted) 0%,var(--subtle-hover) 45%,var(--surface-muted) 90%)}[data-theme=dark] .caro-lobby-hero{background:linear-gradient(145deg,var(--bg-subtle) 0%,rgba(124,58,237,.08) 42%,rgba(236,72,153,.05) 100%);border-color:#a78bfa33;box-shadow:0 8px 24px #00000059}[data-theme=dark] .caro-lobby-hero-board{background:linear-gradient(145deg,#7c3aed29,#ec48991a);border-color:#a78bfa40;box-shadow:none}[data-theme=dark] .caro-lobby-stat{background:var(--bg-subtle);border-color:var(--border-soft)}[data-theme=dark] .caro-lobby-stat,[data-theme=dark] .caro-lobby-panel{background:var(--surface)}[data-theme=dark] .caro-lobby-stat.is-live{background:linear-gradient(145deg,rgba(244,63,94,.12),var(--surface));border-color:#f43f5e47}[data-theme=dark] .caro-lobby-stat.is-waiting{background:linear-gradient(145deg,rgba(124,58,237,.12),var(--surface))}[data-theme=dark] .caro-lobby-stat.is-live .caro-lobby-stat-value{color:var(--color-game-rose)}[data-theme=dark] .caro-lobby-stat.is-waiting .caro-lobby-stat-value{color:var(--indigo-fg)}[data-theme=dark] .caro-lobby-tabs{background:var(--surface-muted)}[data-theme=dark] .caro-lobby-tab.is-active{background:var(--surface);color:var(--indigo-fg)}[data-theme=dark] .caro-lobby-tab-count{background:#7c3aed33;color:var(--indigo-fg)}[data-theme=dark] .caro-lobby-tab-count.is-live{background:#f43f5e2e;color:var(--color-game-rose)}[data-theme=dark] .caro-lobby-room,[data-theme=dark] .caro-lobby-room.is-live{background:linear-gradient(165deg,var(--surface) 0%,rgba(124,58,237,.08) 100%)}[data-theme=dark] .caro-lobby-room.is-live{border-color:#fda4af59;background:linear-gradient(165deg,var(--surface) 0%,rgba(244,63,94,.1) 100%)}[data-theme=dark] .caro-turn-banner.is-my-turn{background:linear-gradient(90deg,rgba(59,130,246,.12),var(--surface));border-color:#60a5fa59}[data-theme=dark] .caro-turn-banner.is-opponent-turn{background:linear-gradient(90deg,rgba(251,191,36,.12),var(--surface));border-color:#fcd34d59}[data-theme=dark] .caro-game-toolbar{background:linear-gradient(145deg,var(--bg-subtle),var(--surface));border-color:#a78bfa38;box-shadow:0 8px 20px #0000004d}[data-theme=dark] .caro-game-status-bar{background:var(--bg-subtle);border-color:var(--border-soft);color:var(--fg-muted)}[data-theme=dark] .caro-game-status-bar.is-my-turn{background:linear-gradient(90deg,rgba(56,189,248,.1),var(--bg-subtle));border-color:#38bdf847;color:var(--info)}[data-theme=dark] .caro-game-status-bar.is-opponent-turn{background:linear-gradient(90deg,rgba(251,191,36,.1),var(--bg-subtle));border-color:#fbbf2447;color:var(--warning)}[data-theme=dark] .caro-game-side-card{background:linear-gradient(165deg,var(--bg-subtle) 0%,var(--surface) 100%);border-color:var(--border-soft)}[data-theme=dark] .caro-game-side.is-me .caro-game-side-card{background:linear-gradient(165deg,rgba(56,189,248,.08) 0%,var(--surface) 100%);border-color:#38bdf847}[data-theme=dark] .caro-player.is-active-turn{background:linear-gradient(135deg,rgba(var(--brand-rgb),.16),#7c3aed1a)}[data-theme=dark] .caro-player-turn-badge{color:var(--brand-on)}[data-theme=dark] .caro-piece-o{background:var(--surface);color:var(--danger);border-color:var(--danger)}[data-theme=dark] .caro-result-modal,[data-theme=dark] .caro-result-modal.is-win,[data-theme=dark] .caro-result-modal.is-lose,[data-theme=dark] .caro-result-modal.is-draw{background:linear-gradient(165deg,var(--surface) 0%,var(--bg-subtle) 100%);border-color:#a78bfa59;box-shadow:0 24px 48px #00000073}[data-theme=dark] .caro-result-close{background:var(--surface-muted);border-color:#f472b640;color:var(--color-game-pink-border)}[data-theme=dark] .caro-result-close:hover{background:var(--subtle-hover)}[data-theme=dark] .caro-result-kicker{color:var(--color-game-fuchsia)}[data-theme=dark] .caro-board-shell{background:linear-gradient(145deg,#5b21b624,#7c3aed1a 48%,#ec489914);border-color:#a78bfa47;box-shadow:0 0 0 1px #ffffff0a inset,0 8px 24px #0006}[data-theme=dark] .caro-board{background:linear-gradient(180deg,var(--caro-board-grid) 0%,var(--caro-board-grid-deep) 100%);box-shadow:0 0 0 2px #ffffff08 inset}[data-theme=dark] .caro-board-corner{opacity:.55;box-shadow:none}[data-theme=dark] .caro-cell{background:var(--caro-cell-bg);color:var(--fg)}[data-theme=dark] .caro-cell.is-odd{background:var(--caro-cell-bg-alt)}[data-theme=dark] .caro-cell.is-playable:hover,[data-theme=dark] .caro-cell.is-playable:focus-visible{background:#a78bfa29}[data-theme=dark] .caro-cell-dot{background:#a78bfa4d;opacity:.35}[data-theme=dark] .game-breadcrumb-item:not(:last-child):after{color:var(--fg-muted)}[data-theme=dark] .caro-room-closed-card{background:var(--surface);border-color:var(--border-soft)}[data-theme=dark] .tools-hub-hero{background:radial-gradient(ellipse 80% 90% at 100% 0%,rgba(14,165,233,.14),transparent 58%),linear-gradient(145deg,var(--surface) 0%,var(--bg-subtle) 42%,rgba(79,70,229,.1) 100%);border-color:#38bdf859;box-shadow:0 0 0 1px #94a3b814 inset,0 10px 0 -4px #38bdf859,0 20px 40px -18px #00000059}[data-theme=dark] .tools-hub-kicker{color:var(--info)}[data-theme=dark] .tools-hub-title{background:linear-gradient(135deg,var(--color-game-cyan),var(--color-game-violet));-webkit-background-clip:text;background-clip:text}[data-theme=dark] .tools-hub-subtitle,[data-theme=dark] .tools-hub-meta{color:var(--fg-muted)}[data-theme=dark] .tools-hub-count{color:var(--fg)}[data-theme=dark] .tools-hub-feature{background:#1e293bd9;border-color:#0ea5e947;color:var(--color-game-mint)}[data-theme=dark] .tools-hub-visual{background:linear-gradient(145deg,#0ea5e92e,#4f46e52e);border-color:#38bdf859}[data-theme=dark] .tool-card-icon-jwt{background:linear-gradient(145deg,rgba(251,191,36,.18),var(--surface-muted))}[data-theme=dark] .tool-card-icon-json{background:linear-gradient(145deg,rgba(52,211,153,.18),var(--surface-muted))}[data-theme=dark] .tool-card-icon-password{background:linear-gradient(145deg,rgba(167,139,250,.18),var(--surface-muted))}[data-theme=dark] .tool-card-glyph{color:var(--fg)}[data-theme=dark] .tool-card-badge{background:var(--success-subtle);color:var(--success-border)}[data-theme=dark] .tool-page-hero{background:linear-gradient(145deg,var(--surface),var(--bg-subtle));border-color:var(--border-soft)}[data-theme=dark] .tool-page-hero-jwt{background:radial-gradient(ellipse 70% 80% at 100% 0%,rgba(251,191,36,.12),transparent 60%),linear-gradient(145deg,var(--surface),rgba(251,191,36,.08));border-color:#fbbf2447}[data-theme=dark] .tool-page-hero-json{background:radial-gradient(ellipse 70% 80% at 100% 0%,rgba(52,211,153,.12),transparent 60%),linear-gradient(145deg,var(--surface),rgba(52,211,153,.08));border-color:#34d39947}[data-theme=dark] .tool-page-kicker{color:var(--fg-muted)}[data-theme=dark] .tool-json-toolbar{background:#1e293bf5;border-bottom:1px solid var(--border-soft)}[data-theme=dark] .tool-json-toolbar-hint{color:var(--fg-muted)}[data-theme=dark] .tool-workspace{background:var(--surface);border-color:var(--border-soft)}[data-theme=dark] .tool-claim-chip,[data-theme=dark] .tool-tab{border-color:var(--border-soft)}[data-theme=dark] .tool-workbench-arrow{background:var(--surface-muted);border-color:var(--border-soft);color:var(--fg-muted)}}
