:root {
  --primary:#4992ca; --ink:#242436; --muted:#706d7c; --line:rgba(85,111,137,.17);
  --surface:rgba(255,255,255,.82); --shadow:0 8px 26px rgba(47,74,98,.06);
  font-family:ui-rounded,'Hiragino Sans GB','Microsoft YaHei UI','PingFang SC',system-ui,sans-serif;
  font-size:14px; color:var(--ink); background:#f5f8fb;
}
*{box-sizing:border-box}body{margin:0;min-height:100vh}
body:before{content:'';position:fixed;inset:0;z-index:-2;background:url('https://8rvw1eeldkis54hc.public.blob.vercel-storage.com/backgrounds/c0610eb4-240e-46d8-9d97-ad3e45863bfb-desktop.webp') center/cover no-repeat;pointer-events:none}
body:after{content:'';position:fixed;inset:0;z-index:-1;background:rgba(247,250,253,.46);pointer-events:none}
button,input{font:inherit}a{color:var(--primary);text-decoration:none}button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid rgba(73,146,202,.4);outline-offset:3px}
header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px max(24px,calc((100vw - 1132px)/2));background:rgba(255,255,255,.8);border-bottom:1px solid var(--line);backdrop-filter:blur(18px) saturate(120%)}
.logo{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:900;letter-spacing:-.03em;color:var(--ink)}
.logo img{object-fit:contain}.logo small{font-size:10px;font-weight:650;color:var(--muted);letter-spacing:.08em;margin-left:4px}
.header-links{display:flex;align-items:center;gap:20px;font-size:13px;font-weight:650}.header-links a{color:#4f4b58}.header-links a:hover{color:var(--primary)}
main{max-width:1180px;margin:auto;padding:0 24px 24px}
.intro{text-align:center;padding:22px 0 20px}.intro h1{font-size:24px;font-weight:850;letter-spacing:-.03em;margin:0 0 6px}.intro p{color:var(--muted);margin:0 0 5px;font-size:13px}.intro>span{font-size:12px;color:var(--primary)}
.control-panel{padding:17px 20px 8px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(14px) saturate(112%)}
h2{font-size:14px;font-weight:800;margin:0 0 13px;color:#4f5667}
.controls{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.controls>button,.controls>label{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 13px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.8);color:#536274;font-size:13px;font-weight:650}
.controls>#random{background:var(--primary);border-color:var(--primary);color:white;box-shadow:0 4px 12px rgba(73,146,202,.16)}
.controls>button:hover{transform:translateY(-1px);border-color:var(--primary)}
.controls input[type=checkbox]{accent-color:var(--primary);margin:0}.volume input{accent-color:var(--primary);width:100px}
.now-playing{text-align:center;min-height:36px;padding:12px 0 2px;color:var(--muted);font-size:12px}.now-playing button{border:0;background:transparent;color:var(--primary);margin-left:8px;padding:0}
.collection{margin-top:18px}.search-row{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 auto 12px}.search-row label{font-size:12px;font-weight:750;color:#5c5866}
.search-row input{border:1px solid var(--line);border-radius:12px;padding:9px 13px;width:300px;max-width:75%;background:rgba(255,255,255,.85);color:var(--ink)}
.search-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(73,146,202,.12)}
#tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:18px}#tags button{border:1px solid transparent;background:rgba(255,255,255,.65);border-radius:999px;color:#64768a;font-size:12px;font-weight:700;padding:6px 13px}
#tags button[aria-pressed=true]{background:#e7f2fb;border-color:#b9d7ed;color:#357eB5}#tags button:hover{border-color:#b9d7ed}
#notice{color:var(--muted);font-size:13px;text-align:center;line-height:1.8;background:var(--surface);border-radius:14px}#notice:not(:empty){padding:18px;border:1px dashed #bbcfdf}
.sound-group{margin:16px 0;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);backdrop-filter:blur(12px) saturate(110%)}
.sound-group h3{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:800;margin:0 0 10px;letter-spacing:-.02em}.sound-group h3:before{content:'';width:4px;height:15px;border-radius:4px;background:var(--primary)}
.sound-group h3 small{color:var(--muted);background:#edf3f7;border-radius:999px;font-size:10px;font-weight:600;padding:3px 8px;margin-left:2px}
.sound-grid{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px;padding:2px 0}
.sound{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;min-height:36px;margin:0;padding:7px 13px;border:1px solid #c7dceC;border-radius:11px;color:#397baD;background:rgba(255,255,255,.86);transition:background .15s,border-color .15s,transform .15s}
.sound:hover{background:#eef6fc;border-color:var(--primary);transform:translateY(-1px)}.sound.is-playing{background:var(--primary);color:white;border-color:var(--primary)}
.sound strong{font-size:13px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.sound small{display:none}.play-icon{font-size:9px;opacity:.7}
footer{margin:24px 0 0;padding:16px 10px 0;text-align:center;color:#706d7c;font-size:11px;line-height:1.7;border-top:1px solid var(--line)}footer p{margin:3px}footer a:hover{text-decoration:underline}
@media(max-width:600px){body:before{background-image:url('https://8rvw1eeldkis54hc.public.blob.vercel-storage.com/backgrounds/b5ba20b7-fb37-47a3-be53-d215acf52a08-mobile.webp')}header{padding:12px 16px;gap:10px}.logo{font-size:17px;gap:7px}.logo small{display:none}.header-links{gap:13px;font-size:12px}main{padding:0 14px 20px}.intro{padding:18px 0}.intro h1{font-size:21px}.control-panel{padding:14px 12px 7px}.controls{gap:8px}.controls>button,.controls>label{font-size:12px;padding:7px 10px}.search-row input{min-width:0;flex:1}.sound-group{padding:14px 12px}.sound-grid{gap:7px}.sound{padding:7px 10px}.sound strong{font-size:12px}}
@media(prefers-reduced-motion:reduce){button{transition:none!important;transform:none!important}}
/* Keep short text readable over the shared illustrated background. */
.intro{background:rgba(255,255,255,.84);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(12px);padding:14px 16px;margin:16px 0}
.search-row{max-width:440px;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px)}
.search-row input{flex:1;min-width:0}
footer{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:14px;padding:12px;backdrop-filter:blur(12px)}
