/* Cover Studio — one coherent sheet (replaces the earlier layered overrides).
   Layout: steps · [templates | large preview | contextual inspector] · export. Light Studio Music Tools surfaces, slate ink, violet selection. */

/* Self-hosted SIL OFL fonts used inside the artwork (licences: /assets/fonts/smt/LICENSE-*.txt) */
@font-face{font-family:"Cover Bebas";src:url('/assets/fonts/smt/cover-bebas.ttf') format('truetype');font-display:swap;font-weight:400 900}
@font-face{font-family:"Cover Playfair";src:url('/assets/fonts/smt/cover-playfair.ttf') format('truetype');font-display:swap;font-weight:400 900}
@font-face{font-family:"Inter";font-weight:800;font-display:swap;src:url('/assets/fonts/smt/inter-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-weight:800;font-display:swap;src:url('/assets/fonts/smt/inter-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";font-weight:900;font-display:swap;src:url('/assets/fonts/smt/inter-latin-900-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";font-weight:900;font-display:swap;src:url('/assets/fonts/smt/inter-latin-ext-900-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-weight:700;font-display:swap;src:url('/assets/fonts/smt/space-grotesk-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";font-weight:700;font-display:swap;src:url('/assets/fonts/smt/space-grotesk-latin-ext-700-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Serif";font-weight:400;font-display:swap;src:url('/assets/fonts/smt/instrument-serif-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-weight:400;font-display:swap;src:url('/assets/fonts/smt/instrument-serif-latin-ext-400-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/smt/instrument-serif-latin-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/smt/instrument-serif-latin-ext-400-italic.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Syne";font-weight:800;font-display:swap;src:url('/assets/fonts/smt/syne-latin-800-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Syne";font-weight:800;font-display:swap;src:url('/assets/fonts/smt/syne-latin-ext-800-normal.woff2') format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

#cover-studio{--cs-ink:#24333d;--cs-dim:#5e6d76;--cs-line:#dbe2e6;--cs-panel:#ffffff;--cs-soft:#f4f7f8;--cs-sel:#6f5f8f;--cs-sel-soft:#efebf5;--cs-stage:#e3e8ea;color:var(--cs-ink)}
#cover-studio *{box-sizing:border-box}
.cs-section{padding-top:28px}
.cs-container{max-width:1440px}
.cs-h{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cs-dim);margin:0 0 10px}

/* steps */
.cs-steps{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0 0 16px;padding:0}
.cs-step{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px 0 6px;border:1px solid var(--cs-line);border-radius:18px;background:var(--cs-panel);color:var(--cs-ink);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.cs-step b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--cs-soft);font-size:12px}
.cs-step.is-current{border-color:var(--cs-sel);background:var(--cs-sel-soft)}
.cs-step.is-current b{background:var(--cs-sel);color:#fff}

/* three-column app */
.cs-app{display:grid;grid-template-columns:252px minmax(0,1fr) 340px;gap:18px;align-items:start}
.cs-rail,.cs-inspector{background:var(--cs-panel);border:1px solid var(--cs-line);border-radius:12px;padding:14px}
.cs-rail{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}
.cs-inspector{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;padding:0}

/* templates */
.cs-templates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cs-dir{grid-column:1/-1;margin:8px 0 -2px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cs-dim)}
.cs-dir:first-child{margin-top:0}
.cs-tpl{display:flex;flex-direction:column;gap:3px;padding:5px 5px 8px;border:1px solid var(--cs-line);border-radius:9px;background:var(--cs-panel);color:var(--cs-ink);text-align:left;font:inherit;cursor:pointer;min-width:0}
.cs-tpl canvas{display:block;width:100%;height:auto;aspect-ratio:1;border-radius:5px;margin-bottom:3px;background:var(--cs-soft)}
.cs-tpl__name{font-size:13px;font-weight:600;padding:0 2px}
.cs-tpl__blurb{font-size:11px;line-height:1.35;color:var(--cs-dim);padding:0 2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cs-tpl:hover{border-color:#b9c4ca}
.cs-tpl[aria-pressed=true]{border-color:var(--cs-sel);box-shadow:0 0 0 2px var(--cs-sel);background:var(--cs-sel-soft)}
.cs-tpl:focus-visible,.cs-step:focus-visible,.cs-tab:focus-visible,.cs-seg button:focus-visible,.cs-pair:focus-visible,.cs-pal:focus-visible{outline:2px solid var(--cs-sel);outline-offset:2px}

/* stage */
.cs-stage-col{min-width:0}
.cs-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.cs-tplinfo{font-size:13px;color:var(--cs-dim)}
.cs-tplinfo strong{color:var(--cs-ink)}
.cs-history{margin-left:auto;display:flex;gap:6px;align-items:center}
.cs-icon{width:36px;height:36px;border:1px solid var(--cs-line);border-radius:8px;background:var(--cs-panel);color:var(--cs-ink);font-size:18px;line-height:1;cursor:pointer}
.cs-icon:disabled{opacity:.4;cursor:default}
.cs-text-btn{min-height:36px;padding:0 12px;border:1px solid var(--cs-line);border-radius:8px;background:var(--cs-panel);color:var(--cs-ink);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.cs-text-btn:hover,.cs-icon:hover:not(:disabled){border-color:#aab6bd}
.cs-stage{display:flex;align-items:center;justify-content:center;padding:clamp(14px,3.2vw,44px);background:var(--cs-stage);border-radius:12px}
.cs-stage canvas{display:block;width:100%;max-width:720px;height:auto;aspect-ratio:1;box-shadow:0 18px 40px rgba(28,40,48,.22),0 2px 6px rgba(28,40,48,.12);touch-action:pinch-zoom}
.cs-stage canvas.is-pannable{cursor:grab;touch-action:none}
.cs-stage canvas.is-pannable:active{cursor:grabbing}
.cs-stage canvas.is-transparent{background:repeating-conic-gradient(#d9dee0 0% 25%,#f4f6f6 0% 50%) 0 0/20px 20px;box-shadow:none}
.cs-stage-note{margin:8px 2px 0;font-size:12px;color:var(--cs-dim)}
.cs-check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;margin-top:14px;padding:12px 14px;background:var(--cs-panel);border:1px solid var(--cs-line);border-radius:12px}
.cs-check__thumbs{display:flex;align-items:flex-end;gap:12px}
.cs-check__thumbs figure{margin:0;text-align:center}
.cs-check__thumbs figcaption{font-size:11px;color:var(--cs-dim);margin-top:4px}
#cover-thumb-lg{width:96px;height:96px}
#cover-thumb-sm{width:48px;height:48px}
.cs-check__thumbs canvas{display:block;border-radius:3px;box-shadow:0 2px 6px rgba(28,40,48,.18)}
.cs-check__title{margin:0;font-weight:600;font-size:13px}
.cs-check__body{margin:2px 0 0;font-size:12.5px;line-height:1.45;color:var(--cs-dim)}
.cs-contrast{margin:6px 0 0;font-size:12.5px;font-weight:500;min-height:1.4em}
.cs-contrast::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:#9aa6ad;vertical-align:1px}
.cs-contrast[data-grade=good]::before{background:#2f9e6b}
.cs-contrast[data-grade=fair]::before{background:#d39a2c}
.cs-contrast[data-grade=low]::before{background:#c8453c}
.cs-contrast:empty::before{display:none}

/* inspector */
.cs-tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--cs-line);background:var(--cs-soft);border-radius:12px 12px 0 0;position:sticky;top:0;z-index:2;overflow-x:auto}
.cs-tab{flex:1 0 auto;min-height:34px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--cs-dim);font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.cs-tab[aria-selected=true]{background:var(--cs-panel);color:var(--cs-ink);box-shadow:0 1px 3px rgba(28,40,48,.12)}
.cs-panel{padding:14px 16px 18px}
.cs-panel>*+*{margin-top:14px}
.cs-label,.cs-input,.cs-range__top,.cs-colors label{font-size:12px;font-weight:600;color:var(--cs-ink)}
.cs-label{display:block;margin-bottom:6px}
.cs-input{display:grid;gap:6px}
.cs-input span{font-weight:400;color:var(--cs-dim)}
.cs-input input,.cs-input select{width:100%;min-width:0;height:40px;padding:8px 11px;border:1px solid #cbd5da;border-radius:8px;background:#fff;color:var(--cs-ink);font:inherit;font-size:15px;font-weight:400}
.cs-input input:focus,.cs-input select:focus{outline:2px solid var(--cs-sel);outline-offset:0;border-color:var(--cs-sel)}
.cs-hint{margin:0;font-size:12px;line-height:1.45;color:var(--cs-dim)}
.cs-range{display:grid;gap:4px}
.cs-range__top{display:flex;justify-content:space-between;gap:8px}
.cs-range output{font-weight:500;color:var(--cs-dim);font-variant-numeric:tabular-nums}
#cover-studio .cs-range input[type=range]{width:100%;height:4px;min-height:0;margin:12px 0 8px;background:#d3dbe0;border-radius:2px}
#cover-studio .cs-range input[type=range]::-webkit-slider-thumb{width:18px;height:18px;background:var(--cs-sel);border:2px solid #fff;box-shadow:0 0 0 1px #b9c2c8,0 1px 3px rgba(0,0,0,.2)}
#cover-studio .cs-range input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--cs-sel);border:2px solid #fff}
#cover-studio .cs-range input[type=range]:focus-visible{outline:2px solid var(--cs-sel);outline-offset:4px}
.cs-range small{font-size:11.5px;color:var(--cs-dim)}
.cs-seg{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border:1px solid var(--cs-line);border-radius:9px;background:var(--cs-soft)}
.cs-seg button{min-height:32px;padding:0 11px;border:0;border-radius:7px;background:transparent;color:var(--cs-ink);font:inherit;font-size:12.5px;font-weight:500;cursor:pointer}
.cs-seg button[aria-pressed=true]{background:var(--cs-ink);color:#fff}
.cs-seg--dark{background:var(--cs-panel)}
.cs-pairs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cs-pair{display:grid;gap:1px;padding:9px 10px;border:1px solid var(--cs-line);border-radius:9px;background:#fff;color:var(--cs-ink);text-align:left;font:inherit;cursor:pointer}
.cs-pair__aa{font-size:28px;line-height:1.1}
.cs-pair__name{font-size:12.5px;font-weight:600}
.cs-pair__fonts{font-size:10.5px;color:var(--cs-dim)}
.cs-pair[aria-pressed=true]{border-color:var(--cs-sel);box-shadow:0 0 0 1px var(--cs-sel);background:var(--cs-sel-soft)}
.cs-pals{display:flex;flex-wrap:wrap;gap:8px}
.cs-pal{display:flex;padding:4px;border:1px solid var(--cs-line);border-radius:9px;background:#fff;cursor:pointer}
.cs-pal span{width:22px;height:30px}
.cs-pal span:first-child{border-radius:5px 0 0 5px}.cs-pal span:last-child{border-radius:0 5px 5px 0}
.cs-pal[aria-pressed=true]{border-color:var(--cs-sel);box-shadow:0 0 0 2px var(--cs-sel)}
.cs-colors{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.cs-colors label{display:grid;gap:5px}
.cs-colors input{width:100%;height:36px;padding:2px;border:1px solid #cbd5da;border-radius:8px;background:#fff}
#cover-studio .cs-drop{padding:18px 14px;cursor:pointer}
#cover-studio .cs-drop .audio-drop__headline{font-size:15px;margin-bottom:4px}
#cover-studio .cs-drop .audio-drop__sub{font-size:12.5px;margin:0 0 10px}
#cover-studio .cs-drop input{max-width:100%;font-size:13px}
.cs-round{display:grid;gap:14px}

/* export */
.cs-export{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px;margin-top:20px}
.cs-export>div{padding:16px;background:var(--cs-panel);border:1px solid var(--cs-line);border-radius:12px}
.cs-export p{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--cs-dim)}
.cs-export__btns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cs-export__btns a{font-size:13px}
#cover-studio .cs-export .btn-primary{background:var(--cs-ink);border-color:var(--cs-ink);color:#fff}
#cover-studio .cs-export .btn-primary:hover{background:#34495a}
.cs-export__art{border-color:#c9bfdb!important;background:linear-gradient(#fff,#faf8fc)!important}
.cs-status{margin:12px 0 0;font-size:13.5px;color:#2f5f5a;min-height:1.4em}
.cs-error{margin:10px 0 0;background:#fce8e8;color:#9b2b33;border-left:3px solid #b33d49;padding:12px 14px;border-radius:6px}

/* responsive */
@media (max-width:1240px){
  .cs-app{grid-template-columns:minmax(0,1fr) 330px}
  .cs-rail{grid-column:1/-1;grid-row:1;position:static;max-height:none;overflow:visible}
  .cs-templates{grid-template-columns:repeat(9,minmax(124px,1fr));overflow-x:auto;padding-bottom:6px}
  .cs-dir{display:none}
}
@media (max-width:980px){
  .cs-app{grid-template-columns:minmax(0,1fr)}
  .cs-stage-col{grid-row:1}
  .cs-rail{grid-row:2}
  .cs-inspector{position:static;max-height:none;overflow:visible}
  .cs-tabs{position:static}
  .cs-export{grid-template-columns:1fr}
  .cs-templates{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:132px;scroll-snap-type:x proximity}
  .cs-tpl{scroll-snap-align:start}
}
@media (max-width:560px){
  .cs-stage{padding:10px}
  .cs-toolbar{gap:8px}
  .cs-tplinfo{order:3;width:100%}
  .cs-check{grid-template-columns:1fr}
  .cs-input input,.cs-input select{font-size:16px}
  .cs-step{padding-right:10px;font-size:12.5px}
}
