:root{font-family:system-ui,-apple-system,sans-serif;color:#eef2ff;background:#0c1020}*{box-sizing:border-box}body{margin:0}main{max-width:820px;margin:auto;padding:22px}h1{font-size:1.65rem}p,.muted{color:#a9b4cf}.panel{background:#171e34;border:1px solid #303b55;border-radius:14px;padding:18px;margin:16px 0}button,input,select{font:inherit;border-radius:9px;padding:11px;border:1px solid #485676;background:#252f4a;color:white}button{cursor:pointer}button:hover{background:#344567}button:disabled{opacity:.45}.danger{background:#8d1833}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row>*{flex:1;min-width:110px}label{display:block;margin:12px 0 5px}.screen{position:fixed;inset:0;background:#1d4ed8;display:grid;place-items:center;z-index:-1}.screen.on{z-index:5}.exit{position:fixed;right:16px;top:16px;z-index:6;background:#151515a8}.hidden{display:none}small{color:#a9b4cf}#screenEffect{width:100%;height:100%}.notice{background:#292b20;padding:10px;border-radius:9px}.status{font-weight:600}

html,body{width:100%;min-height:100%;overscroll-behavior:none}html{background:#000}body{margin:0}.screen{position:fixed;inset:0;inset:0 0 0 0;width:100%;height:100%;height:100dvh;background:#000;overflow:hidden;display:none;touch-action:manipulation}.screen.on{display:block;z-index:1000}.screen canvas{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;margin:0;padding:0;object-fit:fill}.exit{position:absolute;top:calc(env(safe-area-inset-top, 0px) + 12px);right:calc(env(safe-area-inset-right, 0px) + 12px);width:40px;height:40px;padding:0;border-radius:50%;background:#0007;color:#fff;border:1px solid #ffffff55;font-size:20px;opacity:.4;z-index:1002}.exit:focus,.exit:active{opacity:1}.wake-warning{position:absolute;bottom:calc(env(safe-area-inset-bottom, 0px) + 16px);left:12px;right:12px;padding:12px;background:#111e;color:white;font-size:13px;border-radius:10px;z-index:1002}.wake-warning[hidden]{display:none}
.console{max-width:1280px}.engines{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:12px}.engine{border:1px solid #3b4865;background:#10182b;border-radius:12px;padding:13px}.engine header{display:flex;justify-content:space-between;align-items:center}.engine header label{margin:0}.engine select,.engine input[type=range]{width:100%}.engine input[type=color]{width:100%;height:42px;padding:3px}.engine input[type=checkbox]{accent-color:#5a8cff}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zone-row{display:flex;flex-wrap:wrap;gap:8px}.zone-row label{background:#26354e;padding:6px 8px;border-radius:6px}.preview{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preview>div{padding:10px;border:1px solid #35415a;border-radius:8px}.bars{display:flex;gap:4px;margin-top:8px}.bars span{flex:1;height:22px;border-radius:3px}#screenEffect{image-rendering:auto}#welcome input[type=range]{width:100%}

/* V1.3 — plan de salle */
.venue-map{position:relative;max-width:680px;margin:12px auto;background:#0d1528;border:1px solid #536181;border-radius:14px;padding:12px;}
.stage{height:32px;width:58%;margin:0 auto 12px;background:#465676;border-radius:0 0 12px 12px;text-align:center;line-height:32px;font-size:12px;font-weight:bold;letter-spacing:2px}
.map-area{position:relative;width:100%;aspect-ratio:1.65/1;background:repeating-linear-gradient(0deg,transparent,transparent 19px,#ffffff08 20px),repeating-linear-gradient(90deg,transparent,transparent 19px,#ffffff08 20px);border-radius:9px;overflow:hidden}
.map-zone{position:absolute!important;display:flex;justify-content:center;align-items:center;overflow:hidden;font-size:clamp(9px,1.3vw,13px);line-height:1.2;text-align:center;padding:3px!important;background:#2a4d8b99;border:1px solid #93b7ff!important;border-radius:5px!important;color:white;word-break:break-word}
.map-zone.selected{background:#266bdfcc!important;border:2px solid #fff!important;box-shadow:inset 0 0 0 2px #3ba5ff}
.map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:18px}.map-layout input,.map-layout select{width:100%}
.position-map{position:relative;width:100%;height:115px;border:1px solid #9aaaca;border-radius:10px;background:linear-gradient(90deg,#263d6a,#1a2944);touch-action:none;cursor:crosshair;margin:8px 0}
.position-map:before{content:'Touchez pour placer votre écran';position:absolute;left:8px;top:8px;color:#d5dff5;font-size:12px;pointer-events:none}
#positionDot{position:absolute;width:17px;height:17px;background:#fff;border:3px solid #4da2ff;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 8px #fff8}
@media(max-width:700px){.map-layout{grid-template-columns:1fr}.map-zone{font-size:10px}}

/* V1.3.1 — position directement sur le plan */
.map-area{touch-action:manipulation}
.map-zone{touch-action:manipulation}
.map-marker{position:absolute;z-index:5;pointer-events:none;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:4px;white-space:nowrap}
.marker-dot{display:block;width:20px;height:20px;border:4px solid #fff;background:#087eff;border-radius:50%;box-shadow:0 0 0 3px #087eff,0 0 15px #fff}
.marker-label{font-size:11px;font-weight:800;color:#fff;background:#101b36ed;border:1px solid #fff8;padding:4px 7px;border-radius:6px;box-shadow:0 2px 8px #0009}
.placement-help{font-weight:600;color:#dbeafe;margin:10px 0}

/* Emplacement visible sur le plan, sans second rectangle */
.map-marker{gap:6px;filter:drop-shadow(0 1px 4px #000b)}
.marker-label{background:#0868e9;border:1px solid #70b7ff;font-size:12px;border-radius:9px;padding:5px 9px}
.marker-dot{width:19px;height:19px;background:#fff;border:4px solid #1685ff;box-shadow:0 0 0 5px #1685ff44,0 0 16px #60a5fa}
#join{background:#1264ed;border-color:#4c9bff;font-weight:700;padding:13px 20px}
#join:disabled{opacity:.45}

.map-zone.disabled-zone{opacity:.35;filter:grayscale(1);border-style:dashed!important}.zone-toggle{display:flex;gap:8px;align-items:center;margin:12px 0}.zone-toggle input{width:auto!important;accent-color:#5a8cff}
