@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rajdhani-latin-400-normal-CurJOxDW.woff2) format("woff2"),url(/assets/rajdhani-latin-400-normal-C6_q4usG.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2) format("woff2"),url(/assets/rajdhani-latin-500-normal-DfvNI-Td.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-600-normal-CXCVEoA9.woff2) format("woff2"),url(/assets/rajdhani-latin-600-normal-Dx02qI2_.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-700-normal-BPDUZo87.woff2) format("woff2"),url(/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/rajdhani-latin-400-normal-CurJOxDW.woff2) format("woff2"),url(/assets/rajdhani-latin-400-normal-C6_q4usG.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/rajdhani-latin-500-normal-ByNUCHrt.woff2) format("woff2"),url(/assets/rajdhani-latin-500-normal-DfvNI-Td.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/rajdhani-latin-600-normal-CXCVEoA9.woff2) format("woff2"),url(/assets/rajdhani-latin-600-normal-Dx02qI2_.woff) format("woff")}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/rajdhani-latin-700-normal-BPDUZo87.woff2) format("woff2"),url(/assets/rajdhani-latin-700-normal-e0Uj8ZlN.woff) format("woff")}:root{--p1-violet: #6150ce;--p1-violet-2: #8b7cf6;--p1-violet-3: #a855f7;--p1-amber: #ffab02;--p1-amber-2: #ff6b00;--p1-ok: #3dfa77;--p1-bad: #ff4757;--p1-warn: #ffab02;--p1-info: #8fa6ff;--p1-night-0: #05071a;--p1-night-1: #0a0d26;--p1-night-2: #11163a;--p1-night-3: #1a2050;--p1-ink: #f4f2ff;--p1-ink-dim: rgba(232, 229, 255, .64);--p1-ink-faint: rgba(232, 229, 255, .38);--p1-grad-accent: linear-gradient(135deg, #6150ce 0%, #8b7cf6 50%, #a855f7 100%);--p1-grad-fuel: linear-gradient(135deg, #ffab02 0%, #ff6b00 100%);--p1-grad-ok: linear-gradient(135deg, #3dfa77 0%, #1fc9a0 100%);--p1-grad-bad: linear-gradient(135deg, #ff4757 0%, #ff7a45 100%);--p1-glass-base: rgba(10, 9, 32, .58);--p1-glass-fill: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);--p1-glass-edge: rgba(255, 255, 255, .2);--p1-glass-edge-soft: rgba(255, 255, 255, .1);--p1-glass-rim: inset 0 1px 0 rgba(255, 255, 255, .22);--p1-scanlines: repeating-linear-gradient(0deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 3px);--p1-glow-violet: 0 0 1.2rem rgba(97, 80, 206, .55);--p1-glow-violet-strong: 0 0 2.4rem rgba(139, 124, 246, .6);--p1-glow-amber: 0 0 1rem rgba(255, 171, 2, .5);--p1-glow-ok: 0 0 1rem rgba(61, 250, 119, .5);--p1-glow-bad: 0 0 1rem rgba(255, 71, 87, .5);--p1-text-glow-violet: 0 0 .7rem rgba(97, 80, 206, .8), 0 0 1.6rem rgba(139, 124, 246, .35);--p1-text-glow-ok: 0 0 .6rem rgba(61, 250, 119, .6), 0 0 1.4rem rgba(61, 250, 119, .25);--p1-text-glow-white: 0 0 1rem rgba(255, 255, 255, .45), 0 .1rem .5rem rgba(0, 0, 0, .7);--p1-r-xs: .3rem;--p1-r-sm: .5rem;--p1-r-md: .8rem;--p1-r-lg: 1.2rem;--p1-sp-1: .25rem;--p1-sp-2: .5rem;--p1-sp-3: .75rem;--p1-sp-4: 1rem;--p1-sp-5: 1.5rem;--p1-sp-6: 2.25rem;--p1-ease: cubic-bezier(.22, 1, .36, 1);--p1-t-fast: .14s;--p1-t-mid: .24s;--p1-font-display: "Rajdhani", "Segoe UI", system-ui, sans-serif}.p1-glass{position:relative;background:var(--p1-glass-fill),var(--p1-glass-base);border:1px solid var(--p1-glass-edge);border-radius:var(--p1-r-md);box-shadow:var(--p1-glass-rim),0 .5rem 1.6rem #00000059}.p1-glass--scan:after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--p1-scanlines);pointer-events:none}.p1-glass--modal{background:var(--p1-glass-fill),#0e0e2cb8;backdrop-filter:blur(14px)}.p1-glow{font-family:var(--p1-font-display);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--p1-ink)}.p1-glow--accent{color:var(--p1-violet-2);text-shadow:var(--p1-text-glow-violet)}.p1-glow--ok{color:var(--p1-ok);text-shadow:var(--p1-text-glow-ok)}.p1-glow--bad{color:var(--p1-bad);text-shadow:0 0 .6rem rgba(255,71,87,.55)}.p1-glow--info{color:var(--p1-info);text-shadow:0 0 .6rem rgba(143,166,255,.45)}.p1-glow--white{color:#fff;text-shadow:var(--p1-text-glow-white)}.p1-icon{display:block;width:1.25em;height:1.25em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}:root{--p1-color-bg: #0f1115;--p1-color-surface: #181b21;--p1-color-border: #2a2f39;--p1-color-text: #e6e8ec;--p1-color-muted: #8b93a1;--p1-color-accent: #5865f2;--p1-color-success: #3ba55d;--p1-color-danger: #ed4245;--p1-radius: 8px;--p1-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}.p1-panel{background:var(--p1-color-surface);color:var(--p1-color-text);border:1px solid var(--p1-color-border);border-radius:var(--p1-radius);font-family:var(--p1-font);padding:16px}:root{--p1-color-bg: #08111c;--p1-color-surface: #0e1a2a;--p1-color-surface-2: #13233a;--p1-color-border: #1f3250;--p1-color-text: #f4f6fb;--p1-color-muted: #8c9bb5;--p1-color-accent: #6150ce;--p1-color-accent-2: #272b8b;--p1-color-lavender: #a99cff;--p1-color-success: #3ecf8e;--p1-color-warn: #f5b84a;--p1-color-danger: #ef5b6b;--p1-gradient: linear-gradient(135deg, #6150ce, #272b8b);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,rgba(97,80,206,.18),transparent 60%),var(--p1-color-bg);color:var(--p1-color-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}h1{font-size:1.6rem;margin:0 0 1rem;font-weight:800;letter-spacing:-.01em}h2{font-size:1.2rem;margin:0}h3{margin:0 0 .75rem}a{color:var(--p1-color-lavender)}code{background:var(--p1-color-surface-2);padding:.1em .4em;border-radius:4px;font-family:ui-monospace,Menlo,Consolas,monospace}.muted{color:var(--p1-color-muted)}.small{font-size:.85rem}.center{min-height:100%;display:grid;place-items:center;padding:24px}.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:24px;padding:10px 24px;background:#0e1a2ad9;backdrop-filter:blur(8px);border-bottom:1px solid var(--p1-color-border);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.05rem}.brand img{border-radius:8px}.topbar nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.topbar nav a{color:var(--p1-color-muted);text-decoration:none;padding:6px 12px;border-radius:8px;font-weight:600}.topbar nav a:hover{color:var(--p1-color-text);background:var(--p1-color-surface-2)}.topbar nav a.active{color:#fff;background:var(--p1-gradient)}main{padding:24px;max-width:1100px;width:100%;margin:0 auto;flex:1}.usermenu{position:relative}.usermenu summary{list-style:none;cursor:pointer;padding:6px 12px;border-radius:8px;border:1px solid var(--p1-color-border)}.usermenu summary::-webkit-details-marker{display:none}.usermenu .menu{position:absolute;right:0;top:calc(100% + 6px);min-width:160px;padding:6px;background:var(--p1-color-surface);border:1px solid var(--p1-color-border);border-radius:10px}.usermenu .menu button{width:100%;text-align:left;background:none;border:0;color:var(--p1-color-text);padding:8px 10px;border-radius:6px;cursor:pointer;font:inherit}.usermenu .menu button:hover{background:var(--p1-color-surface-2)}.badge{font-size:.72rem;padding:2px 8px;border-radius:99px;background:var(--p1-gradient);margin-left:6px;font-weight:700}.card{background:var(--p1-color-surface);border:1px solid var(--p1-color-border);border-radius:14px;padding:20px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.instance header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 16px}.stats div{background:var(--p1-color-surface-2);border-radius:10px;padding:10px 14px}.stats dt{color:var(--p1-color-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.stats dd{margin:2px 0 0;font-size:1.35rem;font-weight:800}.actions{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:3px 12px;border-radius:99px;font-size:.8rem;font-weight:700;border:1px solid}.pill.ok{color:var(--p1-color-success);border-color:var(--p1-color-success);background:#3ecf8e1a}.pill.bad{color:var(--p1-color-danger);border-color:var(--p1-color-danger);background:#ef5b6b1a}.pill.warn{color:var(--p1-color-warn);border-color:var(--p1-color-warn);background:#f5b84a1a}.pill.off{color:var(--p1-color-muted);border-color:var(--p1-color-border)}.btn{font:inherit;font-weight:700;padding:8px 16px;border-radius:9px;cursor:pointer;text-decoration:none;text-align:center;background:var(--p1-color-surface-2);color:var(--p1-color-text);border:1px solid var(--p1-color-border)}.btn:hover:not(:disabled){border-color:var(--p1-color-lavender)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--p1-gradient);border-color:transparent;color:#fff}.btn.danger{background:var(--p1-color-danger);border-color:transparent;color:#fff}.btn.danger-outline{color:var(--p1-color-danger);border-color:#ef5b6b80}.btn.ghost{background:transparent}.btn.wide{display:block;width:100%;padding:12px}.btn:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--p1-color-lavender);outline-offset:2px}.form{display:grid;gap:14px;max-width:480px}label{display:grid;gap:6px;font-weight:600;font-size:.9rem}input,select{font:inherit;padding:9px 12px;border-radius:9px;background:var(--p1-color-bg);color:var(--p1-color-text);border:1px solid var(--p1-color-border)}input:disabled{opacity:.5}.alert{color:#ffd1d6;background:#ef5b6b1f;border:1px solid rgba(239,91,107,.4);padding:8px 12px;border-radius:9px;margin:8px 0 0}.notice{color:#c9f5de;background:#3ecf8e1a;border:1px solid rgba(62,207,142,.35);padding:8px 12px;border-radius:9px;margin:8px 0 0}.login{width:100%;max-width:380px;text-align:center;display:grid;gap:8px;justify-items:center;padding:32px}.login img{border-radius:24px;box-shadow:0 0 60px #6150ce73}.login h1{margin:8px 0 0}.login p{margin:0}.login .btn{margin-top:12px}dialog{background:var(--p1-color-surface);color:var(--p1-color-text);border:1px solid var(--p1-color-border);border-radius:14px;padding:22px;max-width:420px;width:calc(100% - 32px)}dialog::backdrop{background:#03080eb3}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.seg{display:inline-flex;border:1px solid var(--p1-color-border);border-radius:10px;overflow:hidden}.seg button{font:inherit;font-weight:700;padding:6px 18px;background:transparent;color:var(--p1-color-muted);border:0;cursor:pointer}.seg button.active{background:var(--p1-gradient);color:#fff}.status-line{margin-bottom:8px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--p1-color-muted);margin-right:4px}.dot.open{background:var(--p1-color-success)}.dot.connecting{background:var(--p1-color-warn)}.dot.closed{background:var(--p1-color-danger)}.log{margin:0;height:min(60vh,560px);overflow:auto;padding:12px 14px;background:#050c15;border:1px solid var(--p1-color-border);border-radius:12px;font:12.5px/1.45 ui-monospace,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-all}.console-input{display:flex;gap:8px;align-items:center;margin-top:10px}.console-input input{flex:1;font-family:ui-monospace,Menlo,Consolas,monospace}.prompt{color:var(--p1-color-lavender);font-weight:800}@media(max-width:640px){.topbar{flex-wrap:wrap;gap:8px;padding:10px 14px}main{padding:16px 14px}}main.wide{max-width:none;padding:12px 16px;display:flex;flex-direction:column}.pv{--pv-h: calc(100vh - 86px) ;flex:none;min-height:560px;height:var(--pv-h);display:grid;gap:12px;grid-template-rows:minmax(0,1fr);grid-template-columns:270px minmax(0,1fr) 340px}.pv[data-left=false]{grid-template-columns:minmax(0,1fr) 340px}.pv[data-right=false]{grid-template-columns:270px minmax(0,1fr)}.pv[data-left=false][data-right=false]{grid-template-columns:minmax(0,1fr)}.pv-side{background:var(--p1-color-surface);border:1px solid var(--p1-color-border);border-radius:14px;padding:14px;overflow:auto;min-width:0;display:flex;flex-direction:column;gap:8px}.pv[data-left=false] .pv-left,.pv[data-right=false] .pv-right{display:none}.pv-side-head{display:flex;justify-content:space-between;align-items:center}.pv-icon{padding:4px 10px;line-height:1}.pv-h{margin:8px 0 2px;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--p1-color-muted)}.pv-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.pv-item{width:100%;text-align:left;display:grid;gap:2px;font:inherit;color:var(--p1-color-text);background:transparent;border:1px solid transparent;border-radius:9px;padding:7px 10px;cursor:pointer}.pv-item:hover{background:var(--p1-color-surface-2)}.pv-item.active{background:var(--p1-color-surface-2);border-color:var(--p1-color-accent)}.pv-item strong{font-size:.9rem}.pv-item .small{font-size:.76rem;line-height:1.3}.pv-build{margin-top:auto;padding-top:8px}.pv-center{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.pv-toolbar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.pv-ctl{font-size:.78rem;color:var(--p1-color-muted);gap:3px}.pv-ctl select{padding:6px 10px}.pv-spacer{flex:1}.pv-toolbar .btn{padding:7px 12px}.pv-viewport{flex:1;min-height:0;overflow:auto;border:1px solid var(--p1-color-border);border-radius:12px;background:#04080f;display:grid;place-items:center}.pv-sizer{position:relative;flex:none}.pv-stage{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden;background-size:cover;background-position:center}.pv-stage[data-bg=night-city]{background-image:url(/preview-bg/night-city.svg)}.pv-stage[data-bg=day]{background-image:url(/preview-bg/day.svg)}.pv-stage[data-bg=dark]{background:linear-gradient(135deg,#2a2d33,#14161a 60%,#23262c)}.pv-stage[data-bg=light]{background:linear-gradient(135deg,#f4f5f7,#cfd3da 60%,#e8eaee)}.pv-stage[data-bg=checker]{background-color:#fff;background-image:linear-gradient(45deg,#c9ccd3 25%,transparent 25%,transparent 75%,#c9ccd3 75%),linear-gradient(45deg,#c9ccd3 25%,transparent 25%,transparent 75%,#c9ccd3 75%);background-size:48px 48px;background-position:0 0,24px 24px}.pv-frame{position:absolute;inset:0;border:0;background:transparent;color-scheme:normal}.pv-minimap{position:absolute;border:2px dashed rgba(255,255,255,.55);background:#283c5a59;display:grid;place-items:center;color:#fffc;font:600 18px system-ui,sans-serif;text-align:center;padding:12px}.pv-foot{margin:0}.pv-logbar{align-items:center}.pv-check{display:flex;align-items:center;gap:6px;font-weight:500;font-size:.82rem;grid-auto-flow:column}.pv-check input{width:auto}.pv-log{list-style:none;margin:0;padding:0;display:grid;gap:6px;overflow:auto;flex:1;min-height:120px;align-content:start}.pv-log-item{background:var(--p1-color-surface-2);border:1px solid var(--p1-color-border);border-radius:9px;padding:6px 9px;font-size:.82rem}.pv-log-item.message{opacity:.75;border-style:dashed}.pv-log-item details summary{cursor:pointer;font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all}.pv-log-item pre{margin:6px 0 0;white-space:pre-wrap;word-break:break-all;font:11.5px/1.4 ui-monospace,Menlo,Consolas,monospace;max-height:220px;overflow:auto}.pv-raw{display:grid;gap:8px}.pv-raw textarea{font:12.5px/1.45 ui-monospace,Menlo,Consolas,monospace;padding:9px 12px;border-radius:9px;background:var(--p1-color-bg);color:var(--p1-color-text);border:1px solid var(--p1-color-border);resize:vertical;width:100%}.pv-raw .btn.ghost{padding:3px 10px}@media(max-width:1180px){.pv{grid-template-columns:220px minmax(0,1fr) 280px}.pv[data-left=false]{grid-template-columns:minmax(0,1fr) 280px}.pv[data-right=false]{grid-template-columns:220px minmax(0,1fr)}.pv[data-left=false][data-right=false]{grid-template-columns:minmax(0,1fr)}}@media(max-width:900px){.pv,.pv[data-left],.pv[data-right],.pv[data-left][data-right]{grid-template-columns:minmax(0,1fr);grid-template-rows:none;height:auto}.pv-center{order:-1;min-height:60vh}.pv-side{max-height:40vh}}
