:root{--c-bg:#160d0d;--c-panel:#2c1b18;--c-wine:#7b3048;--c-gold:#d8b977;--c-ivory:#fff8e9;--c-muted:#cbbcab;--c-edge:rgba(216,185,119,.24)}*{box-sizing:border-box}html{background:var(--c-bg);color-scheme:dark}body{margin:0;background:radial-gradient(900px 500px at 50% -180px,#52212d,transparent),var(--c-bg);color:var(--c-ivory);font:16px/1.6 system-ui,-apple-system,"Noto Sans Thai",sans-serif}a{color:var(--c-gold);text-decoration-thickness:1px;text-underline-offset:3px}.legal-shell{width:min(880px,calc(100% - 32px));margin:auto}.legal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0}.legal-brand{display:flex;align-items:center;gap:10px;color:var(--c-ivory);font-weight:800;text-decoration:none}.legal-brand img{width:40px}.locale-switch button{min-width:44px;min-height:44px;border:1px solid var(--c-edge);background:transparent;color:var(--c-ivory);border-radius:9px}.locale-switch button[aria-pressed=true]{background:var(--c-wine)}.legal-card{padding:clamp(22px,5vw,54px);border:1px solid var(--c-edge);border-radius:22px;background:linear-gradient(145deg,#321f1b,#211412);box-shadow:0 25px 70px #0007}.legal-card h1{font:500 clamp(2.1rem,7vw,4rem)/1.05 Georgia,"Noto Sans Thai",serif;margin:.15em 0}.legal-card h2{margin-top:2em;color:var(--c-gold);font-size:1.3rem}.legal-card label,.legal-card fieldset{display:grid;gap:7px;margin:16px 0}.legal-card fieldset{border:1px solid var(--c-edge);padding:16px;border-radius:12px}.legal-card input,.legal-card textarea,.legal-card select{width:100%;min-height:48px;padding:11px 12px;border:1px solid #765b4e;border-radius:9px;background:#160e0d;color:var(--c-ivory);font:inherit}.legal-card textarea{min-height:130px}.choice{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start}.choice input{width:22px;min-height:22px;margin-top:2px}.primary{min-height:50px;padding:11px 22px;border:1px solid #ad6077;border-radius:10px;background:var(--c-wine);color:#fff;font-weight:800}.hint,.muted{color:var(--c-muted)}.error-summary{padding:14px;border:2px solid #dc6d76;border-radius:10px;background:#411d22}.emergency{padding:14px;border-left:4px solid #f0c267;background:#402719}.hp{position:absolute!important;left:-10000px!important}.legal-footer{margin-top:38px;padding:28px max(0px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(0px,env(safe-area-inset-left));border-top:1px solid var(--c-edge)}.legal-footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}.legal-footer a{display:inline-flex;align-items:center;min-height:44px}.legal-footer small{display:block;margin-top:16px;color:var(--c-muted);font-size:.85rem}.submit-dialog{width:min(500px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:28px;border:1px solid var(--c-edge);border-radius:18px;background:#291916;color:var(--c-ivory);text-align:center}.submit-dialog::backdrop{background:#080404cc}.spinner{width:48px;height:48px;margin:8px auto 18px;border:4px solid #ffffff33;border-top-color:var(--c-gold);border-radius:50%;animation:spin .8s linear infinite}.tick{width:58px;height:58px;margin:8px auto 18px;border-radius:50%;background:#287449;color:white;font-size:38px;line-height:58px}@keyframes spin{to{transform:rotate(360deg)}}:focus-visible{outline:3px solid #f0cf87;outline-offset:3px}@media(prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;scroll-behavior:auto!important}}@media(max-width:480px){.legal-shell{width:min(100% - 20px,880px)}.legal-card{padding:22px 16px}.legal-footer nav{display:grid;grid-template-columns:1fr 1fr}.legal-footer a{font-size:.9rem}}

/* Shared public closing section. Keep this authoritative for splash, forms and policies. */
body:has(>footer[data-legal-footer]){min-height:100dvh;display:flex;flex-direction:column}
body:has(>footer[data-legal-footer])>main{flex:1 0 auto}
.legal-footer{
  position:relative;
  flex:0 0 auto;
  width:100%;
  max-width:none;
  margin:clamp(3rem,7vw,5.75rem) 0 0;
  padding:0 max(1rem,env(safe-area-inset-right)) max(1.9rem,calc(1.45rem + env(safe-area-inset-bottom))) max(1rem,env(safe-area-inset-left));
  overflow:visible;
  border:0;
  background:
    radial-gradient(48rem 16rem at 50% -10rem,rgba(116,38,60,.24),transparent 72%),
    linear-gradient(180deg,#160e0d 0%,#100a09 58%,#0b0707 100%);
  box-shadow:0 -18px 48px rgba(7,3,3,.24),inset 0 1px rgba(255,244,214,.035);
  color:#fff8e9;
}
.legal-footer::before{
  content:"";
  display:block;
  width:min(100%,72rem);
  height:1px;
  margin:0 auto;
  background:linear-gradient(90deg,transparent,rgba(216,185,119,.72) 20%,rgba(216,185,119,.72) 80%,transparent);
  box-shadow:0 1px 12px rgba(216,185,119,.14);
}
.legal-footer__inner{width:min(100%,68rem);margin:0 auto;padding:clamp(2rem,4.5vw,3.25rem) clamp(.15rem,2vw,1.5rem) 0}
.legal-footer .legal-footer__nav{display:block;text-align:center}
.legal-footer__nav ul{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.55rem clamp(1rem,2.8vw,2.25rem);margin:0;padding:0;list-style:none}
.legal-footer__nav li{display:flex;min-width:0}
.legal-footer__nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.48rem .15rem .42rem;
  border-bottom:2px solid transparent;
  color:#f7ead2;
  font:650 clamp(.94rem,1.35vw,1.02rem)/1.35 "Noto Sans Thai",system-ui,-apple-system,sans-serif;
  text-align:center;
  text-decoration:none;
  text-wrap:balance;
  transition:color .16s ease,border-color .16s ease,background-color .16s ease;
}
.legal-footer__nav a:hover,.legal-footer__nav a:active{color:#f1cc86;border-bottom-color:#c59b58;background:linear-gradient(180deg,transparent,rgba(123,48,72,.16))}
.legal-footer__nav a:focus,.legal-footer__nav a:focus-visible,.legal-footer__owner a:focus,.legal-footer__owner a:focus-visible{outline:3px solid #f1cc86;outline-offset:4px;border-radius:3px;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.legal-footer__owner{
  width:100%;
  margin:clamp(1.65rem,3.5vw,2.35rem) auto 0;
  padding:clamp(1.2rem,2.8vw,1.65rem) 0 0;
  border-top:1px solid rgba(216,185,119,.17);
  color:#cdbda5;
  font:500 .875rem/1.55 "Noto Sans Thai",system-ui,-apple-system,sans-serif;
  text-align:center;
}
.legal-footer__owner a{display:inline;min-height:0;padding:.16rem .08rem;color:#dfbd7c;font-weight:700;text-decoration:none}
.legal-footer__owner a:hover,.legal-footer__owner a:active{color:#ffe1a5;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media(max-width:700px){
  .legal-footer{margin-top:3rem;padding-inline:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}
  .legal-footer__inner{padding-top:2rem}
  .legal-footer__nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem}
  .legal-footer__nav li{display:block}
  .legal-footer__nav a{width:100%;min-height:48px;padding:.58rem .35rem;font-size:.94rem}
  .legal-footer__owner{margin-top:1.5rem;padding-top:1.15rem;font-size:.84rem}
}
@media(max-width:350px){.legal-footer__nav ul{grid-template-columns:1fr}.legal-footer__nav a{min-height:46px}}

.language-control{display:inline-grid;grid-template-columns:1fr 1fr;gap:.2rem;padding:.22rem;border:1px solid rgba(216,185,119,.38);border-radius:.75rem;background:#150d0c;box-shadow:inset 0 1px rgba(255,248,233,.04)}
.language-control button{min-width:54px;min-height:44px;padding:.5rem .75rem;border:1px solid transparent;border-radius:.55rem;background:transparent;color:#eadcc5;font:700 1rem/1 "Noto Sans Thai",system-ui,-apple-system,sans-serif;letter-spacing:0;cursor:pointer}
.language-control button.active,.language-control button[aria-pressed=true]{border-color:#c69e61;background:#762d47;color:#fff8e9;box-shadow:0 0 0 1px rgba(216,185,119,.18)}
.language-control button:hover{border-color:#d8b977}.language-control button:focus-visible{outline:3px solid #f0cf87;outline-offset:3px}
.translation-notice{margin:1rem 0;padding:.8rem 1rem;border-left:3px solid #d8b977;background:rgba(216,185,119,.08);color:#decfb9;font-size:.94rem}
.file-remove{justify-self:start;min-height:44px;padding:.45rem .75rem;border:1px solid #8c6f55;border-radius:.5rem;background:#211412;color:#f7ead2;font:inherit}
.error-summary ul{margin:.6rem 0 0;padding-left:1.3rem}.error-summary a{color:#fff8e9}.file-state{display:block;min-height:1.5em;color:#d8b977;font-weight:650}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html[lang=th] .legal-card,html[lang=th] .legal-head{font-family:"Noto Sans Thai",Tahoma,system-ui,sans-serif;line-height:1.72;letter-spacing:0}
@media(max-width:480px){.legal-head{align-items:flex-start}.language-control{flex:0 0 auto}.language-control button{min-width:50px;padding:.45rem .55rem}.legal-card h1{overflow-wrap:anywhere}}
