:root{color-scheme:dark;--bg:#0f1014;--panel:#1a1b21;--panel2:#24252d;--border:#34353e;--line:#2e3038;--ink:#f4f4f6;--muted:#a6a7b0;--orange:#ff8254;--orange2:#ff5b6c;--green:#72d9ae;--radius:12px}*{box-sizing:border-box}html,body{padding:0;margin:0;min-height:100%}body{font:13px/1.6 'Pretendard','Noto Sans KR','Malgun Gothic',system-ui,sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{color:var(--ink)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--orange);outline-offset:2px}a{color:#ffad8f;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin-top:0}.app-shell{display:grid;grid-template-columns:215px minmax(360px,1fr) 337px;height:100vh;min-height:680px;overflow:hidden}.sidebar{background:#17181e;border-right:1px solid var(--line);padding:22px 12px 12px;display:flex;flex-direction:column;min-height:0}.brand{display:flex;gap:9px;align-items:center;padding:6px 10px 32px;font-weight:850;letter-spacing:.2px;font-size:15px;white-space:nowrap}.brand strong{color:var(--orange)}.brand small{display:block;font-weight:400;color:#9696a2;font-size:12px;letter-spacing:0}.logo-glyph{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:22px;color:#21161a;background:linear-gradient(140deg,#ffa15d,#f35470);flex-shrink:0}.side-caption{color:#747783;font-size:12px;letter-spacing:1.3px;margin:7px 10px 12px;font-weight:700}.side-nav{display:flex;flex-direction:column;gap:4px}.side-nav button{background:transparent;border:0;border-radius:10px;padding:12px 13px;text-align:left;color:#aaaab5;font-weight:650;display:flex;align-items:center;gap:12px;white-space:nowrap}.side-nav button:hover{background:#292a32;color:#fff}.side-nav button.active{background:#3a2b27;color:#ffcaab}.nav-icon{font-size:18px;width:19px;display:inline-block;text-align:center}.sidebar-bottom{margin-top:auto;padding:12px 5px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:13px}.small-card{background:#22232a;border:1px solid #32333c;border-radius:10px;padding:12px;font-size:12px;color:#cfd0d7}.small-card small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.signal{width:7px;height:7px;background:#72d9ae;display:inline-block;border-radius:50%;margin-right:5px;vertical-align:middle}.admin-link,.build-version{font-size:12px;color:#999ba5;padding-left:5px}.main-area{min-width:0;min-height:0;display:flex;flex-direction:column}.topbar{height:67px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0;padding:0 28px;border-bottom:1px solid var(--line);background:#15161a}.crumb{font-weight:850;color:var(--orange);white-space:nowrap}.crumb span{padding:0 7px;color:#5b5d66}.crumb b{color:#e9e8eb}.top-right{display:flex;align-items:center;gap:20px;color:#a6a5ae}.top-status{font-size:12px}.top-right a{color:#e3e1e6;font-size:12px}.page-content{min-width:0;overflow-y:auto;padding:30px 30px 55px;scrollbar-color:#42424a transparent;scrollbar-width:thin}.output-panel{border-left:1px solid var(--border);background:#1b1c22;min-width:0;overflow-y:auto;padding:24px 20px 28px;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:#44444c transparent}.output-head,.flex-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.output-head{font-size:12px;font-weight:900;letter-spacing:.9px;margin-bottom:10px}.live-dot{font-size:12px;color:var(--green)}.text-muted,.muted{color:var(--muted)}.text-muted{font-size:12px;line-height:1.8}.eyebrow{color:#ffb396;font-size:12px;font-weight:800;letter-spacing:1.5px}.page-title{font-size:26px;font-weight:900;letter-spacing:-1px;line-height:1.3;margin:0 0 8px}.page-subtitle{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 25px}.section-title{font-size:15px;font-weight:800;letter-spacing:-.3px;margin-bottom:12px}.muted-caption{font-size:12px;color:#a1a1ac}.panel-card{border-radius:var(--radius);background:var(--panel);border:1px solid var(--border);padding:18px;margin-bottom:14px}.panel-card h3{font-size:14px;letter-spacing:-.2px;margin-bottom:3px}.panel-card .desc{font-size:12px;color:#a8a7b2;margin:0 0 13px}.divider{border:0;height:1px;background:var(--border);margin:18px 0}.hero{border:1px solid #674339;border-radius:17px;padding:27px;background:radial-gradient(ellipse at 12% 115%,#a34c35,#35242d 48%,#231e28 95%);position:relative;overflow:hidden;margin-bottom:25px}.hero:after{content:'♫';position:absolute;top:-22px;right:10px;line-height:1;font-size:175px;color:rgba(255,159,88,.1);transform:rotate(-12deg)}.hero h1{font-size:30px;line-height:1.26;letter-spacing:-1.3px;position:relative;z-index:1;margin:11px 0}.hero p{font-size:13px;color:#e5bcb0;position:relative;z-index:1;max-width:470px}.hero button{position:relative;z-index:1}.btn{border-radius:9px;border:1px solid #494852;color:#f0eff3;background:#2b2c35;padding:9px 13px;font-size:12px;font-weight:750;min-height:37px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{border-color:#b17c68}.btn.primary{background:linear-gradient(110deg,#ff9559,#fa5c6a);color:#261916;border-color:transparent}.btn.primary:hover{filter:brightness(1.08)}.btn.soft{background:#483027;border-color:#bf6f4f;color:#ffc6a8}.btn.ghost{background:transparent}.btn.danger{color:#ffb7b7}.btn:disabled{opacity:.5;cursor:not-allowed}.block{width:100%}.tiny{font-size:12px;padding:5px 8px;min-height:28px}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.pill{padding:7px 13px;font-size:12px;border-radius:30px;border:1px solid #41424b;background:#25262e;color:#cccad1}.pill.active{background:var(--orange);border-color:var(--orange);color:#271811;font-weight:800}.grid-preset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.preset{background:#202128;border:1px solid #383942;border-radius:12px;padding:16px;min-width:0;min-height:145px;display:flex;flex-direction:column;text-align:left;color:#fff;transition:border-color .12s,background .12s}.preset:hover,.preset.active{border-color:#fa8457;background:#352723}.preset .emoji{font-size:28px}.preset b{font-size:13px;margin-top:auto}.preset span.meta{font-size:12px;color:#aaa6af;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-row{display:flex;gap:8px;margin-bottom:14px}.search-row .field{flex:1}.field{border:1px solid #464650;border-radius:9px;background:#24252d;padding:10px 12px;width:100%;max-width:100%;outline:none;font-size:13px}.field:focus{border-color:#ff8657}.field::placeholder{color:#848692}.field.textarea{line-height:1.7;resize:vertical}.field:read-only{opacity:.95}.field-label{display:block;font-size:12px;font-weight:800;margin:0 0 7px}.helper{font-size:12px;color:#9798a3;margin:7px 0 0}.chip-list{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid #464651;border-radius:8px;color:#d5d5dc;background:#282932;padding:8px 10px;font-size:12px;min-height:34px}.chip.on{color:#ffcab0;background:#57352c;border-color:#ff8254}.chip:hover{border-color:#d08462}.group-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:11px}.group-heading h3{margin:0}.selected-label{background:#412f29;border:1px solid #885943;color:#ffb48f;padding:5px 9px;font-size:12px;border-radius:7px;display:inline-block}.badge{background:#303039;color:#cecdd4;padding:4px 8px;border-radius:6px;font-size:12px;white-space:nowrap}.badge.good{background:#24382f;color:#98dfb7}.badge.orange{background:#513127;color:#ffb793}.preview-box{border:1px solid #41414d;border-radius:11px;background:#24252e;padding:13px;color:#e0dfe6;line-height:1.85;font-size:12px;word-break:break-word;white-space:pre-wrap}.output-panel textarea{min-height:240px;resize:vertical}.output-actions{margin-top:14px;display:flex;flex-direction:column;gap:8px}.right-bottom{margin-top:auto;padding-top:17px}.callout{font-size:12px;line-height:1.8;border-radius:10px;background:#24342e;border:1px solid #395448;color:#afdec3;padding:12px;margin-top:14px}.warning{background:#332b29;border-color:#674b3f;color:#eac6af}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.stat{background:#25262e;border:1px solid #42434a;border-radius:11px;padding:16px}.stat strong{font-size:25px;display:block;line-height:1.3}.stat span{font-size:12px;color:#aaa9b4}.tab-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:18px}.tab-button{border-radius:8px;border:1px solid #44444e;background:#272830;color:#b6b5bf;padding:10px 15px;font-size:12px;font-weight:800}.tab-button.active{border-color:#ff8455;background:#523327;color:#ffcfb5}.topic-list{display:flex;flex-wrap:wrap;gap:7px;margin:9px 0}.topic-chip{background:#282932;color:#d9d7de;border:1px solid #464650;border-radius:22px;padding:8px 12px;font-size:12px}.topic-chip.active{background:#603c30;border-color:#fd8655;color:#ffdabf}.tag-note{background:#202a28;color:#a9d9be;border:1px solid #365449;padding:8px 10px;font-size:12px;border-radius:8px}.lyric-block{background:#1b1c22;border:1px solid #353640;border-radius:12px;padding:15px;margin:0 0 12px}.lyric-block-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;color:#ffb48e;font-size:13px;font-weight:900}.lyric-block textarea{min-height:92px}.saved-card{border:1px solid #393a43;background:#1d1e24;border-radius:11px;padding:17px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px}.saved-name{font-size:14px;font-weight:800}.table-scroll{max-width:100%;overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px;min-width:560px}.data-table td,.data-table th{padding:11px 9px;text-align:left;border-bottom:1px solid #353640;vertical-align:top;max-width:280px;overflow-wrap:anywhere}.data-table th{color:#b0aeb9;background:#25262c}.data-table .btn{padding:4px 7px;min-height:27px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid label{display:block;font-size:12px;color:#cccad3}.form-grid label.wide{grid-column:1/-1}.form-grid input,.form-grid textarea,.form-grid select{margin-top:5px}.pagination{display:flex;gap:7px;align-items:center;justify-content:flex-end;margin-top:14px}.toast{position:fixed;left:50%;bottom:21px;transform:translateX(-50%) translateY(15px);opacity:0;z-index:100;background:#faf5ef;color:#2e231e;padding:12px 17px;border-radius:10px;transition:all .15s;pointer-events:none;box-shadow:0 14px 40px #0008;font-weight:750}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.screen-loading{display:flex;align-items:center;gap:10px;color:#b4b3bd;padding:35px}.spinner{height:18px;width:18px;border:2px solid #5e5c62;border-top-color:var(--orange);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty{padding:45px 16px;color:#a5a5ae;text-align:center;border:1px dashed #45444d;border-radius:13px}.mobile-tabs,.mobile-menu{display:none}.auth-body{display:grid;min-height:100vh;place-items:center;padding:22px}.login-box{width:min(440px,100%);background:#1d1e24;border:1px solid #3d3d48;padding:32px;border-radius:16px}.login-box h1{margin:13px 0 2px}.login-box p{color:#a6a5ae}.login-box input{background:#272830;color:#fff;border:1px solid #484850;border-radius:9px;width:100%;padding:12px;margin:5px 0 10px}.login-box label{display:block;font-weight:800;font-size:12px}.login-box a{display:inline-block;margin-top:17px}.alert{padding:10px 13px;margin:10px 0;border-radius:8px;background:#2a312e;color:#b5e7c6}.alert.error{background:#3a292a;color:#ffc0c0}table{border-spacing:0}
@media(max-width:1200px){.app-shell{grid-template-columns:176px minmax(340px,1fr) 285px}.sidebar{padding:16px 7px}.brand{padding:6px 4px 24px;font-size:13px}.page-content{padding:23px 19px 40px}.output-panel{padding:20px 14px}.grid-preset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:880px){.app-shell{grid-template-columns:145px minmax(320px,1fr) 245px}.side-nav button{font-size:12px;gap:6px;padding:12px 5px}.sidebar .brand{letter-spacing:-.8px}.page-content{padding:18px 12px}.output-panel{padding:15px 12px}}
@media(max-width:720px){.app-shell{height:auto;min-height:100vh;display:flex;flex-direction:column;overflow:visible}.sidebar{display:none}.main-area{overflow:visible;min-height:0}.topbar{height:58px;padding:0 16px}.mobile-menu{display:none}.mobile-tabs{display:flex;overflow-x:auto;background:#191a20;flex-shrink:0;white-space:nowrap;border-bottom:1px solid #303139;padding:10px 12px;gap:7px;scrollbar-width:none}.mobile-tabs button{border:1px solid #3c3d46;border-radius:8px;padding:8px 11px;background:#292a32;color:#d2d1d8;font-size:12px}.mobile-tabs button.active{border-color:#ff885c;background:#4c3229;color:#ffd1b6}.top-right .top-status{display:none}.page-content{padding:20px 15px;overflow:visible}.output-panel{border-left:0;border-top:1px solid #45414a;padding:21px 16px;overflow:visible}.output-panel textarea{min-height:170px}.hero{padding:21px}.hero h1{font-size:25px}.grid-preset{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:1fr 1fr}.saved-card{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}}

/* v1.0.2: Song-language selector (Studio Pro theme) */
.language-panel{border-color:#674336;background:linear-gradient(135deg,#231f24,#1a1b21)}
.language-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.language-option{min-width:0;min-height:77px;border:1px solid #44444f;background:#282932;color:#f4f2f4;border-radius:11px;display:flex;flex-direction:column;justify-content:center;gap:4px;align-items:center;padding:10px 5px;font-size:13px;font-weight:800}
.language-option small{font-size:12px;color:#b3afb8;font-weight:500}
.language-option.active{background:#563528;border-color:#ff8254;color:#ffccac;box-shadow:inset 0 0 0 1px #ff825455}
.language-option:hover{border-color:#ff946c}
@media(max-width:510px){.language-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.language-option{font-size:12px;padding:8px 2px}.language-option small{font-size:12px}}

/* v1.0.5: easy-to-find broad genres, while detailed genres remain searchable. */
.featured-genre-section{border:1px solid #594438;background:#262127;border-radius:11px;padding:13px;margin:2px 0 15px}
.featured-genre-title{font-size:13px;color:#ffd0b6}
.featured-genre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px}
.featured-genre-chip{display:flex;align-items:center;justify-content:center;text-align:center;min-height:37px;padding:7px 8px;color:#e2dce0;background:#303039;border:1px solid #50484c;border-radius:9px;font-size:12px;font-weight:700;word-break:keep-all}
.featured-genre-chip.on{background:#603b2e;color:#ffceb5;border-color:#ff8b58}
.featured-genre-chip:hover{border-color:#ff9365}
@media(max-width:700px){.featured-genre-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v1.0.6: integrated Song Creation Kit */
.kit-steps{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:17px}
.kit-steps span{border:1px solid #624c42;background:#2c272b;color:#e8c1ac;padding:8px 12px;border-radius:20px;font-size:12px;font-weight:750}
.kit-section{border-color:#3c3a42}
.kit-section h3{font-size:14px}
.kit-field-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:10px}
.kit-field-actions .helper{margin-right:auto;max-width:100%}
.kit-languages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.kit-lang{border:1px solid #45444e;background:#282930;border-radius:9px;padding:9px 7px;color:#d6d1d6;font-size:12px;font-weight:750;min-height:41px}
.kit-lang.active{background:#5b392c;border-color:#ff8e60;color:#ffd2b4}
.kit-footer{background:linear-gradient(120deg,#302629,#1b1c21);border-color:#754d3b}
.kit-side-row{border-bottom:1px solid #36363e;padding:12px 0}
.kit-side-row b{font-size:13px}
.kit-side-preview{margin-top:9px;border:1px solid #34343f;background:#24252d;border-radius:8px;padding:9px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;color:#b8b4bc;max-height:110px;overflow-y:auto}
#kitStyle{min-height:140px}
#kitLyrics{min-height:220px}
@media(max-width:480px){.kit-field-actions .btn{flex:1}.kit-steps{gap:5px}.kit-steps span{padding:6px 8px}.kit-languages{gap:5px}}

/* v1.0.8 Lyrics composer, drag handles, localized lyric length guide. */
.lyric-structure-panel .lyric-structure-row{display:flex;gap:9px;align-items:stretch}
.lyric-structure-row .field{flex:1;min-width:0}
.lyric-structure-row .btn{flex:0 0 auto}
.lyric-block-title{align-items:flex-start;flex-wrap:wrap}
.lyric-heading{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.lyric-grip{font-size:19px;color:#ffab81;cursor:grab;user-select:none;line-height:1}
.lyric-order{font-size:12px;color:#9b9aa6;font-weight:500}
.lyric-tools{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.lyric-tools .btn{min-height:32px}
.lyric-sortable{transition:border-color .12s,opacity .12s}
.lyric-sortable.is-dragging{opacity:.45}
.lyric-sortable.is-drop-target{border-color:#ff9767;outline:2px dashed #ff9767}
.lyric-diagnostics{margin-top:9px;min-height:21px;font-size:12px}
.lyric-quality{font-size:12px;display:inline-block;border-radius:7px;padding:3px 8px}
.lyric-quality.good{color:#b0e4c7;background:#1f3d32}
.lyric-quality.caution{color:#ffcca9;background:#503326}
.lyric-quality.neutral{color:#bbb8c5;background:#292931}
.lyric-quality-list{color:#d6beae;padding:7px 9px;line-height:1.8;background:#302b2b;border-radius:8px;margin-top:5px}
@media(max-width:560px){.lyric-structure-panel .lyric-structure-row{align-items:stretch}.lyric-structure-row .btn{white-space:normal;max-width:110px}.lyric-block-title{display:block}.lyric-tools{margin-top:9px;justify-content:flex-start}.lyric-tools .btn{min-height:36px}}


/* v1.0.9 - conflict guidance + style variations */
.studio-conflict-panel{border-color:#5e514b}.studio-check{padding:11px 12px;border-radius:9px;font-size:12px;line-height:1.6;margin:8px 0}.studio-check.ok{background:#1c332c;border:1px solid #3b6551;color:#b4e5cc}.studio-check.summary{background:#382b24;border:1px solid #6d4d39;color:#ffcfb0}.studio-issue{background:#28262b;border:1px solid #5e4b40;border-radius:10px;padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:9px;min-width:0}.studio-issue b{color:#ffd1b3;font-size:12px}.studio-issue.critical{border-color:#ad6466;background:#38262a}.studio-issue .helper{margin:6px 0 0;line-height:1.5}.studio-issue .btn{flex:0 0 auto}.studio-variant-panel{border-color:#5c4841}.studio-variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.studio-variant-button{white-space:normal;min-height:42px}.studio-variant-button.selected{border-color:#ff966d;background:#583528;color:#ffd8c3}.studio-variant-placeholder{border:1px dashed #51505c;color:#aaa7b3;padding:16px;border-radius:10px;font-size:12px;line-height:1.8}.studio-variant-meta{font-size:12px;color:#ffbc94;font-weight:800;margin:12px 0 9px}.studio-variant-meta .helper{margin-left:8px;font-weight:500}.studio-variant-text{min-height:135px}.studio-inspector-status{border:1px solid #366050;background:#20332a;color:#a8e2bc;padding:7px 10px;font-size:12px;border-radius:8px;margin:8px 0 12px}.studio-inspector-status.attention{background:#3b2b26;border-color:#835943;color:#ffcfaf}@media(max-width:560px){.studio-variant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-issue{flex-direction:column}.studio-issue .btn{align-self:flex-start}}

/* v1.1.0 Suno helper options */
.studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
.studio-choice{white-space:normal;min-height:40px;text-align:center}
.studio-choice.selected,.addon-option.selected{background:#5a372d;border-color:#ff8657;color:#ffd1b8}
@media(max-width:490px){.studio-grid{grid-template-columns:1fr 1fr}}

/* v1.1.1 vocal detail */
.addon-subgroup{border-top:1px solid #393944;padding:13px 0}.addon-subgroup>b{font-size:12px;color:#ffbf9e}.addon-option{white-space:normal;min-height:35px}

/* v1.1.3 project history */
.project-version-list{margin-top:14px;max-height:360px;overflow-y:auto}.project-version-list .saved-card{padding:11px}

/* v1.1.4 quality helper */
.creative-card{border-color:#695046}.quality-summary{padding:8px 11px;background:#302926;border-radius:8px;color:#ffcfad;margin:10px 0}.quality-warning{font-size:12px;color:#ffcbad;padding:8px 10px;margin:5px 0;background:#3b2c2b;border-radius:8px}.quality-good{color:#a8e7c6;padding:9px;background:#253930;border-radius:8px}.creative-chip-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.creative-option{white-space:normal;text-align:left;line-height:1.6;min-height:37px}

/* v1.1.7 model sliders */
.advanced-slider{display:block;margin:16px 0;padding:12px;border:1px solid #47424a;background:#27262d;border-radius:10px;font-size:12px}.advanced-slider span{display:flex;justify-content:space-between;margin-bottom:12px}.advanced-slider b{color:#ffb98e}.advanced-slider input{width:100%;accent-color:#ff8657;cursor:pointer;min-height:25px}

/* v1.1.8: random mixer */
.mixer-checkrow{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0;color:#d7d4da}.mixer-checkrow label{display:flex;gap:7px;align-items:center;font-size:12px;cursor:pointer}.mixer-checkrow input{accent-color:#ff8958;width:18px;height:18px}.mixer-group{border-top:1px solid #393944;padding:12px 0}.mixer-group strong{display:block;color:#ffbf9d;margin-bottom:9px;font-size:12px}

/* v1.1.9 comparison */

/* v1.2.0 data health */
.admin-audit-panel{border-color:#514a47}.admin-audit-panel #adminAuditResult{padding:9px 0}.admin-audit-panel #adminAuditResult>.helper{margin:5px 0;overflow-wrap:anywhere}

/* v1.2.1: native mobile navigation, output shortcut, safe-area padding */
.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.mobile-route-wrap,.mobile-quickbar{display:none}
@media(max-width:720px){.mobile-tabs{display:none!important}.mobile-route-wrap{display:block;background:#1c1d24;border-bottom:1px solid #3d3b43;padding:9px 14px}.mobile-route-wrap .field{margin:0;min-height:42px;font-size:13px}.page-content{padding-bottom:95px}.output-panel{padding-bottom:105px;scroll-margin-top:8px}.mobile-quickbar{display:flex;gap:7px;align-items:center;position:fixed;z-index:50;bottom:0;left:0;right:0;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(21,22,27,.96);border-top:1px solid #474149;box-shadow:0 -5px 20px #0006}.mobile-quickbar>.btn{flex:1;min-width:0;min-height:44px;font-size:12px;text-align:center;text-decoration:none}.panel-card{overflow-wrap:anywhere}.btn-row{flex-wrap:wrap}.search-row{flex-wrap:wrap}.page-title{font-size:22px}.output-panel textarea{font-size:13px}.topbar{padding:0 12px}.top-right a{font-size:12px}}
@media(max-width:380px){.mobile-quickbar{gap:5px;padding-left:6px;padding-right:6px}.mobile-quickbar>.btn{padding:7px 5px}}

/* v1.2.3 — Compact navigation. Keeps text >=12px and preserves touch sizes. */
@media (min-width:721px) {
  .sidebar { padding: 13px 10px 10px; overflow-y:auto; scrollbar-width:thin; }
  .brand { padding: 4px 6px 14px; }
  .brand .logo-glyph { width:32px; height:32px; font-size:20px; }
  .side-caption { margin:4px 8px 6px; font-size:12px; }
  .side-nav { gap:2px; flex-shrink:0; }
  .side-nav button { min-height:34px; padding:6px 9px; border-radius:7px; gap:9px; font-size:12px; line-height:1.25; }
  .nav-icon { width:18px; font-size:16px; line-height:1; flex-shrink:0; }
  .sidebar-bottom { gap:6px; padding:8px 5px 0; }
  .sidebar-bottom .small-card { padding:8px; line-height:1.45; }
  .topbar { height:59px; }
}
@media (min-width:721px) and (max-width:880px) {
  .sidebar { padding:11px 6px 9px; }
  .side-nav button { padding:6px 5px; gap:6px; min-height:34px; font-size:12px; }
  .brand { padding:3px 4px 12px; }
}
@media (max-width:720px) {
  /* The dropdown stays comfortably tappable, but consumes less vertical space. */
  .mobile-route-wrap { padding:6px 12px; }
  .mobile-route-wrap .field { min-height:40px; padding:7px 10px; }
  .topbar { height:52px; }
}

/* v1.2.4 Favorite pin layout: separate from selecting terms/presets. */
.preset-item{position:relative;min-width:0}.preset-item>.preset{width:100%;height:100%;padding-right:39px}
.preset-item>.pin-star{position:absolute;top:8px;right:8px;z-index:1}
.pin-star{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;min-height:32px;border:1px solid #464650;border-radius:8px;background:#31313a;color:#d7d4d9;font-size:19px;font-weight:700;cursor:pointer;line-height:1}
.pin-star:hover{border-color:#ff9b65;background:#4d352b;color:#ffb67a}
.pin-star.on{border-color:#b97747;background:#563627;color:#ffb662}
.pin-star:focus-visible{outline:2px solid #ffa777;outline-offset:2px}
.term-option,.addon-option-wrap{display:inline-flex;align-items:stretch;max-width:100%;min-width:0;gap:2px}
.term-option .chip,.addon-option-wrap .btn{border-radius:8px 3px 3px 8px;min-width:0;overflow-wrap:anywhere}
.term-option>.pin-star,.addon-option-wrap>.pin-star{height:auto;min-height:34px;border-radius:3px 8px 8px 3px}
.featured-genre-item{display:flex;align-items:stretch;min-width:0;gap:3px}
.featured-genre-item .featured-genre-chip{flex:1;min-width:0;min-height:37px}
.featured-genre-item>.pin-star{min-height:37px;height:auto}
@media(max-width:720px){.pin-star{min-width:32px;min-height:34px}.featured-genre-item>.pin-star{width:32px}}

/* v1.2.5 Exclude expanded library: compact, searchable categories. */
.exclude-control{position:relative}
.exclude-filters{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px}
.exclude-filters .btn{font-size:12px;min-height:31px;padding:5px 10px}
.exclude-filters .btn.selected{background:#593629;border-color:#ff8555;color:#ffd1b5}
.exclude-group .btn-row{gap:7px}
.exclude-group .addon-option-wrap>.btn{min-height:34px}
.exclude-group .pin-star{min-height:34px}
.exclude-group[style*="display: none"]{display:none}
@media(max-width:720px){.exclude-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:7px}.exclude-filters .btn{flex-shrink:0}.exclude-control{padding:13px}}

/* v1.2.6 Korean-first English lyric blending options */
.english-mix-card{border-color:#624033}
.english-mix-card.compact{margin-top:12px;padding:13px}
.english-mix-choices{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0 5px}
.english-mix-choice{border:1px solid #48414a;background:#292830;color:#eee1df;border-radius:8px;padding:8px 11px;min-height:36px;font-size:12px;cursor:pointer}
.english-mix-choice.active{border-color:#ff8052;background:#543225;color:#ffceb4}
.english-mix-placement{margin:12px 0 8px}
.english-mix-card .helper{margin-top:10px}
@media(max-width:520px){.english-mix-choice{min-height:40px;padding:8px 10px;flex:1 1 auto}}

/* v1.2.7: fictional artist vocal profiles */
.artist-picker{border-color:#665045}.artist-picker.compact{padding:12px;margin-top:12px}
.artist-select-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.artist-select-row .field{flex:1 1 210px;min-width:0}.artist-select-row>.btn{flex-shrink:0}
.artist-active{padding:11px 13px;margin-top:12px;border-radius:9px;border:1px solid #765445;background:#352923}.artist-active b{color:#ffbb92}.artist-active p{font-size:12px;color:#d0c4bd;overflow-wrap:anywhere;margin:7px 0}
.artist-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.artist-form-grid label,.artist-voice-preview b{font-size:12px;color:#edd8c8}.artist-form-grid label .field{margin-top:6px}
.artist-name-ideas{display:flex;gap:7px;flex-wrap:wrap}.artist-name-ideas .btn small{color:#c7b3a9;margin-left:4px;font-size:12px}
.artist-voice-preview{padding:12px;margin-top:12px;border:1px solid #4f4648;border-radius:10px;background:#272329}.artist-voice-preview p{font-size:12px;color:#eee;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 2px}
.artist-saved-card{gap:14px}.artist-saved-card .helper{overflow-wrap:anywhere;line-height:1.5}
@media(max-width:720px){.artist-form-grid{grid-template-columns:1fr}.artist-select-row .field{flex:1 1 100%}.artist-select-row>.btn{width:100%}.artist-saved-card{flex-wrap:wrap}}

/* v1.2.8: independent main/featured-artist selectors; mobile-friendly and compact. */
.artist-dual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:12px 0}
.artist-dual-grid label{display:block;min-width:0;font-size:12px;color:#ded5d0}
.artist-dual-grid label>b{display:block;margin-bottom:6px;color:#ffcfb1;font-size:12px}
.artist-dual-grid select{width:100%;min-width:0;min-height:40px;font-size:12px}
.feature-options{padding:12px;border-radius:10px;background:#28252a;border:1px solid #55453f;margin-bottom:12px}
.feature-options label b{font-size:12px;color:#ffcfb1}.feature-options .field{margin-top:7px}
.feature-artist-active{background:#282b36;border-color:#45566f}.feature-artist-active b{color:#aacfff}
.feature-note{padding:10px 12px;margin-top:10px;border-radius:8px;border:1px dashed #6a5250;color:#d9c9c4;font-size:12px;line-height:1.5}
.feature-lyrics-helper{padding:12px;border-radius:9px;background:#242933;border:1px solid #43546b;margin:12px 0}
.feature-lyrics-helper b{color:#b6d9ff;font-size:12px}.feature-lyrics-helper .helper{margin:7px 0 9px}
@media(max-width:600px){.artist-dual-grid{grid-template-columns:1fr;gap:12px}.feature-options .field{width:100%}}

/* ARTIST SUITE v1.2.9 - v1.2.12 */
.suite-tabs .btn-row{display:flex;gap:7px;flex-wrap:wrap}
.suite-mode-select,.suite-group-picker{border:1px solid #41414a;padding:12px;border-radius:10px;margin:12px 0;background:#202128}
.suite-mode-select label,.suite-group-picker label{display:block}
#page label{line-height:1.55}
#page .panel-card>label{display:block;margin-bottom:13px}
#page .panel-card>label>.field{display:block;margin-top:7px;width:100%}
#page .artist-dual-grid{margin-top:10px}
@media(max-width:720px){.suite-tabs .btn-row .btn{flex:1 1 45%;min-width:0;font-size:12px}.suite-mode-select,.suite-group-picker{padding:9px}}

/* v1.2.13 – Expanded voice catalog (compact by default). */
.vocal-toolbar{margin:12px 0 7px}.vocal-toolbar .field-label{display:block;margin-bottom:6px}.vocal-toolbar .field{max-width:520px;margin:0}.vocal-toolbar .helper{margin:7px 0;color:var(--muted)}
.vocal-catalog-group{padding:11px 0}.vocal-group-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}.vocal-group-heading>b{font-size:12px;color:#ffbf9e}
.vocal-catalog-options{margin-top:9px;gap:6px}.vocal-expand{margin-top:10px;min-height:32px}
@media(max-width:720px){.vocal-toolbar .field{width:100%;max-width:none}.vocal-catalog-options{gap:5px}.vocal-catalog-group{padding:10px 0}}

/* v1.2.14: Compact BPM editor, desktop + mobile. */
.bpm-picker{border-color:#665047}.bpm-picker.compact{padding:12px;margin:10px 0 12px}
.bpm-quick-list{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.bpm-quick-list .bpm-chip{min-width:46px;padding:6px 9px;min-height:34px;font-size:12px}
.bpm-picker .btn.selected,.bpm-picker .bpm-chip.selected{background:#59382b;color:#ffe0ca;border-color:#f98a55}
.bpm-control-row{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin-top:12px}
.bpm-control-row>label{flex:0 0 100%;font-size:12px;color:#efc6ae;font-weight:600}
.bpm-control-row #bpmNumber{width:120px;max-width:100%;min-height:36px}
.bpm-control-row .btn{font-size:12px;min-height:36px}
.bpm-picker .helper{line-height:1.6;margin-top:8px}
@media(max-width:600px){.bpm-quick-list{gap:5px}.bpm-control-row .btn{flex:1 1 auto}.bpm-control-row #bpmNumber{flex:1 1 110px}}
/* v1.2.17 paste-to-selection */
.paste-panel{border-color:rgba(83,153,255,.27)}
.paste-input{margin-top:7px;min-height:118px;line-height:1.65;font-family:inherit}
.paste-preview{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.paste-match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:8px;margin-top:10px;margin-bottom:12px}
.paste-check{display:flex;align-items:start;gap:9px;padding:10px 11px;background:#202128;border:1px solid var(--border);border-radius:9px;font-size:12px;line-height:1.5;cursor:pointer}
.paste-check:has(input:checked){border-color:rgba(83,153,255,.65);background:rgba(83,153,255,.12)}
.paste-check input{margin-top:3px;accent-color:#729bff;flex:none}
.paste-check small{font-size:11px;color:#a0a2ae}

/* v1.2.18 DNA import inline preview */
.paste-dna-preview{border:1px solid rgba(247,149,71,.55)}
.paste-dna-row{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:1px solid rgba(150,150,150,.12);font-size:13px}
.paste-dna-row strong{flex:0 0 72px;color:#f5aa72}
.paste-dna-row span{min-width:0;overflow-wrap:anywhere}

/* v1.2.20: transparent song vs artist vocal layers */
.style-layer-card{border:1px solid #43444e;background:#1c2027;border-radius:10px;padding:10px;margin:11px 0}
.style-layer-voice{border-color:#6e533e;background:#27211f}
.style-layer-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:12px;color:#e5e1dd}
.style-layer-voice .style-layer-heading{color:#ffc49e}
.style-layer-card textarea{min-height:0!important;font-size:12px;line-height:1.55;padding:8px;max-height:240px;overflow:auto}
.style-layer-foot{color:#9fbda8;font-size:11px;margin-top:5px}
.final-label{margin:15px 0 7px}
