@font-face{font-family:'Press Start 2P';src:url('/fonts/PressStart2P-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
:root{--ink:#143e31;--green:#245843;--pink:#ff9fae;--yellow:#ffe376;--cream:#fff9e7;--muted:#566b5c;--line:#cdd7b9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px 'DM Sans',system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--ink);border-radius:7px;min-height:46px;padding:10px 16px;color:var(--ink);background:transparent;font-weight:700}button:hover{background:#e8efda}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e03d77;outline-offset:3px}button:disabled{opacity:.45;cursor:wait}a{color:inherit}header{max-width:1040px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}header a{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 12px 'Space Mono',monospace;letter-spacing:.5px}header small{font-size:9px;font-weight:400}.clubmark{border:2px solid;display:flex;align-items:center;font-size:20px;height:46px;padding:5px;gap:4px}.clubmark span{font-size:22px}#sound{border:0;font:12px 'Space Mono',monospace}main{max-width:960px;margin:auto;padding:28px 24px 115px}.eyebrow{font:700 11px 'Space Mono',monospace;letter-spacing:2px;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;align-items:center;padding:35px 0 40px}.hero h1{font-size:clamp(45px,7vw,72px);line-height:.96;letter-spacing:-4px;margin:17px 0 22px;font-weight:700}.hero h1 span{color:#d34d73}.hero p{line-height:1.6;max-width:350px;color:var(--muted)}.scene{width:100%;border:2px solid var(--ink);background:var(--pink);box-shadow:8px 8px 0 var(--yellow);image-rendering:pixelated}.primary{background:var(--ink);color:var(--cream);border:0}.primary:hover{background:#34684b}.secondary{background:var(--yellow)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:32px 0 14px}h2{font-size:25px;letter-spacing:-.8px;margin:0}h3{margin:0 0 14px}p{line-height:1.5}.round-card{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;padding:19px;border:1px solid var(--line);background:white;margin:10px 0;border-radius:8px}.round-card strong{display:block;font-size:17px}.round-card small{display:block;color:var(--muted);font-weight:400;margin-top:6px}.round-card .arrow{font-size:25px}.empty{border:1px dashed var(--line);padding:26px;text-align:center;color:var(--muted)}.setup{max-width:560px;margin:20px auto}.setup h1{font-size:38px;margin:15px 0}.setup label{display:block;margin:20px 0 7px;font-weight:700;font-size:14px}.setup input,.setup select{background:white;border:1px solid var(--line);border-radius:6px;padding:13px;width:100%;min-height:48px}.setup .player-input{display:flex;align-items:center;gap:14px;margin:10px 0}.player-input span{font:12px 'Space Mono',monospace;color:var(--muted)}.fine{font-size:13px;color:var(--muted);line-height:1.6}.round-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.round-top h1{font-size:29px;margin:10px 0 0;letter-spacing:-1px}.round-top button{font-size:13px;padding:8px 12px}.sync{font:11px 'Space Mono',monospace;display:flex;align-items:center;gap:7px;margin:16px 0 25px}.dot{height:7px;width:7px;background:#378153;border-radius:50%}.sync.warn .dot{background:#d24a46}.hole-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 18px;background:var(--yellow);border:1px solid var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:8px;margin:0 0 23px}.hole-nav h2{font-size:29px}.hole-nav .eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:4px}.hole-nav button{border:0;font-size:24px;padding:4px 13px}.hole-nav .middle{text-align:center}.progress{display:flex;justify-content:center;gap:6px;margin:12px 0}.progress button{padding:0;border:1px solid var(--line);border-radius:50%;width:25px;height:25px;min-height:25px;font-size:10px;background:var(--cream)}.progress button.current{background:var(--ink);color:white;border-color:var(--ink)}.progress button.complete{background:var(--green);color:white}.hole-status{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin:15px 0}.player-row{display:grid;grid-template-columns:1fr auto;align-items:center;background:white;border:1px solid var(--line);border-radius:8px;margin:10px 0;padding:15px 16px;gap:8px}.player-name{font-size:17px;font-weight:700;display:flex;gap:10px;align-items:center}.avatar{font:700 12px 'Space Mono',monospace;display:grid;place-items:center;background:#dbe8c9;width:31px;height:31px;border-radius:50%;flex-shrink:0}.row-meta{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted);margin:9px 0 0 41px}.bonus-open{border:0;padding:0;min-height:30px;font-size:12px;color:#a7315a;text-decoration:underline}.stepper{display:flex;gap:3px;align-items:center}.stepper button{border:0;background:#f0f3e6;width:40px;padding:3px;font-size:23px}.stepper input{font:700 29px 'Space Mono',monospace;border:0;width:51px;background:white;color:var(--ink);text-align:center;height:46px;padding:0}.stepper input::-webkit-inner-spin-button{appearance:none}.stepper input::placeholder{color:#afbaa6}.tabs{position:fixed;bottom:0;left:0;right:0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;gap:5px;justify-content:center;background:var(--ink);z-index:3}.tabs button{color:#d6e6c7;border:0;min-width:105px;font-size:12px}.tabs button.active{background:var(--yellow);color:var(--ink)}.board-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:22px 16px;background:white;border:1px solid var(--line);border-radius:7px;margin:9px 0}.board-row:first-child{background:var(--pink);border-color:var(--ink)}.rank{font:24px 'Space Mono',monospace}.points{font:700 28px 'Space Mono',monospace;text-align:right}.points small{display:block;font-size:9px;font-weight:400}.board-row .fine{margin-top:3px;font-size:11px}.table-wrap{overflow:auto;margin-top:20px;border:1px solid var(--line);border-radius:6px;background:white}table{border-collapse:collapse;min-width:100%;font-size:13px}th,td{padding:15px 12px;text-align:center;border-bottom:1px solid #e4e9dc;white-space:nowrap}th:first-child,td:first-child{position:sticky;left:0;background:white;text-align:left;min-width:100px}th{font-size:11px}td small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.rules{background:#e9eedb;border-radius:8px;padding:22px;margin-top:24px}.rules summary{font-weight:700;cursor:pointer}.rules p{font-size:13px}#notice{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;max-width:90vw;width:max-content;padding:12px 20px;border-radius:7px;z-index:10;display:none}dialog{border:1px solid var(--ink);border-radius:12px;background:var(--cream);color:var(--ink);width:calc(100% - 32px);max-width:440px;padding:25px;box-shadow:8px 8px 0 var(--pink)}dialog::backdrop{background:#143e3177}dialog h2{font-size:25px;margin-bottom:6px}dialog .toggle{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.toggle input{width:24px;height:24px;accent-color:var(--ink)}.toggle small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.dialog-actions{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}.error{background:#ffddd9;padding:18px;border-radius:7px}.help-link{border:0;text-decoration:underline;font-size:13px;padding:5px}.intro-foot{font:10px 'Space Mono',monospace;text-align:center;color:var(--muted);margin-top:35px;letter-spacing:1px}@media(max-width:600px){header{padding:17px 18px}main{padding:22px 18px 110px}.hero{grid-template-columns:1fr;padding:14px 0 26px;gap:26px}.hero h1{font-size:58px;letter-spacing:-3px}.hero p{font-size:14px}.scene{max-height:230px}.hero .actions button{flex:1}.round-top h1{font-size:25px}.row-meta{margin-left:0;gap:9px}.player-row{padding:13px 12px}.player-name{font-size:15px;gap:8px}.stepper button{width:34px}.stepper input{width:43px;font-size:26px}.hole-nav{padding:17px 10px}.hero .eyebrow{font-size:10px}.tabs button{min-width:0;flex:1;max-width:180px}.intro-foot{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
button{min-height:48px}.stepper button{width:48px;min-height:56px}.stepper input{width:56px;height:56px;font-family:'DM Sans',system-ui,sans-serif;font-variant-numeric:tabular-nums}#choose-hole{font-size:28px;border:0;font-weight:700;padding:0 12px;min-height:48px}.hole-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.bonus-open{min-height:36px}.help-link{min-height:48px}.hole-status{gap:12px;align-items:flex-start}.hole-status span:first-child{max-width:70%}.hole-status span:last-child{text-align:right}.toggle input:not([type=checkbox]){width:100%;height:48px;border:1px solid var(--line);padding:10px;border-radius:6px;color:var(--ink)}@media(max-width:600px){.stepper button{width:40px;min-height:56px}.stepper input{width:48px}.player-row{padding:10px}.round-top button{font-size:14px}.hole-nav{margin-bottom:22px}.hole-nav .eyebrow{font-size:8px;letter-spacing:.5px}.player-name{font-size:16px}.tabs button{font-size:14px;min-height:48px}}
@media(max-width:600px){.stepper button{width:48px}.bonus-open{min-height:48px}.row-meta{margin-top:0}.hole-nav button{min-width:48px}.player-row{min-height:90px}.hole-nav button:disabled{cursor:default}}

.preview-banner{background:#ffe376;color:#143e31;text-align:center;padding:8px 12px;font:11px system-ui,sans-serif;letter-spacing:.4px;border-bottom:1px solid #143e31;}
/* Original 8-bit golf cartridge skin. */

:root{--ink:#123f2d;--green:#237047;--pink:#ff88b1;--yellow:#ffe66b;--cream:#f4f2d0;--muted:#36563b;--line:#123f2d;--pixel:'Press Start 2P','Space Mono',monospace}body{background:#237047;background-image:linear-gradient(90deg,transparent 96%,#2d7b4c 96%),linear-gradient(transparent 96%,#2d7b4c 96%);background-size:32px 32px;font-family:'Space Mono',monospace;color:var(--ink)}header{background:var(--pink);border:4px solid var(--ink);border-bottom:0;max-width:1016px;padding:18px 24px;box-shadow:8px 0 0 #103a29;margin-top:24px}header a{font-family:var(--pixel);font-size:10px;line-height:1.8;letter-spacing:0}header small{font-size:7px}.clubmark{background:var(--yellow);font-family:var(--pixel);font-size:17px;padding:10px;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);height:48px}.clubmark span{font-size:18px;color:#237047}#sound{border:2px solid var(--ink);background:var(--yellow);font:9px var(--pixel);padding:10px;min-width:90px}main{max-width:1016px;padding:26px 32px 125px;background:var(--cream);border:4px solid var(--ink);border-top:0;box-shadow:8px 8px 0 #103a29;min-height:calc(100vh - 150px)}.preview-banner{background:var(--yellow);border-bottom:3px solid var(--ink);font-family:'Space Mono',monospace;font-size:10px;line-height:1.6}.hero{padding:28px 0 36px;grid-template-columns:1fr 1fr;gap:34px}.eyebrow{font-family:var(--pixel);font-size:8px;letter-spacing:0;line-height:1.9}.hero h1{font-family:var(--pixel);font-size:31px;line-height:1.6;letter-spacing:-1px;margin:20px 0;color:var(--ink);text-shadow:3px 3px 0 #ced581}.hero h1 span{color:#b12e64;text-shadow:3px 3px 0 var(--pink)}.hero p{font-size:13px;line-height:1.9;font-weight:700}.scene{border:4px solid var(--ink);box-shadow:7px 7px 0 var(--yellow),11px 11px 0 var(--ink);border-radius:0;background:var(--pink)}button{border:3px solid var(--ink);border-radius:0;background:var(--cream);box-shadow:3px 3px 0 var(--ink);font-family:var(--pixel);font-size:9px;line-height:1.7;padding:12px 14px;transition:none}button:hover{background:var(--pink)}button:active{box-shadow:none;transform:translate(3px,3px)}button:disabled{opacity:.45;box-shadow:none}.primary{border:3px solid var(--ink);background:var(--pink);color:var(--ink)}.primary:hover{background:#ffb2c9}.secondary{background:var(--yellow)}.actions{gap:14px}.hero .actions{flex-direction:column;align-items:flex-start}.hero .actions button{min-width:260px;text-align:center}h2,h3{font-family:var(--pixel);font-size:17px;line-height:1.7;letter-spacing:0}.section-head{border-top:4px solid var(--ink);padding-top:25px;margin-top:18px}.round-card{border:3px solid var(--ink);background:#dae596;border-radius:0;box-shadow:4px 4px 0 var(--ink);margin:15px 0;font-family:'Space Mono',monospace;padding:18px}.round-card:hover{background:var(--yellow)}.round-card strong{font-family:var(--pixel);font-size:11px;line-height:1.9}.round-card small{font-family:'Space Mono',monospace;font-size:12px;line-height:1.6}.empty{border:3px dashed var(--ink);background:#e7e9ac;color:var(--ink);font-size:12px;line-height:1.8;padding:25px}.intro-foot{font-family:var(--pixel);font-size:7px;line-height:2.3;letter-spacing:0}.setup h1{font-family:var(--pixel);font-size:25px;line-height:1.7;letter-spacing:-1px}.setup input,.setup select{border:3px solid var(--ink);border-radius:0;background:#fffbe6;font-family:'Space Mono',monospace;box-shadow:3px 3px 0 #c8d183}.setup label{font:10px var(--pixel);line-height:1.7}.fine{font-size:12px;line-height:1.8;color:var(--muted)}.round-top{border:3px solid var(--ink);padding:20px;background:var(--pink);box-shadow:5px 5px 0 var(--ink);align-items:center}.round-top h1{font-family:var(--pixel);font-size:19px;line-height:1.6;letter-spacing:0;margin-top:12px}.round-top .eyebrow{font-size:7px}.round-top button{font-size:8px;background:var(--yellow)}.sync{font-family:var(--pixel);font-size:8px;line-height:1.8;background:#d9e89d;border:2px solid var(--ink);padding:10px 13px;margin:15px 0 18px}.dot{border-radius:0;background:#237047;width:8px;height:8px;box-shadow:2px 2px 0 var(--ink)}.hole-nav{border:3px solid var(--ink);border-radius:0;background:var(--yellow);box-shadow:5px 5px 0 var(--ink);padding:15px;margin-bottom:25px}.hole-nav button{background:transparent;border:0;box-shadow:none;font-family:var(--pixel);font-size:25px;min-width:48px}.hole-nav #choose-hole{font-family:var(--pixel);font-size:23px;line-height:1.6}.hole-nav .eyebrow{font-size:7px;letter-spacing:0}.hole-status{font-size:11px;font-weight:700;line-height:1.7;margin:15px 0}.player-row{background:#fffbe6;border:3px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 #c6cf7e;margin:12px 0;padding:12px 16px;min-height:95px}.player-name{font-family:var(--pixel);font-size:12px;line-height:1.6;gap:12px}.avatar{font-family:var(--pixel);font-size:13px;background:var(--pink);border:2px solid var(--ink);border-radius:0;width:34px;height:34px}.row-meta{font-family:'Space Mono',monospace;font-weight:700;font-size:11px;margin:5px 0 0 46px}.bonus-open{box-shadow:none;border:0;font-family:'Space Mono',monospace;font-size:12px;text-decoration:none;background:var(--yellow);padding:6px 9px;min-height:34px;color:var(--ink)}.bonus-open:hover{background:var(--pink)}.stepper{gap:6px}.stepper button{background:#d8e69c;border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);font-family:var(--pixel);font-size:19px;width:48px;height:56px;min-height:56px;padding:4px}.stepper input{font-family:'Space Mono',monospace;font-size:31px;line-height:1;border:2px solid var(--ink);background:var(--yellow);width:64px;height:56px;font-variant-numeric:tabular-nums}.stepper input::placeholder{color:#617540}.tabs{border-top:4px solid var(--ink);background:#237047;gap:14px;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.tabs button{background:#154b31;border:2px solid var(--cream);color:var(--cream);border-radius:0;font:9px var(--pixel);min-height:50px;max-width:220px;width:220px;padding:10px;box-shadow:3px 3px 0 #103a29}.tabs button.active{background:var(--yellow);color:var(--ink);border-color:var(--ink)}.board-row{border:3px solid var(--ink);border-radius:0;background:#fffbe6;box-shadow:4px 4px 0 #c6cf7e;font-family:var(--pixel);font-size:11px;line-height:1.8;padding:20px 16px}.board-row:first-child{background:var(--yellow);box-shadow:4px 4px 0 var(--pink)}.rank,.points{font-family:var(--pixel);font-size:24px;line-height:1.7}.points small{font-size:7px}.board-row .fine{font-family:'Space Mono',monospace;font-size:11px}.table-wrap{border:3px solid var(--ink);border-radius:0;box-shadow:4px 4px 0 #c6cf7e}.table-wrap th{background:var(--yellow);font-family:var(--pixel);font-size:8px;line-height:1.8}.table-wrap td{font-family:'Space Mono',monospace;font-weight:700}.rules{border:3px solid var(--ink);border-radius:0;background:#d8e69c;box-shadow:4px 4px 0 #c6cf7e;padding:18px}.rules summary{font-family:var(--pixel);font-size:9px;line-height:1.9}.rules p{font-size:12px;line-height:1.8}.help-link{font-family:'Space Mono',monospace;font-size:12px;box-shadow:none;padding:5px 8px}.error{border:3px solid var(--ink);border-radius:0;background:var(--pink)}dialog{background:var(--cream);border:4px solid var(--ink);border-radius:0;box-shadow:8px 8px 0 var(--pink),12px 12px 0 var(--ink);padding:24px}dialog h2{font-size:17px;line-height:1.9}dialog p{font-size:12px;line-height:1.9}.toggle{font-size:13px;font-weight:700;border-bottom:2px solid var(--ink)}.toggle input{border-radius:0}.dialog-actions{gap:12px}.hole-grid button{background:var(--yellow);font-size:10px;min-height:64px}.hole-grid{gap:13px}#notice{border:3px solid var(--cream);border-radius:0;background:var(--ink);font-family:'Space Mono',monospace;font-size:12px;box-shadow:4px 4px 0 var(--pink)}.round-mascot{width:110px;flex-shrink:0;margin:0 15px}.round-mascot .scene{box-shadow:3px 3px 0 var(--yellow);border-width:2px}
@media(max-width:600px){header{margin:0;border-width:3px;padding:14px 16px;box-shadow:none}header a{font-size:8px;gap:9px}header small{font-size:6px}.clubmark{font-size:13px;height:43px;padding:6px}.clubmark span{font-size:15px}#sound{min-width:74px;font-size:7px;padding:8px}main{border-width:3px;padding:20px 14px 120px;box-shadow:none;min-height:calc(100vh - 100px)}.hero{grid-template-columns:1fr;gap:27px;padding:10px 0 25px}.hero h1{font-size:29px;line-height:1.55;letter-spacing:-1px;margin:16px 0}.hero p{font-size:12px;margin-bottom:20px}.hero .eyebrow{font-size:7px;line-height:1.9}.hero .actions{flex-direction:row;align-items:stretch;margin-top:15px;gap:10px}.hero .actions button{min-width:0;flex:1;font-size:8px;padding:12px 8px}.scene{max-height:none;box-shadow:4px 4px 0 var(--yellow),7px 7px 0 var(--ink)}h2{font-size:14px;line-height:1.8}.section-head .eyebrow{font-size:6px}.intro-foot{font-size:6px}.round-top{padding:13px 10px;gap:6px;box-shadow:3px 3px 0 var(--ink)}.round-top h1{font-size:14px;line-height:1.8;margin-top:7px}.round-top .eyebrow{font-size:6px;line-height:1.9}.round-top button{font-size:7px;padding:8px;min-width:72px}.round-mascot{display:none}.sync{font-size:7px;padding:9px;gap:6px;margin:13px 0 15px}.hole-nav{padding:12px 6px;margin-bottom:20px;box-shadow:3px 3px 0 var(--ink)}.hole-nav .eyebrow{font-size:5px;line-height:1.9}.hole-nav #choose-hole{font-size:20px;line-height:1.5;padding:2px 7px}.hole-nav button{font-size:20px;padding:0;min-width:48px;min-height:48px}.hole-status{font-size:10px;line-height:1.7;margin:12px 0}.player-row{min-height:91px;padding:10px 8px;margin:11px 0;gap:6px}.player-name{font-family:'Space Mono',monospace;font-size:14px;font-weight:700;gap:7px;line-height:1.3}.avatar{width:27px;height:27px;font-size:10px;flex-shrink:0}.row-meta{margin:4px 0 0 0;gap:7px;font-size:10px}.bonus-open{font-size:10px;min-height:40px;padding:5px}.stepper{gap:4px}.stepper button{width:44px;font-size:17px;min-height:56px;height:56px}.stepper input{width:49px;height:56px;font-size:28px}.tabs{gap:8px;padding-left:12px;padding-right:12px}.tabs button{font-size:7px;min-height:52px;line-height:1.8;padding:8px 5px;width:auto}.setup h1{font-size:22px}.setup input{font-size:16px}.board-row{font-family:'Space Mono',monospace;font-size:14px}.rank,.points{font-size:20px}.rules summary{font-size:8px}.rules p{font-size:11px}.fine{font-size:11px}.help-link{font-size:11px}.dialog-actions button{font-size:8px}dialog h2{font-size:15px}.preview-banner{font-size:8px;padding:6px 9px}}

/* Portrait mobile golf game, including on wider preview surfaces. */
html{min-height:100%;background:#245843;}body{max-width:430px;margin:0 auto;min-height:100svh;background:none;position:relative;isolation:isolate;overflow-x:hidden;}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-color:#ffa7b3;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20430%20932%22%20preserveAspectRatio%3D%22xMidYMid%20slice%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20width%3D%22430%22%20height%3D%22932%22%20fill%3D%22%23ffa7b3%22%2F%3E%3Cpath%20d%3D%22M0%20284h430v200H0z%22%20fill%3D%22%23ffc897%22%2F%3E%3Cpath%20d%3D%22M30%2093h27V80h49v13h26v13H30zM291%20202h23v-12h44v12h37v12H291z%22%20fill%3D%22%23ffd2b5%22%2F%3E%3Crect%20x%3D%22307%22%20y%3D%2235%22%20width%3D%2273%22%20height%3D%2273%22%20fill%3D%22%23ffe376%22%2F%3E%3Cg%20transform%3D%22translate%280%20380%29%20scale%281.26470588%29%22%3E%3Crect%20width%3D%22340%22%20height%3D%22260%22%20fill%3D%22%23ffa7b3%22%2F%3E%3Crect%20y%3D%2296%22%20width%3D%22340%22%20height%3D%2265%22%20fill%3D%22%23ffc897%22%2F%3E%3Crect%20x%3D%22234%22%20y%3D%2230%22%20width%3D%2255%22%20height%3D%2255%22%20fill%3D%22%23ffe376%22%2F%3E%3Cpath%20d%3D%22M0%20151h38v-12h49v12h52v-18h76v13h62v-8h63v122H0%22%20fill%3D%22%2377975e%22%2F%3E%3Cpath%20d%3D%22M0%20187h42v-12h83v10h65v-12h98v13h52v74H0%22%20fill%3D%22%23a7bc71%22%2F%3E%3Cpath%20d%3D%22M0%20217h80v-9h65v9h82v-10h113v53H0%22%20fill%3D%22%23d9d995%22%2F%3E%3Cpath%20d%3D%22M75%20183V79h11v104zM68%2085V68h7v17zM79%2073V57h8v16z%22%20fill%3D%22%235b5c37%22%2F%3E%3Cpath%20d%3D%22M78%2063H51V52H29V41h37v11h20V33h11V17h11v36H96v14h29v-9h27v11h-25v10H94v-8H79V88H65V75H46V65z%22%20fill%3D%22%23245843%22%2F%3E%3Cpath%20d%3D%22M61%2042h13v9H61zM98%2032h9v21h-9zM114%2060h22v7h-22z%22%20fill%3D%22%23417957%22%2F%3E%3Cpath%20d%3D%22M217%20198v-23h8v23h-8v18h-7v-18zM235%20181h8v22h-8v14h15v7h-23v-28h8z%22%20fill%3D%22%23e35c8b%22%2F%3E%3Cpath%20d%3D%22M195%20144h51v10h9v19h-12v11h-47v-10h-9v-20h8zM237%20145v-20h-10v-25h8V81h12v-8h15v8h8v15h-17v-9h-10v19h-7v13h11v26z%22%20fill%3D%22%23f767a0%22%2F%3E%3Cpath%20d%3D%22M260%2091h24v9h-24z%22%20fill%3D%22%23ffe376%22%2F%3E%3Crect%20x%3D%22278%22%20y%3D%2296%22%20width%3D%2210%22%20height%3D%228%22%20fill%3D%22%23153e32%22%2F%3E%3Crect%20x%3D%22253%22%20y%3D%2283%22%20width%3D%224%22%20height%3D%224%22%20fill%3D%22%23143e31%22%2F%3E%3Crect%20x%3D%22210%22%20y%3D%22156%22%20width%3D%2230%22%20height%3D%228%22%20fill%3D%22%23ffa4bd%22%2F%3E%3Crect%20x%3D%22287%22%20y%3D%2295%22%20width%3D%2211%22%20height%3D%2211%22%20fill%3D%22%23fff9e7%22%2F%3E%3Crect%20x%3D%22290%22%20y%3D%2299%22%20width%3D%222%22%20height%3D%222%22%20fill%3D%22%23bdc9b2%22%2F%3E%3Cpath%20d%3D%22M123%20217h44v4h-44zM276%20225h38v4h-38%22%20fill%3D%22%2377975e%22%2F%3E%3Cpath%20d%3D%22M141%20157v35h4v-35z%22%20fill%3D%22%23143e31%22%2F%3E%3Cpath%20d%3D%22M145%20157h23v15h-23z%22%20fill%3D%22%23ffe376%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M0%20708h78v-14h96v18h100v-12h75v16h81v216H0z%22%20fill%3D%22%23a7bc71%22%2F%3E%3Cpath%20d%3D%22M0%20774h53v-14h75v14h98v-11h106v16h98v153H0z%22%20fill%3D%22%23d9d995%22%2F%3E%3Cpath%20d%3D%22M32%20855h41v5H32zM184%20812h44v5h-44zM320%20880h59v5h-59%22%20fill%3D%22%2377975e%22%2F%3E%3C%2Fsvg%3E");background-position:center;background-size:auto 100svh;background-repeat:no-repeat;image-rendering:pixelated;}
header{max-width:430px;margin:0;border:0;border-bottom:3px solid var(--ink);padding:calc(12px + env(safe-area-inset-top)) 14px 12px;background:rgba(255,136,177,.94);box-shadow:none;gap:8px;}
header a{font-size:8px;line-height:1.8;gap:8px;}header small{font-size:6px;}.clubmark{font-size:12px;height:42px;padding:6px;}.clubmark span{font-size:13px;}#sound{font-size:7px;min-width:72px;min-height:48px;padding:8px;}
main{width:100%;max-width:430px;min-height:calc(100svh - 112px);padding:18px 12px calc(110px + env(safe-area-inset-bottom));border:0;background:transparent;box-shadow:none;}
.hero{display:block;padding:0 0 14px;}.hero>div{background:rgba(244,242,208,.93);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:22px 17px;}.hero>.scene,.round-mascot{display:none;}
.hero .eyebrow{font-size:7px;line-height:1.9;}.hero h1{font-family:var(--pixel);font-size:clamp(23px,7.2vw,30px);line-height:1.65;letter-spacing:-1px;margin:15px 0;}.hero p{font-size:13px;line-height:1.8;margin:12px 0 18px;}.hero .actions{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px;}.hero .actions button{width:100%;min-width:0;font-size:10px;min-height:56px;padding:13px;}
h2{font-size:14px;line-height:1.8;}.section-head{border:3px solid var(--ink);background:rgba(255,230,107,.95);padding:12px;margin:15px 0 12px;gap:8px;}.section-head .eyebrow{font-size:6px;line-height:1.8;}.round-card{padding:15px 12px;background:rgba(244,242,208,.96);}.round-card strong{font-size:10px;line-height:1.9;}.round-card small{font-size:12px;line-height:1.6;}.empty{background:rgba(244,242,208,.94);}.intro-foot{background:rgba(244,242,208,.94);padding:12px;border:2px solid var(--ink);font-size:6px;line-height:2.2;margin-top:20px;}
.setup{margin:0;background:rgba(244,242,208,.97);padding:16px 14px;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);}.setup h1{font-size:20px;line-height:1.8;margin:16px 0;}.setup input,.setup select{font-size:16px;min-height:52px;}.setup label{font-size:10px;line-height:1.8;}.setup .player-input{gap:8px;}.setup button[type=submit]{min-height:56px;font-size:9px;}.setup .help-link{min-height:48px;}
.round-top{padding:12px 10px;gap:7px;border:3px solid var(--ink);background:rgba(255,136,177,.97);box-shadow:3px 3px 0 var(--ink);}.round-top>div:first-child{min-width:0;}.round-top h1{font-size:13px;line-height:1.75;margin-top:7px;}.round-top .eyebrow{font-size:6px;line-height:1.9;}.round-top button{font-size:7px;min-width:72px;min-height:48px;padding:8px;}
.sync{background:rgba(217,232,157,.97);font-size:7px;padding:9px;line-height:1.8;margin:12px 0 14px;}.hole-nav{padding:10px 5px;box-shadow:3px 3px 0 var(--ink);margin-bottom:18px;background:rgba(255,230,107,.97);}.hole-nav .eyebrow{font-size:5px;line-height:1.9;}.hole-nav #choose-hole{font-size:19px;line-height:1.5;padding:2px 6px;}.hole-nav button{font-size:20px;min-width:48px;min-height:52px;padding:0;}.hole-status{background:rgba(244,242,208,.94);padding:8px;border:2px solid var(--ink);font-size:10px;line-height:1.6;margin:10px 0;gap:7px;}
.player-row{min-height:96px;background:rgba(255,251,230,.97);padding:9px 8px;margin:11px 0;gap:5px;grid-template-columns:minmax(0,1fr) auto;}.player-row>div:first-child{min-width:0;}.player-name{font-family:'Space Mono',monospace;font-size:14px;font-weight:700;line-height:1.25;gap:6px;}.name-text{min-width:0;overflow-wrap:anywhere;}.avatar{width:26px;height:26px;font-size:10px;}.row-meta{margin:3px 0 0;gap:6px;font-size:10px;}.bonus-open{min-height:48px;font-size:10px;padding:5px 6px;}.stepper{gap:4px;}.stepper button{width:48px;height:56px;min-height:56px;font-size:16px;}.stepper input{width:48px;height:56px;font-size:28px;font-family:'Space Mono',monospace;}
.tabs{width:100%;max-width:430px;left:50%;right:auto;transform:translateX(-50%);gap:7px;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:rgba(35,112,71,.98);}.tabs button{min-width:0;width:auto;flex:1;font-size:7px;line-height:1.8;min-height:52px;padding:8px 4px;}.tabs button:active{transform:translate(2px,2px);}
main>h2,main>p.fine{background:rgba(244,242,208,.96);padding:12px;border:2px solid var(--ink);}.board-row{font-family:'Space Mono',monospace;font-size:14px;background:rgba(255,251,230,.97);padding:16px 12px;grid-template-columns:32px minmax(0,1fr) auto;gap:8px;}.board-row strong{overflow-wrap:anywhere;}.rank,.points{font-size:20px;}.board-row .fine{font-size:11px;}.table-wrap{background:rgba(255,251,230,.98);}.rules{background:rgba(216,230,156,.97);padding:15px;}.rules summary{font-size:8px;min-height:48px;display:flex;align-items:center;}.rules p{font-size:12px;line-height:1.8;}.actions:not(.hero .actions){gap:9px;}.help-link{font-size:12px;min-height:48px;background:rgba(244,242,208,.94);}.fine{font-size:12px;line-height:1.7;}
dialog{width:calc(100% - 24px);max-width:406px;max-height:85svh;overflow:auto;padding:20px 16px;margin:auto auto calc(12px + env(safe-area-inset-bottom));}dialog h2{font-size:15px;line-height:1.8;}dialog .toggle{min-height:64px;}.toggle input[type=checkbox]{width:28px;height:28px;}.dialog-actions button{font-size:8px;min-height:52px;}.hole-grid button{min-height:72px;font-size:9px;}.hole-grid{gap:12px;}#notice{max-width:calc(100% - 24px);width:max-content;bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px;}
.preview-banner{max-width:430px;background:rgba(255,230,107,.97);font-size:8px;line-height:1.8;padding:6px 8px;}
@media(max-width:350px){main{padding-left:9px;padding-right:9px;}.player-name{font-size:13px;}.stepper{gap:3px;}.row-meta{gap:4px;font-size:9px;}.bonus-open{font-size:9px;padding:5px;}.player-row{padding-left:6px;padding-right:6px;}.round-top h1{font-size:11px;}header a{font-size:7px;}.clubmark{font-size:10px;}.hero>div{padding:19px 14px;}.hero .eyebrow{font-size:6px;}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

/* Camp tropical detail shared by every screen. */
.brand-flamingo{width:29px;height:38px;overflow:visible;flex-shrink:0;image-rendering:pixelated;}.clubmark{height:48px;padding:4px 7px;gap:5px;background:#ffe66b;}.hero{padding-bottom:120px;}.hero>div{background:rgba(244,242,208,.90);}.hero h1 span{color:#b32c68;}.section-head{background:rgba(255,136,177,.97);}.round-card{box-shadow:4px 4px 0 #b32c68;}.board-row:first-child{background:#ff9dc1;box-shadow:4px 4px 0 #ffe66b;}.round-top{background:rgba(255,136,177,.95);}@media(max-width:350px){.brand-flamingo{width:25px;height:35px;}.hero{padding-bottom:110px;}}
.brand-flamingo{overflow:hidden;}
.pixel-icon{width:24px;height:24px;display:inline-block;vertical-align:middle;flex-shrink:0;image-rendering:pixelated}.earned-icons{display:inline-flex;gap:2px}.earned-icons .pixel-icon{width:18px;height:18px}.row-meta{flex-wrap:wrap;gap:4px}.round-game-controls{position:fixed;z-index:3;left:50%;transform:translateX(-50%);bottom:calc(80px + env(safe-area-inset-bottom));width:100%;max-width:430px;display:flex;gap:10px;padding:10px 12px;background:rgba(244,242,208,.98);border-top:3px solid var(--ink)}.round-game-controls button{flex:1;min-height:56px;font-size:8px;padding:8px;line-height:1.8}.round-game-controls small{display:block;font:8px 'Space Mono',monospace}.round-game-controls button:disabled{background:#d7d8bf;cursor:default;opacity:.7}.tabs{min-height:80px}main{padding-bottom:calc(195px + env(safe-area-inset-bottom))}#notice{bottom:calc(165px + env(safe-area-inset-bottom))}.bonus-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}.bonus-types button{display:flex;flex-direction:column;align-items:center;gap:9px;font:11px 'Space Mono',monospace;padding:10px 4px;min-height:90px}.bonus-types .pixel-icon{width:36px;height:36px}.bonus-types button.selected{background:var(--pink);outline:2px solid var(--ink);outline-offset:2px}.nominee-list{display:grid;gap:10px;margin:16px 0}.nominee-list button{display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;font:700 14px 'Space Mono',monospace;min-height:56px;background:var(--yellow)}.nominee-list small{font-size:11px;font-weight:400}.nominee-list button:disabled{background:#d7d8bf;opacity:.8;cursor:default}.toggle .pixel-icon{margin-right:7px}.row-meta .bonus-open{min-height:48px}

/* Authoritative Desktop/golf.png reference: native UI over separate scene art. */
:root{--ink:#251333;--pink:#ff168f;--yellow:#fff16c;--pixel:'Press Start 2P',monospace}
body{color:var(--ink);background:#251333}body::before{background-image:url('/tropical-golf-reference-v2.jpg');background-position:center top;background-size:430px 100svh;background-repeat:repeat-y}header{background:transparent;border:0;padding:8px 12px;position:relative}header a{font-size:6px;background:#fff16c;padding:4px 8px;border:2px solid var(--ink)}header .clubmark,header small{display:none}header #sound{background:#fff16c;color:var(--ink);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);min-height:44px}main{padding-top:4px}h1,h2,.player-name,.stepper input,.leaderboard-table{font-family:var(--pixel)}button{border-color:var(--ink)}button.primary,.stepper button,.bonus-open{background:var(--pink);color:#fff16c;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}
body[data-screen=home] header{position:absolute;z-index:2;top:calc(100svh - 91px);right:8px;width:62px;padding:0}body[data-screen=home] header a{display:none}body[data-screen=home] #sound{width:56px;min-width:0;min-height:64px;font-size:7px}body[data-screen=home] main{padding:0 14px 24px}.hero{height:100svh;min-height:670px;padding:80px 0 22px;position:relative}.hero>div{border:0;box-shadow:none;padding:0;background:none;text-align:center}.hero .eyebrow{font-size:12px;text-shadow:1px 1px #ff89ae;letter-spacing:1px}.hero h1{font-size:clamp(31px,9.2vw,42px);line-height:1.38;letter-spacing:-2px;color:#fff16c;margin:18px 0 0;text-shadow:4px 0 var(--ink),-4px 0 var(--ink),0 4px var(--ink),0 -4px var(--ink),5px 5px var(--ink),-3px -3px var(--ink)}.hero .actions{position:absolute;bottom:65px;left:0;right:70px;display:block;margin:0}.hero .actions #new{font-size:clamp(14px,4.2vw,19px);min-height:68px;padding:12px 3px;border:4px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.hero #history-jump{position:absolute;top:90px;left:0;width:calc(100% + 70px);font-size:8px;min-height:32px;background:#fff16c}.section-head,.round-card,.empty,.error,.intro-foot{background:#fff16c;border-color:var(--ink)}
.round-top{background:transparent;border:0;box-shadow:none;padding:2px 0;align-items:center}.round-top h1{display:none}.round-top .eyebrow{font:9px monospace;font-weight:700;background:#fff16c;padding:5px}.round-top button{background:#fff16c;font-size:7px;min-height:40px}.sync{background:#fff16c;margin:6px 0 9px;font-size:7px;padding:6px}.hole-nav{background:none;border:0;box-shadow:none;padding:3px 0;margin:0}.hole-nav .eyebrow{display:none}.hole-nav #choose-hole{font-family:var(--pixel);font-size:clamp(16px,5.1vw,23px);color:#fff16c;background:none;border:0;box-shadow:none;text-shadow:2px 2px var(--ink),-2px -2px var(--ink),2px -2px var(--ink),-2px 2px var(--ink)}.hole-nav>button{background:#ff168f;color:#fff16c;min-width:36px;min-height:44px;font-size:24px;padding:0}.hole-status{background:#fff16c;font:10px monospace;font-weight:700;padding:5px;margin:7px 0}.player-row{background:#fff16c;border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);min-height:90px;padding:9px;margin:10px 0;gap:4px}.player-name{font-size:clamp(13px,4.1vw,18px);line-height:1.5}.row-meta{display:flex;flex-wrap:wrap;gap:3px;align-items:center;margin-top:3px}.row-meta>span:first-child{font:9px monospace;font-weight:700}.row-meta .bonus-open{min-height:36px;font-family:var(--pixel);font-size:7px;padding:5px;color:#fff16c}.stepper{display:grid;grid-template-columns:46px 48px 46px;grid-template-rows:17px 50px;gap:4px}.stroke-label{grid-column:1/-1;text-align:center;font:8px var(--pixel)}.stepper button{width:46px;height:50px;min-height:50px;font-size:19px;padding:0}.stepper input{width:48px;height:50px;font-size:29px;background:transparent;border:0;box-shadow:none;color:var(--ink);padding:0;text-align:center}.round-game-controls{background:#251333;border-color:#ff168f;gap:8px;padding:8px 10px}.round-game-controls button{min-height:48px;font-size:7px}.round-game-controls .secondary{background:#fff16c}.tabs{background:#251333;gap:0;border-top:3px solid #ff168f;padding:4px 8px calc(8px + env(safe-area-inset-bottom))}.tabs button{background:transparent;color:#ffe0ec;box-shadow:none;border:0;border-right:1px solid #694167;font:9px monospace;font-weight:700;min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.tabs button.active{background:#ff168f;color:#fff16c}.nav-symbol{font-family:monospace;font-size:27px;line-height:1}.tabs button:last-child{border-right:0}
main>.leaderboard-title{font-size:clamp(19px,5.9vw,26px);text-align:center;background:transparent;border:0;padding:8px 0;color:#fff16c;text-shadow:3px 3px var(--ink),-2px -2px var(--ink),2px -2px var(--ink),-2px 2px var(--ink);margin:8px 0}.leaderboard-subtitle{font:11px var(--pixel);text-align:center;color:#fff8df;text-shadow:2px 2px var(--ink);margin:6px}.trophy-art{text-align:center;margin:12px}.trophy-art .pixel-icon{width:44px;height:44px}.leaderboard-table-wrap{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff16c;overflow:auto;margin-top:12px}.leaderboard-table{width:100%;border-collapse:collapse;font-size:11px;margin:0;min-width:0}.leaderboard-table th,.leaderboard-table td{border:1px solid var(--ink);padding:13px 5px;text-align:center}.leaderboard-table tbody th{text-align:left;font-size:12px;overflow-wrap:anywhere;max-width:125px}.leaderboard-table tbody td:first-child{background:#ffb8d4;width:30px}.leaderboard-table thead th{font-size:8px;padding:12px 4px}.leaderboard-note{text-align:center;font:700 12px monospace;line-height:1.6;background:#ff91ba;margin:12px 25px;padding:6px}.rules{background:#fff16c;border-color:var(--ink)}dialog,.setup{background:#fff16c;border:4px solid var(--ink)}dialog::backdrop{background:#251333aa}.preview-banner{font:9px monospace;padding:3px;text-align:center;background:#fff16c}body:has(.preview-banner) .hero{height:calc(100svh - 18px)}
@media(max-width:350px){body::before{background-size:350px 100svh}.hero{padding-top:65px}.hero h1{letter-spacing:-2px}.player-row{padding:7px 5px}.stepper{grid-template-columns:44px 44px 44px;gap:3px}.stepper button,.stepper input{width:44px}.player-name{font-size:12px}.row-meta .bonus-open{font-size:6px}.leaderboard-table tbody th{font-size:10px}.leaderboard-table{font-size:10px}.round-game-controls button{font-size:6px}}
body[data-screen=scores] header,body[data-screen=leaderboard] header,body[data-screen=scorecard] header{position:absolute;z-index:2;top:18px;right:8px;width:62px;padding:0}body[data-screen=scores] header a,body[data-screen=leaderboard] header a,body[data-screen=scorecard] header a{display:none}body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) #sound{min-width:58px;width:58px;min-height:40px;font-size:6px;padding:4px}body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) .round-top button{margin-right:67px;min-width:58px;width:58px;min-height:40px;padding:4px;font-size:6px}body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) .round-top{min-height:48px}.row-meta .bonus-open{min-height:44px}.trophy-art .pixel-icon{width:50px;height:50px}body[data-screen=leaderboard] .rules{margin-top:180px}body[data-screen=scores] .rules{margin-top:110px}.leaderboard-table thead th:first-child{background:#fff16c}
.hero h1{font-size:clamp(44px,14vw,60px);line-height:1.27;letter-spacing:-2px}.hero .eyebrow{font-size:13px}.hole-nav #choose-hole{font-size:clamp(18px,6.1vw,26px)}

/* Keep phone navigation above the hosting badge, with the badge visible. */
.tabs{bottom:60px}.round-game-controls{bottom:calc(140px + env(safe-area-inset-bottom))}body[data-screen=round] main{padding-bottom:230px}

.running-standings{margin:25px 0;padding:12px 0}.running-standings h2{background:#fff16c;padding:14px 10px;font-size:13px;line-height:1.7;border:3px solid var(--ink)}.running-standings .fine{background:#fff16c;padding:8px}.actions .finish-round{width:100%;min-height:68px;font-size:14px;padding:18px;border:4px solid var(--ink);background:#ff168f;color:#fff16c;box-shadow:4px 4px 0 var(--ink)}body[data-screen=scores] main{padding-bottom:240px}.vertical-scorecard th,.vertical-scorecard td{min-width:85px;text-align:center}.vertical-scorecard thead th{white-space:normal;overflow-wrap:anywhere;max-width:150px}.vertical-scorecard tfoot{background:#fff16c;font-weight:bold}.vertical-scorecard thead th:first-child,.vertical-scorecard tbody th,.vertical-scorecard tfoot th{position:sticky;left:0;background:#fff16c;z-index:1}

body[data-screen=home]::before{background-image:url('/tropical-golf-clear-v2.jpg')}.welcome-animation{position:absolute;inset:0;pointer-events:none;overflow:hidden;background:none!important}.hero h1,.hero .eyebrow{position:relative;z-index:1}.sun-shimmer{position:absolute;top:43%;left:53%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,#fff9a866,transparent 70%);box-shadow:0 0 28px 12px #fff36c55;animation:sun-shimmer 3s ease-in-out infinite}.sun-spark{position:absolute;color:#fffbc3;font-size:24px;animation:sun-spark 3s steps(4) infinite}.sun-spark-a{top:46%;left:58%}.sun-spark-b{top:53%;left:72%;animation-delay:1.5s}.flamingo-walk{position:absolute;left:0;bottom:130px;width:170px;height:250px;animation:flamingo-walk 10s ease-in-out infinite;--travel:clamp(90px,calc(100vw - 210px),190px)}.flamingo-facing{width:100%;height:100%;animation:flamingo-face 10s steps(1,end) infinite}.flamingo-bob{position:relative;width:100%;height:100%;animation:flamingo-bob .45s steps(2) infinite}.flamingo-body{position:absolute;inset:0;width:170px;height:250px;object-fit:fill;clip-path:inset(0 0 45% 0);image-rendering:pixelated}.trotting-legs{position:absolute;inset:0;width:170px;height:250px}.trot-leg{transform-origin:94px 135px;animation:trot-leg .45s steps(2,end) infinite alternate}.trot-leg-b{animation-delay:-.45s}.tossed-ball{position:absolute;left:145px;top:37px;width:13px;height:13px;border-radius:50%;border:2px solid #251333;background:#fff8ed;box-shadow:inset -3px -3px #d4d5e5;animation:toss-ball 2.5s linear infinite}.hero .actions{z-index:2}@keyframes sun-shimmer{50%{opacity:.35;transform:scale(1.2)}}@keyframes sun-spark{0%,100%{opacity:.2;transform:scale(.6)}50%{opacity:1;transform:scale(1)}}@keyframes flamingo-walk{0%,100%{transform:translateX(0)}50%{transform:translateX(var(--travel))}}@keyframes flamingo-face{0%,100%{transform:scaleX(1)}50%{transform:scaleX(-1)}}@keyframes flamingo-bob{50%{transform:translateY(-4px)}}@keyframes trot-leg{from{transform:translate(0,0)}to{transform:translate(-8px,-4px)}}@keyframes toss-ball{0%,15%,65%,100%{transform:translate(0,0)}25%{transform:translate(8px,-48px)}35%{transform:translate(13px,-78px)}40%{transform:translate(14px,-82px)}45%{transform:translate(13px,-78px)}55%{transform:translate(8px,-48px)}}@media(prefers-reduced-motion:reduce){.welcome-animation *{animation:none!important}}

/* Keep GPU work on transform/opacity; pause motion when the page is hidden. */
.welcome-animation{contain:layout paint}.flamingo-body{pointer-events:none}.sun-shimmer{box-shadow:none}body.motion-paused .welcome-animation *{animation-play-state:paused!important}

/* Preserve the scene aspect ratio so the painted sun remains circular. */
body::before{background-size:cover!important;background-repeat:no-repeat}.sun-shimmer{top:42svh;left:calc(50% - 5svh);width:18svh;height:18svh}

/* Whole scene visible, with a native circular sun unaffected by image stretching. */
body[data-screen=home]::before{background-image:url('/tropical-golf-clean-v3.jpg');background-size:100% 100%!important;background-position:center top}
.welcome-animation{visibility:hidden}.welcome-animation.ready{visibility:visible}.welcome-animation:not(.ready) *{animation-play-state:paused!important}
.round-sun{position:absolute;left:57%;top:50%;width:clamp(80px,28vw,120px);aspect-ratio:1;border-radius:50%;background:#fff16c;transform:translate(-50%,-50%);box-shadow:0 0 18px #ffe67d99}
.sun-shimmer{left:57%;top:50%;width:clamp(90px,31vw,135px);height:auto;aspect-ratio:1;transform:translate(-50%,-50%)}
.golf-hole{position:absolute;left:73%;top:66%;width:58px;height:70px;overflow:visible}.cup-rim,.cup-opening{shape-rendering:geometricPrecision}
.flamingo-walk{left:0;bottom:130px;animation:none}.flamingo-facing{animation:none}.flamingo-bob{animation:flamingo-bob .6s steps(2) infinite}.trot-leg{animation:none}
.tossed-ball{left:0;top:0;animation:ball-to-hole 4s linear infinite;transform-origin:center}
@keyframes ball-to-hole{0%,15%{transform:translate(var(--beak-x,151px),var(--beak-y,450px)) scale(1);opacity:1}30%{transform:translate(calc((var(--beak-x,151px) + var(--hole-x,280px))/2),calc(var(--beak-y,450px) - 80px)) scale(.85);opacity:1}50%{transform:translate(calc(var(--hole-x,280px) - 6px),calc(var(--hole-y,615px) - 8px)) scale(.55);opacity:1}57%{transform:translate(calc(var(--hole-x,280px) - 6px),var(--hole-y,615px)) scale(.2);opacity:0}58%,90%{opacity:0;transform:translate(var(--beak-x,151px),var(--beak-y,450px)) scale(1)}100%{opacity:1;transform:translate(var(--beak-x,151px),var(--beak-y,450px)) scale(1)}}
@keyframes sun-shimmer{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(1)}50%{opacity:.3;transform:translate(-50%,-50%) scale(1.15)}}
@media(prefers-reduced-motion:reduce){.welcome-animation *{animation:none!important}.tossed-ball{transform:translate(var(--beak-x),var(--beak-y))}}

/* Walk, pause to throw, turn, and return; all share a sixteen-second clock. */
.welcome-animation{--walk-distance:clamp(32px,12vw,56px)}
.flamingo-walk{animation:walk-and-throw 16s linear infinite}.flamingo-facing{animation:walk-facing 16s steps(1,end) infinite}.trot-leg{animation:trot-leg .5s steps(2,end) infinite alternate}.trot-leg-b{animation-delay:-.5s}.tossed-ball{animation:walking-ball-to-hole 16s linear infinite}
@keyframes walk-and-throw{0%,100%{transform:translateX(0)}35%,65%{transform:translateX(var(--walk-distance))}95%{transform:translateX(0)}}
@keyframes walk-facing{0%,100%{transform:scaleX(1)}65%{transform:scaleX(-1)}95%{transform:scaleX(1)}}
@keyframes walking-ball-to-hole{0%{transform:translate(var(--beak-x),var(--beak-y)) scale(1);opacity:1}35%{transform:translate(calc(var(--beak-x) + var(--walk-distance)),var(--beak-y)) scale(1);opacity:1}45%{transform:translate(calc((var(--beak-x) + var(--walk-distance) + var(--hole-x))/2),calc(var(--beak-y) - 80px)) scale(.85);opacity:1}55%{transform:translate(calc(var(--hole-x) - 6px),calc(var(--hole-y) - 8px)) scale(.55);opacity:1}58%{transform:translate(calc(var(--hole-x) - 6px),var(--hole-y)) scale(.2);opacity:0}59%,95%{opacity:0;transform:translate(var(--beak-x),var(--beak-y)) scale(1)}100%{opacity:1;transform:translate(var(--beak-x),var(--beak-y)) scale(1)}}
.round-sun{width:clamp(100px,18svh,170px);height:auto;top:50.5%;background:none;border-radius:0;box-shadow:none;image-rendering:pixelated}.sun-shimmer{width:clamp(110px,20svh,185px);opacity:.45}.cup-rim,.cup-opening{shape-rendering:crispEdges}

/* Larger music controls and the new clubhouse tagline. */
#sound{min-width:108px;min-height:56px;font-size:10px;padding:8px}
body[data-screen=home] header{top:calc(max(100svh,670px) - 133px);right:14px;width:108px}
body[data-screen=home] #sound{width:108px;min-height:68px;font-size:10px;padding:8px}
.hero .actions{right:120px}.hero .actions #new{font-size:clamp(12px,3.8vw,18px)}
.hero #history-jump{width:calc(100% + 120px)}
.hero .hero-tagline{position:relative;z-index:1;max-width:none;margin:14px 0 0;font:8px var(--pixel);line-height:1.8;color:#fff16c;text-shadow:2px 2px var(--ink),-1px -1px var(--ink)}
.studio-credit{margin:28px 0 0;padding:14px 8px;background:#fff16c;border:2px solid var(--ink);text-align:center;font:8px var(--pixel);line-height:2;color:var(--ink)}
.studio-credit a{display:block;padding:8px 0;min-height:44px;text-underline-offset:4px}
body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) header{width:112px}
body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) #sound{width:106px;min-width:106px;min-height:52px;font-size:9px;padding:8px}
body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) .round-top button{margin-right:120px;width:70px;min-width:70px;min-height:52px;font-size:8px}
body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) .round-top{min-height:64px}

.round-course{margin:8px 0;font:10px var(--pixel);line-height:1.8;overflow-wrap:anywhere}.round-top>div:first-child{min-width:0}.course-name{font-weight:700}

#course::placeholder{color:#757575;opacity:1}

.setup #course,.setup #date{width:100%;max-width:100%;min-width:0;height:56px;box-sizing:border-box;text-align:left}.setup #date{-webkit-appearance:none;appearance:none;display:block}.setup #date::-webkit-date-and-time-value{text-align:left}.setup #date::-webkit-datetime-edit{padding:0;text-align:left}

/* One cartridge-style typeface, with electric blue lettering throughout. */
:root{--electric-blue:#005dff}
body,body *{font-family:var(--pixel)!important;color:var(--electric-blue)!important}
body{font-size:11px;line-height:1.9}
p,.fine,.rules p,.round-card small{font-size:9px;line-height:2}
.setup input{font-size:16px}.setup select,.setup option{font-size:11px;line-height:1.8}
.setup input::placeholder{font-family:var(--pixel);font-size:10px;color:var(--electric-blue);opacity:.65}
.setup #course::placeholder{color:#757575;opacity:1;font-size:10px}
.setup .eyebrow{font-size:8px;line-height:2;letter-spacing:0}
.round-top .eyebrow,.sync{font-size:7px;line-height:1.8}
.hole-status,.row-meta>span:first-child{font-size:7px;line-height:1.8}
.player-name{overflow-wrap:anywhere;min-width:0}
.leaderboard-table tbody th{font-size:10px}.leaderboard-table td{font-size:9px}
.tabs button,.round-game-controls button{background:#fff16c}
.tabs button.active{background:#ff9fae}
#notice{background:#fff16c;border:3px solid var(--ink)}
@media(max-width:350px){.setup select,.setup option{font-size:9px}.setup h1{font-size:18px}.player-name{font-size:11px}}

/* Restore the original welcome lettering while keeping blue on other screens. */
.hero .eyebrow{color:var(--ink)!important}
.hero h1,.hero .hero-tagline,.hero #new{color:#fff16c!important}
.install-card{margin:28px 0;padding:18px 14px;background:#fff16c;border:3px solid var(--ink);text-align:center}
.install-card h2{font-size:12px}.install-card button{width:100%;font-size:9px;line-height:1.8}
#install-help h2{font-size:14px;line-height:1.8}#install-help p{font-size:10px;line-height:2}
@media(display-mode:standalone){#install-card{display:none}header{padding-top:calc(8px + env(safe-area-inset-top))}}

/* Install shortcut stays visible in the first welcome-screen view. */
.hero #history-jump,.hero .home-install{position:absolute;top:82px;width:calc((100% + 120px - 8px)/2);min-height:44px;background:#fff16c;font-size:8px;padding:6px 2px;line-height:1.8}
.hero #history-jump{left:0}.hero .home-install{left:calc((100% + 120px + 8px)/2)}
.hero.app-installed #history-jump{width:calc(100% + 120px)}
.hero .home-install[hidden]{display:none}
@media(display-mode:standalone){.hero .home-install{display:none}.hero #history-jump{width:calc(100% + 120px)}}

body:has(.preview-banner) .hero #history-jump,body:has(.preview-banner) .hero .home-install{top:64px}

/* A deliberate GO GOLF tap starts sound and the clubhouse together. */
body[data-screen=entry]::before{background-image:url('/tropical-golf-clean-v3.jpg');background-size:100% 100%!important}
body[data-screen=entry] header{display:none}body[data-screen=entry] main{padding:0 20px}
.entry-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:32px 0}
.entry-screen img{border:4px solid var(--ink);box-shadow:6px 6px 0 var(--ink);image-rendering:pixelated}
.entry-screen h1{font-size:clamp(16px,5vw,24px);line-height:1.8;color:#fff16c!important;text-shadow:3px 3px var(--ink);max-width:340px;margin:0}
.entry-screen #go-golf{width:100%;max-width:380px;min-height:108px;font-size:clamp(24px,7vw,32px);color:#fff16c!important;border:5px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}
.entry-screen p{font-size:9px;background:#fff16c;padding:10px;margin:0}
.hero .actions #install-shortcut{width:calc((100% + 120px - 8px)/2);min-width:0;min-height:44px;height:44px;padding:6px 2px;font-size:8px;line-height:1.8;top:82px}
body:has(.preview-banner) .hero .actions #install-shortcut{top:64px}

.hero #history-jump{width:calc(100% + 120px);top:82px;min-height:44px}body:has(.preview-banner) .hero #history-jump{top:64px}

.hero .hero-tagline{color:var(--electric-blue)!important;text-shadow:1px 1px #fff16c,-1px -1px #fff16c}

/* Round history and a short, tap-triggered golf cheer. */
.hero #history-jump{width:calc((100% + 120px - 8px)/2)}
.hero .actions #excite-me{position:absolute;left:calc((100% + 120px + 8px)/2);top:82px;width:calc((100% + 120px - 8px)/2);min-width:0;height:44px;min-height:44px;padding:6px 2px;font-size:8px;line-height:1.8;background:#fff16c}
body:has(.preview-banner) .hero .actions #excite-me{top:64px}

.entry-screen #go-golf{font-size:clamp(16px,5vw,24px);animation:go-golf-breathe 2s ease-in-out infinite;transform-origin:center}
@keyframes go-golf-breathe{0%,100%{transform:scale(.97)}50%{transform:scale(1.025)}}
@media(prefers-reduced-motion:reduce){.entry-screen #go-golf{animation:none;transform:none}}

.clubhouse-heading{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:8px;align-items:center;justify-content:center;text-align:center}.clubhouse-heading h2{font-size:clamp(10px,3vw,13px);line-height:1.9;margin:0;text-align:center;overflow-wrap:normal}.club-palm{width:28px;height:38px;image-rendering:pixelated}

.setup #course::placeholder{color:#70b8ff!important;opacity:1}

.view-only-note{padding:14px;background:#fff16c;border:3px solid var(--ink);font-size:9px;line-height:2}.player-row:has(input[readonly]) .stepper{grid-template-columns:48px;grid-template-rows:17px 50px}.player-row:has(input[readonly]) .stepper input{grid-column:1}

.setup #course{color:#70b8ff!important}

/* Arcade scorecard: points first, shots second, colour with a purpose. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[data-accent="0"]{--player-accent:#ff168f;--player-tint:#fff1f7}[data-accent="1"]{--player-accent:#269769;--player-tint:#e8f6e5}[data-accent="2"]{--player-accent:#3197ff;--player-tint:#eaf3ff}[data-accent="3"]{--player-accent:#a95ae0;--player-tint:#f4ecff}
.player-row[data-accent]{border-left:7px solid var(--player-accent);background:var(--player-tint);padding:12px 9px;margin:14px 0}.row-meta .hole-points{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:5px;padding:8px 9px;background:#251333;border:2px solid #251333;box-shadow:2px 2px 0 var(--player-accent);font-size:9px;line-height:1.5}.row-meta .hole-points,.row-meta .hole-points *{color:#fff16c!important}.row-meta .hole-points strong{font-size:21px;line-height:1.2;letter-spacing:-1px}.row-meta .hole-points .hole-bonus-count{display:block;flex-basis:100%;font-size:6px;color:#ffafd2!important}.player-row .row-meta{gap:9px;margin-top:9px}.player-row .bonus-open{background:var(--player-accent);color:#fff16c!important;font-size:7px}.stepper input{background:#fffdf3;border:2px solid #251333;font-size:25px}.stepper button{background:#fff16c!important;color:#005dff!important}
.scorecard-overview{margin:18px 0 22px;border:3px solid #251333;background:#fffdf3;box-shadow:4px 4px 0 #ff168f}.scorecard-heading{padding:20px 16px 16px;border-bottom:3px solid #251333}.scorecard-heading .eyebrow{font-size:7px}.scorecard-heading h2{font-size:clamp(17px,5vw,23px);line-height:1.6;margin:9px 0}.scorecard-heading p{margin:0;font-size:8px}.scorecard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#e8f6e5}.card-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:17px 5px;min-width:0;border-right:2px solid #251333}.card-stat:last-child{border-right:0;background:#eaf3ff}.card-stat:nth-child(2){background:#fff16c}.card-stat>strong{font-size:23px;line-height:1.3;letter-spacing:-1px}.card-stat>strong span{font-size:10px}.card-stat>span{font-size:6px;line-height:1.8;text-align:center}.scorecard-leader{display:flex;align-items:center;gap:13px;border-top:3px solid #251333;padding:14px;background:#ffafd2}.scorecard-leader>span{font-size:30px;color:#251333!important}.scorecard-leader>div{min-width:0}.scorecard-leader .eyebrow{display:block;font-size:6px;margin-bottom:6px;color:#251333!important}.scorecard-leader strong{display:block;font-size:11px;line-height:1.8;overflow-wrap:anywhere;color:#251333!important}
.scorecard-key{display:flex;flex-wrap:wrap;gap:10px 14px;background:#fffdf3;border:2px solid #251333;padding:11px;margin-bottom:12px;font-size:6px;line-height:1.7}.scorecard-key>span{display:flex;align-items:center;gap:5px}.scorecard-key i{display:inline-block;width:10px;height:10px;border:1px solid #251333;background:#fff16c}.scorecard-key .key-shots{background:#eaf3ff}.scorecard-key .scroll-hint{margin-left:auto}
.scorecard-grid{overflow:auto;max-height:70svh;background:#fffdf3;border:3px solid #251333;box-shadow:4px 4px 0 #251333;overscroll-behavior-x:contain;scrollbar-color:#ff168f #fff16c;scrollbar-width:thin}.vertical-scorecard{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto}.vertical-scorecard th,.vertical-scorecard td{padding:0;border-right:2px solid #251333;border-bottom:2px solid #251333;min-width:108px;vertical-align:middle}.vertical-scorecard th:first-child{min-width:70px;width:70px}.vertical-scorecard th:last-child,.vertical-scorecard td:last-child{border-right:0}.vertical-scorecard thead th{position:sticky;top:0;z-index:3;background:#251333;padding:12px 8px;min-width:108px;max-width:160px;border-bottom:6px solid var(--player-accent,#ff168f)}.vertical-scorecard thead th:first-child{z-index:4;background:#251333}.vertical-scorecard thead th *{color:#fff16c!important}.card-player-number{display:block;font-size:6px;margin-bottom:10px;color:#ffafd2!important}.card-player-name{display:block;font-size:9px;line-height:1.8;overflow-wrap:anywhere}.card-header-label{font-size:8px}.vertical-scorecard tbody th{background:#e8f6e5;padding:12px 3px;border-right:3px solid #251333;z-index:1}.card-hole-number{display:block;font-size:19px;line-height:1.4}.card-hole-status{display:block;font-size:5px;margin-top:7px;line-height:1.8}.vertical-scorecard tbody tr:nth-child(even) td{background:#eaf3ff}.vertical-scorecard tbody td{background:#fffdf3}.vertical-scorecard tbody .hole-complete th{background:#d7f1c4}.vertical-scorecard tbody .hole-in-progress th{background:#ffdae9}.vertical-scorecard tbody .hole-unplayed th{background:#e9e9df}.card-cell{position:relative;min-height:111px;padding:13px 6px 11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.card-main-number{font-size:24px;line-height:1.3;letter-spacing:-1px}.card-main-label{font-size:6px;line-height:1.5}.card-shots{display:block;padding:6px 7px;border-top:1px solid #9cacca;font-size:10px;line-height:1.5}.card-shots>span{font-size:5px}.card-main-number.points-pending{color:#8795b1!important}.card-bonus{background:#ffdae9;border:1px solid #251333;padding:4px;font-size:5px;line-height:1.6;color:#251333!important}.vertical-scorecard tbody td.hole-top-score{background:#fff16c}.card-best{position:absolute;right:4px;top:2px;color:#ff168f!important;font-size:12px}.vertical-scorecard tfoot{position:sticky;bottom:0;z-index:2;background:#fff16c}.vertical-scorecard tfoot th{z-index:3;background:#fff16c;border-right:3px solid #251333;padding:9px 4px;font-size:7px;line-height:1.8}.vertical-scorecard tfoot th>span{display:block;font-size:5px;margin-bottom:4px}.vertical-scorecard tfoot td{background:#fff16c;padding:12px 5px}.vertical-scorecard .card-points-total td>strong{display:block;font-size:26px;line-height:1.4;letter-spacing:-1px}.vertical-scorecard .card-points-total td>span{display:block;font-size:6px;margin-top:6px}.vertical-scorecard .card-points-total th,.vertical-scorecard .card-points-total td{border-top:4px solid #ff168f}.vertical-scorecard .card-strokes-total td,.vertical-scorecard .card-strokes-total th{background:#e8f6e5}.vertical-scorecard .card-strokes-total td>strong{display:block;font-size:13px;line-height:1.5}.vertical-scorecard .card-strokes-total td>span{display:block;font-size:5px;margin-top:6px;line-height:1.7}.scorecard-footnote{background:#fffdf3;border:2px solid #251333;padding:12px;margin-top:17px;font-size:7px;line-height:2.1}
@media(max-width:350px){.player-row[data-accent]{padding:10px 6px;border-left-width:5px}.row-meta .hole-points{padding:7px 6px}.row-meta .hole-points strong{font-size:18px}.scorecard-heading{padding:17px 12px}.card-stat>strong{font-size:20px}.card-stat>span{font-size:5px}.scorecard-key .scroll-hint{margin-left:0}.scorecard-leader strong{font-size:9px}}
#hole-celebration{position:fixed;z-index:20;top:calc(12px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:470px;background:#fff16c;border:4px solid #251333;box-shadow:5px 5px 0 #ff168f;padding:15px 10px;display:grid;grid-template-columns:28px minmax(0,1fr) 36px;align-items:center;gap:10px;animation:celebration-pop .3s steps(4)}#hole-celebration[hidden]{display:none}#hole-celebration .eyebrow{display:block;font-size:6px;line-height:2;margin-bottom:8px}#hole-celebration strong{display:block;font-size:12px;line-height:1.9;overflow-wrap:anywhere;color:#251333!important}#hole-celebration small{display:block;font-size:6px;line-height:1.8;margin-top:8px}#hole-celebration .celebration-star{font-size:27px;color:#ff168f!important}#hole-celebration button{padding:0;min-width:36px;min-height:44px;box-shadow:none;font-size:20px;background:#ffdae9}@keyframes celebration-pop{from{opacity:0;translate:0 -18px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){#hole-celebration{animation:none}}
.club-champs{margin:35px 0;border:4px solid #251333;background:#f4f0de;box-shadow:5px 5px 0 #ff168f;padding:18px 12px}.champs-heading{text-align:center;margin-bottom:19px}.champs-heading .eyebrow{font-size:6px}.champs-heading h2{font-size:23px;line-height:1.5;margin:12px 0}.champs-heading p{font-size:7px;margin:8px 0}.deck-count{display:inline-block;background:#fff16c;border:2px solid #251333;padding:8px 6px;font-size:6px;line-height:1.8}.champ-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.champ-card{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:0;border:3px solid #251333;background:var(--player-tint);box-shadow:3px 3px 0 var(--player-accent);min-width:0;overflow:hidden}.champ-card-number{display:block;background:#251333;color:#fff16c!important;padding:8px 5px;font-size:5px;line-height:1.8}.champ-portrait{width:100%;aspect-ratio:1;background-image:url('/club-champs-atlas-v2.png');background-size:600% 400%;background-repeat:no-repeat;image-rendering:pixelated;flex-shrink:0;border-bottom:3px solid #251333}.champ-card strong{font-size:8px;line-height:1.9;margin:10px 7px 5px;overflow-wrap:anywhere;color:#251333!important}.champ-card-title{font-size:5px;line-height:1.9;padding:0 7px 10px;overflow-wrap:anywhere}.deal-champs{width:100%;margin-top:22px;min-height:56px;background:#fff16c!important;font-size:10px}.champs-fine{text-align:center;font-size:6px;line-height:2;margin:15px 0 0}.champ-dialog{max-width:470px}.champ-profile-head{display:flex;gap:16px;align-items:center}.champ-profile-head>.champ-portrait{width:110px;border:3px solid #251333;box-shadow:4px 4px 0 #ff168f}.champ-profile-head>div:last-child{min-width:0}.champ-profile-head h2{font-size:16px;line-height:1.9;margin:9px 0;overflow-wrap:anywhere}.champ-profile-head p{font-size:7px}.champ-profile-head .eyebrow{font-size:6px}.champ-era{background:#ffdae9;border:2px solid #251333;padding:10px;font-size:8px!important;line-height:1.8}.champ-quirk,.champ-story{margin:16px 0;padding:13px;border:2px solid #251333;background:#fffdf3}.champ-quirk{background:#e8f6e5}.champ-quirk .eyebrow,.champ-story .eyebrow{font-size:6px}.champ-quirk p,.champ-story p{font-size:9px;line-height:2.1;margin:10px 0 0;color:#251333!important}.close-champ{width:100%;min-height:52px;font-size:8px}@media(min-width:650px){.champ-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:350px){.champs-heading h2{font-size:19px}.champ-card strong{font-size:7px}.champ-profile-head{gap:11px}.champ-profile-head>.champ-portrait{width:85px}.champ-profile-head h2{font-size:12px}}

.meet-champs{display:block;width:100%;min-height:58px;margin:12px 0 22px;font-size:10px;background:#fff16c!important;border:3px solid #251333;box-shadow:4px 4px 0 #ff168f}.back-champs{display:block;width:100%;min-height:52px;margin-top:14px;font-size:8px}.club-champs[hidden]{display:none}.club-champs{scroll-margin-top:100px}

.hero .eyebrow{text-transform:none}

.clubhouse-arcade{margin:28px 0;padding:20px 14px;border:3px solid #251333;background:#e8f6e5;box-shadow:4px 4px 0 #fff16c;text-align:center}.clubhouse-arcade h2{font-size:15px;line-height:1.7}.clubhouse-arcade p{font-size:8px;line-height:2}.clubhouse-arcade button{width:100%;min-height:58px;font-size:9px;margin-top:12px}.arcade-dialog{width:calc(100% - 16px);max-width:960px;padding:0;background:#251333;border:3px solid #251333;overflow:hidden}.arcade-toolbar{display:flex;align-items:center;gap:8px;padding:8px;background:#fff16c}.arcade-toolbar strong{flex:1;font-size:8px;line-height:1.8}.arcade-toolbar button{font-size:7px;min-height:44px;padding:8px}.arcade-dialog iframe{display:block;border:0;width:100%;height:min(76svh,740px);background:#251333}@media(max-width:350px){.arcade-toolbar strong{font-size:6px}.arcade-toolbar button{font-size:6px;padding:6px}}

/* Centre the previous scores shortcut beneath Start Round. */
.hero #history-jump{text-align:center;justify-content:center}

/* Distinct clubhouse navigation colours. */
.hero #history-jump{background:#164daf!important;color:#fff16c!important}
#meet-champs{background:#135637!important;color:#ff8dcc!important;box-shadow:4px 4px 0 #ff168f}

.clubhouse-arcade button{color:#135637!important}

/* Fluoro clubhouse invitation and shared arcade lobby. */
#meet-champs{background:#63ff78!important;color:#9c145a!important;animation:champs-pulse 2.3s ease-in-out infinite;transform-origin:center}
@keyframes champs-pulse{0%,100%{transform:scale(1);box-shadow:4px 4px 0 #ff168f}50%{transform:scale(1.018);box-shadow:4px 4px 0 #ff168f,0 0 16px #63ff7880}}
@media(prefers-reduced-motion:reduce){#meet-champs{animation:none}}
.arcade-dialog [hidden]{display:none!important}.arcade-lobby{padding:18px;overflow:auto;max-height:calc(90dvh - 74px);background:#251333;color:#70b8ff}.arcade-lobby h2,.arcade-lobby h3{text-align:center;line-height:1.8;color:#fff16c}.arcade-lobby h2{font-size:14px}.arcade-lobby h3{font-size:10px}.arcade-instructions{font-size:10px;line-height:2}.arcade-leaders{padding-left:28px;font-size:10px;line-height:2.2}.arcade-leaders li{padding:6px}.arcade-leaders li span{overflow-wrap:anywhere}.arcade-leaders strong{float:right;margin-left:10px;color:#63ff78}.arcade-start,.arcade-entry button{width:100%;min-height:54px}.arcade-entry{margin-top:24px;border-top:2px dashed #ff168f;padding-top:12px;display:grid;gap:14px}.arcade-entry label{font-size:9px;line-height:2}.arcade-entry input{display:block;width:100%;box-sizing:border-box;font-family:var(--pixel);font-size:12px;min-height:48px;margin-top:5px}.arcade-lobby small,.arcade-submit-status,.arcade-leader-status{font-size:8px;line-height:2}.arcade-toolbar strong{min-width:0}.arcade-toolbar .arcade-scores{color:#135637;background:#fff16c}.arcade-toolbar{flex-wrap:wrap}

.clubhouse-arcade button{color:#ffffff!important}

.arcade-heading{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:8px}.arcade-heading h2{font-size:clamp(10px,3.4vw,15px);margin:0}.arcade-icon svg{display:block;width:32px;height:40px;image-rendering:pixelated}#course-lookup[hidden],.course-name-field[hidden],#course-tees[hidden]{display:none}#course-lookup{margin:14px 0;padding:12px;border:3px solid var(--ink);background:#ffb8d4}#course-results button{display:block;width:100%;margin:8px 0;text-align:left;font-size:9px;line-height:1.8}#course-results small{display:block;font-size:8px}#course-tees{width:100%}.course-hole-info{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;text-align:center;background:#54dfff;color:#251333;padding:14px;margin:10px 0;border:3px solid #251333;font-size:10px}.course-hole-info small{width:100%;font-size:7px;line-height:1.8}

.card-hole-course{display:block;font-size:7px;line-height:1.8;margin:5px 0;color:#135637}

/* Hole entry: shots above, transparent points breakdown below, one bonus editor. */
body[data-screen="scores"] .round-mascot{display:none}
body[data-screen="scores"] .hole-nav{margin-bottom:14px;padding:16px 8px}
body[data-screen="scores"] #choose-hole{font-size:clamp(10px,3vw,16px);line-height:1.8}
body[data-screen="scores"] .hole-status{padding:12px;background:#eaf3ff;border:2px solid #251333;gap:12px;font-size:7px;line-height:1.9;margin:14px 0 8px}
body[data-screen="scores"] .hole-status[data-complete="true"]{background:#d7f1c4}
body[data-screen="scores"] .hole-status span{max-width:none;flex:1}
.score-entry-hint{font-size:7px;line-height:2.1;margin:12px 0 16px}
.hole-players .player-row[data-accent]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 10px;padding:16px 12px;margin:14px 0;border:2px solid #251333;border-left:6px solid var(--player-accent);box-shadow:3px 3px 0 #251333}
.player-heading{display:flex;gap:9px;align-items:center;min-width:0}
.player-index{font-size:7px;flex-shrink:0;color:var(--player-accent)!important}
.hole-players .player-name{font-size:11px;line-height:1.9;min-width:0}
.hole-players .name-text{overflow-wrap:anywhere}
.hole-players .stepper{display:grid;grid-template-columns:44px 54px 44px;gap:3px}
.hole-players .stroke-label{grid-column:1/-1;text-align:center;font-size:6px;line-height:1.8;margin-bottom:3px}
.hole-players .stepper button{width:44px;min-height:48px;height:48px;padding:0;font-size:23px;border:2px solid #251333}
.hole-players .stepper input{width:54px;height:48px;font-size:24px;padding:0;border:2px solid #251333}
.player-points-row{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border-top:2px solid #251333;padding-top:12px}
.player-points-row .hole-points{display:flex;flex-direction:column;gap:5px;min-width:62px;background:#251333;padding:9px 8px;text-align:center}
.player-points-row .hole-points *{color:#fff16c!important}
.player-points-row .hole-points strong{font-size:25px;line-height:1.2}
.player-points-row .hole-points>span{font-size:5px;line-height:1.8}
.points-breakdown{display:flex;flex-direction:column;gap:7px;font-size:6px;line-height:1.8}
.hole-players .bonus-open{display:flex;flex-direction:column;justify-content:center;gap:7px;border:2px solid #251333;background:#ffdae9;color:#005dff!important;min-height:48px;padding:8px;font-size:6px;text-decoration:none}
.hole-players .bonus-open>span{font-size:7px;color:#251333!important}
body[data-screen="scores"] .running-standings{margin-top:28px}
body[data-screen="scores"] .round-game-controls{grid-template-columns:1fr}
@media(max-width:350px){.hole-players .player-row[data-accent]{padding:13px 8px;gap:12px 6px}.hole-players .player-name{font-size:9px}.player-heading{gap:5px}.hole-players .stepper{grid-template-columns:40px 48px 40px}.hole-players .stepper button{width:40px}.hole-players .stepper input{width:48px;font-size:22px}.player-points-row{gap:7px}}
body[data-screen="scores"] .score-entry-hint{background:#fffdf3;border:2px solid #251333;padding:10px;line-height:2.1}
body[data-screen="scores"] .rules{margin-top:24px}
.player-points-row .hole-points>span{font-size:6px}
/* Owner mobile clarity batch: preserve art, palette and pixel type. */
#history-jump{display:flex;align-items:center;justify-content:center;text-align:center;white-space:normal;overflow-wrap:anywhere;line-height:1.8;min-width:0!important;padding:12px 8px!important;flex:1 1 0!important;font-size:8px!important}
#meet-champs{display:flex;align-items:center;justify-content:center;gap:12px;min-height:88px;padding:12px;animation:none}
.champ-cta-cards{position:relative;width:74px;height:60px;flex:0 0 74px;display:block}.champ-cta-cards .champ-portrait{position:absolute;width:44px;height:52px;aspect-ratio:auto;border:3px solid #251333;box-shadow:2px 2px 0 #ff168f;top:3px;left:3px;transform:rotate(-9deg)}.champ-cta-cards .champ-portrait+ .champ-portrait{left:28px;transform:rotate(10deg)}.champ-cta-label{line-height:2;min-width:0;font-size:clamp(8px,2.5vw,13px)}
.setup [aria-invalid=true]{border:3px solid #bd155c;background:#fff0f5}.field-error{font-size:8px;line-height:1.8;background:#fff0f5;padding:8px;margin:4px 0 14px;color:#9f1247!important}
.round-top{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.round-top #share{width:100%;font-size:11px;line-height:1.8;min-height:58px;background:#005dff;color:white!important}
body[data-screen=scores] .hole-nav{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;background:#fffdf3;border:3px solid #251333;padding:18px 10px;margin-top:14px}
body[data-screen=scores] #choose-hole{min-width:0;width:100%;padding:4px;font-size:clamp(19px,6vw,30px);line-height:1.5;text-shadow:none;color:#005dff!important}
#choose-hole strong,#choose-hole small{display:block}#choose-hole small{font-size:8px;line-height:2;margin-top:8px;color:#251333!important}
body[data-screen=scores] .hole-nav>button{width:48px;min-width:48px;height:56px;padding:0;display:grid;place-items:center;background:#fff16c;font-size:28px;border:2px solid #251333}
body[data-screen=scores] .hole-players{background:#fffdf3;padding:4px 10px 12px;border:3px solid #251333}
body[data-screen=scores] .hole-players .player-row[data-accent]{margin:12px 0;padding:14px 10px;gap:12px 8px;grid-template-columns:minmax(0,1fr) auto}
.hole-players .player-heading{align-self:center}.hole-players .player-name{font-size:12px}.hole-players .player-index{font-size:6px}
.hole-players .player-points-row{padding-top:10px;gap:8px}.player-points-row .hole-points{padding:7px;min-width:58px}.player-points-row .hole-points strong{font-size:19px}.points-breakdown{font-size:7px}.hole-players .bonus-open{font-size:7px;padding:8px}
.clubhouse-return{display:block;width:100%;min-height:60px;background:#005dff;color:white!important;font-size:11px;line-height:1.8;margin:24px 0 12px}
.round-game-controls{position:static!important;margin:18px 0 10px!important;bottom:auto!important}.round-game-controls #advance-hole{min-height:58px;font-size:11px;background:#005dff;color:white!important;width:100%}
.tabs{position:fixed;left:50%;right:auto;transform:translateX(-50%);bottom:0;width:min(100%,960px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:3px solid #251333;border-top:4px solid #ff168f;padding:6px 8px calc(8px + env(safe-area-inset-bottom));z-index:20;background:#251333;box-shadow:0 -3px 0 #fff16c}
.tabs button{width:100%;max-width:none;min-width:0;min-height:58px;background:#fff16c;color:#005dff!important;font-family:var(--pixel);font-size:clamp(6px,1.8vw,10px);line-height:1.8;padding:8px 3px}.tabs button.active{background:#ff9fae}.nav-symbol{font-size:23px}
body[data-screen=scores] main,body[data-screen=leaderboard] main,body[data-screen=scorecard] main{padding-bottom:calc(130px + env(safe-area-inset-bottom))}
body.dock-keyboard .tabs{visibility:hidden}
@media(max-width:350px){.hole-players .player-row[data-accent]{grid-template-columns:1fr!important}.hole-players .stepper{justify-self:center;grid-template-columns:44px 54px 44px}.hole-players .stepper button{width:44px}.hole-players .stepper input{width:54px}.player-points-row{grid-template-columns:auto 1fr auto}.hole-players .player-name{font-size:12px}.points-breakdown{font-size:6px}#meet-champs{gap:7px}.champ-cta-cards{width:65px;flex-basis:65px}}
#meet-champs .champ-cta-label{flex:1;white-space:normal;line-height:2;font-size:clamp(8px,2.4vw,12px)}#meet-champs .champ-cta-cards{margin-right:4px}#meet-champs>span:last-child{flex:0 0 18px}
#clubhouse.clubhouse-return{background:#005dff!important;color:#fff!important}
.round-game-controls{left:auto!important;right:auto!important;transform:none!important;max-width:none!important;width:100%!important;display:block!important;border:0;background:transparent;padding:0!important}
.round-game-controls:empty{display:none!important}
body[data-screen=scores] .round-top .eyebrow,body[data-screen=leaderboard] .round-top .eyebrow,body[data-screen=scorecard] .round-top .eyebrow{display:block;white-space:normal;line-height:1.9;max-width:100%}
body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) header{position:static;width:auto;max-width:960px;display:flex;justify-content:flex-end;padding:8px 14px;min-height:52px;margin:0 auto}
body:is([data-screen=scores],[data-screen=leaderboard],[data-screen=scorecard]) #share{margin-right:0;width:100%;font-size:11px;min-height:58px;padding:12px}


/* Slightly smaller scorecard type; preserve labels and control sizes. */
body[data-screen=scorecard] .scorecard-heading h2{font-size:clamp(15px,4.4vw,20px)}
body[data-screen=scorecard] .card-stat>strong{font-size:20px}
body[data-screen=scorecard] .card-player-name{font-size:8px}
body[data-screen=scorecard] .card-hole-number{font-size:17px}
body[data-screen=scorecard] .card-main-number{font-size:21px}
body[data-screen=scorecard] .card-shots{font-size:9px}
body[data-screen=scorecard] .vertical-scorecard .card-points-total td>strong{font-size:23px}
body[data-screen=scorecard] .vertical-scorecard .card-strokes-total td>strong{font-size:12px}
@media(max-width:430px){body[data-screen=scorecard] .card-stat>strong{font-size:18px}}
