/* Public pages keep the forest identity while prioritizing setup and price. */
html.ox-public-flow[data-theme="dark"] {
  --ox-accent:#9ccebe; --ox-accent-2:#65ad95; --ox-accent-ink:#c3e6d8;
  --ox-accent-soft:rgba(101,173,149,.1); --ox-accent-line:rgba(156,206,190,.3);
  --brand:#9ccebe; --brand-grad:linear-gradient(135deg,#9ccebe,#65ad95);
}
html.ox-public-flow[data-theme="dark"] .btn-primary,
html.ox-public-flow[data-theme="dark"] .ox-seg button.is-active { color:#102c23; box-shadow:none; }
html.ox-public-flow .ox-cfg-label,
html.ox-public-flow .ox-cfg-summary .lbl { font-family:var(--ox-sans); text-transform:none; letter-spacing:0; font-size:14px; }
html.ox-public-flow .ox-page-shell-bg { opacity:.3; }
html.ox-public-flow .ox-kicker { text-transform:none; letter-spacing:.02em; }
html.ox-public-flow .section-head .eyebrow { display:none; }
.public-selected-order { border:1px solid var(--border-strong); border-radius:16px; padding:18px; margin-bottom:24px; background:var(--surface); }
.public-selected-order p { margin:8px 0; }
.public-selected-order small { color:var(--text-muted); line-height:1.5; }
.public-help { color:var(--text-muted); font-size:13px; line-height:1.6; margin:12px 0; }
.public-trial-link { display:inline-block; margin-top:8px; color:var(--brand); text-decoration:underline; text-underline-offset:4px; line-height:1.5; }
.public-purchase-bar { display:none; }
.public-network { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:28px; border:1px solid var(--border); border-radius:24px; }
.public-network h2 { margin:0 0 10px; }
.public-network p { max-width:640px; color:var(--text-muted); margin:0; line-height:1.65; }
.public-network .btn { flex-shrink:0; }
.public-setup { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:start; }
.public-setup h2,.public-setup h3 { margin:0 0 12px; }
.public-setup p { color:var(--text-muted); line-height:1.65; }
.public-client-list { display:grid; gap:10px; margin-top:24px; }
.public-client { display:flex; align-items:center; gap:16px; width:100%; padding:16px; text-align:left; font:inherit; color:var(--text); background:var(--surface); border:1px solid var(--border); border-radius:18px; cursor:pointer; }
.public-client.is-selected { border-color:var(--brand,#64dca9); background:rgba(70,170,115,.12); }
.public-client img { object-fit:contain; border-radius:12px; flex-shrink:0; }
.public-client strong,.public-client small { display:block; }
.public-client small { color:var(--text-muted); margin-top:6px; line-height:1.5; }
.public-setup-download { padding:28px; border:1px solid var(--border); border-radius:24px; }
.public-download-actions { display:grid; gap:12px; margin:24px 0; }
.public-setup-download>.btn { width:100%; }
.ox-cfg-summary .public-help { max-width:360px; }
[data-cfg-devices] { width:100%; min-height:44px; accent-color:#65c89a; }
.public-device-picker { padding:20px; gap:12px; border:1px solid var(--ox-accent-line); border-radius:18px; background:var(--ox-accent-soft); }
.public-device-title { display:flex; align-items:center; gap:10px; color:var(--text); font-size:18px; font-weight:700; line-height:1.35; }
.public-device-title>span { display:flex; color:var(--brand); }
.public-device-title svg { width:24px; height:24px; }
.public-device-help { margin:0; font-size:14px; line-height:1.55; color:var(--text-muted); }
.public-device-stepper { display:flex; align-items:center; gap:8px; margin-top:4px; }
.public-device-stepper output { flex:1; min-width:0; text-align:center; color:var(--text); font-size:clamp(18px,4vw,26px); font-weight:750; font-variant-numeric:tabular-nums; white-space:nowrap; }
.public-device-stepper button { width:44px; height:44px; flex-shrink:0; border:1px solid var(--ox-line-2); border-radius:12px; color:var(--text); background:var(--surface); font:600 26px var(--ox-sans); cursor:pointer; }
.public-device-stepper button:hover:not(:disabled) { border-color:var(--brand); background:var(--ox-accent-soft); }
.public-device-stepper button:disabled { opacity:.4; cursor:default; }
.public-device-stepper button:focus-visible { outline:3px solid var(--brand); outline-offset:3px; }
.public-device-picker [data-cfg-devices] { appearance:none; -webkit-appearance:none; margin:0; padding:0; background:transparent; cursor:pointer; border:0; border-radius:8px; }
.public-device-picker [data-cfg-devices]::-webkit-slider-runnable-track { height:8px; border-radius:8px; background:linear-gradient(to right,var(--brand) var(--device-pct),var(--ox-line-2) var(--device-pct)); }
.public-device-picker [data-cfg-devices]::-webkit-slider-thumb { appearance:none; -webkit-appearance:none; width:24px; height:24px; margin-top:-8px; border:3px solid var(--surface); border-radius:50%; background:var(--brand); box-shadow:0 0 0 1px var(--brand); }
.public-device-picker [data-cfg-devices]::-moz-range-track { height:8px; border-radius:8px; background:var(--ox-line-2); }
.public-device-picker [data-cfg-devices]::-moz-range-progress { height:8px; border-radius:8px; background:var(--brand); }
.public-device-picker [data-cfg-devices]::-moz-range-thumb { width:18px; height:18px; border:3px solid var(--surface); border-radius:50%; background:var(--brand); box-shadow:0 0 0 1px var(--brand); }
.public-device-included { margin:0; color:var(--text); font-size:13px; font-weight:500; line-height:1.5; }
.public-whitelist-option { position:relative; display:flex; align-items:center; gap:16px; padding:18px; border:1px solid var(--border-strong); border-radius:18px; background:var(--surface); cursor:pointer; }
.public-whitelist-copy { display:grid; flex:1; min-width:0; gap:7px; }
.public-whitelist-copy strong { color:var(--text); font-size:17px; font-weight:700; }
.public-whitelist-copy small { color:var(--text-muted); font-size:13px; line-height:1.5; }
.public-whitelist-copy b { color:var(--brand); font-size:13px; font-weight:600; }
.public-whitelist-option input { position:absolute; right:18px; width:48px; height:44px; margin:0; opacity:0; z-index:1; cursor:pointer; }
.public-whitelist-switch { flex-shrink:0; width:48px; height:28px; border-radius:20px; background:var(--border-strong); border:1px solid var(--text-muted); position:relative; }
.public-whitelist-switch::after { content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%; background:var(--text); }
.public-whitelist-option input:checked + .public-whitelist-switch { background:var(--brand); border-color:var(--brand); }
.public-whitelist-option input:checked + .public-whitelist-switch::after { left:23px; background:var(--bg); }
.public-whitelist-option input:focus-visible + .public-whitelist-switch { outline:3px solid var(--brand); outline-offset:4px; }
.public-client:focus-visible,[data-cfg-devices]:focus-visible { outline:3px solid var(--brand,#64dca9); outline-offset:4px; }
.ox-page-shell .ox-page-hero { padding-top:44px; padding-bottom:24px; }
.ox-page-hero .hero-eyebrow { display:none; }
.ox-forest-kicker { text-transform:none; letter-spacing:.03em; }
.lang-toggle .lang-btn { min-height:32px; min-width:36px; }
@media(max-width:760px) {
  .public-setup { grid-template-columns:1fr; gap:24px; }
  .public-network { flex-direction:column; align-items:stretch; padding:22px; }
  .public-setup-download { padding:22px; }
  .ox-page-shell .ox-page-hero { padding-top:28px; padding-bottom:16px; }
  .ox-page-hero .page-title { font-size:clamp(30px,8vw,42px); }
  .public-purchase-bar { display:flex; position:fixed; bottom:0; left:0; right:0; align-items:center; gap:16px; justify-content:space-between; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); border-top:1px solid var(--border); background:var(--bg-elevated); z-index:20; box-shadow:0 -8px 24px rgba(0,0,0,.12); }
  .public-purchase-bar small,.public-purchase-bar strong { display:block; }
  .public-purchase-bar strong { font-size:24px; }
  body:has(.public-purchase-bar) { padding-bottom:100px; }
  .public-purchase-bar .btn { font-size:13px; }
  .ox-cfg-summary { scroll-margin-bottom:100px; }
  .header-actions .lang-btn { min-height:36px; }
  .header-actions .theme-toggle,.header-actions .icon-btn { min-height:44px; min-width:44px; }
  .public-client { padding:14px; }
}
