/* Stanzai dev styles 07/14 — home, tap feedback, start cards, phase grid, tools (rhyme/syllable), theme switcher, hub, random generator, profile, auth chip + modal — extracted VERBATIM from index.html <style> block lines 2457-3070 (CSS split PR, 2026-06-10). Files load via <link> in numeric order; cascade position matters — do not reorder rules across files. */

/* HOME */
/* .hgreeting removed — dead code */
.htitle{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:400;line-height:1.2;color:var(--t1)}
.htitle em{font-style:italic;color:var(--gold)}
/* ── Minimalist Home ── */
.home-atmo{position:fixed;inset:0;pointer-events:none;z-index:0}
.home-atmo-bloom{position:absolute;top:52%;left:55%;transform:translate(-50%,-50%);width:350px;height:300px;background:radial-gradient(ellipse at center,rgba(78,158,144,0.03) 0%,transparent 60%);animation:homeAtmoBreathe 10s ease-in-out infinite}
.home-atmo-grain{position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");opacity:0.35}
@keyframes homeAtmoBreathe{0%,100%{opacity:0.5}50%{opacity:1}}
.home-brand{text-align:center;margin-bottom:44px}
.home-brand-name{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:0.3em;text-transform:uppercase;color:rgba(200,160,80,0.45);margin-bottom:14px}
.home-brand-line{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:rgba(232,224,208,0.88);line-height:1.3;margin-bottom:2px}
.home-brand-glow{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;font-style:italic;color:rgba(200,160,80,0.9);line-height:1.3;text-shadow:0 0 24px rgba(200,160,80,0.2),0 0 60px rgba(200,160,80,0.08);animation:homeTextGlow 4s ease-in-out infinite}
@keyframes homeTextGlow{0%,100%{text-shadow:0 0 20px rgba(200,160,80,0.15),0 0 60px rgba(200,160,80,0.06);opacity:0.82}50%{text-shadow:0 0 30px rgba(200,160,80,0.3),0 0 80px rgba(200,160,80,0.12);opacity:1}}
.home-entries{display:flex;flex-direction:column;gap:12px;width:100%;max-width:330px;margin:0 auto}
.home-entry{position:relative;padding:22px 20px;border-radius:16px;cursor:pointer;overflow:hidden;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.025);box-shadow:0 1px 4px rgba(0,0,0,0.5),0 6px 24px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.04)}
.home-entry:hover{border-color:rgba(255,255,255,0.10);background:rgba(255,255,255,0.035)}
.home-entry:active{transform:scale(var(--press-scale))}
.home-entry:focus-visible{outline:none;box-shadow:0 1px 4px rgba(0,0,0,0.5),0 6px 24px rgba(0,0,0,0.25),inset 0 1px 0 rgba(255,255,255,0.04),var(--focus-ring),var(--focus-soft),var(--focus-halo)}
.home-entry-intent{border-color:rgba(var(--teal-rgb),0.14)}
.home-entry-intent:hover{border-color:rgba(var(--teal-rgb),0.22)}
.home-entry-intent::before{content:'';position:absolute;top:-50%;right:-35%;width:160px;height:160px;background:radial-gradient(circle,rgba(var(--teal-rgb),0.10) 0%,transparent 65%);pointer-events:none;animation:homeDrift1 11s ease-in-out infinite}
.home-entry-anywhere{border-color:rgba(var(--gold-rgb),0.10)}
.home-entry-anywhere:hover{border-color:rgba(var(--gold-rgb),0.18)}
.home-entry-anywhere::before{content:'';position:absolute;bottom:-50%;left:-30%;width:140px;height:140px;background:radial-gradient(circle,rgba(var(--gold-rgb),0.08) 0%,transparent 65%);pointer-events:none;animation:homeDrift2 13s ease-in-out infinite}
@keyframes homeDrift1{0%,100%{transform:translate(0,0)}50%{transform:translate(-10px,8px)}}
@keyframes homeDrift2{0%,100%{transform:translate(0,0)}50%{transform:translate(8px,-10px)}}
.home-entry-title{position:relative;font-size:17px;font-weight:300;color:rgba(232,224,208,0.95);margin-bottom:6px;letter-spacing:-0.01em}
.home-entry-sub{position:relative;font-family:'Cormorant Garamond',serif;font-size:13.5px;font-weight:300;font-style:italic;color:var(--t2);line-height:1.45}
.home-entry-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:16px;color:rgba(255,255,255,0.1)}
/* Spark shimmer */
.home-spark{margin-top:44px;text-align:center}
.home-spark-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(200,160,80,0.3);margin-bottom:10px}
.home-spark-text{font-family:'Cormorant Garamond',serif;font-size:14.5px;font-weight:300;font-style:italic;line-height:1.55;max-width:280px;margin:0 auto;background:linear-gradient(90deg,rgba(200,160,80,0.45) 0%,rgba(200,160,80,0.45) 40%,rgba(255,235,180,0.9) 50%,rgba(200,160,80,0.45) 60%,rgba(200,160,80,0.45) 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:sparkShimmer 6s ease-in-out infinite}
@keyframes sparkShimmer{0%,100%{background-position:200% center}50%{background-position:-200% center}}
.home-spark-cta{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.15em;text-transform:uppercase;cursor:pointer;background:linear-gradient(90deg,rgba(200,160,80,0.25) 0%,rgba(200,160,80,0.25) 40%,rgba(255,235,180,0.7) 50%,rgba(200,160,80,0.25) 60%,rgba(200,160,80,0.25) 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:sparkShimmer 6s ease-in-out infinite}
/* ── TAP FEEDBACK SYSTEM — research-backed instant response ── */
/* V169: Per-chip transitions now own background/border/color timing.
   This global block only governs default press scale + rim-light for surfaces
   that don't define their own (.home-entry).
   V177: .v9-act and .ai-act removed — they own their own full six-rule shape.
   V178: .suno-copy-btn removed — same.
   V179: .dna-chip removed — same. */
.home-entry{
  transition:transform var(--press-dur) var(--easing-standard),border-color var(--state-dur) var(--easing-standard),box-shadow var(--state-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard)}
.home-entry:active{
  transform:scale(var(--press-scale));box-shadow:inset 0 1px 3px rgba(0,0,0,0.3)}
/* V169: Selection rim-light by semantic family.
   Mood/sound/vrange/optcard = creative decisions = gold rim.
   Genre = utility/categorical = teal rim. */
.moodpill.sel,.soundchip.sel,.vrange-chip.sel{box-shadow:0 0 0 1px rgba(var(--gold-rgb),0.20),inset 0 1px 0 rgba(var(--gold-rgb),0.08)}
.gchip.sel{box-shadow:0 0 0 1px rgba(var(--teal-rgb),0.20),inset 0 1px 0 rgba(var(--teal-rgb),0.08)}
.gchip.exclude{box-shadow:none}
.optcard.sel{box-shadow:0 0 0 1px rgba(var(--gold-rgb),0.15),0 2px 8px rgba(0,0,0,0.3)}
/* START CARDS */
.scard{transition:transform var(--press-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard),border-color var(--state-dur) var(--easing-standard)}
.scard:hover{background:var(--s3);border-color:rgba(255,255,255,0.10)}
.scard:active{transform:scale(var(--press-scale))}
.scard:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--focus-soft),var(--focus-halo)}
/* PHASE GRID */
.ptile{padding:15px;border-radius:14px;background:var(--s2);border:1px solid var(--b1);cursor:pointer;transition:transform var(--press-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard),border-color var(--state-dur) var(--easing-standard);position:relative;overflow:hidden}
.ptile:hover{background:var(--s3);border-color:rgba(255,255,255,0.10)}
.ptile:active{transform:scale(var(--press-scale));background:var(--s3)}
.ptile:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--focus-soft),var(--focus-halo)}
.ptilecount{font-family:'DM Mono',monospace;font-size:var(--fs-label);color:var(--t3)}
/* SESSION STRIP */

