:root{color-scheme:dark;--ink:#f7f7fb;--muted:#a8afc5;--line:rgba(255,255,255,.12);--accent:#b8a8ff;--cyan:#6cdbff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:#080b16;font:16px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.gallery-shell{max-width:1160px;margin:auto;padding:22px 22px 36px}.gallery-head{display:flex;align-items:center;justify-content:space-between;padding:0 0 20px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-size:1.03rem;letter-spacing:-.03em}.brand span{display:grid;place-items:center;width:29px;height:29px;border:1px solid #9a88ed;border-radius:9px;color:#d8d0ff;background:#b5a3ff20}.brand b{font-weight:800}.public-label,.eyebrow{color:var(--cyan);font-size:.67rem;font-weight:800;letter-spacing:.15em}.hero{padding:62px 0 45px;text-align:center}.hero .eyebrow{margin:0 0 13px}.hero h1{margin:0;font-size:clamp(2.35rem,7vw,4.5rem);line-height:1.02;letter-spacing:-.06em}.intro{margin:16px auto 0;color:var(--muted)}.gallery-content{padding-top:4px}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.section-title .eyebrow{margin:0 0 4px}.section-title h2{margin:0;font-size:1.45rem;letter-spacing:-.04em}.section-title>span{color:var(--muted);font-size:.8rem}.notice{color:var(--muted);font-size:.88rem}.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.art-card{overflow:hidden;border:1px solid var(--line);border-radius:17px;background:linear-gradient(145deg,#1b2037,#101424);box-shadow:0 15px 40px #0003}.art-card>a:first-child{display:block;aspect-ratio:1/1;background:#060810}.art-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.art-card>a:first-child:hover img{transform:scale(1.025)}.plaque{padding:15px 16px 17px}.plaque .eyebrow{margin:0 0 3px;font-size:.58rem}.plaque h2{margin:0;font-size:1.08rem;letter-spacing:-.025em}.plaque p{margin:5px 0 0;color:var(--muted);font-size:.83rem}.plaque strong{color:#e8e6f7;font-weight:650}.detail{max-width:950px;margin:24px auto 40px}.detail[hidden]{display:none}.back{display:inline-block;margin:0 0 15px;color:#c3b8ff;text-decoration:none}.detail-art{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#05070c}.detail-art img{display:block;width:100%;max-height:75vh;object-fit:contain}.detail .plaque{padding:22px 2px}.detail .plaque h2{font-size:clamp(1.55rem,5vw,2.5rem)}.download,.more{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-top:15px;padding:9px 15px;border:1px solid rgba(255,255,255,.15);border-radius:11px;color:#111322;background:linear-gradient(130deg,#c3b7ff,#70d9ff);font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.more{display:block;margin:24px auto 0}.more[hidden]{display:none}footer{margin-top:48px;color:#737b96;font-size:.72rem;text-align:center}@media(max-width:800px){.art-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.gallery-shell{padding:17px 13px 28px}.hero{padding:49px 0 35px}.art-grid{grid-template-columns:1fr;gap:14px}.art-card{border-radius:15px}.art-card>a:first-child{aspect-ratio:1.12/1}.section-title h2{font-size:1.25rem}}
:root{--account-glow:#70d9ff}.account-area{display:flex;align-items:center;gap:13px}.account-link{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid #ffffff22;border-radius:999px;color:#111322;background:linear-gradient(130deg,#c3b7ff,#70d9ff);font-size:.78rem;font-weight:750;text-decoration:none;box-shadow:0 0 22px #70d9ff18}.account-link:hover{box-shadow:0 0 26px #70d9ff44}
:root{--account-glow:#70d9ff}.login-shell{max-width:680px;margin:auto;padding:30px 22px}.login-shell>.brand{display:inline-flex}.login-card{margin-top:18vh;padding:34px;border:1px solid #ffffff18;border-radius:22px;background:linear-gradient(145deg,#1b2037,#101424);box-shadow:0 24px 70px #0005}.login-card h1{margin:0;font-size:clamp(2rem,7vw,3.7rem);line-height:1.03;letter-spacing:-.06em}.login-card>p:not(.eyebrow){color:var(--muted)}.login-button{margin-top:15px;min-height:45px;padding:10px 17px}.login-note{margin-bottom:0;font-size:.78rem}.login-back{margin-top:18px;text-align:center}.login-back a{color:#c3b8ff;text-decoration:none}

/* Studio v2: public songs */
.song-card{display:flex;flex-direction:column}
.song-card .song-disc{aspect-ratio:1;margin:18px auto 0;width:min(70%,240px);border-radius:50%;background:radial-gradient(circle,#d9b46a 0 16%,#151515 17% 19%,#262626 20% 30%,#151515 31% 45%,#262626 46% 60%,#151515 61%);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.song-card.is-playing .song-disc{animation:song-spin 2.4s linear infinite}
.song-card audio{width:100%;margin-top:12px}
@keyframes song-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.song-card.is-playing .song-disc{animation:none}}

.public-account-nav{display:flex;flex-wrap:wrap;gap:4px 14px;padding:12px 16px}.public-account-nav a{display:inline-flex;align-items:center;min-height:44px;color:inherit}.gallery-head{flex-wrap:wrap}.public-account-nav a:focus-visible{outline:3px solid currentColor;outline-offset:3px}

/* Match the private Studio palette; public server exposes gallery.css only. */
:root {
  color-scheme: light dark;
  --bg: #f4f4ef; --surface: #fff; --soft: #eeefe9; --ink: #202d29;
  --muted: #5d6963; --line: #d7ddd5; --accent: #28634c; --on-accent: #fff;
  --accent-soft: #e4eee6; --danger: #a12936; --focus: #235fbd;
  --font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --small: .8rem; --body: 1rem; --title: clamp(2rem, 5vw, 3.5rem);
  --space-1: .5rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 2rem;
  --radius: 22px; --radius-small: 12px; --shadow: 0 18px 55px #203d2910;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #111b18; --surface: #192621; --soft: #22352c; --ink: #edf3eb;
    --muted: #b0c0b4; --line: #3e5447; --accent: #b3d9a7; --on-accent: #15281c;
    --accent-soft: #2c4233; --danger: #ffacb4; --focus: #9bc4ff; --shadow: 0 18px 55px #0003; }
}

body { color: var(--ink); background: var(--bg); font-family: var(--font); }
.brand span { color: var(--accent); border-color: var(--line); background: var(--accent-soft); }
.public-label, .eyebrow { color: var(--accent); }
.art-card, .login-card { background: var(--surface); box-shadow: var(--shadow); }
.art-card > a:first-child, .detail-art { background: var(--soft); }
.plaque strong { color: var(--ink); }
.back, .login-back a { color: var(--accent); }
.download, .more, .account-link { min-height: 44px; color: var(--on-accent); background: var(--accent); border-color: var(--accent); box-shadow: none; }
.account-link:hover { box-shadow: none; filter: brightness(.94); }
footer { color: var(--muted); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }
@media (max-width: 540px) { .gallery-shell { padding-inline: 16px; } }
@media (prefers-reduced-motion: reduce) { .art-card img { transition: none; } }
