/* Bee Hedge styles: one file for the public page and the app (2026-10-26). Merged from the reneijnema.nl styles the app
   started with (site.css, cp.css, studio-cp.css) plus bh-theme.css and bh-home.css, keeping only the rules Bee Hedge uses. */

/* ---- from site.css ---- */
@font-face{
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-400i-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-400i-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/cormorant-garamond-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/jost-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/assets/fonts/jost-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/jost-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Jost';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/jost-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/jost-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face{
  font-family: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/jost-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face{
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/noto-sans-thai-300-thai.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face{
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/noto-sans-thai-300-thai.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face{
  font-family: 'Noto Sans Thai';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/noto-sans-thai-300-thai.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face{
  font-family: 'Noto Serif Thai';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/noto-serif-thai-400-thai.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face{
  font-family: 'Noto Serif Thai';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/assets/fonts/noto-serif-thai-400-thai.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
@font-face{font-family:'Cormorant Fallback';src:local('Georgia'),local('Times New Roman');size-adjust:87.35%;ascent-override:105.32%;descent-override:33.2%;line-gap-override:0%}
@font-face{font-family:'Cormorant Fallback';font-style:italic;src:local('Georgia Italic'),local('Georgia'),local('Times New Roman');size-adjust:77.56%;ascent-override:118.62%;descent-override:37.39%;line-gap-override:0%}
@font-face{font-family:'Jost Fallback';src:local('Arial'),local('Helvetica'),local('Roboto');size-adjust:95.86%;ascent-override:111.62%;descent-override:39.64%;line-gap-override:0%}
:root{--air:#EEF3EA;      
  --air-2:#E2EBDC;    
  --grass:#C2D06C;    
  --grass-deep:#7E9440;
  --grass-text:#5D6D2F; 
  --ink:#23392B;      
  --ink-soft:#4E6152;
  --zest:#F2D35A;     
  --cedar:#8C6A4A;    
  --gold:#B8964E;     
  --paper:#FBF8EF;
  --serif:'Cormorant Garamond','Cormorant Fallback','Noto Serif Thai', Georgia, 'Times New Roman', serif;
  --sans:'Jost','Jost Fallback','Noto Sans Thai', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);}
*,*::before,*::after{box-sizing:inherit}
html{overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px)}
body{margin:0; background:var(--air); color:var(--ink); font-family:var(--sans); font-weight:400; font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--grass-deep); outline-offset:4px}
h1,h2,h3{font-family:var(--serif); font-weight:400; margin:0}
p{margin:0}
.logo{display:inline-flex; flex-direction:column; align-items:flex-start; text-decoration:none; font-size:32px; line-height:1}
.logo .wm{display:flex; align-items:baseline; gap:.24em; font-family:var(--serif); font-weight:500; letter-spacing:.05em; white-space:nowrap}
.logo .w1{color:var(--ink)}
.logo .w2{color:#7E9440; background:linear-gradient(180deg,#9DB24E 0%,#5F7A33 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.logo .tag{font-family:var(--sans); font-weight:300; font-size:.4em; letter-spacing:.06em; color:var(--ink-soft); margin-top:.28em; white-space:nowrap}
header{position:fixed; top:env(safe-area-inset-top,0px); left:0; right:0; z-index:20; transition:background .3s}
header nav{display:flex; flex-wrap:wrap; align-items:center; gap:4px 30px; font-size:17px; font-weight:500; letter-spacing:.01em}
header nav a{text-decoration:none; padding:10px 0}
header nav a:hover{color:var(--grass-deep)}
@media (max-width:640px){header nav a{display:none}
header nav{flex-wrap:nowrap; gap:0}
.logo{font-size:23px}}
#mist{position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none}
@keyframes sway{from{transform:rotate(-1.6deg)} to{transform:rotate(1.8deg)}}
.no{font-family:var(--serif); font-style:italic; font-size:clamp(22px,2.4vw,30px); color:var(--grass-deep)}
.big{font-family:var(--serif); font-weight:400; font-size:clamp(108px,21vw,300px); line-height:.8; letter-spacing:-.02em; margin:6px 0 0 -.04em; color:var(--ink)}
.btn{display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 30px; border-radius:999px; border:0; font:500 15px/1 var(--sans); letter-spacing:.02em; text-decoration:none; cursor:pointer; background:var(--grass); color:var(--ink)}
.btn:hover{background:#B3C35A}
.btn.ghost{background:transparent; box-shadow:inset 0 0 0 1px var(--ink)}
.btn.ghost:hover{background:rgba(35,57,43,.06)}
section{padding:120px 0}
h2{font-size:clamp(44px,6vw,76px); line-height:1; letter-spacing:-.01em}
.back{transform:rotateY(180deg)}
.frame{flex:1; min-width:0; border:1px solid var(--gold); outline:1px solid rgba(184,150,78,.45); outline-offset:-2.2cqw; display:flex; flex-direction:column; align-items:center; text-align:center}
.back .frame{justify-content:center; gap:3.2cqw; padding:9cqw 9cqw}
.frame > *{width:100%; display:flex; flex-direction:column; align-items:center}
.frame p{text-wrap:balance}
.tr{letter-spacing:.26em; padding-left:.26em; text-transform:uppercase}
.rule{width:12cqw; height:1px; background:var(--gold)}
.day{background:var(--air)}
.price{font-family:var(--serif); font-size:clamp(64px,7vw,96px); line-height:1; font-variant-numeric:lining-nums}
.price small{font-family:var(--sans); font-size:20px; margin-left:8px; color:var(--ink-soft)}
html[lang="th"] body{line-height:1.75}
html[lang="th"] .big{letter-spacing:0}
.contact{background:var(--air)}
@media (max-width:640px){section{padding:84px 0}
footer{padding-top:80px}
.big{font-size:clamp(108px,32vw,150px)}}
@keyframes bump{50%{transform:scale(1.35)}}
.x{width:44px; height:44px; border:0; border-radius:50%; background:transparent; font-size:26px; line-height:1; color:var(--ink); cursor:pointer}
.x:hover{background:rgba(35,57,43,.07)}
.line{display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:16px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(35,57,43,.12)}
.line h3{font-size:22px; line-height:1.1; font-variant-numeric:lining-nums}
.line .meta{font-size:14px; color:var(--ink-soft)}
.remove{display:block; margin-top:6px; border:0; background:none; padding:4px 0; font:400 13px var(--sans); color:var(--ink-soft); text-decoration:underline; cursor:pointer; margin-left:auto}
.empty{margin-top:40px; color:var(--ink-soft)}
.empty a{color:var(--ink)}
footer{position:relative; overflow:hidden; background:linear-gradient(180deg,var(--air-2),#D9E4CF); padding:110px 0 230px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
.hp{position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden}
.secure{display:inline-flex; align-items:center; gap:8px; margin-right:6px; font-size:15px; color:var(--ink-soft)}
@media (max-width:640px){.secure span{display:none}}
@keyframes coIn{from{opacity:0; transform:translateY(-6px)} to{opacity:1; transform:none}}
.ty{padding:150px 0 100px; background:radial-gradient(120% 70% at 80% 0%, #FBFCF6 0%, rgba(251,252,246,0) 60%), linear-gradient(180deg,#F6F8F0 0%, var(--air) 100%)}
.ty h1{font-size:clamp(48px,7vw,84px); line-height:1}
.ty .btn{margin-top:48px}
@media (max-width:640px){.ty{padding-top:120px}}
.co-save{display:flex; align-items:center; gap:10px; font-size:15px; color:var(--ink-soft)}
.co-save input{accent-color:var(--grass-deep); width:18px; height:18px}
.co-save[hidden]{display:none}
footer{padding-bottom:72px}
@media (max-width:640px){footer{padding-bottom:56px}}
@media (max-width:360px){.logo{font-size:20px}}
@media (max-width:640px){header .logo{font-size:21px}}
@media (max-width:360px){header .logo{font-size:18px}}
@keyframes rvDrift{to{transform:translateX(calc(-50% - 11px))}}
@keyframes rvSway{from{transform:rotate(-.8deg) translateY(0)} to{transform:rotate(.8deg) translateY(-3px)}}
@keyframes mistDrop{0%{opacity:0; transform:translate(0,0)} 10%{opacity:1} 100%{opacity:0; transform:translate(var(--dx),var(--dy))}}
@keyframes mistCloud{0%{opacity:0; transform:translate(0,0) scale(.25)} 18%{opacity:1} 100%{opacity:0; transform:translate(var(--dx),var(--dy)) scale(var(--g,2.4))}}
.btn--small{padding:9px 18px; font-size:14px}

/* ---- from cp.css ---- */
.cp{background:var(--air); font-size:15px}
.cp h1,.cp h2{font-family:var(--serif); font-weight:400}
.cp-shell{display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh}
.cp-side{position:sticky; top:0; height:100vh; display:flex; flex-direction:column; gap:28px; padding:28px 18px 0; overflow:hidden;
  background:linear-gradient(180deg,#F6F8F0 0%, var(--air-2) 100%); border-right:1px solid rgba(35,57,43,.08)}
.cp-logo{font-size:26px; padding:0 10px}
.cp-logo .tag{font-size:.42em}
.cp-nav{display:flex; flex-direction:column; gap:0; position:relative; z-index:1}
.cp-nav a{display:flex; align-items:center; gap:12px; padding:9px 12px; border-radius:12px; text-decoration:none; color:var(--ink-soft); font-weight:400}
.cp-nav a:hover{background:rgba(255,255,255,.55); color:var(--ink)}
.cp-nav a[aria-current]{background:rgba(255,255,255,.85); color:var(--ink); font-weight:500; box-shadow:0 1px 2px rgba(35,57,43,.06)}
.cp-nav svg{width:20px; height:20px; flex:0 0 auto}
.cp-nav span{flex:1}
.cp-side-foot{position:relative; z-index:1; display:flex; flex-direction:column; gap:6px; padding:0 12px; font-size:14px}
.cp-side-foot a,.cp-side-foot button{color:var(--ink-soft); text-decoration:none; border:0; background:none; padding:4px 0; font:inherit; text-align:left; cursor:pointer}
.cp-side-foot a:hover,.cp-side-foot button:hover{color:var(--ink); text-decoration:underline}
.cp-main{padding:40px clamp(20px,4vw,56px) 80px; min-width:0}
.cp-top{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 24px; margin-bottom:28px}
.cp-top h1{font-size:clamp(38px,4.2vw,54px); line-height:1}
.cp-flash{margin:-8px 0 22px; padding:12px 16px; border-radius:14px; background:rgba(194,208,108,.35); color:var(--ink); animation:cpFade 4s forwards}
@keyframes cpFade{0%,80%{opacity:1} 100%{opacity:.6}}
.cp-card{background:rgba(255,255,255,.7); border:1px solid rgba(35,57,43,.08); border-radius:20px; padding:24px; margin-bottom:20px}
.cp-card > h2,.cp-card-head h2{font-size:28px; line-height:1.1}
.cp-card > h2{margin-bottom:16px}
.cp-card-head{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:8px 20px; margin-bottom:16px}
.cp-card-head a{color:var(--ink-soft); font-size:14px}
.cp-card-head h2 small{font-family:var(--sans); font-size:14px; color:var(--ink-soft); margin-left:8px}
.cp-muted{color:var(--ink-soft); font-size:14px}
.cp-tiles{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:20px}
.cp-tile{display:flex; flex-direction:column; gap:6px; padding:20px 22px; border-radius:20px; background:rgba(255,255,255,.7); border:1px solid rgba(35,57,43,.08)}
.cp-tile span{font-size:14px; color:var(--ink-soft)}
.cp-tile strong{font-family:var(--serif); font-weight:400; font-size:40px; line-height:1; font-variant-numeric:lining-nums}
.cp-tile small{font-size:13px; color:var(--ink-soft)}
.cp-table{width:100%; border-collapse:collapse}
.cp-table th{text-align:left; font-weight:500; font-size:13px; color:var(--ink-soft); padding:8px; border-bottom:1px solid rgba(35,57,43,.14); white-space:nowrap}
.cp-table td{padding:12px 8px; border-bottom:1px solid rgba(35,57,43,.08); vertical-align:top}
.cp-table tr:last-child td{border-bottom:0}
.cp-table td small{display:block; color:var(--ink-soft); font-size:13px; margin-top:2px}
.cp-table a{color:var(--ink); font-weight:500; text-decoration:none}
.cp-table a:hover{text-decoration:underline}
.cp-table .num{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
.cp-field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px; font-size:14px; color:var(--ink-soft); min-width:0}
.cp-field input,.cp-field select,.cp-field textarea{font:400 15px/1.45 var(--sans); color:var(--ink); background:rgba(255,255,255,.85); border:1px solid rgba(35,57,43,.18); border-radius:12px; padding:10px 14px; width:100%}
.cp-field textarea{resize:vertical}
.cp-field input:focus,.cp-field select:focus,.cp-field textarea:focus{outline:2px solid var(--grass-deep); outline-offset:1px; border-color:transparent}
.cp-field small{font-size:12px}
.cp-field textarea[readonly]{background:transparent; color:var(--ink-soft)}
.cp-grid2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px}
.cp .btn.ghost{background:transparent}
.cp-size{border:1px solid rgba(35,57,43,.12); border-radius:16px; padding:16px 16px 4px; margin:0; min-width:0}
.cp-text{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; padding-top:12px; border-top:1px solid rgba(35,57,43,.07)}
.cp-text .cp-field{margin-bottom:10px}
@media (max-width:1100px){.cp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.cp-shell{grid-template-columns:minmax(0,1fr)}
.cp-side{position:static; height:auto; padding:18px 16px 0; gap:14px}
.cp-nav{flex-direction:row; overflow-x:auto; padding-bottom:6px; scrollbar-width:none}
.cp-nav a{flex:0 0 auto; padding:8px 12px}
.cp-nav span{display:none}
.cp-nav a[aria-current] span{display:inline}
.cp-side-foot{flex-direction:row; justify-content:space-between; padding:0 4px}
.cp-main{padding-top:24px}
.cp-grid2,.cp-text{grid-template-columns:minmax(0,1fr)}
.cp-tiles{grid-template-columns:minmax(0,1fr)}}
.cp-text textarea{field-sizing:content; min-height:44px; max-height:320px}
.cp-card fieldset.cp-size + fieldset.cp-size{margin-top:12px}
.cp-nav-group{display:flex; flex-direction:column; gap:2px; padding:12px 0}
.cp-nav-group:first-child{padding-top:0}
.cp-nav-group + .cp-nav-group{border-top:1px solid rgba(35,57,43,.1)}
.cp-side{gap:22px}
.cp-side-foot{padding-top:12px; border-top:1px solid rgba(35,57,43,.1); margin:0 0 0;}
.cp-side-foot a[aria-current]{color:var(--ink); font-weight:500}
@media (max-width:820px){.cp-nav{flex-direction:row; flex-wrap:nowrap}
.cp-nav-group{flex-direction:row; padding:0 6px; border-top:0 !important}
.cp-nav-group + .cp-nav-group{border-left:1px solid rgba(35,57,43,.1)}}
.cp-lang-tabs{display:flex; gap:6px; margin-bottom:12px}
.cp-lang-tabs button{padding:8px 18px; border:0; border-radius:999px; background:rgba(255,255,255,.55); font:400 14px var(--sans); color:var(--ink-soft); cursor:pointer}
.cp-lang-tabs button[aria-selected="true"]{background:var(--grass); color:var(--ink)}
.cp-review-top{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 110px auto auto}
.cp-grid2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; align-items:start}
@media (max-width:900px){.cp-grid2{grid-template-columns:minmax(0,1fr)}}
[data-ship-show][hidden]{display:none}
.cp-nav a{position:relative}
.btn--small{padding:9px 18px; font-size:14px}
.cp-qty{width:80px; padding:7px 10px; border-radius:10px; border:1px solid rgba(35,57,43,.16); font:inherit; text-align:right}
.cp-login{box-sizing:border-box; min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:24px 16px} /* border-box: the padding no longer makes it scroll */
.cp-login-box{width:100%; max-width:380px; display:flex; flex-direction:column; align-items:center; gap:22px}
.cp-login-box .cp-card{width:100%; margin:0}
.cp-login-box h1{font-size:32px; margin:0 0 14px}
.cp-login-box .cp-field input{width:100%; font-size:16px} /* 16px: phones don't zoom in when you tap the field */

/* ---- from studio-cp.css ---- */
.cp-table .n{text-align:right; white-space:nowrap}
@media (max-width:900px){.cp-side-foot{display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; font-size:13px; line-height:1.3}
.cp-side-foot a,.cp-side-foot button{padding:4px 0}}
@media (max-width:640px){.cp-tiles{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.cp-tile{padding:14px}
.cp-tile strong{font-size:24px}
.cp-tile small{font-size:12px}}
.cp-systems{position:relative; margin:-8px 8px 0}
.cp-systems summary{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 12px; border-radius:12px; background:rgba(35,57,43,.06); font-size:14px; font-weight:500; color:var(--ink); cursor:pointer; list-style:none}
.cp-systems summary::-webkit-details-marker{display:none}
.cp-systems summary svg{width:16px; height:16px; color:var(--ink-soft); transition:transform .2s}
.cp-systems[open] summary svg{transform:rotate(180deg)}
.cp-systems summary:hover{background:rgba(35,57,43,.09)}
.cp-systems ul{position:absolute; z-index:20; left:0; right:0; top:calc(100% + 6px); margin:0; padding:6px; list-style:none; background:#fff; border-radius:12px; box-shadow:0 12px 32px rgba(35,57,43,.16)}
.cp-systems li a{display:block; padding:8px 10px; border-radius:8px; font-size:14px; color:var(--ink-soft); text-decoration:none}
.cp-systems li a:hover{background:rgba(35,57,43,.06); color:var(--ink)}
.cp-systems li a[aria-current]{color:var(--ink); font-weight:500}
.rn-gold-status{display:inline-flex; align-items:center; gap:8px; padding:6px 12px; border-radius:999px; background:rgba(35,57,43,.06); font-size:13px; color:var(--ink-soft)}
.rn-gold-status i{width:8px; height:8px; border-radius:50%; background:#C9B98F}
.rn-gold-status.is-live i{background:var(--grass-deep); box-shadow:0 0 0 4px rgba(126,148,64,.18)}
@media (max-width:900px){.cp-systems{margin:0}}
.rn-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}
.rn-scroll .cp-table{min-width:520px}
.rn-gold-badges{display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px}
.cp-side-foot{flex-direction:row; justify-content:space-between; align-items:center}
.cp-side-foot form{margin:0}
.rn-cal{list-style:none; margin:0; padding:0}
.rn-cal li{display:grid; grid-template-columns:48px minmax(0,1fr) auto 28px; align-items:center; gap:14px; padding:12px 0; border-top:1px solid rgba(35,57,43,.08)}
.rn-cal li:first-child{border-top:0; padding-top:4px}
.rn-cal-date{display:flex; flex-direction:column; align-items:center; line-height:1.1}
.rn-cal-date strong{font-size:22px; font-weight:500; font-variant-numeric:tabular-nums}
.rn-cal-date small{font-size:12px; color:var(--ink-soft)}
.rn-cal-what b{display:block; font-weight:500; font-size:15px}
.rn-cal-what small{display:block; margin-top:2px; font-size:13px; color:var(--ink-soft)}
.rn-cal-type{padding:4px 10px; border-radius:999px; font-size:12px; font-weight:500; white-space:nowrap; background:rgba(35,57,43,.06); color:var(--ink-soft)}
.rn-cal-closed .rn-cal-type{background:#F3E1DC; color:#8A3B2B}
.rn-cal-early .rn-cal-type{background:#F4ECD6; color:#7A5C14}
.rn-cal-fomc .rn-cal-type{background:#E3EAD0; color:#4E5E22}
.rn-cal li form{margin:0}
.rn-cal-del{width:28px; height:28px; border:0; border-radius:8px; background:none; color:var(--ink-soft); font-size:18px; line-height:1; cursor:pointer; opacity:.5}
.rn-cal-del:hover,.rn-cal-del:focus-visible{opacity:1; background:rgba(35,57,43,.06)}
.rn-cal li.is-today .rn-cal-date strong{color:var(--grass-deep)}
@media (max-width:640px){.rn-cal li{grid-template-columns:40px minmax(0,1fr) 28px; gap:10px}
.rn-cal-type{grid-column:2; grid-row:2; justify-self:start}
.rn-cal li form{grid-column:3; grid-row:1}}
.rn-gold-status.is-today i{background:#C2412D; box-shadow:0 0 0 4px rgba(194,65,45,.16)}
.rn-gold-status.is-soon i{background:#D9822B; box-shadow:0 0 0 4px rgba(217,130,43,.18)}
a.rn-gold-status{text-decoration:none}
a.rn-gold-status:hover{color:var(--ink)}
.rn-lead-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; margin-bottom:20px}
.rn-lead-grid > .cp-card{margin:0}
.cp-tile strong.rn-tile-text{font-size:22px; overflow-wrap:anywhere}
@media (max-width:760px){.rn-lead-grid{grid-template-columns:minmax(0,1fr)}}
.rn-pos{color:#4E5E22}
.rn-neg{color:#8A3B2B}
.rn-month-nav{display:flex; align-items:center; gap:8px}
.rn-month-nav strong{font-weight:500; margin-right:6px}
.rn-pl-cal{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:6px}
.rn-pl-h{font-size:12px; color:var(--ink-soft); text-align:center; padding-bottom:2px}
.rn-pl-day{position:relative; min-height:74px; padding:8px; border-radius:12px; background:rgba(35,57,43,.035); display:flex; flex-direction:column; gap:2px; overflow:hidden}
.rn-pl-day.is-empty{background:none}
.rn-pl-day b{font-size:12.5px; font-weight:500; color:var(--ink-soft)}
.rn-pl-day em{font-style:normal; font-weight:500; font-size:14px; font-variant-numeric:tabular-nums; margin-top:auto}
.rn-pl-day small{font-size:11.5px; color:var(--ink-soft)}
.rn-pl-day.is-win{background:rgba(126,148,64,var(--a))}
.rn-pl-day.is-win em{color:#3E4C18}
.rn-pl-day.is-loss{background:rgba(194,65,45,var(--a))}
.rn-pl-day.is-loss em{color:#7A2E20}
.rn-sub-head{margin-top:22px}
@media (max-width:640px){.rn-pl-day{min-height:58px; padding:6px}
.rn-pl-day em{font-size:11.5px}
.rn-pl-day small{display:none}}
.rn-live-table{table-layout:fixed; font-variant-numeric:tabular-nums}
.rn-live-table td,.rn-live-table th{overflow:hidden; text-overflow:ellipsis}
a.rn-pl-day{text-decoration:none; color:inherit; cursor:pointer; transition:box-shadow .15s}
a.rn-pl-day:hover{box-shadow:inset 0 0 0 2px rgba(35,57,43,.25)}
.rn-pl-day.is-selected{box-shadow:inset 0 0 0 2px var(--ink)}
.rn-day-foot{margin:8px 0 0; font-size:12.5px}
.rn-order-last{margin:8px 0 0; font-size:12px; color:var(--ink-soft)}
.gt{--line:rgba(35,57,43,.09); --line-2:rgba(35,57,43,.16); --up:#4E5E22; --down:#8A3B2B; --up-bg:rgba(78,94,34,.08); --down-bg:rgba(138,59,43,.07); display:grid; gap:18px; font-variant-numeric:tabular-nums}
.gt-card,.gt-snap{background:rgba(251,250,245,.92); border:1px solid var(--line); border-radius:22px}
.gt-up{color:var(--up)}
.gt-down{color:var(--down)}
.gt-muted{color:var(--ink-soft)}
.gt-empty{margin:0; padding:28px 22px; font-size:13px; color:var(--ink-soft); text-align:center}
.gt-ticket{padding:18px 20px}
.gt-type{display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line-2); border-radius:10px; overflow:hidden; margin-bottom:14px}
.gt-type label{position:relative; cursor:pointer}
.gt-type label + label{border-left:1px solid var(--line-2)}
.gt-type input{position:absolute; opacity:0; pointer-events:none}
.gt-type span{display:block; padding:7px 0; text-align:center; font-size:12px; color:var(--ink-soft)}
.gt-type input:checked + span{background:var(--ink); color:#fff}
.gt-type input:focus-visible + span{outline:2px solid var(--grass-deep); outline-offset:-2px}
.gt-quote{display:grid; grid-template-columns:1fr auto 1fr; margin-bottom:8px}
.gt-q{display:flex; flex-direction:column; gap:2px; padding:10px 12px; border-radius:12px}
.gt-q small{font-size:11px; letter-spacing:.06em; text-transform:uppercase}
.gt-q b{font-size:22px; font-weight:400; letter-spacing:-.01em; line-height:1.1}
.gt-q b sup{font-size:13px; vertical-align:6px}
.gt-q.buy{background:var(--up-bg); color:var(--up)}
.gt-q.sell{background:var(--down-bg); color:var(--down); text-align:right; align-items:flex-end}
.gt-spread{align-self:center; padding:0 8px; font-size:11px; color:var(--ink-soft); text-align:center; line-height:1.2}
.gt-range{display:flex; justify-content:space-between; font-size:11px; color:var(--ink-soft); margin-bottom:12px}
.gt-range span:nth-child(2){color:var(--ink)}
.gt-field{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; border-top:1px solid var(--line); font-size:13px}
.gt-field[hidden]{display:none}
.gt-field > span:first-child{color:var(--ink-soft)}
.gt-step{display:inline-flex; align-items:center; border:1px solid var(--line-2); border-radius:9px; overflow:hidden; background:#fff}
.gt-step button{width:28px; height:30px; border:0; background:none; font:inherit; font-size:15px; color:var(--ink-soft); cursor:pointer}
.gt-step button:hover{background:rgba(35,57,43,.05); color:var(--ink)}
.gt-step input{width:56px; height:30px; border:0; border-left:1px solid var(--line); border-right:1px solid var(--line); text-align:center; font:inherit; font-size:13px; color:var(--ink); background:none; -moz-appearance:textfield; appearance:textfield}
.gt-step input::-webkit-outer-spin-button,.gt-step input::-webkit-inner-spin-button{-webkit-appearance:none; margin:0}
.gt-step input.wide{width:92px}
.gt-step em{font-style:normal; font-size:11px; color:var(--ink-soft); padding:0 8px 0 2px}
.gt-prot{display:flex; align-items:center; gap:10px}
.gt-unit{width:30px; flex:none; font-style:normal; font-size:12px; color:var(--ink-soft); text-align:center}
.gt-switch{appearance:none; -webkit-appearance:none; position:relative; width:30px; height:18px; margin:0; border-radius:999px; background:rgba(35,57,43,.18); cursor:pointer; flex:none; transition:background .15s}
.gt-switch::after{content:""; position:absolute; top:2px; left:2px; width:14px; height:14px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.2); transition:left .15s}
.gt-switch:checked{background:var(--grass-deep)}
.gt-switch:checked::after{left:14px}
.gt-switch:focus-visible{outline:2px solid var(--grass-deep); outline-offset:2px}
.gt-hint{margin:2px 0 6px; font-size:11px; color:var(--ink-soft); text-align:center}
.gt-hint[hidden]{display:none}
.gt-hint [data-gt-saved]{color:var(--grass-text)}
.gt-go{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px}
.gt-go button{height:44px; border:0; border-radius:12px; font:inherit; font-size:14px; font-weight:500; color:#fff; cursor:pointer; line-height:1.15}
.gt-go button:active{transform:translateY(1px)}
.gt-go .b{background:var(--up)}
.gt-go .s{background:var(--down)}
.gt-go small{display:block; font-size:11px; font-weight:400; opacity:.85}
.gt-sum{margin:10px 0 0; font-size:11px; color:var(--ink-soft); text-align:center; min-height:1em}
.gt-off{margin:12px 0 0; font-size:13px; color:var(--ink-soft)}
.gt-book{min-width:0; display:flex; flex-direction:column}
.gt-head{display:flex; align-items:center; gap:16px; padding:16px 22px 4px}
.gt-head h2{font-family:var(--serif); font-size:26px; font-weight:500; margin:0; line-height:1}
.gt-tabs{display:flex; gap:22px; padding:0 22px; border-bottom:1px solid var(--line)}
.gt-tabs button{position:relative; padding:12px 0 11px; border:0; background:none; font:inherit; font-size:13px; color:var(--ink-soft); cursor:pointer}
.gt-tabs button b{font-weight:500; margin-left:5px}
.gt-tabs button[aria-selected="true"]{color:var(--ink)}
.gt-tabs button[aria-selected="true"]::after{content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; border-radius:2px; background:var(--ink)}
.gt-panel{flex:1; min-height:260px}
.gt-panel[hidden]{display:none}
.gt-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}
.gt-table{width:100%; min-width:560px; border-collapse:collapse; font-size:13px}
.gt-table th{padding:9px 12px; font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); text-align:left; border-bottom:1px solid var(--line); white-space:nowrap}
.gt-table td{padding:10px 12px; border-bottom:1px solid var(--line); white-space:nowrap; color:var(--ink)}
.gt-table tr:last-child td{border-bottom:0}
.gt-table .n{text-align:right}
.gt-table th:first-child,.gt-table td:first-child{padding-left:22px}
.gt-table th:last-child,.gt-table td:last-child{padding-right:16px}
.gt-table td.gt-muted{color:var(--ink-soft)}
.gt-table form{display:inline}
.gt-side{display:inline-flex; align-items:center; gap:8px; font-weight:500}
.gt-side::before{content:""; width:3px; height:16px; border-radius:2px; background:var(--up)}
.gt-side.is-sell::before{background:var(--down)}
.gt-lvl{display:inline-flex; align-items:center; gap:5px}
.gt-lvl i{font-style:normal; font-size:10px; letter-spacing:.04em; color:var(--grass-text); border:1px solid rgba(126,148,64,.35); border-radius:4px; padding:0 4px; line-height:15px}
.gt-lvl i.be{color:#7A6420; border-color:rgba(217,178,59,.55)}
.gt-x{border:0; background:none; color:var(--ink-soft); font:inherit; font-size:12px; padding:4px 8px; border-radius:8px; cursor:pointer}
.gt-x:hover{background:var(--down-bg); color:var(--down)}
.gt-foot{display:flex; justify-content:space-between; gap:12px; padding:12px 22px; border-top:1px solid var(--line); font-size:12px; color:var(--ink-soft)}
.gt-foot b{font-weight:500; color:var(--ink)}
.gt-foot .rn-order-last{margin:0}
.cp-flash.gt-flash{background:rgba(194,65,45,.1); color:#8A3B2B; animation:gtFlash 8s forwards}
@keyframes gtFlash{0%,85%{opacity:1} 100%{opacity:0}}
.gt-snap{padding:14px 18px 12px; min-width:0}
.gt-snap-h{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px}
.gt-snap-h b{font-size:11px; letter-spacing:.08em; text-transform:uppercase; font-weight:500; color:var(--ink-soft)}
.gt-snap-h a,.gt-snap-h span{font-size:11px; color:var(--ink-soft); text-decoration:none}
.gt-snap-h a:hover{color:var(--ink)}
.gt-snap .gt-empty{padding:12px 0}
.gt-snap-row{display:flex; justify-content:space-between; gap:10px; padding:5px 0; font-size:12px; color:var(--ink-soft); border-top:1px solid var(--line)}
.gt-snap-row b{font-weight:500; color:var(--ink)}
.gt-snap-row b.gt-up{color:var(--up)}
.gt-snap-row b.gt-down{color:var(--down)}
.gt-snap-row.r b{color:var(--down)}
.gt-snap-row.s b{color:var(--up)}
.gt-snap-row.now,.gt-snap-row.now b{color:var(--ink)}
.gt-snap-row.past{opacity:.55}
.gt-snap-row i{font-style:normal; white-space:nowrap}
.gt-trends{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:10px}
.gt-trends span{display:flex; flex-direction:column; gap:1px; padding:6px 9px; border-radius:9px; background:rgba(35,57,43,.04); font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft)}
.gt-trends span b{font-size:13px; letter-spacing:0; text-transform:none; font-weight:500; color:var(--ink)}
.gt-trends .up b{color:var(--up)}
.gt-trends .down b{color:var(--down)}
.gt-trends .side b{color:#8C6A4A}
.gt-ticket .gt-quote{margin-bottom:12px}
.gt-lvs{min-height:106px}
.gt-lv,.gt-range span{white-space:nowrap}
.gt-stats b{color:var(--ink); white-space:nowrap}
.gt-trends span{min-width:0}
.gt-lv-h{margin:12px 0 2px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft)}
.gt-lv{display:grid; grid-template-columns:1fr auto 64px; align-items:baseline; gap:12px; padding:6px 0; border-top:1px solid var(--line); font-size:12px}
.gt-lv span{color:var(--ink-soft)}
.gt-lv b{font-size:14px; font-weight:500; text-align:right}
.gt-lv i{font-style:normal; text-align:right; color:var(--ink-soft)}
.gt-lv.r b{color:var(--down)}
.gt-lv.s b{color:var(--up)}
.gt-lv.p b{color:var(--ink-soft); font-weight:400}
@media (max-width:560px){.gt-ticket{padding:14px 16px}
.gt-head{flex-wrap:wrap; padding:14px 16px 4px}
.gt-tabs{padding:0 16px}
.gt-table th:first-child,.gt-table td:first-child{padding-left:16px}
.gt-foot{padding:12px 16px; flex-wrap:wrap}}
.ig{grid-template-columns:minmax(0,1fr)}
.ig > *,.ig-two > *{min-width:0}
.ig-status{display:grid; grid-template-columns:1.2fr 1.4fr 1.4fr; overflow:hidden}
.ig-status > div{padding:16px 20px; border-right:1px solid var(--line)}
.ig-status > div:last-child{border-right:0}
.ig-status small{display:block; font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:4px}
.ig-status b{display:block; font-size:15px; font-weight:500}
.ig-status span{display:block; font-size:12px; color:var(--ink-soft); margin-top:2px}
.ig-state{display:flex; align-items:center; gap:14px}
.ig-state b{font-family:var(--serif); font-size:28px; font-weight:500; line-height:1}
.ig-big-dot{width:14px; height:14px; border-radius:50%; flex:none}
.ig-big-dot.is-green{background:var(--grass-deep); box-shadow:0 0 0 6px rgba(126,148,64,.18)}
.ig-big-dot.is-orange{background:#D9822B; box-shadow:0 0 0 6px rgba(217,130,43,.18)}
.ig-big-dot.is-red{background:#C2412D; box-shadow:0 0 0 6px rgba(194,65,45,.18)}
.ig-two{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:18px}
.ig-sub{font-size:11px; margin-left:auto}
.ig-state-s{font-size:11px; padding:2px 8px; border-radius:999px}
.ig-state-s.is-green{background:var(--up-bg); color:var(--up)}
.ig-state-s.is-orange{background:rgba(217,130,43,.14); color:#9A5A16}
.ig-state-s.is-red{background:rgba(194,65,45,.12); color:#C2412D}
.ig-clock{display:grid; grid-template-columns:.8fr 1fr 1.6fr 1fr; gap:4px; padding:10px 22px 4px}
.ig-seg{padding:8px 10px; border-radius:8px; font-size:11px; color:var(--ink-soft); border:1px solid transparent}
.ig-seg b{display:block; font-size:12px; color:var(--ink); font-weight:500}
.ig-seg.is-calm{background:rgba(35,57,43,.04)}
.ig-seg.is-pre{background:rgba(217,130,43,.12)}
.ig-seg.is-release{background:rgba(194,65,45,.14)}
.ig-seg.is-after{background:rgba(217,130,43,.08)}
.ig-seg.is-now{border-color:var(--ink)}
.ig-note{margin:8px 22px 10px; font-size:12px; color:var(--ink-soft)}
.ig-events{padding:4px 22px 14px}
.ig-hot b,.ig-hot i{color:#C2412D}
.ig-chip{display:inline-block; font-size:11px; padding:1px 8px; border-radius:999px; background:rgba(35,57,43,.06); white-space:nowrap}
.ig-radar td.ig-hl{white-space:normal; min-width:260px}
.ig-radar a{color:var(--ink); text-decoration:none}
.ig-radar a:hover{text-decoration:underline}
.ig-dot{display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:8px; vertical-align:1px}
.ig-dot.is-red{background:#C2412D}
.ig-dot.is-orange{background:#D9822B}
@media (max-width:1100px){.ig-status{grid-template-columns:minmax(0,1fr)}
.ig-status > div{border-right:0; border-bottom:1px solid var(--line)}
.ig-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.ig-clock{grid-template-columns:1fr 1fr; padding:10px 16px 4px}
.ig-note{margin:8px 16px 10px}
.ig-events{padding:4px 16px 14px}
.ig-sub{display:none}}
.gt-results{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--line,rgba(43,36,22,.09)); border-bottom:1px solid var(--line,rgba(43,36,22,.09))}
.gt-res{background:var(--paper); padding:11px 12px 9px; min-width:0}
.gt-res small{display:block; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft)}
.gt-res b{display:block; font:400 clamp(14px,1.25vw,18px)/1.15 var(--serif); margin-top:3px; font-variant-numeric:lining-nums tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.gt-res i{display:block; font-style:normal; font-size:12px; color:var(--ink-soft); margin-top:1px; white-space:nowrap}
.gt-cap{display:flex; align-items:center; gap:10px; padding:8px 14px; font-size:12px; color:var(--ink-soft); border-bottom:1px solid var(--line,rgba(43,36,22,.09))}
.gt-cap-bar{flex:1; height:5px; border-radius:3px; background:rgba(43,36,22,.08); overflow:hidden}
.gt-cap-bar span{display:block; height:100%; background:#8A3B2B}
.gt-cap.is-hit{background:rgba(194,65,45,.08); color:#8A3B2B; font-weight:500}
@media (max-width:640px){.gt-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gt-perf .cp-tiles{gap:12px; margin:0}
.gt-perf .cp-tile{gap:4px; padding:14px 16px 12px; border-radius:18px; background:rgba(251,250,245,.92); border:1px solid var(--line)}
.gt-perf .cp-tile span{font-size:11.5px; letter-spacing:.04em; text-transform:uppercase}
.gt-perf .cp-tile strong{font-size:24px; font-variant-numeric:lining-nums tabular-nums}
.gt-perf .cp-tile small{font-size:12px}
.gt-perf .cp-card{margin:0; padding:16px 18px; border-radius:22px; background:rgba(251,250,245,.92); border:1px solid var(--line)}
.gt-perf .cp-card-head{margin-bottom:10px}
.gt-perf .cp-card > h2,.gt-perf .cp-card-head h2{font-size:22px; font-weight:500}
.gt-perf .cp-card-head a,.gt-perf .rn-month-nav{font-size:13px}
.gt-perf .cp-table{font-size:13px}
.gt-perf .cp-table th{font-size:11.5px; letter-spacing:.03em; text-transform:uppercase; padding:6px 8px}
.gt-perf .cp-table td{padding:8px; font-variant-numeric:tabular-nums}
.gt-perf .rn-pl-day{min-height:60px; padding:6px 7px; border-radius:10px}
.gt-perf .rn-pl-day em{font-size:13px}

/* ---- from bh-theme.css ---- */
:root{--air:#FFF8E3;        
  --air-2:#FCEFC7;      
  --grass:#FBBF24;      
  --grass-deep:#C98A0B; 
  --grass-text:#8A5A00; 
  --ink:#2B2416;        
  --ink-soft:#5E5440;
  --paper:#FFFDF6;}
.logo .w1{color:#E0A100; background:linear-gradient(180deg,#FCCB4A 0%,#D99A06 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent}
.logo .w2{color:var(--ink); background:none; -webkit-text-fill-color:currentColor}
.cp-side{background:linear-gradient(180deg,#FFFBEF 0%, var(--air-2) 100%)}
.rn-cal-fomc .rn-cal-type{background:#FCEBB6; color:#7A5300}
.rn-gold-status.is-live i{background:#7E9440; box-shadow:0 0 0 4px rgba(126,148,64,.18)}
.ig-big-dot.is-green{background:#7E9440; box-shadow:0 0 0 6px rgba(126,148,64,.18)}
@font-face{
  font-family:'Bh Baht';
  src:url(/assets/fonts/noto-sans-thai-300-thai.woff2) format('woff2');
  unicode-range:U+0E3F;
  size-adjust:88%;
  ascent-override:92%;
  descent-override:24%;
}
:root{--serif:'Bh Baht','Cormorant Garamond','Cormorant Fallback','Noto Serif Thai', Georgia, 'Times New Roman', serif;
  --sans:'Bh Baht','Jost','Jost Fallback','Noto Sans Thai', 'Helvetica Neue', Helvetica, Arial, sans-serif;}

/* ---- from bh-home.css ---- */
html,body{height:100%}
body.bh{min-height:100%; background:var(--air)}
.bh-lock{position:fixed; top:calc(env(safe-area-inset-top,0px) + 16px); right:16px; z-index:5; width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--ink); background:rgba(255,253,246,.85); box-shadow:0 1px 0 rgba(43,36,22,.08); text-decoration:none; transition:background .15s, transform .15s}
.bh-lock:hover{background:var(--grass); transform:scale(1.05)}
.bh-lock svg{width:20px; height:20px}
.bh-main{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:76px 16px 40px}
.bh-box{width:100%; max-width:430px; text-align:center}
.bh-box .logo{font-size:clamp(44px,12vw,64px); align-items:center}
.bh-tag{margin:14px 0 26px; font:300 17px/1.55 var(--sans); color:var(--ink-soft)}
.bh-card{background:var(--paper); border-radius:22px; padding:24px 22px; text-align:left; box-shadow:0 1px 0 rgba(43,36,22,.06), 0 18px 40px -24px rgba(43,36,22,.35)}
.bh-card h2{font:400 28px/1.1 var(--serif); margin:0 0 14px}
.bh-card form{display:flex; flex-direction:column; gap:10px}
.bh-card input,.bh-card textarea{width:100%; padding:12px 14px; border:1px solid rgba(43,36,22,.16); border-radius:12px; background:#fff; color:var(--ink); font:400 15px var(--sans)}
.bh-card textarea{min-height:96px; resize:vertical}
.bh-card input:focus,.bh-card textarea:focus{outline:2px solid var(--grass-deep); outline-offset:1px; border-color:transparent}
.bh-card .btn{margin-top:4px; align-self:stretch}
.bh-msg{margin:0 0 12px; padding:10px 14px; border-radius:12px; font-size:14px}
.bh-msg.is-ok{background:#E9F0D8; color:#3F5A1E}
.bh-msg.is-err{background:#F6E2DC; color:#8A3B2B}
.hp{position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden}

/* Settings (2026-10-26): grouped rows, label left and control right, in the trading style */
.st-group{background:var(--paper); border-radius:18px; box-shadow:0 1px 0 rgba(43,36,22,.05), 0 0 0 1px rgba(43,36,22,.05); margin:0 0 18px; overflow:hidden}
.st-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px 10px}
.st-head h2{font:400 22px/1.15 var(--serif); margin:0}
.st-row{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; border-top:1px solid rgba(43,36,22,.07); min-height:56px}
.st-row > div:first-child{min-width:0}
.st-row b{display:block; font-weight:500; font-size:15px}
.st-row small{display:block; color:var(--ink-soft); font-size:12.5px; line-height:1.4; margin-top:2px}
.st-ctl{display:flex; align-items:center; gap:10px; flex:none}
.st-ctl input[type=date]{font:inherit; font-size:14.5px; padding:7px 10px; border-radius:10px; border:1px solid rgba(43,36,22,.14); background:#fff; color:var(--ink)}
.st-ctl .gt-step input{width:64px}
.st-ctl form{margin:0}
.st-unit{font-size:13px; color:var(--ink-soft); min-width:30px}
.st-foot{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 18px; border-top:1px solid rgba(43,36,22,.07); background:rgba(43,36,22,.015)}
.st-foot small{color:var(--ink-soft); font-size:12.5px}
.st-key{min-width:0}
.st-key code{font-size:13px; letter-spacing:.06em; color:var(--ink-soft); background:rgba(43,36,22,.05); padding:5px 9px; border-radius:8px; white-space:nowrap}
.st-link{display:inline-block; font:500 13.5px var(--sans); color:var(--ink); text-decoration:none; padding:7px 12px; border-radius:999px; box-shadow:inset 0 0 0 1px rgba(43,36,22,.16); white-space:nowrap; background:none; border:0; cursor:pointer}
.st-link:hover{background:rgba(43,36,22,.04)}
.st details{border-top:1px solid rgba(43,36,22,.07)}
.st summary{padding:12px 18px; cursor:pointer; font-size:14px; color:var(--ink-soft); list-style:none}
.st summary::-webkit-details-marker{display:none}
.st summary::after{content:" ›"}
.st details[open] summary::after{content:" ⌄"}
.st ol{margin:0; padding:0 18px 14px 36px; font-size:13.5px; line-height:1.6; color:var(--ink-soft)}
.st ol code{font-size:12.5px}
.st-keyfull{display:block; width:100%; max-width:440px; margin:6px 0 2px; font:13px ui-monospace,Menlo,monospace; padding:7px 10px; border-radius:10px; border:1px solid rgba(43,36,22,.14); background:#fff; color:var(--ink)}
@media (max-width:560px){
  .st-row{flex-wrap:wrap; gap:8px 12px; padding:12px 14px}
  .st-row > div:first-child{flex:1 1 60%}
  .st-ctl{margin-left:auto}
  .st-head, .st-foot{padding-left:14px; padding-right:14px}
}

/* Ticker tape (2026-10-26): a black strip across the top of every app page, scrolling slowly, paused on hover */
.tape{position:sticky; top:0; z-index:50; height:34px; overflow:hidden; background:#0E0D0A; color:#EDE6D6; border-bottom:1px solid rgba(251,191,36,.25); font:400 12.5px/34px var(--sans); font-variant-numeric:tabular-nums lining-nums}
.tape-in{display:flex; width:max-content; animation:tape 90s linear infinite}
.tape:hover .tape-in{animation-play-state:paused}
.tape-dup{display:flex}
.tk{display:inline-flex; align-items:baseline; gap:8px; padding:0 22px; white-space:nowrap}
.tk b{font-weight:500; color:#C9BFA8; letter-spacing:.03em}
.tk i{font-style:normal; color:#FFF8E6}
.tk em{font-style:normal; font-size:11.5px}
.tk em.up{color:#4ADE80}
.tk em.dn{color:#F87171}
@keyframes tape{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tape{overflow-x:auto}.tape-in{animation:none}.tape-dup{display:none}}
@media (min-width:1440px){.tape-in{width:auto; animation:none; justify-content:space-between; padding:0 6px}.tape-dup{display:none}.tk{padding:0 12px}} /* Wide screens: all eight fit, standing still */
.tape ~ .cp-shell{min-height:calc(100vh - 34px)} /* The tape takes 34px of the screen: without this every page scrolled by that much */
@media (min-width:821px){.tape ~ .cp-shell .cp-side{top:34px; height:calc(100vh - 34px)} .tape ~ .cp-shell .cp-main{padding-top:64px}}
@media (max-width:820px){.tape ~ .cp-shell .cp-side{padding-top:30px}}

/* Trading layout (2026-10-26): a trading terminal. The results across the top; then the chart beside the ticket, and the
   positions beside Technicals, each pair the same height. On a narrower screen one column: results, ticket, chart, positions, Technicals */
.gl{grid-template-columns:minmax(0,1fr) 340px; align-items:stretch}
.gl-chart,.gl-ticket,.gl-book{overflow:hidden}
.gl-chart{display:flex; flex-direction:column}
.gl-chart iframe{display:block; width:100%; flex:1; min-height:440px; border:0; background:#fff}
.gl-chart-h{display:flex; align-items:center; gap:10px; padding:9px 12px 9px 16px; border-bottom:1px solid var(--line); font-size:12px; color:var(--ink-soft)}
.gl-chart-h b{font-weight:500; font-size:13.5px; color:var(--ink); letter-spacing:.02em}
.gl-tf{display:flex; gap:2px; margin-left:auto; padding:2px; border-radius:9px; background:rgba(35,57,43,.05)}
.gl-tf button{border:0; background:none; font:500 12.5px var(--sans); color:var(--ink-soft); padding:5px 10px; border-radius:7px; cursor:pointer}
.gl-tf button:hover{color:var(--ink)}
.gl-tf button[aria-pressed="true"]{background:#fff; color:var(--ink); box-shadow:0 1px 2px rgba(35,57,43,.12)}
.gl-book{display:flex; flex-direction:column}
.gl-book .gt-book{flex:1; min-height:0}
.gl-kpis{grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:18px} /* Five cards: four figures above the chart, the cap above the ticket */
.gl-kpis .gt-results{gap:18px; background:none; border:0}
.gl-kpis .gt-res,.gl-kpis .gt-cap{background:rgba(251,250,245,.92); border:1px solid var(--line); border-radius:22px; padding:14px 18px 12px}
.gl-kpis .gt-res{display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:baseline; column-gap:10px} /* USD left, baht right */
.gl-kpis .gt-res small{grid-column:1/-1}
.gl-kpis .gt-res i{margin:0; text-align:right}
.gl-kpis .gt-cap{flex-direction:column; align-items:stretch; justify-content:center; gap:8px}
.gl-kpis .gt-cap.is-hit{background:rgba(194,65,45,.08)}
.gl-kpis .gt-cap > span:first-child{font-size:11.5px; letter-spacing:.04em; text-transform:uppercase}
.gl-kpis .gt-cap-bar{flex:none}
/* Chart toggle (2026-10-26): hide the chart to save room; the positions then move up under its header */
.gl{grid-template-areas:"kpis kpis" "chart ticket" "book tech"}
.gl-kpis{grid-area:kpis} .gl-chart{grid-area:chart} .gl-ticket{grid-area:ticket} .gl-book{grid-area:book} .gl > .gt-snap{grid-area:tech}
.gl.is-chart-off{grid-template-areas:"kpis kpis" "chart ticket" "book ticket" "book tech"; grid-template-rows:auto auto 1fr auto}
.gl.is-chart-off .gl-chart iframe,.gl.is-chart-off .gl-tf{display:none}
.gl.is-chart-off .gl-chart{align-self:start}
.gl-toggle{display:inline-grid; place-items:center; width:26px; height:26px; margin:-4px 2px -4px -6px; padding:0; border:0; border-radius:7px; background:none; color:var(--ink-soft); cursor:pointer}
.gl-toggle:hover{background:rgba(127,127,127,.12); color:var(--ink)}
.gl-toggle svg{width:16px; height:16px; transition:transform .15s}
.gl.is-chart-off .gl-toggle svg{transform:rotate(-90deg)}
.gl-book{contain:size; min-height:300px} /* The row takes Technicals' height; more positions than fit scroll inside the card */
.gl-book .gt-panel{min-height:0; overflow:auto}
.cp-main:has(> .gl){padding-bottom:28px} /* Trading: less empty space under the last row, so it fits one screen sooner */
@media (max-width:1100px){
  .gl,.gl.is-chart-off{grid-template-columns:minmax(0,1fr); grid-template-areas:none; grid-template-rows:none} .gl > *{grid-area:auto !important}
  .gl-book{contain:none} .gl-book .gt-panel{max-height:420px}
  .gl-kpis{grid-template-columns:minmax(0,1fr); gap:12px} .gl-kpis .gt-results{gap:12px}
  .gl-kpis{order:0} .gl-ticket{order:1} .gl-chart{order:2} .gl-book{order:3} .gl > .gt-snap{order:4}
  .gl-chart iframe{min-height:380px}
  .gl-chart-h span{display:none}
}
@media (max-width:560px){
  .gl-kpis .gt-res{grid-template-columns:minmax(0,1fr)} .gl-kpis .gt-res i{text-align:left} /* Phone: baht back under the dollars, so big amounts still fit */
}

/* ==== Dark theme for the app (2026-10-26): a pure black page like the ticker tape, cards like TradingView's dark chart (#0F0F0F), white text, the Bee Hedge yellow as the accent,
   TradingView's green and red for gains and losses. Only signed-in pages (body.cp-dark); the public page and the sign-in stay light.
   To go back to light: remove this block and set the chart's theme back to light in cp_gold_dash_layout(). ==== */
body.cp-dark{--air:#000; --air-2:#0F0F0F; --paper:#141414; --ink:#F2F2F2; --ink-soft:#8F8F8F; --grass:#FBBF24; --grass-deep:#F5B417; --grass-text:#FBBF24;
  --dk-card:#0F0F0F; --dk-line:rgba(255,255,255,.08); --dk-line-2:rgba(255,255,255,.14); --dk-up:#22AB94; --dk-down:#F23645; color-scheme:dark; background:#000; color:var(--ink)}
body.cp-dark .tape{background:#000; border-bottom-color:rgba(251,191,36,.35)}
body.cp-dark .cp-side{background:#000 !important; border-right:1px solid var(--dk-line)}
body.cp-dark .cp-nav a{color:#9A9A9A}
body.cp-dark .cp-nav a:hover{background:rgba(255,255,255,.05); color:#fff}
body.cp-dark .cp-nav a[aria-current]{background:rgba(251,191,36,.12); color:#FBBF24; box-shadow:none}
body.cp-dark .cp-side-foot button,body.cp-dark .cp-side-foot a{color:#8F8F8F}
body.cp-dark .logo .w1{color:#FBBF24; background:none; -webkit-text-fill-color:#FBBF24}
body.cp-dark .logo .w2{color:#fff; background:none; -webkit-text-fill-color:#fff}
body.cp-dark .cp-top h1,body.cp-dark h2{color:var(--ink)}
body.cp-dark .cp-muted{color:var(--ink-soft)}
body.cp-dark a{color:#FBBF24}
body.cp-dark .cp-flash{background:rgba(251,191,36,.12); color:#FCD34D; border-color:rgba(251,191,36,.3)}
body.cp-dark .rn-gold-status{background:rgba(255,255,255,.06); color:#B5B5B5}
body.cp-dark .rn-gold-status.is-live i{background:var(--dk-up); box-shadow:0 0 0 4px rgba(34,171,148,.2)}
/* Cards */
body.cp-dark .gt{--line:var(--dk-line); --line-2:var(--dk-line-2); --up:var(--dk-up); --down:var(--dk-down); --up-bg:rgba(34,171,148,.12); --down-bg:rgba(242,54,69,.12)}
body.cp-dark .gt-card,body.cp-dark .gt-snap,body.cp-dark .gl-kpis .gt-res,body.cp-dark .gl-kpis .gt-cap,body.cp-dark .cp-card,body.cp-dark .cp-tile,
body.cp-dark .gt-perf .cp-tile,body.cp-dark .gt-perf .cp-card,body.cp-dark .st-group{background:var(--dk-card); border:1px solid var(--dk-line); box-shadow:none}
body.cp-dark .gl-kpis .gt-cap.is-hit{background:rgba(242,54,69,.12)}
body.cp-dark .gt-res{background:var(--dk-card)}
body.cp-dark .gt-up,body.cp-dark .rn-pos{color:var(--dk-up)}
body.cp-dark .gt-down,body.cp-dark .rn-neg{color:var(--dk-down)}
/* Ticket */
body.cp-dark .gt-type{border-color:var(--dk-line-2)}
body.cp-dark .gt-type label + label{border-color:var(--dk-line-2)}
body.cp-dark .gt-type span{color:#B5B5B5}
body.cp-dark .gt-type input:checked + span{background:#FBBF24; color:#111}
body.cp-dark .gt-step{background:#000; border-color:var(--dk-line-2)}
body.cp-dark .gt-step input{color:#fff; border-color:var(--dk-line)}
body.cp-dark .gt-step button{color:#9A9A9A}
body.cp-dark .gt-step button:hover{background:rgba(255,255,255,.06); color:#fff}
body.cp-dark .gt-switch{background:rgba(255,255,255,.18)}
body.cp-dark .gt-switch:checked{background:#F5B417}
body.cp-dark .gt-go .b{background:#089981}
body.cp-dark .gt-go .s{background:#F23645}
body.cp-dark .gt-hint,body.cp-dark .gt-sum,body.cp-dark .gt-unit{color:var(--ink-soft)}
/* Positions, results, technicals */
body.cp-dark .gt-tabs button{color:#8F8F8F}
body.cp-dark .gt-tabs button[aria-selected="true"]{color:#fff}
body.cp-dark .gt-tabs button[aria-selected="true"]::after{background:#FBBF24}
body.cp-dark .gt-table th{color:#8F8F8F}
body.cp-dark .gt-table td,body.cp-dark .gt-table th{border-color:var(--dk-line)}
body.cp-dark .gt-muted{color:#8F8F8F}
body.cp-dark .gt-lvl i{color:#FBBF24; border-color:rgba(251,191,36,.45)}
body.cp-dark .gt-lvl i.be{color:#7DD3FC; border-color:rgba(125,211,252,.45)}
body.cp-dark .gt-x{color:#9A9A9A}
body.cp-dark .gt-cap-bar{background:rgba(255,255,255,.08)}
body.cp-dark .gt-cap-bar span{background:var(--dk-down)}
body.cp-dark .gt-trends span{background:rgba(255,255,255,.05); color:#8F8F8F}
body.cp-dark .gt-trends span b{color:#fff}
body.cp-dark .gt-trends span.up b{color:var(--dk-up)}
body.cp-dark .gt-trends span.down b{color:var(--dk-down)}
body.cp-dark .gt-lv,body.cp-dark .gt-foot{border-color:var(--dk-line)}
body.cp-dark .gt-foot b{color:#fff}
/* Chart header */
body.cp-dark .gl-chart iframe{background:#0F0F0F}
body.cp-dark .gl-tf{background:rgba(255,255,255,.06)}
body.cp-dark .gl-tf button{color:#9A9A9A}
body.cp-dark .gl-tf button:hover{color:#fff}
body.cp-dark .gl-tf button[aria-pressed="true"]{background:#FBBF24; color:#111; box-shadow:none}
/* Forms, buttons, settings */
body.cp-dark .btn{background:#FBBF24; color:#111; border-color:#FBBF24}
body.cp-dark .btn.ghost{background:transparent; color:#F2F2F2; border-color:var(--dk-line-2)}
body.cp-dark .cp-field input,body.cp-dark .cp-field select,body.cp-dark .cp-field textarea,body.cp-dark .st-ctl input[type=date],body.cp-dark .st-keyfull{background:#000; color:#fff; border-color:var(--dk-line-2)}
body.cp-dark .st-row,body.cp-dark .st-foot,body.cp-dark .st details{border-color:var(--dk-line)}
body.cp-dark .st-foot{background:rgba(255,255,255,.02)}
body.cp-dark .st-link{color:#F2F2F2; box-shadow:inset 0 0 0 1px var(--dk-line-2)}
body.cp-dark .st-link:hover{background:rgba(255,255,255,.05)}
body.cp-dark .st-key code,body.cp-dark code{background:rgba(255,255,255,.06); color:#D0D0D0}
body.cp-dark .rn-pl-day{background:rgba(255,255,255,.035)}
body.cp-dark .rn-pl-day.is-empty{background:none}
body.cp-dark .rn-pl-day.is-win{background:rgba(34,171,148,calc(var(--a) * .55))}
body.cp-dark .rn-pl-day.is-win em{color:#7FE3D0}
body.cp-dark .rn-pl-day.is-loss{background:rgba(242,54,69,calc(var(--a) * .55))}
body.cp-dark .rn-pl-day.is-loss em{color:#FF9AA2}
body.cp-dark .rn-pl-day.is-selected{box-shadow:inset 0 0 0 2px #FBBF24}
body.cp-dark .cp-side-foot,body.cp-dark .cp-side.is-open .cp-side-foot{border-top:1px solid rgba(251,191,36,.35)} /* The line above Sign out: the tape's gold */
body.cp-login.cp-dark .cp-login-box .cp-card{background:var(--dk-card); border:1px solid rgba(251,191,36,.25)} /* Sign-in card: the tape's gold edge */
/* The results and the status dots use the ticker tape's green and red; the ticket, Technicals etc. keep TradingView's */
body.cp-dark .gl-kpis .gt-up{color:#4ADE80}
body.cp-dark .gl-kpis .gt-down{color:#F87171}
body.cp-dark .rn-gold-status.is-live i{background:#4ADE80; box-shadow:0 0 0 4px rgba(74,222,128,.2)}
/* ==== End of the dark theme ==== */

/* ==== Honey (2026-10-28): the dark theme in warm espresso browns, gold-edged cards, cream text and gold headings.
   It sits on top of the dark theme above, so turning it off is removing this block. The ticker tape and the red alert keep their own colours. ==== */
body.cp-dark{--air:#0D0A06; --air-2:#100C07; --paper:#18130C; --ink:#F6ECD6; --ink-soft:#C2AE88; --grass-text:#FBBF24;
  --dk-card:#18130C; --dk-raise:#211A10; --dk-line:rgba(251,191,36,.10); --dk-line-2:rgba(251,191,36,.22); --dk-faint:#8A7A5C; --dk-label:#D9B76A; --dk-title:#FBD879;
  --dk-up:#A3E635; --dk-down:#FB7185; font-variant-numeric:tabular-nums lining-nums;
  background:radial-gradient(1100px 520px at 75% -8%, rgba(251,191,36,.10), transparent 60%) no-repeat, #0D0A06}
body.cp-dark .gt{--up-bg:rgba(163,230,53,.12); --down-bg:rgba(251,113,133,.12)}
body.cp-dark .cp-side{background:#100C07 !important}
body.cp-dark .cp-nav a{color:var(--ink-soft)}
body.cp-dark .cp-nav a:hover{background:var(--dk-raise); color:var(--ink)}
body.cp-dark .cp-nav a[aria-current]{background:rgba(251,191,36,.14)}
body.cp-dark .cp-side-foot button,body.cp-dark .cp-side-foot a{color:var(--dk-faint)}
body.cp-dark .logo .w2{color:var(--ink); -webkit-text-fill-color:var(--ink)}
body.cp-dark .cp-top h1{color:var(--dk-title)}
/* Cards: a gold hairline and a soft shadow */
body.cp-dark .gt-card,body.cp-dark .gt-snap,body.cp-dark .gl-kpis .gt-res,body.cp-dark .gl-kpis .gt-cap,body.cp-dark .cp-card,body.cp-dark .cp-tile,
body.cp-dark .gt-perf .cp-tile,body.cp-dark .gt-perf .cp-card,body.cp-dark .st-group{background:var(--dk-card); border:1px solid rgba(251,191,36,.16); box-shadow:0 12px 30px -18px rgba(0,0,0,.8), inset 0 1px 0 rgba(251,191,36,.06)}
body.cp-dark .gl-chart iframe{background:var(--dk-card)}
body.cp-dark .gl-chart-h,body.cp-dark .gt-tabs,body.cp-dark .gt-lv,body.cp-dark .gt-lv-h,body.cp-dark .gt-field,body.cp-dark .gt-foot{border-color:var(--dk-line)}
/* Headings gold, labels honey, small print faint */
body.cp-dark h2,body.cp-dark .gt-head h2,body.cp-dark .cp-card-head h2,body.cp-dark .st-head h2{color:var(--dk-title)}
body.cp-dark .gt-snap-h b,body.cp-dark .gl-kpis .gt-res small,body.cp-dark .gl-kpis .gt-cap > span:first-child,body.cp-dark .gt-q small,body.cp-dark .gt-trends span,body.cp-dark .cp-table th,body.cp-dark .gt-table th{color:var(--dk-label)}
body.cp-dark .gl-kpis .gt-res i,body.cp-dark .gt-hint,body.cp-dark .gt-sum,body.cp-dark .gt-unit,body.cp-dark .gt-spread,body.cp-dark .gt-range,body.cp-dark .gt-foot,body.cp-dark .gt-muted,body.cp-dark .gt-empty,body.cp-dark .gt-field,body.cp-dark .st-row small,body.cp-dark .cp-muted{color:var(--dk-faint)}
body.cp-dark .gl-kpis .gt-up,body.cp-dark .gt-trends span.up b{color:var(--dk-up)}
body.cp-dark .gl-kpis .gt-down,body.cp-dark .gt-trends span.down b{color:var(--dk-down)}
body.cp-dark .gt-trends span{background:var(--dk-raise)}
body.cp-dark .gt-trends span b,body.cp-dark .gt-foot b{color:var(--ink)}
body.cp-dark .gt-cap-bar{background:var(--dk-raise)}
/* Ticket */
body.cp-dark .gt-q{background:var(--dk-raise) !important; border:1px solid var(--dk-line)}
body.cp-dark .gt-q.buy b{color:var(--dk-up)} body.cp-dark .gt-q.sell b{color:var(--dk-down)}
body.cp-dark .gt-type{background:var(--dk-raise)}
body.cp-dark .gt-type span{color:var(--ink-soft)}
body.cp-dark .gt-type input:checked + span,body.cp-dark .gl-tf button[aria-pressed="true"]{color:#1A1205}
body.cp-dark .gt-step,body.cp-dark .gl-tf,body.cp-dark .rn-gold-status{background:var(--dk-raise)}
body.cp-dark .rn-gold-status{border:1px solid var(--dk-line); color:var(--ink-soft)}
body.cp-dark .gt-step input{color:var(--ink)}
body.cp-dark .gt-step button,body.cp-dark .gl-tf button{color:var(--ink-soft)}
body.cp-dark .gt-go .b{background:#84CC16; color:#1A2E05}
body.cp-dark .gt-go .s{background:#F43F5E; color:#fff}
body.cp-dark .gt-go button *{color:inherit}
body.cp-dark .gt-tabs button{color:var(--dk-faint)}
body.cp-dark .gt-tabs button[aria-selected="true"]{color:var(--ink)}
/* Forms, settings, performance */
body.cp-dark .cp-field input,body.cp-dark .cp-field select,body.cp-dark .cp-field textarea,body.cp-dark .st-ctl input[type=date],body.cp-dark .st-keyfull{background:var(--dk-raise); color:var(--ink)}
body.cp-dark .btn{color:#1A1205}
body.cp-dark .btn.ghost{color:var(--ink)}
body.cp-dark .st-foot{background:rgba(251,191,36,.03)}
body.cp-dark .st-link{color:var(--ink)}
body.cp-dark .st-key code,body.cp-dark code{background:var(--dk-raise); color:var(--ink-soft)}
body.cp-dark .rn-pl-day{background:rgba(251,191,36,.04)}
body.cp-dark .rn-pl-day.is-win{background:rgba(163,230,53,calc(var(--a) * .45))}
body.cp-dark .rn-pl-day.is-win em{color:#D9F99D}
body.cp-dark .rn-pl-day.is-loss{background:rgba(251,113,133,calc(var(--a) * .45))}
body.cp-dark .rn-pl-day.is-loss em{color:#FECDD3}
/* ==== End of Honey ==== */


/* Sign out centred in the menu panel (2026-10-26) */
.cp-side-foot{align-items:center; text-align:center}
.cp-side-foot form{display:flex; justify-content:center; width:100%}
@media (max-width:820px){.cp-side-foot{justify-content:center}}

/* Phone menu (2026-10-26): logo left, a hamburger right; the pages and Sign out (centred, at the bottom) open below it */
.cp-burger{display:none}
@media (max-width:820px){
  .cp-side,.tape ~ .cp-shell .cp-side{flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:0; padding:14px 16px}
  .cp-logo{padding:0}
  .cp-burger{display:inline-flex; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; padding:0 11px; border:1px solid var(--dk-line-2,rgba(35,57,43,.16)); border-radius:12px; background:rgba(255,255,255,.04); cursor:pointer}
  .cp-burger span{display:block; height:2px; border-radius:2px; background:var(--ink); transition:transform .2s, opacity .2s}
  .cp-side.is-open .cp-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .cp-side.is-open .cp-burger span:nth-child(2){opacity:0}
  .cp-side.is-open .cp-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .cp-side .cp-nav,.cp-side .cp-side-foot{display:none}
  .cp-side.is-open .cp-nav{display:flex; flex-direction:column; width:100%; overflow:visible; padding:12px 0 4px}
  .cp-side.is-open .cp-nav-group{display:flex; flex-direction:column; flex-wrap:nowrap; gap:2px; width:100%; padding:0; overflow:visible}
  .cp-side.is-open .cp-nav a{padding:12px 12px}
  .cp-side.is-open .cp-nav span{display:inline}
  .cp-side.is-open .cp-side-foot{display:flex; width:100%; justify-content:center; padding:12px 0 6px; margin-top:6px; border-top:1px solid var(--dk-line,rgba(35,57,43,.1))}
}

/* Phones: every field at least 16px, so iOS doesn't zoom in when you tap one (2026-10-26) */
@media (max-width:820px){body.cp input:not([type=checkbox]):not([type=radio]),body.cp select,body.cp textarea{font-size:16px}}

/* Alerts from Insights (2026-10-26): a red tape above the ticker, closable */
.bh-alert{display:flex; align-items:center; gap:10px; min-height:32px; padding:0 8px 0 16px; background:#B91C1C; color:#FEE2E2; font:400 13px/1.3 var(--sans); border-bottom:1px solid rgba(0,0,0,.35)}
.bh-alert b{font-weight:600; color:#fff; text-transform:uppercase; letter-spacing:.06em; font-size:12px; flex:none}
.bh-alert-text{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.bh-alert-right{margin-left:auto; flex:none; color:#FECACA; font-size:12.5px}
.bh-alert-dot{width:8px; height:8px; border-radius:50%; background:#fff; flex:none; animation:bh-al 1.2s ease-in-out infinite}
@keyframes bh-al{50%{opacity:.35}}
.bh-alert-x{flex:none; width:28px; height:28px; border:0; border-radius:8px; background:none; color:#fff; font:400 20px/1 var(--sans); cursor:pointer}
.bh-alert-x:hover{background:rgba(255,255,255,.15)}
@media (max-width:560px){.bh-alert{flex-wrap:wrap; padding:6px 6px 6px 14px; row-gap:2px} .bh-alert-text{order:3; flex-basis:100%; white-space:normal; padding-bottom:4px}}
@media (prefers-reduced-motion:reduce){.bh-alert-dot{animation:none}}
/* The alert's message centred; × stays at the right edge */
.bh-alert{position:relative; justify-content:center; padding:0 44px; text-align:center}
.bh-alert-right{margin-left:6px}
.bh-alert-x{position:absolute; right:8px; top:50%; transform:translateY(-50%)}
@media (max-width:560px){.bh-alert{padding:6px 40px; justify-content:center} .bh-alert-text{flex-basis:100%; text-align:center}}
