/* Demo role bar and site header */
/* demo bar + header */
.demo-bar{background:#1c1a18;color:#f3f0ec;font-size:.875rem}
.demo-bar .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-block:6px}
.demo-bar b{font-weight:600}
.seg-mini{display:inline-flex;background:rgba(127,127,127,.25);border-radius:999px;padding:2px}
.seg-mini button{border:0;background:none;color:inherit;padding:4px 12px;border-radius:999px;font-size:.85rem;min-height:30px}
.seg-mini button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);font-weight:600}
.demo-bar .reset{margin-left:auto;background:none;border:1px solid rgba(127,127,127,.5);color:inherit;border-radius:999px;padding:3px 12px;font-size:.8rem}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--surface);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:12px;padding-block:10px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto}
.logo svg{width:38px;height:38px}
.logo span{font-family:var(--f-display);font-weight:700;font-size:1.35rem;letter-spacing:.01em}
.logo small{display:block;font-family:var(--f-body);font-weight:500;font-size:.72rem;color:var(--muted);letter-spacing:.02em;margin-top:-2px}
.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font-weight:600;text-decoration:none;transition:transform .12s,background .15s,border-color .15s}
.btn:hover{border-color:var(--ink)}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.07)}
.btn.ghost{border-color:transparent;background:none}
.btn.ghost:hover{background:var(--surface-2)}
.btn.small{min-height:40px;padding:0 14px;font-size:.95rem;border-radius:10px}
.btn.good{background:var(--good);border-color:var(--good);color:var(--surface)}
.btn.bad{color:var(--bad);border-color:var(--bad-soft)}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.btn svg{width:20px;height:20px;flex:none}
.icon-btn{width:48px;height:48px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);display:inline-grid;place-items:center;font-weight:700}
.icon-btn:hover{border-color:var(--ink)}
.badge-count{background:var(--accent);color:var(--accent-ink);border-radius:999px;font-size:.75rem;padding:0 7px;line-height:20px;min-width:20px;text-align:center}

@media (max-width:640px){.nav .lbl-hide{display:none}.frow > .lbl{min-width:100%}}
.demo-links{display:inline-flex;flex-wrap:wrap;gap:6px}
.demo-links button{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:inherit;border-radius:999px;padding:4px 12px;font-size:.85rem;min-height:30px}
.demo-links button:hover{background:rgba(255,255,255,.18)}
.demo-links button[aria-current="page"]{background:#f3f0ec;color:#1c1a18;font-weight:600}
