:root{--ink:#16202b;--ink-2:#223142;--ink-3:#2e4053;--canvas:#f2f4f3;--panel:#fff;--line:#d9dedd;--line-2:#e9edec;--text:#1b2731;--muted:#6b7a88;--faint:#95a2ac;--live:#2fa36b;--wait:#e0a32e;--block:#d1495b;--steel:#4c8fbd;--live-bg:#e4f3eb;--wait-bg:#fbf0da;--block-bg:#fae6e9;--r:3px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--canvas);color:var(--text);min-height:100vh;font-family:Inter Tight,system-ui,sans-serif;font-size:14px;line-height:1.45;display:flex}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,monospace}h1,h2,h3,.disp{font-variation-settings:"wdth" 112;letter-spacing:-.01em;font-family:Archivo,system-ui,sans-serif}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.rail{background:var(--ink);color:#b9c6d1;flex-direction:column;flex:0 0 206px;width:206px;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff17;padding:20px 18px 18px}.brand .mark{font-variation-settings:"wdth" 78;letter-spacing:.02em;color:#fff;font-family:Archivo;font-size:20px;font-weight:800;line-height:1}.brand .sub{color:#6e8296;letter-spacing:.09em;text-transform:uppercase;margin-top:6px;font-size:11px}.nav{flex-direction:column;gap:1px;padding:14px 10px;display:flex}.nav a{border-radius:var(--r);color:#a9b8c6;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:13px;text-decoration:none;display:flex}.nav a:hover{color:#fff;background:#ffffff0d}.nav a.on{background:var(--ink-3);color:#fff}.nav .count{color:#6e8296;font-family:IBM Plex Mono;font-size:11px}.nav a.on .count{color:#b9c6d1}.nav .sep{background:#ffffff14;height:1px;margin:12px 10px}.rail-foot{color:#5f7488;border-top:1px solid #ffffff17;margin-top:auto;padding:14px 18px;font-size:11px}.rail-foot .dot{background:var(--live);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.rail-foot .dot.off{background:var(--block)}.main{flex-direction:column;flex:1;min-width:0;display:flex}.top{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;padding:18px 26px 0;position:sticky;top:0}.top-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}h1{font-size:23px;font-weight:700}.top p{color:var(--muted);margin-top:3px;font-size:13px}.btn{border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:var(--r);cursor:pointer;padding:8px 15px;font-size:13px;font-weight:500;text-decoration:none;display:inline-block}.btn:hover{background:var(--ink-3);border-color:var(--ink-3)}.btn.ghost{color:var(--text);border-color:var(--line);background:0 0}.btn.ghost:hover{background:var(--canvas);border-color:var(--faint)}.btn:disabled{opacity:.4;cursor:not-allowed}.tabs{gap:22px;margin-top:16px;display:flex}.tabs button,.tabs a{cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:0 0 11px;font-size:13px;font-weight:500;text-decoration:none}.tabs button.on,.tabs a.on{color:var(--text);border-bottom-color:var(--ink)}.body{padding:22px 26px 60px}.metrics{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.metric{background:var(--panel);text-align:left;cursor:pointer;border:none;padding:13px 15px}.metric:hover{background:#fbfcfb}.metric.on{background:var(--ink)}.metric .n{font-variation-settings:"wdth" 88;font-family:Archivo;font-size:26px;font-weight:700;line-height:1}.metric .l{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-top:6px;font-size:11px}.metric.on .n{color:#fff}.metric.on .l{color:#93a5b4}.n.live{color:var(--live)}.n.wait{color:var(--wait)}.n.block{color:var(--block)}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 12px;display:flex}.search{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);flex:1;min-width:200px;max-width:320px;padding:7px 11px}.chip{border:1px solid var(--line);background:var(--panel);cursor:pointer;color:var(--muted);white-space:nowrap;border-radius:99px;padding:5px 11px;font-size:12px}.chip:hover{border-color:var(--faint);color:var(--text)}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip .b{opacity:.75;margin-left:5px;font-family:IBM Plex Mono;font-size:11px}.tbl{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}table{border-collapse:collapse;width:100%}thead th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);background:#fafbfa;padding:9px 14px;font-size:10px;font-weight:600}tbody td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:11px 14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{cursor:pointer;background:#fbfcfb}.pname{font-weight:500;display:block}.psku{color:var(--faint);margin-top:2px;font-size:11px}.price{font-size:13px}.price .alt{color:var(--block);font-size:11px;display:block}.empty{text-align:center;color:var(--muted);padding:40px;font-size:13px}.track{align-items:center;gap:0;width:184px;display:flex}.seg{letter-spacing:.06em;border:1px solid var(--line);height:23px;color:var(--faint);background:#f7f8f8;flex:1;justify-content:center;align-items:center;font-family:IBM Plex Mono;font-size:9.5px;font-weight:600;display:flex;position:relative}.seg:first-child{border-radius:var(--r) 0 0 var(--r)}.seg:last-child{border-radius:0 var(--r) var(--r) 0}.seg+.seg{border-left:none}.seg.live{background:var(--live-bg);color:#1c6e47;border-color:#b9dfca}.seg.wait{background:var(--wait-bg);color:#8a6412;border-color:#ebd6a4}.seg.block{background:var(--block-bg);color:#9a2e3d;border-color:#eebec6}.seg .pip{background:currentColor;border-radius:50%;flex:none;width:5px;height:5px;margin-right:5px}.seg.wait .pip{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.seg.wait .pip{animation:none}}.state{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.state.live{color:var(--live)}.state.wait{color:var(--wait)}.state.block{color:var(--block)}.state.off{color:var(--faint)}.err{color:var(--muted);max-width:250px;margin-top:2px;font-size:11px}.when{color:var(--faint);font-size:11px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}.card h2{margin-bottom:3px;font-size:16px}.card .lede{color:var(--muted);margin-bottom:18px;font-size:12.5px}.grid2{grid-template-columns:1fr 1fr;gap:13px 16px;display:grid}.f{flex-direction:column;gap:5px;display:flex}.f label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-weight:600}.f label .req{color:var(--block);margin-left:3px}.f input:not([type=checkbox]):not([type=radio]),.f select,.f textarea{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);width:100%;padding:7px 10px}.f input[type=checkbox],.f input[type=radio]{width:auto}.f .hint{color:var(--faint);font-size:11px}.f .hint.ok{color:var(--live)}.full{grid-column:1/-1}.conn{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px;display:grid}.conn .card{padding:15px 17px}.conn .ch-name{letter-spacing:.06em;color:var(--muted);font-family:IBM Plex Mono;font-size:11px;font-weight:600}.conn .st{align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.conn .st .dot{border-radius:50%;flex:none;width:8px;height:8px}.conn .st .dot.ok{background:var(--live)}.conn .st .dot.bad{background:var(--block)}.conn .detail{color:var(--muted);word-break:break-word;margin-top:5px;font-size:11.5px}.hist{margin-top:24px}.hist h2{margin-bottom:12px;font-size:15px}.tl{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.ev{border-bottom:1px solid var(--line-2);grid-template-columns:132px 46px 1fr auto;align-items:baseline;gap:14px;padding:10px 15px;font-size:12.5px;display:grid}.ev:last-child{border-bottom:none}.ev .ts{color:var(--faint);font-family:IBM Plex Mono;font-size:11px}.ev .ch{color:var(--muted);font-family:IBM Plex Mono;font-size:10px;font-weight:600}.ev .code{border-radius:2px;padding:1px 6px;font-family:IBM Plex Mono;font-size:11px}.code.c2{background:var(--live-bg);color:#1c6e47}.code.c4{background:var(--block-bg);color:#9a2e3d}.code.c3{background:var(--wait-bg);color:#8a6412}.ev .what b{font-weight:600}.ev .what span{color:var(--muted)}.wiz2{grid-template-columns:1fr 300px;align-items:start;gap:20px;display:grid}.pre-col{flex-direction:column;align-self:stretch;gap:14px;min-width:0;display:flex}.pre{background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}.pre-foot-sticky{z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);margin-top:auto;position:sticky;bottom:12px;box-shadow:0 -4px 14px #16202b14}.pre-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 15px;display:flex}.pre-h h3{font-size:13px}.pre-h .mono{color:var(--muted);font-size:11px}.ch-block{border-bottom:1px solid var(--line-2);padding:11px 15px}.ch-block:last-of-type{border-bottom:none}.ch-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.ch-name{letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600}.ck{color:var(--muted);align-items:flex-start;gap:8px;padding:2.5px 0;font-size:12px;display:flex}.ck i{text-align:center;flex:0 0 12px;width:12px;font-family:IBM Plex Mono,monospace;font-size:11px;font-style:normal;line-height:1.5}.ck.ok i{color:var(--live)}.ck.warn i{color:var(--wait)}.ck.bad i,.ck.bad{color:var(--block)}.pre-foot{flex-direction:column;gap:8px;padding:14px 15px;display:flex}.pre-foot .btn{text-align:center;width:100%}.pre-foot small{color:var(--faint);text-align:center;font-size:11px}.thumbs{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.thumb{border:1px solid var(--line);border-radius:var(--r);background:#fafbfa;flex-direction:column;gap:6px;padding:8px;display:flex}.thumb.main{border-color:var(--live)}.thumb img{object-fit:contain;background:#fff;border-radius:2px;width:100%;height:110px}.thumb input{border:1px solid var(--line);border-radius:2px;padding:4px 6px;font-size:11px}.thumb-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.sec{border:1px solid var(--line);border-radius:var(--r);margin-top:12px;overflow:hidden}.sec-head{border-bottom:1px solid var(--line-2);color:var(--muted);background:#fafbfa;justify-content:space-between;align-items:center;padding:7px 11px;font-size:11px;display:flex}.sec-cols{gap:12px;padding:12px;display:grid}.sec-cols.n2{grid-template-columns:1fr 1fr}.sec-cols textarea{border:1px solid var(--line);border-radius:var(--r);width:100%;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12px}.sec-img{object-fit:contain;border:1px solid var(--line-2);border-radius:2px;align-self:flex-start;max-height:130px;margin-top:6px}.op-detail{color:#c7d3dd;white-space:pre-wrap;word-break:break-all;background:#101820;max-height:320px;padding:12px 15px;font-family:IBM Plex Mono,monospace;font-size:11px;overflow:auto}.row-card{border:1px solid var(--line);border-radius:var(--r);background:#fff;margin-top:12px}.row-tools{border-bottom:1px solid var(--line-2);background:#fafbfa;align-items:center;gap:5px;padding:6px 10px;display:flex}.row-num{color:#fff;background:var(--ink);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:flex}.row-cols{gap:16px;padding:16px;display:grid}.row-cols.n2{grid-template-columns:1fr 1fr}.row-col{min-width:0}.col-empty{border:1.5px dashed var(--line);border-radius:var(--r);color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:26px 16px;font-size:12px;display:flex}.col-content{min-height:40px;position:relative}.col-content .col-img{max-width:100%;margin:0 auto;display:block}.col-content .placeholder{color:var(--faint)}.col-overlay{border-radius:var(--r);background:#16202b8c;justify-content:center;align-items:center;gap:8px;display:none;position:absolute;inset:0}.col-content:hover .col-overlay{display:flex}.btn-mini{background:var(--steel);color:#fff;letter-spacing:.05em;cursor:pointer;border:none;border-radius:99px;padding:6px 14px;font-size:11px;font-weight:600}.btn-mini:hover{filter:brightness(1.1)}.btn-mini.danger{background:var(--block);padding:6px 10px}.add-row{border:1.5px solid var(--steel);width:100%;color:var(--steel);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:99px;margin-top:14px;padding:10px;font-size:12px;font-weight:600}.add-row:hover{background:var(--steel);color:#fff}.layout-pick{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;align-items:center;gap:10px;margin-top:14px;padding:14px;display:flex}.layout-opt{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:#fff;gap:3px;padding:6px;display:flex}.layout-opt:hover{border-color:var(--steel)}.layout-opt span{border:1.5px solid var(--muted);border-radius:2px;width:34px;height:24px}.cat-picked{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.cat-picked .pill{max-width:100%}.pill-x{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;margin-left:4px;font-size:10px}.pill-x:hover{opacity:1}.cat-rows{border:1px solid var(--line);border-radius:var(--r);max-height:280px;margin-top:8px;overflow:auto}.cat-row{border-bottom:1px solid var(--line-2);align-items:center;gap:10px;padding:6px 10px;font-size:12.5px;display:flex}.cat-row:last-child{border-bottom:none}.cat-row:hover{background:#fbfcfb}.cat-row.on{background:var(--live-bg)}.cat-path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cat-row label{text-transform:none;color:var(--text);letter-spacing:0;font-size:12.5px;font-weight:400}.gpsr-new{border:1px dashed var(--line);border-radius:var(--r);background:#fafbfa;margin-top:14px;padding:14px}.gpsr-box{border:1px solid var(--line);border-radius:var(--r);color:var(--text);text-transform:none;letter-spacing:0;background:#fff;grid-template-columns:1fr 1fr 1fr;gap:14px;margin-top:6px;padding:12px 14px;font-size:12.5px;font-weight:400;display:grid}.gpsr-box-l{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:4px;font-size:10px;font-weight:600;display:block}.linklike{color:var(--steel);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.linklike:hover{color:var(--ink)}.name-limit-preview{border:1px dashed var(--line);border-radius:var(--r);word-break:break-word;background:#fbfcfb;margin-top:4px;padding:8px 10px;font-size:13px;line-height:1.5}.switch{cursor:pointer;text-transform:none;letter-spacing:0;color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:400;display:flex}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .slider{background:var(--line);border-radius:99px;flex:none;width:38px;height:20px;transition:background .15s;position:relative}.switch .slider:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch input:checked+.slider{background:var(--live)}.switch input:checked+.slider:after{left:20px}.switch-txt{color:var(--muted);font-size:12px;font-weight:600}.chan-links{border-top:1px solid var(--line-2);flex-direction:column;gap:6px;padding-top:10px;display:flex}.chan-link{justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;display:flex}.chan-link a{color:var(--steel)}.chan-link label{cursor:pointer;white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:flex}.modal-back{z-index:50;background:#16202b80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:6px;flex-direction:column;width:100%;max-width:860px;max-height:90vh;display:flex;box-shadow:0 20px 60px #0000004d}.modal-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-h h3{font-size:15px}.modal-f{border-top:1px solid var(--line);justify-content:flex-end;padding:12px 18px;display:flex}.rt-toolbar{border-bottom:1px solid var(--line);background:#fafbfa;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 12px;display:flex}.rt-btn{cursor:pointer;background:0 0;border:none;border-radius:3px;min-width:30px;padding:6px 9px;font-size:13px}.rt-btn:hover{background:var(--line-2)}.rt-sel{border:1px solid var(--line);background:#fff;border-radius:3px;padding:4px 6px;font-size:12px}.rt-sep{background:var(--line);width:1px;height:18px;margin:0 6px}.rt-area{outline:none;flex:1;min-height:280px;max-height:55vh;padding:16px 18px;overflow:auto}.imgpick{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px;display:grid;overflow:auto}.imgpick-item{border:1px solid var(--line);border-radius:var(--r);cursor:pointer;color:var(--muted);background:#fff;flex-direction:column;gap:6px;padding:8px;font-size:11px;display:flex}.imgpick-item:hover{border-color:var(--steel)}.imgpick-item img{object-fit:contain;width:100%;height:100px}.webowa-preview.borderless{border:none;padding:0}.webowa-preview{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:18px}.webowa-preview .webowa-row{align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.webowa-preview .webowa-column-12{flex:100%}.webowa-preview .webowa-column-6{flex:50%;min-width:0}.webowa-preview .webowa-image img{max-width:100%;display:block}.webowa-preview h1{margin-bottom:8px;font-size:20px}.webowa-preview h2{margin-bottom:8px;font-size:16px}.webowa-preview p,.webowa-preview li{font-size:13px;line-height:1.55}.webowa-preview ul,.webowa-preview ol{margin:8px 0;padding-left:20px}.hidden{display:none}@media (max-width:1180px){.metrics{grid-template-columns:repeat(3,1fr)}.conn,.wiz2{grid-template-columns:1fr}.pre{position:static}}@media (max-width:800px){body{flex-direction:column}.rail{flex-direction:row;flex:none;align-items:center;width:100%;height:auto;position:static}.nav{flex-direction:row;padding:8px;overflow:auto}.nav .sep,.rail-foot{display:none}.grid2{grid-template-columns:1fr}.body{padding:16px}.top{padding:14px 16px 0}.tbl{overflow-x:auto}table{min-width:800px}}