/* TOOLS SCREEN */
.tool-card{transition:transform var(--press-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard),border-color var(--state-dur) var(--easing-standard)}
.tool-card:hover{background:var(--s3);border-color:rgba(255,255,255,0.10)}
.tool-card:active{transform:scale(var(--press-scale));background:var(--s3)}
.tool-card:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--focus-soft),var(--focus-halo)}
/* RHYME FINDER */
.rhyme-chip:active{transform:scale(0.96)}
.rhyme-chip.perfect{border-color:rgba(200,160,80,0.3);color:var(--gold);background:rgba(200,160,80,0.07)}
.rhyme-chip.slant{border-color:rgba(136,120,184,0.3);color:var(--dusk);background:rgba(136,120,184,0.07)}
.rhyme-chip.assonance{border-color:rgba(94,136,170,0.3);color:var(--slate);background:rgba(94,136,170,0.07)}
.rhyme-chip.consonance{border-color:rgba(78,158,144,0.3);color:var(--teal);background:rgba(78,158,144,0.07)}
/* SYLLABLE COUNTER */
.syl-stress.strong{background:var(--gold)}
.syl-stress.weak{background:var(--b3)}
.styler-tab{flex-shrink:0;padding:11px 16px;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.14em;text-transform:uppercase;color:var(--t3);cursor:pointer;border:none;border-bottom:2px solid transparent;white-space:nowrap;transition:all 0.15s;background:transparent;-webkit-appearance:none}
.styler-tab.active{color:var(--gold);border-bottom-color:var(--gold)}
.styler-section{padding:14px 20px 0}
.styler-label{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.18em;text-transform:uppercase;color:var(--t3);margin-bottom:8px}
.styler-chips{display:flex;flex-wrap:wrap;gap:6px}
/* V178: .stchip token-ized. Style chip with .on (gold) and .exclude (rose) variants. */
.stchip{
  padding:6px 13px;
  border-radius:18px;
  background:var(--s2);
  border:1px solid var(--b2);
  font-size:13px;
  color:var(--t2);
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:
    background-color var(--state-dur) var(--easing-standard),
    border-color var(--state-dur) var(--easing-standard),
    color var(--state-dur) var(--easing-standard),
    transform var(--press-dur) var(--easing-standard);
}
.stchip:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.12);color:var(--t1)}
.stchip:active{transform:scale(var(--press-scale))}
.stchip:focus-visible{outline:none;box-shadow:var(--focus-ring), var(--focus-soft), var(--focus-halo)}
.stchip.on{background:rgba(var(--gold-rgb), 0.12);border-color:rgba(var(--gold-rgb), 0.40);color:var(--gold)}
.stchip.on:hover{background:rgba(var(--gold-rgb), 0.16);border-color:rgba(var(--gold-rgb), 0.55)}
.stchip.exclude{background:rgba(var(--rose-rgb), 0.08);border-color:rgba(var(--rose-rgb), 0.30);color:var(--rose);text-decoration:line-through}
.stchip.exclude:hover{background:rgba(var(--rose-rgb), 0.12);border-color:rgba(var(--rose-rgb), 0.45)}
.styler-input{width:100%;background:var(--s2);border:1px solid var(--b2);border-radius:10px;padding:11px 14px;color:var(--t1);font-size:16px;font-family:'Outfit',sans-serif;outline:none;-webkit-appearance:none;margin-top:8px}
.styler-input:focus{border-color:rgba(200,160,80,0.5)}
.styler-textarea{width:100%;background:var(--s2);border:1px solid var(--b2);border-radius:10px;padding:11px 14px;color:var(--t1);font-size:16px;font-family:'Outfit',sans-serif;outline:none;resize:none;-webkit-appearance:none;min-height:90px;line-height:1.6;margin-top:8px}
.styler-textarea:focus{border-color:rgba(200,160,80,0.5)}

