:root{--club-ink:#192b28;--club-paper:#f0e9d3;--club-coral:#e48064;--club-violet:#b4a2d3;--club-lime:#d4e273;--club-ice:#a3c8d8;--control-radius:2px;--press-duration:.12s;--state-duration:.2s;--control-ease:cubic-bezier(.2, .7, .2, 1);--focus-ring:#2855a2;--focus-ring-on-ink:var(--club-paper);--focus-ring-width:3px;--focus-ring-offset:3px;--focus-ring-inset:-3px}:where(button,input,select,textarea){border-radius:var(--control-radius)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}:where(.primary,.secondary,.quiet,.text-button){transition:transform var(--press-duration) var(--control-ease), background-color var(--press-duration) var(--control-ease)}:where(.primary,.secondary):active:not(:disabled){transform:translateY(2px)}@media (prefers-reduced-motion:no-preference){.results:not([hidden])>*{animation:score-arrives var(--state-duration) var(--control-ease) both}@keyframes score-arrives{0%{translate:0 7px}to{translate:0}}}@media (prefers-reduced-motion:reduce){:root{--press-duration:0s;--state-duration:0s}html .primary:active,html .secondary:active{transform:none}}@font-face{font-family:Archivo Black;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/archivo-black-latin-400-normal-BTVu2TQR.woff2)format("woff2"),url(/assets/archivo-black-latin-400-normal-HW9MwEcM.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{color:#f0e9d3;--ink:var(--club-ink);--paper:var(--club-paper);--accent:#a3c8d8;--ice-deep:#3f6472;--display:"Archivo Black",sans-serif;--mono:"IBM Plex Mono",monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;background:#192b28;font-family:IBM Plex Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}[hidden]{display:none!important}h1,h2,p{margin:0}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}#curling-app{max-width:1240px;padding:0 max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left));margin:auto}header{height:90px;padding-top:env(safe-area-inset-top);border-bottom:1px solid #f0e9d344;justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{font:22px var(--display);letter-spacing:-1.4px;text-decoration:none}.brand span{color:var(--accent)}.edition,.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.5px}.quiet{min-height:44px;color:inherit;text-underline-offset:5px;background:0 0;border:0;align-items:center;padding:10px 0;font-size:12px;text-decoration:underline;display:inline-flex}.primary,.secondary,.small-primary{border:1px solid var(--paper);background:var(--paper);min-height:52px;color:var(--ink);border-radius:2px;justify-content:center;align-items:center;gap:36px;padding:14px 24px;font-weight:500;display:inline-flex}.secondary{color:var(--paper);background:0 0}.primary:active,.secondary:active{transform:translateY(1px)}.home{grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:55px 0;display:grid}.home h1{font:clamp(78px,8.5vw,125px)/.88 var(--display);letter-spacing:-.075em;margin:28px 0}.home h1 span{color:var(--accent)}.lead{font-size:24px;line-height:1.35}.description{color:#c1c8b9;max-width:400px;margin:17px 0 25px;font-size:14px;line-height:1.65}.incoming{color:var(--accent);margin:12px 0;font-size:13px;line-height:1.5}.join summary{cursor:pointer;text-underline-offset:5px;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;display:flex}.join form{gap:12px;max-width:400px;padding:12px 0;display:grid}.join label{font-size:12px}.join input{background:var(--paper);width:100%;color:var(--ink);border:1px solid #f0e9d388;padding:13px}.join .secondary{min-height:44px}.join p{color:#edb8a5;font-size:13px}.poster{background:#30433a;border:1px solid #f0e9d388;transform:rotate(1deg);box-shadow:8px 8px #0c1d194d}.poster svg{width:100%;max-height:470px;display:block}.poster-label{font:9px var(--mono);border-bottom:1px solid #f0e9d355;justify-content:space-between;padding:18px;display:flex}.poster-label:last-child{background:var(--accent);color:var(--ink);border:0}.playing header{height:58px}.playing .edition{display:none}.game{grid-template-rows:minmax(0,1fr) 16px minmax(215px,.64fr);height:calc(100dvh - 58px);max-height:900px;display:grid;overflow:hidden}.target-pane{background:#213b36;flex-direction:column;min-width:0;min-height:0;display:flex}.scoreboard{background:#1b312d;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;height:58px;padding:12px 20px;display:flex}.scoreboard strong{font:14px var(--display);letter-spacing:-.5px}.scoreboard span{font:8px var(--mono);align-items:center;gap:8px;display:flex}.scoreboard b{font:22px var(--mono)}.scoreboard b.clock-low{color:var(--club-coral)}#stones-left{align-items:center;gap:4px;min-height:22px;display:inline-flex}#stones-left i{background:var(--paper);border:1px solid var(--ink);border-radius:50%;width:9px;height:9px;display:inline-block;box-shadow:inset 0 -2px #6a827e}#stones-left i.used{opacity:.22}#sheet{flex:1;width:100%;min-height:0;display:block}#feedback{background:var(--ice-deep);color:var(--paper);text-align:center;min-height:33px;padding:8px 16px;font-size:12px}.seam{font:6px var(--mono);letter-spacing:2px;background:#12241e;place-items:center;display:grid;overflow:hidden}.control-pane{min-width:0;min-height:0;padding:14px 20px max(10px,env(safe-area-inset-bottom));color:var(--ink);background:var(--paper);flex-direction:column;display:flex}.control-heading{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.control-heading span{font:9px var(--mono);color:#3f6472;white-space:nowrap;font-variant-numeric:tabular-nums}#throw-pad{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:1;min-height:85px;position:relative;overflow:hidden}#throw-pad:active{cursor:grabbing}#throw-pad svg{width:100%;height:100%;min-height:75px;max-height:190px;display:block}#throw-pad>span{font:8px var(--mono);letter-spacing:1px;color:#536354;pointer-events:none;position:absolute;bottom:5px;left:0}#throw-pad .guide{fill:none;stroke:#192b2840;stroke-width:1.5px;stroke-dasharray:5 6}#throw-pad .pad-tee{fill:none;stroke:#192b2855;stroke-width:1.5px}#throw-pad .guide-arrow{fill:#192b2855}#throw-pad .ring-outer{fill:#a3c8d8;stroke:#192b2866;stroke-width:1px}#throw-pad .ring-mid{fill:#f0e9d3;stroke:#192b2666;stroke-width:1px}#throw-pad .ring-inner{fill:#3f6472;stroke:#192b2666;stroke-width:1px}#throw-pad .stone-body{fill:#4b615d;stroke:#192b28;stroke-width:2px}#throw-pad .stone-core{fill:#6a827e}#throw-pad .stone-handle{stroke:#3f6472;stroke-width:6px;stroke-linecap:round}#throw-pad .stone-handle-ink{stroke:#192b28;stroke-width:10px;stroke-linecap:round}#throw-pad .sweep-mark{fill:none;stroke:#192b2833;stroke-width:2px;stroke-linecap:round}#power-meter-track{fill:#192b2814;stroke:#192b2844;stroke-width:1px}#power-meter,#throw-pad[data-mode=sweep] .stone-body{fill:#3f6472}#throw-pad[data-sweep=waiting] .sweep-mark{opacity:0}#throw-pad[data-sweep=open] .sweep-mark{stroke:#192b2899;stroke-width:2.5px}#throw-pad[data-sweep=spent] .sweep-mark{stroke:#192b2866;stroke-width:2.5px;stroke-dasharray:3 4}#throw-pad[data-sweep=spent] .stone-body{fill:#4b615d}.control-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.control-footer details{flex:1}.control-footer summary{cursor:pointer;align-items:center;min-height:44px;font-size:11px;display:flex}.accessible-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.accessible-controls label{font:9px var(--mono);flex:1;min-width:85px}.accessible-controls label output{float:right}.accessible-controls input{accent-color:#3f6472;width:100%;height:28px;display:block}.handle-toggle{border:1px solid #192b2866;border-radius:2px;display:inline-flex;overflow:hidden}.handle-toggle button{min-width:44px;min-height:44px;color:var(--ink);font:11px var(--mono);background:0 0;border:0;padding:8px 10px}.handle-toggle button+button{border-left:1px solid #192b2666}.handle-toggle button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.small-primary{background:var(--ink);min-height:48px;color:var(--paper);padding:10px 18px;font-size:12px}.sweep-buttons{gap:6px;display:inline-flex}.sweep-buttons .small-primary{background:var(--ice-deep);border-color:var(--ice-deep);min-width:44px;padding-inline:14px}.micro{font:10px/1.6 var(--mono);color:#526455;margin-top:8px}.stone-strip{gap:6px;display:flex}.stone-strip span{width:24px;height:25px;font:12px/23px var(--mono);text-align:center;border-bottom:2px solid #192b2855}.stone-strip span[data-out]{color:#8c361e}.results{grid-template-columns:1fr 1fr;align-items:center;gap:70px;padding:60px 0;display:grid}.ticket{background:var(--paper);color:var(--ink);padding:32px;transform:rotate(-1deg);box-shadow:8px 8px #0e1c19;container-type:inline-size}.ticket>.eyebrow{justify-content:space-between;gap:12px;display:flex}.total{align-items:baseline;gap:16px;margin:28px 0;display:flex}.total strong{font:clamp(88px,28cqw,120px)/.95 var(--display);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.total>span{font:clamp(18px,6cqw,24px) var(--mono)}.final-house-row{border-block:1px solid #192b2826;flex-wrap:wrap;align-items:center;gap:14px 16px;padding:12px 0;display:flex}.final-stones{min-width:0;font:12px/1.6 var(--mono);flex:150px;display:block}#final-house{border:1px solid #192b2855;flex:none;width:132px;height:132px;display:block}@media (width>=701px){#final-house{width:176px;height:176px}}@media (width<=360px){.final-house-row{gap:12px;padding:8px 0}#final-house{width:88px;height:88px}.final-stones{font-size:11px;line-height:1.5}body[data-event] .result-card #record{margin:6px 0;padding-bottom:10px}body[data-event] .result-card .total>strong{font-size:58px}}#record{padding-bottom:26px;font-size:12px}#share-code{border:0;width:100%;color:var(--ink);font:18px var(--mono);background:0 0;border-bottom:1px solid #192b2855;margin:8px 0;padding:14px 0}.results h1{font:clamp(40px,5vw,70px)/1 var(--display);letter-spacing:-3px;margin:20px 0}.actions{flex-direction:column;gap:12px;margin:25px 0;display:flex}.actions .quiet{align-self:flex-start}#share-status{font-size:12px;line-height:1.6}dialog{background:var(--paper);width:min(430px,100% - 32px);color:var(--ink);border:1px solid var(--ink);border-radius:3px;padding:30px}dialog::backdrop{background:#071812ca}dialog h2{font:30px var(--display);letter-spacing:-1px}dialog p{margin:20px 0;font-size:14px;line-height:1.6}dialog .primary{background:var(--ink);width:100%;color:var(--paper)}body.book .game{grid-template-rows:1fr;grid-template-columns:minmax(0,1.2fr) 16px minmax(0,1fr)}body.book .control-pane{padding-top:24px}body.book .control-footer{display:block}body.book .stone-strip{margin-top:8px}body.book .seam{writing-mode:vertical-rl}body.book .scoreboard strong{display:none}@media (width<=700px){#curling-app{padding-inline:18px}header{height:calc(74px + env(safe-area-inset-top))}.brand{font-size:19px}.edition{display:none}.home{grid-template-columns:1fr;gap:30px;padding:34px 0}.home h1{font-size:100px}.poster{display:none}.home .primary{width:100%}.playing #curling-app{padding:0}.playing header{height:calc(55px + env(safe-area-inset-top));padding-inline:16px}.game{height:calc(100vh - 55px - env(safe-area-inset-top));height:calc(100dvh - 55px - env(safe-area-inset-top));grid-template-rows:minmax(0,1fr) 14px minmax(215px,.7fr);max-height:none}.scoreboard{height:50px;padding-inline:14px}.scoreboard strong{font-size:11px}.scoreboard b{font-size:18px}.scoreboard span{gap:5px}.control-pane{padding:12px 16px max(10px,env(safe-area-inset-bottom))}.control-heading{font-size:11px}.stone-strip{gap:3px}.stone-strip span{width:20px}.control-footer:has(details[open]){display:block}.control-footer:has(details[open]) .stone-strip{display:none}.results{grid-template-columns:1fr;gap:30px;padding:30px 0}.results h1{font-size:38px}.ticket{padding:26px}.total strong{font-size:100px}.total{margin:22px 0}.results .lead{font-size:21px}}@media (height<=580px){.playing header{height:44px}.game{grid-template-rows:minmax(0,1fr) 12px minmax(155px,.65fr);height:calc(100dvh - 44px)}.scoreboard{height:40px}.control-pane{padding-block:8px}#throw-pad,#throw-pad svg{min-height:40px}#feedback{min-height:25px;padding:5px;font-size:11px}.control-heading{font-size:10px}}@media (prefers-reduced-motion:reduce){.poster,.ticket{transform:none}}.pane-pause{min-height:44px;color:var(--ink);background:0 0;border:1px solid #192b2855;padding:8px;font-size:11px;display:none}body.segmented .pane-pause{display:block}body.playing.segmented #curling-app{max-width:none;padding:0}body.playing.segmented header{display:none}body.playing.segmented .game{height:100dvh;max-height:none;position:fixed;inset:0}body.playing .game[data-segments=stacked]{grid-template-columns:1fr;grid-template-rows:var(--first) var(--gap) var(--second)}body.playing .game[data-segments=book]{grid-template-rows:1fr;grid-template-columns:var(--first) var(--gap) var(--second)}@media (width<=600px){header{gap:10px}header .edition{display:none}}.home>*{min-width:0}.home .difficulty-select{max-width:100%}@media (width<=700px){.home h1{font-size:clamp(56px,20vw,100px)}}.control-pane{overscroll-behavior:contain;overflow-y:auto}.control-pane:has(details[open]) #throw-pad{min-height:32px}@media (height<=580px) and (width>=700px){.game:not([data-segments]){grid-template-rows:1fr;grid-template-columns:minmax(0,1.05fr) 12px minmax(0,1fr)}.game:not([data-segments]) .seam{writing-mode:vertical-rl}.game:not([data-segments]) .control-pane{padding:14px 16px max(10px,env(safe-area-inset-bottom))}.game:not([data-segments]) .scoreboard{gap:8px;padding-inline:12px}.game:not([data-segments]) .scoreboard strong{font-size:11px}.game:not([data-segments]) .scoreboard b{font-size:18px}}body.playing #throw-pad{justify-content:center;align-items:center;display:flex}body.playing #throw-pad svg{flex:none;width:min(100%,520px);height:auto;min-height:0;max-height:calc(100% - 28px)}body.playing .game:not([data-segments]){height:calc(100dvh - 55px - env(safe-area-inset-top));max-height:none}@media (width>=740px) and (aspect-ratio>=1){body.playing .game:not([data-segments]){grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) 12px clamp(280px,31vw,410px)}body.playing .game:not([data-segments]) .seam{writing-mode:vertical-rl}body.playing .game:not([data-segments]) .control-pane{padding:18px 18px max(14px,env(safe-area-inset-bottom))}body.playing .game:not([data-segments]) .control-heading{flex-wrap:wrap;gap:6px;font-size:14px;line-height:1.45}body.playing .game:not([data-segments]) #throw-pad svg{width:100%}body.playing .game:not([data-segments]) .control-footer{display:block}body.playing .game:not([data-segments]) .stone-strip{margin-top:10px}body.playing .game:not([data-segments]) .scoreboard{height:56px}}@media (width>=740px) and (aspect-ratio>=1) and (height>=640px){body.playing .game:not([data-segments]) .control-pane:not(:has(details[open])) #throw-pad{min-height:200px}}
