/* Verde Sonora skin for Track Generator — loads AFTER app.min.css; no JS/markup logic touched */
:root{--e:cubic-bezier(.16,1,.3,1);--au:#b9a173;--font:'Manrope','Helvetica Neue',Arial,sans-serif;--serif:'Cormorant Garamond',Georgia,serif}
html[data-theme="midnight"]{--bg:#0d0f0e;--panel:#131715;--panel-hi:#1a201d;--border:#232a26;--border-hi:#34403a;--text:#e9e6dc;--text-dim:#98a099;--text-mute:#667068;--accent:#6fa886;--accent-hi:#8cc4a2;--alt:#b9a173;--warn:#b9a173;--cyan-dim:rgba(111,168,134,.14);--pr-bg:#101412;--pr-grid:rgba(200,215,205,.13);--pr-bar:rgba(111,168,134,.3);--pr-key-w:#e4e1d6;--pr-key-b:#171c19;--pr-note-glow:.55}
html[data-theme="carbon"]{--bg:#0e0d0b;--panel:#171512;--panel-hi:#1f1c18;--border:#2b2721;--border-hi:#3d372e;--text:#ece7db;--text-dim:#a09886;--text-mute:#6e6859;--accent:#b9a173;--accent-hi:#d3bf93;--alt:#6fa886;--warn:#b9a173;--cyan-dim:rgba(185,161,115,.14);--pr-bg:#13110e;--pr-grid:rgba(220,205,170,.13);--pr-bar:rgba(185,161,115,.32);--pr-key-w:#e8e2d2;--pr-key-b:#1a1814;--pr-note-glow:.55}
html[data-theme="slate"]{--bg:#09110e;--panel:#101b16;--panel-hi:#16241d;--border:#1f3028;--border-hi:#2e4639;--text:#e4ebe3;--text-dim:#8fa597;--text-mute:#5f7568;--accent:#5f9c7a;--accent-hi:#7fbb99;--alt:#b9a173;--warn:#b9a173;--cyan-dim:rgba(95,156,122,.15);--pr-bg:#0c1712;--pr-grid:rgba(170,210,185,.14);--pr-bar:rgba(95,156,122,.34);--pr-key-w:#dfe8de;--pr-key-b:#13201a;--pr-note-glow:.6}
html[data-theme="dawn"]{--bg:#ece8dc;--panel:#f6f3ea;--panel-hi:#efebdf;--border:#d4ccb6;--border-hi:#b8ae92;--text:#1b221e;--text-dim:#4d564f;--text-mute:#79816f;--accent:#2f5a45;--accent-hi:#3f7358;--alt:#8c7747;--warn:#8c7747;--au:#8c7747;--pr-bg:#f1eee3;--pr-grid:rgba(40,60,48,.14);--pr-bar:rgba(47,90,69,.28);--pr-key-w:#fbf9f2;--pr-key-b:#2c3a32;--pr-note-glow:.8}
html body{font-family:var(--font);font-weight:300;font-size:14px;line-height:1.75;letter-spacing:.01em}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40% 35% at 78% 8%,rgba(111,168,134,.14),transparent 70%),radial-gradient(45% 40% at 8% 92%,rgba(47,90,69,.2),transparent 70%),radial-gradient(22% 18% at 50% 55%,rgba(185,161,115,.05),transparent 70%)}
html[data-theme="dawn"] body:before{opacity:.5}
.container{animation:vfade 1.8s var(--e) both}@keyframes vfade{from{opacity:0;transform:scale(1.015) translateY(10px)}to{opacity:1;transform:none}}
/* header */
.site-top{border-bottom:1px solid var(--border);padding-bottom:22px}
.logo-link{font-family:var(--serif);font-weight:300;font-size:22px;letter-spacing:.38em;text-transform:uppercase}
.logo-mark{color:var(--au);font-size:12px}
.logo-sub{font:300 9px var(--font);letter-spacing:.38em;text-transform:uppercase;color:var(--text-mute);margin-top:4px}
.version,.home-link{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--au)}
.home-link{color:var(--text-dim);transition:color 1s var(--e)}.home-link:hover{color:var(--text)}
.site-lang button,.explain-toggle{background:none;border:1px solid transparent;border-radius:0;color:var(--text-mute);font:400 10px var(--font);letter-spacing:.25em;transition:all 1s var(--e)}
.site-lang button:hover,.explain-toggle:hover{color:var(--text)}.site-lang button.active,.explain-toggle.on{color:var(--text);border-bottom-color:var(--au)}
/* headings & labels */
.label,.prompt-header,.prompt-subhead,.var-accomp-lbl{font:400 10px var(--font);letter-spacing:.32em;text-transform:uppercase;color:var(--accent)}
h1,h2,h3,.modal-card h2,.modal-card h3{font-family:var(--serif);font-weight:300;letter-spacing:.06em}
/* tabs */
.mode-tabs,.view-switch{gap:6px;background:none;border:0;border-radius:0}
.mode-tab,.view-btn{background:none;border:0;border-bottom:1px solid transparent;border-radius:0;color:var(--text-dim);font:400 11px var(--font);letter-spacing:.24em;text-transform:uppercase;padding:12px 16px;transition:color 1s var(--e),border-color 1s var(--e)}
.mode-tab:hover,.view-btn:hover{color:var(--text);border-bottom-color:var(--border-hi)}
.mode-tab.active,.view-btn.active{background:none;color:var(--text);border-bottom-color:var(--au);box-shadow:none}
.lib-count{background:var(--au);color:#0d0f0e;border-radius:0}
/* surfaces */
.config-panel,.prompt-card,.var-card,.lib-card,.modal-card,.set-dna-panel,.feedback-block,.mode-panel,.midi-bar,.lab-orig-preview,.var-accomp-panel,.dna-track{background:var(--panel);border:1px solid var(--border);border-radius:0;box-shadow:none}
.config-panel,.prompt-card,.modal-card{padding:clamp(20px,3vw,40px)}
.lib-card,.var-card{transition:border-color 1.2s var(--e),transform 1.2s var(--e)}
.lib-card:hover,.var-card:hover{border-color:var(--au);transform:translateY(-2px)}
.genre-check,.role-chip,.sec-chip,.explain-tip,.pr-studio,.pr-studio-top,.pr-studio-bottom{border-radius:0}
.genre-check,.role-chip,.sec-chip{border-color:var(--border-hi);letter-spacing:.08em;transition:all 1s var(--e)}
.genre-check:hover,.role-chip:hover,.sec-chip:hover{border-color:var(--au)}
.explain-tip{background:rgba(0,0,0,.88);border:1px solid var(--au);color:#e9e6dc;letter-spacing:.03em}
/* buttons */
.generate-btn{isolation:isolate;position:relative;overflow:hidden;background:transparent;color:var(--text);border:1px solid var(--au);border-radius:0;font:400 11px var(--font);letter-spacing:.36em;text-transform:uppercase;padding:20px 44px;box-shadow:none;transition:color 1s var(--e),border-color 1s var(--e)}
.generate-btn:before{content:"";position:absolute;inset:0;background:var(--au);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--e);z-index:-1}
.generate-btn:hover{background:transparent;color:#0d0f0e}.generate-btn:hover:before{transform:scaleX(1)}
.generate-btn:active{transform:none}
.generate-btn:disabled{background:transparent;border-color:var(--border);color:var(--text-mute)}.generate-btn:disabled:before{display:none}
.mini-btn,.action-btn,.copy-btn,.dna-btn,.var-play,.pr-studio-top button,.fb-stars-pick button{background:none;border:1px solid var(--border-hi);border-radius:0;color:var(--text-dim);font:400 10px var(--font);letter-spacing:.2em;text-transform:uppercase;transition:color 1s var(--e),border-color 1s var(--e),background 1s var(--e)}
.mini-btn:hover,.action-btn:hover,.copy-btn:hover,.dna-btn:hover,.var-play:hover,.pr-studio-top button:hover{background:none;border-color:var(--au);color:var(--text)}
/* fields */
select,textarea,input[type="text"],input[type="number"]{background:transparent;border:0;border-bottom:1px solid var(--border-hi);border-radius:0;color:var(--text);font-family:var(--font);font-weight:300;transition:border-color 1s var(--e)}
textarea{border:1px solid var(--border);padding:14px}
select:focus,textarea:focus,input:focus{outline:0;border-color:var(--au);box-shadow:none}
input[type="range"],.weight-slider{accent-color:var(--accent)}
.weight-value{font-family:var(--serif);font-size:18px;color:var(--au)}
::selection{background:var(--accent);color:#0d0f0e}
*{scrollbar-width:thin;scrollbar-color:var(--border-hi) transparent}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition-duration:.01s!important}}
