:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#a4a7ae;--bg-hi:#c1c4c9;--bg-lo:#858991;--fg:#1a1a22;--muted:#3d3b44;--card:#fff;--line:#dcdde2;--accent:#e0377a;--anim-base:#6e6e6e}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg-lo) radial-gradient(1200px 800px at 40% 35%, var(--bg-hi) 0%, var(--bg) 45%, var(--bg-lo) 100%) fixed;min-height:100vh;color:var(--fg);flex-direction:column;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.top{text-align:center;padding:20px 16px 0}.top h1{letter-spacing:-.05em;margin:0;font-family:Geist,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:2.25rem;font-weight:700;line-height:2.5rem}@media (width>=768px){.top h1{font-size:3rem;line-height:1}}@media (width>=1024px){.top h1{font-size:4.5rem;line-height:1}}.aurora{display:inline-block;position:relative}.aurora-fill{-webkit-text-fill-color:transparent;color:#0000;background-image:linear-gradient(135deg,#ff0080,#7928ca,#0070f3,#38bdf8,#ff0080);background-size:200%;-webkit-background-clip:text;background-clip:text;animation:10s ease-in-out infinite alternate aurora;display:inline-block;position:relative}@keyframes aurora{0%{background-position:0%}25%{background-position:50% 100%}50%{background-position:100%}75%{background-position:50% 0}to{background-position:0%}}@media (prefers-reduced-motion:reduce){.aurora-fill{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sub{color:var(--muted);margin:2px 0 0}.layout{flex:1;grid-template-columns:1fr 340px;gap:16px;min-height:0;padding:8px 16px 16px;display:grid}.stage{touch-action:pan-y;border-radius:18px;min-height:70vh;position:relative;overflow:hidden}.stage canvas{width:100%;height:100%;display:block}.panel{background:var(--card);border:1px solid var(--line);border-radius:18px;align-self:start;padding:16px}.top{position:relative}.race-logo{background:#fff;border-radius:14px;width:84px;display:block;position:absolute;top:12px;left:16px;overflow:hidden;box-shadow:0 4px 14px #00000026}.race-logo img{width:100%;height:auto;display:block}.race-logo:focus-visible,.donate:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.donate{border:1px solid var(--line);color:var(--fg);border-radius:14px;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;margin-bottom:14px;padding:8px 10px 8px 8px;text-decoration:none;display:grid}.donate:hover{border-color:#2f9de0}.donate img{width:56px;height:auto;display:block}.donate-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.donate-text small{color:var(--muted);font-size:.8rem}.donate-btn{color:#fff;background:#2f9de0;border-radius:99px;padding:8px 14px;font-size:.9rem;font-weight:700}.donate:hover .donate-btn{background:#1f86c6}.stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stats span{font-size:1.5rem;font-weight:700;display:block}.stats small{color:var(--muted)}.bar{background:var(--line);border-radius:99px;grid-column:1/-1;height:8px;overflow:hidden}.bar i{background:linear-gradient(90deg,#4a90f5,#7b3fe4,#e0377a,#f9dc6b);width:0;height:100%;transition:width 1s;display:block}.ghost{border:1px solid var(--line);color:var(--fg);cursor:pointer;font:inherit;background:0 0;border-radius:99px;margin:12px 0 4px;padding:6px 14px;text-decoration:none;display:inline-block}.panel-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.team-name{letter-spacing:-.02em;margin:6px 0 0;font-family:Geist,system-ui,sans-serif;font-size:1.35rem;font-weight:700}.team-name:empty{display:none}.ghost:hover{border-color:var(--accent)}.list{max-height:52vh;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.list li{border-radius:8px;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;padding:6px 4px;font-size:.92rem;display:grid}.list li:hover{background:color-mix(in srgb, var(--c) 14%, transparent)}.list .sw{outline:2px solid var(--line);background:#111;border-radius:50%;width:14px;height:14px}.list li.done .sw{background:var(--c);outline-color:var(--c)}.list .p{color:var(--muted);font-variant-numeric:tabular-nums}.list li.done .p{color:var(--fg);font-weight:600}.tip{z-index:10;pointer-events:none;background:var(--card);max-width:280px;color:var(--fg);border:1px solid var(--line);border-left:5px solid var(--c,#333);border-radius:12px;padding:12px 14px;position:fixed;box-shadow:0 10px 30px #0000002e}.tip[hidden]{display:none}.t-sec{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem}.t-name{font-size:1.05rem;font-weight:700}.t-amt{color:var(--accent);font-weight:600}.t-msg{color:var(--muted);margin-top:4px;font-style:italic}.notice{color:#5c4600;text-align:center;background:#fff3cd;border-radius:10px;margin:0 16px;padding:10px 14px}footer{text-align:center;padding:12px;font-size:.85rem}footer a{color:var(--muted)}.rainbow-btn{--color-1:oklch(66.2% .225 25.9);--color-2:oklch(60.4% .26 302);--color-3:oklch(69.6% .165 251);--color-4:oklch(80.2% .134 225);--color-5:oklch(90.7% .231 133);--rainbow:linear-gradient(90deg, var(--color-1), var(--color-5), var(--color-3), var(--color-4), var(--color-2));cursor:pointer;white-space:nowrap;background-image:linear-gradient(#121213, #121213), linear-gradient(#121213 50%, #12121399 80%, #12121300), var(--rainbow);background-size:200%;background-origin:border-box;background-clip:padding-box,border-box,border-box;border:.125rem solid #0000;border-radius:.25rem;outline:none;justify-content:center;align-items:center;gap:.5rem;height:2.25rem;padding:.5rem 1rem;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:1.25rem;text-decoration:none;transition:all .15s;animation:2s linear infinite rainbow;display:inline-flex;position:relative}.rainbow-btn:before{content:"";z-index:0;background-image:var(--rainbow);filter:blur(.75rem);background-size:200%;width:60%;height:20%;animation:2s linear infinite rainbow;position:absolute;bottom:-20%;left:50%;transform:translate(-50%)}.site-foot a.rainbow-btn,.drawer-admin a.rainbow-btn,.admin-foot a.rainbow-btn,button.rainbow-btn{color:#fafafa}.admin-top{padding-bottom:4px}.admin-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-bar .hint{color:#24232a}.admin-nav{margin:-4px 0 12px}.admin-nav .btn{margin-top:0}.btn-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.auth-card{max-width:480px;margin:0 auto 16px}.tabs{background:color-mix(in srgb, var(--fg) 6%, var(--card));border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px;padding:4px;display:grid}.tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px;font-weight:600;transition:background-color .15s,color .15s,box-shadow .15s}.tab[aria-selected=true]{background:var(--card);color:var(--fg);box-shadow:0 1px 3px #0000001f}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.my-heart{border-top:1px solid var(--line);padding:14px 0}.my-heart:last-child{padding-bottom:0}.my-heart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.my-heart h3{margin:0;font-size:1.1rem}.my-heart .hint{margin:2px 0 0}.my-heart-head .btn{margin-top:0}.share{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.share .share-url{min-width:0;color:var(--muted);flex:260px;font-size:.9rem}.share .row-btn{margin:0;text-decoration:none}.board-wrap{gap:14px;width:100%;max-width:860px;margin:0 auto;padding:20px 16px 8px;display:grid}.board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.board-total{color:#24232a;margin:0;font-weight:600}.board{gap:12px;margin:0;padding:0;list-style:none;display:grid}.board-row{background:var(--card);border:1px solid var(--line);color:var(--fg);border-radius:16px;grid-template-columns:34px 72px 1fr auto;align-items:center;gap:16px;padding:12px 18px;text-decoration:none;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid}.board-row:hover{border-color:var(--accent);box-shadow:0 8px 22px color-mix(in srgb, var(--accent) 22%, transparent);transform:translateY(-2px)}.board-row:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.board-rank{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;font-family:Geist,system-ui,sans-serif;font-size:1.5rem;font-weight:700}.board li:first-child .board-rank{color:var(--accent)}.heart-thumb{width:72px;height:auto;display:block}.board-info{gap:6px;min-width:0;display:grid}.board-name{overflow-wrap:anywhere;font-size:1.1rem;font-weight:700}.board-bar{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.board-bar i{background:linear-gradient(90deg,#4a90f5,#7b3fe4,#e0377a,#f9dc6b);border-radius:99px;height:100%;display:block}.board-meta{color:var(--muted);font-size:.85rem}.board-raised{font-variant-numeric:tabular-nums;font-family:Geist,system-ui,sans-serif;font-size:1.5rem;font-weight:700}.board-empty{text-align:center;background:var(--card);border:1px dashed var(--line);border-radius:16px;padding:28px}.board-empty p{margin:4px 0}.board-foot{text-align:center;padding:20px 16px 28px}.board-foot a.rainbow-btn,.board-head a.rainbow-btn{color:#fafafa}@media (width<=560px){.board-row{grid-template-columns:24px 54px 1fr;gap:10px;padding:12px}.board-raised{grid-column:3;font-size:1.15rem}.heart-thumb{width:54px}}@media (prefers-reduced-motion:reduce){.board-row{transition:none}.board-row:hover{transform:none}}.admin-foot{padding:8px 16px 28px}.rainbow-btn:focus-visible{box-shadow:0 0 0 3px #a1a1aa80}@keyframes rainbow{0%{background-position:0%}to{background-position:200%}}@media (prefers-reduced-motion:reduce){.rainbow-btn,.rainbow-btn:before{animation:none}}body.home{background:var(--anim-base)}.bg-anim{z-index:-1;isolation:isolate;pointer-events:none;background:var(--anim-base);position:fixed;inset:0;overflow:hidden}.bg-anim>div{filter:blur(60px);mix-blend-mode:screen;will-change:transform;border-radius:50%;position:absolute;top:0;left:0}.home .sub,.home footer a{color:#24232a}.handle,.drawer-admin{display:none}.drawer-body{display:contents}@media (width<=820px){:root{--handle-h:64px}body.home{height:100dvh;overflow:hidden}.home .top{z-index:2;pointer-events:none;padding-top:calc(env(safe-area-inset-top,0px) + 12px);position:fixed;inset:0 0 auto}.top h1{font-size:2.25rem;line-height:2.5rem}.home .team-name{margin-top:2px;font-size:1.1rem}.race-logo{pointer-events:auto;width:52px;top:calc(env(safe-area-inset-top,0px) + 8px);left:max(12px, env(safe-area-inset-left,0px));border-radius:10px}.home .top h1{padding:0 60px}.top .sub{padding:6px 16px 0}.sub{font-size:.85rem}.layout{padding:0;display:block}.stage{inset:calc(env(safe-area-inset-top,0px) + 156px) 0 calc(var(--handle-h) + env(safe-area-inset-bottom,0px)) 0;border-radius:0;min-height:0;position:fixed}.site-foot{display:none}.notice{z-index:3;left:16px;right:16px;top:calc(env(safe-area-inset-top,0px) + 80px);margin:0;position:fixed}.panel{z-index:5;max-height:78dvh;padding:0 0 env(safe-area-inset-bottom,0px);transform:translateY(calc(100% - var(--handle-h) - env(safe-area-inset-bottom,0px)));border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;transition:transform .32s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #0000002e}.panel.open{transform:none}.handle{height:var(--handle-h);width:100%;padding:8px max(16px, env(safe-area-inset-right,0px)) 0 max(16px, env(safe-area-inset-left,0px));color:var(--fg);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:none;align-items:center;gap:8px;font-size:.95rem;display:flex}.handle:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:18px 18px 0 0}.grip{background:var(--line);border-radius:99px;width:40px;height:5px}.handle-row{justify-content:space-between;align-items:center;width:100%;display:flex}.chev{border-left:2px solid var(--muted);border-top:2px solid var(--muted);width:10px;height:10px;margin-top:4px;transition:transform .3s;transform:rotate(45deg)}.panel.open .chev{margin-top:-6px;transform:rotate(225deg)}.drawer-body{overscroll-behavior:contain;padding:4px max(16px, env(safe-area-inset-right,0px)) 16px max(16px, env(safe-area-inset-left,0px));display:block;overflow-y:auto}.list{max-height:none}.list li{padding:10px 4px}.drawer-admin{text-align:center;margin-top:16px;padding:4px 0 16px;display:block}.tip{pointer-events:auto;max-width:calc(100vw - 32px)}}@media (width<=820px) and (prefers-reduced-motion:reduce){.panel,.chev{transition:none}}.admin{width:100%;max-width:960px;margin:0 auto;padding:24px 16px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:16px;padding:20px}.card h2{margin-top:0}label{margin:12px 0 4px;font-size:.9rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],textarea{--pc:var(--accent);background:var(--card);width:100%;color:var(--fg);font:inherit;border:1px solid #c4c6cc;border-radius:10px;outline:none;padding:10px 12px;transition:border-color .18s,box-shadow .18s,background-color .18s}:is(input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],textarea):hover{border-color:color-mix(in srgb, var(--pc) 55%, #c4c6cc)}:is(input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],textarea):focus{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 4%, var(--card));box-shadow:0 0 0 3px color-mix(in srgb, var(--pc) 22%, transparent), 0 6px 16px color-mix(in srgb, var(--pc) 16%, transparent)}.row2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.btn,.row-btn{--pc:var(--accent);transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s}.btn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:10px;margin-top:16px;padding:10px 18px;font-weight:600}.btn.alt{color:var(--fg);border:1px solid var(--line);background:0 0}.btn.danger,.row-btn.danger{--pc:#c0392b}.btn.danger{background:#c0392b}.btn:hover,.row-btn:hover{box-shadow:0 6px 16px color-mix(in srgb, var(--pc) 32%, transparent);transform:translateY(-2px)}.btn:not(.alt):hover{background:color-mix(in srgb, var(--pc) 88%, #000)}.btn.alt:hover,.row-btn:not(.danger):hover{border-color:var(--pc);background:color-mix(in srgb, var(--pc) 8%, var(--card))}.row-btn.danger:hover{background:color-mix(in srgb, var(--pc) 88%, #000)}.btn:active,.row-btn:active{box-shadow:0 2px 6px color-mix(in srgb, var(--pc) 22%, transparent);transform:translateY(0)scale(.98)}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--pc) 40%, transparent);outline:none}@media (prefers-reduced-motion:reduce){.btn,.row-btn,input,textarea{transition:none}.btn:hover,.row-btn:hover,.btn:active,.row-btn:active{transform:none}}.picks{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.choice-group{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}label.choice{--pc:var(--accent);--pc-ink:#fff;cursor:pointer;border:1px solid color-mix(in srgb, var(--pc) 35%, var(--line));background:color-mix(in srgb, var(--pc) 10%, var(--card));border-radius:8px;margin:0;font-size:.875rem;font-weight:400;transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s;display:block}.choice-group label.choice{background:var(--card);border-color:var(--line)}.choice-field{align-items:flex-start;gap:12px;padding:16px;display:flex}.choice-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.choice-title{color:var(--fg);font-weight:500;line-height:1.25}.choice-desc{color:var(--muted);line-height:1.4}label.choice:not(.taken):hover{border-color:var(--pc);box-shadow:0 6px 16px color-mix(in srgb, var(--pc) 25%, transparent);transform:translateY(-2px)}label.choice:not(.taken):active{transform:translateY(0)scale(.99)}label.choice:has(input:checked){border-color:var(--pc);background:color-mix(in srgb, var(--pc) 24%, var(--card))}.choice-group label.choice:has(input:checked){background:color-mix(in srgb, var(--pc) 6%, var(--card))}label.choice.taken{opacity:.55;cursor:not-allowed}.ui-check,.ui-radio{appearance:none;width:16px;height:16px;cursor:inherit;background:#fff;border:1px solid #c4c6cc;flex:none;place-content:center;margin:1px 0 0;transition:background-color .15s,border-color .15s,box-shadow .15s;display:grid;box-shadow:0 1px 2px #0000000d}.ui-check{border-radius:4px}.ui-check:before{content:"";background:var(--pc-ink);width:12px;height:12px;transition:transform .15s;transform:scale(0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat}.ui-check:checked{background:var(--pc);border-color:var(--pc)}.ui-check:checked:before{transform:scale(1)}.ui-radio{border-radius:50%}.ui-radio:before{content:"";background:var(--pc);border-radius:50%;width:8px;height:8px;transition:transform .15s;transform:scale(0)}.ui-radio:checked{border-color:var(--pc)}.ui-radio:checked:before{transform:scale(1)}.ui-check:focus-visible,.ui-radio:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--pc) 45%, transparent);outline:none}.ui-check:disabled{opacity:.6}@media (prefers-reduced-motion:reduce){label.choice,.ui-check,.ui-radio,.ui-check:before,.ui-radio:before{transition:none}label.choice:not(.taken):hover,label.choice:not(.taken):active{transform:none}}.msg{min-height:1.4em;margin-top:12px}.msg.err{color:#c0392b}.msg.ok{color:#1e8e3e}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 8px}td.msg-cell{overflow-wrap:anywhere}td.actions{white-space:nowrap;text-align:right}.row-btn{font:inherit;cursor:pointer;border:1px solid var(--line);color:var(--fg);background:0 0;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:600}.row-btn+.row-btn{margin-left:6px}.row-btn.danger{color:#fff;background:#c0392b;border-color:#c0392b}.row-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=640px){.admin .card{padding:16px}.row2{grid-template-columns:1fr;gap:0}.donations thead{display:none}.donations,.donations tbody,.donations tr,.donations td{width:100%;display:block}.donations tr{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:4px 12px}.donations td{text-align:right;border:0;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.donations td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;text-align:left;flex:none;font-size:.8rem}.donations td.msg-cell{text-align:left;display:block}.donations td.msg-cell:before{margin-bottom:2px;display:block}.donations td.actions{white-space:normal;justify-content:flex-start;padding-top:8px}.donations td.actions:before{content:none}.donations td.actions .row-btn{flex:1;padding:10px}.donations td.hint{text-align:left;display:block}}.hint{color:var(--muted);font-size:.85rem}
