/* Reading pages (terms, privacy, security, cloudflare-whitelist). Tokens from tokens.css, navbar and footer from chrome.css.
   Sky band + faint coast engraving (the footer picture), paper column, grain cards like dashboard v2. No motion except link colour. */
@font-face{font-family:'Anuphan';src:url('/assets/vendor/fonts/Anuphan-VF.woff2') format('woff2');font-weight:300 700;font-style:normal;font-display:optional}
:root{--lg-w:1040px;--lg-col:36em;--lg-toc:230px}
html{scroll-padding-top:96px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{background:var(--bg);color:var(--text)}
.sr-only:focus{position:fixed;z-index:200;top:8px;left:8px;width:auto;height:auto;clip:auto;background:var(--cream);color:var(--sky);padding:10px 14px;border-radius:10px}

/* band */
.lg-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--sky);color:var(--cream);padding:calc(var(--pnav-h) + var(--sp-7)) 0 calc(clamp(110px,15vw,210px) + var(--sp-5))}
.lg-art{position:absolute;inset:auto 0 0 0;height:clamp(110px,15vw,210px);z-index:-1;opacity:.5;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 55%);mask-image:linear-gradient(to bottom,transparent,#000 55%)}
.lg-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 100%}
.lg-wrap{max-width:var(--lg-w);margin:0 auto;padding:0 24px}
.lg-crumb{display:flex;align-items:center;gap:var(--sp-2);margin:0 0 var(--sp-4);font-size:var(--fs-sm)}
.lg-crumb a{color:var(--cream);text-underline-offset:3px}
.lg-crumb .ico{opacity:.8}
.lg-hero h1{margin:0;color:var(--cream);font-size:clamp(2rem,5.4vw,3.25rem);line-height:1.25;font-weight:700;letter-spacing:0;text-wrap:balance;max-width:20em}
.lg-date{margin:var(--sp-3) 0 0;color:var(--cream);font-size:var(--fs-base)}
.lg-hero a:focus-visible,.lg-cta :focus-visible{outline:3px solid var(--cream);outline-offset:3px}

/* layout */
.lg-layout{max-width:var(--lg-w);margin:0 auto;padding:var(--sp-7) 24px var(--sp-8);display:grid;grid-template-columns:var(--lg-toc) minmax(0,1fr);gap:var(--sp-8);align-items:start}
.lg-layout:not(:has(.lg-toc,.lg-ipbox)){grid-template-columns:minmax(0,1fr)}
.lg-doc{min-width:0;max-width:var(--lg-col);font-size:1.09375rem;line-height:1.7}
.lg-doc p{margin:0 0 1em;text-wrap:pretty;max-width:29em}
.lg-doc h2{margin:0 0 var(--sp-4);font-size:clamp(1.5rem,3.4vw,1.875rem);line-height:1.3;font-weight:700;letter-spacing:0;text-wrap:balance}
.lg-doc h3{margin:0 0 var(--sp-2);font-size:1.125rem;line-height:1.4;font-weight:700}
.lg-doc a{color:var(--accent);text-underline-offset:3px}
.lg-doc a.btn{text-decoration:none}
.lg-doc a.btn-primary{color:var(--on-accent)}
.lg-sec{padding:0}
.lg-sec + .lg-sec{margin-top:var(--sp-7);padding-top:var(--sp-7);border-top:1px solid var(--border)}
.lg-doc .lg-eyebrow{margin:0 0 var(--sp-2);font-size:var(--fs-sm);line-height:1.4;font-weight:700;color:var(--sky);letter-spacing:0;text-transform:none}
.lg-sec > .lg-stack,.lg-sec > .lg-g,.lg-sec > .lg-card,.lg-sec > .lg-note,.lg-sec > .lg-cta{margin-top:var(--sp-4)}
.lg-sec > h2 + .lg-stack,.lg-sec > h2 + .lg-g{margin-top:0}