/* ═══════════════════════════════════════════════════════════════
   V301 SOUND DESIGNER — category workspace, live stage, vibes
   ═══════════════════════════════════════════════════════════════ */
.sd-aurora{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.sd-aurora::before{content:'';position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(var(--gold-rgb),0.08) 0%,transparent 55%);filter:blur(40px)}
.sd-aurora::after{content:'';position:absolute;bottom:-20%;left:-10%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(var(--sand-rgb),0.06) 0%,transparent 60%);filter:blur(60px)}
/* aurora z-index handled by the aurora div itself */
.sd-stage{margin:14px 20px 18px;padding:22px 20px 18px;border-radius:18px;background:linear-gradient(180deg,var(--s2) 0%,var(--s1) 100%);border:1px solid var(--b1);position:relative;overflow:hidden;transition:border-color var(--state-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard)}
.sd-stage.active{border-color:rgba(var(--gold-rgb),0.30);background:linear-gradient(180deg,rgba(var(--gold-rgb),0.05),var(--s1))}
.sd-stage::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),0.4),transparent);opacity:0;transition:opacity var(--state-dur)}
.sd-stage.active::before{opacity:1}
.sd-stage-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.sd-stage-kicker{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.18em;text-transform:uppercase;color:var(--t3);display:flex;align-items:center;gap:8px}
.sd-stage-kicker::before{content:'';width:14px;height:1px;background:currentColor}
.sd-stage.active .sd-stage-kicker{color:var(--gold)}
.sd-stage-ring{width:32px;height:32px;position:relative}
.sd-stage-ring svg{transform:rotate(-90deg);display:block}
.sd-stage-ring circle{fill:none;stroke-width:2.5}
.sd-stage-ring .bg{stroke:rgba(255,255,255,0.08)}
.sd-stage-ring .fg{stroke:var(--gold);stroke-linecap:round;transition:stroke-dashoffset 0.5s var(--easing-standard),stroke var(--state-dur)}
.sd-stage-ring.warn .fg{stroke:var(--copper)}
.sd-stage-ring.over .fg{stroke:var(--rose)}
.sd-stage-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:8px;color:var(--t3);letter-spacing:0.04em}
.sd-stage-prompt{font-family:'Fraunces',serif;font-weight:300;font-size:18px;line-height:1.4;color:var(--t1);min-height:48px;letter-spacing:-0.005em;text-wrap:pretty}
.sd-stage-prompt em{font-style:italic;color:var(--gold);font-weight:400}
.sd-stage-prompt .sep{color:var(--t4);margin:0 4px;font-style:normal}
.sd-stage-empty{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--t3);font-size:20px;line-height:1.35;font-weight:300}
.sd-stage-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.06)}
.sd-stage-clear,.sd-stage-shuffle{flex:1;background:transparent;border:1px solid var(--b2);color:var(--t3);font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.14em;text-transform:uppercase;padding:9px 12px;border-radius:10px;cursor:pointer;transition:color var(--state-dur) var(--easing-standard),border-color var(--state-dur) var(--easing-standard);display:flex;align-items:center;justify-content:center;gap:6px}
.sd-stage-clear:active,.sd-stage-shuffle:active{transform:scale(var(--press-scale))}
.sd-stage-clear:hover{color:var(--rose);border-color:rgba(var(--rose-rgb),0.4)}
.sd-stage-shuffle:hover{color:var(--gold);border-color:rgba(var(--gold-rgb),0.4)}
.sd-vibes{margin:10px 0 18px;position:relative}
.sd-vibes-head{display:flex;align-items:center;justify-content:space-between;margin:0 20px 12px;gap:12px}
.sd-vibes-head-right{display:flex;align-items:center;gap:10px}
.sd-vibes-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;font-weight:400;color:var(--t1)}
.sd-vibes-title::before{content:'— ';color:var(--gold);font-style:normal}
.sd-vibes-more{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.14em;text-transform:uppercase;color:var(--t4);background:none;border:none;cursor:pointer;transition:color var(--state-dur)}
.sd-vibes-more:hover{color:var(--gold)}
.sd-vibes-row{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:4px 20px 10px;scroll-snap-type:x mandatory}
.sd-vibes-row::-webkit-scrollbar{display:none}
.sd-vibe{flex-shrink:0;width:152px;scroll-snap-align:start;padding:10px 12px;border-radius:14px;background:linear-gradient(160deg,var(--s2) 0%,var(--s1) 100%);border:1px solid var(--b1);cursor:pointer;transition:border-color var(--state-dur) var(--easing-standard),transform var(--press-dur) var(--easing-standard);text-align:left;color:inherit;font-family:inherit;position:relative;overflow:hidden}
.sd-vibe::before{content:'';position:absolute;top:-30px;right:-30px;width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,var(--vibe-c,rgba(var(--gold-rgb),0.35)) 0%,transparent 70%);filter:blur(12px);opacity:0.6;transition:opacity var(--state-dur),transform var(--state-dur)}
.sd-vibe:hover::before{opacity:1;transform:scale(1.2)}
.sd-vibe:hover{border-color:rgba(var(--gold-rgb),0.30);transform:translateY(-2px)}
.sd-vibe:active{transform:translateY(0) scale(var(--press-scale))}
.sd-vibe.active{border-color:var(--gold);box-shadow:inset 0 0 0 0.5px rgba(var(--gold-rgb),0.3),0 0 20px -4px rgba(var(--gold-rgb),0.3)}
.sd-vibe-glyph{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--t4);margin-bottom:5px;position:relative;z-index:1}
.sd-vibe-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;font-weight:400;color:var(--t1);line-height:1.05;margin-bottom:4px;position:relative;z-index:1}
.sd-vibe-desc{font-size:11px;color:var(--t3);line-height:1.4;position:relative;z-index:1;font-family:'Fraunces',serif;font-weight:300;font-style:italic;min-height:28px}
.sd-workspace{margin:0 20px;padding:0;background:var(--s1);border:1px solid var(--b1);border-radius:18px;overflow:hidden}
.sd-catrail{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding:8px 8px 0;background:var(--s2);border-bottom:1px solid var(--b1)}
.sd-catrail::-webkit-scrollbar{display:none}
.sd-catbtn{padding:11px 12px 12px;border-radius:10px 10px 0 0;background:transparent;border:none;color:var(--t3);cursor:pointer;white-space:nowrap;font-family:'Outfit',sans-serif;font-size:12.5px;font-weight:400;transition:color var(--state-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard);display:flex;align-items:center;gap:6px;position:relative}
.sd-catbtn-dot{width:5px;height:5px;border-radius:50%;background:var(--t4);transition:background var(--state-dur)}
.sd-catbtn.has .sd-catbtn-dot{background:var(--gold);box-shadow:0 0 6px rgba(var(--gold-rgb),0.7)}
.sd-catbtn:hover{color:var(--t1)}
.sd-catbtn.on{color:var(--gold);background:var(--s1)}
.sd-catbtn.on::after{content:'';position:absolute;left:8px;right:8px;bottom:-1px;height:1px;background:var(--gold)}
.sd-catbtn-n{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.06em;color:var(--t4);transition:color var(--state-dur)}
.sd-catbtn.has .sd-catbtn-n{color:var(--gold)}
.sd-panel{padding:18px 16px 14px;min-height:200px;display:none;animation:sdFade .25s var(--easing-standard)}
.sd-panel.on{display:block}
@keyframes sdFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
.sd-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}
.sd-panel-title{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:400;font-size:24px;line-height:1.1;color:var(--t1);letter-spacing:-0.01em}
.sd-panel-count{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4)}
.sd-panel-count b{color:var(--gold);font-weight:400}
.sd-panel-hint{font-size:13px;color:var(--t4);margin-bottom:14px;font-style:italic;font-family:'Cormorant Garamond',serif;font-weight:400}
.sd-search{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:var(--bg);border:1px solid var(--b1);margin-bottom:12px}
.sd-search:focus-within{border-color:rgba(var(--gold-rgb),0.4)}
.sd-search svg{color:var(--t4);flex-shrink:0}
.sd-search input{flex:1;background:transparent;border:none;outline:none;color:var(--t1);font-size:16px;font-family:'Outfit',sans-serif;font-weight:300}
.sd-search input::placeholder{color:var(--t4)}
.stchip.sd-hidden{display:none}
.stchip.sd-genre-extra{display:none}
.stchip.sd-genre-extra.sd-show{display:inline-flex}
.sd-more-toggle{cursor:pointer}
#sb-instruments .stchip{padding-left:24px}
#sb-instruments .stchip::after{content:'+';position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--t4);font-weight:300;transition:color var(--state-dur);line-height:1}
#sb-instruments .stchip.on::after{content:'✓';color:var(--gold)}
#sb-instruments .stchip.exclude::after{content:'−';color:var(--rose)}
#sb-instruments .stchip:hover::after{color:var(--t2)}
.sd-vocal-matrix{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.sd-vocal-box{background:var(--bg);border:1px solid var(--b1);border-radius:12px;padding:10px;transition:border-color var(--state-dur)}
.sd-vocal-box.has-selection{border-color:rgba(var(--gold-rgb),0.28)}
.sd-vocal-box-label{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--t4);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.sd-vocal-box-label svg{opacity:0.7}
.sd-seg{display:flex;gap:2px;background:var(--bg);border:1px solid var(--b1);border-radius:10px;padding:2px}
.sd-seg.sd-seg-wrap{flex-wrap:wrap}
.sd-seg-btn{flex:1 1 auto;padding:7px 5px;border-radius:8px;background:transparent;border:none;color:var(--t3);font-family:'Outfit',sans-serif;font-size:12px;font-weight:400;cursor:pointer;transition:color var(--state-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard);white-space:nowrap;min-width:36px}
.sd-seg-btn:hover{color:var(--t1);background:var(--s2)}
.sd-seg-btn.on{background:rgba(var(--gold-rgb),0.12);color:var(--gold);box-shadow:inset 0 0 0 0.5px rgba(var(--gold-rgb),0.35)}
.sd-subhead{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--t4)}
.sd-subhead::after{content:'';flex:1;height:1px;background:rgba(255,255,255,0.06)}
.sd-era-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.sd-era-btn{text-align:center;font-size:12.5px;padding:10px 4px}
.sd-dock{padding:10px 20px 16px;background:var(--bg)}
.sd-dock-inner{display:flex;gap:8px}
.sd-dock .cta{flex:1}
.sd-dock-hint{text-align:center;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--t4);margin-top:6px}
.sd-result-wrap{margin:0 20px 24px;padding:22px 20px;border-radius:18px;background:linear-gradient(180deg,var(--s2),var(--s1));border:1px solid var(--b1)}
.sd-result-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.sd-result-label{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.14em;text-transform:uppercase;color:var(--t3)}
.sd-result-body{font-family:'Fraunces',serif;font-weight:300;font-size:16px;line-height:1.55;color:var(--t1);position:relative;padding-bottom:40px}
.sd-result-body .copybtn{position:absolute;bottom:0;right:0}
.sd-diagnosis{padding:12px 14px;background:var(--bg);border-radius:10px;border:1px solid var(--b1);font-size:14px;color:var(--t2);line-height:1.6;margin-bottom:14px}
.sd-loadrow{display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 6px;border-radius:999px;background:transparent;border:1px dashed var(--b2);color:var(--t3);cursor:pointer;font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:300;transition:color var(--state-dur),border-color var(--state-dur),background var(--state-dur);line-height:1}
.sd-loadrow:hover{color:var(--gold);border-color:rgba(var(--gold-rgb),0.45);border-style:solid;background:rgba(var(--gold-rgb),0.04)}
.sd-loadrow:active{transform:scale(var(--press-scale))}
.sd-loadrow-icon{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0;background:rgba(255,255,255,0.03);transition:background var(--state-dur)}
.sd-loadrow:hover .sd-loadrow-icon{background:rgba(var(--gold-rgb),0.10)}
.sd-loadrow-icon svg{width:10px;height:10px}
.sd-loadrow-title{color:inherit;font-weight:400;letter-spacing:0.005em}


