:root{--ink: #17202b;--ink-2: #222e3c;--sea: #173d59;--sea-2: #287d9d;--foam: #b6d5cb;--cream: #f3eee4;--gold: #f2b544;--sand: #dcc28a;--green: #a7c76a;--fairway: #779f45;--red: #e0533d;--eur: #3a78f0;--aus: #e8b21e;--aus-green: #2f7d3a;--pixel: "Silkscreen", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs: clamp(11px, 3.4vmin, 18px);--gap: clamp(6px, 1.8vmin, 14px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--ink);color:var(--cream);font-family:var(--pixel);font-size:var(--fs);overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}button{font:inherit;color:inherit}[hidden]{display:none!important}img.pixel{image-rendering:pixelated}#app{position:fixed;inset:0;overflow:hidden}#stage{position:absolute;container-type:size;background:var(--sea);touch-action:none}#course{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}#hud{position:absolute;inset:0;pointer-events:none;font-size:3.6cqh}#hud>*{position:absolute;transition:opacity .15s}#hud button{pointer-events:auto;cursor:pointer}.hud-box{background:#17202bd1;border:.45cqh solid var(--ink);box-shadow:0 0 0 .35cqh #f3eee48c inset;border-radius:1cqh}.chip{left:1.6cqh;top:1.6cqh;display:flex;align-items:center;gap:1.2cqh;padding:.8cqh 1.6cqh .8cqh .8cqh;max-width:46cqw}.chip .face{width:9cqh;height:9cqh;border-radius:.8cqh;object-fit:cover;background:var(--sea-2);border:.35cqh solid var(--cream)}.chip .who{font-size:4cqh;line-height:1.05;white-space:nowrap}.chip .meta{font-size:2.9cqh;opacity:.85;white-space:nowrap;margin-top:.4cqh}.chip .mods{font-size:2.5cqh;color:var(--gold);white-space:nowrap}.team-EUR{color:#9cc0ff}.team-AUS{color:var(--aus)}.holeinfo{left:50%;top:1.6cqh;transform:translate(-50%);text-align:center;padding:.8cqh 2cqh;white-space:nowrap}.holeinfo .name{font-size:3.6cqh}.holeinfo .sub{font-size:2.7cqh;opacity:.85;margin-top:.3cqh}.topright{right:1.6cqh;top:1.6cqh;display:flex;gap:1.2cqh;align-items:stretch}.wind{display:flex;align-items:center;gap:1cqh;padding:.8cqh 1.4cqh;font-size:3cqh}.wind .arrow{width:6cqh;height:6cqh;display:grid;place-items:center}.wind .arrow svg{width:100%;height:100%}.iconbtn{min-width:10cqh;min-height:10cqh;padding:0 1.4cqh;background:#17202bd1;border:.45cqh solid var(--ink);box-shadow:0 0 0 .35cqh #f3eee48c inset;border-radius:1cqh;font-size:3.4cqh;display:grid;place-items:center}.clubs{left:1.6cqh;bottom:1.6cqh;display:flex;gap:1cqh}.club{width:11.5cqh;height:12.5cqh;border-radius:1cqh;background:var(--cream);color:var(--ink);border:.45cqh solid var(--ink);box-shadow:0 .7cqh 0 var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.club b{font-size:4.6cqh}.club small{font-size:2.2cqh;margin-top:.6cqh}.club[aria-pressed=true]{background:var(--gold);transform:translateY(.4cqh);box-shadow:0 .3cqh 0 var(--ink)}.club:disabled{opacity:.35;cursor:not-allowed}.powerup{right:1.6cqh;bottom:1.6cqh;max-width:40cqw;min-height:12.5cqh;padding:.8cqh 2cqh .8cqh 1.6cqh;border-radius:1cqh;background:var(--sea-2);color:var(--cream);border:.45cqh solid var(--ink);box-shadow:0 .7cqh 0 var(--ink);display:flex;align-items:center;gap:1.4cqh;text-align:left}.powerup .dot{width:3cqh;height:3cqh;border-radius:50%;background:var(--gold);box-shadow:0 0 0 .4cqh var(--ink);flex:none}.powerup .label{font-size:3cqh;line-height:1.1}.powerup .label small{display:block;font-size:2.3cqh;opacity:.8}.powerup[aria-pressed=true]{background:var(--gold);color:var(--ink)}.powerup:disabled{opacity:.45;cursor:not-allowed}.powerup:disabled .dot{background:transparent;box-shadow:0 0 0 .4cqh var(--cream)}.readout{left:50%;bottom:2cqh;transform:translate(-50%);padding:1cqh 2cqh;text-align:center;min-width:30cqw}.readout .big{font-size:4.4cqh;white-space:nowrap}.readout .bar{height:1.6cqh;margin-top:.8cqh;background:#ffffff26;border-radius:1cqh;overflow:hidden}.readout .bar i{display:block;height:100%;width:0}.readout .notes{font-size:2.5cqh;color:var(--gold);margin-top:.6cqh;white-space:nowrap}.banner{left:50%;top:15cqh;transform:translate(-50%);padding:.8cqh 2.4cqh;font-size:3.2cqh;white-space:nowrap}.bubble{left:1.6cqh;top:15cqh;max-width:44cqw;padding:1.2cqh 1.8cqh;background:var(--cream);color:var(--ink);border:.45cqh solid var(--ink);border-radius:1.4cqh;font-family:var(--body);font-weight:700;font-size:3.6cqh;line-height:1.2;pointer-events:auto;cursor:pointer}.bubble:before{content:"";position:absolute;left:4cqh;top:-2.2cqh;border:1.2cqh solid transparent;border-bottom-color:var(--ink)}.bubble .from{display:block;font-family:var(--pixel);font-weight:400;font-size:2.5cqh;opacity:.7;margin-bottom:.3cqh}.callout{left:50%;top:42%;transform:translate(-50%,-50%);font-size:8cqh;color:var(--cream);text-shadow:.6cqh .6cqh 0 var(--ink),-.3cqh -.3cqh 0 var(--ink);white-space:nowrap;text-align:center}.callout small{display:block;font-size:3.6cqh;margin-top:1cqh}.callout.pop{animation:pop .35s ease-out}@keyframes pop{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.hint{left:50%;bottom:17cqh;transform:translate(-50%);font-size:2.9cqh;padding:.6cqh 1.6cqh;white-space:nowrap;opacity:.9}#screens{position:absolute;inset:0;pointer-events:none}.screen{position:absolute;inset:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;justify-content:safe center;padding:max(var(--gap),env(safe-area-inset-top)) max(var(--gap),env(safe-area-inset-right)) max(var(--gap),env(safe-area-inset-bottom)) max(var(--gap),env(safe-area-inset-left));background:var(--sea) center / cover no-repeat;overflow-y:auto}.screen.dim:before{content:"";position:fixed;inset:0;background:#17202b8c;pointer-events:none}.screen.overlay{background:#17202b9e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.screen>*{position:relative}.panel{background:#17202be6;border:3px solid var(--ink);box-shadow:0 0 0 2px #f3eee499 inset,6px 6px #00000059;border-radius:10px;padding:calc(var(--gap) * 1.4)}h1,h2,h3{font-weight:400;margin:0;line-height:1.05}.title-logo{font-size:clamp(24px,8.5vmin,64px);text-align:center;color:var(--cream);text-shadow:4px 4px 0 var(--ink),-2px -2px 0 var(--ink),2px -2px 0 var(--ink),-2px 2px 0 var(--ink)}.title-logo .gold{color:var(--gold)}.title-sub{font-size:clamp(12px,3.8vmin,24px);text-align:center;margin-top:.4em;text-shadow:2px 2px 0 var(--ink)}.series{font-family:var(--body);font-weight:700;font-size:clamp(12px,3.4vmin,18px);text-align:center;margin:.9em auto 0;max-width:34em;text-shadow:1px 1px 0 var(--ink);background:#17202bb3;padding:.5em .9em;border-radius:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:44px;padding:.55em 1.2em;border-radius:8px;background:var(--gold);color:var(--ink);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);cursor:pointer;font-size:1em;text-decoration:none;white-space:nowrap}.btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}.btn.big{font-size:1.4em;padding:.5em 1.6em}.btn.alt{background:var(--cream)}.btn.ghost{background:#17202bbf;color:var(--cream);border-color:var(--cream);box-shadow:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.club:focus-visible,.powerup:focus-visible,.iconbtn:focus-visible,.card:focus-visible,.gcard:focus-visible{outline:3px solid #fff;outline-offset:2px}.row{display:flex;gap:var(--gap);align-items:center;justify-content:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:var(--gap);align-items:center}.corner{position:absolute!important;top:max(var(--gap),env(safe-area-inset-top));right:max(var(--gap),env(safe-area-inset-right));display:flex;gap:6px}.corner-left{position:absolute!important;top:max(var(--gap),env(safe-area-inset-top));left:max(var(--gap),env(safe-area-inset-left))}.toggle{min-height:40px;padding:.4em .8em;font-size:.8em;border-radius:8px;background:#17202bcc;color:var(--cream);border:2px solid var(--cream);cursor:pointer}.toggle[aria-pressed=true]{background:var(--cream);color:var(--ink)}.screen-head{text-align:center;margin-bottom:var(--gap)}.screen-head h2{font-size:1.6em;text-shadow:3px 3px 0 var(--ink)}.screen-head p{margin:.3em 0 0;font-family:var(--body);font-weight:600;text-shadow:1px 1px 0 var(--ink)}.modes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap);width:min(1100px,100%)}.card{display:flex;flex-direction:column;align-items:flex-start;gap:.4em;text-align:left;padding:.9em .8em;min-height:9em;border-radius:10px;cursor:pointer;background:#17202be6;border:3px solid var(--ink);box-shadow:0 0 0 2px #f3eee499 inset,0 5px 0 var(--ink)}.card:hover{background:#287d9deb}.card .ic{font-size:1.6em;line-height:1}.card h3{font-size:1.05em;color:var(--gold)}.card p{margin:0;font-family:var(--body);font-weight:600;font-size:.85em;line-height:1.25}.card .best{font-size:.7em;opacity:.8;margin-top:auto}@media(max-width:760px),(max-height:420px){.modes{grid-template-columns:repeat(3,minmax(0,1fr))}.card{min-height:0;padding:.6em}}.select-wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:var(--gap);width:min(1100px,100%);align-items:stretch}.teams{display:flex;flex-direction:column;gap:var(--gap)}.team-row h3{font-size:.85em;margin-bottom:.3em}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:calc(var(--gap) * .7)}.gcard{position:relative;padding:0;border-radius:8px;cursor:pointer;overflow:hidden;background:linear-gradient(180deg,#287d9de6,#173d59f2);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);aspect-ratio:3 / 3.2;display:flex;flex-direction:column;justify-content:flex-end}.gcard img{position:absolute;inset:0;width:100%;height:135%;object-fit:cover;object-position:50% 0}.gcard .nm{position:relative;background:#17202be0;padding:.25em .2em;text-align:center;font-size:.85em}.gcard.EUR{box-shadow:0 4px 0 var(--ink),0 0 0 2px var(--eur) inset}.gcard.AUS{box-shadow:0 4px 0 var(--ink),0 0 0 2px var(--aus) inset}.gcard[aria-pressed=true]{outline:3px solid var(--gold);outline-offset:1px;transform:translateY(-2px)}.gcard.taken{opacity:.35;cursor:not-allowed}.gcard .tag{position:absolute;top:4px;left:4px;font-size:.6em;background:var(--gold);color:var(--ink);padding:2px 4px;border-radius:4px}.detail{display:flex;flex-direction:column;gap:.5em;min-width:0}.detail .top{display:flex;gap:.8em;align-items:center}.detail .top img{width:4.2em;height:4.2em;border-radius:8px;object-fit:cover;border:2px solid var(--cream);background:var(--sea-2)}.detail h3{font-size:1.3em}.detail .teamlbl{font-size:.8em}.detail .tagline{font-family:var(--body);font-weight:600;font-size:.85em;margin:0;opacity:.9}.stats{display:grid;grid-template-columns:auto 1fr auto;gap:.25em .6em;align-items:center;font-size:.85em}.stats .bar{height:.7em;background:#ffffff26;border-radius:4px;overflow:hidden}.stats .bar i{display:block;height:100%;background:var(--gold)}.trait{font-family:var(--body);font-size:.85em;line-height:1.25;margin:0}.trait b{font-family:var(--pixel);font-weight:400;color:var(--gold);display:block;font-size:.95em}.trait.quirk b{color:#ff9c8a}.detail .actions{margin-top:auto;display:flex;gap:.6em;flex-wrap:wrap}@media(max-height:430px){.gcard{aspect-ratio:3 / 2.6}.detail .top img{width:3.2em;height:3.2em}.stats,.trait{font-size:.78em}}@media(max-width:640px)and (orientation:portrait){.select-wrap{grid-template-columns:1fr}}.intro{text-align:center;max-width:34em}.intro .holeno{font-size:.85em;opacity:.85}.intro h2{font-size:2em;color:var(--gold);margin:.15em 0;text-shadow:3px 3px 0 var(--ink)}.intro .facts{display:flex;gap:1.2em;justify-content:center;margin:.5em 0;flex-wrap:wrap}.intro .narr{font-family:var(--body);font-weight:600;margin:.4em 0 .8em}.intro .vs{display:flex;align-items:center;justify-content:center;gap:.8em;margin:.4em 0}.intro .vs img{width:3.6em;height:3.6em;border-radius:8px;object-fit:cover;border:2px solid var(--cream);background:var(--sea-2)}.quote{font-family:var(--body);font-weight:700;font-style:italic;margin:.4em 0}.result{width:min(760px,100%);display:flex;flex-direction:column;gap:.6em}@media(max-height:430px){.result{gap:.35em;padding:.7em 1em}.result h2{font-size:1.25em}.trophy{width:3.2em}.scorecard th,.scorecard td{padding:.2em .35em}.share-pre{max-height:4.6em}}.result h2{font-size:1.5em;text-align:center;color:var(--gold)}.result .lead{text-align:center;font-family:var(--body);font-weight:700;margin:0}.scorecard{width:100%;border-collapse:collapse;font-size:.85em}.scorecard th,.scorecard td{padding:.35em .4em;text-align:center;border-bottom:1px solid rgba(243,238,228,.2)}.scorecard th:first-child,.scorecard td:first-child{text-align:left}.scorecard td.sub{color:var(--gold)}.scorecard tr.me td{background:#f2b5441f}.scorecard .u{color:#8fe08f}.scorecard .o{color:#ff9c8a}.share-pre{font-family:var(--body);font-size:.8em;white-space:pre-wrap;background:#0000004d;padding:.6em .8em;border-radius:6px;margin:0;max-height:7em;overflow:auto;user-select:text;-webkit-user-select:text}.trophy{width:5em;image-rendering:pixelated;display:block;margin:0 auto}.pass{text-align:center}.pass img{width:6em;height:6em;border-radius:10px;object-fit:cover;border:3px solid var(--cream);background:var(--sea-2)}.pass h2{font-size:1.6em;color:var(--gold);margin:.3em 0}.seats{display:flex;gap:.5em;flex-wrap:wrap;justify-content:center}.seat{min-width:44px;min-height:44px}.ladder{display:flex;gap:.35em;justify-content:center;flex-wrap:wrap;margin:.4em 0}.ladder img{width:2.4em;height:2.4em;border-radius:6px;object-fit:cover;border:2px solid var(--cream);background:var(--sea-2)}.ladder .beat{opacity:.35;filter:grayscale(1)}.ladder .now{outline:3px solid var(--gold)}#toast{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);background:var(--cream);color:var(--ink);padding:.5em 1em;border-radius:8px;border:3px solid var(--ink);opacity:0;pointer-events:none;transition:opacity .2s;z-index:30;white-space:nowrap}#toast.show{opacity:1}#rotate{display:none;position:absolute;inset:0;z-index:50;background:var(--sea);flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;font-size:16px;line-height:1.5}.rotate-icon{width:56px;height:90px;border:4px solid var(--cream);border-radius:10px;margin-bottom:20px;animation:tilt 1.8s ease-in-out infinite}@keyframes tilt{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}@media(orientation:portrait)and (pointer:coarse)and (max-width:900px){#rotate{display:flex}}@media(prefers-reduced-motion:reduce){.rotate-icon,.callout.pop{animation:none}}.reduced .rotate-icon,.reduced .callout.pop{animation:none}
