@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/admin/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/admin/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/admin/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/admin/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/admin/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/admin/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/admin/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/admin/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/admin/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/admin/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/admin/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/admin/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/admin/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/admin/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/admin/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/admin/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/admin/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/admin/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/admin/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f2f2f0;--panel:#fff;--field:#fafaf9;--line:#e2e1dd;--line-strong:#d5d4cf;--text:#141416;--text-2:#55545b;--muted:#6b6a72;--yellow:#ffd23f;--yellow-ink:#e0a800;--yellow-soft:#fff4cc;--yellow-text:#5c4600;--danger:#c2410c;--ok:#1f6b43;--font-heading:"Bricolage Grotesque Variable", Inter, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,sans-serif}h1,h2,h3{font-family:var(--font-heading);letter-spacing:-.01em;margin:0}h1{letter-spacing:-.02em;font-size:30px;font-weight:800}h3{font-size:18px;font-weight:700}a{color:var(--text)}a:hover{color:var(--text-2)}.muted{color:var(--muted)}.small{font-size:12.5px}.mono{word-break:break-all;font-family:ui-monospace,monospace}.spacer{flex:1}.error{color:var(--danger)}.notice{background:var(--yellow-soft);color:var(--yellow-text);border-radius:10px;margin:0;padding:10px 14px}.pass{color:var(--ok);margin:0;font-size:13px;font-weight:500}.center{place-items:center;min-height:100%;padding:16px;display:grid}.shell{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:64px;padding:0 24px;display:flex}.brand{font:800 20px var(--font-heading);color:var(--text);align-items:center;gap:8px;text-decoration:none;display:flex}.brand-mark{background:var(--text);width:26px;height:26px;color:var(--yellow);border-radius:8px;justify-content:center;align-items:center;display:flex}.topbar nav{flex-wrap:wrap;gap:2px;display:flex}.topbar nav a{color:var(--muted);border-radius:8px;padding:8px 12px;font-weight:500;text-decoration:none}.topbar nav a.active{color:var(--text);background:var(--bg);font-weight:600}.shell>main{flex:1}.page{flex-direction:column;gap:16px;width:100%;max-width:1600px;margin:0 auto;padding:24px;display:flex}.page-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.event-page{max-width:none;padding-top:0}.event-bar{background:var(--panel);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 -24px;padding:14px 24px;display:flex}.crumbs{color:var(--muted);align-items:center;gap:8px;font-size:15px;display:flex}.crumbs a{color:var(--muted);text-decoration:none}.crumbs strong{color:var(--text);font:800 22px var(--font-heading);letter-spacing:-.01em}.tabs{background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:-16px -24px 0;padding:0 24px;display:flex}.tabs button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 12px 11px}.tabs button.active{color:var(--text);border-color:var(--yellow);font-weight:600}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:18px;display:flex}.card>header{align-items:center;gap:8px;display:flex}.card>header .actions{gap:8px;margin-left:auto;display:flex}.login{gap:16px;width:min(400px,100%);padding:28px}.login h1{font-size:28px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));align-items:start;gap:16px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:start;gap:16px;margin-bottom:16px;display:grid}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.field{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.field>span{color:var(--text-2);font-size:13px;font-weight:500}input,select,textarea{font:inherit;color:inherit;background:var(--field);border:1px solid var(--line);border-radius:10px;width:100%;min-height:40px;padding:8px 10px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--text);outline-offset:2px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--text)}input[type=color]{background:0 0;border:0;border-radius:8px;width:36px;height:36px;min-height:0;padding:0}.color-input{align-items:center;gap:6px;display:flex}.toggle{cursor:pointer;align-items:center;gap:10px;min-height:32px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row2{grid-template-columns:1fr 1fr;align-items:end;gap:10px;display:grid}.btn{border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 16px;font:600 14px Inter,system-ui,sans-serif;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--line-strong);background:var(--field)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--yellow);border-color:var(--yellow);color:var(--text)}.btn.primary:hover{background:#ffc81a}.btn.dark{background:var(--text);border-color:var(--text);color:#fff}.btn.dark:hover{background:#2a2a2e}.btn.outline{border-color:var(--text)}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.small{min-height:30px;padding:0 10px;font-size:13px}.btn.icon{width:40px;padding:0}.btn.tool{background:var(--field);min-height:44px;font-weight:500}.badge{background:var(--line);color:var(--text-2);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.badge.active{color:#166534;background:#dcfce7}.badge.draft{background:var(--yellow-soft);color:var(--yellow-text)}.badge.closed,.badge.offline{color:#991b1b;background:#fee2e2}.table{border-collapse:collapse;width:100%}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em;padding:8px;font-size:12px;font-weight:600}.table td{border-bottom:1px solid var(--line);padding:10px 8px}.table.small td{padding:6px 8px;font-size:13px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--field)}.warnings{background:var(--yellow-soft);color:var(--yellow-text);border-radius:10px;flex-direction:column;gap:4px;margin:0;padding:10px 12px;font-size:13px;list-style:none;display:flex}.code-big{letter-spacing:2px;margin:0;font:700 28px ui-monospace,monospace}.dot{background:#a1a1aa;border-radius:50%;width:10px;height:10px;display:inline-block}.dot.ok{background:#22a35a}.dot.warning{background:#d97706;border-radius:2px}.dot.error{background:#dc2626;border-radius:2px}.health{flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.device-grid{grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr));gap:16px;display:grid}.asset-grid,.session-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.asset-grid figure,.session-grid figure{flex-direction:column;gap:6px;margin:0;font-size:13px;display:flex}.asset-grid img,.session-grid img,.asset-kind{aspect-ratio:1;object-fit:contain;background:repeating-conic-gradient(#ecebe7 0 25%, #fff 0 50%) 0 0 / 16px 16px;border:1px solid var(--line);width:100%;color:var(--muted);text-transform:uppercase;border-radius:10px;place-items:center;font-weight:600;display:grid}.session-grid img{object-fit:cover;aspect-ratio:2/3;background:var(--text)}.logs{white-space:pre-wrap;background:var(--text);color:#e5e7eb;border-radius:10px;max-height:400px;padding:12px;font:12px/1.4 ui-monospace,monospace;overflow:auto}.theme-editor{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.theme-controls{flex-direction:column;flex:380px;gap:16px;max-width:540px;display:flex}.theme-preview{flex-direction:column;flex:999 560px;gap:12px;min-width:0;display:flex;position:sticky;top:16px}.swatches{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.swatch{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.swatch>span{flex-direction:column;min-width:0;display:flex}.swatch strong{font-size:13px;font-weight:600}.swatch .hex{min-height:0;color:var(--muted);background:0 0;border:0;padding:0;font-size:12px}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--panel);height:34px;color:var(--text);cursor:pointer;border-radius:999px;padding:0 14px;font:500 13px Inter,system-ui,sans-serif}.chip.on{background:var(--text);color:#fff;border-color:var(--text)}.chip-select{background:var(--panel);border-radius:999px;width:auto;height:34px;min-height:34px;padding:0 12px}.device-frame{background:var(--text);aspect-ratio:16/10;border-radius:22px;padding:14px;box-shadow:0 18px 40px #14141633}.device-frame.portrait{aspect-ratio:10/16;max-height:80vh}.device-frame iframe{background:#000;border:0;border-radius:10px;width:100%;height:100%}.texts{grid-template-columns:1fr;gap:8px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.sticky-save{align-self:flex-start;position:sticky;bottom:12px;box-shadow:0 6px 20px #e0a80059}.layout-editor{flex-direction:column;gap:12px;display:flex}.le-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.le-top select{background:var(--panel);width:auto}.le-body{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.le-tools{flex-direction:column;flex:220px;gap:16px;max-width:260px;display:flex}.le-props{flex-direction:column;flex:280px;gap:16px;max-width:320px;display:flex}.le-tools .card h3,.le-props .card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font:600 12px Inter,system-ui,sans-serif}.tool-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.layers{flex-direction:column;gap:2px;max-height:300px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.layers li{cursor:pointer;border-radius:8px;justify-content:space-between;gap:8px;padding:9px 10px;font-size:13px;display:flex}.layers li:hover{background:var(--field)}.layers li.active{background:var(--yellow-soft);font-weight:600}.le-canvas{background:#e7e6e2;border-radius:16px;flex-direction:column;flex:999 560px;justify-content:center;align-items:center;gap:10px;min-width:0;height:74vh;padding:16px;display:flex;overflow:hidden}.le-canvas .konvajs-content{box-shadow:0 18px 40px #1414162e}.legend{flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0;display:flex}.sw{vertical-align:middle;width:14px;height:14px;margin-right:-10px;display:inline-block}.sw.red{background:#ef44444d}.sw.green{border:1.5px dashed #2f9e62}.modal{z-index:50;background:#14141699;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-body{background:var(--panel);border-radius:16px;flex-direction:column;gap:12px;max-width:92vw;max-height:92vh;padding:18px;display:flex}.modal-body img{object-fit:contain;max-width:100%;max-height:72vh;box-shadow:0 6px 24px #00000040}@media (max-width:720px){.topbar{padding:8px 16px}.page{padding:16px}.event-bar{margin:0 -16px;padding-left:16px;padding-right:16px}.tabs{margin:-16px -16px 0;padding-left:16px;padding-right:16px}.le-tools,.le-props,.theme-controls{max-width:none}.le-canvas{height:60vh}}
