@layer reset,tokens,base,layout,screens,components,utilities;@layer tokens{:root{color-scheme:light dark;--color-brand-50: #eaf7f1;--color-brand-100: #cdeee0;--color-brand-200: #9fdcbd;--color-brand-300: #6cc9a0;--color-brand-500: #0b6e4f;--color-brand-600: #095a41;--color-brand-700: #073f2e;--color-accent-400: #ffb43e;--color-accent-500: #f39c12;--color-accent-600: #c9770a;--color-danger-100: #fbe4e1;--color-danger-500: #c8402f;--color-danger-600: #a3321f;--color-ink-900: #101d18;--color-ink-700: #33463d;--color-ink-500: #5c7268;--color-ink-300: #94a89e;--color-ink-100: #d8e3dd;--color-surface: #ffffff;--color-surface-sunken: #f2f6f3;--color-surface-raised: #ffffff;--color-border: #dbe6de;--color-border-strong: #b8cac1;--color-focus: #1478ff;--color-cell-missing-bg: #e7ede9;--color-cell-missing-border: #c7d5cc;--color-cell-missing-ink: #33463d;--color-cell-owned-bg: var(--color-brand-500);--color-cell-owned-ink: #ffffff;--color-cell-badge-bg: var(--color-accent-500);--color-cell-badge-ink: #241300;--color-stats-bg-from: var(--color-brand-500);--color-stats-bg-to: var(--color-brand-600);--color-stats-ink: #ffffff;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(16, 29, 24, .08);--shadow-md: 0 4px 10px rgba(16, 29, 24, .1), 0 1px 3px rgba(16, 29, 24, .08);--shadow-lg: 0 16px 32px rgba(16, 29, 24, .16), 0 4px 10px rgba(16, 29, 24, .08);--transition-fast: .12s ease;--transition-base: .2s cubic-bezier(.22, 1, .36, 1);--font-body: system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;--header-h: 3.5rem}@media (prefers-color-scheme: dark){:root{--color-brand-50: #0c2a20;--color-brand-100: #103826;--color-brand-200: #175136;--color-brand-300: #2c8a5f;--color-brand-500: #22a878;--color-brand-600: #3fc290;--color-brand-700: #7fdcb2;--color-ink-900: #f2f7f4;--color-ink-700: #d3ded8;--color-ink-500: #9fb2a9;--color-ink-300: #64796f;--color-ink-100: #263831;--color-surface: #142019;--color-surface-sunken: #0d1712;--color-surface-raised: #1a2921;--color-border: #26382f;--color-border-strong: #3a4f43;--color-cell-missing-bg: #1c2921;--color-cell-missing-border: #33463c;--color-cell-missing-ink: #9fb2a9;--color-cell-owned-bg: var(--color-brand-500);--color-cell-owned-ink: #06140e;--color-cell-badge-ink: #241300;--color-stats-ink: #06140e;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 10px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--shadow-lg: 0 16px 32px rgba(0, 0, 0, .5), 0 4px 10px rgba(0, 0, 0, .3)}}}@layer reset{*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,p,ul,li,figure{margin:0}ul{padding:0;list-style:none}button,input{font:inherit;color:inherit}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}input{-webkit-appearance:none;-moz-appearance:none;appearance:none}img,svg{display:block;max-width:100%}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}}@layer base{body{min-height:100dvh;background:var(--color-surface-sunken);color:var(--color-ink-900);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-family:var(--font-display);font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:800;letter-spacing:-.01em;color:var(--color-ink-900)}h2{font-family:var(--font-display);font-size:clamp(1.05rem,.95rem + .5vw,1.25rem);font-weight:700;color:var(--color-ink-900)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}#root{max-width:640px;margin-inline:auto;min-height:100dvh;background:var(--color-surface-sunken)}#root>p{display:flex;align-items:center;justify-content:center;min-height:100dvh;margin:0;padding:var(--space-6);color:var(--color-ink-500);font-family:var(--font-display);font-weight:600;text-align:center;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}}@layer layout{.app{container-type:inline-size;container-name:app;display:flex;flex-direction:column;min-height:100dvh;padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0px))}.app__header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-3);height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:0 var(--space-4);padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb,var(--color-surface) 88%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--color-border)}.app__header>button{flex-shrink:0;display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-weight:600;color:var(--color-brand-600);transition:background-color var(--transition-fast),transform var(--transition-fast)}.app__header>button:hover{background:var(--color-brand-50)}.app__header>button:active{transform:scale(.96)}.app__header>strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:1.05rem;font-weight:800;color:var(--color-ink-900)}.app__nav{flex-shrink:0;display:flex;gap:var(--space-1);padding:var(--space-1);background:var(--color-surface-sunken);border-radius:var(--radius-full);border:1px solid var(--color-border)}.app__nav button{min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:.875rem;font-weight:700;color:var(--color-ink-700);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.app__nav button:hover{background:var(--color-surface-raised);color:var(--color-brand-600)}.app__nav button:active{transform:scale(.95)}.app__nav button.active{background:var(--color-brand-500);color:#fff;box-shadow:var(--shadow-sm)}.app__nav button.active:hover{background:var(--color-brand-600);color:#fff}@container app (max-width: 360px){.app__header>strong{font-size:.95rem}.app__nav button{padding:var(--space-2) var(--space-3);font-size:.8rem}}}@layer components{.onboarding__field,.children__field{display:flex;flex-direction:column;gap:var(--space-2);font-size:.875rem;font-weight:700;color:var(--color-ink-700)}.onboarding__input,.children__input{min-height:48px;padding:0 var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:1rem;font-weight:500;color:var(--color-ink-900);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.onboarding__input::placeholder,.children__input::placeholder{color:var(--color-ink-300)}.onboarding__input:hover,.children__input:hover{border-color:var(--color-ink-300)}.onboarding__input:focus-visible,.children__input:focus-visible{border-color:var(--color-brand-500);box-shadow:0 0 0 4px var(--color-brand-100);outline:none}.onboarding__submit,.children__submit{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-6);background:var(--color-brand-500);color:#fff;font-weight:800;letter-spacing:.01em;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.onboarding__submit:hover,.children__submit:hover{background:var(--color-brand-600);box-shadow:var(--shadow-md)}.onboarding__submit:active,.children__submit:active{transform:scale(.97);box-shadow:var(--shadow-sm)}.onboarding__submit:disabled{background:var(--color-ink-300);color:var(--color-surface);cursor:not-allowed;box-shadow:none;transform:none}.onboarding__error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-danger-100);color:var(--color-danger-600);font-size:.875rem;font-weight:600;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--color-danger-500) 35%,transparent)}.onboarding__error:before{content:"⚠";font-size:1rem}}@layer screens{.onboarding{display:flex;flex-direction:column;gap:var(--space-5);min-height:100dvh;padding:calc(var(--space-8) + env(safe-area-inset-top,0px)) var(--space-6) calc(var(--space-8) + env(safe-area-inset-bottom,0px));justify-content:center;background:radial-gradient(circle at 15% 0%,var(--color-brand-100) 0%,transparent 55%),radial-gradient(circle at 100% 100%,var(--color-brand-50) 0%,transparent 45%),var(--color-surface-sunken)}.onboarding h1{margin-bottom:var(--space-2)}.onboarding:before{content:"⚽";font-size:2.5rem;line-height:1}.children{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6) var(--space-4) var(--space-10);padding-top:calc(var(--space-6) + env(safe-area-inset-top,0px))}.children__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.children__list:empty:before{content:"Aucun enfant pour l’instant — ajoutez-en un ci-dessous pour démarrer son album.";grid-column:1 / -1;padding:var(--space-6);text-align:center;color:var(--color-ink-500);font-size:.9rem;background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-lg)}.children__item{display:flex;align-items:center;gap:var(--space-2)}.children__item>button:first-child{flex:1;display:flex;align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-weight:700;font-size:1rem;color:var(--color-ink-900);text-align:left;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.children__item>button:first-child:before{content:"👦";font-size:1.4rem}.children__item>button:first-child:hover{border-color:var(--color-brand-300);box-shadow:var(--shadow-md)}.children__item>button:first-child:active{transform:scale(.97)}.children__delete{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:var(--radius-md);font-size:1.1rem;color:var(--color-ink-500);transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.children__delete:hover{background:var(--color-danger-100);color:var(--color-danger-600)}.children__delete:active{transform:scale(.92)}.children__item--confirm{flex-direction:column;align-items:stretch;gap:var(--space-3);padding:var(--space-4);background:var(--color-danger-100);border:1.5px solid color-mix(in srgb,var(--color-danger-500) 35%,transparent);border-radius:var(--radius-lg)}.children__confirm-text{margin:0;font-size:.9rem;font-weight:600;color:var(--color-danger-600)}.children__confirm-actions{display:flex;gap:var(--space-3)}.children__confirm-yes,.children__confirm-cancel{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius-md);font-weight:700;font-size:.9rem;transition:background-color var(--transition-fast),transform var(--transition-fast)}.children__confirm-yes{background:var(--color-danger-500);color:#fff}.children__confirm-yes:hover{background:var(--color-danger-600)}.children__confirm-cancel{background:var(--color-surface);border:1.5px solid var(--color-border-strong);color:var(--color-ink-700)}.children__confirm-cancel:hover{border-color:var(--color-ink-300)}.children__confirm-yes:active,.children__confirm-cancel:active{transform:scale(.96)}.children__form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg)}.children__field{flex:1;min-width:160px}.grid{display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-4) var(--space-4) var(--space-12)}.grid:empty:before{content:"Chargement de l’album…";padding:var(--space-12) var(--space-4);text-align:center;color:var(--color-ink-500);font-weight:600}.grid__team{display:flex;flex-direction:column;gap:var(--space-3)}.grid__team h2{position:sticky;top:calc(var(--header-h) + env(safe-area-inset-top,0px));z-index:10;display:flex;align-items:center;gap:var(--space-2);margin:0 calc(var(--space-4) * -1);padding:var(--space-2) var(--space-4);background:color-mix(in srgb,var(--color-surface-sunken) 92%,transparent);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;color:var(--color-brand-600);border-bottom:2px solid var(--color-brand-100)}.grid__cells{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:var(--space-3)}@container app (min-width: 480px){.grid__cells{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:var(--space-4)}}.trades{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6) var(--space-4) var(--space-12);padding-top:calc(var(--space-6) + env(safe-area-inset-top,0px))}.trades h2{margin-top:var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid var(--color-border)}.trades__list{display:flex;flex-direction:column;gap:var(--space-2)}.trades__list li{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:.925rem;line-height:1.4;color:var(--color-ink-700)}.trades__list--give li{border-left:4px solid var(--color-accent-500)}.trades__list--get li{border-left:4px solid var(--color-brand-500)}.trades__list--give:empty:before{content:"Pas encore de doublon à donner. Continue à ouvrir des pochettes !";display:block;padding:var(--space-4);color:var(--color-ink-500);font-size:.875rem;font-style:italic;text-align:center;background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md)}.trades__list--get:empty:before{content:"Aucune vignette manquante trouvée chez les autres membres pour l’instant.";display:block;padding:var(--space-4);color:var(--color-ink-500);font-size:.875rem;font-style:italic;text-align:center;background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md)}.trades__list--done li.trades__done-item{position:relative;display:block;overflow:hidden;padding:0;border-left:4px solid var(--color-brand-300);touch-action:pan-y;-webkit-user-select:none;user-select:none}.trades__list--done:empty:before{content:"Aucun deal réalisé pour l’instant.";display:block;padding:var(--space-4);color:var(--color-ink-500);font-size:.875rem;font-style:italic;text-align:center;background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md)}.trades__done-swipe-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;padding:0 var(--space-4);background:var(--color-brand-500);color:#fff;font-size:.8rem;font-weight:700}.trades__done-content{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);transition:transform var(--transition-fast)}.trades__done-item--dragging .trades__done-content{transition:none}.trades__done-item--drag-20 .trades__done-content{transform:translate(16px)}.trades__done-item--drag-40 .trades__done-content{transform:translate(32px)}.trades__done-item--drag-60 .trades__done-content{transform:translate(48px)}.trades__done-item--drag-80 .trades__done-content{transform:translate(64px)}.trades__done-item--drag-100 .trades__done-content{transform:translate(80px)}.trades__done-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 var(--space-2);background:var(--color-brand-500);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.01em;border-radius:var(--radius-full);white-space:nowrap}.trades__done-text{flex:1;min-width:0}.trades__validate{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 var(--space-4);background:var(--color-brand-500);color:#fff;font-weight:700;font-size:.8rem;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.trades__validate:hover:not(:disabled){background:var(--color-brand-600);box-shadow:var(--shadow-md)}.trades__validate:active:not(:disabled){transform:scale(.96)}.trades__validate:disabled{box-shadow:none;cursor:not-allowed;opacity:.7}.trades__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.trades__row-text{flex:1;min-width:0}.trades__row-actions{flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.trades__reserve{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-4);background:var(--color-brand-500);color:#fff;font-weight:700;font-size:.875rem;border-radius:var(--radius-full);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.trades__reserve:hover:not(:disabled){background:var(--color-brand-600);box-shadow:var(--shadow-md)}.trades__reserve:active:not(:disabled){transform:scale(.96)}.trades__reserve:disabled{box-shadow:none;cursor:not-allowed}.trades__reserve--done{background:var(--color-ink-100);color:var(--color-brand-600)}.trades__reserve:disabled:not(.trades__reserve--done){background:var(--color-ink-300);color:var(--color-surface)}.trades__cancel{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-4);background:var(--color-danger-100);color:var(--color-danger-600);font-weight:700;font-size:.875rem;border-radius:var(--radius-full);transition:background-color var(--transition-fast),transform var(--transition-fast)}.trades__cancel:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger-500) 20%,var(--color-danger-100))}.trades__cancel:active:not(:disabled){transform:scale(.96)}.trades__cancel:disabled{opacity:.6;cursor:not-allowed}.trades__error{flex-basis:100%;margin:0;font-size:.8rem;font-weight:600;color:var(--color-danger-600)}.trades__reserved-by{flex-basis:100%;margin:var(--space-1) 0 0;font-size:.8rem;font-style:italic;color:var(--color-ink-500)}.trades__incoming{display:flex;flex-direction:column;gap:var(--space-3)}.trades__incoming:empty:before{content:"Aucune demande pour l’instant.";display:block;padding:var(--space-4);color:var(--color-ink-500);font-size:.875rem;font-style:italic;text-align:center;background:var(--color-surface);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md)}.trades__incoming-item{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border);border-left:4px solid var(--color-accent-500);border-radius:var(--radius-md)}.trades__incoming-request{margin:0;font-size:.925rem;line-height:1.4;color:var(--color-ink-700)}.trades__incoming-request strong{color:var(--color-ink-900)}.trades__counter{display:flex;flex-wrap:wrap;gap:var(--space-2)}.trades__counter-option{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-3);background:var(--color-surface-sunken);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--color-ink-700);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.trades__counter-option:hover{border-color:var(--color-brand-300)}.trades__counter-option--selected{background:var(--color-brand-500);border-color:var(--color-brand-600);color:#fff}.trades__counter-option--selected:before{content:"✓ "}.trades__incoming-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.trades__action{flex:1;min-width:100px;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-md);font-weight:700;font-size:.85rem;transition:background-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.trades__action:active:not(:disabled){transform:scale(.96)}.trades__action:disabled{opacity:.5;cursor:not-allowed}.trades__action--accept{background:var(--color-brand-500);color:#fff;box-shadow:var(--shadow-sm)}.trades__action--accept:hover:not(:disabled){background:var(--color-brand-600)}.trades__action--give{background:var(--color-surface-sunken);border:1.5px solid var(--color-border-strong);color:var(--color-ink-700)}.trades__action--give:hover:not(:disabled){border-color:var(--color-brand-300);color:var(--color-brand-600)}.trades__action--decline{background:var(--color-danger-100);color:var(--color-danger-600)}.trades__action--decline:hover:not(:disabled){background:color-mix(in srgb,var(--color-danger-500) 20%,var(--color-danger-100))}.stats{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4);padding:var(--space-4) var(--space-5);background:linear-gradient(135deg,var(--color-stats-bg-from),var(--color-stats-bg-to));color:var(--color-stats-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.stats__headline{display:flex;align-items:baseline;gap:var(--space-2)}.stats__count{font-family:var(--font-display);font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem);font-weight:800;letter-spacing:-.01em}.stats__pct{font-size:.925rem;font-weight:600;color:color-mix(in srgb,var(--color-stats-ink) 85%,transparent)}.stats__bar{height:10px;background:color-mix(in srgb,var(--color-stats-ink) 25%,transparent);border-radius:var(--radius-full);overflow:hidden}.stats__bar-fill{height:100%;background:var(--color-accent-400);border-radius:var(--radius-full);transition:width var(--transition-base)}.stats__bar-fill--0{width:0%}.stats__bar-fill--10{width:10%}.stats__bar-fill--20{width:20%}.stats__bar-fill--30{width:30%}.stats__bar-fill--40{width:40%}.stats__bar-fill--50{width:50%}.stats__bar-fill--60{width:60%}.stats__bar-fill--70{width:70%}.stats__bar-fill--80{width:80%}.stats__bar-fill--90{width:90%}.stats__bar-fill--100{width:100%}.stats__meta{display:flex;gap:var(--space-5);margin:0}.stats__meta-item{display:flex;align-items:baseline;gap:var(--space-1)}.stats__meta-item dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb,var(--color-stats-ink) 85%,transparent)}.stats__meta-item dd{margin:0;font-size:.95rem;font-weight:800}.stats__meta-item--dupes dd,.stats__meta-item--collect dd{padding:0 var(--space-2);background:var(--color-accent-500);color:var(--color-cell-badge-ink);border-radius:var(--radius-full)}.leaderboard{display:flex;flex-direction:column;gap:var(--space-3);margin:0 var(--space-4) var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.leaderboard__title{margin:0}.leaderboard__empty{margin:0;padding:var(--space-4);text-align:center;color:var(--color-ink-500);font-size:.875rem;font-style:italic;background:var(--color-surface-sunken);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md)}.leaderboard__list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none}.leaderboard__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-surface-sunken);border:1.5px solid transparent;border-radius:var(--radius-md)}.leaderboard__row--me{background:var(--color-brand-50);border-color:var(--color-brand-300)}.leaderboard__rank{flex-shrink:0;display:inline-flex;align-items:center;min-width:28px;font-family:var(--font-display);font-weight:800;font-variant-numeric:tabular-nums;color:var(--color-brand-600)}.leaderboard__medal{margin-right:var(--space-1);font-size:1rem}.leaderboard__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;color:var(--color-ink-900)}.leaderboard__me-badge{font-weight:600;color:var(--color-brand-600)}.leaderboard__progress{flex-shrink:0;font-size:.85rem;font-weight:700;color:var(--color-ink-700)}.leaderboard__doubles{flex-shrink:0;padding:0 var(--space-2);background:var(--color-accent-500);color:var(--color-cell-badge-ink);font-size:.75rem;font-weight:800;border-radius:var(--radius-full)}}@layer utilities{.cell--hue-0{--cell-accent: hsl(6 70% 50%)}.cell--hue-1{--cell-accent: hsl(28 85% 48%)}.cell--hue-2{--cell-accent: hsl(45 88% 45%)}.cell--hue-3{--cell-accent: hsl(165 55% 36%)}.cell--hue-4{--cell-accent: hsl(205 70% 45%)}.cell--hue-5{--cell-accent: hsl(330 55% 50%)}.cell{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:1;min-height:44px;min-width:44px;border-radius:var(--radius-md);border:1.5px solid transparent;font-variant-numeric:tabular-nums;transition:transform var(--transition-fast),background-color var(--transition-base),background-position var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.cell:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--cell-accent, transparent);opacity:.8}.cell:active{transform:scale(.92)}.cell--missing{background:linear-gradient(160deg,var(--color-surface) 0%,var(--color-cell-missing-bg) 65%);border-color:var(--color-cell-missing-border)}.cell--missing .cell__num{color:var(--color-cell-missing-ink);font-weight:600;opacity:.85}.cell--missing:hover{border-color:var(--color-brand-300)}.cell--owned{background:linear-gradient(160deg,color-mix(in srgb,var(--color-cell-owned-bg) 78%,white) 0%,var(--color-cell-owned-bg) 55%,color-mix(in srgb,var(--color-cell-owned-bg) 80%,black) 100%);border-color:color-mix(in srgb,var(--color-cell-owned-bg) 70%,black);box-shadow:var(--shadow-sm)}.cell--owned .cell__num{color:var(--color-cell-owned-ink);font-weight:800}.cell--owned:after{content:"✓";position:absolute;bottom:3px;left:5px;font-size:.6rem;font-weight:900;color:color-mix(in srgb,var(--color-cell-owned-ink) 75%,transparent)}.cell--foil{border-width:2px;background-size:220% 220%;background-position:0% 0%}.cell--foil:hover,.cell--foil:focus-visible{background-position:100% 100%}.cell--foil.cell--missing{background-image:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.12) 50%,transparent 65%);background-color:var(--color-cell-missing-bg);border-color:var(--color-border-strong)}.cell--foil.cell--owned{background-image:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.6) 42%,rgba(255,255,255,.18) 50%,transparent 65%),linear-gradient(160deg,var(--color-accent-400) 0%,var(--color-cell-owned-bg) 55%,color-mix(in srgb,var(--color-cell-owned-bg) 75%,black) 100%);border-color:color-mix(in srgb,var(--color-accent-400) 55%,var(--color-brand-600));box-shadow:var(--shadow-md)}.cell--foil:before{content:"★";inset:2px auto auto 2px;height:auto;background:none;opacity:1;font-size:.5rem;line-height:1;color:var(--color-accent-500);text-shadow:0 1px 1px rgba(0,0,0,.3)}.cell__glyph{position:absolute;top:5px;right:3px;bottom:3px;left:3px;display:flex;align-items:center;justify-content:center;font-size:1.05rem;opacity:.32;pointer-events:none}.cell--missing .cell__glyph{color:var(--color-cell-missing-ink)}.cell--owned .cell__glyph{color:var(--color-cell-owned-ink);opacity:.4}.cell__glyph:empty:before{content:"";width:58%;height:58%;background:currentColor;opacity:.4;clip-path:polygon(30% 0%,70% 0%,88% 14%,100% 32%,82% 40%,78% 30%,78% 100%,22% 100%,22% 30%,18% 40%,0% 32%,12% 14%)}.cell__glyph--jersey{font-size:3.4rem;line-height:1;opacity:1;clip-path:polygon(30% 0%,70% 0%,88% 14%,100% 32%,82% 40%,78% 30%,78% 100%,22% 100%,22% 30%,18% 40%,0% 32%,12% 14%)}.cell--missing .cell__glyph--jersey{filter:grayscale(1) opacity(.55);transition:filter var(--transition-base)}.cell--owned .cell__glyph--jersey{opacity:1;filter:none;transition:filter var(--transition-base)}.cell__num{position:relative;z-index:1;font-size:.8rem}.cell__badge{position:absolute;z-index:2;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-1);background:var(--color-cell-badge-bg);color:var(--color-cell-badge-ink);font-size:.65rem;font-weight:800;border-radius:var(--radius-full);border:2px solid var(--color-surface-sunken);box-shadow:var(--shadow-sm)}.cell__team-badge{position:absolute;z-index:2;bottom:3px;right:4px;font-size:.55rem;line-height:1;pointer-events:none;text-shadow:0 1px 1px rgba(0,0,0,.3)}@container app (min-width: 480px){.cell{border-radius:var(--radius-lg)}.cell__num{font-size:.9rem}.cell__glyph{font-size:1.3rem}.cell__glyph--jersey{font-size:4.2rem}.cell__team-badge{font-size:.7rem}}}