/* THEME SWITCHER */
.theme-card{border-radius:12px;background:var(--s2);border:2px solid var(--b2);padding:10px;cursor:pointer;transition:transform var(--press-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard),border-color var(--state-dur) var(--easing-standard);text-align:center;user-select:none}
.theme-card:hover{background:var(--s3);border-color:rgba(255,255,255,0.14)}
.theme-card:active{transform:scale(var(--press-scale))}
.theme-card.active{border-color:var(--gold)}
.theme-card.active:hover{border-color:var(--gold2)}
.theme-card:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--focus-soft),var(--focus-halo)}
.theme-swatch{height:36px;border-radius:8px;margin-bottom:8px}
.theme-dot-row{display:flex;gap:4px;justify-content:center;margin-bottom:6px}
.theme-dot{width:8px;height:8px;border-radius:50%}
.theme-name{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.1em;text-transform:uppercase;color:var(--t3)}
.theme-card.active .theme-name{color:var(--gold)}
/* HUB JUMP NAV */
.hub-jumpnav{display:flex;gap:5px;padding:10px 20px;overflow-x:auto;scrollbar-width:none;flex-shrink:0}
.hub-jumpnav::-webkit-scrollbar{display:none}
/* V178: .hub-jump token-ized. Vault hub jump nav. .active = current section. */
.hub-jump{
  font-family:'DM Mono',monospace;
  font-size:var(--fs-label);
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:18px;
  border:1px solid var(--b2);
  color:var(--t3);
  background:var(--s2);
  cursor:pointer;
  white-space:nowrap;
  flex-shrink:0;
  -webkit-tap-highlight-color:transparent;
  transition:
    background-color var(--state-dur) var(--easing-standard),
    border-color var(--state-dur) var(--easing-standard),
    color var(--state-dur) var(--easing-standard),
    transform var(--press-dur) var(--easing-standard);
}
.hub-jump:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.12);color:var(--t2)}
.hub-jump:active{transform:scale(var(--press-scale))}
.hub-jump:focus-visible{outline:none;box-shadow:var(--focus-ring), var(--focus-soft), var(--focus-halo)}
.hub-jump.active{border-color:rgba(var(--gold-rgb), 0.35);color:var(--gold);background:rgba(var(--gold-rgb), 0.08)}
.hub-jump.active:hover{border-color:rgba(var(--gold-rgb), 0.50);background:rgba(var(--gold-rgb), 0.12)}
/* RANDOM GENERATOR */
.rng-btn:active{transform:scale(var(--press-scale));background:rgba(var(--gold-rgb), 0.14)}
.hack-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:9px 12px;user-select:none;gap:8px}
.hack-toggle:active{background:rgba(168,142,104,0.08)}
.hack-toggle-hint{font-size:11px;color:var(--t4);font-family:'Outfit',sans-serif;text-transform:none;letter-spacing:0}
.hack-panel{padding:4px 12px 12px;border-top:1px solid rgba(168,142,104,0.15)}
/* V178: .hack-chip token-ized. Suno hacks chips, .on uses sand color (intentional warm tone). */
.hack-chip{
  padding:5px 11px;
  border-radius:18px;
  background:var(--s2);
  border:1px solid var(--b2);
  font-size:13px;
  color:var(--t3);
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:
    background-color var(--state-dur) var(--easing-standard),
    border-color var(--state-dur) var(--easing-standard),
    color var(--state-dur) var(--easing-standard),
    transform var(--press-dur) var(--easing-standard);
}
.hack-chip:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.10);color:var(--t2)}
.hack-chip:active{transform:scale(var(--press-scale))}
.hack-chip:focus-visible{outline:none;box-shadow:var(--focus-ring), var(--focus-soft), var(--focus-halo)}
.hack-chip.on{background:rgba(168,142,104,0.15);border-color:rgba(168,142,104,0.45);color:var(--sand)}
.hack-chip.on:hover{background:rgba(168,142,104,0.20);border-color:rgba(168,142,104,0.55)}
/* V178: .sel-pill token-ized. */
.sel-pill{
  padding:5px 11px;
  border-radius:18px;
  background:var(--s3);
  border:1px solid var(--b3);
  font-size:13px;
  color:var(--t2);
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  transition:
    background-color var(--state-dur) var(--easing-standard),
    border-color var(--state-dur) var(--easing-standard),
    color var(--state-dur) var(--easing-standard),
    transform var(--press-dur) var(--easing-standard);
}
.sel-pill:hover{background:var(--s4);border-color:rgba(255,255,255,0.14)}
.sel-pill:active{transform:scale(var(--press-scale))}
.sel-pill:focus-visible{outline:none;box-shadow:var(--focus-ring), var(--focus-soft), var(--focus-halo)}
.sel-pill.picked{background:rgba(var(--gold-rgb), 0.12);border-color:rgba(var(--gold-rgb), 0.40);color:var(--gold)}
.sel-pill.picked:hover{background:rgba(var(--gold-rgb), 0.16);border-color:rgba(var(--gold-rgb), 0.55)}
/* HUB CARDS */
.hub-acc-head:hover{background:var(--s3)}
.hub-acc-head.open{background:var(--s2)}
.hub-acc-head.open .hub-acc-chev{transform:rotate(90deg)}
.hub-acc-head.open + .hub-acc-body{display:block}
.ex-card:last-child{margin-bottom:0}
.song-annotation:last-child{margin-bottom:0}