/* contents */
.lg-toc{position:sticky;top:96px;font-size:var(--fs-sm);line-height:1.4}
.lg-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--border)}
.lg-toc a{position:relative;display:block;padding:8px 8px 8px 20px;color:var(--text-muted);text-decoration:none;text-wrap:balance}
.lg-toc a:hover{color:var(--sky)}
.lg-toc a::before{content:"";position:absolute;left:-5px;top:50%;width:9px;height:9px;margin-top:-4.5px;border-radius:50%;background:var(--bg);border:1px solid var(--border-input)}
.lg-toc a[aria-current="true"]{color:var(--sky);font-weight:700}
.lg-toc a[aria-current="true"]::before{background:var(--amber);border-color:var(--sky);box-shadow:0 0 0 2px var(--sky)}
.lg-toc a:focus-visible{outline:3px solid var(--focus);outline-offset:-2px;border-radius:6px}
.lg-toc-btn{display:none}
@media (max-width:1023px){
  .lg-layout{grid-template-columns:minmax(0,1fr);gap:var(--sp-5);padding-top:var(--sp-5)}
  .lg-toc{position:static}
  .lg-toc-btn{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);width:100%;min-height:48px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--sky) 24%,transparent);border-radius:var(--r-md);background:var(--surface);color:var(--sky);font:700 var(--fs-base)/1.4 var(--font-sans);cursor:pointer}
  .lg-toc-btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
  .lg-toc-btn .ico{transition:transform var(--dur-base) var(--ease-glide)}
  .lg-toc.open .lg-toc-btn .ico{transform:rotate(180deg)}
  .lg-toc ol{margin-top:var(--sp-2)}
  html.js .lg-toc:not(.open) ol{display:none}
}

