/* Starlight Habillage : interface sombre type logiciel de montage */
:root{
  --bg:#0E1017; --panel:#161922; --raise:#1E2230; --line:#2A2F40;
  --fg:#E8EBF3; --muted:#949BB0; --accent:#E6A740; --accent-ink:#1A1408;
  --ok:#6CC08F; --warn:#EE8A66;
  --display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
  --body:"IBM Plex Sans",ui-sans-serif,system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:14px;line-height:1.45;padding-inline:16px;padding-block:0 32px;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1320px;margin:0 auto}
.muted{color:var(--muted)}
.small{font-size:12px}

header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-block:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.brand{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;text-decoration:none}
.brand b{font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.01em}
.brand b i{font-style:normal;color:var(--accent)}
.brand span{color:var(--muted);font-size:13px}
.beta{font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:99px;padding:3px 9px;color:var(--muted)}

.app{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:920px){.app{grid-template-columns:1fr}.preview-col{order:-1;position:static!important}}

.side{display:grid;gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:12px}
.card h2{font-family:var(--display);font-size:16px;margin:0;font-weight:700}
.field{display:grid;gap:5px}
.field>span{font-size:12px;color:var(--muted)}
.input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.row{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.row>.field{flex:1;min-width:110px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:6px 10px;font-size:13px}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);font-weight:600}
.swatch{width:42px;height:36px;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--bg)}
.drop{display:flex;align-items:center;gap:10px;border:1px dashed var(--line);border-radius:10px;padding:10px;cursor:pointer}
.drop:hover{border-color:var(--accent)}
.drop input{display:none}
.thumb{width:44px;height:44px;border-radius:8px;background:var(--raise) center/contain no-repeat;flex:none;display:grid;place-items:center;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--raise);border-radius:8px;padding:9px 14px;font-weight:500;text-decoration:none}
.btn:hover{border-color:var(--muted)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.btn:disabled{opacity:.5;cursor:not-allowed}
.link{border:0;background:none;padding:0;color:var(--muted);text-decoration:underline;font-size:12px}

.preview-col{display:grid;gap:12px;min-width:0;position:sticky;top:env(safe-area-inset-top,0px)}
.stage{background:#05060A;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;padding:16px;min-height:300px}
.stage canvas{display:block;max-width:100%;max-height:66vh;border-radius:6px}
.transport{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;flex-wrap:wrap}
.play{width:38px;height:38px;border-radius:50%;border:0;background:var(--fg);color:var(--bg);display:grid;place-items:center;flex:none;font-size:14px}
.tc{font-family:var(--mono);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.scrub{flex:1;min-width:140px;accent-color:var(--accent)}
.preview-bg{display:flex;gap:6px;flex-wrap:wrap;align-items:center}

.export-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:12px}
.export-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.option{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:8px;align-content:start}
.option h3{margin:0;font-size:14px}
.progress{height:8px;background:var(--raise);border-radius:4px;overflow:hidden}
.progress i{display:block;height:100%;width:0;background:var(--accent);transition:width .1s}

footer{margin-top:32px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:9px 16px;border-radius:8px;font-size:14px;z-index:20;max-width:calc(100% - 32px);text-align:center}
@media (prefers-reduced-motion:no-preference){.toast{animation:up .2s ease-out}@keyframes up{from{transform:translate(-50%,8px);opacity:0}}}
