/* PATTAYA AFTER DARK — FLAGSHIP UX LAYER, 2026-08-04
   A lightweight layer over the established UV/amber design system. */

:root{
  --pad-max:1200px;
  --pad-reading:72ch;
  --pad-radius:16px;
  --pad-shadow:0 22px 70px rgba(0,0,0,.26);
}

html{scroll-padding-top:104px;text-size-adjust:100%}
body{font-size:clamp(15px,.35vw + 14px,17px);line-height:1.72}
body::before{opacity:.9}
.wrap,.topbar-inner,.footer-inner,.route-tools-inner{width:min(100% - 32px,var(--pad-max));max-width:none;margin-inline:auto}
main{min-width:0}
main :where(p,li,dd,figcaption){overflow-wrap:anywhere}
main :where(.prose,.sec-lead,.strap,.page-intro){max-width:var(--pad-reading)}
main :where(h1,h2,h3){text-wrap:balance;overflow-wrap:anywhere}
main img{height:auto}

/* Primary navigation: six task labels, always usable without JavaScript. */
.topbar{border-bottom-color:rgba(196,154,255,.22);box-shadow:0 10px 34px rgba(0,0,0,.22)}
.topbar-inner{min-height:72px;padding:12px 0;gap:12px 20px}
.brand{display:inline-flex;align-items:center;min-height:44px;font-size:clamp(1.35rem,2vw,1.75rem);white-space:nowrap}
.topnav{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0}
.topnav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 11px;border-radius:999px;font-size:.67rem;letter-spacing:.1em;white-space:nowrap}
.topnav a[aria-current="page"],.topnav a[aria-current="location"]{border-color:rgba(196,154,255,.55);background:rgba(160,107,255,.12);color:var(--text,#ece7df)}
.topnav a[href="/authors/"]{border-color:rgba(255,47,142,.42);background:linear-gradient(135deg,rgba(255,47,142,.12),rgba(160,107,255,.12));color:var(--text,#ece7df)}
.night-status{margin-left:auto;white-space:nowrap}

/* The route rail exposes the fastest journeys and the publication state. */
.route-tools{position:relative;z-index:4;border-bottom:1px solid rgba(196,154,255,.16);background:linear-gradient(90deg,rgba(160,107,255,.08),rgba(255,179,0,.035),transparent)}
.route-tools-inner{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}
.route-tools p{display:flex;align-items:center;gap:10px;min-width:0;margin:0;font-size:.68rem;line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.route-family{color:var(--text,#ece7df);font-weight:700}
.route-state{padding-left:10px;border-left:1px solid var(--line,#241b36);color:var(--muted,#a89fb2)}
.route-tools.is-hold .route-state,.route-tools.is-noindex .route-state{color:var(--amber,#ffb300)}
.route-tools nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
.route-tools nav a{display:inline-flex;align-items:center;min-height:40px;padding:6px 9px;border:1px solid transparent;border-radius:999px;color:var(--muted,#a89fb2);font-size:.66rem;line-height:1.25;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.route-tools nav a:hover{border-color:var(--line,#241b36);color:var(--amber,#ffb300)}

/* Editorial rhythm and cards. */
.zhero,.hero{isolation:isolate}
.zhero{padding-block:clamp(46px,7vw,86px) clamp(24px,4vw,48px)}
.zhero h1,.hero h1{max-width:100%;font-size:clamp(3.6rem,11vw,9.6rem);line-height:.88}
.zhero .strap{font-size:clamp(.94rem,.35vw + .86rem,1.08rem)}
section{padding-block:clamp(52px,7vw,84px)}
.sec-title{font-size:clamp(2.6rem,6vw,5rem)}
.prose{font-size:clamp(.95rem,.25vw + .9rem,1.04rem)}
.prose p + p{margin-top:1.15em}
.reveal{opacity:1!important;transform:none!important}

:where(.vcard,.zone-card,.guide-card,.roster-item,.know-item,.stat,.faq-item,.venue-plan-panel){min-width:0;border-radius:var(--pad-radius);box-shadow:0 1px 0 rgba(255,255,255,.025) inset;overflow:hidden}
:where(.vcard,.zone-card,.guide-card,.roster-item,.know-item,.stat){transition:border-color .18s ease,background-color .18s ease,transform .18s ease}
@media (hover:hover) and (pointer:fine){
  :where(a.vcard,a.zone-card,a.guide-card,a.roster-item):hover{transform:translateY(-2px)}
}

/* Directory: dense enough to scan, spacious enough to operate. */
.directory-tools{position:relative;border-radius:var(--pad-radius);box-shadow:var(--pad-shadow);overflow:hidden}
.directory-tools::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--amber,#ffb300),var(--uv,#a06bff))}
.directory-filter-grid :where(input,select,button){border-radius:10px!important}
.directory-filter-grid :where(input,select){font-size:16px!important}
.directory-zone-links{max-height:12rem;overflow:auto;padding-right:4px;scrollbar-color:var(--uv,#a06bff) transparent}
#dir .roster{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:10px}
#dir .roster-group{padding-block:24px}
#dir .roster-item{display:grid;align-content:start;gap:5px;min-height:116px;padding:16px;border:1px solid var(--line,#241b36);background:linear-gradient(145deg,rgba(20,14,33,.92),rgba(9,6,14,.92))}
#dir .roster-item .rname{font-size:clamp(1.35rem,2.3vw,1.75rem);line-height:1;overflow-wrap:anywhere}
#dir .roster-item .rtag{font-size:.65rem;line-height:1.4;letter-spacing:.08em}
#dir .roster-item p{margin:0;color:var(--muted,#a89fb2);font-size:.76rem;line-height:1.5}
#dir .roster-item[data-directory-status="unverified"]{border-color:rgba(255,179,0,.28)}
#dir .roster-item[data-directory-status="closed"]{opacity:.78}

/* Venue records: action panel becomes the reader's decision surface. */
.venue-plan-ux{padding-top:18px!important}
.venue-plan-panel{position:relative;padding:clamp(20px,4vw,34px)!important;border-color:rgba(196,154,255,.34)!important;background:linear-gradient(145deg,rgba(160,107,255,.11),rgba(13,9,22,.96) 45%,rgba(255,179,0,.05))!important;box-shadow:var(--pad-shadow)}
.venue-plan-panel dl{border-radius:12px;overflow:hidden}
.venue-plan-actions a{border-radius:999px!important}
.venue-plan-warning{padding:12px 14px;border-left:3px solid var(--amber,#ffb300);background:rgba(255,179,0,.055)}

/* Evidence and policy pages use disclosure instead of an audit wall. */
:where(.evidence-disclosure,.policy-disclosure,.method-step){border:1px solid var(--line,#241b36);border-radius:var(--pad-radius);background:rgba(13,9,22,.78)}
:where(.evidence-disclosure,.policy-disclosure) summary{min-height:48px;padding:13px 16px;cursor:pointer;color:var(--text,#ece7df);font-weight:700}
:where(.evidence-disclosure,.policy-disclosure)>:not(summary){padding-inline:16px}
.method-grid,.accountability-grid,.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.method-step{padding:22px}
.method-step .step-no{color:var(--amber,#ffb300);font-size:.72rem;letter-spacing:.14em}
.method-step h2,.method-step h3{margin:.4rem 0 .7rem;font-family:var(--display,'Bebas Neue',sans-serif);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;line-height:1}
.method-step p{margin:0;color:var(--muted,#a89fb2)}
.state-key{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.state-key span{padding:7px 10px;border:1px solid var(--line,#241b36);border-radius:999px;font-size:.68rem;letter-spacing:.06em}

/* Tim and Paemi are a visible founding team, not an inferred sitewide byline. */
.founder-feature{display:grid;grid-template-columns:minmax(280px,.92fr) minmax(0,1.08fr);gap:clamp(28px,6vw,82px);align-items:center}
.founder-photo{position:relative;margin:0;isolation:isolate}
.founder-photo::before{content:"";position:absolute;z-index:-1;inset:-10px;border:1px solid rgba(255,47,142,.25);border-radius:calc(var(--pad-radius) + 8px);background:linear-gradient(145deg,rgba(255,47,142,.12),rgba(160,107,255,.08),rgba(255,179,0,.06));box-shadow:0 28px 90px rgba(0,0,0,.35)}
.founder-photo img{display:block;width:100%;aspect-ratio:1002/708;object-fit:cover;border:1px solid rgba(196,154,255,.35);border-radius:var(--pad-radius);background:#09060e}
.founder-photo figcaption{margin-top:13px;color:var(--muted,#a89fb2);font-size:.68rem;line-height:1.45;letter-spacing:.1em;text-transform:uppercase}
.founder-story{min-width:0;padding-block:10px}
.founder-story .sec-kicker{margin-bottom:10px}
.founder-story .sec-title{margin:0 0 16px;font-size:clamp(3rem,6.5vw,6.2rem);line-height:.88}
.founder-story>p{max-width:62ch}
.founder-story>p:not(.sec-kicker):not(.founder-deck):not(.founder-role-note){color:var(--muted,#a89fb2)}
.founder-deck{margin:0 0 16px;color:var(--text,#ece7df);font-size:clamp(1.08rem,.65vw + .95rem,1.4rem);font-weight:700;line-height:1.4}
.founder-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.founder-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid rgba(196,154,255,.38);border-radius:999px;background:rgba(160,107,255,.08);color:var(--text,#ece7df);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}
.founder-links a:hover{border-color:var(--amber,#ffb300);color:var(--amber,#ffb300)}
.founder-role-note{margin-top:22px;padding:12px 14px;border-left:3px solid var(--amber,#ffb300);background:rgba(255,179,0,.055);color:var(--muted,#a89fb2);font-size:.78rem;line-height:1.55}
.founder-card{border-color:rgba(255,47,142,.25)}

/* Footer is a publication map, not a network directory. */
.site-footer{position:relative;margin-top:clamp(70px,10vw,130px);border-top:1px solid rgba(196,154,255,.2);background:linear-gradient(180deg,rgba(13,9,22,.72),#050308 25%)}
.footer-horizon{height:3px;background:linear-gradient(90deg,var(--amber,#ffb300),var(--signal,#ff2f8e),var(--uv,#a06bff),var(--dawn,#4aa3c7));box-shadow:0 0 24px rgba(160,107,255,.4)}
.footer-inner{margin-inline:auto;padding:clamp(48px,7vw,82px) 0 28px}
.footer-founders{position:relative;display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(26px,6vw,80px);align-items:center;margin:0 0 clamp(44px,7vw,72px);padding:clamp(20px,4vw,42px);border:1px solid rgba(255,47,142,.28);border-radius:calc(var(--pad-radius) + 6px);background:radial-gradient(circle at 12% 18%,rgba(255,47,142,.15),transparent 32%),linear-gradient(135deg,rgba(19,12,30,.96),rgba(8,5,13,.96));box-shadow:var(--pad-shadow);overflow:hidden}
.footer-founders::after{content:"FOUNDERS";position:absolute;right:-.02em;bottom:-.18em;color:rgba(196,154,255,.035);font-family:var(--display,'Bebas Neue',sans-serif);font-size:clamp(5rem,14vw,11rem);line-height:.8;letter-spacing:.02em;pointer-events:none}
.footer-founder-photo{position:relative;z-index:1;margin:0}
.footer-founder-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid rgba(196,154,255,.38);border-radius:50%;background:#09060e;box-shadow:0 0 0 8px rgba(255,47,142,.055),0 24px 70px rgba(0,0,0,.38)}
.footer-founder-copy{position:relative;z-index:1;min-width:0}
.footer-founder-kicker{margin:0 0 8px;color:var(--amber,#ffb300);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.footer-founder-name{margin:0;font-family:var(--display,'Bebas Neue',sans-serif);font-size:clamp(4rem,9vw,8.4rem);font-weight:400;line-height:.82;letter-spacing:.02em}
.footer-founder-name span{color:var(--signal,#ff2f8e)}
.footer-founder-intro{max-width:68ch;margin:20px 0 0;color:var(--text,#ece7df);font-size:clamp(.95rem,.3vw + .9rem,1.08rem);line-height:1.65}
.footer-founder-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.footer-founder-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;border:1px solid rgba(196,154,255,.3);border-radius:999px;color:var(--text,#ece7df);font-size:.68rem;line-height:1.3;text-decoration:none;text-transform:uppercase}
.footer-founder-links a:hover{border-color:var(--amber,#ffb300);color:var(--amber,#ffb300)}
.footer-founder-boundary{max-width:72ch;margin:18px 0 0;color:var(--muted,#a89fb2);font-size:.72rem;line-height:1.55}
.footer-lead{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:clamp(24px,6vw,80px);align-items:end;padding-bottom:36px;border-bottom:1px solid var(--line,#241b36)}
.footer-lead>p:last-child{margin:0;color:var(--muted,#a89fb2)}
.footer-signoff{margin:0;font-family:var(--display,'Bebas Neue',sans-serif);font-size:clamp(3rem,7vw,6.3rem);font-weight:400;line-height:.88;letter-spacing:.02em}
.footer-signoff span{color:var(--uv,#a06bff)}
.footer-signoff b{color:var(--amber,#ffb300)}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-block:36px}
.footer-grid section{padding:0}
.footer-grid h2{margin:0 0 12px;color:var(--amber,#ffb300);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}
.footer-grid ul{margin:0;padding:0;list-style:none}
.footer-grid li+li{margin-top:8px}
.footer-grid :where(a,span){color:var(--muted,#a89fb2);font-size:.78rem;line-height:1.45;text-decoration:none}
.footer-grid a:hover{color:var(--text,#ece7df)}
.footer-floor{display:flex;justify-content:space-between;gap:18px;padding-top:24px;border-top:1px solid var(--line,#241b36);color:var(--muted,#a89fb2);font-size:.7rem;line-height:1.5}
.footer-floor p{margin:0}

/* Policies, profile pages and archived states. */
body:has(main .profile-page) .route-tools,
body:has(main .policy-page) .route-tools{background:linear-gradient(90deg,rgba(74,163,199,.08),rgba(160,107,255,.04),transparent)}
.profile-page .profile-identity{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);gap:clamp(28px,6vw,74px);align-items:start}
.profile-fact{padding:18px;border:1px solid var(--line,#241b36);border-radius:var(--pad-radius);background:var(--surface,#0d0916)}
.profile-fact dt{color:var(--muted,#a89fb2);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.profile-fact dd{margin:.35rem 0 0}
.archive-card{padding:20px;border:1px solid var(--line,#241b36);border-radius:var(--pad-radius);background:var(--surface,#0d0916)}
.archive-card h2,.archive-card h3{margin:0 0 .45rem;font-family:var(--display,'Bebas Neue',sans-serif);font-size:2rem;font-weight:400}
.archive-card p{margin:0;color:var(--muted,#a89fb2)}

/* Robust responsive behavior, including long English/Thai names and 200% zoom. */
@media(max-width:1080px){
  .topbar-inner{justify-content:center}
  .brand{margin-right:auto}
  .night-status{margin-left:0}
  .topnav{order:3;flex:1 1 100%}
  .method-grid,.accountability-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:760px){
  html{scroll-padding-top:24px}
  .wrap,.topbar-inner,.footer-inner,.route-tools-inner{width:min(100% - 24px,var(--pad-max))}
  .topbar{position:relative;backdrop-filter:none}
  .topbar-inner{padding-block:10px}
  .brand{flex:1 1 100%;text-align:center}
  .night-status{display:none}
  .topnav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%}
  .topnav a{width:100%;padding-inline:6px;white-space:normal;text-align:center;line-height:1.2;letter-spacing:.035em}
  .route-tools-inner{display:block;padding-block:9px}
  .route-tools p{justify-content:space-between}
  .route-tools nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:7px}
  .route-tools nav a{justify-content:center;white-space:normal;text-align:center}
  .founder-feature,.footer-founders,.footer-lead,.profile-page .profile-identity{grid-template-columns:1fr}
  .footer-founder-photo{width:min(100%,340px)}
  .footer-floor{display:block}
  .footer-floor p+p{margin-top:8px}
}

@media(max-width:520px){
  .topnav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero h1,.zhero h1{font-size:clamp(3.2rem,19vw,5.8rem)}
  .method-grid,.accountability-grid,.archive-grid,.footer-grid{grid-template-columns:1fr}
  #dir .roster{grid-template-columns:1fr}
  .directory-zone-links{max-height:10rem}
  .founder-links,.footer-founder-links{display:grid;grid-template-columns:1fr}
  .founder-links a,.footer-founder-links a{width:100%}
  .footer-founders{padding:18px}
  .route-tools p{align-items:flex-start;flex-direction:column;gap:3px}
  .route-state{padding-left:0;border-left:0}
}

@media(max-width:340px){
  .wrap,.topbar-inner,.footer-inner,.route-tools-inner{width:min(100% - 16px,var(--pad-max))}
  .topnav a{font-size:.7rem}
  .route-tools nav{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}

@media(forced-colors:active){
  .route-tools,.site-footer,.directory-tools,.venue-plan-panel,.founder-feature,.footer-founders{forced-color-adjust:auto}
}