/* paper cards, same recipe as dashboard v2 .card */
.lg-card,.lg-cardlike{background:var(--grain-tile) 0 0/96px 96px,#FFFDF8;border:1px solid color-mix(in srgb,var(--sky) 24%,transparent);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);box-shadow:0 1px 2px rgba(31,26,23,.04),0 10px 24px -18px rgba(22,18,90,.28)}
.lg-card.lg-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--sp-4) var(--sp-4)}
.lg-card.lg-center{display:flex;flex-direction:column;align-items:center;text-align:center}
.lg-grow{flex:1 1 15rem;min-width:0}
.lg-meta{flex:none;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.lg-stack{display:grid;gap:var(--sp-3)}
.lg-line{display:flex;align-items:center;gap:var(--sp-3)}
.lg-g{display:grid;gap:var(--sp-4)}
.lg-g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}
.lg-g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.5rem),1fr))}
.lg-doc .lg-title{font-size:1.0625rem;font-weight:700;line-height:1.4;margin:0 0 4px}
.lg-doc .lg-sub,.lg-doc .lg-small{margin:0;font-size:1rem;line-height:1.6;color:var(--text-muted)}
.lg-doc .lg-strong{font-weight:600}
.lg-doc .lg-oktext{color:var(--up);font-weight:600}
.lg-doc .lg-handle{margin:0 0 var(--sp-4);color:var(--sky);font-weight:700}
.lg-doc .lg-stat{font-size:1.75rem;line-height:1.2;font-weight:700;color:var(--sky);margin:0 0 4px}
.lg-doc .lg-leadc{margin-inline:auto;text-align:center}
.lg-headc{text-align:center;margin-bottom:var(--sp-5)}
.lg-tag{font-size:var(--fs-sm);line-height:1.4;color:var(--text-muted)}
.lg-pill{display:inline-block;padding:2px 12px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--sky);font-size:var(--fs-sm);font-weight:600;line-height:1.6}
.lg-big{font-size:1.25rem}
.lg-doc .lg-link{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.lg-ico{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--sky)}
.lg-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lg-ico.lg-big{width:56px;height:56px;border-radius:var(--r-lg);margin-bottom:var(--sp-3)}
.lg-ico.lg-big svg{width:28px;height:28px}
.lg-solid{background:var(--sky);color:var(--cream)}
.lg-red{background:var(--down-bg);color:var(--down)}
.lg-dim{background:color-mix(in srgb,var(--cream) 16%,transparent);color:var(--cream)}
.lg-item,.lg-note{display:flex;gap:var(--sp-3);align-items:flex-start;padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border)}
.lg-item svg,.lg-note svg{flex:none;width:20px;height:20px;margin-top:4px;color:var(--sky);fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lg-item.lg-ok,.lg-note.lg-ok{background:var(--up-bg);border-color:color-mix(in srgb,var(--up) 30%,transparent)}
.lg-item.lg-ok svg,.lg-note.lg-ok svg{color:var(--up)}
.lg-note.lg-dash{background:var(--bg);border:1px dashed var(--border-input)}
.lg-doc .lg-item p,.lg-doc .lg-note p{margin:0}
.lg-it{font-size:1.0625rem;line-height:1.6}
.lg-cta{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:flex-start;padding:var(--sp-6);border-radius:var(--r-lg);background:var(--grain-tile) 0 0/96px 96px,var(--sky);color:var(--cream)}
.lg-cta h2,.lg-cta p{color:var(--cream)}
.lg-cta h2{font-size:1.5rem;margin-bottom:var(--sp-3)}
.lg-doc .lg-cta a{color:var(--cream)}
.lg-doc .lg-cta a.btn{background:var(--cream);color:var(--sky)}
.lg-doc .lg-cta a.btn:hover{background:#fff}
.lg-cta [data-mail-fallback]{color:var(--cream)}
@media (max-width:599px){
  .lg-hero{padding-top:calc(var(--pnav-h) + var(--sp-6))}
  .lg-layout{padding-inline:16px}.lg-wrap{padding-inline:16px}
  .lg-card{padding:var(--sp-4)}
  .lg-cta{padding:var(--sp-5)}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}

/* cloudflare-whitelist guide */
.lg-guide .lg-doc{padding-top:0}
.lg-ipbox{position:sticky;top:96px;padding:var(--sp-4);border-radius:var(--r-lg);background:var(--warn-bg);border:1px solid var(--warn-dot);color:var(--warn)}
.lg-ipbox h2{margin:0 0 var(--sp-2);font-size:var(--fs-sm);line-height:1.4;font-weight:700;color:var(--warn)}
.lg-ip{margin:0 0 var(--sp-3);padding:6px 10px;border-radius:var(--r-sm);background:rgba(255,255,255,.55);color:var(--text);font:500 1.25rem/1.4 var(--font-num);letter-spacing:.01em;user-select:all;overflow-wrap:anywhere}
.lg-ipbox .btn{width:100%}
.lg-ipbox .btn-primary{color:var(--on-accent)}
.lg-live{min-height:1.5em;margin:var(--sp-2) 0 0;font-size:var(--fs-sm);font-weight:700;color:var(--warn)}
.lg-why{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);line-height:1.6;color:var(--warn)}
.lg-note.lg-warn{background:var(--warn-bg);border-color:var(--warn-dot);margin-bottom:var(--sp-5);padding:var(--sp-4)}
.lg-warn h2{margin:0 0 var(--sp-2);font-size:1.125rem;color:var(--warn)}
.lg-warn p{color:var(--text)}
.lg-ico.lg-amber{background:var(--warn);color:var(--warn-bg)}
.lg-ico.lg-amber svg{margin:0;width:22px;height:22px;color:inherit}
.lg-steps{list-style:none;margin:0 0 var(--sp-5);padding:0;display:grid;gap:var(--sp-4)}
.lg-step{display:flex;gap:var(--sp-4);align-items:flex-start}
.lg-n{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--sky);color:var(--cream);font-weight:700;font-variant-numeric:tabular-nums}
.lg-step .lg-line{margin-bottom:var(--sp-2)}
.lg-step .lg-ico{width:36px;height:36px}
.lg-step h3{margin:0;font-size:1.125rem}
.lg-doc .lg-stp{margin:0;font-size:1.0625rem}
.lg-path{display:inline-block;padding:0 8px;border-radius:var(--r-sm);background:var(--surface-3);font:500 .9375rem/1.6 var(--font-num);overflow-wrap:anywhere}
.lg-doc .lg-note.lg-ok > svg{margin-top:5px}
.lg-doc .lg-note.lg-ok p{margin:0}
@media (max-width:1023px){.lg-ipbox{position:static}}

/* EN readers: the page is painted once, after the language swap (no shift from Thai to English) */
.pre-en body{visibility:hidden}
