@font-face{font-family:BBCMicro;src:url(/fonts/bbc-micro.ttf) format("truetype")}@font-face{font-family:C64Pro;src:url(/fonts/C64_Pro-STYLE.ttf) format("truetype")}@font-face{font-family:Px437_IBM_EGA_9x14;src:url(/fonts/Px437_IBM_EGA_9x14.ttf) format("truetype")}@font-face{font-family:zxSpectrumExpand;src:url(/fonts/zxSpectrumExpanded.ttf) format("truetype")}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000}#app{width:100%;height:100%;position:relative}canvas.scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.retro-button{font-family:BBCMicro,monospace;font-size:16px;color:#fff;background:#eb33f7;border:4px solid #000;box-shadow:inset 0 0 0 5px #fff;padding:12px 20px;cursor:pointer;text-align:left;text-shadow:3px 3px 0 #000}.retro-button:disabled{opacity:.4;cursor:default}.retro-button.danger{background:red}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0003;display:flex;align-items:center;justify-content:center;z-index:50}.overlay-panel{background:#000;border:4px solid #fff;padding:24px;color:#fff;max-height:85vh;max-width:90vw;overflow:auto}.title-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#66d5db;display:flex;flex-direction:column;align-items:center;padding-bottom:215px}.title-main{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;gap:5vw;padding:3vh 5vw 2vh}.title-logo{height:100%;min-width:0;max-width:40vw;object-fit:contain;image-rendering:pixelated}.title-right{display:flex;flex-direction:column;align-items:center;gap:4vh;width:min(560px,44vw)}.title-wordmark{width:100%;image-rendering:pixelated}.title-buttons{display:flex;flex-direction:column;gap:18px;width:min(340px,100%)}.title-button{text-align:center;font-size:clamp(15px,1.4vw,20px);border-width:4px}.title-copyright{position:absolute;top:14px;right:20px;font-family:BBCMicro,monospace;font-size:14px;color:#fff;z-index:5;text-shadow:2px 0 0 #000,-2px 0 0 #000,0 2px 0 #000,0 -2px 0 #000,2px 2px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000}a.title-copyright{text-decoration:none}a.title-copyright:hover{text-decoration:underline;text-decoration-color:#fff}.promo-panel{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:20px;align-items:center;width:min(920px,90vw);padding:16px 20px 20px;background:#000;border:4px solid #000;border-bottom:none;background-image:linear-gradient(#fff,#fff),linear-gradient(#fff,#fff),linear-gradient(#fff,#fff);background-size:100% 4px,4px 100%,4px 100%;background-position:top left,top left,top right;background-repeat:no-repeat;font-family:BBCMicro,monospace;color:#fff}.promo-thumb{width:104px;height:104px;border:3px solid #fff;outline:3px solid #000;object-fit:cover;image-rendering:pixelated;flex-shrink:0}.promo-kicker{color:#0f0;font-size:11px;letter-spacing:2px;margin-bottom:6px;text-shadow:2px 2px 0 #003300}.promo-title-row{display:flex;align-items:center;gap:14px;margin-bottom:8px}.promo-title{font-size:22px;color:#fff;text-shadow:3px 3px 0 #eb33f7}.promo-badge{border:2px solid #0f0;color:#0f0;font-size:10px;letter-spacing:2px;padding:4px 8px}.promo-description{font-size:12px;line-height:1.7;color:#0ff;margin-bottom:12px;max-width:640px}.promo-actions{display:flex;gap:12px;flex-wrap:wrap}.promo-actions a{text-decoration:none;font-size:12px;letter-spacing:1px;padding:10px 18px;border:3px solid #000;box-shadow:inset 0 0 0 3px #fff;text-shadow:2px 2px 0 #000;color:#fff}.promo-play{background:#00a83c}.promo-play:hover{background:#00c747}.promo-wishlist{background:#000}.promo-wishlist:hover{background:#222}.title-button{flex:1;max-width:320px;text-align:center;font-size:20px;border-width:4px}.picker-panel,.setup-panel{width:min(1000px,90vw);background:#48acbd;border-color:#000;color:#000}.picker-header{font-size:24px;margin-bottom:16px;color:#fff}.picker-tabs{display:flex;gap:8px;margin-bottom:16px}.picker-grid{display:flex;flex-direction:column;gap:12px}.picker-row{display:flex;gap:16px;align-items:center;background:#000000bf;color:#fff;padding:12px;cursor:pointer}.picker-row:hover{outline:3px solid #fff}.course-thumbnail{width:240px;height:150px;image-rendering:pixelated;border:3px solid #fff}.picker-info{font-size:16px;line-height:1.8}.picker-empty{color:#fff;padding:24px}.setup-list{display:flex;flex-direction:column;gap:16px}.setup-card{background:#000000bf;color:#fff;padding:16px;display:flex;flex-direction:column;gap:12px}.setup-card input{font-family:inherit;font-size:16px;padding:8px;background:#000;color:#fff;border:2px solid #fff}.setup-rows{display:flex;flex-direction:column;gap:8px}.setup-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.segmented{display:flex;gap:4px}.segmented .retro-button{font-size:12px;padding:8px 12px;border-width:3px;box-shadow:inset 0 0 0 3px #fff;text-shadow:1px 1px 0 #000}.setup-footer{display:flex;gap:16px;margin-top:16px}.play-button{margin-left:auto;font-size:20px}.game-screen{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.hud-row{position:absolute;left:0;right:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none;padding:12px}.hud-top{top:0}.hud-top>*{pointer-events:auto}.game-screen .retro-button{font-family:var(--hud-font, "BBCMicro"),monospace;font-size:calc(16px * var(--hud-scale, 1))}.game-screen .info-panel,.game-screen .wind-title{font-family:var(--hud-font, "BBCMicro"),monospace;font-size:calc(19px * var(--hud-scale, 1));text-shadow:3px 3px 0 #000}.game-screen .power-label,.game-screen .cpu-label{font-family:var(--hud-font, "BBCMicro"),monospace;font-size:calc(20px * var(--hud-scale, 1))}.game-screen .game-message{font-family:var(--hud-font, "BBCMicro"),monospace;font-size:calc(36px * var(--hud-scale, 1))}.swing-widget{display:flex;align-items:center;gap:12px}.swing-widget canvas{cursor:pointer}.power-label,.cpu-label{color:#fff;font-size:20px;text-shadow:3px 3px 0 #000}.hud-top-right{display:flex;gap:6px}.club-group{display:flex}.club-group .retro-button+.retro-button{margin-left:-4px}.club-menu .retro-button{min-width:260px}.hud-menu{position:absolute;top:72px;right:12px;display:flex;flex-direction:column;gap:0;z-index:20}.style-menu{right:12px}.hud-menu .retro-button{min-width:420px}.hud-menu .retro-button+.retro-button,.hud-menu .resolution-row{margin-top:-4px}.resolution-row{display:flex}.resolution-row .retro-button{flex:1;min-width:0;text-align:center}.resolution-row .retro-button+.retro-button{margin-top:0;margin-left:-4px}.menu-button{display:flex;justify-content:space-between;align-items:center;gap:32px}.menu-button img,.icon-button img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated;display:block;filter:drop-shadow(2px 2px 0 #000)}.icon-button{padding:12px 14px}.game-screen.flipped .hud-top{top:auto;bottom:0}.game-screen.flipped .info-panel,.game-screen.flipped .wind-dial{bottom:auto;top:16px}.game-screen.flipped .hud-menu{top:auto;bottom:96px}.hidden{display:none!important}.info-panel{position:absolute;left:16px;bottom:16px;background:#000;border:4px solid #f00;padding:12px 16px;min-width:300px;line-height:1.3}.info-row{display:flex;justify-content:space-between;gap:48px}.wind-dial{position:absolute;right:16px;bottom:16px;background:#000;border:4px solid #f00;padding:8px;display:flex;flex-direction:column}.wind-dial canvas{flex:1;width:100%;min-height:0}.wind-title{color:#fff;font-size:16px;margin-bottom:4px}.game-message{position:absolute;top:40%;left:0;right:0;text-align:center;font-size:36px;text-shadow:3px 0 0 #000,-3px 0 0 #000,0 3px 0 #000,0 -3px 0 #000,3px 3px 0 #000,-3px -3px 0 #000,3px -3px 0 #000,-3px 3px 0 #000,3px -1px 0 #000,3px 1px 0 #000,-3px -1px 0 #000,-3px 1px 0 #000,-1px 3px 0 #000,1px 3px 0 #000,-1px -3px 0 #000,1px -3px 0 #000;transform:scale(1);opacity:1;pointer-events:none;z-index:40}.game-message.message-animate{transition:transform 2s ease-in,opacity 2s ease-in;transform:scale(10);opacity:0}.scorecard h2{margin-bottom:16px}.scorecard-player{margin:12px 0 4px}.scorecard-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px 16px;font-size:14px}.map-header{display:flex;gap:32px;margin-bottom:12px;color:#fff}.clubs-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:16px}.clubs-grid .retro-button{font-size:12px;text-align:center}.help-panel{max-width:600px;font-size:18px;line-height:1.6}.help-footer{margin-top:16px;color:#0f0;font-size:14px}.editor-screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#2c2c2c;overflow:hidden}.editor-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:crosshair}.editor-doc{position:absolute;transform-origin:0 0;box-shadow:0 0 40px #0009}.editor-layer{position:absolute;top:0;right:0;bottom:0;left:0}.editor-handle{position:absolute;width:16px;height:16px;border:2px solid rgba(255,0,0,.75);border-radius:50%;background:#ffffff26;pointer-events:none}.editor-context-toolbar{position:absolute;transform-origin:50% 0;display:flex;gap:4px;background:#404342;border-radius:10px;padding:6px;box-shadow:5px 5px 10px #4d4d4db3;translate:-50% 0;z-index:10}.editor-context-toolbar button{background:transparent;color:#fff;border:none;font-size:18px;padding:8px;cursor:pointer}.editor-context-toolbar button:disabled{opacity:.35}.editor-toolbar{position:absolute;right:16px;top:40px;display:flex;flex-direction:column;gap:4px;background:#404342;border-radius:10px;padding:8px;box-shadow:5px 5px 10px #4d4d4db3;z-index:20}.editor-tool-button{background:transparent;color:#fff;border:none;font-size:22px;padding:12px;cursor:pointer;border-radius:8px}.editor-tool-button.selected{background:#3e4552;outline:2px solid #fff}.editor-left{position:absolute;left:16px;top:40px;display:flex;flex-direction:column;gap:12px;z-index:20}.editor-hole-info,.editor-palette{background:#404342;color:#fff;border-radius:14px;padding:14px 20px;box-shadow:5px 5px 10px #32323299;width:280px;font-size:17px;font-family:-apple-system,Segoe UI,system-ui,sans-serif}.editor-info-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:12px 0}.editor-hole-controls{display:flex;align-items:center;gap:12px}.editor-hole-controls button{background:#ffffff1f;color:#fff;border:none;width:32px;height:32px;border-radius:8px;font-size:15px;cursor:pointer}.editor-par-switch{display:inline-flex;border:1.5px solid #fff;border-radius:999px;overflow:hidden}.editor-par-switch button{width:36px;height:32px;background:transparent;color:#fff;border:none;border-right:1.5px solid #fff;font-size:15px;cursor:pointer}.editor-par-switch button:last-child{border-right:none}.editor-par-switch button.selected{background:#fff;color:#000}.editor-reference-options .editor-info-row{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:12px}.editor-reference-options input[type=range]:focus{outline:none}.editor-remove-button{width:100%;margin-top:6px;padding:10px;background:#3e4552;color:#fff;border:1.5px solid #fff;border-radius:10px;font-size:16px;cursor:pointer}.editor-palettes{display:flex;flex-direction:column;gap:12px}.editor-palette{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.palette-button{background:transparent;border:2px solid transparent;padding:2px;cursor:pointer;line-height:0}.palette-button.selected{border-color:#fff;background:#fff}.editor-warning{position:absolute;top:12px;left:50%;transform:translate(-50%);background:#404342;color:#fff;border-radius:20px;padding:10px 24px;z-index:30;font-size:15px}.hole-preview{position:absolute;left:40px;bottom:40px;background:#404342;border-radius:10px;padding:8px;box-shadow:5px 5px 10px #00000080;z-index:25;cursor:move}.hole-preview canvas{display:block;width:320px;height:200px}.hole-preview-buttons{display:flex;gap:4px;margin-bottom:6px}.hole-preview-buttons button{background:#3e4552;color:#fff;border:none;width:28px;height:24px;border-radius:5px;cursor:pointer}.course-sheet{width:min(1200px,92vw);background:#404342}.course-sheet-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.course-sheet-header input{font-family:Marker Felt,Comic Sans MS,cursive;font-size:20px;padding:8px;background:#0000004d;color:#ff5050;border:2px solid transparent;border-radius:6px;flex:1}.course-sheet-summary{color:#7bd4ff}.course-sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.course-sheet-tile{position:relative;cursor:pointer;border-radius:10px;overflow:hidden;background:#000}.course-sheet-tile canvas{width:100%;display:block;image-rendering:pixelated}.course-sheet-label{color:#fff;font-size:13px;padding:6px 8px}.course-sheet-delete{position:absolute;top:6px;right:6px;background:#c80000d9;color:#fff;border:none;border-radius:50%;width:26px;height:26px;cursor:pointer}.course-sheet-add{border:3px dashed rgba(255,80,80,.8);background:transparent;color:#fff;font-size:18px;border-radius:10px;min-height:140px;cursor:pointer;font-family:inherit}.editor-name-panel{display:flex;flex-direction:column;gap:16px;background:#3e4552;min-width:380px}.editor-name-panel input{font-family:inherit;font-size:18px;padding:10px;border-radius:6px;border:2px solid transparent}.editor-name-panel button{align-self:flex-end;background:#eb33f7;color:#fff;border:none;padding:10px 28px;border-radius:6px;font-size:16px;cursor:pointer}.editor-name-panel button:disabled{opacity:.4}.editor-tool-button img,.editor-context-toolbar img{width:24px;height:24px;object-fit:contain}.editor-reference-image{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;max-width:80%;max-height:80%;z-index:15}.editor-reference-options input[type=range]{width:100%}
