/* Neutral light/dark surfaces. Orange belongs to the supplied SellyHub logo.
   No color cast on backgrounds, text or selected navigation. */
:root, html[data-sellyhub-ui="workspace"], .sh-auth {
  --sh-font:"IBM Plex Sans Thai",Tahoma,sans-serif; --shop-font-family:var(--sh-font);
  --c-base:#fafafa; --c-panel:#ffffff; --c-panel2:#f4f4f5; --c-ink:#18181b;
  --c-muted:#52525b; --c-line:#dedee2; --c-punch:#18181b; --c-onaccent:#ffffff;
  --c-cyan:#1d4ed8; --c-ok:#1d4ed8; --c-warn:#92400e; --c-danger:#b91c1c;
  --c-lime:#e4e4e7; --c-limeink:#27272a; --c-shadow:#18181b0a; --c-hover:#f0f0f2;
  --c-onink:#ffffff; --sh-paper:var(--c-base); --sh-surface:var(--c-panel);
  --sh-ink:var(--c-ink); --sh-muted:var(--c-muted); --sh-line:var(--c-line); --sh-tint:var(--c-panel2);
}
html.dark, html.dark[data-sellyhub-ui="workspace"], html.dark .sh-auth {
  --c-base:#09090b; --c-panel:#18181b; --c-panel2:#27272a; --c-ink:#fafafa;
  --c-muted:#a1a1aa; --c-line:#3f3f46; --c-punch:#fafafa; --c-onaccent:#18181b;
  --c-cyan:#93c5fd; --c-ok:#93c5fd; --c-warn:#fcd34d; --c-danger:#fca5a5;
  --c-lime:#27272a; --c-limeink:#e4e4e7; --c-shadow:#00000040; --c-hover:#303034;
  --c-onink:#18181b; --sh-paper:var(--c-base); --sh-surface:var(--c-panel);
  --sh-ink:var(--c-ink); --sh-muted:var(--c-muted); --sh-line:var(--c-line); --sh-tint:var(--c-panel2);
}
html[data-contrast="high"], html[data-sellyhub-ui="workspace"][data-contrast="high"], html[data-contrast="high"] .sh-auth { --c-muted:#27272a; --c-line:#71717a; }
html.dark[data-contrast="high"], html.dark[data-sellyhub-ui="workspace"][data-contrast="high"], html.dark[data-contrast="high"] .sh-auth { --c-muted:#e4e4e7; --c-line:#a1a1aa; }
.sh-logo-pair { display:inline-flex; align-items:center; width:10rem; max-width:100%; flex-shrink:0; vertical-align:middle; }
.sh-logo-pair img { display:block; width:100%; height:auto; }
.sh-journal-feature-art>img { aspect-ratio:auto; height:auto; object-fit:contain; }
.sh-logo-pair .sh-logo-dark { display:none; border-radius:.4rem; }
html.dark .sh-logo-pair .sh-logo-light { display:none; }
html.dark .sh-logo-pair .sh-logo-dark { display:block; }
.sh-powered-by { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; margin:0; color:var(--c-muted); font-size:.75rem; line-height:1.4; min-height:44px; }
.sh-powered-by .sh-logo-pair { width:6.7rem; }
.sh-workspace-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.4rem 1rem; margin:0 clamp(1rem,2.4vw,2.2rem); padding:1rem 0; border-top:1px solid var(--c-line); color:var(--c-muted); font-size:.75rem; }
.sh-public .sh-brand { gap:0; letter-spacing:0; }
.sh-public .sh-header-inner { gap:24px; }
.sh-public .sh-button, .sh-public .btn-primary { background:var(--c-punch); border-color:var(--c-punch); color:var(--c-onaccent); }
.sh-public .sh-button:hover, .sh-public .btn-primary:hover { background:color-mix(in srgb,var(--c-punch),var(--c-ink) 14%); border-color:var(--c-punch); }
.sh-public .sh-button-outline { background:transparent; border-color:var(--c-line); color:var(--c-ink); }
.sh-public .sh-button-outline:hover { background:var(--c-panel2); }
html.dark .sh-public .sh-button-outline:hover { color:var(--c-ink); }
.sh-public .sh-button-orange { background:var(--c-lime); border-color:var(--c-lime); color:var(--c-limeink); }
.sh-public .sh-button-orange:hover { background:color-mix(in srgb,var(--c-lime),white 12%); }
.sh-hero-art { background:#fdf6ec; }
html.dark .sh-hero-art { background:var(--c-panel2); }
.sh-art-caption, .sh-art-index { color:#3c2f1e; }
html.dark .sh-art-caption, html.dark .sh-art-index { color:var(--c-muted); }
.sh-art-label { background:var(--c-panel); color:var(--c-ink); border:1px solid var(--c-line); }
.sh-art-label div>span { color:var(--c-muted); }
.sh-preview-banner, .sh-final-cta { background:var(--c-ink); color:var(--c-onink); }
.sh-final-cta .sh-kicker, .sh-final-note { color:var(--c-onink); opacity:.75; }
.sh-final-star { color:#ff9056; }
html.dark .sh-final-star { color:var(--c-punch); }
.sh-home-story-visual { background:var(--c-panel2); color:var(--c-cyan); }
.sh-story-tone-1 { background:color-mix(in srgb,var(--c-punch),var(--c-panel) 90%); color:var(--c-punch); }
.sh-story-tone-2 { background:color-mix(in srgb,var(--c-cyan),var(--c-panel) 90%); color:var(--c-cyan); }
.sh-public :is(.sh-strip-star,.sh-step-count,.sh-plan li::before,.sh-faq-list summary>span) { color:var(--c-punch); }
.sh-auth-story { background:#171410; color:#faf5ea; }
.sh-auth-back, .sh-auth-story-copy>p:last-child { color:#c9c0af; }
.sh-auth-back:hover { color:#ff9056; }
.sh-auth-store { background:#fdf6ec; color:#262019; border-color:#c9b9a2; box-shadow:12px 15px 0 #ffffff0b; }
html.dark .sh-auth-store { background:var(--c-panel2); color:var(--c-ink); border-color:var(--c-line); box-shadow:12px 15px 0 #00000033; }
.sh-auth-store-top { border-color:#dccdb6; }
html.dark .sh-auth-store-top { border-color:var(--c-line); }
.sh-auth-store-top i { background:#b5a58d; }
html.dark .sh-auth-store-top i { background:var(--c-muted); }
.sh-auth-store-mark, .sh-auth-store-label { background:#e85c1e; color:#faf5ea; }
.sh-auth-store-brand small { background:#f0e3cd; }
html.dark .sh-auth-store-brand small { background:var(--c-base); }
.sh-auth-store-products>div { background:#f2e7d3; }
.sh-auth-store-products>div:nth-child(2) { background:#ffd9c4; }
.sh-auth-store-products>div:nth-child(3) { background:#e3e4d8; }
html.dark .sh-auth-store-products>div { background:var(--c-base); }
.sh-auth .sh-auth-story-copy h2 span { color:#ff9056; }
.sh-auth .sh-auth-story :is(.sh-auth-eyebrow,.sh-auth-story-foot) { color:#c9c0af; }
.sh-auth-panel-heading .sh-auth-eyebrow, html.dark .sh-auth-panel-heading .sh-auth-eyebrow { color:var(--c-muted); }
.sh-auth .input, html.dark .sh-auth .input { background:var(--c-panel); border-color:var(--c-line); color:var(--c-ink); }
.sh-auth .input:focus, html.dark .sh-auth .input:focus { border-color:var(--c-punch); box-shadow:0 0 0 3px color-mix(in srgb,var(--c-punch),transparent 86%); }
html.dark .sh-auth .input::placeholder { color:var(--c-muted); }
.sh-auth .sh-auth-submit { background:var(--c-punch); border-color:var(--c-punch); color:var(--c-onaccent); }
.sh-auth .sh-auth-submit:hover { background:color-mix(in srgb,var(--c-punch),var(--c-ink) 12%); border-color:var(--c-punch); }
.sh-auth .form-error, html.dark .sh-auth .form-error { background:color-mix(in srgb,var(--c-danger),var(--c-panel) 94%); color:var(--c-danger); border-color:color-mix(in srgb,var(--c-danger),var(--c-line) 60%); }
.sh-language-switcher { position:relative; flex-shrink:0; }
.sh-language-trigger { display:flex; align-items:center; justify-content:center; gap:.4rem; min-height:44px; padding:.45rem .6rem; border:1px solid var(--c-line); border-radius:.65rem; cursor:pointer; color:var(--c-ink); background:var(--c-panel); font-size:.8rem; font-weight:600; list-style:none; }
.sh-language-trigger::-webkit-details-marker { display:none; }
.sh-language-trigger:hover, .sh-language-switcher[open] .sh-language-trigger { background:var(--c-panel2); }
.sh-language-trigger:focus-visible { outline:2px solid var(--c-punch); outline-offset:3px; }
.sh-language-menu { position:absolute; top:calc(100% + .5rem); right:0; z-index:40; display:grid; min-width:10rem; padding:.4rem; background:var(--c-panel); border:1px solid var(--c-line); border-radius:.8rem; box-shadow:0 10px 28px color-mix(in srgb,var(--c-shadow),transparent 25%); }
.sh-language-heading { color:var(--c-muted); padding:.45rem .6rem; font-size:.7rem; }
.sh-public .sh-language-menu a { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:44px; padding:.5rem .6rem; color:var(--c-ink); border-radius:.45rem; font-size:.85rem; text-decoration:none; }
.sh-public .sh-language-menu a:hover { background:var(--c-panel2); }
.sh-public .sh-language-menu a[aria-current] { color:var(--c-punch); font-weight:600; }
.sh-public .sh-language-menu a:focus-visible { outline:2px solid var(--c-punch); outline-offset:-2px; }
.sh-campaign-poster-th { display:flex; flex-direction:column; justify-content:center; gap:1.1rem; aspect-ratio:1200/630; padding:8% 10%; background:#171410; color:#faf5ea; }
.sh-campaign-poster-brand .sh-logo-pair { width:clamp(9rem,18vw,15rem); }
.sh-campaign-poster-brand .sh-logo-light { display:none; }
.sh-campaign-poster-brand .sh-logo-dark { display:block; }
.sh-campaign-poster-th>strong { font-size:clamp(1.5rem,3vw,3rem); line-height:1.35; letter-spacing:-.03em; }
.sh-campaign-poster-th>span:last-child { color:#ff9056; font-size:clamp(.8rem,1.4vw,1.3rem); font-weight:600; }
html[lang="en"] .sh-hero-copy h1 { font-size:clamp(2.7rem,4.6vw,4.5rem); }
@media(max-width:43rem) {
  .sh-public .sh-header-inner { gap:10px; }
  .sh-public .sh-brand .sh-logo-pair { width:8rem; }
  .sh-workspace-footer { justify-content:center; text-align:center; }
  .sh-workspace-footer>span { display:none; }
  .sh-header-cta { display:none; }
  .sh-language-trigger { padding:.4rem .5rem; gap:.3rem; }
  .sh-language-trigger>svg:last-child { display:none; }
  .sh-public .sh-mobile-start { color:var(--c-punch); font-weight:600; }
}
