:root{--sand:#f5ead6;--sand-hi:#fdf7ec;--sand-2:#efe2c8;--panel:#fffdf8;--ink:#35240f;--muted:#7b6446;--line:#e4d3b4;--edge:#35240f29;--turq:#1bb0c0;--turq-deep:#0b7b87;--gold:#d9921a;--good:#2b9a57;--bad:#c94a34;--font-display:"Rajdhani", "Arial Narrow", "Segoe UI", sans-serif;--font-body:"Figtree", "Segoe UI", system-ui, sans-serif;--step:polygon(12px 0, calc(100% - 12px) 0, calc(100% - 12px) 12px, 100% 12px, 100% 100%, 0 100%, 0 12px, 12px 12px);--step-sm:polygon(6px 0, calc(100% - 6px) 0, calc(100% - 6px) 6px, 100% 6px, 100% 100%, 0 100%, 0 6px, 6px 6px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{margin:0}body{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cpath d='M0 18 12 6 24 18 36 6 48 18' fill='none' stroke='%23d9921a' stroke-opacity='.16' stroke-width='1.5'/%3E%3C/svg%3E") 0 0 / 46px auto, linear-gradient(170deg, var(--sand-hi), var(--sand) 420px);color:var(--ink);font-family:var(--font-body);background-attachment:fixed;min-height:100vh;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--turq-deep);outline-offset:2px}img{display:block}code{background:var(--sand-2);padding:1px 6px}h1,h2{font-family:var(--font-display);letter-spacing:.01em;text-wrap:balance;margin:0 0 8px;font-weight:700;line-height:1.05}h2{font-size:1.75rem}em{color:var(--turq-deep);font-style:normal}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.eyebrow{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--turq-deep);font-size:.8rem;font-weight:700}.app{max-width:1120px;margin:0 auto;padding:0 20px 40px}.course,.stats{max-width:800px;margin:0 auto}.range{max-width:1000px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:20px 0 24px;display:flex}.brand{font-family:var(--font-display);background:0 0;border:0;align-items:center;gap:10px;padding:0;font-size:1.5rem;font-weight:700;display:flex}.brand-mark{background:linear-gradient(160deg, var(--turq), var(--turq-deep));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:24px;height:27px}.topnav{gap:8px;display:flex}.topnav .btn{padding:9px 18px}.topnav .btn.current{box-shadow:inset 0 0 0 2px var(--turq-deep)}.topnav .btn.primary.current{background:var(--turq-deep)}.legal{color:var(--muted);text-align:center;margin-top:56px;font-size:.75rem}.loading{text-align:center;color:var(--muted);font-family:var(--font-display);padding:80px 0;font-size:1.3rem}.panel{background:var(--panel);border-top:4px solid var(--gold);padding:24px}.btn{background:var(--panel);color:var(--ink);clip-path:var(--step-sm);box-shadow:inset 0 0 0 1.5px var(--edge);border:0;padding:10px 20px;font-weight:700;transition:background .15s,box-shadow .15s,transform .1s}.btn:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--ink)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45}.btn.primary{background:var(--ink);color:var(--sand-hi);box-shadow:none}.btn.primary:hover:not(:disabled){background:var(--turq-deep);box-shadow:none}.btn.ghost{box-shadow:none;clip-path:none;color:var(--muted);background:0 0;padding-left:0}.btn.ghost:hover{color:var(--ink);box-shadow:none}.btn.danger:hover{box-shadow:inset 0 0 0 1.5px var(--bad);color:var(--bad)}.button-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.home{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:center;gap:40px;padding-top:12px;display:grid}.home-kicker{font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;color:var(--turq-deep);margin:0 0 12px;font-size:.95rem;font-weight:700}.home-title{letter-spacing:0;margin:0 0 28px;font-size:clamp(2.8rem,7vw,4.8rem);line-height:.95}.course-picker{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.course-option{background:var(--panel);clip-path:var(--step);box-shadow:inset 0 0 0 1.5px var(--edge);text-align:left;border:0;flex-direction:column;gap:2px;padding:26px 16px 18px;transition:transform .15s,box-shadow .15s;display:flex}.course-option:hover{box-shadow:inset 0 0 0 1.5px var(--ink);transform:translateY(-3px)}.course-holes{font-family:var(--font-display);color:var(--turq-deep);font-size:3.6rem;font-weight:700;line-height:.9}.course-name{margin-top:4px;font-size:1.15rem;font-weight:800}.course-meta{color:var(--muted);font-size:.85rem}.course-progress{color:var(--gold);margin-top:10px;font-size:.9rem;font-weight:700}.course-option.go{background:var(--ink);color:var(--sand-hi);box-shadow:none}.course-option.go .course-holes{color:var(--turq)}.course-option.go .course-meta{color:#cdb894}.course-rank{color:var(--rank);align-items:center;gap:4px;display:inline-flex}.course-rank img{width:20px;height:20px}.course-option.go .course-rank{color:var(--sand-hi)}.home-timer{color:var(--muted);margin:18px 0 0;font-weight:600}.home-timer strong{font-family:var(--font-display);color:var(--ink);font-size:1.15rem}.home-side{flex-direction:column;gap:14px;min-width:0;display:flex}.side-panel{border-top:4px solid var(--gold);background:#fffdf8e6;padding:16px 18px}.side-panel.alt{border-top-color:var(--turq)}.side-panel p{margin:0}.panel-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.85rem;font-weight:700;margin-bottom:10px!important}.week{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid}.week li{color:var(--muted);flex-direction:column;align-items:center;gap:4px;font-size:.75rem;font-weight:700;display:flex}.week img{width:30px;height:30px}.week-empty{background:var(--sand-2);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:22px;height:25px;margin:2px 0 3px}.fact{font-size:1.08rem;line-height:1.4}.fact strong{font-family:var(--font-display);color:var(--turq-deep);font-size:1.45rem}.lineup{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.lineup li{background:var(--sand);box-shadow:inset 0 0 0 1px var(--edge);align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:.85rem;font-weight:700;display:flex}.lineup li span{background:var(--panel);width:20px;height:20px;color:var(--muted);place-items:center;font-size:.75rem;display:grid}.lineup li.first span{background:var(--ink);color:var(--sand-hi)}.lineup-note{color:var(--muted);font-size:.8rem;margin-top:10px!important}.course-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.scorecard{background:var(--panel);box-shadow:inset 0 0 0 1px var(--line);margin-bottom:20px;overflow-x:auto}.scorecard table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.88rem}.scorecard th,.scorecard td{text-align:center;border-right:1px solid var(--line);white-space:nowrap;padding:7px 8px}.scorecard thead th{background:var(--sand-2);font-family:var(--font-display);font-size:.95rem}.scorecard tbody td,.scorecard tbody th{border-top:1px solid var(--line)}.scorecard th:first-child{text-align:left;color:var(--muted);font-weight:700}.scorecard thead th.current{background:var(--turq-deep);color:#fff}.scorecard .total{font-weight:700}.score-cell{color:var(--rank,var(--ink));align-items:center;gap:3px;font-weight:700;display:inline-flex}.score-cell img{width:18px;height:18px}.hole{background:var(--panel);border-top:4px solid var(--gold);padding:24px;box-shadow:0 18px 40px -28px #35240f73}.hole-header{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.hole-header h2{margin:0 0 4px;font-size:2rem}.hole-header p{margin:0;font-size:.95rem}.game-badge{background:linear-gradient(160deg, var(--turq), var(--turq-deep));clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:46px;height:52px;font-family:var(--font-display);color:#fff;flex:none;place-items:center;font-size:1.35rem;font-weight:700;display:grid}.hole-body{flex-direction:column;gap:14px;display:flex}.clue-card{background:var(--sand);text-align:center;clip-path:var(--step);padding:18px 20px}.clue-kicker{color:var(--muted);font-size:.9rem}.clue-title{font-family:var(--font-display);margin:6px 0 0;font-size:clamp(1.4rem,4.5vw,2rem);font-weight:700;line-height:1.1}.clue-lore{text-align:left;margin:8px 0 0}.hints{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;display:grid}.hint{background:var(--sand);border-left:3px solid var(--turq);flex-direction:column;padding:8px 12px;display:flex}.hint span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.78rem;font-weight:700}.blurred-portrait{filter:blur(7px)saturate(1.2);width:56px;height:56px;margin-top:4px}.champ-input{position:relative}.champ-input input{width:100%;font:inherit;color:var(--ink);border:1.5px solid var(--line);background:#fff;outline:none;padding:14px 16px;font-size:1.05rem}.champ-input input:focus{border-color:var(--turq-deep)}.suggestions{z-index:5;border:1px solid var(--line);background:#fff;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 14px 30px -12px #35240f59}.suggestions button{text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:6px 8px;font-weight:600;display:flex}.suggestions button.active{background:var(--sand);box-shadow:inset 3px 0 0 var(--turq-deep)}.suggestions img{width:28px;height:28px}.guess-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.guess-list li{background:var(--sand);align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:.9rem;font-weight:600;display:flex}.guess-list img{width:24px;height:24px}.guess-list li.wrong{color:var(--muted);text-decoration:line-through}.guess-list li.right{background:var(--good);color:#fff}.reveal{background:var(--sand);align-items:center;gap:14px;padding:12px;display:flex}.reveal img{width:64px;height:64px}.reveal div{flex-direction:column;display:flex}.reveal strong{font-family:var(--font-display);font-size:1.5rem;line-height:1.1}.reveal.won{box-shadow:inset 4px 0 0 var(--good)}.reveal.lost{box-shadow:inset 4px 0 0 var(--bad)}.hl-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;display:grid}.hl-card{background:var(--sand);text-align:center;clip-path:var(--step);flex-direction:column;align-items:center;gap:6px;padding:18px 10px;transition:background .2s;display:flex}.hl-card img{object-fit:contain;width:64px;height:64px}.hl-avatar{width:60px;height:68px;font-family:var(--font-display);color:#fff;background:linear-gradient(160deg, var(--gold), #b06f0c);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);place-items:center;font-size:1.5rem;font-weight:700;display:grid}.hl-question{font-family:var(--font-display);color:var(--ink);min-height:2.4em;margin:0;font-size:1.3rem;font-weight:700}.hl-card.right{background:#dcefdc}.hl-card.wrong{background:#f6d9d1}.hl-value{font-family:var(--font-display);color:var(--turq-deep);font-size:1.6rem;font-weight:700}.hl-vs{font-family:var(--font-display);color:var(--muted);font-weight:700}.hole-body .button-row{margin-top:0}.dots{justify-content:center;gap:6px;display:flex}.dots span{background:var(--line);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);width:11px;height:12px}.dots span.right{background:var(--good)}.dots span.wrong{background:var(--bad)}.bn-question{margin:0;font-size:clamp(1.2rem,3.6vw,1.5rem)}.bn-input{text-align:center;width:100%;font-family:var(--font-display);color:var(--ink);background:0 0;border:1.5px solid #0000;outline:none;padding:2px 8px;font-size:2.4rem;font-weight:700}.bn-input:hover:not(:disabled),.bn-input:focus{border-color:var(--line);background:#fff}.slider-block{flex-direction:column;gap:6px;display:flex}.big-number{font-family:var(--font-display);text-align:center;color:var(--ink);font-size:2.4rem;font-weight:700}.big-number small{font-family:var(--font-body);color:var(--muted);font-size:.9rem}.slider-scale{color:var(--muted);justify-content:space-between;font-size:.8rem;display:flex}input[type=range]{width:100%;accent-color:var(--turq-deep);height:28px}.estimate-reveal{text-align:center}.estimate-reveal p{margin:0 0 4px}.hole-body>.btn.primary{align-self:center}.model-stage{height:clamp(280px,50vh,440px);clip-path:var(--step);background:radial-gradient(at 50% 30%,#fffaf0,#eddcbd 78%);position:relative;overflow:hidden}.model-stage canvas{touch-action:pan-y;cursor:grab;width:100%;height:100%;display:block}.model-stage canvas:active{cursor:grabbing}.model-stage-msg{text-align:center;color:var(--muted);font-family:var(--font-display);place-items:center;padding:16px;font-size:1.2rem;font-weight:600;display:grid;position:absolute;inset:0}.model-tag{pointer-events:none;white-space:nowrap;color:var(--sand-hi);background:#35240fd9;padding:2px 9px;font-size:.8rem;font-weight:700;position:absolute;bottom:8px;transform:translate(-50%)}.model-tag.guess-tag{background:var(--turq-deep);bottom:auto;transform:translate(-50%,-130%)}.splash-frame{aspect-ratio:1215/717;background:var(--sand-2);max-width:100%;clip-path:var(--step);overflow:hidden}.splash-frame img{object-fit:cover;width:100%;height:100%;transition:transform .9s;display:block}.silhouette-stage{height:clamp(260px,45vh,380px);clip-path:var(--step);background:radial-gradient(circle at 50% 45%,#fffaf0,#e7d2ab 85%);position:relative;overflow:hidden}.silhouette-stage canvas{width:100%;height:100%;display:block}.conn-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.conn-tile{background:var(--sand);min-height:86px;box-shadow:inset 0 0 0 1px var(--edge);color:var(--ink);text-align:center;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:.8rem;font-weight:700;line-height:1.15;transition:transform .1s,background .15s;display:flex}.conn-tile img{width:40px;height:40px}.conn-tile:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--ink)}.conn-tile:active:not(:disabled){transform:scale(.97)}.conn-tile.selected{background:var(--ink);color:var(--sand-hi);box-shadow:none}.conn-tile:disabled{opacity:.6}.conn-band{text-align:center;color:var(--ink);clip-path:var(--step-sm);padding:10px 12px}.conn-band strong{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;display:block}.conn-band span{font-size:.88rem}.conn-band.level-0{background:#f2cf62}.conn-band.level-1{background:#9fd27f}.conn-band.level-2{background:#8fcbe0}.conn-band.level-3{background:#d0a3e0}.conn-band.missed{opacity:.7}.conn-status{min-height:1.4em;margin:0}.dive-progress{justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.dive-progress li{width:36px;height:40px;color:var(--muted);background:var(--sand-2);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);place-items:center;font-size:.8rem;font-weight:800;display:grid}.dive-progress li.now{background:var(--turq-deep);color:#fff}.dive-progress li.common{color:var(--ink);background:#c9b48d}.dive-progress li.uncommon{background:var(--good);color:#fff}.dive-progress li.rare{color:#fff;background:#3c7fd0}.dive-progress li.deep{background:var(--gold);color:#fff}.dive-progress li.miss{background:var(--bad);color:#fff}.dive-text{gap:8px;display:flex}.dive-text input{flex:1;min-width:0}.dive-answers{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.dive-answers li{background:var(--sand);justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.dive-answers li>div{flex-direction:column;min-width:0;display:flex}.dive-ask{color:var(--muted);font-size:.8rem}.dive-given{font-weight:700}.dive-cuts{color:var(--muted);font-size:.8rem;font-style:italic}.dive-answers strong{white-space:nowrap;font-size:.88rem}.dive-answers li.common strong{color:var(--muted)}.dive-answers li.uncommon strong{color:var(--good)}.dive-answers li.rare strong{color:#3c7fd0}.dive-answers li.deep strong{color:var(--gold)}.dive-answers li.miss strong{color:var(--bad)}.result-card{background:var(--sand);text-align:center;border-top:4px solid var(--rank,var(--gold));margin-top:18px;padding:20px 18px}.result-score{flex-direction:column;align-items:center;gap:2px;display:flex}.result-label{font-family:var(--font-display);color:var(--rank,var(--ink));font-size:2.2rem;font-weight:700;line-height:1}.result-points{color:var(--muted);margin:0}.result-points strong{color:var(--ink);font-family:var(--font-display);font-size:1.4rem}.rank-iron{--rank:#6f6a66}.rank-bronze{--rank:#a65f3a}.rank-silver{--rank:#7f8b94}.rank-gold{--rank:#b98515}.rank-platinum{--rank:#23928b}.rank-emerald{--rank:#1f9a5e}.rank-diamond{--rank:#4466d6}.rank-master{--rank:#9645c4}.rank-grandmaster{--rank:#cc3b33}.rank-challenger{--rank:#b8902e}.rank-badge{vertical-align:middle;color:var(--rank);align-items:center;gap:4px;font-weight:700;display:inline-flex}.rank-badge.small img{width:20px;height:20px}.rank-badge.large{justify-content:center;margin:4px 0;display:flex}.rank-badge.large img{filter:drop-shadow(0 6px 10px #35240f40);width:80px;height:80px}.best-rank{align-items:center;gap:4px;display:inline-flex}.fun-rating{color:var(--muted);flex-direction:column;align-items:center;gap:2px;margin-top:14px;font-size:.85rem;display:flex}.stars button{color:var(--line);background:0 0;border:0;padding:0 3px;font-size:1.7rem;transition:color .1s,transform .1s}.stars button:hover{transform:scale(1.15)}.stars button.on{color:var(--gold)}.summary{text-align:center;background:var(--panel);border-top:4px solid var(--rank,var(--gold));padding:28px 16px;box-shadow:0 18px 40px -28px #35240f73}.summary h2{color:var(--rank,var(--ink));margin:4px 0;font-size:2.6rem}.emoji-line{letter-spacing:.1em;margin:8px 0;font-size:1.6rem}.range h2,.stats h2{font-size:2.2rem}.hole-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:16px;display:grid}.hole-card{text-align:left;background:var(--panel);clip-path:var(--step);box-shadow:inset 0 0 0 1.5px var(--edge);border:0;flex-direction:column;gap:4px;padding:20px 16px 16px;transition:transform .15s,box-shadow .15s;display:flex}.hole-card:hover{box-shadow:inset 0 0 0 1.5px var(--ink);transform:translateY(-2px)}.hole-card strong{font-family:var(--font-display);font-size:1.4rem;line-height:1.1}.table-wrap{background:var(--panel);margin-top:16px;overflow-x:auto}.stats-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.92rem}.stats-table th{text-align:left;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);background:var(--sand-2);padding:10px;font-size:.85rem}.stats-table td{border-bottom:1px solid var(--line);padding:10px}.fun-bar{background:var(--sand-2);min-width:120px;height:22px;display:block;position:relative;overflow:hidden}.fun-bar span{background:linear-gradient(90deg, var(--turq), var(--gold));position:absolute;inset:0 auto 0 0}.fun-bar em{color:var(--ink);padding-left:8px;font-size:.8rem;font-weight:700;line-height:22px;position:relative}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}@media (width<=860px){.home{grid-template-columns:1fr;gap:24px}}@media (width<=560px){.app{padding:0 16px 32px}.topbar{flex-wrap:wrap}.brand{font-size:1.3rem}.topnav .btn{padding:8px 12px;font-size:.9rem}.course-picker{grid-template-columns:1fr}.course-option{grid-template-columns:auto 1fr;column-gap:14px;padding:18px 16px 14px;display:grid}.course-holes{grid-row:span 3;align-self:center;font-size:3rem}.course-name{margin-top:0}.course-progress{margin-top:2px}.conn-tile{min-height:74px;font-size:.7rem}.conn-tile img{width:32px;height:32px}.hole{padding:16px}.hl-card img{width:48px;height:48px}}
