@charset "UTF-8";:root{--bg-app: #1a1a2e;--cell-wall: #2d2d3a;--cell-floor: #f0ede6;--cell-player: #4a90d9;--cell-box: #e8a930;--cell-target: #7ecb8f;--cell-box-correct: #5cb85c;--cell-box-incorrect: #d9534f;--bg-player: url(/assets/player.png);--ui-height: 120px;--font-display: "Fredoka", "Noto Sans", system-ui, sans-serif;--font-body: "Nunito", "Noto Sans", system-ui, sans-serif;--text-xs: clamp(.7rem, 2vw, .8rem);--text-sm: clamp(.8rem, 2.4vw, .9rem);--text-base: clamp(.9rem, 2.8vw, 1rem);--text-md: clamp(1rem, 3.2vw, 1.15rem);--text-lg: clamp(1.2rem, 4vw, 1.5rem);--text-xl: clamp(1.5rem, 5vw, 2rem);--text-2xl: clamp(2rem, 6.5vw, 2.8rem);--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);--ui-bg: #062615;--ui-bg-elevated: #103d24;--ui-surface: rgba(16, 61, 36, .6);--ui-surface-hover: rgba(26, 92, 48, .85);--ui-surface-strong: #174d2f;--ui-border: rgba(125, 225, 146, .2);--ui-border-hover: rgba(125, 225, 146, .5);--ui-border-focus: #7de192;--ui-text: #fff3cf;--ui-text-secondary: #9bd7a5;--ui-muted: #c9dfc8;--ui-accent: #7de192;--ui-accent-strong: #10b981;--ui-accent-text: #062615;--ui-warning: #e8bc4f;--ui-warning-bg: rgba(232, 188, 79, .12);--ui-warning-border: rgba(232, 188, 79, .36);--ui-warning-text: #ffe6a4;--ui-danger: #e86f56;--ui-danger-bg: rgba(232, 111, 86, .12);--ui-danger-border: rgba(232, 111, 86, .42);--ui-danger-text: #ffb3a3;--ui-disabled-bg: rgba(16, 61, 36, .3);--ui-disabled-text: rgba(155, 215, 165, .4);--ui-radius: 8px;--ui-radius-lg: 12px;--ui-shadow: 0 10px 22px rgba(2, 13, 7, .3);--ui-surface-glass: rgba(6, 38, 21, .95)}body[data-ui-theme=neutre]{--ui-bg: #f8fafc;--ui-bg-elevated: #f1f5f9;--ui-surface: #ffffff;--ui-surface-hover: #f8fafc;--ui-surface-strong: #e2e8f0;--ui-border: #b8c9d8;--ui-border-hover: #8fa3b8;--ui-border-focus: #0f172a;--ui-text: #0f172a;--ui-text-secondary: #334155;--ui-muted: #64748b;--ui-accent: #059669;--ui-accent-strong: #047857;--ui-accent-text: #ffffff;--ui-warning-bg: #fff7ed;--ui-warning-border: #fed7aa;--ui-warning-text: #9a3412;--ui-danger-bg: #fff7f7;--ui-danger-border: #fecaca;--ui-danger-text: #991b1b;--ui-disabled-bg: #f1f5f9;--ui-disabled-text: #94a3b8;--ui-shadow: 0 1px 4px rgba(15, 23, 42, .08);--ui-surface-glass: rgba(248, 250, 252, .97)}body[data-ui-theme=accessibilite]{--ui-bg: #faf8f4;--ui-bg-elevated: #f5f1eb;--ui-surface: #ffffff;--ui-surface-hover: #f5f1eb;--ui-surface-strong: #ede8df;--ui-border: #c8b99a;--ui-border-hover: #a89070;--ui-border-focus: #1a1208;--ui-text: #1a1208;--ui-text-secondary: #3d3020;--ui-muted: #6b5a42;--ui-accent: #16a34a;--ui-accent-strong: #15803d;--ui-accent-text: #ffffff;--ui-warning-bg: #fff8e1;--ui-warning-border: #e6c56a;--ui-warning-text: #6f4700;--ui-danger-bg: #fff1f1;--ui-danger-border: #d88a8a;--ui-danger-text: #7f1d1d;--ui-disabled-bg: #ede8df;--ui-disabled-text: #a89070;--ui-shadow: 0 2px 6px rgba(26, 18, 8, .12);--ui-surface-glass: rgba(255, 253, 245, .97)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--ui-bg);font-family:var(--font-body)}h1,h2,h3,.home-title,.home-kicker,.victory-title,.victory-score,.game-moves,.game-lives{font-family:var(--font-display)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text-secondary);cursor:pointer;flex-shrink:0;transition:background .12s,border-color .12s,color .12s}.btn-icon:hover:not(:disabled){background:var(--ui-surface-hover);border-color:var(--ui-border-hover);color:var(--ui-text)}.btn-icon:disabled{opacity:.35;cursor:default}.btn-icon:focus-visible{outline:2px solid var(--ui-border-focus);outline-offset:2px}.btn-back{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text-secondary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.btn-back:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-hover);color:var(--ui-text)}.btn-back:focus-visible{outline:2px solid var(--ui-border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.btn-icon,.btn-back{transition:none}}[data-theme=hiver]{--bg-app: #0d1b2a;--cell-wall: #2c3e6b;--cell-floor: #e8f4fc;--cell-player: #5bc0de;--cell-box: #7fb3d3;--cell-target: #a8d8ea;--cell-box-correct: #2ecc9b;--cell-box-incorrect: #c0392b}[data-theme=valentine]{--bg-app: #1a0a18;--cell-wall: #4a1942;--cell-floor: #fce4ec;--cell-player: #e91e8c;--cell-box: #f48fb1;--cell-target: #ef9a9a;--cell-box-correct: #e91e63;--cell-box-incorrect: #795548}[data-theme=printemps]{--bg-app: #0d2818;--cell-wall: #1b4332;--cell-floor: #f1f8e9;--cell-player: #66bb6a;--cell-box: #aed581;--cell-target: #80cbc4;--cell-box-correct: #43a047;--cell-box-incorrect: #f44336;--bg-wall: url(/assets/themes/printemps/wall.png);--bg-floor: url(/assets/themes/printemps/floor.png);--bg-box: url(/assets/themes/printemps/box.png);--bg-box-correct: url(/assets/themes/printemps/box-correct.png);--bg-box-incorrect: url(/assets/themes/printemps/box-incorrect.png)}[data-theme=ete]{--bg-app: #1a0f05;--cell-wall: #5d4037;--cell-floor: #fff9c4;--cell-player: #ff7043;--cell-box: #ffca28;--cell-target: #26c6da;--cell-box-correct: #66bb6a;--cell-box-incorrect: #ef5350}[data-theme=rentree]{--bg-app: #150c05;--cell-wall: #3e2723;--cell-floor: #fff3e0;--cell-player: #ffb300;--cell-box: #ef6c00;--cell-target: #ad1457;--cell-box-correct: #558b2f;--cell-box-incorrect: #c62828}[data-theme=fetes]{--bg-app: #0a1f0a;--cell-wall: #1b5e20;--cell-floor: #f3f8f3;--cell-player: #e53935;--cell-box: #ffd740;--cell-target: #b3e5fc;--cell-box-correct: #2e7d32;--cell-box-incorrect: #b71c1c}@media(prefers-reduced-motion:no-preference){@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}::view-transition-old(root){animation:.12s ease-out vt-fade-out}::view-transition-new(root){animation:.15s ease-in vt-fade-in}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}
