/* hibiki.css — glass theme, light and dark. Bundled Noto fonts (OFL), no CDNs. */
@font-face{font-family:"Hibiki Sans";src:url(fonts/noto-sans-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hibiki Sans";src:url(fonts/noto-sans-bold.woff2) format("woff2");font-weight:600 700;font-display:swap}
@font-face{font-family:"Hibiki Mark";src:url(fonts/noto-serif-jp-mark.woff2) format("woff2");font-weight:700;font-display:block}
*{box-sizing:border-box}
:root{--a:#0f8f94;--ok:#16a34a;--warn:#c2410c;--r:18px;color-scheme:light dark}
:root,[data-theme=light]{--tx:#14181c;--tx2:#4b5560;--tx3:#6b7682;--gl:rgba(255,255,255,.62);--gl2:rgba(255,255,255,.4);--bd:rgba(255,255,255,.8);--bd2:rgba(20,30,40,.09);--sh:0 10px 40px rgba(30,60,80,.12);--chip:rgba(20,30,40,.06);--trk:rgba(20,30,40,.1);--on:#fff;
 --bgimg:radial-gradient(900px 600px at 10% 0%,#bfe9e6 0,transparent 60%),radial-gradient(800px 600px at 95% 15%,#f6d7c3 0,transparent 55%),radial-gradient(900px 700px at 60% 110%,#d6d9f7 0,transparent 60%),#eef3f6}
[data-theme=dark]{--a:#2dd4bf;--ok:#4ade80;--warn:#fb923c;--tx:#eef2f6;--tx2:#a9b4c0;--tx3:#8590a0;--gl:rgba(22,27,38,.6);--gl2:rgba(255,255,255,.04);--bd:rgba(255,255,255,.09);--bd2:rgba(255,255,255,.08);--sh:0 10px 40px rgba(0,0,0,.45);--chip:rgba(255,255,255,.07);--trk:rgba(255,255,255,.1);--on:#0b0f16;
 --bgimg:radial-gradient(900px 600px at 8% 0%,rgba(20,184,166,.32) 0,transparent 60%),radial-gradient(800px 600px at 95% 10%,rgba(139,92,246,.26) 0,transparent 55%),radial-gradient(900px 700px at 55% 115%,rgba(14,116,144,.32) 0,transparent 60%),#0a0d14}
html,body{margin:0;min-height:100%}
body{background:var(--bgimg) fixed;font:14px/1.5 "Hibiki Sans","Noto Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--tx);-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;cursor:pointer}
a{color:var(--a)}
.k{font-family:"Hibiki Mark","Noto Serif CJK JP",serif;font-weight:700}
.glass{background:var(--gl);backdrop-filter:blur(26px) saturate(170%);-webkit-backdrop-filter:blur(26px) saturate(170%);border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh),inset 0 1px 0 var(--bd)}
.m{color:var(--tx3);font-size:12px}.s{color:var(--tx2)}
.btn{display:inline-flex;gap:6px;justify-content:center;align-items:center;padding:9px 15px;border-radius:12px;background:var(--chip);color:var(--tx);font-weight:500;border:1px solid var(--bd2);text-decoration:none}
.btn:hover{border-color:color-mix(in srgb,var(--a) 40%,transparent)}
.btn.p{background:linear-gradient(135deg,var(--a),color-mix(in srgb,var(--a) 70%,#6366f1));color:#fff;border:0;box-shadow:0 6px 20px color-mix(in srgb,var(--a) 35%,transparent)}
.btn.sm{padding:5px 10px;font-size:12.5px;border-radius:10px}
.btn:disabled{opacity:.5;cursor:default}
.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:3px 10px;border-radius:999px;background:var(--chip);color:var(--tx2);border:0}
.chip.a,.chip[aria-pressed=true]{background:color-mix(in srgb,var(--a) 16%,transparent);color:var(--a)}
.tag{font-size:10.5px;padding:2px 7px;border-radius:6px;background:var(--chip);color:var(--tx2);font-weight:600;letter-spacing:.03em}
.tag.f{background:color-mix(in srgb,var(--a) 16%,transparent);color:var(--a)}
.av{width:38px;height:38px;border-radius:50%;flex-shrink:0;object-fit:cover;background:linear-gradient(135deg,#6366f1,#06b6d4);display:block}
.av.sm{width:26px;height:26px}.av.xs{width:20px;height:20px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.seg{display:inline-flex;background:var(--chip);border-radius:10px;padding:3px;gap:2px}
.seg button{padding:5px 12px;border-radius:8px;color:var(--tx2);font-size:12.5px;background:none;border:0}
.seg button[aria-pressed=true]{background:var(--gl);color:var(--tx);box-shadow:0 1px 4px rgba(0,0,0,.12);font-weight:600}
.h6{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);font-weight:700}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--a);outline-offset:2px}
