:root{--bg: #0B0B0B;--l1: #131313;--l2: #1A1A1A;--l3: #222222;--line: #262626;--line2: #3A3A3A;--ink: #FFFFFF;--ink2: #D9D9D9;--mute: #8C8C8C;--acc: #FFCD00;--acc-ink: #0B0B0B;--ok: #3DDC84;--warn: #F5A524;--bad: #FF5A4E;--f: "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--cut: 8px;--h: 36px;color-scheme:dark;--c-bg: var(--bg);--c-surface: var(--l1);--c-line: var(--line);--c-ink: var(--ink);--c-mute: var(--mute);--c-accent: var(--acc);--c-accent-ink: var(--acc-ink);--c-ok: var(--ok);--c-danger: var(--bad);--radius: 0px;--f-body: var(--f);--f-display: var(--f)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--ink);font:400 14px/1.5 var(--f);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:0;text-wrap:balance}h1 span,h2 span{color:var(--acc)}p{margin:0}a{color:inherit}code{font:400 12px/1.4 ui-monospace,SF Mono,Menlo,monospace}:focus-visible{outline:2px solid var(--acc);outline-offset:1px}::selection{background:var(--acc);color:var(--acc-ink)}.boot{min-height:100vh}button{font:600 13px/1 var(--f);cursor:pointer;border-radius:0;color:inherit}button[disabled]{opacity:.4;cursor:default}input,select,textarea{font:400 14px/1.3 var(--f);color:var(--ink);background:var(--l1);border:1px solid var(--line);border-radius:0;padding:0 10px;min-height:var(--h);min-width:0}textarea{padding:8px 10px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--line2)}input:focus,select:focus,textarea:focus{border-color:var(--acc);outline:none}input[type=checkbox],input[type=radio]{min-height:0;width:16px;height:16px;accent-color:var(--acc);padding:0}input[type=range]{padding:0;min-height:24px;accent-color:var(--acc);background:none;border:0}input[type=color]{padding:2px}label{font-size:13px;font-weight:600;color:var(--ink2)}.primary,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--h);padding:0 16px;border:0;background:var(--acc);color:var(--acc-ink);font-weight:700;clip-path:polygon(0 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}.primary:hover,button[type=submit]:hover{background:#ffd633}.ghost{display:inline-flex;align-items:center;gap:6px;min-height:var(--h);padding:0 12px;background:transparent;border:1px solid var(--line2);color:var(--ink);font-weight:600;text-decoration:none}.ghost:hover{border-color:var(--ink2)}.ghost.danger,.danger{color:var(--bad)}.ghost.danger:hover{border-color:var(--bad)}.danger-btn{min-height:var(--h);padding:0 14px;border:0;background:var(--bad);color:#fff;font-weight:700}.linkbtn{background:none;border:0;padding:0;color:var(--ink2);font:500 13px/1.4 var(--f);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2);cursor:pointer}.linkbtn:hover{color:var(--ink);text-decoration-color:var(--acc)}.mini,.mini0{min-height:28px;padding:0 10px;font-size:12px}.btnlink{text-decoration:none}.codein{letter-spacing:.3em;font-weight:700;text-transform:uppercase;font-variant-numeric:tabular-nums}.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line2);width:fit-content}.seg button{min-height:32px;padding:0 12px;border:0;background:none;color:var(--mute);font-weight:600}.seg button+button{border-left:1px solid var(--line2)}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--l3);color:var(--ink);box-shadow:inset 0 -2px 0 var(--acc)}.seg.small button{min-height:28px;padding:0 10px;font-size:12px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.tabs button{background:none;border:0;padding:12px 0;color:var(--mute);font-size:14px;box-shadow:inset 0 -2px 0 transparent}.tabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--acc)}form,.form{display:grid;gap:16px}.form-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.field{display:grid;gap:6px;align-content:start}.field small{color:var(--mute);font-size:12px}.grid2,.grid3{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.toggle{display:flex;align-items:center;gap:10px;font-weight:400;font-size:14px;color:var(--ink)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 10px;border:1px solid var(--line2);font-size:13px;font-weight:500;color:var(--ink)}.chip:has(input:checked){border-color:var(--ink2);background:var(--l2)}.chip .x{background:none;border:0;color:var(--mute);font-size:16px;padding:0 0 0 4px}.error{color:var(--bad);font-size:13px}.okmsg{color:var(--ok);font-size:13px}.warn{color:var(--warn)}.note{padding:12px 16px;border-left:2px solid var(--acc);background:var(--l1);display:grid;gap:8px}.note.danger{border-left-color:var(--bad)}.copy{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.copy code{background:var(--l1);padding:8px 10px;border:1px solid var(--line);overflow-x:auto;max-width:100%}details>summary{cursor:pointer;color:var(--ink2);font-weight:600;font-size:13px;list-style:none}details>summary:before{content:"+";display:inline-block;width:16px;color:var(--mute)}details[open]>summary:before{content:"–"}details[open]>summary{margin-bottom:12px}.pairbox{padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.howto{margin:0 0 12px;padding-left:18px;color:var(--ink2);font-size:13px;display:grid;gap:4px}.mute,.empty,.lede{color:var(--mute);max-width:72ch}.small{font-size:13px}.empty{padding:24px 0}.stack{display:grid;gap:16px}.stack.tight{gap:8px}.row{display:flex;align-items:center;gap:8px}.row.wrap{flex-wrap:wrap}.scroll{overflow-x:auto}.sdot{display:inline-block;width:8px;height:8px;background:#4a4a4a;flex:none}.sdot.on{background:var(--ok)}.sdot.open{background:transparent;outline:1px dashed var(--mute);outline-offset:-1px}.pill{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--mute);white-space:nowrap}.pill:before{content:"";width:8px;height:8px;background:#4a4a4a}.pill.ok{color:var(--ink)}.pill.ok:before{background:var(--ok)}.pill.warn{color:var(--ink2)}.pill.warn:before{background:var(--warn)}.tag{font-style:normal;font-size:11px;font-weight:700;color:var(--acc);margin-left:8px;letter-spacing:.04em;text-transform:uppercase}.badge{font-size:12px;font-weight:600;color:var(--acc);margin-left:8px}.dot{display:inline-block;width:6px;height:6px;background:var(--bad);margin-left:8px;vertical-align:middle}.on{color:var(--ok)}.off{color:var(--mute)}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;font-weight:600;color:var(--mute);padding:8px 12px 8px 0;border-bottom:1px solid var(--line2);white-space:nowrap}.table td{padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:middle;height:40px}.table tr:hover td{background:linear-gradient(var(--l1),var(--l1))}.table small{color:var(--mute)}.table.small td{padding:6px 12px 6px 0;height:32px}.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}tr.dim{opacity:.5}.list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.list li.dim{opacity:.5}.list span{color:var(--mute);font-size:13px}.row-link{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;width:100%;color:inherit;text-decoration:none}.list li:has(.row-link):hover{background:var(--l1)}.login{min-height:100vh;display:grid;grid-template-rows:1fr auto;place-items:center;padding-inline:24px;padding-block:48px 24px}.login-card{width:min(100%,380px);display:grid;gap:16px}.brand{width:112px;height:auto}.login h1{font:900 clamp(34px,8vw,44px)/1 var(--f);text-transform:uppercase;letter-spacing:-.01em}.login h1 span{font-style:italic}.login .lede{margin-bottom:8px}.login button[type=submit]{width:100%;min-height:44px;font-size:14px}.login-foot{color:var(--mute);font-size:12px}.app{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.side{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto 1fr auto;border-right:1px solid var(--line);background:var(--bg);z-index:5}.side-top{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:56px;border-bottom:1px solid var(--line)}.home{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.brand-sm{width:24px;height:auto}.wordmark{font:italic 900 15px/1 var(--f);text-transform:uppercase;letter-spacing:.01em}.wordmark span{color:var(--acc)}.menu-btn{display:none;min-height:32px;padding:0 10px;font-size:16px}.side-body{overflow-y:auto;padding:16px 0;display:grid;gap:24px;align-content:start}.switch{display:grid;gap:6px;padding:0 16px}.switch label{font-size:12px;color:var(--mute);font-weight:500}.switch select{width:100%;font-weight:600}.switch small{color:var(--mute);font-size:12px}.group{display:grid}.group p{margin:0 0 4px;padding:0 16px;font-size:12px;font-weight:500;color:var(--mute)}.group a,.side-foot a{display:block;padding:8px 16px;color:var(--ink2);text-decoration:none;font-size:14px;border-left:2px solid transparent}.group a:hover,.side-foot a:hover{color:var(--ink);background:var(--l1)}.group a.on,.side-foot a.on{color:var(--ink);border-left-color:var(--acc);font-weight:600}.side-foot{display:grid;gap:4px;padding:12px 0 16px;border-top:1px solid var(--line)}.side-foot .ghost{justify-self:start;margin-left:16px;min-height:28px;font-size:12px}.content{padding:32px clamp(16px,3vw,48px) 64px;max-width:1240px;width:100%}@media(max-width:900px){.app{grid-template-columns:1fr}.side{position:sticky;top:env(safe-area-inset-top,0px);height:auto;grid-template-rows:auto;border-right:0;border-bottom:1px solid var(--line)}.side-body,.side-foot{display:none}.menu-open .side-body,.menu-open .side-foot{display:grid}.menu-btn{display:block}.side-top{border-bottom:0}.content{padding-top:24px}}.page{display:grid;gap:24px}.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:13px}.crumbs a{color:var(--mute);text-decoration:none}.crumbs a:after{content:"/";margin-left:8px;color:var(--line2)}.crumbs a:last-child:after{content:none}.crumbs a:hover{color:var(--ink)}.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--line)}.page-head h2{font-size:28px;line-height:1.15;font-weight:700}.head-meta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}h3{font-size:16px;font-weight:600;margin-top:8px}h4{font-size:14px;font-weight:600}.pad{padding:16px 0}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.kpis div{display:grid;gap:2px;padding:16px 16px 16px 0}.kpis div+div{padding-left:16px;border-left:1px solid var(--line)}.kpis b{font:700 28px/1.1 var(--f);font-variant-numeric:tabular-nums}.kpis span{color:var(--mute);font-size:12px}.statstrip{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:16px 0;border-top:1px solid var(--line);color:var(--mute);font-size:13px}.statstrip b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.statstrip a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:3px}.evlist{display:grid;gap:32px}.evlist.dim{opacity:.55;margin-top:16px}.evcard{display:grid;gap:0}.evcard header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--line2)}.evtitle{font:600 20px/1.25 var(--f);color:var(--ink);text-decoration:none;margin-right:12px}.evtitle:hover{color:var(--acc)}.evcard header small{color:var(--mute);font-size:13px}.evnav{display:flex;gap:16px}.evnav a{color:var(--ink2);font-size:13px;text-decoration:none}.evnav a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--acc)}.outs{list-style:none;margin:0;padding:0}.outs li{border-bottom:1px solid var(--line)}.outrow{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(120px,1.2fr) 100px 160px;gap:16px;align-items:center;padding:0;height:44px;color:inherit;text-decoration:none}.outrow:hover{background:var(--l1)}.outrow b{font-weight:600}.outrow span{color:var(--ink2);font-size:13px}.outrow .num{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:640px){.outrow{grid-template-columns:1fr auto}.outrow span:not(.pill){display:none}}.walls{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:24px}.wallcard{display:grid;grid-template-rows:auto 1fr;text-align:left;color:inherit;background:none;border:0;padding:0}.wallcard.add{place-content:center;justify-items:center;gap:8px;min-height:240px;border:1px dashed var(--line2);color:var(--ink2);font:600 14px/1.3 var(--f);cursor:pointer;padding:24px;text-align:center}.wallcard.add span{font-size:28px;line-height:1;color:var(--acc)}.wallcard.add:hover{border-color:var(--ink2);color:var(--ink)}.pvbtn{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer}.pvbtn:hover .pvbox{outline:1px solid var(--ink2)}.pvbox{display:grid;place-items:center;aspect-ratio:16 / 9;background:#050505;outline:1px solid var(--line);overflow:hidden}.pv{position:relative;max-width:100%;max-height:100%;background:#000}.pv iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;pointer-events:none}.wbody{padding:12px 0 0;display:grid;gap:4px;align-content:start}.wtitle{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wtitle b{font-size:16px;font-weight:600}.wtitle .pill{margin-left:auto}.wbody p{color:var(--ink2);font-size:13px}.schips{list-style:none;margin:4px 0 0;padding:0;display:flex;gap:4px 16px;flex-wrap:wrap}.schips li{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}.wactions{margin-top:8px}.drawer-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0009;display:flex;justify-content:flex-end}.drawer{width:min(100%,560px);height:100%;background:var(--bg);border-left:1px solid var(--line2);display:grid;grid-template-rows:auto 1fr}.drawer.wide{width:min(100%,760px)}.drawer>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;height:56px;border-bottom:1px solid var(--line);margin-top:env(safe-area-inset-top,0px)}.drawer>header h3{margin:0;font-size:18px;font-weight:600}.drawer-body{overflow-y:auto;padding:24px 24px calc(48px + env(safe-area-inset-bottom,0px));display:grid;gap:32px;align-content:start}.drawer .pvbox{outline:1px solid var(--line)}.dsec{display:grid;gap:12px}.dsec>h4{font-size:14px;font-weight:600;padding-bottom:8px;border-bottom:1px solid var(--line)}.fmtpick{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.fmtpick button{display:grid;justify-items:center;gap:4px;padding:12px 8px;border:1px solid var(--line2);background:none;color:var(--ink)}.fmtpick button.on{border-color:var(--acc)}.fmtpick i{display:block;border:1.5px solid var(--mute);margin-bottom:4px}.fmtpick button.on i{border-color:var(--acc)}.fmtpick b{font-size:13px;font-weight:600}.fmtpick small{color:var(--mute);font-size:11px}.fmtpick .full{grid-column:1 / -1}.wiz{display:grid;gap:24px;max-width:760px}.wizfoot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line);max-width:760px}.wizfoot .primary{margin-left:auto}.swatches{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.swatch{display:flex;align-items:center;gap:12px}.swatch input[type=color]{width:40px;height:40px;border:1px solid var(--line2);background:none}.swatch span{font-size:13px;flex:1}.swatch code{color:var(--mute)}.preview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid}.preview strong{font:700 20px/1 var(--f)}.preview button{border:0;min-height:32px;padding:0 14px;font-weight:700}.preview img{height:32px;width:auto}.logo-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.logo-box{width:200px;height:112px;display:grid;place-items:center;border:1px solid var(--line2);padding:16px;background:var(--l1)}.logo-box img{max-width:100%;max-height:100%}.partner-logos{display:flex;flex-wrap:wrap;gap:10px}.partner-logo{width:150px;display:grid;gap:6px;padding:10px;border:1px solid var(--line2)}.partner-logo img{width:100%;height:60px;object-fit:contain}.totp{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.totp img{background:#fff;padding:8px}.secret{display:inline-block;font-size:16px;letter-spacing:.08em;margin-bottom:12px}.plist{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}.plist li{display:flex;align-items:center;gap:8px}.plist i{width:8px;height:8px}.plist span{margin-left:auto;color:var(--mute);font-variant-numeric:tabular-nums}.vp{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.vp input{width:80px;font-size:13px}.maskview{position:relative;width:100%;max-width:900px;background:#151515 repeating-linear-gradient(45deg,#1d1d1d 0,#1d1d1d 8px,#151515 8px,#151515 16px);border:1px solid var(--line);overflow:hidden}.maskview img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.zone-box{position:absolute;border:1px solid var(--acc);background:#ffcd0014;display:grid;place-content:center}.zone-box.hud{border-color:#33d1ff;background:#33d1ff14}.zone-box span{font-size:12px;font-weight:600;background:var(--bg);padding:2px 6px}.hours{display:grid;gap:16px}.day small{color:var(--mute)}.bars{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;align-items:end;height:88px;padding-top:8px;border-bottom:1px solid var(--line2)}.bars i{display:block;background:var(--ink2);min-height:1px}.bars i:hover{background:var(--acc)}.axis{display:flex;justify-content:space-between;font-size:11px;color:var(--mute)}@media print{.side,.form-foot,.tabs,button{display:none!important}.app{display:block}body{background:#fff;color:#000}}.lw-boot{min-height:100vh;display:grid;place-items:center}.lw{--h: 28px;height:100vh;height:100dvh;display:grid;grid-template-columns:248px minmax(0,1fr) 320px;grid-template-rows:48px minmax(0,1fr);grid-template-areas:"top top top" "left center right";font-size:13px;background:var(--bg);padding-top:env(safe-area-inset-top,0px)}.lw input,.lw select{font-size:13px;padding:0 8px}.lw button,.lw .small,.lw small{font-size:12px}.lw-top{grid-area:top;display:flex;align-items:center;gap:12px;padding:0 12px;border-bottom:1px solid var(--line);min-width:0}.lw-title{display:flex;align-items:baseline;gap:8px;min-width:0}.lw-title small{color:var(--mute)}.lw-title b{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lw-grow{flex:1}.lw-save{color:var(--mute);font-size:12px;min-width:8em}.lw-save.error{color:var(--bad)}.lw-check{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--ink2)}.lw-check input{width:14px;height:14px}.lw-left,.lw-right{overflow:auto;background:var(--bg)}.lw-left{grid-area:left;border-right:1px solid var(--line);padding-bottom:24px}.lw-right{grid-area:right;border-left:1px solid var(--line)}.lw-lh{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}.lw-lh h4{font-size:12px;font-weight:600;color:var(--mute)}.lw-left>.lw-lh{padding:16px 12px 4px}.lw-pad{padding:8px 12px;display:grid;gap:8px}.lw-list{list-style:none;margin:0;padding:0}.lw-list li>button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;text-align:left;background:none;border:0;border-left:2px solid transparent;padding:8px 12px 8px 10px;color:var(--ink);font-weight:400}.lw-list li>button:hover{background:var(--l1)}.lw-list li>button.on{background:var(--l2);border-left-color:var(--acc)}.lw-list li>button b{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lw-list li>button small{grid-column:1 / -1;color:var(--mute)}.lw-list li.mute{padding:4px 12px}.lw-swatch{display:inline-block;width:8px;height:8px;flex:none}.lw-device{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);cursor:grab}.lw-device small{color:var(--mute)}.lw-device button{grid-column:1 / -1;justify-self:start}.lw-wide{width:100%;justify-content:center}.lw-gen{margin:8px 12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:8px}.lw-center{grid-area:center;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;position:relative}.lw-tools{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:6px 8px;border-bottom:1px solid var(--line);min-width:0}.lw-tools button{min-height:28px;padding:0 10px;background:none;border:1px solid transparent;color:var(--ink2);font-weight:600}.lw-tools button:hover{color:var(--ink);border-color:var(--line2)}.lw-tools button.on{color:var(--ink);background:var(--l3);box-shadow:inset 0 -2px 0 var(--acc)}.lw-tools button:disabled{opacity:.35}.lw-tools .sep{width:1px;height:20px;background:var(--line2);margin:0 6px}.lw-surfaces{overflow:auto;min-height:0;background:#070707;background-image:radial-gradient(#1a1a1a 1px,transparent 1px);background-size:16px 16px}.lw-world{position:relative}.lw-surface{position:absolute;background:#000;outline:1px solid var(--line2)}.lw-surface.on{outline:1px solid var(--acc)}.lw-slabel{position:absolute;left:0;top:-22px;background:none;border:0;color:var(--mute);font-size:12px;padding:0;white-space:nowrap;font-weight:500}.lw-surface.on .lw-slabel{color:var(--ink)}.lw-live{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;pointer-events:none}.lw-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;overflow:visible}.lw-svg.creating{cursor:crosshair}.lw-svg text{font-family:var(--f);font-weight:600;paint-order:stroke;stroke:#000000d9;stroke-width:.3em}.lw-r.dim{opacity:.35}.lw-win{border-top:1px solid var(--line);height:min(34vh,320px);display:grid;grid-template-rows:32px minmax(0,1fr);background:#070707}.lw-winhead{display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--line)}.lw-winhead b{font-weight:600}.lw-winhead small{color:var(--mute)}.lw-winbox{min-height:0;display:grid;place-items:center}.lw-winframe{position:relative;border:1px solid;background:#0d0d0d;box-sizing:content-box}.lw-empty{position:absolute;top:40px;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:16px;text-align:center;color:var(--ink2);padding:24px}.lw-props{display:grid}.lw-sec{padding:12px;border-bottom:1px solid var(--line);display:grid;gap:8px}.lw-field{display:grid;gap:4px;font-weight:400;color:var(--ink)}.lw-field>span,.lw-num>span{font-size:11px;color:var(--mute);font-weight:500}.lw-rect{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.lw-rect.two{grid-template-columns:repeat(2,minmax(0,1fr))}.lw-num{display:grid;gap:2px;font-weight:400}.lw-num input,.lw-num select{width:100%;font-variant-numeric:tabular-nums}.lw-zrow,.lw-slice{display:grid;gap:6px;padding:8px;border:1px solid var(--line)}.lw-zrow.on,.lw-slice.on{border-color:var(--line2);background:var(--l1);box-shadow:inset 2px 0 0 var(--acc)}.lw-slice{cursor:pointer}.lw-slice.on{cursor:default}.lw-slice .lw-lh select{flex:1}.lw-cap{color:var(--mute);font-size:11px;margin-top:2px}.lw-status{display:flex;align-items:center;gap:8px;color:var(--ink2)}.lw-link{flex:1 1 100%;overflow-wrap:anywhere;padding:6px 8px;background:var(--l1);border:1px solid var(--line);-webkit-user-select:all;user-select:all}.lw-code{width:8em}.lw .warn{display:grid;gap:4px;justify-items:start;font-size:12px}.lw-compact form{gap:8px}.lw-compact .grid3,.lw-compact .grid2{grid-template-columns:1fr;gap:8px}.lw-compact label{font-size:11px;color:var(--mute);font-weight:500}.lw-compact .field small{font-size:11px}.lw-compact input,.lw-compact select{min-height:28px;font-size:13px}.lw-compact .seg button{min-height:28px;font-size:12px;padding:0 8px}.lw-compact button[type=submit]{min-height:28px;font-size:12px;justify-self:start}.lw-tpl{display:inline-flex;gap:4px;align-items:center}.lw-tpl input{width:12em}.lw-3d{position:relative;min-height:0;background:#000}.lw-3d iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}@media(max-width:1100px){.lw{grid-template-columns:208px minmax(0,1fr) 288px}}@media(max-width:820px){.lw{height:auto;min-height:100dvh;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 52vh auto auto;grid-template-areas:"top" "center" "right" "left"}.lw-top{flex-wrap:wrap;padding:8px 12px;gap:8px}.lw-top .lw-grow{display:none}.lw-left{border-right:0;border-top:1px solid var(--line)}.lw-right{border-left:0;border-top:1px solid var(--line)}.lw-win{height:26vh}.lw-save{min-width:0}.lw-title b{max-width:50vw}}.primary:disabled,button[type=submit]:disabled{background:var(--l3);color:var(--mute);opacity:1}.lw.is3d{grid-template-columns:248px minmax(0,1fr) 0}.lw.is3d .lw-right{display:none}@media(max-width:820px){.lw.is3d{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 80vh auto;grid-template-areas:"top" "center" "left"}}.lw-hint{color:var(--ink2);font-size:12px;padding:0 8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 200px}p.lw-pad{display:block}.lw-hint{white-space:normal;overflow:visible;line-height:1.35;padding-block:4px}pre.launch{margin:0;padding:12px;background:var(--l1);border:1px solid var(--line);overflow-x:auto;max-height:50vh;font-size:12px;line-height:1.5;white-space:pre;-webkit-user-select:all;user-select:all}.lw-win{height:min(44vh,420px);grid-template-rows:auto minmax(0,1fr) auto}.lw-winhead{flex-wrap:wrap;padding:6px 12px;min-height:32px}.lw-add{display:inline-flex;align-items:center;gap:4px;color:var(--mute);font-size:12px;flex-wrap:wrap}.lw-winframe .lw-live{opacity:.9}.lw-winnote{color:var(--mute);font-size:12px;padding:4px 12px 8px}.lw-addrow{display:flex;flex-wrap:wrap;gap:4px;padding:0 12px 8px}.lw.cv .lw-surface.on{outline-color:var(--line2)}.lw.cv .lw-surfaces{background:#070707}.stepper{list-style:none;margin:0;padding:0;display:flex;gap:24px;border-bottom:1px solid var(--line)}.stepper li{display:flex;align-items:center;gap:8px;padding:12px 0;color:var(--mute);font-size:14px;box-shadow:inset 0 -2px 0 transparent}.stepper li span{width:22px;height:22px;display:grid;place-content:center;border:1px solid var(--line2);font-size:12px;font-weight:600}.stepper li.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--acc)}.stepper li.on span{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.stepper li.done{color:var(--ink2)}.stepper li.done span{border-color:var(--ok);color:var(--ok)}.field>span{font-size:13px;color:var(--mute)}.palette{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pcol{display:inline-flex;align-items:center;gap:2px}.pcol input[type=color]{width:32px;height:32px;border:1px solid var(--line2);background:none;padding:0}.pcol .ghost{min-height:28px;padding:0 6px}.pdot{width:18px;height:18px;display:inline-block;border:1px solid var(--line2)}.tpreview{display:grid;gap:16px;grid-template-columns:200px minmax(0,1fr);align-items:start}@media(max-width:640px){.tpreview{grid-template-columns:1fr}}.tphone{display:grid;gap:10px;justify-items:center;padding:20px 14px;border:1px solid;text-align:center}.tphone img{height:36px;width:auto;max-width:140px}.tphone small{font-size:11px;letter-spacing:.06em}.tphone strong{font-size:22px;line-height:1;font-weight:900;font-style:italic}.tphone input{width:100%;border:1px solid;padding:10px;font:700 15px/1 inherit;text-transform:uppercase;text-align:center}.tphone button{width:100%;min-height:44px;font-weight:900;font-style:italic;font-size:16px}.twall{display:grid;border:1px solid;max-width:480px}.twall canvas{display:block;width:100%;height:auto}.tboard{display:grid;gap:4px;padding:12px 16px;font-size:14px}.tboard b{font-size:18px;font-weight:900;font-style:italic}.tboard span{display:flex;justify-content:space-between;font-weight:600}.tboard em{font-style:normal;color:inherit}.ed{--h: 28px;height:100vh;height:100dvh;display:grid;grid-template-columns:252px minmax(0,1fr) 300px;grid-template-rows:44px minmax(0,1fr) auto;grid-template-areas:"top top top" "left center right" "drawer drawer drawer";background:var(--bg);overflow:hidden}.ed input,.ed select{font-size:13px;padding:0 8px}.ed button,.ed .small,.ed small{font-size:12px}.ed-top{grid-area:top;display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid var(--line);min-width:0}.ed-top .lw-title{flex:0 1 auto;min-width:0;white-space:nowrap}.ed-top .lw-title b{max-width:18ch}.ed-top .seg{flex:none;flex-wrap:nowrap}.ed-top .lw-save{min-width:0;white-space:nowrap}.ed-tools{flex:1 1 auto}@media(max-width:1760px){.ed-tools>button kbd{display:none}.ed-tools>button{padding:0 7px}}@media(max-width:1360px){.ed{grid-template-columns:220px minmax(0,1fr) 280px}.ed-tools>button{font-size:11px;padding:0 5px}}.ed-sep{width:1px;height:22px;background:var(--line2);margin:0 4px;flex:none}.ed-tools{display:flex;align-items:center;gap:2px;min-width:0;overflow:hidden}.ed-tools>button{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;background:none;border:1px solid transparent;color:var(--ink2);font-weight:600;white-space:nowrap}.ed-tools>button kbd{font:600 10px/1 var(--f);color:var(--mute);padding:2px 4px;border:1px solid var(--line2)}.ed-tools>button:hover{color:var(--ink);border-color:var(--line2)}.ed-tools>button.on{color:var(--ink);background:var(--l3);box-shadow:inset 0 -2px 0 var(--acc)}.ed-tools>button.on kbd{color:var(--acc);border-color:var(--acc)}.ed-tools>button:disabled{opacity:.35}.ed-left,.ed-right{overflow:auto;min-height:0}.ed-left{grid-area:left;border-right:1px solid var(--line);padding-bottom:24px}.ed-right{grid-area:right;border-left:1px solid var(--line)}.ed-center{grid-area:center;min-height:0;min-width:0;position:relative;display:grid}.ed-group{border-bottom:1px solid var(--line)}.ed-group-h{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px 6px;background:none;border:0;color:var(--mute);font-size:12px;font-weight:600;text-align:left}.ed-group-h small{margin-left:auto;font-weight:400}.ed-caret{width:10px;color:var(--mute)}.ed-rows{list-style:none;margin:0;padding:0 0 6px}.ed-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;border-left:2px solid transparent}.ed-row.on{background:var(--l2);border-left-color:var(--acc)}.ed-row.over{box-shadow:inset 0 2px 0 var(--acc)}.ed-row.hid .ed-row-main{opacity:.45}.ed-row-main{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:2px 8px;text-align:left;background:none;border:0;padding:6px 8px 6px 10px;color:var(--ink);font-weight:400;min-width:0}.ed-row-main:hover{background:var(--l1)}.ed-row-main b{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-row-main small{grid-column:1 / -1;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-row-main .sdot{margin-right:-4px}.ed-row-main .lw-swatch+b{grid-column:2 / -1}.ed-row-main .lw-swatch+.sdot+b{grid-column:3}.ed-row-tools{display:flex;gap:0;padding-right:6px;opacity:0}.ed-row:hover .ed-row-tools,.ed-row.on .ed-row-tools,.ed-row-tools:has(.on){opacity:1}.ed-row-tools button{background:none;border:0;padding:4px 3px;color:var(--mute);font-size:11px;line-height:1}.ed-row-tools button.on{color:var(--acc)}.ed-empty{padding:4px 12px 8px;color:var(--mute);font-size:12px}.ed-stagewrap{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}.ed-stage.panning{cursor:grab}.ed-stage.panning:active{cursor:grabbing}.ed-stage.zooming{cursor:zoom-in}.ed.space .lw-svg,.ed.tool-hand .lw-svg,.ed.tool-zoom .lw-svg{pointer-events:none}.ed-status{display:flex;align-items:center;gap:8px;padding:0 10px;height:28px;border-top:1px solid var(--line);font-size:12px;color:var(--mute)}.ed-hint{color:var(--ink2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ed-coords{font-variant-numeric:tabular-nums;min-width:7em;text-align:right}.ed-status button{min-height:22px;padding:0 8px;background:none;border:1px solid transparent;color:var(--ink2);font-weight:600}.ed-status button:hover{border-color:var(--line2)}.ed-3d{position:absolute;top:0;right:0;bottom:0;left:0}.ed-3d iframe{width:100%;height:100%;border:0;display:block;background:#0c0c0e}.ed-drawer{grid-area:drawer;border-top:1px solid var(--line);background:var(--bg);display:grid;grid-template-rows:32px auto}.ed-drawer-head{display:flex;align-items:center;gap:12px;padding:0 10px}.ed-tabs{display:flex;gap:2px}.ed-tabs.wrap{flex-wrap:wrap}.ed-tabs button{background:none;border:0;padding:0 10px;min-height:30px;color:var(--mute);font-weight:600;box-shadow:inset 0 -2px 0 transparent}.ed-tabs button.on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--acc)}.ed-drawer-body{height:min(300px,36vh);overflow:auto;padding:12px 16px 16px;border-top:1px solid var(--line)}.ed-devices,.ed-game-cols{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px}.ed-game{display:grid;gap:12px}.ed-game h4{font-size:13px;font-weight:600;color:var(--ink2)}.ed-devices h4,.ed-test h4{font-size:12px;font-weight:600;color:var(--mute)}.ed-devlist{list-style:none;margin:0;padding:0;display:grid;gap:4px}.ed-devlist li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border:1px solid var(--line);font-size:13px}.ed-devlist li b{font-weight:600}.ed-devlist li small{color:var(--mute)}.ed-devlist li.ed-dev{cursor:grab}.ed-devact{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.ed-devact small{color:var(--mute)}.ed-test{display:grid;gap:12px}.lw-check.big{font-size:14px}.lw-compact .form-foot,.lw-compact form{gap:8px}.ed-presets{display:grid;grid-template-columns:1fr 1fr;width:100%}.ed-presets button{min-height:28px}.ed-mobile{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.ed-mobile .ed-top{flex:none;height:44px;padding:0 12px}.ed-mnote{margin:8px 12px}.ed-mobile .ed-tabs{padding:0 12px;border-bottom:1px solid var(--line);flex:none}.ed-mobile .ed-tabs button{min-height:36px;font-size:13px}.ed-mbody{flex:1;padding:12px;display:grid;gap:16px;align-content:start}.ed-mbody .ed-devices{grid-template-columns:1fr}.ed-mbody h4{font-size:13px;font-weight:600;color:var(--ink2)}.ed-mobile .ed-devlist li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px}.ed-mobile .ed-devlist li small{grid-column:1 / -1}.ed-mobile .ed-devact{grid-column:1 / -1;margin:0}.ed-mobile .ed-devact input,.ed-mobile .ed-devact button,.ed-mobile .ed-devact select{min-height:36px;font-size:14px}.ed-mobile .lw-code{width:7em}.ed-mwin{display:grid;gap:6px;padding:8px;border:1px solid var(--line)}.ed-mwin b{font-size:13px}.ed-mwin input{min-height:36px;font-size:14px}
