:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--moetado-purple:#9a5cff;--moetado-blue:#3d7bff}*{box-sizing:border-box}body{color:#f3eee6;background:#14121a;min-height:100vh;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.placeholder{text-align:center;place-items:center;min-height:100vh;padding:24px;display:grid}.placeholder h1{margin:0 0 10px;font-size:clamp(22px,5vw,38px);font-weight:600}.placeholder p{opacity:.7;margin:0 0 6px}.placeholder code{color:var(--moetado-purple);background:#9a5cff2e;border-radius:4px;padding:2px 6px}.dashboard{flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:32px 24px;display:flex}.dashboard h1{margin:0;font-size:clamp(22px,4vw,32px)}.dashboard-layouts{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.layout-button{border:2px solid var(--moetado-purple);color:#f3eee6;cursor:pointer;background:0 0;border-radius:10px;padding:16px 28px;font-size:18px;font-weight:600}.layout-button.active{background:var(--moetado-purple);color:#14121a}.dashboard-hint{opacity:.7;text-align:center;margin:0}.dashboard-login{justify-content:center}.dashboard-login form{text-align:left;flex-direction:column;gap:12px;width:min(320px,100%);display:flex}.dashboard-login label{opacity:.8;font-size:14px}.dashboard-login input{color:#f3eee6;background:#1d1a26;border:1px solid #3a3645;border-radius:8px;padding:10px 12px;font-size:16px}.dashboard-login button{background:var(--moetado-blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:16px;font-weight:600}.dashboard-login button:disabled{opacity:.5;cursor:default}.dashboard-error{color:#ff6b6b;margin:0;font-size:14px}.dashboard-ddb-debug{background:#1a1722;border:1px solid #3a3645;border-radius:10px;width:min(420px,100%);padding:16px}.dashboard-ddb-debug h2{opacity:.8;margin:0 0 10px;font-size:16px}.dashboard-ddb-debug-row{gap:8px;display:flex}.dashboard-ddb-debug input{color:#f3eee6;background:#1d1a26;border:1px solid #3a3645;border-radius:8px;flex:1;padding:10px 12px;font-size:15px}.dashboard-ddb-debug button{background:var(--moetado-purple);color:#14121a;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:600}.dashboard-ddb-debug button:disabled{opacity:.5;cursor:default}.dashboard-ddb-result{grid-template-columns:auto 1fr;gap:4px 12px;margin:12px 0 0;font-size:14px;display:grid}.dashboard-ddb-result dt{opacity:.6}.dashboard-ddb-result dd{margin:0}.dashboard-rolls{width:min(420px,100%)}.dashboard-roll-pending{background:#ffb3471f;border:1px solid #ffb347;border-radius:10px;padding:14px}.dashboard-roll-pending p{margin:0 0 8px}.dashboard-roll-pending button{color:#14121a;cursor:pointer;background:#ffb347;border:none;border-radius:8px;padding:8px 14px;font-weight:600}.dashboard-cameras{width:min(960px,100%)}.dashboard-cameras h2{opacity:.8;margin:0 0 10px;font-size:16px}.dashboard-cameras-toggle{border:1px solid var(--moetado-purple);color:#f3eee6;cursor:pointer;background:0 0;border-radius:8px;margin-bottom:12px;padding:8px 14px}.camera-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;width:100%;display:grid}.camera-card{text-align:left;flex-direction:column;gap:6px;display:flex}.camera-card-own .camera-frame{border:2px dashed var(--moetado-purple)}.camera-name{opacity:.8;margin:0;font-size:13px}.camera-frame{aspect-ratio:16/9;background:#0d0b12;border:1px solid #3a3645;border-radius:8px;max-width:100%;overflow:hidden}.camera-frame iframe{border:0;width:100%;height:100%;display:block}.camera-frame-empty{text-align:center;opacity:.6;place-items:center;height:100%;padding:8px;font-size:13px;display:grid}.camera-push{gap:6px;display:flex}.camera-push input{color:#f3eee6;background:#1d1a26;border:1px solid #3a3645;border-radius:6px;flex:1;min-width:0;padding:6px 8px;font-size:12px}.camera-push button{background:var(--moetado-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 10px}.placeholder .camera-grid{width:min(1100px,92vw);margin-top:20px}.scene-backdrop{z-index:0;background:#14121a;position:fixed;inset:0;overflow:hidden}.scene-backdrop-image{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .8s ease-in-out;position:absolute;inset:0}.scene-backdrop-image.active{opacity:1}.stream-content{z-index:1;text-shadow:0 2px 8px #000c;position:relative}.scene-caption{text-shadow:0 2px 10px #000000e6;margin:0;font-family:Cinzel,Georgia,serif;font-size:40px;font-weight:600;position:absolute;top:40px;left:48px}.scene-caption-chapter{letter-spacing:.08em;text-transform:lowercase;opacity:.8;font-size:.5em;display:block}.status-bar{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.status-pill{background:#1a1722;border:1px solid #3a3645;border-radius:999px;padding:6px 14px;font-size:14px}.status-pill.ok{color:#3ecf8e;border-color:#3ecf8e}.status-pill.bad{color:#ff6b6b;border-color:#ff6b6b}.dashboard-main{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:20px;width:min(1800px,100%);display:grid}@media (width<=1100px){.dashboard-main{grid-template-columns:minmax(0,1fr)}}.scene-panel,.preview-panel{background:#1a1722;border:1px solid #3a3645;border-radius:10px;padding:16px}.scene-panel h2,.preview-panel h2{opacity:.8;margin:0;font-size:16px}.preview-panel h2{margin-bottom:10px}.scene-panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.scene-previous{border:1px solid var(--moetado-purple);color:#f3eee6;cursor:pointer;background:0 0;border-radius:8px;padding:10px 16px;font-size:15px}.scene-previous:disabled{opacity:.4;cursor:default}.scene-panel-body{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;display:grid}@media (width<=700px){.scene-panel-body{grid-template-columns:minmax(0,1fr)}}.scene-list{gap:8px;max-height:60vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.scene-button{color:#f3eee6;text-align:left;cursor:pointer;background:#1d1a26;border:2px solid #3a3645;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px;font-size:18px;display:flex}.scene-button:hover{border-color:var(--moetado-blue)}.scene-button.active{border-color:var(--moetado-purple);background:#9a5cff2e}.scene-button img{aspect-ratio:16/9;object-fit:cover;background:#0d0b12;border-radius:6px;flex:none;width:128px}.scene-button-text{flex-direction:column;gap:2px;display:flex}.scene-button-chapter{opacity:.65;font-size:13px}.scene-notes{background:#14121a;border-radius:8px;min-height:120px;padding:12px}.scene-notes h3{opacity:.7;margin:0 0 8px;font-size:14px}.scene-notes p{white-space:pre-wrap;margin:0;line-height:1.45}.preview-box{background:#0d0b12;border:1px solid #3a3645;border-radius:8px;width:100%;position:relative;overflow:hidden}.preview-box iframe{transform-origin:0 0;pointer-events:none;border:0;position:absolute;top:0;left:0}.scene-backdrop-dim:after{content:"";background:linear-gradient(#00000059 0%,#0009 100%);position:absolute;inset:0}.stage-viewport{z-index:2;pointer-events:none;position:fixed;inset:0;overflow:hidden}.stage{transform-origin:0 0;color:#f1ebdd;width:1920px;height:1080px;font-family:Inter,system-ui,sans-serif;position:absolute}.stream-roll{background:#101114d9;border-radius:999px;margin:0;padding:8px 20px;font:600 28px Inter,system-ui,sans-serif;position:absolute;top:40px;left:50%;transform:translate(-50%)}.stage-camera{background:#121016;border:2px solid #ffffff2e;border-radius:6px;position:absolute;overflow:hidden}.stage-camera iframe{border:0;width:100%;height:100%;display:block}.stage-camera-own{position:absolute}.stage-camera-setup{border:3px dashed #ffcf7acc;border-radius:6px;place-items:center;display:grid;position:absolute}.stage-camera-setup span{opacity:.85;font:600 24px Inter,system-ui,sans-serif}.stage-chat-area{border:2px dashed #ffcf7acc;border-radius:10px;position:absolute}.stage-chat-area span{opacity:.85;font:600 20px Inter,system-ui,sans-serif;position:absolute;top:10px;left:14px}.pc{color:#f1ebdd;background:linear-gradient(#3b3e44 0%,#2a2c31 100%);border:3px solid #14151a;border-radius:10px;grid-template-rows:auto auto 40px 1fr;gap:2px;padding:8px 16px;display:grid;position:absolute;box-shadow:inset 0 0 0 2px #55585f,inset 0 0 22px #0009,0 6px 14px #000000b3}.pc-name{white-space:nowrap;text-overflow:ellipsis;font:800 38px/1.05 Cinzel,Georgia,serif;overflow:hidden}.pc-class{color:#cbc4b4;white-space:nowrap;text-overflow:ellipsis;font:600 26px Cinzel,Georgia,serif;overflow:hidden}.pc-dm .pc-name{color:#d9a93a}.pc-own{outline-offset:1px;outline:3px solid #ffd35a}.pc-badges{align-items:center;gap:6px;display:flex;overflow:hidden}.pc-chip{text-overflow:ellipsis;color:#ffcf7a;white-space:nowrap;background:#101114;border:2px solid #ffffff59;border-radius:999px;flex:0 auto;min-width:0;padding:5px 12px;font:700 22px/1 Inter,system-ui,sans-serif;overflow:hidden}.pc-chip-more{flex:none}.pc-hp{background:#101114;border-radius:6px;align-self:end;height:38px;position:relative;overflow:hidden}.pc-hp-fill{position:absolute;inset:0 auto 0 0}.pc-hp-good .pc-hp-fill{background:linear-gradient(#4fb286,#2c7a58)}.pc-hp-warn .pc-hp-fill{background:linear-gradient(#f0a445,#b8701a)}.pc-hp-low .pc-hp-fill{background:linear-gradient(#e8704f,#a63a1f)}.pc-hp-temp{background:#4aa3e0;position:absolute;top:0;bottom:0}.pc-hp-num{color:#fff;text-shadow:0 1px 4px #000,0 0 2px #000;letter-spacing:.02em;place-items:center;font:800 28px Inter,system-ui,sans-serif;display:grid;position:absolute;inset:0}.pc-dead{filter:grayscale()brightness(.8)}.pc-dead .pc-hp-num{visibility:hidden}.pc-dead-band{color:#fff;letter-spacing:.06em;background:#000;place-items:center;font:800 28px Cinzel,Georgia,serif;display:grid;position:absolute;inset:0}.test-party-toggle{color:#f3eee6;cursor:pointer;background:#1a1722;border:1px solid #3a3645;border-radius:8px;padding:8px 16px;font-size:14px}
