@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--ink:#183e34;--green:#184c3e;--mint:#dbea9a;--paper:#f7f5ed;--gold:#d9ae59;--line:#dfE3d8;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d8a04c;outline-offset:4px}button{border:0}header{height:88px;max-width:1440px;margin:auto;padding:0 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;color:var(--ink);text-decoration:none;font-size:23px;font-weight:700;letter-spacing:-1px}.brand img{margin-right:7px}.brand span{color:#699b4b}.header-note,.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.header-note{color:#7e8c7d}.header-actions{display:flex;gap:9px}.header-actions button{background:transparent;border:1px solid #d8ded3;border-radius:24px;padding:10px 15px;color:var(--ink);font-size:12px}.header-actions button:hover{background:#e7ebdf}main{max-width:1320px;margin:auto;padding:48px 4% 25px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Outfit',sans-serif}h1{font-size:clamp(68px,7vw,104px);line-height:.98;letter-spacing:-5px;font-weight:600;margin-bottom:26px}h1 em{font-family:Georgia,serif;font-weight:400;color:#719a63}h2{font-size:24px;letter-spacing:-.7px}p{line-height:1.6}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:22px}.dot{width:7px;height:7px;border-radius:50%;background:#8aaa56;display:inline-block}.landing{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:stretch}.landing-copy{padding:12px 0}.landing-copy h1{position:relative}.title-flag{display:inline-block;width:65px;margin-left:24px;color:#d1a44e;transform:rotate(8deg)}.intro{font-size:18px;color:#708073;margin-bottom:20px}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}.pills span{font-size:10px;border:1px solid #dce2d3;border-radius:20px;padding:7px 10px;font-weight:600}.setup-panel h2{font-size:19px;margin-bottom:14px}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode{border:1px solid #d4dcd0;background:#fffdf7;border-radius:14px;padding:16px 12px;color:var(--ink);text-align:left;transition:transform .2s,border-color .2s}.mode:hover{transform:translateY(-2px)}.mode.selected{border:2px solid #2b6348;padding:15px 11px;background:#eef3df;box-shadow:0 3px 0 #d8e3c4}.mode>span{font-size:24px;display:block;margin-bottom:10px}.mode b{font-size:13px;display:block}.mode small{font-size:10px;display:block;margin-top:4px;color:#78816d}.settings,.names{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:19px}label{display:flex;flex-direction:column;font-size:11px;font-weight:700;gap:7px;color:#627461}select,input{width:100%;min-height:44px;padding:10px;border:1px solid #d6dfd0;border-radius:8px;color:var(--ink);background:#fffdf8;font-size:13px}.names:has(label:only-child){grid-template-columns:1fr}.primary{background:var(--ink);color:#f1f3de;border-radius:10px;padding:15px 25px;font-weight:600;box-shadow:0 4px 0 #092d23;transition:background .2s,transform .2s}.primary:hover{background:#2c6047;transform:translateY(-1px)}.start{width:100%;display:flex;justify-content:space-between;margin-top:22px}.start span{font-size:21px}.resume{width:100%;background:transparent;color:var(--green);padding:17px 12px 3px;text-decoration:underline;text-underline-offset:4px;font-size:13px}.setup-note{font-size:10px;text-align:center;color:#83907d;margin:20px 0 0}.course-art{position:relative;min-height:700px;border-radius:170px 170px 20px 20px;background:#dfe7d0;overflow:hidden;isolation:isolate}.sun{position:absolute;width:130px;height:130px;background:#efe6b9;top:56px;right:40px;border-radius:50%}.hill{position:absolute;width:150%;height:450px;border-radius:50%;left:-25%;bottom:-100px;transform:rotate(-12deg)}.far{background:#aabb8d;bottom:60px;left:-40%}.near{background:#6f966a;bottom:-90px;transform:rotate(12deg)}.green{position:absolute;bottom:125px;left:6%;width:85%;height:125px;background:#d0df99;border-radius:50%;transform:rotate(-12deg)}.course-flag{position:absolute;width:160px;bottom:145px;right:0;color:#f5edce}.course-label{position:absolute;bottom:24px;left:0;right:0;text-align:center;letter-spacing:2px;font-size:9px;color:#e4ead5}.art-caption{position:absolute;left:35px;top:76px;font-family:'Outfit',sans-serif;font-size:38px;line-height:1.1;letter-spacing:-1px}.art-caption em{font-family:Georgia,serif;font-weight:400;color:#55734e}.demo-cards{position:absolute;left:10%;right:10%;top:42%;display:flex;justify-content:center;align-items:center;filter:drop-shadow(0 24px 18px #1e3c4130)}.demo-cards .card{width:128px;height:181px;flex-shrink:0}.demo-cards .card:nth-child(1){transform:rotate(-17deg) translate(22px,8px)}.demo-cards .card:nth-child(2){transform:rotate(2deg) translateY(-16px);z-index:2}.demo-cards .card:nth-child(3){transform:rotate(18deg) translate(-20px,12px)}.learn-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);padding-top:30px;margin-top:55px}.learn-strip b{font-size:14px}.learn-strip p{font-size:12px;color:#778574;margin-top:10px}footer{text-align:center;font-size:10px;color:#879082;margin:36px 0 0}.card{width:88px;aspect-ratio:5/7;border-radius:9px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;box-shadow:0 4px 0 #b1b6a3,0 6px 10px #001e2524;flex-shrink:0;user-select:none;transition:transform .2s,box-shadow .2s;overflow:hidden;padding:8px}.card.face{background:#fffcf0;color:#245b48;border:2px solid #f5f0d9;animation:flip-in .28s ease-out}.card.face.high{color:#b97639;background:#fff4df}.card.face.ace{background:#e1edae;color:#375b2c;border-color:#f3f8d8}.card strong{font-family:'Outfit',sans-serif;font-size:45px;font-weight:600;line-height:1}.card .corner,.bottom-corner{position:absolute;font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;top:7px;left:8px}.bottom-corner{top:auto;left:auto;bottom:7px;right:8px;transform:rotate(180deg)}.card-caption{font-size:6px;letter-spacing:1px;font-weight:700;margin-top:10px}.card.back{background:repeating-linear-gradient(45deg,#ffffff06 0 1px,transparent 1px 7px),#1e5949;color:#e3d09a;border:4px solid #f6efdc;box-shadow:0 4px 0 #9fae91,0 6px 10px #001e2524}.back-mark{width:46px}.back-name{font-size:8px;letter-spacing:1.5px;line-height:1.2}.back-name b{font:600 18px 'Outfit',sans-serif;letter-spacing:2px}.card:enabled:hover{transform:translateY(-6px);box-shadow:0 6px 0 #c0cb9d,0 0 0 3px #dce8ac,0 10px 16px #062c3544}.card:enabled:active{transform:translateY(-2px)}.card.matched{box-shadow:0 4px 0 #89ad68,0 0 0 2px #bcda85}.card.matched:after{content:'✓';position:absolute;right:5px;top:4px;color:#61904a;font-size:12px}.hand{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:400px;margin:auto}.hand .card{width:100%}.hand.mini{max-width:220px;gap:5px}.mini .card{border-radius:5px;box-shadow:0 2px 0 #c8ccb2;min-width:0;padding:3px}.mini .card.back{border-width:2px}.mini .card strong{font-size:24px}.mini .corner,.mini .bottom-corner{font-size:8px;left:4px;top:3px}.mini .bottom-corner{left:auto;top:auto;right:4px;bottom:3px}.mini .card-caption{display:none}.mini .back-mark{width:24px}.mini .back-name{font-size:4px;letter-spacing:1px}.mini .back-name b{font-size:9px;letter-spacing:1px}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:15px}.compact-title{display:flex;align-items:center;gap:10px}.compact-title>svg{width:48px}.compact-title h1{font-size:28px;letter-spacing:-1px;margin:0}.compact-title p{font-size:8px;letter-spacing:2px;margin:5px 0 0;color:#78916f}.hole-info{display:flex;gap:7px;align-items:center;font-size:13px}.hole-info span{font-size:10px;color:#8c977e}.secondary{border:1px solid #cad4c1;background:transparent;color:var(--ink);border-radius:9px;padding:11px 17px;font-size:12px}.secondary:hover{background:#e7eddb}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:24px}.felt{position:relative;background:radial-gradient(ellipse at 50% 55%,#33715a,#164a3c);border-radius:25px;padding:25px 32px 20px;border:7px solid #c8c5a7;outline:1px solid #ddd9c1;box-shadow:inset 0 2px 28px #062a3140,0 12px 30px #123a3a12;color:#f1efda;overflow:hidden}.felt:before{content:'';position:absolute;inset:7px;border:1px dashed #a6c39f40;border-radius:13px;pointer-events:none}.opponents{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}.opponent{flex:1;min-width:110px;max-width:200px;border-radius:10px;padding:9px}.opponent.current{background:#b7d29815;outline:1px solid #d4e5a24d}.player-label{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;margin-bottom:12px}.player-label small{font-size:8px;color:#bbd0b5}.opponent .player-label{font-size:10px;gap:6px}.opponent p{font-size:8px;text-align:center;margin:9px 0 0;color:#b0c8ad}.table-center{display:flex;justify-content:center;gap:24px;align-items:center;padding:28px 0 20px}.pile{text-align:center}.pile>span{display:block;font-size:8px;letter-spacing:1px;margin-top:13px;color:#d0dbb7}.pile small{display:block;font-size:8px;letter-spacing:0;color:#9fbd9f;margin-top:4px}.deck{transform:rotate(-4deg);box-shadow:3px 5px 0 #e5ddbd,6px 9px 0 #a9b199!important}.discard{transform:rotate(4deg)}.draw-zone{width:110px;text-align:center;margin-left:6px}.draw-zone>span{font-size:9px;display:block;margin-top:12px}.held-card{display:flex;justify-content:center;animation:deal .25s ease-out}.held-card .card{outline:2px dashed #deeab1;outline-offset:5px}.table-seal{display:flex;flex-direction:column;align-items:center;opacity:.45}.table-seal svg{width:67px}.table-seal span{font-size:8px;letter-spacing:2px;line-height:1.8}.turn-banner{background:#0d342b80;border:1px solid #72957655;border-radius:10px;min-height:57px;display:flex;align-items:center;justify-content:center;gap:11px;padding:12px;margin:0 0 23px;text-align:center;font-size:12px}.turn-dot{width:7px;height:7px;background:#dce8a4;border-radius:50%;flex-shrink:0}.turn-banner small{display:block;font-size:8px;letter-spacing:1px;margin-bottom:6px;color:#ead49b}.last-turn{border-color:#c6ac69}.your-area{max-width:440px;margin:auto}.turn-actions{text-align:center;min-height:40px;margin-top:16px}.turn-actions>span{display:block;font-size:9px;color:#b9d2b4;margin-top:12px}.cream-button{background:#e6edb5;color:#254b37;border:1px solid #eff2d1;border-radius:8px;padding:11px 15px;font-size:11px;font-weight:700}.score-panel{background:#eeeee2;border:1px solid #e0e3d5;border-radius:18px;padding:25px 20px;align-self:start}.score-panel .eyebrow{font-size:9px;margin-bottom:12px}.score-panel h2{margin-bottom:6px;font-size:27px}.muted{color:#7e8978;font-size:11px}.score-player{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid #dce1d2;font-size:12px}.score-player small{display:block;font-size:9px;color:#899580;margin-top:4px}.score-player>b{margin-left:auto;font:600 23px 'Outfit',sans-serif}.rank{font-size:10px;color:#8a987f;border:1px solid #cdd6c0;width:24px;height:24px;display:grid;place-items:center;border-radius:50%}.hole-dots{display:flex;justify-content:space-between;gap:4px;margin:25px 0}.hole-dots span{width:21px;height:21px;display:grid;place-items:center;font-size:9px;color:#96a08a;border:1px solid #d4dcc7;border-radius:50%}.hole-dots .active{background:var(--green);color:white;border-color:var(--green)}.hole-dots .done{background:#d3e0b1;color:var(--green)}summary{cursor:pointer;font-size:11px;font-weight:600;padding:9px 0}.score-scroll{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:10px;text-align:center;white-space:nowrap}th,td{padding:10px 9px;border-bottom:1px solid #d7deca}th{font-weight:700}.total-row{font-weight:700;background:#dfe7ce}.caddie{border-top:1px solid #d7dfcb;margin-top:20px;padding-top:20px}.caddie>span{font-size:9px;font-weight:700;letter-spacing:1px}.caddie p{font-size:11px;color:#7d8a73;margin-top:10px}.recent ul{padding-left:15px;font-size:10px;color:#7c8c75;line-height:1.8}.handoff{position:absolute;inset:0;z-index:4;background:#143f36f5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.handoff>span{width:90px;color:#dbe6aa}.handoff .eyebrow{color:#c7d49f;margin-top:25px}.handoff h2{font-size:44px;line-height:1.1}.handoff p:not(.eyebrow){font-size:14px;color:#b6c8ac}.handoff .primary{background:#dce9aa;color:#204f3c}.results{text-align:center;max-width:850px;margin:10px auto}.result-emblem{width:90px;color:#7e9e5f;margin:auto auto 25px}.results .eyebrow{justify-content:center}.results h1{font-size:52px;letter-spacing:-2px;line-height:1.12}.results>p:not(.eyebrow){color:#7b8a73;font-size:13px}.result-podium{display:flex;justify-content:center;align-items:end;gap:14px;margin:40px auto 30px;max-width:550px}.podium-place{flex:1;border-radius:65px 65px 12px 12px;background:#e7ebdc;padding:30px 12px 22px;min-width:0}.podium-place.place0{background:#234e3c;color:#f7f5dc;padding-top:45px;order:1}.podium-place.place1{order:0}.podium-place.place2{order:2}.podium-place>span{font-size:22px;color:#a3b77d}.podium-place h2{font-size:17px;margin:12px 0;overflow-wrap:anywhere}.podium-place strong{display:block;font:500 44px 'Outfit',sans-serif}.podium-place small{font-size:8px;letter-spacing:1px}.result-score{background:#eef0e3;border-radius:12px;padding:15px;max-width:650px;margin:25px auto}.actions{display:flex;justify-content:center;gap:15px;margin:25px 0}.final-hands{display:flex;justify-content:center;flex-wrap:wrap;gap:25px}.final-hands section{width:190px}.final-hands h3{font-size:13px}.reveal-hands{margin-top:35px}dialog{border:1px solid #e2e8d3;border-radius:20px;background:var(--paper);color:var(--ink);padding:36px;max-width:560px;width:calc(100% - 28px);max-height:90dvh;box-shadow:0 30px 90px #08261b50}dialog::backdrop{background:#0d3026a8;backdrop-filter:blur(4px)}dialog h2{font-size:32px;line-height:1.1}dialog ol{padding-left:20px;font-size:13px;line-height:1.6}dialog li{margin-bottom:12px}.close{position:absolute;right:18px;top:15px;background:transparent;color:var(--ink);font-size:27px}#notice{position:fixed;bottom:15px;left:50%;transform:translateX(-50%);z-index:10;font-size:12px;background:#f2e4b8;border-radius:8px;padding:12px 20px;box-shadow:0 4px 18px #11332222;margin:0;max-width:90%;text-align:center}#notice:empty{display:none}@keyframes flip-in{from{transform:rotateY(35deg);opacity:.7}to{transform:rotateY(0);opacity:1}}@keyframes deal{from{transform:translate(-55px,-10px) rotate(-10deg);opacity:0}to{transform:translate(0);opacity:1}}
@media(min-width:1400px){main{padding-left:0;padding-right:0}}@media(max-width:1050px){.header-note{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 220px;gap:15px}.felt{padding:20px}.score-panel{padding:20px 14px}.landing{gap:5%}.demo-cards .card{width:105px;height:148px}.art-caption{font-size:32px}.hand{max-width:360px}}@media(max-width:760px){header{height:70px;padding:0 5%}.brand{font-size:20px}.brand img{width:30px;height:30px}.header-actions button{font-size:10px;padding:9px 10px}main{padding:30px 5% 20px}.landing{grid-template-columns:1fr}.landing-copy{padding:0}.landing h1{font-size:80px}.course-art{display:none}.intro{font-size:16px}.pills{margin-bottom:25px}.setup-panel{border-top:1px solid var(--line);padding-top:22px}.learn-strip{gap:15px;margin-top:35px;padding-top:23px}.learn-strip b{font-size:12px}.learn-strip p{font-size:10px}.game-layout{grid-template-columns:1fr}.game-top{gap:9px;margin-bottom:20px}.compact-title h1{font-size:23px}.compact-title>svg{width:35px}.compact-title p{font-size:6px;letter-spacing:1px}.hole-info{flex-direction:column;gap:3px;font-size:11px}.game-top .secondary{font-size:10px;padding:9px}.felt{padding:18px 16px;border-width:4px;border-radius:19px}.opponents{gap:7px}.opponent{max-width:170px;padding:5px;min-width:85px}.opponent .player-label{font-size:9px}.opponent .player-label small{display:none}.opponent .hand{max-width:165px}.table-center{gap:22px;padding-top:24px}.table-center .card{width:73px}.draw-zone{width:75px;margin-left:0}.table-seal svg{width:50px}.table-seal span{font-size:6px}.turn-banner{font-size:11px;margin-bottom:18px;padding:10px}.your-area .player-label{font-size:10px}.hand{gap:8px;max-width:360px}.hand .card strong{font-size:38px}.mini .card strong{font-size:21px}.score-panel{padding:20px}.score-panel .score-player{padding:10px 0}.score-panel .caddie{display:none}.score-panel h2{font-size:23px}.hole-dots{justify-content:start;gap:9px}.results h1{font-size:39px}.result-podium{gap:8px}.podium-place h2{font-size:14px}.podium-place strong{font-size:36px}.result-score{padding:8px}.actions .primary{font-size:12px;padding:14px 18px}}@media(max-width:380px){main{padding-left:12px;padding-right:12px}.header-actions{gap:4px}.brand{font-size:17px}.felt{padding:15px 12px}.card strong{font-size:35px}.table-center{gap:17px}.your-area .player-label{gap:5px}.player-label small{font-size:7px}.hand .card strong{font-size:33px}.mini .card strong{font-size:18px}.card-caption{font-size:5px}.title-flag{width:45px;margin-left:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Colorful clubhouse edition */
:root{--ink:#29385d;--green:#4e55ad;--mint:#ffe588;--paper:#f3f8ff;--line:#d8e6f4}body{background:radial-gradient(ellipse at 90% 0,#d5f4ff 0,transparent 48%),radial-gradient(ellipse at 0 50%,#f3e8ff 0,transparent 50%),#f6f9ff}header{border-bottom:1px solid #d4e8f4;background:#ffffffad;max-width:none;box-shadow:0 3px 20px #637ca108}.brand{color:#394073}.brand span{color:#ec698d}.header-note{color:#6c83a6}.header-actions button{border:2px solid #e2e7f5;background:#fff;color:#586488;font-weight:700}.header-actions button:hover{background:#fff0f5}h1,h2,h3{font-weight:800}h1{letter-spacing:-4px;color:#364b86;text-shadow:0 4px 0 #fff}h1 em{font-family:'Outfit',sans-serif;font-weight:800;color:#f37a97;font-style:normal;text-shadow:0 4px 0 #ffe1eb}main{padding-top:32px}.landing{gap:4%;grid-template-columns:1fr 1.12fr}.landing-copy .eyebrow{color:#7864b8;font-size:9px;letter-spacing:1.8px;background:#efe7ff;width:fit-content;border-radius:30px;padding:9px 13px}.dot{background:#a285e7}.title-flag{color:#f6bc44;transform:rotate(12deg);filter:drop-shadow(0 3px 0 #fff)}.intro{color:#7a86a4}.pills span{background:#fff;border:1px solid #e2e8f4;box-shadow:0 3px 0 #e6edf6;color:#7184a6}.pills span:nth-child(2){background:#fff0d8;color:#b07932;border-color:#ffe4b5}.setup-panel{background:#fff;border:2px solid #e9e9fa;border-radius:24px;padding:23px;box-shadow:0 8px 0 #dfe4f033,0 20px 45px #6674a30c}.setup-panel h2{color:#485781;font-size:20px}.mode{border:2px solid #e5e9f5;border-radius:16px;background:#f8faff;padding:14px 12px;color:#485683}.mode.selected{border:2px solid #9a80ea;background:#f0eaff;padding:14px 12px;box-shadow:0 4px 0 #d7c5ff}.mode:nth-child(2){background:#f0fcff}.mode:nth-child(2).selected{border-color:#4ec5d4;box-shadow:0 4px 0 #b9eff5}.mode .mode-icon{width:45px;height:45px;border-radius:14px;background:#d9d0f7;padding:4px;margin-bottom:9px}.mode:nth-child(2) .mode-icon{background:#c2eef0}.mode small{color:#8591ad}label{color:#7c89aa}input,select{background:#f8faff;border:2px solid #e9edf8;color:#53638c;border-radius:11px}.primary{background:linear-gradient(135deg,#ff8c80,#ef648e);color:white;box-shadow:0 5px 0 #c74e78,0 8px 18px #f389a530;border-radius:14px;font-weight:800}.primary:hover{background:linear-gradient(135deg,#ff9e78,#f178a0)}.start{margin-top:20px}.resume{color:#8972be}.setup-note{color:#8a98b3}.course-art{border-radius:30px;min-height:740px;border:5px solid white;box-shadow:0 15px 40px #588ac521;background:#9ae7f3;overflow:hidden}.island-art{position:absolute;width:100%;height:100%;object-fit:cover;object-position:55% 50%;inset:0}.course-art:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#185678c7,transparent 45%);pointer-events:none}.island-badge{position:absolute;top:24px;left:24px;background:#ffffffe6;backdrop-filter:blur(8px);padding:10px 16px 10px 9px;display:flex;gap:8px;align-items:center;border-radius:18px;box-shadow:0 6px 0 #2e93ab25;z-index:2;transform:rotate(-4deg)}.island-badge svg{width:45px}.island-badge span{font-size:8px;letter-spacing:1px;color:#7191b0;line-height:1.7}.island-badge b{font-size:10px;color:#446b91}.demo-cards{top:auto;bottom:145px;z-index:2;left:10%;right:10%;filter:drop-shadow(0 18px 12px #2053724a)}.demo-cards .card{width:115px;height:164px}.demo-cards .card:nth-child(2){transform:rotate(0deg) translateY(-15px)}.island-caption{position:absolute;bottom:30px;left:34px;color:#fff;font:800 44px/.95 'Outfit',sans-serif;letter-spacing:-2px;z-index:2;text-shadow:0 3px 0 #227897}.island-caption em{color:#ffe47c;font-style:normal}.island-caption>span{display:block;font:700 9px 'DM Sans',sans-serif;letter-spacing:2px;margin-top:16px;color:#c6f2fc;text-shadow:none}.float-star{position:absolute;width:60px;z-index:3;animation:bob 4s ease-in-out infinite;filter:drop-shadow(0 5px 5px #475e8b40)}.star-a{right:17px;top:32%}.star-b{left:20px;top:36%;width:45px;animation-delay:-2s}.learn-strip{border:0;gap:18px;margin-top:35px}.learn-strip>div{background:#fff;border:2px solid #e9ebf7;padding:22px;border-radius:20px;box-shadow:0 5px 0 #e0e6f440}.learn-strip>div:nth-child(2){background:#f1faff}.learn-strip>div:nth-child(3){background:#fff8e8}.learn-strip svg{width:46px;height:46px;display:block;margin-bottom:12px}.learn-strip b{color:#51668c}.learn-strip p{color:#8491aa}footer{color:#91a0b8}.card{border-radius:12px;box-shadow:0 5px 0 #38456855,0 8px 12px #1a31522b}.card.face{border:3px solid #fff;color:#fff;isolation:isolate}.card.face:before{content:'';position:absolute;width:110px;height:110px;border-radius:50%;background:#ffffff13;right:-45px;top:-45px;z-index:-1}.card.face.hue-0{background:linear-gradient(145deg,#60c9f2,#438edc);color:#fff}.card.face.hue-1{background:linear-gradient(145deg,#be9bf4,#9470db);color:#fff}.card.face.hue-2{background:linear-gradient(145deg,#ffa786,#ed7a8e);color:#fff}.card.face.hue-3{background:linear-gradient(145deg,#59d3b5,#29aeab);color:#fff}.card.face.ace{background:linear-gradient(145deg,#ffe783,#ffba48);color:#97501b;border-color:#fff6ca;box-shadow:0 5px 0 #b7864280,0 0 20px #ffde7950}.card strong{font-size:43px;text-shadow:0 2px 0 #00000015;position:relative;z-index:1}.card .corner,.bottom-corner{font-weight:800;opacity:.9}.card-graphic{width:33px;height:30px;display:block;margin:2px 0 -3px;filter:drop-shadow(0 2px 1px #00000015)}.card-caption{font-size:5px;margin-top:5px;letter-spacing:.7px;opacity:.95}.card.back{background:radial-gradient(circle at 20% 30%,#ffffff18 0 4px,transparent 5px),repeating-linear-gradient(45deg,transparent 0 13px,#ffffff08 13px 15px),linear-gradient(150deg,#787cda,#5850ac);color:#fff1ae;border:4px solid #eae7ff}.back-mark{color:#a9e8ed}.back-name{color:#e8e1ff}.back-name b{color:#fff3b0}.card:enabled:hover{box-shadow:0 5px 0 #8b82d1,0 0 0 3px #fff3a7,0 12px 18px #21407a55}.card.matched{border-color:#e9ffae;box-shadow:0 5px 0 #77be8599,0 0 0 2px #c9ff91,0 0 18px #dfff9066}.card.matched:after{color:#365e49;background:#dbffac;border-radius:50%;height:17px;width:17px;display:grid;place-items:center;right:3px;top:4px;font-size:11px}.mini .card-graphic{width:16px;height:14px;margin-top:1px}.mini .card strong{font-size:20px}.mini .corner,.mini .bottom-corner{font-size:7px}.mini .card.matched:after{width:10px;height:10px;font-size:7px}.mini .card.face{border-width:2px}.game-top{background:#fff;border:2px solid #e5edf9;padding:14px 18px;border-radius:20px;box-shadow:0 5px 0 #dfe8f144}.compact-title>svg{color:#f497a2}.compact-title h1{color:#5666a7;text-shadow:none}.compact-title p{color:#a097c0}.hole-info{background:#fff2cd;color:#ad7934;padding:12px 16px;border-radius:14px}.hole-info span{color:#b59358}.secondary{border:2px solid #dedff1;color:#7e78a9;background:#fafaff;border-radius:12px;font-weight:700}.secondary:hover{background:#ecebff}.felt{background:radial-gradient(ellipse at 50% 55%,#228d9a,#326f94);border:7px solid #b1d7ec;outline:3px solid white;border-radius:30px;box-shadow:inset 0 0 45px #275b8720,0 10px 0 #c0d2e86b,0 20px 40px #5e7ba322;padding-top:110px;color:#fff}.felt:before{border-color:#9ce0f255;border-radius:18px;inset:10px}.table-landscape{position:absolute;inset:0 0 auto;height:105px;background:linear-gradient(0deg,#327995,transparent 75%),url('/fairway-nine/golf-island.png') 50% 42%/cover;opacity:.96;pointer-events:none;border-bottom:1px solid #b3eff92b}.opponents{position:relative}.opponent{background:#184c752d;border:1px solid #c7edff30;border-radius:14px;padding:10px}.opponent.current{background:#90d7ef20;outline:2px solid #ffe591;box-shadow:0 0 20px #ffec7b20}.player-identity{display:flex;align-items:center;gap:7px}.golfer-avatar{width:31px;height:31px;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;background:#e4e4ff;border:2px solid #ffffffad;border-radius:50%;color:#a78be5;overflow:hidden}.golfer-avatar svg{width:100%}.avatar-1{background:#ffe4d8;color:#ef9a6a}.avatar-2{background:#d2f8f6;color:#4dc7bc}.avatar-3{background:#ffeed0;color:#ffc952}.avatar-4{background:#f9dded;color:#ec7ca8}.avatar-5{background:#e2efff;color:#7caee6}.opponent .player-label{gap:4px}.opponent .golfer-avatar{width:23px;height:23px}.opponent p{color:#c7e2f4}.player-label small{color:#c4e4f8}.table-seal{opacity:.9}.table-seal svg{width:63px;filter:drop-shadow(0 4px 2px #194b7a40)}.table-seal span{color:#bcebf0;font-weight:700}.pile>span{color:#f2eaff;font-weight:700}.pile small{color:#b9deed}.deck{box-shadow:3px 5px 0 #d7d0fa,6px 9px 0 #8286bd!important}.discard.face{background:linear-gradient(145deg,#ffac80,#f4819b);color:white}.discard.face.ace{background:linear-gradient(145deg,#ffe783,#ffba48);color:#97501b}.turn-banner{background:#f4f0ff;color:#65629d;border:2px solid #fff;box-shadow:0 4px 0 #14365c24;border-radius:14px;font-size:12px}.turn-dot{background:#a18bea;box-shadow:0 0 0 4px #e3dcf8}.turn-banner.last-turn{background:#fff0cc;border-color:#ffe5a3;color:#a87834}.turn-banner small{color:#b78b41}.your-area{background:#12375d20;border:1px solid #b6e7f333;border-radius:18px;padding:14px;max-width:460px}.your-area .player-label{color:#e2f3ff}.turn-actions>span{color:#c8ebf4}.cream-button{background:#ffe69c;color:#8c6935;border:2px solid #fff3c5;box-shadow:0 3px 0 #c6924e;border-radius:12px}.score-panel{background:white;border:2px solid #e5e5fa;box-shadow:0 6px 0 #e1e0f15e;border-radius:22px}.score-panel .eyebrow{color:#ac96ce}.score-panel h2{color:#7365a9}.muted,.caddie p,.recent ul{color:#8e91b2}.score-player{border-color:#eeedf7}.score-player>b{color:#8b71bd}.score-player small{color:#a1a3be}.hole-dots span{border-color:#ded8ef;color:#b4a5cd}.hole-dots .active{background:#a18add;border-color:#a18add;color:white;box-shadow:0 3px 0 #7e65b9}.hole-dots .done{background:#e5dcff;color:#8775b1}.caddie{background:#fff7dc;border:0;border-radius:14px;padding:14px;color:#b99a48}.caddie p{color:#a59c78;margin-bottom:0}th,td{border-color:#e7e5f5}.total-row{background:#eee7fd}.score-scroll{color:#8188ac}.handoff{background:linear-gradient(135deg,#706ccded,#379dbdeb);backdrop-filter:blur(12px)}.handoff>span{color:#ffe594}.handoff .eyebrow{color:#d9f6fb}.handoff h2{color:#fff}.handoff p:not(.eyebrow){color:#d5eaf8}.handoff .primary{background:#ffe59c;color:#a57938;box-shadow:0 5px 0 #c99a51}.match-cheer{position:absolute;z-index:5;top:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;white-space:nowrap;background:#fff4b6;border:3px solid #fff;border-radius:30px;padding:8px 20px 8px 9px;color:#ac7625;box-shadow:0 7px 0 #e1b34860;animation:cheer 3.6s both;pointer-events:none}.match-cheer svg{width:35px;height:35px}.match-cheer b{font:800 19px 'Outfit',sans-serif}.results{position:relative;isolation:isolate;background:linear-gradient(#ffffffd9,#ffffffee),url('/fairway-nine/golf-island.png') center/cover;border:4px solid #fff;border-radius:35px;padding:35px 24px;box-shadow:0 20px 60px #789ec21a;overflow:hidden}.result-emblem{width:110px;filter:drop-shadow(0 7px 0 #f1c76344)}.results h1{color:#7474b8}.results h1 em{color:#f080a3}.results .eyebrow{color:#ba99c7}.results>p:not(.eyebrow){color:#9a95b0}.podium-place{background:linear-gradient(#c9eafa,#b4dcf6);color:#557aab;border:3px solid #fff;box-shadow:0 6px 0 #9bbad433}.podium-place.place0{background:linear-gradient(#ffeaaa,#ffd684);color:#af7734;box-shadow:0 7px 0 #e4b25144}.podium-place.place2{background:linear-gradient(#ecdcff,#dac2fb);color:#9774b6}.podium-avatar{display:flex;justify-content:center;height:42px}.podium-avatar>svg{width:42px}.podium-avatar .golfer-avatar{width:42px;height:42px}.result-score{background:#fff;box-shadow:0 4px 0 #d9dceb60;border:2px solid #e9e8f8}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.confetti i{position:absolute;left:var(--x);top:-30px;width:9px;height:16px;background:var(--c);border-radius:2px;animation:confetti-drop 5s linear both;animation-delay:calc(var(--i)*-.14s);opacity:.65}.confetti i:nth-child(3n){border-radius:50%;height:9px}dialog{background:#fffaff;border:3px solid #e5defa;color:#6b6391}dialog::backdrop{background:#42417b88}.close{color:#a18ac1}@keyframes bob{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-12px) rotate(8deg)}}@keyframes cheer{0%{opacity:0;transform:translate(-50%,-35px) scale(.7)}12%,75%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-15px)}}@keyframes confetti-drop{from{transform:translateY(-30px) rotate(0)}to{transform:translateY(1000px) rotate(680deg)}}
@media(max-width:1050px){.course-art{min-height:735px}.island-caption{font-size:38px;left:23px}.demo-cards .card{width:100px;height:144px}.island-badge{left:16px;padding-right:11px}.your-area{padding:12px}.mini .card-graphic{width:13px;height:12px}.opponent .player-label{font-size:9px}}
@media(max-width:760px){.landing{display:flex;flex-direction:column}.course-art{display:block;order:-1;min-height:0;height:235px;border-radius:24px;margin-bottom:26px}.island-art{object-position:50% 52%}.island-badge{top:12px;left:14px;padding:6px 10px 6px 4px;border-radius:13px}.island-badge svg{width:30px}.island-badge span{font-size:6px}.island-badge b{font-size:8px}.demo-cards{left:auto;right:9px;bottom:22px;top:auto;width:180px}.demo-cards .card{width:65px;height:96px;border-radius:9px}.demo-cards .card strong{font-size:29px}.demo-cards .card-graphic{width:22px;height:20px}.demo-cards .card-caption{display:none}.demo-cards .corner,.demo-cards .bottom-corner{font-size:8px}.island-caption{font-size:30px;left:20px;bottom:20px;letter-spacing:-1px}.island-caption>span{font-size:6px;letter-spacing:1px;margin-top:10px}.star-a{width:35px;right:19px;top:28px}.star-b{display:none}.landing h1{font-size:63px;line-height:1.05;margin-bottom:15px}.landing h1 br{display:none}.title-flag{width:42px;margin-left:8px}.landing-copy .eyebrow{font-size:7px;letter-spacing:1.2px;margin-bottom:16px}.intro{font-size:14px}.intro br{display:none}.intro br:after{content:' '}.setup-panel{padding:18px}.pills{margin-bottom:22px}.mode b{font-size:12px}.mode .mode-icon{width:39px;height:39px}.learn-strip{gap:8px;padding-top:0}.learn-strip>div{padding:13px 10px;border-radius:15px}.learn-strip svg{width:32px;height:32px}.learn-strip b{font-size:11px}.learn-strip p{font-size:9px}.game-top{padding:12px 9px;border-radius:15px;gap:6px}.compact-title h1{font-size:20px}.compact-title>svg{width:27px}.compact-title{gap:6px}.hole-info{padding:8px 10px;font-size:10px}.game-top .secondary{padding:9px 7px;font-size:9px}.felt{padding-top:90px;border-width:5px;border-radius:23px}.table-landscape{height:85px}.opponent{padding:8px 5px}.opponent .player-identity{gap:4px;flex-wrap:wrap;justify-content:center}.opponent .golfer-avatar{width:21px;height:21px}.card-graphic{width:27px;height:24px}.hand .card strong{font-size:34px}.mini .card strong{font-size:18px}.mini .card-graphic{width:13px;height:11px}.mini .corner,.mini .bottom-corner{font-size:6px}.your-area{padding:12px 9px}.your-area .player-label{font-size:9px;gap:4px}.your-area .golfer-avatar{width:25px;height:25px}.turn-banner{font-size:10px}.turn-actions>span{font-size:8px}.match-cheer{top:13px;padding:6px 15px 6px 5px}.match-cheer b{font-size:16px}.match-cheer svg{width:27px;height:27px}.results{padding:25px 14px}.results h1{font-size:35px}.podium-place{padding-left:7px;padding-right:7px}.score-panel .caddie{display:block}.score-player .golfer-avatar{width:35px;height:35px}}
@media(max-width:380px){.landing h1{font-size:54px}.title-flag{width:33px}.island-caption{font-size:26px;left:14px}.demo-cards{right:3px;width:155px}.demo-cards .card{width:57px;height:86px}.demo-cards .card strong{font-size:25px}.demo-cards .card-graphic{width:18px;height:17px}.card-graphic{width:22px;height:20px}.hand .card strong{font-size:28px}.mini .card strong{font-size:16px}.mini .card-graphic{display:none}.your-area .player-label{flex-wrap:wrap}.mode small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.confetti{display:none}.match-cheer{animation:none;opacity:1}}