.hubcard:hover{border-color:var(--b3)}
.hubcard.open .hubcard-chev{transform:rotate(90deg)}
.hubcard.open .hubcard-body{display:block}
.rcard:active{background:var(--s3)}
/* PROFILE */
.profhdr{padding:16px var(--sp-page) var(--sp-xl);display:flex;flex-direction:column;align-items:center;text-align:center}
.avatar{width:72px;height:72px;border-radius:20px;background:transparent;border:none;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:12px}
.profname{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--t1);margin-bottom:4px}
.profsub{font-size:15px;color:var(--t2)}
/* ── Auth Chip & Card ── */
/* V179: .auth-chip token-ized. Sign-in pill (top-right of profile screen).
   Default = outlined neutral. .signed-in = solid gold circular avatar (initial). */
.auth-chip{
  position:absolute;
  top:16px;
  right:16px;
  background:var(--s2);
  border:1px solid var(--b2);
  border-radius:20px;
  padding:6px 14px;
  font-family:'DM Mono',monospace;
  font-size:11px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--t2);
  cursor:pointer;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  transition:
    background-color var(--state-dur) var(--easing-standard),
    border-color var(--state-dur) var(--easing-standard),
    color var(--state-dur) var(--easing-standard),
    transform var(--press-dur) var(--easing-standard);
}
.auth-chip:hover{border-color:rgba(var(--gold-rgb), 0.50);color:var(--t1);background:rgba(var(--gold-rgb), 0.04)}
.auth-chip:active{transform:scale(var(--press-scale))}
.auth-chip:focus-visible{outline:none;box-shadow:var(--focus-ring), var(--focus-soft), var(--focus-halo)}
.auth-chip.signed-in{width:32px;height:32px;padding:0;border-radius:50%;background:var(--gold);color:#000;font-family:'Outfit',sans-serif;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center;letter-spacing:0;text-transform:none;border:none}
.auth-chip.signed-in:hover{background:var(--gold2);box-shadow:0 0 12px rgba(var(--gold-rgb), 0.30)}
.auth-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:authFadeIn 0.2s ease}
@keyframes authFadeIn{from{opacity:0}to{opacity:1}}
.auth-card{background:var(--s1);border:1px solid var(--b2);border-radius:16px;padding:28px 24px;width:100%;max-width:340px;box-shadow:0 20px 60px rgba(0,0,0,0.5);animation:authSlideUp 0.25s ease}
@keyframes authSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.auth-card-title{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--t1);text-align:center;margin-bottom:4px}
.auth-card-sub{font-size:13px;color:var(--t3);text-align:center;margin-bottom:20px}
.auth-tabs{display:flex;gap:0;margin-bottom:16px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--b2)}
.auth-tab{flex:1;padding:10px;text-align:center;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.1em;text-transform:uppercase;background:var(--s2);color:var(--t3);cursor:pointer;border:none;transition:all 0.2s}
.auth-tab.active{background:var(--gold);color:#000}
.auth-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--b2);background:var(--s2);color:var(--t1);font-family:'Outfit',sans-serif;font-size:16px;margin-bottom:10px;box-sizing:border-box;outline:none;transition:border-color 0.2s}
.auth-input:focus{border-color:var(--gold)}
.auth-input::placeholder{color:var(--t4)}
.auth-btn{width:100%;padding:14px;border-radius:var(--radius-md);background:var(--gold);border:none;color:#000;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;font-weight:500;transition:opacity 0.2s}
.auth-btn:disabled{opacity:0.5;cursor:not-allowed}
.auth-error{color:#e06830;font-size:13px;margin-top:6px;text-align:center;min-height:18px}
.auth-signed-in-row{display:flex;align-items:center;gap:14px;margin:20px 0 16px}
.auth-user-avatar{width:40px;height:40px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-size:16px;font-weight:500;color:#000;flex-shrink:0}
.auth-user-email{font-size:15px;color:var(--t1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sync-status{font-size:12px;color:var(--t4);margin-top:3px;display:flex;align-items:center;gap:6px}
.sync-dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.sync-dot.synced{background:#4e9e90}
.sync-dot.pending{background:var(--gold)}
.sync-dot.offline{background:var(--t4)}
/* V179: .auth-signout-btn token-ized. Outlined ghost sign-out CTA. */
.auth-signout-btn{
  width:100%;
  padding:12px;
  border-radius:var(--radius-md);
  background:none;
  border:1px solid var(--b2);
  color:var(--t2);
  font-family:'DM Mono',monospace;
  font-size:var(--fs-label);
  letter-spacing:0.1em;
  text-transform:uppercase;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transition:
    background-color var(--state-dur) var(--easing-standard),
    border-color var(--state-dur) var(--easing-standard),
    color var(--state-dur) var(--easing-standard),
    transform var(--press-dur) var(--easing-standard);
}
.auth-signout-btn:hover{border-color:rgba(var(--gold-rgb), 0.50);color:var(--t1);background:rgba(var(--gold-rgb), 0.04)}
.auth-signout-btn:active{transform:scale(var(--press-scale))}
.auth-signout-btn:focus-visible{outline:none;box-shadow:var(--focus-ring), var(--focus-soft), var(--focus-halo)}

/* ── V308: Auth Modal — split-panel premium sign-in ──
   Mobile: single column, gold radial glow behind mark (candlelit warmth, zero layout cost).
   Desktop (≥768px): split panel — form left, atmospheric brand image right.
   Recovery + username overlays keep existing .auth-overlay/.auth-card styles unchanged. */
.auth-modal{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(5,5,5,0);
  backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);
  opacity:0;pointer-events:none;
  transition:background 0.4s ease, opacity 0.25s ease,
    backdrop-filter 0.4s ease, -webkit-backdrop-filter 0.4s ease;
}
.auth-modal.is-open{
  opacity:1;pointer-events:auto;
  background:rgba(5,5,5,0.88);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.auth-modal-container{
  display:flex;width:100%;max-width:400px;
  border-radius:20px;overflow:hidden;position:relative;
  background:var(--s1);border:1px solid var(--b2);
  transform:translateY(60px) scale(0.95);opacity:0;
  transition:transform 0.5s cubic-bezier(0.4,0,0.2,1), opacity 0.4s ease;
  box-shadow:0 40px 80px rgba(0,0,0,0.6);
}
.auth-modal.is-open .auth-modal-container{
  transform:translateY(0) scale(1);opacity:1;
}
.auth-modal-close{
  position:absolute;right:14px;top:14px;z-index:2;
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,0.06);border:none;
  color:var(--t3);font-size:18px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--state-dur) var(--easing-standard), color var(--state-dur) var(--easing-standard);
  -webkit-tap-highlight-color:transparent;
}
.auth-modal-close:hover{background:rgba(255,255,255,0.10);color:var(--t1)}
.auth-modal-close:active{transform:scale(var(--press-scale))}
.auth-modal-left{
  flex:1.5;padding:40px 24px 28px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;
}
/* Gold radial glow — candlelit atmosphere behind mark (mobile) */
.auth-modal-glow{
  position:absolute;top:-80px;left:50%;transform:translateX(-50%);
  width:320px;height:320px;
  background:radial-gradient(circle, rgba(var(--gold-rgb),0.14) 0%, rgba(var(--gold-rgb),0.05) 35%, transparent 65%);
  pointer-events:none;z-index:0;
  opacity:0;transition:opacity 0.8s ease 0.2s;
}
.auth-modal.is-open .auth-modal-glow{opacity:1}
.auth-modal-brand{
  position:relative;z-index:1;text-align:center;margin-bottom:20px;
}
.auth-modal-left .auth-card-title{
  position:relative;z-index:1;font-style:italic;font-weight:300;
}
.auth-modal-left .auth-card-title em{font-style:italic}
.auth-modal-left .auth-card-sub{position:relative;z-index:1}
.auth-modal-left .auth-tabs,
.auth-modal-left .auth-input,
.auth-modal-left .auth-btn,
.auth-modal-left .auth-error,
.auth-modal-left .auth-signed-in-row,
.auth-modal-left .auth-signout-btn{position:relative;z-index:1}

/* Right panel — desktop atmospheric image */
.auth-modal-right{
  flex:2;position:relative;overflow:hidden;display:none;
  /* Gold gradient fallback — visible when image fails to load (dev lane) */
  background:radial-gradient(ellipse at 50% 40%, rgba(var(--gold-rgb),0.10) 0%, rgba(var(--gold-rgb),0.03) 50%, var(--s1) 100%);
}
.auth-modal-img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.1);
  transition:transform 1.4s cubic-bezier(0.4,0,0.2,1) 0.1s;
}
.auth-modal.is-open .auth-modal-img{transform:scale(1)}
.auth-modal-mark-overlay{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg, rgba(5,5,5,0.15) 0%, rgba(5,5,5,0.5) 100%);
  pointer-events:none;
}
/* Desktop: show right panel + widen container */
@media(min-width:768px){
  .auth-modal-right{display:block}
  .auth-modal-container{max-width:720px}
  .auth-modal-left{padding:52px 36px 36px}
  .auth-modal-glow{display:none}
}

.statsrow{display:flex;gap:10px;padding:0 20px 22px}
.statcard{flex:1;padding:14px 10px;border-radius:14px;background:var(--s2);border:1px solid var(--b1);text-align:center}
.statnum{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--gold);line-height:1;margin-bottom:3px}
.statlabel{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.12em;text-transform:uppercase;color:var(--t3)}
.setlist{padding:0 20px}
.setgroup{margin-bottom:22px}
.setgrouplabel{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:0.2em;text-transform:uppercase;color:var(--t4);padding:0 4px 10px}
.setitem{display:flex;align-items:center;padding:13px 16px;border-radius:12px;background:var(--s2);border:1px solid var(--b1);margin-bottom:6px;cursor:pointer;gap:12px;transition:transform var(--press-dur) var(--easing-standard),background var(--state-dur) var(--easing-standard),border-color var(--state-dur) var(--easing-standard)}
.setitem:hover{background:var(--s3);border-color:rgba(255,255,255,0.10)}
.setitem:active{transform:scale(var(--press-scale));background:var(--s3)}
.setitem:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--focus-soft),var(--focus-halo)}
.setitemicon{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;color:rgba(255,255,255,0.5)}
.setitemicon svg{width:18px;height:18px}
.setitemtitle{font-size:15px;color:var(--t1);flex:1}
.setitemsub{font-size:13px;color:var(--t3);margin-top:1px}
/* ════════════════════════════════════════════════════════
   V172 TOGGLE SYSTEM — PHASE C5 (final Phase C ship)
   Per PDF research spec: gold-tinted track + growing thumb + glow as the
   non-color state signal. No green/red. Works for users with color-vision
   issues (the size/glow change communicates state independent of hue).
   Backward compatible — all 5 existing toggles (.toggle / .tknob with .on
   class swap) work without JS changes.
   ════════════════════════════════════════════════════════ */
