:root{--bg:#f6f4ee;--surface:#fff;--surface-2:#f3f1eb;--surface-3:#ebe8e0;--ink:#1c2230;--ink-2:#5e6675;--ink-3:#969ba5;--navy:#1b2b45;--navy-2:#26395b;--line:#e7e3da;--hairline:#1c223012;--gold:#b0883c;--slate:#7d8aa0;--warning:#8a5413;--warning-bg:#fbf2e2;--radius-xl:30px;--radius-l:22px;--radius-m:18px;--radius-s:14px;--shadow-card:0 1px 1px #1c223008, 0 10px 28px -18px #1c223038;--shadow-float:0 1px 2px #1c22300f, 0 18px 44px -18px #1c223052;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.2, .8, .2, 1);--dur:.2s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.45}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:2px;outline:3px solid #1b2b4552}h1,h2,h3,p{margin:0}.icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.app{max-width:600px;min-height:100dvh;padding:max(14px, env(safe-area-inset-top)) 16px calc(128px + env(safe-area-inset-bottom));margin:0 auto}.main{gap:16px;display:grid}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:6px 2px 18px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);align-items:center;gap:10px;font-size:1.5rem;font-weight:700;display:flex}.brand__mark{flex:none;width:17px;height:27px}.brand__mark rect{fill:var(--navy)}.brand__mark line{stroke:#ffffff73;stroke-width:1.4px;stroke-linecap:round}.brand__mark circle{fill:#fff}.facts{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.fact{color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:5px 11px;font-size:.8125rem;font-weight:500}.fact--strong{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hairline);font-variant-numeric:tabular-nums;font-weight:600}.scoreboard{border-radius:var(--radius-xl);background:var(--line);box-shadow:var(--shadow-card), 0 0 0 1px var(--hairline);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;display:grid;position:relative;overflow:hidden}.scoreboard[data-count="2"]:after{content:"";background:var(--surface);width:11px;height:11px;box-shadow:inset 0 0 0 2px var(--line);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.team{background:var(--surface);min-width:0;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);flex-direction:column;padding:20px 20px 18px;display:flex}.team__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.team__name{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:1rem;font-weight:650}.team__players{color:var(--ink-2);overflow-wrap:anywhere;margin-top:2px;font-size:.875rem}.team__score{font-family:var(--font-display);letter-spacing:-.055em;font-variant-numeric:tabular-nums;color:var(--ink);margin:14px 0 16px;font-size:clamp(3.75rem,18vw,6rem);font-weight:600;line-height:.9}.team__progress{background:var(--surface-2);border-radius:999px;height:5px;overflow:hidden}.team__progress span{border-radius:inherit;background:var(--navy);transform-origin:0;height:100%;transition:transform .52s var(--ease);display:block}.team__remaining{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:8px;font-size:.8125rem}.team__badge{background:#ffffff29;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:650}.team--winner{background:var(--navy);color:#fff}.team--winner .team__score{color:#fff}.team--winner .team__players,.team--winner .team__remaining{color:#ffffffad}.team--winner .team__progress{background:#ffffff29}.team--winner .team__progress span{background:#fff}.hand-status{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:2px 4px;display:flex}.hand-status__number{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:650}.hand-status__bonus{background:var(--surface);box-shadow:inset 0 0 0 1px var(--hairline);color:var(--navy);font-variant-numeric:tabular-nums;border-radius:999px;padding:6px 12px;font-size:.875rem;font-weight:600}.hand-status__bonus--none{background:var(--surface-2);box-shadow:none;color:var(--ink-2);font-weight:500}.prizes{gap:10px;display:grid}.prizes__head{justify-content:space-between;align-items:baseline;gap:12px;padding:0 4px;display:flex}.section-title{letter-spacing:-.01em;font-size:1.0625rem;font-weight:650}.prizes__hint{color:var(--ink-3);font-size:.8125rem}.prizes__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.prizes__grid>li:last-child:nth-child(odd){grid-column:1/-1}.prize{border-radius:var(--radius-m);background:var(--surface);width:100%;height:100%;min-height:84px;box-shadow:var(--shadow-card), 0 0 0 1px var(--hairline);text-align:left;transition:background-color var(--dur) var(--ease), transform .12s var(--ease), opacity var(--dur) var(--ease);border:0;flex-direction:column;justify-content:space-between;gap:12px;padding:13px 12px 11px 16px;display:flex}.prize__name{font-size:.9375rem;font-weight:550;line-height:1.25}.prize__foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.prize__value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums;font-size:1.375rem;font-weight:650}.prize__value--range{white-space:nowrap;font-size:1.125rem}.prize__add{background:var(--surface-2);width:30px;height:30px;color:var(--navy);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.prize__add .icon{stroke-width:2.2px;width:16px;height:16px}@media (hover:hover){.prize:hover:not(:disabled) .prize__add{background:var(--navy);color:#fff}}.prize:active:not(:disabled){background:var(--surface-2);transform:scale(.98)}.prize:disabled{cursor:default;opacity:.5;box-shadow:0 0 0 1px var(--hairline)}.button{border-radius:var(--radius-s);min-height:48px;transition:background-color var(--dur) var(--ease), transform .12s var(--ease), opacity var(--dur) var(--ease);background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.button:active:not(:disabled){transform:scale(.98)}.button:disabled{opacity:.38;cursor:default}.button--primary{background:var(--navy);color:#fff}.button--primary:hover:not(:disabled){background:var(--navy-2)}.button--quiet{color:var(--navy)}.button--quiet:hover:not(:disabled){background:var(--surface-2)}.button--large{letter-spacing:-.01em;min-height:56px;font-size:1.0625rem}.button--block{width:100%}.icon-button{background:var(--surface-2);width:32px;height:32px;color:var(--ink-2);transition:background-color var(--dur) var(--ease);border:0;border-radius:50%;flex:none;place-items:center;display:grid}.icon-button:hover{background:var(--surface-3)}.icon-button .icon{stroke-width:2.2px;width:16px;height:16px}.dock{z-index:10;padding:12px 12px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 55%, #f6f4ee00);pointer-events:none;position:fixed;inset:auto 0 0}.dock__bar{-webkit-backdrop-filter:saturate(1.4)blur(18px);max-width:576px;box-shadow:var(--shadow-float), 0 0 0 1px var(--hairline);pointer-events:auto;background:#ffffffe6;border-radius:26px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px;margin:0 auto;padding:6px;display:grid}.dock__item{min-width:68px;min-height:56px;color:var(--ink-2);white-space:nowrap;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0 8px;font-size:.6875rem;font-weight:600;display:flex}.dock__item .icon{width:22px;height:22px}.dock__item:hover{color:var(--navy);background:var(--surface-2)}.dock__item:active{background:var(--surface-3)}.dock__primary{border-radius:20px}.sheet{background:0 0;border:0;width:100%;max-width:100%;max-height:100%;margin:auto 0 0;padding:0}.sheet::backdrop{animation:fade var(--dur) var(--ease);background:#1c223052}.sheet__panel{max-height:90dvh;padding:8px 20px calc(24px + env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--surface);animation:rise .3s var(--ease);overflow-y:auto}.sheet__grabber{background:var(--surface-3);border-radius:999px;width:38px;height:5px;margin:0 auto 12px}.sheet__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.sheet__title{font-family:var(--font-display);letter-spacing:-.025em;font-size:1.375rem;font-weight:700}.sheet__lead{color:var(--ink-2);margin:-8px 0 18px;font-size:.9375rem}@media (width>=640px){.sheet{max-width:480px;margin:auto}.sheet__panel{border-radius:var(--radius-xl);box-shadow:var(--shadow-float);padding:22px 24px 24px}.sheet__grabber{display:none}}.team-picker{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.team-option{border-radius:var(--radius-m);background:var(--surface-2);text-align:left;min-height:104px;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), transform .12s var(--ease);border:0;flex-direction:column;gap:3px;padding:16px 44px 16px 16px;display:flex;position:relative}.team-option:hover{background:var(--surface-3)}.team-option:active{transform:scale(.98)}.team-option__mark{width:24px;height:24px;box-shadow:inset 0 0 0 1.5px var(--line);background:var(--surface);color:var(--navy);border-radius:50%;place-items:center;display:grid;position:absolute;top:14px;right:14px}.team-option__mark .icon{stroke-width:2.6px;width:14px;height:14px}.team-picker--action .team-option__mark{box-shadow:none}.team-option__name{letter-spacing:-.01em;overflow-wrap:anywhere;margin-top:auto;font-size:1.0625rem;font-weight:650}.team-option__players{color:var(--ink-2);overflow-wrap:anywhere;font-size:.8125rem}.team-option--selected,.team-option--selected:hover{background:var(--navy);color:#fff}.team-option--selected .team-option__players{color:#ffffffb3}.team-option--selected .team-option__mark{box-shadow:none}.form{gap:18px;display:grid}.form__group{border:0;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin:0;padding:0;display:grid}.form__label{color:var(--ink-2);padding:0;font-size:.8125rem;font-weight:600}.points-field{border-radius:var(--radius-m);background:var(--surface-2);transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);border:1.5px solid #0000;align-items:baseline;gap:8px;padding:4px 20px;display:flex}.points-field:focus-within{border-color:var(--navy);background:var(--surface)}.points-field--invalid,.points-field--invalid:focus-within{border-color:var(--warning)}.points-input{width:100%;min-width:0;font-family:var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding:6px 0;font-size:2.75rem;font-weight:650}.points-input:focus{outline:none}.points-input::placeholder{color:var(--ink-3);opacity:.6}.points-field__unit{color:var(--ink-3);font-size:1.0625rem;font-weight:600}.text-input{border-radius:var(--radius-s);background:var(--surface-2);width:100%;min-height:50px;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);border:1.5px solid #0000;padding:0 14px}.text-input::placeholder{color:var(--ink-3)}.text-input:focus{border-color:var(--navy);background:var(--surface);outline:none}.text-input[aria-invalid=true]{border-color:var(--warning)}.form__hint{color:var(--ink-2);font-size:.875rem}.form__error{border-radius:var(--radius-s);background:var(--warning-bg);color:var(--warning);align-items:center;gap:8px;padding:10px 12px;font-size:.875rem;font-weight:600;display:flex}.form__error .icon{width:18px;height:18px}.team-fields{border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--line);padding:14px}.team-fields>.form__label{float:left;width:100%;margin-bottom:8px}.team-fields>.form__label+*{clear:both}.team-fields__players{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.history{gap:20px;margin:0;padding:0;list-style:none;display:grid}.history__title{color:var(--ink-2);margin:0 0 8px 4px;font-size:.8125rem;font-weight:650}.history__items{border-radius:var(--radius-m);background:var(--surface-2);margin:0;padding:0;list-style:none}.history__item{grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}.history__item+.history__item{border-top:1px solid var(--line)}.history__dot{background:var(--ink-3);border-radius:50%;width:8px;height:8px}.history__item--normal .history__dot{background:var(--navy)}.history__item--prize .history__dot{background:var(--gold)}.history__item--bonus .history__dot{background:var(--slate)}.history__item--change .history__dot{box-shadow:inset 0 0 0 1.5px var(--ink-3);background:0 0}.history__what{gap:1px;font-weight:500;display:grid}.history__who,.history__time{color:var(--ink-2);font-size:.8125rem;font-weight:400}.history__points{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-weight:650;display:flex}.history__item--deleted .history__what,.history__item--deleted .history__points{color:var(--ink-3);text-decoration:line-through}.history__item--deleted .history__dot{opacity:.4}.history__item--deleted .tag{text-decoration:none}.history__item--excluded .history__what,.history__item--excluded .history__points{color:var(--ink-3)}.history__item--excluded .history__dot{opacity:.4}.tag.tag--excluded{box-shadow:inset 0 0 0 1px var(--line);background:0 0}.tag{background:var(--surface-3);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.history__item--editable{padding:0;display:block}.history__edit{border-radius:inherit;text-align:left;width:100%;transition:background-color var(--dur) var(--ease);background:0 0;border:0;grid-template-columns:8px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:12px 12px 12px 16px;display:grid}.history__items>.history__item--editable:first-child .history__edit{border-radius:var(--radius-m) var(--radius-m) 0 0}.history__items>.history__item--editable:last-child .history__edit{border-radius:0 0 var(--radius-m) var(--radius-m)}.history__items>.history__item--editable:only-child .history__edit{border-radius:var(--radius-m)}@media (hover:hover){.history__edit:hover{background:var(--surface-3)}}.history__edit:active{background:var(--surface-3)}.history__chevron{color:var(--ink-3);place-items:center;display:grid}.history__chevron .icon{width:16px;height:16px}.history__tag{vertical-align:1px;margin-left:8px}.team-picker--stack{grid-template-columns:1fr}.team-picker--stack .team-option{min-height:0}.unfinished{margin-bottom:20px}.unfinished__list{margin:0;padding:0;list-style:none}.unfinished__item{width:100%;padding-right:16px}.unfinished__action{background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--navy);border-radius:999px;align-self:flex-start;margin-top:8px;padding:5px 12px;font-size:.875rem;font-weight:650}.unfinished__item:hover .unfinished__action{background:var(--navy);color:#fff}.team-option:disabled{cursor:default;opacity:.5;transform:none}.correction__actions{gap:6px;display:grid}.changes{margin-top:24px}.empty{color:var(--ink-2);text-align:center;padding:28px 8px 12px}.result{z-index:20;-webkit-backdrop-filter:blur(12px);animation:fade .32s var(--ease);background:#f6f4eec2;place-items:end center;padding:12px;display:grid;position:fixed;inset:0}.result__panel{width:100%;max-width:440px;padding:28px 22px calc(22px + env(safe-area-inset-bottom));border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-float), 0 0 0 1px var(--hairline);animation:rise .42s var(--ease)}@media (width>=640px){.result{place-items:center}.result__panel{padding:32px 28px 28px}}.result__mark{background:var(--surface-2);border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:18px;display:grid}.result__mark .brand__mark{width:18px;height:29px}.result__eyebrow{color:var(--ink-2);font-size:.9375rem}.result__title{font-family:var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;margin:2px 0 22px;font-size:2.25rem;font-weight:700;line-height:1.08}.result__scores{gap:8px;margin:0 0 24px;padding:0;list-style:none;display:grid}.result__scores li{border-radius:var(--radius-m);background:var(--surface-2);color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-weight:550;display:flex}.result__scores li.is-winner{background:var(--navy);color:#fff}.result__score{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.625rem;font-weight:650}.result__actions{gap:6px;display:grid}.toast-region{inset:auto 0 calc(96px + env(safe-area-inset-bottom));z-index:30;pointer-events:none;justify-content:center;padding:0 14px;display:flex;position:fixed}.toast-region--top{inset:calc(14px + env(safe-area-inset-top)) 0 auto}.toast{border-radius:var(--radius-m);background:var(--navy);color:#fff;max-width:520px;box-shadow:var(--shadow-float);pointer-events:auto;animation:rise .24s var(--ease);align-items:center;gap:10px;padding:10px 10px 10px 14px;display:flex}.toast__icon{background:#ffffff24;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;display:grid}.toast__icon .icon{stroke-width:2.4px;width:15px;height:15px}.toast--warning{background:var(--warning-bg);color:var(--warning);box-shadow:0 0 0 1px #8a54132e, var(--shadow-float)}.toast--warning .toast__icon{background:#8a54131a}.toast__text{font-size:.9375rem;font-weight:500;line-height:1.35}.toast__action{min-height:38px;color:var(--navy);background:#fff;border:0;border-radius:12px;flex:none;padding:0 14px;font-weight:650}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}@keyframes fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important}}@media (width>=720px){.app{max-width:680px;padding-top:36px;padding-left:24px;padding-right:24px}.topbar{padding-bottom:24px}.main{gap:22px}.team{padding:28px 28px 24px}.dock__bar{max-width:520px}}
