/* AMM Creative Studio 3.0: progressive, zero-dependency interface layer.
   Existing Google OAuth, D1/R2 routes, and server authorization remain unchanged. */
:root{--bg:#0c0b16;--panel:#191626;--panel2:#221c33;--line:#3d3453;--ink:#f9f7ff;--dim:#aea9c1;--violet:#bc93ff;--ok:#87f5ce;color-scheme:dark}
html{scroll-padding-top:24px}body{background:radial-gradient(ellipse 700px 520px at 15% -120px,rgba(107,53,174,.24),transparent 75%),radial-gradient(ellipse 640px 640px at 100% 12%,rgba(105,50,143,.12),transparent 70%),#0c0b16;letter-spacing:-.012em}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(178,138,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(178,138,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,#000,transparent 85%)}
.wrap{max-width:1640px;padding:18px clamp(16px,3.2vw,52px) 100px}.top{border-bottom:1px solid rgba(187,160,238,.13);padding:8px 0 19px;gap:16px;position:relative}.top img{width:58px;height:58px;filter:drop-shadow(0 0 20px #8a53ec44)}.top h1{font-size:clamp(21px,2vw,27px);letter-spacing:-.05em}.top small{font-size:13px}.top .pill{font-size:10px;letter-spacing:.13em;font-weight:800;background:#3f2a5d;color:#e5ccff;border-color:#64448b}.top button{min-height:43px}.card{background:linear-gradient(160deg,rgba(35,29,54,.91),rgba(21,19,34,.98));border:1px solid #4c3e654d;box-shadow:0 16px 38px #0003, inset 0 1px 0 #ffffff08;border-radius:24px}.card+.card{margin-top:0}button{transition:background-color .16s ease,border-color .16s ease,transform .16s ease;min-height:46px;border-radius:13px;font-weight:640}button:hover:not([disabled]){transform:translateY(-1px)}button:active:not([disabled]){transform:translateY(0)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #dab9ff;outline-offset:2px}a{color:#d9baff}input,select,textarea{font-size:16px;min-height:48px;border-color:#5a4a71;background:#151122;border-radius:13px}input::placeholder{color:#968cac}.hint{font-size:14px;line-height:1.5}.amm-overline{display:block;color:#ac8fe2;font-size:11px;font-weight:850;letter-spacing:.17em;margin-bottom:9px}.amm-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.amm-studio-heading{display:flex;gap:22px;align-items:center;justify-content:space-between;margin:29px 0 18px}.amm-studio-heading h2{font-size:clamp(27px,3.8vw,44px);font-weight:850;letter-spacing:-.065em;line-height:1.1}.amm-title-glow{background:linear-gradient(120deg,#e6d4ff,#b87bff 60%,#86cbff);background-clip:text;color:transparent}.amm-studio-heading p{color:#b9b3c8;margin:10px 0 0;font-size:15px}.amm-header-actions{display:flex;align-items:center;gap:8px}.amm-header-actions button{white-space:nowrap;border-color:#55426f;background:#211a30}.amm-icon-button{width:50px;display:grid;place-items:center;font-size:23px}.amm-header-actions kbd{font:600 11px/1 system-ui;border:1px solid #55486a;padding:5px 6px;border-radius:5px;margin-left:5px;color:#ccc3df}
.amm-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important}.amm-metrics .card{padding:18px 22px;border-radius:20px;min-width:0;position:relative;overflow:hidden}.amm-metrics .card:before{content:"";position:absolute;right:-18px;top:-30px;width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,#a55eff2d,transparent 70%);pointer-events:none}.amm-metrics .card small{display:block;font-size:12px;font-weight:700;color:#c4b4dd;letter-spacing:.02em}.amm-metrics .card .score{font-size:clamp(23px,2.6vw,36px);line-height:1.22;color:#efe1ff;font-weight:830;margin:8px 0 2px;letter-spacing:-.05em}.amm-metrics .card:first-child .score{font-size:clamp(20px,2vw,26px);color:#d8b8ff}.amm-metrics .hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.tabs{gap:8px;padding:17px 0;top:0;z-index:20;background:#0c0b16ec;backdrop-filter:blur(18px);border-bottom:1px solid #47335964;margin:16px 0 20px}.tabs button{border:1px solid transparent;padding:12px 19px;background:transparent;border-radius:12px;color:#c8bfd9;font-weight:740;font-size:14px}.tabs button span{margin-right:7px;font-size:19px;vertical-align:-1px}.tabs button:hover{background:#2d2441}.tabs button.on{border-color:#7352a2;background:linear-gradient(130deg,#594078,#3c2a58);color:#fff;box-shadow:inset 0 1px 0 #ffffff21,0 5px 16px #47206b33}
#tab-tracks{grid-template-columns:minmax(300px,0.95fr) minmax(360px,1.2fr);gap:17px;align-items:start}#tab-tracks>.card{min-height:320px}#tab-tracks>.card:first-child{padding:20px 18px}#tab-tracks .right-panel{padding:23px;position:sticky;top:100px;max-height:none;overflow:visible}#tab-tracks .right-panel h2{font-size:23px}.amm-editor-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}.amm-editor-title .amm-overline{margin-bottom:5px}.amm-editor-indicator{font-size:11px;font-weight:750;color:#b1a6c8;padding:7px 10px;background:#2b2440;border:1px solid #4e3d66;border-radius:100px;white-space:nowrap}#editTrack{gap:18px}#editTrack .fields{gap:14px}#editTrack label{font-weight:650}#editTrack .actions{border-top:1px solid #4a3b5e73;padding-top:17px}#editTrack .actions button[type=submit]{background:linear-gradient(120deg,#8851d0,#6c3db2);border-color:#ad76e6;box-shadow:0 8px 20px #633c9c44}details{border:1px solid #51436b;border-radius:13px;padding:13px;background:#1b162a}summary{cursor:pointer;font-weight:700}details[open] summary{margin-bottom:12px}
.amm-search-label{position:relative;display:block;margin-top:17px}.amm-search-label input{padding-left:47px;padding-right:43px;font-weight:540;border-radius:16px;height:54px;background:#100e1d;box-shadow:inset 0 0 0 1px #4f3e6833}.amm-search-label input:focus{border-color:#c397ff;box-shadow:0 0 0 3px #a76dea38}.amm-search-glyph{position:absolute;left:17px;top:6px;color:#cbaaff;font-size:29px;pointer-events:none}.amm-search-clear{position:absolute;right:7px;top:6px;min-height:40px;width:39px;padding:0;background:transparent;border:0;color:#d4bfed;font-size:26px}.amm-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:11px;margin:15px 0 10px}.amm-filters label{font-size:12px;font-weight:800;color:#c2b5d8}.amm-filters select{min-width:0;height:46px}.amm-filter-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0 14px}.amm-toggle{display:flex;flex-direction:row;align-items:center;gap:9px;font-size:13px;font-weight:730;color:#e2d5ef;cursor:pointer}.amm-toggle input{width:18px;min-height:18px;height:18px;accent-color:#ab7bea}.amm-text-button{font-size:12px;min-height:34px;padding:6px 8px;background:transparent;border:none;color:#d3b3ff}.amm-browser-meta{display:flex;justify-content:space-between;border-top:1px solid #4e3f615c;padding:13px 2px 12px;gap:10px;font-size:12px;font-weight:750;color:#c8bed8}.amm-key-hint{color:#9787ae;font-weight:600}.amm-track-list{max-height:none;overflow:visible;gap:8px}.amm-song,.amm-family-header{display:flex;align-items:center;gap:12px;width:100%;min-height:66px;padding:11px 13px;text-align:left;background:#211b30;border:1px solid #443754;border-radius:14px;color:var(--ink);box-shadow:inset 0 1px 0 #ffffff08}.amm-song:hover,.amm-family-header:hover{background:#302440;border-color:#8e65bc}.amm-song.active{border-color:#c18afa;background:linear-gradient(110deg,#3b2959,#261c37);box-shadow:inset 3px 0 0 #c38cff}.amm-song-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:10px;background:linear-gradient(140deg,#7843a9,#42315f);font-size:21px;color:#f3dfff}.amm-song-main,.amm-family-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}.amm-song-main strong,.amm-family-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.32}.amm-song-main small,.amm-family-copy small{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#afa3c2}.amm-chevron{font-size:27px;font-weight:400;color:#ad8ed4}.amm-family-header{background:linear-gradient(100deg,#2b2040,#211b2f);min-height:72px}.amm-family-glyph{display:grid;place-items:center;border-radius:11px;width:39px;height:39px;background:#4b3667;color:#dcbfff;font-size:23px}.amm-family-toggle{border-radius:50%;height:28px;width:28px;text-align:center;line-height:26px;font-size:22px;color:#dcc6f7;background:#412e59}.amm-family-tracks{display:grid;gap:5px;margin:6px 0 6px 12px;padding-left:12px;border-left:2px solid #725299}.amm-family-tracks .amm-song{min-height:61px}.amm-family-tracks[hidden]{display:none}.amm-show-more{width:100%;margin-top:14px;color:#e3d2ff;background:#291d3f}
.amm-empty-editor{border:1px dashed #66547b;border-radius:17px;padding:50px 22px;display:grid;justify-items:center;gap:4px;background:radial-gradient(circle at center,#4a2d5a55,transparent 70%)}.amm-empty-editor .amm-giant-note{font-size:70px;color:#ad84df;line-height:1}.amm-empty-editor h3{font-size:20px;margin:10px 0 0}.amm-empty-editor p{max-width:290px;line-height:1.6}.amm-selected-summary{display:flex;align-items:center;gap:14px;border-radius:17px;padding:16px;background:linear-gradient(100deg,#443054,#281e3c);border:1px solid #6c4b8c;margin-bottom:17px}.amm-selected-art{width:70px;height:70px;flex:none;display:grid;place-items:center;border-radius:15px;font-size:37px;color:#f3deff;background:linear-gradient(140deg,#9455bc,#583b89);box-shadow:0 10px 20px #130b1e80}.amm-selected-copy{min-width:0}.amm-selected-copy h3{margin:0 0 3px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;letter-spacing:-.04em;font-size:20px}.amm-selected-copy p{margin:0 0 8px;color:#d5c0e7;font-size:13px}.amm-tags{display:flex;gap:5px;flex-wrap:wrap}.amm-tags span{font-size:10px;padding:4px 7px;border:1px solid #8361a5;background:#332547;border-radius:99px;color:#e6d0f8}.amm-quick-actions{display:flex;align-items:end;gap:9px;flex-wrap:wrap;border-bottom:1px solid #5849695c;padding-bottom:17px;margin-bottom:16px}.amm-quick-actions label{flex:1;min-width:185px;font-size:12px}.amm-quick-actions button{min-height:48px;font-size:12px;padding:8px 12px}.amm-quick-actions select{height:48px}
#tab-playlists>.two{grid-template-columns:minmax(320px,.95fr) minmax(360px,1.2fr)}#tab-playlists .card,#tab-rights .card,#tab-people .card{padding:24px}#playlistList,#playlistTracks,#playlistTrackOptions,#contractList,#peopleList{scrollbar-color:#6e5092 #1b1527}#playlistList .item,#playlistTracks .item,#playlistTrackOptions .item{border-radius:13px;min-height:58px}#tab-upload{max-width:1050px;margin:0 auto}.uploadzone{border-radius:18px;background:linear-gradient(135deg,#332246,#1e182e);padding:28px;border:1px dashed #9772c3}
.amm-studio-dock{display:none}.amm-studio-dock[hidden]{display:none!important}#login{margin-top:min(12vh,95px);padding:clamp(20px,4vw,38px);box-shadow:0 35px 85px #0006}#login h2{font-size:25px;line-height:1.25}#message:empty{display:none}
@media(min-width:1300px){#tab-tracks{grid-template-columns:minmax(360px,.85fr) minmax(540px,1.15fr)}.amm-metrics .card{min-height:113px}}
@media(max-width:850px){.wrap{padding:13px 15px calc(110px + env(safe-area-inset-bottom))}.top{gap:11px}.top img{width:51px;height:51px}.top h1{font-size:21px}.top small{font-size:12px}.top .pill{font-size:9px}.amm-studio-heading{margin:24px 0 12px;gap:12px;align-items:flex-start}.amm-studio-heading h2{font-size:clamp(26px,6vw,35px)}.amm-studio-heading p{font-size:13px}.amm-header-actions{gap:5px}.amm-header-actions kbd{display:none}.amm-header-actions #workspaceSearchShortcut{font-size:0;min-width:44px;padding:8px}.amm-header-actions #workspaceSearchShortcut::first-letter{font-size:23px}.amm-icon-button{width:40px;min-height:43px;font-size:21px}.amm-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.amm-metrics .card{padding:12px;min-height:90px}.amm-metrics .card .score{font-size:20px}.amm-metrics .card:first-child .score{font-size:16px;line-height:1.35}.amm-metrics .card small{font-size:10px}.amm-metrics .hint{font-size:10px}.tabs{top:0;overflow:auto;scrollbar-width:none;margin:11px -15px 16px;padding:12px 15px;scroll-padding-left:15px}.tabs::-webkit-scrollbar{display:none}.tabs button{padding:10px 14px;min-height:43px}#tab-tracks,#tab-playlists>.two,#tab-people{grid-template-columns:1fr;gap:12px}.card{border-radius:18px}#tab-tracks>.card:first-child{padding:17px}#tab-tracks .right-panel{position:static;max-height:none;overflow:visible;padding:18px}#tab-tracks .amm-track-list{max-height:none;overflow:visible}.amm-studio-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;justify-content:space-around;gap:3px;padding:9px max(10px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid #71538f80;background:#14101fef;backdrop-filter:blur(20px);box-shadow:0 -15px 55px #0008}.amm-studio-dock button{display:grid;place-items:center;align-content:center;flex:1;min-width:0;min-height:52px;padding:6px 3px;gap:2px;border:none;border-radius:13px;background:transparent;font-size:22px;color:#ad9bbc}.amm-studio-dock button small{font-size:10px;font-weight:760;color:inherit;white-space:nowrap}.amm-studio-dock button.on{color:#efe0ff;background:#5a3a7a}.amm-studio-dock button.on small{color:#f4eaff}.amm-selected-summary{align-items:flex-start}.amm-quick-actions button{flex:0 0 auto}}
@media(max-width:430px){.amm-studio-heading{flex-direction:column}.amm-header-actions{width:100%;justify-content:flex-end}.amm-header-actions #workspaceSearchShortcut{font-size:12px;width:auto}.amm-metrics .card{padding:10px}.amm-metrics .card .score{font-size:18px}.amm-metrics .card:first-child .score{font-size:14px}.amm-metrics .hint{font-size:9px}.amm-selected-art{width:54px;height:54px;font-size:30px}.amm-selected-copy h3{font-size:17px}.amm-quick-actions label{min-width:100%;}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* A native, keyboard/touch-friendly private listening preview; never autoload masters. */
.amm-preview{margin:2px 0 22px;background:linear-gradient(140deg,#20192d,#332241);border:1px solid #665181;border-radius:17px;padding:15px}.amm-preview-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}.amm-preview-heading strong{font-size:16px}.amm-preview-heading .amm-overline{font-size:10px;margin-bottom:4px}.amm-preview-status{font-size:11px;color:#d2b6ec}.amm-preview audio{display:block;width:100%;height:54px;accent-color:#ad7bff}.amm-preview-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.amm-preview-controls button{flex:1;min-width:112px;font-size:12px;padding:10px 7px;background:#372648}.amm-search-shortcut-icon{font-size:20px;vertical-align:-2px;margin-right:6px}.amm-search-shortcut-text{font-size:13px}@media(max-width:850px){.amm-header-actions #workspaceSearchShortcut{font-size:13px;padding:8px 12px}.amm-search-shortcut-icon{font-size:23px}.amm-search-shortcut-text{display:none}}@media(max-width:430px){.amm-search-shortcut-text{display:inline}.amm-header-actions #workspaceSearchShortcut{font-size:13px}}
/* Compact, legible phone header and statistics without microtype. */
@media(max-width:600px){
 .top{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding-bottom:14px}
 .top>.spacer{display:none}.top>div:not(.spacer){min-width:0}.top #logout{grid-column:3;grid-row:1;min-height:42px;padding:8px 10px;font-size:12px}
 .top img{width:45px;height:45px}.top h1{font-size:clamp(16px,5vw,20px)}.top small{font-size:11px}
 .top .pill{font-size:9px;letter-spacing:.07em;padding:5px 7px}
 .amm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.amm-metrics .card{padding:14px;min-height:95px}
 .amm-metrics .card:first-child{grid-column:1/-1;min-height:74px}.amm-metrics .card:first-child .score{font-size:21px}
 .amm-metrics .card .score{font-size:25px}.amm-metrics .card small{font-size:12px}.amm-metrics .hint{font-size:11px}
 .amm-studio-heading p{font-size:14px}
}