.toggle {
  width: 44px;
  height: 26px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  transition:
    background-color var(--state-dur) var(--easing-standard),
    border-color var(--state-dur) var(--easing-standard),
    transform var(--press-dur) var(--easing-standard);
}
.toggle:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
}
.toggle:active {
  transform: scale(var(--press-scale));
}
.toggle:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring), var(--focus-soft), var(--focus-halo);
}
/* Off-state thumb */
.tknob {
  position: absolute;
  top: 50%;
  left: 4px;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  transition:
    transform var(--state-dur) var(--easing-standard),
    width var(--state-dur) var(--easing-standard),
    height var(--state-dur) var(--easing-standard),
    margin-top var(--state-dur) var(--easing-standard),
    background-color var(--state-dur) var(--easing-standard),
    box-shadow var(--state-dur) var(--easing-standard);
}
.toggle:hover .tknob {
  background: rgba(255, 255, 255, 0.60);
  width: 16px;
  height: 16px;
  margin-top: -8px;
}
/* On-state — gold-tinted track, gold thumb that grows + glows */
.toggle.on {
  background: rgba(var(--gold-rgb), 0.22);
  border-color: rgba(var(--gold-rgb), 0.42);
}
.toggle.on:hover {
  background: rgba(var(--gold-rgb), 0.28);
  border-color: rgba(var(--gold-rgb), 0.52);
}
.toggle.on .tknob {
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background: rgb(var(--gold-rgb));
  transform: translateX(17px);
  box-shadow: 0 0 8px rgba(var(--gold-rgb), 0.40);
}
.toggle.on:hover .tknob {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  transform: translateX(15px);
  box-shadow: 0 0 12px rgba(var(--gold-rgb), 0.55);
}
/* Disabled state — both off and on get muted */
.toggle.disabled,
.toggle[aria-disabled="true"] {
  opacity: 0.30;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .toggle, .tknob { transition: none; }
}
