@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#191919;--sidebar:#202020;--panel:#252525;--panel-raised:#2c2c2c;--hover:#ffffff0e;--active:#ffffff17;--border:#2f2f2f;--border-strong:#3f3f3f;--text:#e6e6e6;--text-2:#b8b8b8;--text-muted:#9b9b9b;--tag-bg:#333;--tag-text:#d4d4d4;--tag-dim-bg:transparent;--focus:#ffffffbf;--danger-text:#e6e6e6;--btn-primary-bg:#e6e6e6;--btn-primary-text:#191919;--radius:4px;--radius-lg:8px;--font:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--sidebar-w:240px;--panel-w:480px;--row-h:34px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:2px}a:hover{-webkit-text-decoration-color:var(--text-2);text-decoration-color:var(--text-2)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-radius:3px}::selection{background:#ffffff38}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}p{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);height:100%;display:grid}.app.with-panel{grid-template-columns:var(--sidebar-w) minmax(0, 1fr) var(--panel-w)}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;gap:2px;min-height:0;padding:10px 8px;display:flex;overflow-y:auto}.wordmark{letter-spacing:-.01em;color:var(--text);padding:6px 10px 14px;font-size:14px;font-weight:650}.nav-link{border-radius:var(--radius);color:var(--text-2);align-items:center;gap:8px;min-height:30px;padding:5px 10px;font-size:14px;text-decoration:none;display:flex}.nav-link:hover{background:var(--hover);color:var(--text)}.nav-link[aria-current=page]{background:var(--active);color:var(--text);font-weight:500}.nav-link .kbd{margin-left:auto}.sidebar-spacer{flex:1}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.page{flex:1;padding:28px 40px 60px;overflow:auto}.page-header{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.page-title{font-size:26px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:4px;font-size:13.5px}.toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:6px 0;display:flex}.toolbar .grow{flex:1}.side-panel{border-left:1px solid var(--border);background:var(--panel);flex-direction:column;min-width:0;display:flex;position:relative;overflow:auto}.side-panel-header{background:var(--panel);z-index:1;border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:10px 14px;display:flex;position:sticky;top:0}.side-panel-body{flex-direction:column;gap:18px;padding:18px 22px 40px;display:flex}@media (width<=1360px){:root{--panel-w:420px;--sidebar-w:220px}.page{padding:22px 24px 48px}}@media (width<=1100px){.app.with-panel{grid-template-columns:var(--sidebar-w) minmax(0, 1fr)}.app.with-panel .side-panel{width:min(var(--panel-w), 100vw);z-index:20;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #0006}}@media (width<=760px){.app,.app.with-panel{grid-template-rows:auto 1fr;grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;padding:6px;overflow-x:auto}.sidebar .wordmark{padding:6px 8px}.sidebar-spacer,.sidebar .usage-meter{display:none}.page{padding:16px 12px 40px}.app.with-panel .side-panel{width:100vw}}.btn{border-radius:var(--radius);border:1px solid var(--border-strong);height:28px;color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:13.5px;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:var(--btn-primary-bg);font-weight:550}.btn-primary:hover:not(:disabled){background:#fff}.btn-ghost{color:var(--text-2);border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--text)}.btn-sm{height:24px;padding:0 8px;font-size:12.5px}.btn-icon{width:28px;padding:0}.input,.select,.textarea{border-radius:var(--radius);border:1px solid var(--border-strong);height:30px;color:var(--text);background:#ffffff09;min-width:0;padding:0 9px;font-size:13.5px}.textarea{resize:vertical;height:auto;padding:8px 9px;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--text-muted)}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--focus);outline-offset:-1px}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 13px),calc(100% - 9px);background-repeat:no-repeat;background-size:4px 4px;padding-right:24px}.select option{background:var(--panel)}.field{flex-direction:column;gap:4px;display:flex}.field-label{color:var(--text-muted);font-size:12px;font-weight:500}.field-help{color:var(--text-muted);font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:8px;display:flex}.muted{color:var(--text-muted)}.small{font-size:12.5px}.kbd{font-family:var(--mono);border:1px solid var(--border-strong);color:var(--text-muted);border-radius:3px;padding:0 4px;font-size:11px}.divider{background:var(--border);height:1px;margin:4px 0}.checkbox{accent-color:#d9d9d9;cursor:pointer;width:15px;height:15px}.chip{border:1px solid var(--border-strong);height:26px;color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:0 10px;font-size:13px;display:inline-flex}.chip:hover{background:var(--hover);color:var(--text)}.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.tag{background:var(--tag-bg);height:20px;color:var(--tag-text);white-space:nowrap;text-overflow:ellipsis;border-radius:3px;align-items:center;gap:4px;max-width:100%;padding:0 6px;font-size:12px;line-height:20px;display:inline-flex;overflow:hidden}.tag-pending{border:1px dashed var(--border-strong);color:var(--text-muted);background:0 0}.tag-strong{color:#f2f2f2;background:#4a4a4a}.tags{flex-wrap:wrap;gap:4px;display:flex}.dt td .tags{flex-wrap:nowrap}.dt td:has(>.tags){max-width:none}.table-wrap{border-top:1px solid var(--border);max-width:100%;overflow:auto}table.dt{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.dt th{z-index:1;background:var(--bg);text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;height:32px;padding:0 8px;font-size:12.5px;font-weight:500;position:sticky;top:0}.dt th:last-child,.dt td:last-child{border-right:0}.dt th button.sort{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}.dt th button.sort:focus-visible{outline:2px solid var(--focus)}.dt td{height:var(--row-h);border-bottom:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:280px;padding:0 8px;overflow:hidden}.dt tbody tr{cursor:default}.dt tbody tr:hover td{background:var(--hover)}.dt tbody tr[data-active=true] td{background:var(--active)}.dt tbody tr:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.dt td.wrap{white-space:normal}.cell-name{color:var(--text);font-weight:500}.cell-button{all:unset;cursor:pointer;border-radius:3px;width:100%;min-height:22px;display:block}.cell-button:focus-visible{outline:2px solid var(--focus)}.filter-row{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;display:flex}.col-filter{border:1px solid var(--border);width:100%;min-width:60px;height:24px;color:var(--text);background:0 0;border-radius:3px;padding:0 6px;font-size:12px}.board{grid-auto-columns:minmax(240px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:12px;display:grid;overflow-x:auto}.board-col{border-radius:var(--radius-lg);background:#ffffff05;flex-direction:column;gap:6px;min-height:120px;padding:8px;display:flex}.board-col[data-drop=true]{background:#ffffff0f}.board-col-title{color:var(--text-muted);justify-content:space-between;padding:2px 4px 6px;font-size:12.5px;display:flex}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:grab;text-align:left;color:inherit;font:inherit;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.card:hover{background:var(--panel-raised)}.section{flex-direction:column;gap:8px;display:flex}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:12px;font-weight:600}.props{grid-template-columns:130px minmax(0,1fr);align-items:baseline;gap:6px 12px;font-size:13.5px;display:grid}.props dt{color:var(--text-muted)}.props dd{overflow-wrap:anywhere;min-width:0;margin:0}.card-box{border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffff05;padding:14px 16px}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.callout{border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-2);background:#ffffff08;padding:10px 14px;font-size:13px}.warning{color:var(--text);border-left:3px solid #bdbdbd;padding-left:10px;font-size:13px}.empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:48px 16px;display:flex}.empty h3{color:var(--text);font-size:15px}.skeleton{background:linear-gradient(90deg,#232323 0%,#2c2c2c 50%,#232323 100%) 0 0/200% 100%;border-radius:3px;height:14px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-state{border:1px solid var(--border-strong);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.usage-meter{border-top:1px solid var(--border);color:var(--text-muted);flex-direction:column;gap:8px;padding:10px;font-size:12px;display:flex}.meter-row{flex-direction:column;gap:3px;display:flex}.meter-label{justify-content:space-between;gap:6px;display:flex}.meter-bar{background:#303030;border-radius:2px;height:4px;overflow:hidden}.meter-fill{background:#bdbdbd;height:100%}.meter-fill[data-full=true]{background:#fff}.tooltip{color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:50;background:#111;max-width:320px;padding:6px 9px;font-size:12.5px;line-height:1.45;box-shadow:0 4px 16px #00000080}.popover{background:var(--panel-raised);border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:40;min-width:180px;max-height:360px;padding:6px;overflow:auto;box-shadow:0 8px 28px #00000080}.menu-item{all:unset;cursor:pointer;border-radius:3px;align-items:center;gap:8px;width:calc(100% - 16px);padding:5px 8px;font-size:13.5px;display:flex}.menu-item:hover,.menu-item[data-highlighted]{background:var(--hover)}.menu-item:focus-visible{outline:2px solid var(--focus)}.dialog-overlay{z-index:60;background:#0009;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius-lg);z-index:61;flex-direction:column;gap:12px;width:min(480px,100vw - 32px);padding:20px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 48px #0009}.dialog h2{font-size:16px}.toasts{z-index:70;flex-direction:column;gap:6px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:var(--bg);border-radius:var(--radius);padding:8px 14px;font-size:13.5px;font-weight:500;box-shadow:0 4px 16px #00000080}.tpl-preview{white-space:pre-wrap;border:1px solid var(--border);border-radius:var(--radius);background:#ffffff08;padding:10px 12px;font-size:13.5px;line-height:1.55}.tpl-var{background:#3a3a3a;border-radius:3px;padding:0 3px}.tpl-missing{color:var(--text);background:0 0;border:1px dashed #bdbdbd;border-radius:3px;padding:0 3px}.tpl-unknown{text-underline-offset:3px;-webkit-text-decoration:underline wavy #bdbdbd;text-decoration:underline wavy #bdbdbd}.tpl-editor{position:relative}.tpl-highlight{white-space:pre-wrap;overflow-wrap:break-word;color:#0000;pointer-events:none;border:1px solid #0000;padding:8px 10px;font-size:13.5px;line-height:1.5;position:absolute;inset:0}.tpl-highlight mark{color:#0000;text-underline-offset:4px;background:0 0;-webkit-text-decoration:underline wavy #d0d0d0;text-decoration:underline wavy #d0d0d0}.map{border:1px solid var(--border);border-radius:var(--radius-lg);background:#202020;height:calc(100vh - 230px);min-height:360px;position:relative;overflow:hidden}.map-placeholder{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.google-attribution{font-family:Roboto, var(--font);color:#fff;opacity:.9;white-space:nowrap;font-size:12px;font-weight:400}.attribution-row{justify-content:flex-end;align-items:center;gap:12px;padding:6px 2px;display:flex}.login{place-items:center;min-height:100%;padding:16px;display:grid}.login-box{flex-direction:column;gap:14px;width:min(360px,100%);display:flex}
