/*
Theme Name: Boss69 Clubhouse
Description: An illustrated Thai field guide to golf, baccarat, slots and lottery results.
Version: 1.0.1
Author: Boss69
Requires at least: 6.3
Requires PHP: 7.4
Text Domain: boss69-clubhouse
License: GNU General Public License v2 or later
*/
:root {
    --forest: #153a2e;
    --deep: #0c261e;
    --green: #235742;
    --gold: #ecdfa5;
    --paper: #f5f4ea;
    --white: #fffef8;
    --ink: #192b21;
    --muted: #526153;
    --line: #c6cdbb;
    --body: "Fahkwang", "Noto Sans Thai", Tahoma, sans-serif;
    --serif: "Baskervville", Georgia, "Times New Roman", serif;
}
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--paper); font: 400 1rem/1.72 var(--body); overflow-wrap: break-word; }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.39; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, label, select { cursor: pointer; }
img, picture, svg { display: block; }
img { max-width: 100%; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #b07504; outline-offset: 3px; }
.frame { width: min(89.5%,1416px); margin-inline: auto; }
.ui-icon { width: 18px; height: 18px; flex: none; }
.skip { position: fixed; left: 8px; top: 6px; z-index: 99; background: var(--gold); color: var(--deep); padding: 8px 17px; transform: translateY(-160%); }
.skip:focus { transform: none; }
.sr-only, .stroke-switch input { position: absolute; height: 1px; width: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); border: 0; white-space: nowrap; }
.mast { color: #f7f6e8; background: var(--deep); border-bottom: 1px solid #7d8c70; }
.mast-inner { display: flex; align-items: center; gap: clamp(20px,4.5vw,77px); min-height: clamp(62px,5vw,78px); }
.wordmark { display: inline-flex; align-items: center; gap: 10px; flex-shrink: 0; }
.wordmark > span { color: #f9f9ec; font: 700 clamp(1.5rem,2.2vw,2.25rem)/1 var(--serif); letter-spacing: -.085em; white-space: nowrap; }
.word-finish { color: var(--gold); font-weight: 400; font-style: italic; }
.wordmark img { width: 34px; height: 34px; }
.main-menu ul, .closing ul { list-style: none; margin: 0; padding: 0; }
.main-menu ul { display: flex; align-items: center; flex-wrap: wrap; gap: clamp(16px,2.15vw,37px); }
.main-menu a, .desk-login { display: inline-flex; align-items: center; min-height: 43px; font-size: .9rem; font-weight: 600; }
.main-menu a:hover, .main-menu a[aria-current], .desk-login:hover { color: var(--gold); text-decoration: underline; text-underline-offset: 5px; }
.mast-actions { display: flex; align-items: center; gap: clamp(12px,1.9vw,30px); margin-left: auto; }
.action { display: inline-flex; align-items: center; justify-content: center; min-height: 43px; padding: 9px 18px; border-radius: 3px; border: 1px solid transparent; font-size: .91rem; font-weight: 700; line-height: 1.5; gap: 8px; }
.action .ui-icon { width: 14px; height: 14px; }
.gold-action { background: var(--gold); color: var(--deep); }
.gold-action:hover { background: #f5ebba; }
.outline-action { background: #10261dd6; color: white; border-color: #bbc2a7; }
.outline-action:hover { background: #254333; }
.ink-action { background: var(--forest); color: #fff; }
.ink-action:hover { background: var(--green); }
.nav-toggle, .main-menu .drawer-login { display: none; }
.cover { isolation: isolate; position: relative; display: flex; align-items: center; min-height: clamp(425px,33.2vw,590px); color: white; background: var(--deep); border-bottom: 4px solid var(--gold); }
.cover-art, .cover-art img { position: absolute; width: 100%; height: 100%; inset: 0; }
.cover-art { z-index: -2; }
.cover-art img { object-fit: cover; object-position: right top; }
.cover::after { content:""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#0a261df1 0%,#10261ed4 23%,#14271e38 55%,transparent 78%),linear-gradient(0deg,#15241842,transparent 40%); pointer-events: none; }
.cover-inner { padding-block: clamp(34px,4.1vw,70px); }
.cover-copy { width: min(53%,695px); }
.cover h1 { font-size: clamp(1.45rem,2.35vw,2.4rem); line-height: 1.4; }
.cover-brand { display: block; margin: 0 0 6px -.045em; font: 500 clamp(5.1rem,8.6vw,9.8rem)/.85 var(--serif); letter-spacing: -.085em; white-space: nowrap; color: #fbfae9; }
.cover-brand span { font-style: italic; color: var(--gold); }
.cover-subjects { display: block; padding-top: .44em; }
.cover-copy p { max-width: 32em; color: #e5ecdc; font-size: clamp(.94rem,1.13vw,1.08rem); line-height: 1.67; margin-top: 9px; }
.cover-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: clamp(19px,1.8vw,30px); }
.home-collection { padding-block: clamp(25px,2.75vw,48px) clamp(43px,5vw,81px); }
.section-heading { display: flex; align-items: center; gap: clamp(12px,2vw,30px); margin-bottom: 17px; }
.section-heading::after { content:""; flex: 1; border-top: 1px solid #a6b49c; }
.section-heading h2, .score-info h2, .account-body h2 { font-size: clamp(1.32rem,1.98vw,2.03rem); color: var(--forest); }
.section-heading .text-link { order: 1; }
.topic-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: var(--white); border: 1px solid var(--line); }
.topic-card { display: flex; flex-direction: column; min-width: 0; border-inline-end: 1px solid var(--line); }
.topic-card:last-child { border: 0; }
.topic-photo { background: var(--green); height: clamp(109px,10.3vw,174px); overflow: hidden; }
.topic-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .24s ease-out; }
.topic-card:hover img { transform: scale(1.04); }
.topic-caption { position: relative; flex: 1; padding: 13px clamp(12px,1.4vw,25px) 16px; padding-right: clamp(32px,3vw,47px); }
.topic-caption h3 { font-size: clamp(1.08rem,1.55vw,1.68rem); color: var(--forest); }
.topic-caption p { font-size: .81rem; margin-top: 2px; line-height: 1.53; color: var(--muted); }
.topic-arrow { position: absolute; top: 17px; right: 13px; color: var(--green); }
.topic-arrow .ui-icon { width: 16px; height: 16px; }
.practice-row { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); margin-top: clamp(23px,2.6vw,44px); gap: clamp(16px,2vw,32px); }
.score-lab { background: var(--forest); color: #f6f6e8; display: grid; grid-template-columns: minmax(0,1fr) minmax(190px,.86fr); align-items: center; padding: clamp(19px,2vw,33px); gap: 20px; }
.score-info h2 { color: #fffde9; font-size: clamp(1.15rem,1.55vw,1.65rem); }
.score-info p { margin-top: 5px; font-size: .84rem; line-height: 1.6; color: #d0dec9; }
.score-link, .text-link { width: fit-content; display: inline-flex; align-items: center; gap: 8px; min-height: 35px; font-size: .87rem; font-weight: 700; }
.score-link { color: var(--gold); margin-top: 9px; }
.text-link { color: var(--green); }
.text-link:hover, .score-link:hover { text-decoration: underline; }
.text-link .ui-icon, .score-link .ui-icon { width: 15px; height: 15px; }
.stroke-switch { min-width: 0; padding: 0; border: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.stroke-switch label { cursor: pointer; background: #234a36; color: #e8f0db; border: 1px solid #82977a; padding: 7px 3px; font-weight: 600; font-size: .76rem; text-align: center; }
.stroke-switch label + input + label { border-left: 0; }
.stroke-switch input:checked + label { background: var(--gold); color: var(--deep); }
.stroke-switch input:focus-visible + label { outline: 3px solid #f8b84b; outline-offset: 3px; z-index: 1; }
.stroke-result { display: none; grid-column: 1/-1; min-height: 78px; padding: 13px 0 0; align-items: center; gap: 13px; }
#stroke-3:checked ~ .result-3, #stroke-4:checked ~ .result-4, #stroke-5:checked ~ .result-5 { display: flex; }
.score-delta { font: 400 clamp(2.1rem,3vw,3.7rem)/1 var(--serif); min-width: 1.22em; color: var(--gold); }
.score-name { font-weight: 700; font-size: 1.04rem; }
.stroke-result p { color: #cddcc5; font-size: .76rem; line-height: 1.55; }
.feature-copy { padding: clamp(18px,2.1vw,35px); border-block: 1px solid #a2b194; align-self: stretch; }
.feature-copy h2, .account-body h2 { font-size: clamp(1.09rem,1.48vw,1.54rem); color: var(--forest); margin-bottom: 8px; }
.feature-copy p { color: #394b3b; font-size: .94rem; line-height: 1.72; }
.feature-copy a, .prose a { color: #205f43; text-decoration: underline; text-underline-offset: 3px; }
.home-bottom { display: grid; grid-template-columns: minmax(0,3fr) minmax(185px,.85fr); align-items: start; gap: clamp(21px,3.2vw,50px); margin-top: clamp(30px,3.6vw,59px); }
.journal-controls { display: flex; align-items: center; gap: 8px; font-size: .84rem; color: var(--muted); margin-bottom: 13px; }
.journal-controls select { padding: 4px 8px; color: var(--ink); background: var(--white); border: 1px solid #a2ae98; }
.journal-list, .read-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: clamp(12px,1.35vw,22px); }
.read-card { min-width: 0; border-top: 2px solid var(--green); border-bottom: 1px solid var(--line); }
.read-cover { display: block; aspect-ratio: 1.85; overflow: hidden; background: var(--forest); }
.read-cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.read-body { padding: 13px 2px 17px; }
.read-meta, .article-byline { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: var(--muted); font-size: .79rem; margin-bottom: 6px; }
.read-meta span { color: var(--green); font-weight: 700; }
.read-body h2, .read-body h3 { font-size: clamp(1.03rem,1.32vw,1.38rem); }
.read-body h2 a:hover, .read-body h3 a:hover { text-decoration: underline; }
.read-body p { margin-top: 5px; font-size: .88rem; line-height: 1.65; color: var(--muted); }
.account-panel { min-width: 0; align-self: start; border: 1px solid var(--line); background: #e9ebdc; }
.account-photo { aspect-ratio: 1.95; background: var(--forest); overflow: hidden; }
.account-photo img { width: 100%; height: 100%; object-fit: cover; }
.account-body { padding: 15px clamp(12px,1.5vw,24px); }
.account-body a { display: flex; align-items: center; justify-content: space-between; min-height: 38px; gap: 5px; border-top: 1px solid #bcc8ad; font-size: .85rem; }
.account-body a:hover { text-decoration: underline; }
.account-body a .ui-icon { width: 14px; }
.inner-head { color: #f6f6e5; background: var(--forest); border-bottom: 3px solid var(--gold); padding-block: clamp(28px,3.9vw,67px); }
.inner-head h1 { max-width: 29em; font-size: clamp(1.72rem,3.4vw,3.5rem); }
.inner-head p { margin-top: 9px; color: #dce7d4; max-width: 62em; font-size: clamp(.95rem,1.25vw,1.16rem); }
.crumb { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; margin-bottom: 13px; color: #d2ddc4; font-size: .81rem; }
.crumb a:hover, .article-byline a:hover { text-decoration: underline; }
.article-byline { margin-top: 10px; color: #dce7d4; }
.article-byline a { color: var(--gold); }
.reading { display: grid; align-items: start; grid-template-columns: minmax(0,1fr) minmax(195px,26%); gap: clamp(18px,3.15vw,50px); padding-block: clamp(25px,3.45vw,54px) clamp(45px,5.6vw,89px); }
.prose { min-width: 0; padding: clamp(19px,3.1vw,49px); background: var(--white); border: 1px solid var(--line); font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.prose h2, .prose h3 { margin: 1.15em 0 .4em; }
.prose h2 { font-size: clamp(1.25rem,1.9vw,1.85rem); color: var(--forest); }
.prose h3 { font-size: 1.13rem; }
.prose p, .prose ul, .prose ol { margin: 0 0 .95em; }
.prose ul, .prose ol { padding-left: 1.5em; }
.prose li + li { margin-top: .25em; }
.prose > :first-child { margin-top: 0; }
.prose > :last-child { margin-bottom: 0; }
.prose table { width: 100%; border-collapse: collapse; margin: 14px 0; }
.prose table caption { text-align: left; font-weight: 700; padding-block: 5px; }
.prose :is(th,td) { vertical-align: top; text-align: start; border: 1px solid var(--line); padding: 7px 10px; }
.prose th { background: #e9eddf; }
.prose .action { color: white; text-decoration: none; }
.outbound { padding: 17px; margin-bottom: 21px; border-left: 4px solid var(--green); background: #ecf0e3; }
.outbound p { margin: 6px 0 0; font-size: .87rem; color: var(--muted); }
.reading-side { min-width: 0; border-block: 1px solid var(--line); padding-bottom: 8px; background: var(--white); }
.reading-side img { aspect-ratio: 1.5; height: auto; width: 100%; object-fit: cover; }
.reading-side .text-link { margin: 7px 15px 0; }
.post-links { margin-top: 25px; padding-top: 12px; border-top: 1px solid var(--line); display: grid; gap: 8px; }
.pagination { margin-top: 28px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 12px; }
.archive-body { padding-block: clamp(25px,3.6vw,58px) clamp(45px,5.6vw,88px); }
.archive-intro { margin-bottom: 25px; }
.missing { padding-block: 65px; }
.missing .action { margin-top: 15px; }
.closing { color: #f6f5e5; background: var(--deep); border-top: 3px solid var(--gold); }
.closing-grid { display: grid; grid-template-columns: 1.4fr .85fr 1fr; gap: clamp(21px,4.8vw,80px); padding-block: clamp(31px,3.9vw,64px); }
.closing-brand p { max-width: 24em; color: #ccd8c6; font-size: .9rem; margin-top: 13px; }
.closing h2 { color: var(--gold); font-size: 1rem; margin-bottom: 7px; }
.closing li a { display: inline-block; color: #edf3e2; font-size: .88rem; padding-block: 3px; }
.closing li a:hover { text-decoration: underline; }
.colophon { display: flex; align-items: center; justify-content: space-between; gap: 13px; border-top: 1px solid #465f4e; padding-block: 15px; color: #bbcdb8; font-size: .78rem; }
@media (max-width:1090px) {
    .frame { width: 93%; }
    .practice-row { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); }
    .score-lab { grid-template-columns: minmax(0,1fr) minmax(159px,.88fr); gap: 15px; }
    .stroke-switch label { font-size: .7rem; }
    .home-bottom { grid-template-columns: minmax(0,1fr) minmax(170px,22%); gap: 18px; }
}
@media (max-width:860px) {
    .mast-inner { min-height: 64px; gap: 0; flex-wrap: wrap; }
    .desk-login { display: none; }
    .mast-actions { gap: 9px; }
    .main-menu { order: 3; width: 100%; }
    .main-menu ul { gap: 15px; }
    .main-menu .drawer-login { display: inline-flex; gap: 6px; color: var(--gold); }
    .drawer-login .ui-icon { width: 13px; }
    .nav-ready .main-menu { display: none; }
    .nav-ready .menu-open .main-menu { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; border-top: 1px solid #5b7561; padding-block: 4px; }
    .nav-ready .nav-toggle { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; width: 40px; height: 40px; gap: 4px; padding: 0; border-radius: 2px; border: 1px solid #8a9c80; color: white; background: transparent; }
    .nav-toggle span { width: 16px; height: 1.5px; background: currentColor; }
    .cover { min-height: 360px; }
    .cover-copy { width: 62%; }
    .cover-brand { font-size: clamp(4.75rem,9.2vw,6rem); }
    .cover h1 { font-size: 1.45rem; }
    .cover-copy p { font-size: .9rem; }
    .topic-caption { padding: 10px; }
    .topic-caption p { font-size: .76rem; }
    .topic-arrow { display: none; }
    .practice-row { grid-template-columns: 1.1fr .9fr; gap: 14px; }
    .score-lab { display: block; }
    .score-info .score-link { margin: 2px 0 9px; }
    .stroke-switch { max-width: 320px; }
    .stroke-switch label { font-size: .78rem; }
    .stroke-result { min-height: 60px; padding-top: 8px; }
    .home-bottom { display: block; }
    .account-panel { display: grid; grid-template-columns: minmax(90px,27%) minmax(0,1fr); margin-top: 22px; }
    .account-photo { position: relative; aspect-ratio: auto; }
    .account-photo img { position: absolute; inset: 0; }
    .reading { grid-template-columns: minmax(0,1fr) minmax(145px,22%); gap: 15px; }
}
@media (max-width:680px) {
    .frame { width: calc(100% - 30px); }
    .mast-inner { min-height: 59px; }
    .wordmark { gap: 7px; }
    .wordmark img { width: 29px; height: 29px; }
    .wordmark > span { font-size: 1.54rem; }
    .mast-actions { gap: 6px; }
    .mast-actions .action { min-height: 39px; padding: 7px 9px; font-size: .8rem; }
    .mast-actions .ui-icon { width: 11px; }
    .nav-ready .menu-open .main-menu { display: block; }
    .main-menu a { font-size: .84rem; }
    .cover { align-items: end; min-height: clamp(405px,107vw,560px); }
    .cover-art img { object-position: center 30%; }
    .cover::after { background: linear-gradient(0deg,#09251dfc 1%,#0a291fe8 24%,#132c1eae 43%,#12231a28 70%,transparent 84%); }
    .cover-inner { padding: clamp(155px,40vw,245px) 0 24px; }
    .cover-copy { width: 100%; }
    .cover-brand { font-size: clamp(3.95rem,16.8vw,7rem); line-height: .85; }
    .cover-subjects { padding-top: .16em; }
    .cover h1 { font-size: clamp(1.18rem,4.85vw,1.98rem); line-height: 1.46; }
    .cover-copy p { max-width: 30em; margin-top: 6px; font-size: .86rem; }
    .cover-actions { gap: 7px; margin-top: 15px; }
    .cover-actions .action { min-height: 40px; padding: 7px 11px; font-size: .81rem; }
    .home-collection { padding-block: 22px 35px; }
    .section-heading { margin-bottom: 11px; gap: 9px; }
    .section-heading h2 { font-size: 1.28rem; }
    .topic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .topic-card { border: 0; }
    .topic-card:nth-child(odd) { border-right: 1px solid var(--line); }
    .topic-card:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
    .topic-photo { height: clamp(87px,24vw,148px); }
    .topic-caption { padding: 8px 10px 10px; }
    .topic-caption h3 { font-size: 1.07rem; }
    .practice-row { grid-template-columns: minmax(0,1fr); margin-top: 19px; gap: 13px; }
    .score-lab, .feature-copy { padding: 16px; }
    .score-info h2, .feature-copy h2 { font-size: 1.1rem; }
    .score-info p, .feature-copy p { font-size: .87rem; }
    .score-info .score-link { margin: 2px 0 8px; }
    .stroke-switch { max-width: none; }
    .score-delta { font-size: 2.5rem; }
    .home-bottom { margin-top: 22px; }
    .journal-list, .read-grid { grid-template-columns: minmax(0,1fr); gap: 11px; }
    .read-card { display: grid; grid-template-columns: minmax(78px,28%) minmax(0,1fr); border-top-width: 1px; }
    .read-cover { aspect-ratio: auto; min-height: 106px; }
    .read-body { padding: 9px 10px; }
    .read-body h2, .read-body h3 { font-size: .97rem; }
    .read-meta { font-size: .73rem; }
    .read-body p { font-size: .8rem; line-height: 1.52; }
    .account-body { padding: 12px; }
    .reading { grid-template-columns: minmax(0,1fr); }
    .reading-side { display: grid; align-items: center; grid-template-columns: 29% minmax(0,1fr); padding-bottom: 0; }
    .reading-side .text-link { margin: 8px 12px; }
    .inner-head { padding-block: 23px; }
    .prose { padding: 16px 13px; font-size: .94rem; }
    .prose :is(th,td) { font-size: .83rem; padding: 5px; }
    .outbound { padding: 12px; }
    .closing-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
    .closing-brand { grid-column: 1/-1; }
    .colophon { flex-wrap: wrap; }
}
@media (max-width:350px) {
    .frame { width: calc(100% - 24px); }
    .mast-actions .ui-icon { display: none; }
    .topic-caption { padding-inline: 8px; }
    .cover-actions .action { padding-inline: 9px; }
    .section-heading .text-link { font-size: .79rem; }
}
@media (prefers-reduced-motion:reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
