*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--navy: #152741;--navy-deep: #0f1c31;--navy-soft: #1e3455;--cream: #f6efdf;--cream-dim: #cfc6b3;--gold: #d6a53c;--gold-deep: #a97e26;--green: #8fae86;--green-deep: #6a8a62;--clay: #c9613f;--radius: 24px;--gap: clamp(1rem, 2.5vw, 2rem);font-family:ui-rounded,SF Pro Rounded,Segoe UI Variable,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;color-scheme:dark;font-synthesis-weight:none}body{min-height:100dvh;background-color:var(--navy);color:var(--cream);-webkit-tap-highlight-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.75rem 1.5rem;border:2px solid transparent;border-radius:999px;background-color:var(--navy-soft);color:var(--cream);font:inherit;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:600;cursor:pointer;transition:transform .12s ease,background-color .16s ease,color .16s ease}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.btn--gold{background-color:var(--gold);color:var(--navy-deep)}.btn--green{background-color:var(--green);color:var(--navy-deep)}.btn--quiet{background-color:transparent;border-color:#f6efdf47;color:var(--cream-dim)}.btn--quiet:hover{color:var(--cream);border-color:var(--cream-dim)}.btn--danger{background-color:var(--clay);color:var(--cream)}.btn--huge{width:min(100%,26rem);min-height:clamp(5rem,12vh,7rem);font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:800;letter-spacing:.01em}.btn--icon{min-height:2.75rem;width:2.75rem;padding:0;font-size:1.5rem;line-height:1;background-color:transparent;color:var(--cream-dim)}.btn--icon:hover{background-color:#c9613f33;color:var(--cream)}.btn--chip{min-height:2.75rem;padding-inline:1.1rem;background-color:#8fae8638;color:var(--cream);font-size:1rem}.btn--chip-on{background-color:var(--clay);color:var(--cream)}.home{display:flex;flex-direction:column;gap:var(--gap);min-height:100dvh;padding:clamp(1.5rem,4vw,3rem)}.home__header{text-align:center}.home__title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;letter-spacing:-.02em;color:var(--cream)}.home__subtitle{margin-top:.25rem;font-size:clamp(1rem,2vw,1.35rem);color:var(--cream-dim)}.home__cards{flex:1;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-content:center}.card{display:flex;flex-direction:column;justify-content:center;gap:.5rem;min-height:clamp(12rem,30vh,20rem);padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--radius);background-color:var(--navy-soft);color:var(--cream);text-decoration:none;transition:transform .16s ease,box-shadow .16s ease}.card:hover,.card:focus-visible{transform:translateY(-4px);box-shadow:0 14px 30px #00000047}.card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.card--gold{background-color:var(--gold);color:var(--navy-deep)}.card--green{background-color:var(--green);color:var(--navy-deep)}.card--cream{background-color:var(--cream);color:var(--navy-deep)}.card__icon{font-size:clamp(2.5rem,5vw,3.5rem);line-height:1}.card__title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800;letter-spacing:-.01em}.card__blurb{font-size:clamp(1rem,1.6vw,1.15rem);opacity:.8}.home__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.home__status{color:var(--cream-dim);font-size:1.1rem}.home__confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;color:var(--cream-dim)}.tool{display:flex;flex-direction:column;align-items:center;gap:var(--gap);min-height:100dvh;padding:clamp(1.25rem,3vw,2.5rem)}.tool__bar{position:relative;display:flex;align-items:center;justify-content:center;width:100%;gap:1rem}.tool__back{position:absolute;left:0;display:inline-flex;align-items:center;gap:.4rem;min-height:3rem;padding:.5rem 1.25rem;border-radius:999px;border:2px solid rgb(246 239 223 / .28);color:var(--cream-dim);font-size:1.1rem;font-weight:600;text-decoration:none}.tool__back:hover,.tool__back:focus-visible{color:var(--cream);border-color:var(--cream-dim)}@media(max-width:40rem){.tool__bar{justify-content:flex-start}.tool__back{position:static}.tool__heading{flex:1}}.tool__heading{text-align:center}.tool__title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:800}.tool__meta{color:var(--cream-dim);font-size:1rem}.picker{display:flex;flex:1;flex-direction:column;align-items:center;gap:var(--gap);width:min(100%,60rem)}.picker__stage{display:flex;align-items:center;justify-content:center;width:100%;min-height:clamp(9rem,28vh,18rem);padding:1rem;border-radius:var(--radius);background-color:var(--navy-soft);color:var(--cream);font-size:clamp(2.25rem,8vw,6rem);font-weight:800;letter-spacing:-.02em;text-align:center;text-wrap:balance}.picker__stage--spinning{color:var(--cream-dim);opacity:.85}.picker__stage--landed{background-color:var(--gold);color:var(--navy-deep);animation:land-bounce .62s cubic-bezier(.28,1.4,.5,1)}@keyframes land-bounce{0%{transform:scale(.94)}35%{transform:scale(1.045)}60%{transform:scale(.985)}to{transform:scale(1)}}.picker__tools,.points__tools,.timer__tools{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.roster{display:flex;flex-direction:column;gap:1rem;width:100%;padding:clamp(1rem,2.5vw,1.75rem);border-radius:var(--radius);background-color:#0f1c3199}.roster__add{display:flex;flex-direction:column;gap:.6rem}.roster__label{color:var(--cream-dim);font-size:1rem}.roster__input,.roster__name,.team__name{padding:.75rem 1rem;border:2px solid rgb(246 239 223 / .2);border-radius:14px;background-color:var(--navy-deep);color:var(--cream);font:inherit;font-size:1.1rem}.roster__input:focus-visible,.roster__name:focus-visible,.team__name:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.roster__list{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));list-style:none}.roster__row{display:flex;align-items:center;gap:.5rem}.roster__row--absent .roster__name{color:var(--cream-dim);text-decoration:line-through}.roster__name{flex:1;min-width:0}.points{display:flex;flex:1;flex-direction:column;gap:var(--gap);width:min(100%,76rem)}.points__grid{flex:1;display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));align-content:center}.team{display:flex;flex-direction:column;gap:.75rem;padding:clamp(1rem,2vw,1.5rem);border-radius:var(--radius);background-color:var(--navy-soft)}.team__head{display:flex;align-items:center;gap:.4rem}.team__name{flex:1;min-width:0;font-weight:700;text-align:center}.team__score{font-size:clamp(3.5rem,9vw,6rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;text-align:center;color:var(--gold)}.team__buttons{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.btn--score{min-height:clamp(3.5rem,9vh,5rem);font-size:clamp(2rem,4vw,2.75rem);font-weight:800;line-height:1}.btn--minus{background-color:#f6efdf1f;color:var(--cream)}.btn--plus{background-color:var(--green);color:var(--navy-deep)}.timer{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap);width:min(100%,60rem);--accent: var(--green)}.timer--warn{--accent: var(--gold)}.timer--urgent,.timer--done{--accent: var(--clay)}.timer__presets{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.btn--preset{min-width:6.5rem;border-color:#f6efdf3d;background-color:transparent;color:var(--cream-dim)}.btn--preset-on{background-color:var(--cream);border-color:var(--cream);color:var(--navy-deep)}.timer__dial{position:relative;overflow:hidden;width:100%;padding:clamp(1.5rem,5vw,3rem) 1rem;border-radius:var(--radius);background-color:var(--navy-soft);text-align:center;transition:background-color .9s ease}.timer--warn .timer__dial{background-color:#d6a53c29}.timer--urgent .timer__dial,.timer--done .timer__dial{background-color:#c9613f38}.timer__bar{position:absolute;inset:auto 0 0;height:10px;background-color:var(--accent);transform-origin:left center;transition:transform .24s linear,background-color .9s ease}.timer__clock{font-size:clamp(4.5rem,20vw,12rem);font-weight:800;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.03em;color:var(--accent);transition:color .9s ease}.timer__state{margin-top:.5rem;color:var(--cream-dim);font-size:clamp(1rem,2vw,1.35rem);text-transform:uppercase;letter-spacing:.16em}.page{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;max-width:60ch;margin-inline:auto;padding:3rem 2rem}.page h1{font-size:clamp(3rem,10vw,6rem);font-weight:800;color:var(--gold)}.page p{font-size:1.25rem;color:var(--cream-dim)}.page .btn{text-decoration:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.btn:hover:not(:disabled),.card:hover{transform:none}}
