@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-vietnamese-wght-normal-CtlIRbEm.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-ext-wght-normal-MQgHevqp.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/public-sans-latin-wght-normal-DdeTHZLK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-50: oklch(.97 .02 231);--brand-100: oklch(.93 .04 231);--brand-200: oklch(.87 .08 231);--brand-300: oklch(.83 .11 231);--brand-400: oklch(.8 .13 231);--brand-500: oklch(.76 .15 231);--brand-600: oklch(.65 .16 231);--brand-700: oklch(.54 .16 231);--brand-800: oklch(.43 .13 231);--brand-900: oklch(.33 .1 231);--brand-950: oklch(.25 .07 231);--neutral-50: oklch(.97 .005 231);--neutral-100: oklch(.93 .005 231);--neutral-200: oklch(.87 .005 231);--neutral-300: oklch(.78 .005 231);--neutral-400: oklch(.68 .01 231);--neutral-500: oklch(.55 .01 231);--neutral-600: oklch(.45 .01 231);--neutral-700: oklch(.37 .01 231);--neutral-800: oklch(.28 .01 231);--neutral-900: oklch(.2 .01 231);--neutral-950: oklch(.15 .01 231);--success-50: oklch(.97 .02 145);--success-100: oklch(.93 .04 145);--success-200: oklch(.87 .07 145);--success-300: oklch(.78 .11 145);--success-400: oklch(.68 .15 145);--success-500: oklch(.55 .17 145);--success-600: oklch(.48 .15 145);--success-700: oklch(.4 .13 145);--success-800: oklch(.33 .1 145);--success-900: oklch(.27 .08 145);--success-950: oklch(.2 .06 145);--warning-50: oklch(.97 .02 85);--warning-100: oklch(.93 .05 85);--warning-200: oklch(.87 .08 85);--warning-300: oklch(.78 .12 85);--warning-400: oklch(.72 .15 85);--warning-500: oklch(.65 .18 85);--warning-600: oklch(.55 .13 85);--warning-700: oklch(.45 .11 85);--warning-800: oklch(.37 .09 85);--warning-900: oklch(.28 .06 85);--warning-950: oklch(.2 .04 85);--destructive-50: oklch(.97 .02 25);--destructive-100: oklch(.93 .05 25);--destructive-200: oklch(.87 .08 25);--destructive-300: oklch(.78 .12 25);--destructive-400: oklch(.68 .16 25);--destructive-500: oklch(.55 .2 25);--destructive-600: oklch(.48 .18 25);--destructive-700: oklch(.4 .15 25);--destructive-800: oklch(.33 .12 25);--destructive-900: oklch(.27 .09 25);--destructive-950: oklch(.2 .06 25);--viz-1: oklch(.5 .22 250);--viz-2: oklch(.62 .2 320);--viz-3: oklch(.62 .19 25);--viz-4: oklch(.65 .17 145);--viz-5: oklch(.75 .17 85);--background: oklch(.97 .005 231);--foreground: oklch(.15 .01 231);--card: oklch(1 0 0);--card-foreground: oklch(.15 .01 231);--popover: oklch(1 0 0);--popover-foreground: oklch(.15 .01 231);--primary: oklch(.76 .15 231);--primary-foreground: oklch(.15 .01 231);--secondary: oklch(.95 .01 231);--secondary-foreground: oklch(.2 .02 231);--muted: oklch(.95 .01 231);--muted-foreground: oklch(.45 .02 231);--accent: oklch(.95 .04 231);--accent-foreground: oklch(.2 .02 231);--destructive: oklch(.48 .18 25);--destructive-foreground: oklch(.98 .01 25);--success: oklch(.48 .15 145);--success-foreground: oklch(.98 .01 145);--warning: oklch(.65 .18 85);--warning-foreground: oklch(.2 .04 85);--border: oklch(.86 .01 231);--input: oklch(.86 .01 231);--ring: oklch(.76 .15 231);--radius: .2rem;--chart-1: oklch(.5 .22 250);--chart-2: oklch(.62 .2 320);--chart-3: oklch(.62 .19 25);--chart-4: oklch(.65 .17 145);--chart-5: oklch(.75 .17 85);--sidebar: oklch(.98 .005 231);--sidebar-foreground: oklch(.3 .02 231);--sidebar-primary: oklch(.76 .15 231);--sidebar-primary-foreground: oklch(.15 .01 231);--sidebar-accent: oklch(.95 .04 231);--sidebar-accent-foreground: oklch(.2 .02 231);--sidebar-border: oklch(.86 .01 231);--sidebar-ring: oklch(.76 .15 231)}.dark{--background: oklch(.15 .01 231);--foreground: oklch(.8 .01 231);--card: oklch(.18 .01 231);--card-foreground: oklch(.8 .01 231);--popover: oklch(.18 .01 231);--popover-foreground: oklch(.95 .01 231);--primary: oklch(.76 .15 231);--primary-foreground: oklch(.15 .01 231);--secondary: oklch(.22 .02 231);--secondary-foreground: oklch(.95 .01 231);--muted: oklch(.22 .02 231);--muted-foreground: oklch(.65 .02 231);--accent: oklch(.28 .06 231);--accent-foreground: oklch(.95 .01 231);--destructive: oklch(.48 .18 25);--destructive-foreground: oklch(.98 .01 25);--success: oklch(.48 .15 145);--success-foreground: oklch(.98 .01 145);--warning: oklch(.65 .18 85);--warning-foreground: oklch(.2 .04 85);--border: oklch(.28 .02 231);--input: oklch(.28 .02 231);--ring: oklch(.76 .15 231);--chart-1: oklch(.5 .22 250);--chart-2: oklch(.62 .2 320);--chart-3: oklch(.62 .19 25);--chart-4: oklch(.65 .17 145);--chart-5: oklch(.75 .17 85);--sidebar: oklch(.17 .01 231);--sidebar-foreground: oklch(.85 .01 231);--sidebar-primary: oklch(.76 .15 231);--sidebar-primary-foreground: oklch(.15 .01 231);--sidebar-accent: oklch(.28 .06 231);--sidebar-accent-foreground: oklch(.95 .01 231);--sidebar-border: oklch(.28 .02 231);--sidebar-ring: oklch(.76 .15 231)}:root{--brand-text: var(--brand-700);--font-heading: "Public Sans Variable", "Public Sans", system-ui, sans-serif;--font-body: "Inter Variable", "Inter", system-ui, sans-serif;--font-mono: "Geist Mono Variable", "Geist Mono", ui-monospace, monospace;--season: oklch(.62 .17 50);--season-text: oklch(.5 .15 45);--season-soft: oklch(.96 .03 65);--season-line: oklch(.88 .07 60);--leaf-1: oklch(.68 .17 50);--leaf-2: oklch(.75 .15 80);--leaf-3: oklch(.55 .16 30);--gold: oklch(.72 .14 85);--silver: oklch(.7 .01 231);--bronze: oklch(.6 .1 55);color-scheme:light}.dark{--brand-text: var(--brand-400);--season-text: oklch(.78 .13 60);--season-soft: oklch(.22 .03 55);--season-line: oklch(.34 .06 55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-body);font-size:.9375rem;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.025em;line-height:1.15;margin:0;color:var(--card-foreground)}h1{font-size:clamp(2rem,6vw,3rem);font-weight:700}h2{font-size:1.5rem;font-weight:700}h3{font-size:1rem;font-weight:600}p{margin:0}code,.mono{font-family:var(--font-mono);font-size:.85em}code{background:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:.05em .35em}a{color:var(--brand-text)}:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.muted{color:var(--muted-foreground)}.small{font-size:.8125rem}.strong{font-weight:600}.muted svg,.small svg{vertical-align:-2px}.page{max-width:1120px;margin:0 auto;padding:0 16px 48px}.stack{display:flex;flex-direction:column;gap:16px;min-width:0}.grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}@media(max-width:860px){.grid,.grid-2{grid-template-columns:minmax(0,1fr)}}.loading{color:var(--muted-foreground);padding:48px 0;text-align:center}.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;padding:12px 0;margin-bottom:20px;background:color-mix(in oklch,var(--background) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--foreground)}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand b{font-family:var(--font-heading);font-size:1.125rem;letter-spacing:-.025em}.brand small{color:var(--muted-foreground);font-size:.75rem}nav{display:flex;gap:4px;flex:1}nav a{color:var(--muted-foreground);text-decoration:none;font-weight:500;padding:6px 10px;border-radius:var(--radius)}nav a:hover{color:var(--foreground);background:var(--muted)}nav a.active{color:var(--accent-foreground);background:var(--accent)}.me{display:flex;align-items:center;gap:8px}.me-name{font-weight:500;font-size:.875rem}@media(max-width:720px){.top{flex-wrap:wrap;gap:8px 16px}nav{order:3;flex-basis:100%;overflow-x:auto}.me{margin-left:auto}.me-name,.brand small{display:none}}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:.875rem;padding:8px 14px;border-radius:var(--radius);border:1px solid transparent;background:var(--primary);color:var(--primary-foreground);cursor:pointer;text-decoration:none;white-space:nowrap;box-shadow:var(--shadow-xs, 0 1px 2px 0 oklch(0 0 0 / .05))}.button:hover{background:var(--brand-600)}.button:disabled{opacity:.55;cursor:not-allowed}.button.ghost{background:var(--card);color:var(--foreground);border-color:var(--border)}.button.ghost:hover{background:var(--muted)}.button.small{padding:4px 10px;font-size:.8125rem}.icon-button{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius);border:1px solid var(--border);background:var(--card);color:var(--muted-foreground);cursor:pointer}.icon-button:hover{color:var(--foreground);background:var(--muted)}.card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;padding:16px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.hint{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);color:var(--muted-foreground);font-size:.8125rem}.empty{color:var(--muted-foreground);text-align:center;padding:16px 0 4px}.count{font-size:.75rem;font-weight:600;min-width:22px;text-align:center;padding:1px 6px;border-radius:999px;background:var(--accent);color:var(--accent-foreground)}.chip{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--muted);color:var(--muted-foreground);white-space:nowrap;font-variant-numeric:tabular-nums}.chip-warn{background:var(--warning-100);color:var(--warning-800)}.dark .chip-warn{background:var(--warning-900);color:var(--warning-200)}.season-chip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--season-text);background:var(--season-soft);border:1px solid var(--season-line);padding:2px 8px;border-radius:999px}.avatar{display:inline-grid;place-items:center;flex:none;border-radius:999px;object-fit:cover;font-weight:600;background:oklch(.9 .05 var(--avatar-hue, 231));color:oklch(.32 .08 var(--avatar-hue, 231))}.dark span.avatar{background:oklch(.32 .06 var(--avatar-hue, 231));color:oklch(.9 .05 var(--avatar-hue, 231))}.badges{display:inline-flex;gap:3px;margin-left:6px;vertical-align:-2px}.badge{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;color:#1d140d}.badge-1{background:var(--gold)}.badge-2{background:var(--silver)}.badge-3{background:var(--bronze);color:#fef7f2}.banner{position:relative;overflow:hidden;border:1px solid var(--season-line);background:radial-gradient(circle at 100% 0%,color-mix(in oklch,var(--season) 16%,transparent),transparent 55%),var(--card);border-radius:var(--radius);padding:16px 16px 20px}.banner-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.banner-main h2{flex:1;min-width:200px}.banner-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:8px;color:var(--muted-foreground);font-size:.875rem}.banner-meta svg{vertical-align:-2px}.progress{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--season-soft)}.progress i{display:block;height:100%;background:var(--season)}.live{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;color:var(--success)}.live svg{animation:pulse 1.8s ease-in-out infinite}.dark .live{color:var(--success-400)}.board-card{padding:16px 0 8px}.board-card .card-head,.board-card .empty{padding-left:16px;padding-right:16px}.board{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.board th{font-size:.75rem;font-weight:500;color:var(--muted-foreground);text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);background:var(--muted)}.board td{padding:10px 12px;border-bottom:1px solid var(--border)}.board tr:last-child td{border-bottom:0}.board th:first-child,.board td:first-child{padding-left:16px}.board th:last-child,.board td:last-child{padding-right:16px}.board .num{text-align:right;width:1%;white-space:nowrap}.board tr.is-me td{background:color-mix(in oklch,var(--accent) 60%,transparent)}.board tr.flash td{animation:flash 1.6s ease-out}.place{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:999px;font-weight:600;font-size:.8125rem;color:var(--muted-foreground)}.place-1{background:var(--gold);color:#1d140d}.place-2{background:var(--silver);color:#12171a}.place-3{background:var(--bronze);color:#fef7f2}.person{display:flex;align-items:center;gap:10px;min-width:0}.person-main{flex:1;min-width:0}.person-name{font-weight:500}.you{margin-left:6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-text)}.bar{height:4px;background:var(--muted);border-radius:999px;margin-top:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .6s ease}@media(max-width:520px){.hide-sm{display:none}.board td,.board th{padding-left:8px;padding-right:8px}}.held{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.held li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius)}.held li div{display:flex;flex-direction:column;min-width:0}.held li.soon{border-color:var(--warning-300)}.dark .held li.soon{border-color:var(--warning-700)}.records{margin:0;display:flex;flex-direction:column;gap:12px}.records div{display:grid;grid-template-columns:18px 1fr;column-gap:10px;align-items:start}.records svg{color:var(--brand-text);margin-top:2px;grid-row:span 2}.records dt{font-size:.8125rem;color:var(--muted-foreground)}.records dd{margin:0;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.records dd b{font-size:1.125rem;font-family:var(--font-heading)}.hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:32px 24px;border-radius:var(--radius);border:1px solid var(--season-line);background:radial-gradient(ellipse at 90% 10%,color-mix(in oklch,var(--leaf-2) 30%,transparent),transparent 50%),radial-gradient(ellipse at 0% 100%,color-mix(in oklch,var(--leaf-1) 22%,transparent),transparent 55%),var(--season-soft)}.hero-text{position:relative;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.hero-dates{font-weight:500;color:var(--season-text)}.hero-lede{max-width:52ch;color:var(--muted-foreground)}.hero-count{position:relative;display:flex;flex-direction:column;gap:6px}@media(max-width:720px){.hero{grid-template-columns:minmax(0,1fr);padding:24px 16px}}.leaves{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.leaf{position:absolute;opacity:.55;animation:sway 6s ease-in-out infinite}.tone-1{color:var(--leaf-1)}.tone-2{color:var(--leaf-2)}.tone-3{color:var(--leaf-3)}.countdown{display:flex;gap:8px}.countdown div{display:flex;flex-direction:column;align-items:center;min-width:60px;padding:8px 6px;background:var(--card);border:1px solid var(--season-line);border-radius:var(--radius)}.countdown b{font-family:var(--font-mono);font-size:1.75rem;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}.countdown span{font-size:.6875rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}@media(max-width:420px){.countdown div{min-width:0;flex:1}.countdown b{font-size:1.375rem}}.timeline{overflow-x:auto;padding-bottom:4px}.timeline-track{position:relative;height:6px;background:var(--muted);border-radius:999px;margin:6px 0 14px;min-width:640px}.timeline-track i{display:block;height:100%;background:var(--season);border-radius:999px}.today{position:absolute;top:50%;width:14px;height:14px;border-radius:999px;background:var(--card);border:3px solid var(--season);transform:translate(-50%,-50%)}.timeline-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(calc(var(--weeks) + 1),minmax(70px,1fr));gap:6px;min-width:640px}.timeline-steps li{display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:var(--radius);border:1px solid var(--border);font-size:.8125rem}.timeline-steps span{color:var(--muted-foreground);font-size:.75rem}.timeline-steps em{font-style:normal;font-size:.6875rem;color:var(--season-text);font-weight:600}.timeline-steps li.done{background:var(--season-soft);border-color:var(--season-line)}.timeline-steps .finale-step{border-color:var(--season)}.podium{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end}.podium li{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:20px 8px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--muted);min-width:0}.podium li b{font-size:.875rem;overflow-wrap:anywhere}.podium .podium-1{order:2;padding-top:32px;border-color:var(--gold)}.podium .podium-2{order:1}.podium .podium-3{order:3}.podium-place{position:absolute;top:-12px;display:grid;place-items:center;width:26px;height:26px;border-radius:999px;font-weight:700;font-size:.8125rem;border:2px solid var(--card)}.podium-1 .podium-place{background:var(--gold);color:#1d140d}.podium-2 .podium-place{background:var(--silver);color:#12171a}.podium-3 .podium-place{background:var(--bronze);color:#fef7f2}.plus{margin-top:4px;font-size:.75rem;font-weight:600;color:var(--season-text);background:var(--season-soft);border:1px solid var(--season-line);border-radius:999px;padding:1px 8px}.finale{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.finale li{display:flex;gap:12px}.finale svg{color:var(--season-text);flex:none;margin-top:2px}.rules{width:100%;border-collapse:collapse}.rules td{padding:8px 0;border-bottom:1px solid var(--border);vertical-align:top}.rules tr:last-child td{border-bottom:0}.rules td:last-child{text-align:right;white-space:nowrap;font-weight:600;padding-left:12px}.rules .pos{color:var(--success)}.rules .neg{color:var(--destructive)}.dark .rules .pos{color:var(--success-400)}.dark .rules .neg{color:var(--destructive-400)}.prizes p+p{margin-top:6px}.lottery-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,auto);gap:24px;align-items:center;padding:24px;border-radius:var(--radius);border:1px solid var(--season-line);background:var(--season-soft)}.lottery-head>div:first-child{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.big-rule{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--season-text)}@media(max-width:720px){.lottery-head{grid-template-columns:minmax(0,1fr);padding:20px 16px}}.draw-box{display:flex;flex-direction:column;align-items:center;gap:12px}.button.draw{font-size:1.125rem;padding:16px 28px}.winner{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;animation:pop .5s cubic-bezier(.2,1.4,.4,1)}.winner b{font-family:var(--font-heading);font-size:1.75rem}.winner .button{margin-top:8px}.error{color:var(--destructive);font-weight:500}.dark .error{color:var(--destructive-400)}.tickets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.tickets li{display:grid;grid-template-columns:28px minmax(90px,160px) minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius);border:1px solid transparent;transition:background .1s}.tickets li.out{opacity:.5}.tickets li.lit{background:var(--accent);border-color:var(--primary)}.tickets li.won{background:var(--season-soft);border-color:var(--season)}.ticket-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticket-bar{height:12px;background:var(--muted);border-radius:2px;overflow:hidden}.ticket-bar i{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--primary) 0 8px,transparent 8px 10px);transition:width .6s ease}.ticket-count{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.875rem}@media(max-width:520px){.tickets li{grid-template-columns:28px minmax(0,1fr) auto}.ticket-bar{grid-column:2 / -1;grid-row:2}}.falling{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20;overflow:hidden}.falling .leaf{top:-40px;opacity:.9;animation:fall linear 1 forwards}.foot{margin-top:32px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;color:var(--muted-foreground);font-size:.8125rem}.demo-clock{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 8px;border:1px dashed var(--warning-400);border-radius:var(--radius);background:var(--card)}.demo-label{display:inline-flex;align-items:center;gap:4px;font-weight:600;color:var(--warning-700)}.dark .demo-label{color:var(--warning-300)}@keyframes pulse{50%{opacity:.35}}@keyframes flash{0%{background:color-mix(in oklch,var(--season) 22%,transparent)}}@keyframes sway{50%{transform:translateY(6px) rotate(12deg)}}@keyframes pop{0%{transform:scale(.7);opacity:0}}@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:.7}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:720px){.leaves{display:none}}
