.public-site { --ui-primary:var(--accent); --ui-text:var(--ink); --ui-muted:var(--muted); --ui-border:var(--line); }
.public-page { max-width:1660px; padding:32px 40px 64px; }
.public-page .container { width:100%; max-width:none; padding-left:0; padding-right:0; }
.public-rail { overflow-y:auto; }
.public-rail nav a { min-height:54px; }
.public-rail-bottom { padding-top:24px; }
.public-beta { display:block; color:var(--muted); font:9px var(--mono); letter-spacing:.1em; padding:8px 10px; }
.public-rail-bottom .public-join { color:var(--on-accent); background:var(--accent); font:11px var(--mono); padding:14px 10px; margin-bottom:14px; }
.public-access { font-family:var(--mono); }
.public-breadcrumb:empty { display:none; }
.public-breadcrumb { margin-bottom:24px; color:var(--muted); font:10px var(--mono); }
.public-breadcrumb ol,.public-breadcrumb ul { list-style:none; display:flex; gap:10px; flex-wrap:wrap; margin:0; padding:0; }
.public-breadcrumb li+li:before { content:'/'; margin-right:10px; color:var(--line); }
.public-breadcrumb a:hover { color:var(--accent); }
.public-page h1 { font-size:clamp(42px,5.5vw,88px); max-width:24ch; line-height:1.06; margin-bottom:24px; }
.public-page h2 { font-size:clamp(28px,3vw,42px); line-height:1.15; margin-bottom:16px; }
.public-page h3 { font-size:26px; margin:22px 0 12px; }
.public-page p { line-height:1.8; }
.public-page p+p { margin-top:16px; }
.public-page ul,.public-page ol { padding-left:22px; line-height:1.8; }
.public-page li+li { margin-top:8px; }
.public-page p a,.public-page li a { text-decoration:underline; text-underline-offset:4px; }
.public-page a:hover { color:var(--accent); }
.public-page .btn,.public-page .button,.public-site .account-verification button { display:inline-flex; align-items:center; justify-content:space-between; gap:18px; min-height:48px; padding:14px 22px; border:1px solid var(--line); background:var(--panel); color:var(--ink); font:12px var(--mono); text-transform:uppercase; text-decoration:none; border-radius:0; }
.public-page .btn:hover,.public-page .button:hover { border-color:var(--accent); }
.public-page .btn-cta,.public-page .primary { background:var(--accent); color:var(--on-accent); border-color:var(--accent); }
.public-page .btn-cta:hover { color:var(--on-accent); filter:brightness(.94); }
.public-page .btn-small { padding:10px 16px; font-size:11px; }
.public-page .btn--link-color { background:transparent; }
.public-flash,.account-verification { padding:18px 22px; border:1px solid var(--line); border-left:3px solid var(--accent); margin-bottom:24px; background:var(--panel); }
.account-verification { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.public-footer { border-top:1px solid var(--line); margin:0 40px; padding:30px 0; display:flex; justify-content:space-between; gap:24px; font:10px/1.8 var(--mono); color:var(--muted); }
.public-footer strong { color:var(--ink); letter-spacing:.15em; }
.public-footer nav { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.public-footer>span { text-align:right; }
.public-card { border:1px solid var(--line); background:var(--panel); padding:28px; min-width:0; }
.public-site [hidden],.public-site .d-none { display:none!important; }
.public-page .text-center { text-align:center; }
.public-page .d-flex { display:flex; }
.public-page .flex-column { flex-direction:column; }
.public-page .flex-wrap { flex-wrap:wrap; }
.public-page .justify-content-between { justify-content:space-between; }
.public-page .align-items-center { align-items:center; }
.public-page .gap-2 { gap:10px; }.public-page .gap-3 { gap:18px; }
.public-page .mb-0 { margin-bottom:0; }.public-page .mb-1 { margin-bottom:6px; }.public-page .mb-3 { margin-bottom:18px; }.public-page .mb-4 { margin-bottom:26px; }.public-page .mb-5 { margin-bottom:40px; }
.public-page .mt-3 { margin-top:18px; }.public-page .mt-4 { margin-top:28px; }.public-page .mt-5 { margin-top:40px; }
.public-page .p-4 { padding:26px; }.public-page .py-5 { padding-block:40px; }.public-page .pb-5 { padding-bottom:40px; }
.public-page .semibold { font-weight:600; }.public-page .text-secondary { color:var(--muted); }
.public-page .underline { padding-bottom:14px; border-bottom:1px solid var(--line); }
.public-page .h2 { font:32px var(--heading); }.public-page .h3 { font:26px var(--heading); }.public-page .h4 { font:22px var(--heading); }
.public-page input,.public-page select,.public-page textarea { background:var(--panel); color:var(--ink); border:1px solid var(--line); padding:12px; max-width:100%; font:inherit; border-radius:0; }
.public-page img { height:auto; }.public-page figure { margin:0; }.public-page figcaption { font:10px/1.6 var(--mono); color:var(--muted); padding-top:10px; }
.public-page iframe { max-width:100%; border:1px solid var(--line); }
.public-page section[id],.public-page h2[id] { scroll-margin-top:24px; }
.public-site .system-messages { position:fixed; right:20px; bottom:20px; width:min(420px,calc(100vw - 40px)); z-index:60; }
.public-site .system-message { padding:24px; background:var(--panel); border:1px solid var(--line); box-shadow:0 8px 30px #0002; margin-top:12px; }
.system-message__close { background:transparent; border:0; color:var(--ink); padding:10px; }
@media(min-width:1600px) { :root { --rail:170px; } }
@media(max-width:1100px) and (min-width:601px) { :root { --rail:112px; }.public-rail nav a { flex-direction:column; gap:8px; font-size:9px; }.public-rail-bottom a { font-size:9px; }.public-page { padding:28px; } }
@media(max-width:800px) { .public-footer { flex-direction:column; }.public-footer>span { text-align:left; }.public-page h1 { font-size:54px; }.account-verification { align-items:start; flex-direction:column; } }
@media(max-width:600px) {
    .public-app { margin-left:0; }.public-page { padding:24px 16px 40px; }.public-page h1 { font-size:44px; }
    .public-rail { width:235px; transform:translateX(-100%); padding:18px 12px; box-shadow:12px 0 30px #0002; }.public-rail.is-open { transform:none; }.public-rail nav a { min-height:48px; }
    .menu-toggle { display:inline-flex; }.topbar { padding:0 12px; height:58px; gap:6px; }.topbar-actions { gap:12px; }.station-label { font-size:10px; }.station-label span { display:none; }.theme-toggle { padding-left:12px; font-size:10px; }.public-access { font-size:10px; }.quiet { gap:6px; }
    .public-footer { margin:0 16px; padding:24px 0; gap:14px; }.public-footer nav { gap:12px; }.public-card { padding:20px; }.public-breadcrumb { margin-bottom:18px; }
    .public-page .btn { padding:12px 16px; font-size:11px; }.public-page h2 { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
.public-page .box-deco:empty { display:none; }.public-page h1 { overflow-wrap:anywhere; }.public-site .system-message .d-flex { display:flex; gap:16px; justify-content:space-between; }
.public-site .skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:14px 18px; background:var(--ink); color:var(--paper); transform:translateY(-160%); }.public-site .skip-link:focus { transform:none; }
.public-breadcrumb ol { flex-direction:row!important; align-items:center; gap:8px; }.public-breadcrumb li+li { margin-top:0; }.public-breadcrumb li+li:before { content:none; }.public-breadcrumb .separator { padding-inline:8px; color:var(--line); }
