/* Fenêtres, menus et commandes : fenêtre de DAW simulée (informatique.html) */
.dw{margin-top:28px;border-radius:17px;overflow:hidden;background:var(--ink);color:#fff}
.dw button{font:inherit}
.dw-stage{position:relative;height:560px;overflow:hidden;background:radial-gradient(circle at 25% 20%,#2c3d6b,#171c2a 60%);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.dw-stage:focus{outline:none}
.dw-appicon{flex:none;width:16px;height:16px;border-radius:4px;background:conic-gradient(from 200deg,var(--mint),var(--blue),var(--purple),var(--orange),var(--mint));box-shadow:inset 0 0 0 3px #0003}
.dw-appicon.big{width:46px;height:46px;border-radius:11px;box-shadow:inset 0 0 0 7px #0003,0 6px 16px #0006}
.dw-shortcut{position:absolute;left:16px;top:14px;width:88px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;border:1px solid transparent;border-radius:8px;background:none;color:#fff;cursor:default}
.dw-shortcut b{font-size:11px;text-shadow:0 1px 2px #000a}
.dw-shortcut:focus{background:#5b8cff47;border-color:#8fb0ff99;outline:none}

/* Fenêtre */
.dw-win{position:absolute;display:flex;flex-direction:column;min-width:0;background:#1b202b;border:1px solid #3b4354;border-radius:10px;overflow:hidden;box-shadow:0 24px 60px #000b;transition:opacity .18s ease,transform .2s ease;z-index:2}
.dw-win.dw-max{left:0!important;top:0!important;width:100%!important;height:calc(100% - 38px)!important;border-radius:0;border-width:0}
.dw-win.dw-min{opacity:0;transform:translate(var(--mx,0),var(--my,200px)) scale(.08);pointer-events:none}
.dw-win.dw-closed{display:none}
.dw-win.dw-dragging{transition:none}
.dw-title{flex:none;height:34px;display:flex;align-items:center;gap:9px;padding-left:11px;background:#2b3242;cursor:default;touch-action:none}
.dw-name{flex:1;min-width:0;font-size:12px;font-weight:600;color:#dfe4ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dw-winbtns{display:flex;align-self:stretch}
.dw-winbtns button{width:44px;border:0;background:none;color:#dfe4ee;cursor:pointer;display:grid;place-items:center}
.dw-winbtns button:hover{background:#ffffff1c}
.dw-winbtns button[data-win=close]:hover{background:#e0412b;color:#fff}
.dw-winbtns svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.1}
.dw-ico-restore,.dw-restore-ico .dw-ico-max{display:none}
.dw-restore-ico .dw-ico-restore{display:block}
.dw-menubar{flex:none;height:28px;display:flex;align-items:center;padding:0 4px;background:#232937;border-bottom:1px solid #ffffff12;overflow:hidden}
.dw-menubtn{height:24px;padding:0 10px;border:0;border-radius:4px;background:none;color:#dfe4ee;font-size:12px!important;cursor:default}
.dw-menubtn:hover,.dw-menubtn.dw-open{background:#ffffff1f}
.dw-toolbar{flex:none;min-height:46px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 10px;background:#262c3a;border-bottom:1px solid #00000055}
.dw-transport{display:flex;gap:3px}
.dw-transport button,.dw-views button{height:30px;min-width:32px;padding:0 7px;display:grid;place-items:center;border:1px solid #ffffff1c;border-radius:6px;background:#1b202b;color:#dfe4ee;cursor:pointer}
.dw-transport button:hover:not(:disabled),.dw-views button:hover{background:#323a4c}
.dw-transport button:disabled{opacity:.35;cursor:not-allowed}
.dw-transport svg{width:15px;height:15px;fill:currentColor;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round}
.dw-transport [data-t=loop] svg,.dw-transport [data-t=metro] svg,.dw-transport [data-t=start] svg{fill:none;stroke-width:1.5;stroke-linecap:round}
.dw-transport [data-t=start] svg path:last-child{fill:currentColor}
.dw-transport [data-t=rec]{color:#ff6b5b}
.dw-ico-pause{display:none}
.dw-playing{background:#2c9d63!important;border-color:#2c9d63!important;color:#fff!important}
.dw-playing .dw-ico-play{display:none}.dw-playing .dw-ico-pause{display:inline}
.dw-toggle[aria-pressed=true]{background:#3a4c7d!important;border-color:#7fa0ff!important;color:#fff!important}
.dw-lcd{display:flex;align-items:baseline;gap:9px;padding:4px 12px;border-radius:6px;background:#0f131b;border:1px solid #ffffff14;font-family:'DM Mono'}
.dw-lcd b{font-size:16px;color:var(--mint);min-width:62px}
.dw-lcd small{font-size:10px!important;color:#9aa3b5}
.dw-beat{width:8px;height:8px;border-radius:50%;background:#ffffff1a;align-self:center}
.dw-beat.dw-on.dw-blink{animation:dwBeat .25s ease-out}
.dw-beat.dw-on.dw-blink.dw-down{background:var(--orange)}
@keyframes dwBeat{from{background:var(--mint);box-shadow:0 0 8px var(--mint)}}
.dw-zoom{display:flex;align-items:center;gap:6px;margin-left:auto;font-size:11px!important;color:#b8c0ce}
.dw-zoom input{width:110px;accent-color:var(--mint)}
.dw-views{display:flex;gap:3px}
.dw-views button{font-size:11px!important}

/* Corps : navigateur + zone principale */
.dw-body{flex:1;min-height:0;display:flex}
.dw-browser{flex:none;width:190px;display:flex;flex-direction:column;border-right:1px solid #00000066;background:#1f2430}
.dw-no-browser .dw-browser{display:none}
.dw-browser>header{flex:none;padding:7px 10px;font:10px 'DM Mono';color:#8f98aa;border-bottom:1px solid #ffffff10}
.dw-tree{flex:1;overflow:auto;padding:4px 0;overscroll-behavior:contain}
.dw-tree ul{list-style:none;margin:0;padding:0}
.dw-tree [aria-expanded=false]+ul{display:none}
.dw-node{width:100%;display:flex;align-items:center;gap:6px;padding:3px 8px;border:0;background:none;color:#cfd5e1;font-size:12px!important;text-align:left;white-space:nowrap;cursor:default}
.dw-node:hover{background:#ffffff0f}
.dw-node.dw-sel{background:#3a4c7d}
.dw-arrow{width:0;height:0;border-left:5px solid #9aa3b5;border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s}
.dw-folder[aria-expanded=true] .dw-arrow{transform:rotate(90deg)}
.dw-leaf{width:7px;height:9px;margin-left:-1px;border-radius:1px;background:#6c7588}
.dw-main{flex:1;min-width:0;display:flex;flex-direction:column}
.dw-arrange{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:#171b24;outline:none}
.dw-arrange:focus-visible{box-shadow:inset 0 0 0 2px #7fa0ff}

/* Ascenseurs bien visibles */
.dw-arrange::-webkit-scrollbar,.dw-strips::-webkit-scrollbar,.dw-tree::-webkit-scrollbar{width:14px;height:14px}
.dw-arrange::-webkit-scrollbar-track,.dw-strips::-webkit-scrollbar-track,.dw-tree::-webkit-scrollbar-track{background:#12161e}
.dw-arrange::-webkit-scrollbar-thumb,.dw-strips::-webkit-scrollbar-thumb,.dw-tree::-webkit-scrollbar-thumb{background:#5d667a;border:3px solid #12161e;border-radius:8px;min-height:30px}
.dw-arrange::-webkit-scrollbar-thumb:hover,.dw-strips::-webkit-scrollbar-thumb:hover,.dw-tree::-webkit-scrollbar-thumb:hover{background:#8b94a8}
.dw-arrange::-webkit-scrollbar-corner{background:#12161e}
@supports not selector(::-webkit-scrollbar){.dw-arrange,.dw-strips,.dw-tree{scrollbar-color:#6c7588 #12161e;scrollbar-width:auto}}

/* Timeline */
.dw-canvas{position:relative;display:grid;grid-template-columns:var(--hw) 1fr;grid-auto-rows:var(--th);grid-template-rows:26px;min-height:100%}
.dw-corner{position:sticky;left:0;top:0;z-index:4;display:flex;align-items:center;padding:0 10px;background:#232937;border-right:1px solid #00000077;border-bottom:1px solid #00000077;font:10px 'DM Mono';color:#8f98aa}
.dw-ruler{position:sticky;top:0;z-index:3;background:#232937;border-bottom:1px solid #00000077;cursor:text;background-image:repeating-linear-gradient(90deg,#ffffff30 0 1px,transparent 1px var(--bar));background-size:100% 9px;background-repeat:repeat-x;background-position:0 bottom}
.dw-barnum{position:absolute;top:4px;padding-left:4px;font:10px 'DM Mono';color:#aab2c2;pointer-events:none}
.dw-nonumbers .dw-barnum{display:none}
.dw-compact-bars .dw-barnum:nth-of-type(even){display:none}
.dw-loopzone{display:none;position:absolute;top:0;bottom:0;left:calc(var(--bar) * 4);width:calc(var(--bar) * 4);background:#8be8bd33;border-left:2px solid var(--mint);border-right:2px solid var(--mint);pointer-events:none}
.dw-looping .dw-loopzone{display:block}
.dw-head{position:sticky;left:0;z-index:2;display:grid;grid-template-columns:4px 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-content:center;padding:0 8px 0 0;background:#232937;border-right:1px solid #00000077;border-bottom:1px solid #00000066;overflow:hidden}
.dw-head.dw-selected{background:#2d3850}
.dw-swatch{grid-row:1/3;align-self:stretch;margin:6px 0;background:var(--c);border-radius:0 3px 3px 0}
.dw-head b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#e7ebf3}
.dw-head small{grid-column:2;font:9px 'DM Mono';color:#8f98aa}
.dw-head .dw-msr{grid-column:3;grid-row:1/3}
.dw-msr{display:flex;gap:2px;align-items:center}
.dw-msr button{width:20px;height:20px;padding:0;border:1px solid #ffffff22;border-radius:4px;background:#1b202b;color:#aab2c2;font:700 10px 'DM Mono';cursor:pointer}
.dw-msr .dw-mute[aria-pressed=true]{background:#ffd36e;color:#151925;border-color:#ffd36e}
.dw-msr .dw-solo[aria-pressed=true]{background:#6fa8ff;color:#151925;border-color:#6fa8ff}
.dw-msr .dw-arm[aria-pressed=true]{background:#e0412b;color:#fff;border-color:#e0412b}
.dw-lane{position:relative;border-bottom:1px solid #00000066;background-image:repeating-linear-gradient(90deg,#ffffff1a 0 1px,transparent 1px var(--bar)),repeating-linear-gradient(90deg,#ffffff08 0 1px,transparent 1px calc(var(--bar) / 4))}
.dw-nogrid .dw-lane{background-image:none}
.dw-clip{position:absolute;top:3px;bottom:3px;margin-left:1px;border-radius:5px;overflow:hidden;cursor:default;background:color-mix(in srgb,var(--c) 30%,#1b202b);border:1px solid color-mix(in srgb,var(--c) 70%,#000)}
.dw-clip span{position:relative;z-index:1;display:block;padding:2px 6px;font-size:10px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--c) 55%,#1b202b)}
.dw-clip.dw-audio:after{content:"";position:absolute;left:4px;right:4px;top:18px;bottom:4px;background:repeating-linear-gradient(90deg,var(--c) 0 1px,transparent 1px 3px);-webkit-mask:radial-gradient(ellipse 60% 50% at 30% 50%,#000 40%,transparent 75%),radial-gradient(ellipse 45% 45% at 75% 50%,#000 35%,transparent 75%);mask:radial-gradient(ellipse 60% 50% at 30% 50%,#000 40%,transparent 75%),radial-gradient(ellipse 45% 45% at 75% 50%,#000 35%,transparent 75%);opacity:.8}
.dw-clip.dw-midi:after{content:"";position:absolute;left:4px;right:4px;top:20px;bottom:5px;background:linear-gradient(var(--c),var(--c)) 6% 20%/12% 3px,linear-gradient(var(--c),var(--c)) 22% 60%/10% 3px,linear-gradient(var(--c),var(--c)) 40% 35%/14% 3px,linear-gradient(var(--c),var(--c)) 60% 75%/9% 3px,linear-gradient(var(--c),var(--c)) 78% 45%/13% 3px,linear-gradient(var(--c),var(--c)) 94% 15%/8% 3px;background-repeat:no-repeat;opacity:.9}
.dw-clip.dw-selected{box-shadow:0 0 0 2px #fff;z-index:1}
.dw-silent.dw-lane .dw-clip,.dw-lane.dw-silent .dw-clip{opacity:.35;filter:grayscale(.7)}
.dw-head.dw-silent b{color:#8f98aa}
.dw-playhead{position:absolute;left:0;top:0;bottom:0;width:1px;z-index:1;background:#fff;pointer-events:none;box-shadow:0 0 0 .5px #0006}
.dw-playhead:before{content:"";position:absolute;top:0;left:-5px;border:5px solid transparent;border-top:7px solid #fff}

/* Mixeur */
.dw-mixer{display:none;flex:none;height:190px;border-top:2px solid #00000099;background:#1f2430}
.dw-mixer .dw-strips{height:100%;display:flex;gap:2px;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;padding:6px}
.dw-win:not(.dw-no-mixer) .dw-mixer{display:block}
.dw-strip{flex:none;width:74px;display:flex;flex-direction:column;align-items:center;gap:5px;padding:5px 4px;border-radius:6px;background:#262c3a;border-top:3px solid var(--c)}
.dw-strip.dw-master{margin-left:auto;background:#2d3850;border-top-color:#fff}
.dw-strip b{max-width:100%;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dw-pan{width:58px;height:14px;accent-color:#aab2c2}
.dw-fader-row{flex:1;min-height:0;display:flex;gap:6px;align-items:stretch}
.dw-fader{writing-mode:vertical-lr;direction:rtl;width:18px;height:100%;accent-color:var(--mint);margin:0}
.dw-meter{position:relative;width:6px;border-radius:2px;background:#0f131b;overflow:hidden}
.dw-meter i{position:absolute;inset:0;transform-origin:bottom;transform:scaleY(0);background:linear-gradient(to top,#2c9d63 0 65%,#ffd36e 65% 88%,#e0412b 88%)}
.dw-db{font:9px 'DM Mono'!important;color:#aab2c2}

/* Barre d’état */
.dw-status{flex:none;height:24px;display:flex;align-items:center;gap:12px;padding:0 10px;background:#2b3242;font-size:11px!important;color:#b8c0ce;white-space:nowrap;overflow:hidden}
.dw-msg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--mint)}
.dw-msg.flash{animation:dpFlash .3s ease}
.dw-info{font:10px 'DM Mono';color:#8f98aa}

/* Poignées de redimensionnement */
.dw-grip{position:absolute;z-index:5;touch-action:none}
.dw-grip-e{top:34px;right:0;bottom:12px;width:6px;cursor:ew-resize}
.dw-grip-s{left:0;right:12px;bottom:0;height:6px;cursor:ns-resize}
.dw-grip-se{right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 55%,#8f98aa 55% 62%,transparent 62% 72%,#8f98aa 72% 79%,transparent 79%)}
.dw-max .dw-grip{display:none}

/* Barre des tâches */
.dw-taskbar{position:absolute;left:0;right:0;bottom:0;height:38px;z-index:3;display:flex;align-items:center;gap:4px;padding:0 6px;background:#10141ccc;backdrop-filter:blur(10px);border-top:1px solid #ffffff14}
.dw-start{width:36px;height:30px;display:grid;place-items:center;border:0;border-radius:5px;background:none;color:var(--mint);cursor:default}
.dw-start svg{width:15px;height:15px;fill:currentColor}
.dw-start:hover,.dw-task:hover{background:#ffffff14}
.dw-task{position:relative;height:30px;display:flex;align-items:center;gap:7px;padding:0 12px;border:0;border-radius:5px;background:none;color:#dfe4ee;font-size:12px!important;cursor:default}
.dw-task:after{content:"";position:absolute;left:50%;bottom:1px;width:6px;height:3px;margin-left:-3px;border-radius:2px;background:#8f98aa}
.dw-task[hidden]{display:none}
.dw-task.dw-active{background:#ffffff12}
.dw-task.dw-active:after{width:18px;margin-left:-9px;background:#7fa0ff}
.dw-clock{margin-left:auto;padding-right:8px;font:11px 'DM Mono';color:#cfd5e1}

/* Menus */
.dw-menu{position:absolute;z-index:50;min-width:200px;padding:4px;display:grid;background:#2b3242;border:1px solid #ffffff1f;border-radius:7px;box-shadow:0 14px 34px #000a}
.dw-mi{display:grid;grid-template-columns:16px 1fr auto;gap:6px;align-items:center;padding:5px 8px;border:0;border-radius:4px;background:none;color:#e7ebf3;font-size:12px!important;text-align:left;cursor:default;white-space:nowrap}
.dw-mi:hover,.dw-mi:focus-visible{background:#3a63d8;outline:none}
.dw-mi kbd{font:10px 'DM Mono';color:#9aa3b5;padding-left:18px}
.dw-mi:hover kbd{color:#e7ebf3}
.dw-mi-check{font-style:normal;color:var(--mint)}
.dw-mi.dw-disabled{color:#737c8f}
.dw-mi.dw-disabled:hover{background:#ffffff0a}
.dw-mi.dw-disabled kbd{color:#5d667a}
.dw-menu hr{width:100%;margin:4px 0;border:0;border-top:1px solid #ffffff17}

/* Boîtes de dialogue */
.dw-dialog{position:absolute;inset:0 0 38px;z-index:60;display:grid;place-items:center;padding:12px;background:#0007}
.dw-dialog-box{width:min(420px,100%);max-height:100%;overflow:auto;background:#262c3a;border:1px solid #ffffff22;border-radius:10px;box-shadow:0 20px 50px #000c}
.dw-dialog-box>header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 14px;background:#2f3748;font-size:13px;font-weight:700}
.dw-dialog-x{width:28px;height:26px;border:0;border-radius:5px;background:none;color:#dfe4ee;font-size:18px;cursor:pointer}
.dw-dialog-x:hover{background:#e0412b}
.dw-dialog-box>p,.dw-dialog-box>.dw-prefs,.dw-dialog-box>.dw-help{margin:0;padding:14px}
.dw-dialog-box p{font-size:13px;color:#cfd5e1}
.dw-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px 14px}
.dw-dialog-actions button{min-width:78px;padding:6px 12px;border:1px solid #ffffff2a;border-radius:6px;background:#1b202b;color:#e7ebf3;font-size:12px!important;cursor:pointer}
.dw-dialog-actions button.primary{background:#3a63d8;border-color:#3a63d8}
.dw-dialog-actions button:hover{filter:brightness(1.15)}
.dw-tabs{display:flex;gap:2px;border-bottom:1px solid #ffffff22;margin-bottom:12px}
.dw-tab{padding:6px 12px;border:1px solid transparent;border-bottom:0;border-radius:6px 6px 0 0;background:none;color:#aab2c2;font-size:12px!important;cursor:pointer}
.dw-tab[aria-selected=true]{background:#1b202b;border-color:#ffffff22;color:#fff;margin-bottom:-1px}
.dw-panel{display:grid;gap:10px}
.dw-panel[hidden]{display:none}
.dw-field{display:grid;gap:4px;font-size:12px!important;color:#aab2c2}
.dw-field select{padding:5px 6px;border:1px solid #ffffff2a;border-radius:5px;background:#1b202b;color:#fff;font-size:12px}
.dw-check,.dw-radios label{display:flex;align-items:center;gap:8px;font-size:12px!important;color:#e7ebf3;cursor:pointer}
.dw-check input,.dw-radios input{accent-color:#3a63d8;width:15px;height:15px}
.dw-radios{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;padding:8px 10px;border:1px solid #ffffff1f;border-radius:6px}
.dw-radios legend{padding:0 4px;font-size:11px;color:#aab2c2}
.dw-latency,.dw-note{margin:0!important;font:11px 'DM Mono'!important;color:var(--mint)!important}
.dw-help{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:12px}
.dw-help dt{color:#aab2c2}
.dw-help dd{margin:0}

/* Missions */
.dw-missions .dw-reset{margin-top:12px;padding:6px 11px;border:1px solid #ffffff38;border-radius:7px;background:none;color:#fff;font-size:12px;cursor:pointer}
.dw-missions .dw-reset:hover{background:#ffffff14}

@media(max-width:700px){
  .dw-stage{height:500px}
  .dw-browser{width:140px}
  .dw-zoom{margin-left:0}
  .dw-zoom input{width:80px}
  .dw-strip{width:64px}
}
@media(prefers-reduced-motion:reduce){.dw-win{transition:none}}
