@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_b8dc36a4-module__lPYx_q__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_b8dc36a4-module__lPYx_q__variable{--font-fraunces:"Fraunces", "Fraunces Fallback"}
:root{--pine:#123b32;--pine-deep:#082c25;--pine-soft:#28584a;--paper:#f3f0e7;--paper-bright:#fbfaf6;--paper-shade:#eae6d9;--ink:#132822;--muted:#66756e;--line:#123b3229;--line-strong:#123b3252;--coral:#e66048;--coral-deep:#c94a33;--gold:#caa461;--boc:#315f9b;--boc-tint:#315f9b1f;--hap:#9d493f;--hap-tint:#9d493f1f;--good-ink:#2c7047;--good-bg:#dfeee4;--bad-ink:#a44a3d;--bad-bg:#f7e2dd;--dark-ink:#f5f2e9;--dark-muted:#f5f2e9a3;--dark-line:#ffffff29;--font-serif:var(--font-fraunces), Georgia, serif;--font-sans:var(--font-geist-sans), Arial, sans-serif;--font-mono:var(--font-geist-mono), "Courier New", monospace;--t-label:11px;--t-xs:12px;--t-sm:13px;--t-base:15px;--t-lg:17px;--d-sm:22px;--d-md:clamp(24px, 3.4vw, 32px);--d-lg:clamp(30px, 5vw, 46px);--d-xl:clamp(38px, 7vw, 64px);--gutter:clamp(20px, 5vw, 48px);--shell-max:1160px;--s-1:8px;--s-2:16px;--s-3:24px;--s-4:32px;--s-5:48px;--s-6:64px;--s-7:96px;--pad-sm:16px;--pad-md:24px;--pad-lg:32px;--header-h:64px;--tabbar-h:calc(60px + env(safe-area-inset-bottom,0px));--speed:.15s}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--t-base);margin:0;line-height:1.55}button,a,input,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}p{margin:0 0 var(--s-2)}p:last-child{margin-bottom:0}h1,h2,h3{font-family:var(--font-serif);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.08}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--coral);outline-offset:2px}.on-dark button:focus-visible,.on-dark a:focus-visible,.cover button:focus-visible,.cover a:focus-visible{outline-color:var(--gold)}button,a,summary,select{transition:background-color var(--speed) ease, color var(--speed) ease, border-color var(--speed) ease, opacity var(--speed) ease}.label{font-size:var(--t-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;display:block}.eyebrow{font-size:var(--t-label);letter-spacing:.14em;text-transform:uppercase;color:var(--coral-deep);font-weight:700;display:block}.cover .eyebrow,.on-dark .eyebrow{color:var(--gold)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--d-sm);font-weight:700;line-height:1.1}.caption{font-size:var(--t-xs);color:var(--muted)}.lede{font-size:var(--t-lg);color:var(--muted);max-width:58ch}.chip{font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--muted);background:var(--paper-bright);white-space:nowrap;align-items:center;gap:5px;padding:3px 9px;font-weight:600;display:inline-flex}.chip--good{background:var(--good-bg);color:var(--good-ink);border-color:#0000}.chip--bad{background:var(--bad-bg);color:var(--bad-ink);border-color:#0000}.chip--boc{background:var(--boc-tint);color:var(--boc);border-color:#0000}.chip--hap{background:var(--hap-tint);color:var(--hap);border-color:#0000}.chip--gold{color:#8a6d33;background:#caa46129;border-color:#0000}.shell{max-width:var(--shell-max);padding-inline:var(--gutter);margin:0 auto}.app-header{z-index:40;background:var(--pine-deep);color:var(--dark-ink);border-bottom:1px solid var(--dark-line);position:sticky;top:0}.app-header .shell{height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{flex:none;width:auto;height:44px}.footer-logo{height:56px;margin-bottom:var(--s-1)}.brand-text b{font-size:var(--t-xs);letter-spacing:.14em;white-space:nowrap;font-weight:700;display:block}.brand-text small{font-size:var(--t-label);letter-spacing:.14em;color:var(--dark-muted);white-space:nowrap;margin-top:2px;display:block}.header-nav{align-items:center;gap:4px;display:flex}.header-nav a{font-size:var(--t-sm);color:var(--dark-muted);border-bottom:2px solid #0000;padding:9px 14px;font-weight:600}.header-nav a:hover{color:var(--dark-ink)}.header-nav a.active{color:var(--dark-ink);border-bottom-color:var(--gold)}.header-meta{text-align:right}.header-meta span{font-size:var(--t-label);letter-spacing:.1em;color:var(--dark-muted);display:block}.header-meta b{font-size:var(--t-xs);letter-spacing:.08em;font-weight:700;display:block}.stripe{background:repeating-linear-gradient(90deg, var(--coral) 0 24px, var(--paper-bright) 24px 48px);height:3px}.tabbar{inset-inline:0;z-index:40;background:var(--pine-deep);border-top:1px solid var(--dark-line);padding-bottom:env(safe-area-inset-bottom,0px);display:none;position:fixed;bottom:0}.tabbar-inner{grid-template-columns:repeat(5,1fr);display:grid}.tabbar a{min-height:52px;color:var(--dark-muted);letter-spacing:.06em;text-transform:uppercase;justify-items:center;gap:3px;padding:9px 4px 8px;font-size:10px;font-weight:600;display:grid}.tabbar a svg{width:21px;height:21px}.tabbar a.active{color:var(--gold)}.app-footer{background:var(--pine-deep);color:var(--dark-muted);margin-top:var(--s-7)}.app-footer .shell{padding-block:var(--s-5);gap:var(--s-2);display:grid}.app-footer b{color:var(--dark-ink);font-size:var(--t-xs);letter-spacing:.14em}.app-footer p,.app-footer span{font-size:var(--t-xs);max-width:72ch}.page{padding-block:var(--s-5) var(--s-6)}.page-head{margin-bottom:var(--s-5)}.page-head .rule{margin-bottom:var(--s-2);align-items:center;gap:10px;display:flex}.page-head .rule:after{content:"";background:var(--gold);opacity:.55;flex:1;height:1px}.page-head .rule .num{font-size:var(--t-xs);color:var(--gold);font-weight:700}.page-head h1{font-size:var(--d-lg);max-width:24ch}.page-head .lede{margin-top:var(--s-2)}.section{margin-top:var(--s-6)}.section-title{margin-bottom:var(--s-3)}.section-title h2{font-size:var(--d-md)}.section-title .label{margin-bottom:6px}.section-title p{margin-top:var(--s-1);color:var(--muted);max-width:64ch}.cover{background:var(--pine-deep);color:var(--dark-ink)}.cover .lede,.cover .caption,.cover .label{color:var(--dark-muted)}.hairline{border-top:1px solid var(--line);border-left:1px solid var(--line);background:var(--paper-bright);display:grid}.hairline>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0}.cover .hairline,.hairline--dark{border-color:var(--dark-line);background:0 0}.cover .hairline>*,.hairline--dark>*{border-color:var(--dark-line)}.btn{min-height:44px;font-size:var(--t-sm);letter-spacing:.04em;border:1px solid var(--line-strong);background:var(--paper-bright);justify-content:center;align-items:center;gap:10px;padding:10px 20px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--ink)}.btn--primary{background:var(--coral);border-color:var(--coral);color:#fff}.btn--primary:hover{background:var(--coral-deep);border-color:var(--coral-deep)}.btn--dark{border-color:var(--dark-line);color:var(--dark-ink);background:0 0}.btn--dark:hover{border-color:var(--dark-ink)}.seg{border:1px solid var(--line-strong);background:var(--paper-bright);display:inline-flex}.seg button{min-height:44px;font-size:var(--t-sm);color:var(--muted);padding:8px 18px;font-weight:600}.seg button:hover{color:var(--ink)}.seg button.active{background:var(--pine);color:var(--dark-ink)}.select-wrap{display:inline-flex;position:relative}.select-wrap select{appearance:none;min-height:44px;color:var(--ink);background:var(--paper-bright);border:1px solid var(--line-strong);padding:8px 40px 8px 14px;font-size:16px;font-weight:600}.select-wrap:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:8px;height:8px;position:absolute;top:50%;right:14px;transform:translateY(-70%)rotate(45deg)}details.disclosure{border:1px solid var(--line);background:var(--paper-bright)}details.disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--s-2);min-height:48px;padding:12px var(--pad-sm);font-size:var(--t-sm);font-weight:600;list-style:none;display:flex}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary:after{content:"+";font-family:var(--font-mono);color:var(--muted)}details.disclosure[open]>summary:after{content:"−"}details.disclosure>.disclosure-body{padding:4px var(--pad-sm) var(--pad-sm);border-top:1px solid var(--line)}.hero-band{position:relative;overflow:hidden}.hero-band .hero-img{opacity:.34;background-position:50% 60%;background-size:cover;position:absolute;inset:0}.hero-band .hero-wash{background:linear-gradient(#082c258c,#082c25eb);position:absolute;inset:0}.hero-band .shell{padding-block:var(--s-6);position:relative}.hero-band h1{font-size:var(--d-xl);max-width:15ch}.hero-band .hero-tag{font-family:var(--font-serif);font-style:italic;font-size:var(--d-sm);color:var(--dark-muted);margin-top:6px}.hero-band .lede{margin-top:var(--s-2)}.hero-band .hero-actions{gap:var(--s-2);margin-top:var(--s-4);flex-wrap:wrap;display:flex}.hero-band .hero-credit{margin-top:var(--s-4);font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--dark-muted)}.today-card{border:1px solid var(--line);background:var(--paper-bright);border-top:3px solid var(--gold);padding:var(--pad-md);gap:var(--s-2);display:grid}.today-card .today-rounds{gap:var(--s-1);display:grid}.today-card .today-round{justify-content:space-between;align-items:center;gap:var(--s-1) var(--s-2);border:1px solid var(--line);padding:12px var(--pad-sm);flex-wrap:wrap;display:flex}.today-card .today-round:hover{border-color:var(--ink)}.today-card .today-round b{font-size:var(--t-base)}.resume-link{min-height:40px;font-size:var(--t-sm);color:var(--coral-deep);align-items:center;gap:8px;font-weight:600;display:inline-flex}.resume-link:hover{color:var(--ink)}.home-tiles{grid-template-columns:repeat(4,1fr)}.home-tiles a{padding:var(--pad-md) var(--pad-sm);background:var(--paper-bright);gap:6px;display:grid}.home-tiles a:hover{background:var(--paper-shade)}.home-tiles b{font-family:var(--font-serif);font-size:var(--t-lg);font-weight:600}.home-tiles span{font-size:var(--t-xs);color:var(--muted)}.seriesboard{grid-template-columns:repeat(6,1fr)}.seriesboard>div{padding:var(--pad-sm);text-align:center;justify-items:center;gap:4px;display:grid}.seriesboard small{font-size:var(--t-label);letter-spacing:.08em;color:var(--muted)}.seriesboard b{font-family:var(--font-serif);font-size:var(--t-lg)}.seriesboard .num{font-size:var(--t-xs);color:var(--muted)}.seriesboard .won-boc b{color:var(--boc)}.seriesboard .won-hap b{color:var(--hap)}.round-arch{grid-template-columns:repeat(4,1fr)}.round-arch>div{padding:var(--pad-sm);gap:4px;display:grid}.round-arch b{font-family:var(--font-serif);font-size:var(--t-lg)}.course-cards{gap:var(--s-3);grid-template-columns:repeat(3,1fr);display:grid}.course-card{border:1px solid var(--line);background:var(--paper-bright);display:grid}.course-card:hover{border-color:var(--ink)}.course-card .course-card-img{aspect-ratio:3/2;background-position:50%;background-size:cover}.course-card .course-card-body{padding:var(--pad-md);gap:var(--s-1);align-content:start;display:grid}.course-card h2{font-size:var(--d-sm)}.course-card .course-card-facts{font-size:var(--t-xs);color:var(--muted);flex-wrap:wrap;gap:6px 14px;display:flex}.course-card .course-card-rounds{font-size:var(--t-sm);gap:4px;display:grid}.dossier-facts{margin-top:var(--s-3);grid-template-columns:repeat(5,1fr)}.dossier-facts>div{padding:var(--pad-sm);align-content:start;gap:4px;display:grid}.dossier-facts b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--d-sm);font-weight:700}.dossier-links{gap:var(--s-2);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.dossier-links a{font-size:var(--t-sm);border-bottom:1px solid var(--line-strong);padding-bottom:2px;font-weight:600}.dossier-links a:hover{border-color:var(--ink)}.dossier-rounds{gap:var(--s-1);margin-top:var(--s-3);display:grid}.dossier-rounds>div{font-size:var(--t-sm);flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.quick-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.quick-grid a{background:var(--paper-bright);padding:var(--pad-sm);grid-template-columns:auto 1fr;align-content:start;gap:4px 12px;display:grid}.quick-grid a:hover{background:var(--paper-shade)}.quick-grid .q-num{font-family:var(--font-serif);font-size:var(--d-sm);color:var(--muted);grid-row:span 3;font-weight:600}.quick-grid .q-meta{font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.quick-grid .q-target{font-family:var(--font-mono);font-size:var(--t-sm);font-weight:700}.quick-grid .q-cue{font-size:var(--t-xs);color:var(--muted)}.hole-context{top:var(--header-h);z-index:30;background:var(--pine);color:var(--dark-ink);border-bottom:1px solid var(--dark-line);position:sticky}.hole-context .shell{justify-content:space-between;align-items:center;gap:var(--s-2);min-height:52px;display:flex}.hole-context .hc-course{font-size:var(--t-sm);color:var(--dark-muted);font-weight:600}.hole-context .hc-hole{align-items:baseline;gap:12px;display:flex}.hole-context .hc-hole b{font-family:var(--font-serif);font-size:var(--t-lg)}.hole-context .hc-hole .num{font-size:var(--t-sm);color:var(--dark-muted)}.hole-strip{padding-block:var(--s-2);scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.hole-strip::-webkit-scrollbar{display:none}.hole-strip a{border:1px solid var(--line);width:44px;height:44px;font-family:var(--font-mono);font-size:var(--t-sm);background:var(--paper-bright);flex:none;place-items:center;font-weight:600;display:grid}.hole-strip a:hover{border-color:var(--ink)}.hole-strip a.active{background:var(--pine);border-color:var(--pine);color:var(--dark-ink)}.hole-layout{gap:var(--s-4);margin-top:var(--s-2);grid-template-columns:minmax(0,5fr) minmax(0,4fr);align-items:start;display:grid}.hole-photo{border:1px solid var(--line);background:var(--pine-soft);position:relative}.hole-photo img{aspect-ratio:3/2;object-fit:cover;width:100%;color:var(--dark-ink);font-size:var(--t-sm);padding:var(--pad-sm)}.hole-photo .photo-label{background:var(--pine-deep);color:var(--dark-ink);align-items:baseline;gap:10px;padding:8px 14px;display:flex;position:absolute;bottom:0;left:0}.hole-photo .photo-label b{font-family:var(--font-serif);font-size:var(--t-lg)}.hole-photo .photo-label span{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--dark-muted)}.photo-credit{font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px}.hole-intel{gap:var(--s-2);display:grid}.yardage-row{background:var(--line);border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.yardage-row>div{background:var(--paper-bright);padding:var(--pad-sm);gap:2px;display:grid}.yardage-row b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--d-md);font-weight:700;line-height:1}.yardage-row small{font-size:var(--t-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.landing-card{border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--paper-bright);padding:var(--pad-sm);gap:var(--s-1);display:grid}.landing-card .landing-head{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;display:flex}.landing-card p{font-size:var(--t-sm);color:var(--muted)}.intel-box{border:1px solid var(--line);background:var(--paper-bright);padding:var(--pad-sm);gap:6px;display:grid}.intel-box p{font-size:var(--t-base)}.guide-box{border-left:3px solid var(--pine)}.cue-box{border-left:3px solid var(--good-ink)}.danger-box{border-left:3px solid var(--hap)}.danger-box .label{color:var(--hap)}.tee-table{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:1px;display:grid}.tee-table>div{background:var(--paper-bright);padding:10px var(--pad-sm);gap:2px;display:grid}.tee-table>div.active{background:var(--pine);color:var(--dark-ink)}.tee-table>div.active small{color:var(--dark-muted)}.tee-table b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700}.tee-table small{font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.guide-copy p{font-size:var(--t-base)}.guide-copy a{min-height:40px;font-size:var(--t-sm);border-bottom:1px solid var(--line-strong);align-items:center;margin-top:2px;font-weight:600;display:inline-flex}.guide-copy a:hover{border-color:var(--ink)}.film-frame{border:1px solid var(--line);background:var(--pine-deep)}.film-frame .facade{aspect-ratio:16/9;background-position:50%;background-size:cover;place-items:center;width:100%;display:grid;position:relative}.film-frame .facade:before{content:"";transition:background var(--speed) ease;background:#082c2559;position:absolute;inset:0}.film-frame .facade:hover:before{background:#082c2526}.film-frame .facade .play{background:var(--coral);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;position:relative}.film-frame .facade .play svg{width:22px;height:22px;margin-left:3px}.film-frame iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.film-meta{padding:10px var(--pad-sm);color:var(--dark-muted);font-size:var(--t-xs);flex-wrap:wrap;justify-content:space-between;gap:6px 14px;display:flex}.film-meta a{min-height:40px;color:var(--dark-ink);align-items:center;font-weight:600;display:inline-flex}.film-meta a:hover{color:var(--gold)}.film-missing{border:1px dashed var(--line-strong);padding:var(--pad-md);gap:var(--s-1);background:var(--paper-bright);display:grid}.film-missing h3{font-size:var(--t-lg)}.film-missing p{font-size:var(--t-sm);color:var(--muted)}.hole-nav{inset-inline:0;bottom:var(--tabbar-h);z-index:35;background:var(--pine);color:var(--dark-ink);border-top:1px solid var(--dark-line);grid-template-columns:auto 1fr auto;display:grid;position:fixed}.hole-nav button,.hole-nav a.hole-nav-mid{min-height:52px}.hole-nav button{width:76px;font-family:var(--font-mono);font-size:var(--t-lg);place-items:center;display:grid}.hole-nav button:hover{background:var(--pine-soft)}.hole-nav button:disabled{opacity:.3;cursor:default}.hole-nav .hole-nav-mid{border-inline:1px solid var(--dark-line);text-align:center;align-content:center;place-items:center;gap:1px;display:grid}.hole-nav .hole-nav-mid small{font-size:var(--t-label);letter-spacing:.1em;text-transform:uppercase;color:var(--dark-muted)}.hole-nav .hole-nav-mid b{font-size:var(--t-sm);letter-spacing:.04em}.has-hole-nav{padding-bottom:76px}.plan-media{border:1px solid var(--line);background:var(--pine-soft);margin:0;position:relative;overflow:hidden}.plan-media img{width:100%;height:auto;display:block}.plan-band{inset-inline:0;padding:40px var(--pad-sm) 12px;color:var(--dark-ink);background:linear-gradient(#082c2500,#082c25db);flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex;position:absolute;bottom:0}.plan-band b{font-size:var(--t-lg);letter-spacing:.02em;font-weight:700}.plan-band span{font-size:var(--t-xs);color:var(--dark-muted)}.plan-aim-mark{justify-items:center;gap:4px;display:grid;position:absolute;transform:translate(-50%,-50%)}.plan-aim-mark i{border:3px solid var(--coral);background:#e6604840;border-radius:50%;width:18px;height:18px;box-shadow:0 0 0 2px #082c2573}.plan-aim-mark b{font-size:var(--t-label);letter-spacing:.06em;color:#fff;white-space:nowrap;background:#082c25c7;padding:2px 7px;font-weight:700}.plan-tape{border:1px solid var(--line);background:var(--paper-bright);border-top:0;padding:8px 6px 2px}.plan-tape-svg{width:100%;height:auto;display:block}.tape-axis{stroke:var(--line-strong);stroke-width:1.6px}.tape-tick{stroke:var(--line-strong);stroke-width:1px}.tape-num{font-family:var(--font-mono);fill:var(--muted);font-size:12px}.tape-cap{font-family:var(--font-mono);fill:var(--pine);font-size:12px;font-weight:700}.tape-side{font-family:var(--font-mono);fill:var(--muted);text-anchor:end;font-size:12px;font-weight:700}.tape-water{fill:#7fa3b5}.tape-sand{fill:var(--gold)}.tape-aim{stroke:var(--coral);stroke-width:3px}.tape-aim-label{font-family:var(--font-mono);fill:var(--coral-deep);font-size:12px;font-weight:700}.tape-tee{fill:var(--pine)}.tape-green{fill:var(--good-ink)}.plan-ladder{margin:var(--s-2) 0 0;background:var(--line);border:1px solid var(--line);gap:1px;padding:0;list-style:none;display:grid}.plan-ladder li{background:var(--paper-bright);padding:9px var(--pad-sm);font-size:var(--t-sm);align-items:center;gap:10px;display:flex}.plan-ladder li:before{content:"";flex:none;width:10px;height:10px}.plan-ladder .ladder-water:before{background:#7fa3b5}.plan-ladder .ladder-sand:before{background:var(--gold)}.plan-ladder .ladder-aim:before{background:var(--coral);border-radius:50%}.plan-credit{margin-top:var(--s-2);max-width:76ch}.evidence-row{grid-template-columns:repeat(4,1fr)}.evidence-row>article{padding:var(--pad-md) var(--pad-sm);gap:var(--s-1);grid-template-rows:auto auto 1fr auto;display:grid}.evidence-row h3{font-size:var(--t-lg)}.evidence-row .stat{color:var(--pine)}.evidence-row p{font-size:var(--t-xs);color:var(--muted)}.pairing-toolbar{justify-content:space-between;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);flex-wrap:wrap;display:flex}.pairing-filters{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.pair-list{gap:var(--s-1);display:grid}.pair-card{border:1px solid var(--line);background:var(--paper-bright)}.pair-card summary{cursor:pointer;gap:4px var(--s-2);padding:12px var(--pad-sm);grid-template-columns:1fr auto;align-items:center;min-height:56px;list-style:none;display:grid}.pair-card summary::-webkit-details-marker{display:none}.pair-card summary:hover{background:var(--paper-shade)}.pair-card .pair-names{font-weight:600;font-size:var(--t-base)}.pair-card .pair-stats{align-items:center;gap:var(--s-2);justify-self:end;display:flex}.pair-card .pair-stats b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-lg)}.pair-card .pair-stats .caption{white-space:nowrap}.pair-history{border-top:1px solid var(--line);padding:var(--pad-sm);gap:6px;display:grid}.pair-history>div{font-size:var(--t-sm);flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.pair-history .num{color:var(--muted)}.pair-empty{border:1px dashed var(--line-strong);padding:var(--pad-md);font-size:var(--t-sm);color:var(--muted);background:var(--paper-bright)}.method-note{margin-top:var(--s-5);border-top:1px solid var(--line);padding-top:var(--s-3)}.method-note p{font-size:var(--t-sm);color:var(--muted);max-width:76ch}.repeat-row{grid-template-columns:repeat(3,1fr)}.repeat-row>article{padding:var(--pad-md) var(--pad-sm);gap:var(--s-1);align-content:start;display:grid}.repeat-row h3{font-size:var(--t-lg)}.repeat-row h3 i{color:var(--muted);font-style:normal;font-family:var(--font-sans);font-size:var(--t-xs);padding-inline:6px}.repeat-row .stat{font-size:var(--t-lg)}.player-rail{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.player-rail a{background:var(--paper-bright);padding:var(--pad-sm);align-content:start;gap:4px;min-height:76px;display:grid}.player-rail a:hover{background:var(--paper-shade)}.player-rail a.active{background:var(--pine);color:var(--dark-ink)}.player-rail a.active .caption,.player-rail a.active .num{color:var(--dark-muted)}.player-rail b{font-size:var(--t-sm);font-weight:600}.singles-profile{margin-block:var(--s-3);grid-template-columns:1.4fr 1fr 1fr}.singles-profile>div{padding:var(--pad-sm);align-content:start;gap:4px;display:grid}.singles-profile h2{font-size:var(--d-sm)}.matchup-grid{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}.matchup-card{border:1px solid var(--line);background:var(--paper-bright);padding:var(--pad-sm);gap:var(--s-1);border-top:3px solid var(--hap);align-content:start;display:grid}.matchup-card.unseen{border-top-color:var(--line)}.matchup-card .matchup-top{justify-content:space-between;gap:var(--s-1);display:flex}.matchup-card h3{font-size:var(--t-lg)}.matchup-card .matchup-result{align-items:center;gap:var(--s-2);display:flex}.matchup-card .matchup-result b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--d-sm)}.meeting-history{border-top:1px solid var(--line);padding-top:var(--s-1);gap:4px;display:grid}.meeting-history p{font-size:var(--t-sm);align-items:baseline;gap:12px;margin:0;display:flex}.meeting-history .num{color:var(--muted)}.unseen-copy{font-size:var(--t-sm);color:var(--muted)}.signal-grid{grid-template-columns:repeat(4,1fr)}.signal-grid>article{padding:var(--pad-md) var(--pad-sm);gap:var(--s-1);grid-template-rows:auto auto auto 1fr;align-content:start;display:grid}.signal-grid h3{font-size:var(--t-lg)}.signal-grid .stat{color:var(--pine)}.signal-grid p{font-size:var(--t-xs);color:var(--muted)}.player-grid{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}.player-card{border:1px solid var(--line);border-left:3px solid var(--boc);background:var(--paper-bright);padding:var(--pad-md);gap:var(--s-2);align-content:start;display:grid}.player-card .player-top{justify-content:space-between;align-items:baseline;gap:var(--s-1);display:flex}.player-card h3{font-size:var(--d-sm)}.player-numbers{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.player-numbers>div{background:var(--paper-bright);align-content:start;gap:2px;padding:10px 12px;display:grid}.player-numbers b{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--t-lg);font-weight:700}.player-numbers small{font-size:var(--t-label);color:var(--muted)}.player-read{gap:6px;display:grid}.player-read p{font-size:var(--t-sm);color:var(--muted)}.player-tags{flex-wrap:wrap;gap:6px;display:flex}.timeline{gap:var(--s-2);display:grid}.season-card{border:1px solid var(--line);background:var(--paper-bright);grid-template-columns:auto 1fr;display:grid}.season-card .season-year{padding:var(--pad-md) var(--pad-sm);border-right:1px solid var(--line);text-align:center;align-content:start;justify-items:center;gap:4px;min-width:108px;display:grid}.season-card .season-year b{font-family:var(--font-serif);font-size:var(--d-sm)}.season-card.won-boc .season-year{border-top:3px solid var(--boc)}.season-card.won-hap .season-year{border-top:3px solid var(--hap)}.season-card .season-body{padding:var(--pad-md);gap:var(--s-1);display:grid}.season-card h3{font-size:var(--t-lg)}.season-card .season-meta{font-size:var(--t-xs);color:var(--muted);flex-wrap:wrap;gap:4px 14px;display:flex}.season-card p{font-size:var(--t-sm)}.honors-list{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.honors-list>div{background:var(--paper-bright);padding:10px var(--pad-sm);gap:var(--s-2);grid-template-columns:52px 1fr auto;align-items:baseline;display:grid}.honors-list .num{color:var(--muted);font-size:var(--t-sm)}.honors-list b{font-size:var(--t-sm)}.honors-list span{font-size:var(--t-xs);color:var(--muted)}.recap-list{background:var(--line);border:1px solid var(--line);gap:1px;display:grid}.recap-list>div{background:var(--paper-bright);padding:10px var(--pad-sm);gap:4px var(--s-2);font-size:var(--t-sm);grid-template-columns:auto 1fr auto;align-items:baseline;display:grid}.recap-list .num{color:var(--muted)}.hap-cards{gap:var(--s-2);grid-template-columns:repeat(2,1fr);display:grid}.hap-card{border:1px solid var(--line);border-left:3px solid var(--hap);background:var(--paper-bright);padding:var(--pad-md);gap:var(--s-1);align-content:start;display:grid}.hap-card h3{font-size:var(--t-lg)}.intel-panel{border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--paper-bright);padding:var(--pad-md);gap:var(--s-2);display:grid}.intel-panel p{font-size:var(--t-sm)}@media (max-width:1020px){.home-tiles,.signal-grid,.evidence-row{grid-template-columns:repeat(2,1fr)}.seriesboard{grid-template-columns:repeat(3,1fr)}.round-arch{grid-template-columns:repeat(2,1fr)}.course-cards{grid-template-columns:1fr}.dossier-facts{grid-template-columns:repeat(3,1fr)}.quick-grid{grid-template-columns:repeat(2,1fr)}.hole-layout{grid-template-columns:1fr}.player-rail{grid-template-columns:repeat(2,1fr)}.singles-profile{grid-template-columns:1fr 1fr}.repeat-row,.player-grid,.matchup-grid,.hap-cards{grid-template-columns:1fr}}@media (max-width:760px){.header-nav,.header-meta{display:none}.tabbar{display:block}body{padding-bottom:var(--tabbar-h)}.app-footer{margin-bottom:0}.page{padding-block:var(--s-4) var(--s-5)}.page-head h1{font-size:var(--d-md)}.home-tiles{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr}.dossier-facts,.tee-table{grid-template-columns:repeat(2,1fr)}.yardage-row b{font-size:var(--d-sm)}.pair-card summary{grid-template-columns:1fr}.pair-card .pair-stats{justify-self:start}.season-card{grid-template-columns:1fr}.season-card .season-year{border-right:0;border-bottom:1px solid var(--line);justify-content:center;gap:var(--s-2);grid-auto-flow:column;min-width:0}.hole-nav{bottom:var(--tabbar-h)}}@media (min-width:761px){.hole-nav{display:none}.has-hole-nav{padding-bottom:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
