.dlg-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;background:#06040c99;place-items:center;padding:16px;font:15px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif;transition:opacity .15s ease-out;display:grid;position:fixed;inset:0}.dlg-backdrop.show{opacity:1}.dlg-backdrop.hide{opacity:0}.dlg{--accent:#f0b030;text-align:center;color:#ece8f4;background:linear-gradient(#1f192b,#15111e);border:1px solid #ffdc962e;border-radius:16px;width:min(400px,100%);padding:26px 26px 20px;transition:transform .18s cubic-bezier(.2,.9,.3,1.2);transform:translateY(8px)scale(.97);box-shadow:0 30px 80px #000000a6,inset 0 1px #ffffff0d}.dlg.danger{--accent:#ff6a50}.show .dlg{transform:none}.dlg-icon{width:44px;height:44px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;place-items:center;margin:0 auto 12px;font:800 22px Inter,system-ui,sans-serif;display:grid}.dlg h2{letter-spacing:normal;text-transform:none;color:#fff;margin:0 0 6px;font:700 18px Inter,system-ui,sans-serif}.dlg p{color:#dcd7eba6;margin:0}.dlg-buttons{gap:10px;margin-top:22px;display:flex}.dlg-btn{color:#ece8f4;cursor:pointer;background:#ffffff12;border:1px solid #ffdc9629;border-radius:10px;flex:1;padding:10px 14px;font:700 14px Inter,system-ui,sans-serif;transition:background .15s,transform 80ms}.dlg-btn:hover{background:#ffffff21}.dlg-btn:active{transform:translateY(1px)}.dlg-btn:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 70%, transparent);outline-offset:2px}.dlg-btn.primary{color:#2a1600;background:linear-gradient(#ffd877,#e09a22);border-color:#ffd877}.dlg-btn.primary:hover{background:linear-gradient(#ffe39a,#eca830)}.dlg-btn.danger{color:#fff;background:linear-gradient(#ff7a5c,#d6402a);border-color:#ff8c70}.dlg-btn.danger:hover{background:linear-gradient(#ff8f74,#e24c34)}#editor{--gold:#f0b030;--text:#ece8f4;--muted:#dcd7eb8c;--panel:#15111e;--panel-2:#1c1728;--line:#ffdc9624;color:var(--text);z-index:10;background:#0c0a12;grid-template:"bar bar bar""side map palette"1fr"status status status"/240px 1fr 232px;font:14px/1.4 Inter,system-ui,-apple-system,Segoe UI,sans-serif;display:none;position:fixed;inset:0}#editor.open{display:grid}#editor button,#editor input,#editor select{font:inherit;color:inherit}.ed-bar{border-bottom:1px solid var(--line);background:linear-gradient(#1d1729,#15111e);flex-wrap:wrap;grid-area:bar;align-items:center;gap:10px;padding:10px 14px;display:flex}.ed-spacer{flex:1}.ed-name{border:1px solid var(--line);background:#ffffff0f;border-radius:8px;outline:none;width:220px;padding:7px 10px;font-weight:700!important}.ed-name:focus,.ed-field input:focus,.ed-field select:focus{border-color:#f0be5a99}.ed-field{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.ed-field select,.ed-field input{border:1px solid var(--line);background:#ffffff0f;border-radius:7px;outline:none;padding:5px 6px}.ed-field select option{background:#1c1728}.ed-field input[type=number]{width:52px}.ed-btn{border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:8px;padding:7px 14px;transition:background .15s;font-weight:700!important}.ed-btn:hover:not(:disabled){background:#ffffff21}.ed-btn:disabled{opacity:.35;cursor:default}.ed-btn.ghost{background:0 0}.ed-btn.small{padding:4px 10px;font-size:12px}.ed-btn.icon{padding:5px 10px;font-size:16px}.ed-btn.wide{width:100%;margin-top:8px}.ed-btn.primary{background:linear-gradient(#ffd877,#e09a22);border-color:#ffd877;color:#2a1600!important}.ed-btn.primary:hover{background:linear-gradient(#ffe39a,#eca830)}.ed-btn.dirty{border-color:#ffd87780;color:#ffd877!important}.ed-side,.ed-palette{background:var(--panel);padding:12px 14px;overflow-y:auto}.ed-side{border-right:1px solid var(--line);grid-area:side}.ed-palette{border-left:1px solid var(--line);grid-area:palette}.ed-side h3{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:6px 0 2px;font:700 13px Cinzel,Georgia,serif}.ed-side h3+.ed-note{margin-top:0}.ed-side h3:not(:first-child){margin-top:22px}.ed-note{color:var(--muted);margin:8px 0;font-size:12px}.ed-levels{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.ed-levels li{background:#ffffff08;border:1px solid #0000;border-radius:8px;align-items:center;display:flex}.ed-levels li.active{background:#f0b0301f;border-color:#f0b03073}.ed-levels li.ed-empty{color:var(--muted);border:1px dashed #ffffff1a;padding:10px;font-size:12px}.ed-level{text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:flex;overflow:hidden}.ed-level .num{min-width:18px;color:var(--muted);font-size:11px;font-weight:700}.ed-level-tools{opacity:.35;transition:opacity .15s;display:flex}.ed-levels li:hover .ed-level-tools,.ed-levels li.active .ed-level-tools{opacity:1}.ed-level-tools button{cursor:pointer;background:0 0;border:none;border-radius:6px;width:24px;height:26px;padding:0}.ed-level-tools button:hover:not(:disabled){background:#ffffff1a}.ed-level-tools button:disabled{opacity:.3;cursor:default}.ed-copy{border:1px solid var(--line);background:#ffffff0f;border-radius:8px;width:100%;margin-top:6px;padding:7px 8px}.ed-copy optgroup,.ed-copy option{background:#1c1728}.ed-map{background:radial-gradient(circle at 50% 40%,#16121f,#09070d);grid-area:map;min-width:0;min-height:0;position:relative;overflow:hidden}.ed-map canvas{cursor:crosshair;position:absolute;inset:0}.ed-modes{background:#ffffff0d;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.ed-modes button{cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 0;color:var(--muted)!important;font-size:12px!important;font-weight:700!important}.ed-modes button.active{background:linear-gradient(#ffd877,#e09a22);color:#2a1600!important}.ed-tools h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px;font-size:11px;font-weight:700}.ed-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.ed-tool{aspect-ratio:1;cursor:pointer;background:#0c0a12;border:1px solid #ffffff14;border-radius:8px;padding:0;position:relative;overflow:hidden}.ed-tool canvas{width:100%;height:100%;display:block}.ed-tool kbd{color:#fff;background:#0009;border-radius:3px;padding:0 3px;font:700 9px ui-monospace,monospace;position:absolute;bottom:1px;right:2px}.ed-tool:hover{border-color:#ffd87780}.ed-tool.active{border-color:#ffd877;box-shadow:0 0 0 2px #ffd87759}.ed-palette .ed-note{margin-top:18px;line-height:1.5}.ed-status{color:var(--muted);background:var(--panel);border-top:1px solid var(--line);flex-wrap:wrap;grid-area:status;align-items:center;gap:14px;padding:7px 14px;font-size:12px;display:flex}.ed-chip{border-radius:99px;padding:2px 9px;font-weight:700}.ed-chip.error{color:#ffb0a0;background:#ff503c26}.ed-chip.warn{color:#ffd877;background:#f0b03024}.ed-chip.ok{color:#9fe0a0;background:#50c86421}.ed-toast{color:#ffe2a0;opacity:0;pointer-events:none;background:#0c0814eb;border:1px solid #f0be5a8c;border-radius:99px;padding:9px 18px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;bottom:52px;left:50%;transform:translate(-50%,16px)}.ed-toast.show{opacity:1;transform:translate(-50%)}@media (width<=900px){#editor{grid-template:"bar""map"1fr"palette""side""status"/1fr;overflow-y:auto}.ed-map{min-height:60vh}}#ui{--gold:#f0b030;--gold-soft:#f0be5a8c;--text:#ece8f4;--muted:#dcd7eb99;--panel:#120e1ad1;--line:#ffdc9629;color:var(--text);place-items:center;padding:16px;font:15px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif;display:grid;position:fixed;inset:0;overflow-y:auto}#ui.hidden{pointer-events:none}#ui.hidden .ui-panel{display:none}.ui-panel{place-items:center;width:100%;display:grid}.card{background:var(--panel);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;width:min(560px,100%);padding:28px 32px 22px;animation:.25s ease-out rise;box-shadow:0 30px 80px #0009,inset 0 1px #ffffff0d}.card.narrow{text-align:center;width:min(420px,100%)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}h1{text-align:center;letter-spacing:.04em;background:linear-gradient(#fff6d0,#f0b030 55%,#8a4a08);color:#0000;filter:drop-shadow(0 0 18px #ffaa2859);-webkit-background-clip:text;background-clip:text;margin:0 0 14px;font:900 clamp(40px,9vw,64px)/1 Cinzel,Trajan Pro,Georgia,serif}h2{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:22px 0 10px;font:700 15px Cinzel,Georgia,serif}.card.narrow h2{margin-top:0}.muted,.label{color:var(--muted)}.label{margin:6px 0 10px;display:block}.hint{text-align:center;color:#dcd7eb66;margin:18px 0 0;font-size:12px}.who{text-align:center;color:var(--muted);margin-bottom:16px}.who strong{color:var(--text)}input{box-sizing:border-box;text-align:center;width:100%;color:var(--text);border:1px solid var(--line);background:#ffffff0f;border-radius:10px;outline:none;padding:12px 14px;font:600 18px Inter,system-ui,sans-serif}input:focus{border-color:var(--gold-soft);box-shadow:0 0 0 3px #f0b0302e}.row{justify-content:center;gap:10px;margin-top:18px;display:flex}.btn{letter-spacing:.02em;color:var(--text);border:1px solid var(--line);cursor:pointer;background:#ffffff12;border-radius:10px;padding:11px 20px;font:700 14px Inter,system-ui,sans-serif;transition:transform 80ms,background .15s,box-shadow .15s}.btn:hover:not(:disabled){background:#ffffff1f}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--gold-soft);outline-offset:2px}.btn:disabled{opacity:.4;cursor:default}.btn.primary{color:#2a1600;background:linear-gradient(#ffd877,#e09a22);border-color:#ffd877;box-shadow:0 6px 20px #f0a0284d}.btn.primary:hover:not(:disabled){background:linear-gradient(#ffe39a,#eca830)}.btn.ghost{background:0 0}.btn.small{padding:7px 14px;font-size:13px}.btn.wide{width:100%;display:block}.new-game{gap:8px;display:flex}.new-game .btn{flex:1}.set-select{color:var(--text);border:1px solid var(--line);background:#ffffff12;border-radius:10px;outline:none;padding:0 10px;font:600 14px Inter,system-ui,sans-serif}.set-select option{background:#1c1728}.editor-link{color:var(--muted);margin-top:8px;font-size:13px}@media (width<=520px){.new-game{flex-direction:column}.set-select{padding:10px}}.link{font:inherit;color:var(--gold);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.games,.slots{gap:8px;margin:0;padding:0;list-style:none;display:grid}.game{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.game-main{flex:1;min-width:0}.game-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.game-players{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chip{color:var(--hero);background:color-mix(in srgb, var(--hero) 14%, transparent);border:1px solid color-mix(in srgb, var(--hero) 40%, transparent);border-radius:99px;padding:1px 8px;font-size:12px}.badge{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:99px;padding:3px 9px;font-size:11px;font-weight:700}.badge.waiting{color:#9fe0a0;background:#50c8641f}.badge.playing{color:#ffd27a;background:#f0b0301f}.empty{text-align:center;color:var(--muted);border:1px dashed #ffffff1a;border-radius:12px;padding:18px}.slots{grid-template-columns:1fr 1fr;margin-top:14px}.slot{background:linear-gradient(135deg, color-mix(in srgb, var(--hero) 22%, transparent), #ffffff05);border:1px solid color-mix(in srgb, var(--hero) 50%, transparent);border-radius:12px;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}.slot.mine{box-shadow:0 0 0 1px var(--hero), 0 0 22px color-mix(in srgb, var(--hero) 35%, transparent)}button.slot{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:opacity .15s,background .15s,transform 80ms}button.slot:hover,button.slot:focus-visible{opacity:1;background:linear-gradient(135deg, color-mix(in srgb, var(--hero) 30%, transparent), #ffffff0a);border-style:solid;outline:none}button.slot:hover img,button.slot:focus-visible img{filter:none}button.slot:active{transform:translateY(1px)}.slot-text{flex:1;min-width:0}.slot-pick{letter-spacing:.05em;text-transform:uppercase;color:var(--hero);border:1px solid color-mix(in srgb, var(--hero) 50%, transparent);border-radius:99px;padding:3px 10px;font-size:11px;font-weight:700}.slot img{width:48px;height:48px}.slot.free{opacity:.55;border-style:dashed}.slot.free img{filter:grayscale()}.slot-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.slot-hero{color:var(--hero);font-size:12px}.spinner{border:3px solid #ffffff1a;border-top-color:var(--gold);border-radius:50%;width:28px;height:28px;margin:18px auto 4px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.test-exit{z-index:5;color:#ffe2a0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;background:#0c0814c7;border:1px solid #f0be5a8c;border-radius:99px;align-items:center;gap:8px;padding:9px 16px 9px 12px;font:700 14px Inter,system-ui,sans-serif;transition:background .15s,transform 80ms;display:none;position:fixed;top:14px;left:14px;box-shadow:0 8px 24px #00000073}.test-exit.show{display:inline-flex}.test-exit:hover{background:#281c0ae6}.test-exit:active{transform:translateY(1px)}.test-exit span{font-size:16px}.ui-toast{color:#ffe2a0;border:1px solid var(--gold-soft);opacity:0;pointer-events:none;background:#0c0814e6;border-radius:99px;padding:10px 18px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.ui-toast.show{opacity:1;transform:translate(-50%)}@media (width<=520px){.card{padding:22px 18px 18px}.slots{grid-template-columns:1fr}}
