:root{--bg:#fff;--subtle:#f8f8f9;--hover:#f1f1f3;--active:#e9e9ed;--border:#e7e7eb;--border-strong:#cfcfd6;--text:#17171a;--text-2:#5d5e66;--text-3:#9b9ca4;--accent:#2f6feb;--accent-soft:#eef4ff;--accent-ring:#2f6feb2e;--danger:#d92d20;--shadow:0 10px 32px #0f0f191f, 0 1px 3px #0f0f1914;--r:8px;--r-sm:6px;--h:32px}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font:13px/1.45 Inter,-apple-system,Segoe UI,Roboto,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}h1,h2,p{margin:0}.muted{color:var(--text-3)}.spacer{flex:1}.ficon{color:var(--text-3);flex:none}.c-gray{--c-bg:#f0f0f2;--c-fg:#55565e}.c-red{--c-bg:#fde7e6;--c-fg:#b42318}.c-orange{--c-bg:#fdead8;--c-fg:#b4520b}.c-amber{--c-bg:#fcf1cc;--c-fg:#8a6100}.c-green{--c-bg:#dcf4e3;--c-fg:#18794e}.c-teal{--c-bg:#d6f2ef;--c-fg:#0f766e}.c-blue{--c-bg:#deebff;--c-fg:#1d5fc4}.c-indigo{--c-bg:#e6e8ff;--c-fg:#4046c9}.c-purple{--c-bg:#efe5ff;--c-fg:#7a3aad}.c-pink{--c-bg:#fde5f0;--c-fg:#b4236c}.tag{background:var(--c-bg);color:var(--c-fg);border-radius:var(--r-sm);white-space:nowrap;padding:2px 8px;font-size:12px;font-weight:500}.tags{gap:4px;display:flex;overflow:hidden}.chip{border-radius:var(--r-sm);background:var(--subtle);border:1px solid var(--border);white-space:nowrap;padding:2px 8px;font-size:12px}.ticon{border-radius:var(--r-sm);background:var(--c-bg);color:var(--c-fg);flex:none;place-items:center;display:inline-grid}.dot{background:var(--c-fg);border-radius:5px;flex:none;width:18px;height:18px}.dot.on{outline:2px solid var(--text);outline-offset:2px}.palette{flex-wrap:wrap;gap:8px;display:flex}.cbx{border:1.5px solid var(--border-strong);color:#fff;border-radius:4px;flex:none;place-items:center;width:16px;height:16px;display:inline-grid}.cbx.on{background:var(--accent);border-color:var(--accent)}.txt{text-overflow:ellipsis;overflow:hidden}.linkish{color:var(--accent)}.btn{height:var(--h);border-radius:var(--r);border:1px solid var(--border);white-space:nowrap;background:#fff;align-items:center;gap:6px;padding:0 12px;font-weight:500;display:inline-flex}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.45}.btn.primary{background:var(--text);border-color:var(--text);color:#fff}.btn.primary:hover{background:#303036}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.active{background:var(--accent-soft);color:var(--accent);border-color:#c7d9fb}.btn.danger{color:var(--danger)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.sm{border-radius:var(--r-sm);height:26px;padding:0 8px;font-size:12px}.badge{background:var(--accent);color:#fff;border-radius:5px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-grid}.icon-btn{border-radius:var(--r-sm);width:28px;height:28px;color:var(--text-2);flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn.sm{width:22px;height:22px}.input{height:var(--h);border:1px solid var(--border);border-radius:var(--r);background:#fff;outline:none;width:100%;padding:0 10px}select.input{padding:0 6px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.seg{height:var(--h);border:1px solid var(--border);border-radius:var(--r);gap:2px;padding:2px;display:inline-flex}.seg button{height:100%;color:var(--text-2);border-radius:5px;padding:0 10px}.seg button:hover{background:var(--hover)}.seg button.on{background:var(--text);color:#fff}.seg.full{display:flex}.seg.full button{flex:1}.app{height:100vh;display:flex}.main{flex-direction:column;flex:1;min-width:0;display:flex}.sb{background:var(--subtle);border-right:1px solid var(--border);flex-direction:column;flex:none;width:252px;padding:12px 8px 10px;display:flex;overflow-y:auto}.sb-base{align-items:center;gap:8px;padding:0 4px 6px;display:flex}.sb-logo{border-radius:var(--r);background:var(--text);color:#fff;flex:none;place-items:center;width:28px;height:28px;display:grid}.sb-base-btn{min-width:0;height:var(--h);border-radius:var(--r);color:var(--text-3);flex:1;justify-content:space-between;align-items:center;gap:6px;padding:0 6px;display:flex}.sb-base-btn:hover{background:var(--hover)}.sb-base-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.sb-section{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);padding:16px 8px 6px;font-size:11px;font-weight:600}.sb-list{flex-direction:column;gap:1px;display:flex}.sb-item{height:var(--h);border-radius:var(--r);cursor:pointer;color:var(--text-2);align-items:center;gap:8px;padding:0 4px 0 6px;display:flex}.sb-item:hover,.sb-item.hover{background:var(--hover)}.sb-item.on{background:var(--active);color:var(--text);font-weight:500}.sb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sb-count{color:var(--text-3);padding-right:6px;font-size:12px;font-weight:400}.sb-more{display:none}.sb-item:hover .sb-more,.sb-item.hover .sb-more{display:inline-grid}.sb-item:hover .sb-count,.sb-item.hover .sb-count{display:none}.sb-glyph{width:22px;height:22px;color:var(--text-3);flex:none;place-items:center;display:grid}.sb-add{height:var(--h);border-radius:var(--r);color:var(--text-3);align-items:center;gap:12px;padding:0 10px;display:flex}.sb-add:hover{background:var(--hover);color:var(--text)}.sb-list.soon .sb-item{cursor:default;opacity:.55}.sb-list.soon .sb-item:hover{background:0 0}.sb-rename{border:1px solid var(--accent);border-radius:var(--r-sm);min-width:0;height:26px;box-shadow:0 0 0 3px var(--accent-ring);background:#fff;outline:none;flex:1;padding:0 6px}.sb-foot{color:var(--text-3);margin-top:auto;padding:16px 8px 0;font-size:11px}.look{flex-direction:column;gap:12px;padding:12px;display:flex}.look-grid{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.look-icon{border-radius:var(--r-sm);height:32px;color:var(--text-2);place-items:center;display:grid}.look-icon:hover{background:var(--hover)}.look-icon.on{background:var(--text);color:#fff}.tv{flex-direction:column;height:100%;min-height:0;display:flex}.tv-head{align-items:center;gap:10px;padding:20px 24px 0;display:flex}.tv-head h1{letter-spacing:-.01em;font-size:20px;font-weight:650}.tv-count{color:var(--text-3);padding-top:3px}.toolbar{align-items:center;gap:12px;padding:14px 24px;display:flex}.search{width:380px;max-width:100%;height:var(--h);border:1px solid var(--border);border-radius:var(--r);color:var(--text-3);align-items:center;gap:8px;padding:0 6px 0 10px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.toolbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.grid-wrap{border-top:1px solid var(--border);outline:none;flex:1;min-height:0;overflow:auto}.grid{flex-direction:column;width:max-content;min-width:100%;min-height:100%;display:flex}.g-row{border-bottom:1px solid var(--border);background:#fff;flex:none;min-width:100%;height:36px;display:flex}.g-row:not(.g-head):not(.g-foot):hover{background:#fafafb}.g-row.checked,.g-row.checked:not(.g-head):hover{background:var(--accent-soft)}.g-head{z-index:4;background:var(--subtle);height:34px;position:sticky;top:0}.g-gutter{z-index:2;background:inherit;width:56px;color:var(--text-3);flex:none;place-items:center;font-size:12px;display:grid;position:sticky;left:0}.g-check{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;margin:0;display:none}.g-check.show,.g-row:hover .g-check,.g-row.checked .g-check{display:block}.g-row:hover .g-num,.g-row.checked .g-num{display:none}.g-hcell{background:inherit;border-right:1px solid var(--border);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:6px;padding:0 8px 0 10px;font-size:12.5px;font-weight:500;display:flex;position:relative}.g-hcell:hover,.g-hcell.open{background:var(--hover)}.g-hname{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.g-hchev{opacity:0;color:var(--text-3);flex:none}.g-hcell:hover .g-hchev,.g-hcell.open .g-hchev{opacity:1}.g-sort{color:var(--accent);flex:none}.g-resize{z-index:6;cursor:col-resize;width:8px;height:100%;position:absolute;top:0;right:-4px}.g-resize:hover:after{content:"";background:var(--accent);position:absolute;inset:0 3px}.g-addfield{width:44px;color:var(--text-3);border-right:1px solid var(--border);flex:none;place-items:center;display:grid}.g-addfield:hover{background:var(--hover);color:var(--text)}.g-fill{flex:1;min-width:24px}.g-cell{border-right:1px solid var(--border);white-space:nowrap;cursor:default;scroll-margin:40px 16px 44px var(--sticky-w,0px);flex:none;align-items:center;padding:0 10px;display:flex;position:relative;overflow:hidden}.g-cell.right{font-variant-numeric:tabular-nums;justify-content:flex-end}.g-cell.center{cursor:pointer;justify-content:center}.g-primary{z-index:2;background:inherit;box-shadow:1px 0 0 var(--border-strong);position:sticky;left:56px}.g-cell.g-primary{font-weight:500}.g-head .g-primary,.g-head .g-gutter,.g-foot .g-primary,.g-foot .g-gutter{z-index:5}.g-cell.sel{box-shadow:inset 0 0 0 2px var(--accent)}.g-cell.g-primary.sel{box-shadow:inset 0 0 0 2px var(--accent), 1px 0 0 var(--border-strong)}.cell-input{width:100%;height:100%;box-shadow:inset 0 0 0 2px var(--accent);background:#fff;border:0;outline:0;padding:0 10px;position:absolute;inset:0}.g-cell.right .cell-input{text-align:right}.g-open{border:1px solid var(--border);border-radius:var(--r-sm);height:22px;color:var(--text-2);background:#fff;align-items:center;gap:4px;padding:0 7px;font-size:11px;font-weight:500;display:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.g-row:hover .g-open{display:inline-flex}.g-open:hover{color:var(--text);border-color:var(--border-strong)}.g-empty{width:fit-content;color:var(--text-3);padding:26px 24px;position:sticky;left:0}.g-add{cursor:pointer;color:var(--text-3)}.g-add:hover{color:var(--text)}.g-addlabel{align-items:center;padding:0 10px;display:flex;position:sticky;left:56px}.g-foot{z-index:4;background:var(--subtle);border-top:1px solid var(--border);border-bottom:0;height:34px;margin-top:auto;position:sticky;bottom:0}.g-fcell{white-space:nowrap;color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:6px;padding:0 10px;font-size:12px;display:flex;overflow:hidden}.g-fcell.right{justify-content:flex-end}.g-fcell.g-primary{box-shadow:none}.pop{z-index:100;border:1px solid var(--border);max-height:calc(100vh - 16px);box-shadow:var(--shadow);background:#fff;border-radius:10px;position:fixed;overflow:auto}.menu{padding:4px}.menu-item{width:100%;height:var(--h);border-radius:var(--r-sm);text-align:left;align-items:center;gap:8px;padding:0 8px;display:flex}.menu-item svg{color:var(--text-3);flex:none}.menu-item:hover:not(:disabled){background:var(--hover)}.menu-item:disabled{opacity:.4}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-div{background:var(--border);height:1px;margin:4px 0}.picker-search{border:0;border-bottom:1px solid var(--border);background:0 0;outline:0;width:100%;height:38px;padding:0 12px}.picker-list{max-height:280px;padding:4px;overflow:auto}.picker-item{width:100%;min-height:var(--h);border-radius:var(--r-sm);text-align:left;align-items:center;gap:8px;padding:4px 8px;display:flex}.picker-item:hover{background:var(--hover)}.picker-item.create{color:var(--text-2)}.picker-row{flex-direction:column;min-width:0;display:flex}.picker-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker-item.on .picker-title{font-weight:500}.picker-sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.picker-check{color:var(--accent);flex:none;margin-left:auto}.picker-foot{border-top:1px solid var(--border);padding:4px}.picker-empty{color:var(--text-3);padding:8px;font-size:12px}.longtext textarea{resize:vertical;border:0;outline:0;width:100%;min-height:130px;padding:10px 12px;line-height:1.5;display:block}.longtext-hint{border-top:1px solid var(--border);color:var(--text-3);padding:6px 12px;font-size:11px}.fe{flex-direction:column;gap:8px;padding:14px;display:flex}.fe-title{font-size:14px;font-weight:600}.fe-label{color:var(--text-2);margin-top:6px;margin-bottom:2px;font-size:12px}.fe-types{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;display:grid}.fe-type{height:var(--h);border:1px solid var(--border);border-radius:var(--r);text-align:left;white-space:nowrap;align-items:center;gap:8px;padding:0 10px;display:flex}.fe-type svg{color:var(--text-3);flex:none}.fe-type span{text-overflow:ellipsis;overflow:hidden}.fe-type:hover:not(:disabled){background:var(--hover)}.fe-type:disabled{opacity:.35}.fe-type.on,.fe-type.on svg{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.fe-hint{color:var(--text-3);font-size:12px;line-height:1.45}.fe-options{flex-direction:column;gap:6px;display:flex}.fe-option-row{align-items:center;gap:8px;display:flex}.fe-option .palette{padding:8px 0 4px 26px}.fe-add{border-radius:var(--r-sm);height:28px;color:var(--text-2);align-self:flex-start;align-items:center;gap:6px;padding:0 6px;display:inline-flex}.fe-add:hover{background:var(--hover)}.fe-row{gap:16px;display:flex}.fe-static{height:var(--h);border-radius:var(--r);background:var(--subtle);align-items:center;gap:8px;padding:0 10px;font-weight:500;display:flex}.fe-actions{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.panel{flex-direction:column;gap:8px;padding:14px;display:flex}.panel-title{font-weight:600}.panel-empty{color:var(--text-3)}.panel-row{align-items:center;gap:6px;display:flex}.panel-row .input{flex:1;min-width:0}.panel-row .input.op{flex:none;width:150px}.panel-and{text-align:right;width:38px;color:var(--text-3);flex:none;font-size:12px}.panel-novalue{flex:1}.panel-foot{justify-content:space-between;margin:2px -6px -4px;display:flex}.drawer-overlay{z-index:40;background:#14141e33;position:fixed;inset:0}.drawer{z-index:41;background:#fff;flex-direction:column;width:min(640px,100vw);animation:.16s ease-out drawer-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 48px #0f0f1924}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}.drawer-head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;height:52px;padding:0 14px 0 20px;display:flex}.drawer-table{color:var(--text-2);font-weight:500}.drawer-body{flex:1;padding:22px 28px 40px;overflow:auto}.drawer-title{border-radius:var(--r);letter-spacing:-.01em;background:0 0;border:1px solid #0000;outline:0;width:calc(100% + 16px);margin:0 -8px 14px;padding:4px 8px;font-size:22px;font-weight:650;display:block}.drawer-title:hover{background:var(--hover)}.drawer-title:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background:#fff}.props{flex-direction:column;gap:2px;margin-bottom:24px;display:flex}.prop{grid-template-columns:180px 1fr;align-items:start;display:grid}.prop-label{height:34px;color:var(--text-2);align-items:center;gap:8px;display:flex}.prop-label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prop-value{align-items:center;min-width:0;min-height:34px;display:flex}.prop-input{width:100%;height:var(--h);border-radius:var(--r);background:0 0;border:1px solid #0000;outline:0;padding:0 8px}.prop-input:hover{background:var(--hover)}.prop-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring);background:#fff}.prop-input.area{resize:vertical;field-sizing:content;height:auto;min-height:64px;padding:7px 8px;line-height:1.45}.prop-input.blank,.prop-input::placeholder,.ph{color:var(--text-3)}.prop-box{width:100%;min-height:var(--h);border-radius:var(--r);text-align:left;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px;display:flex}.prop-box:hover{background:var(--hover)}.prop-check{height:var(--h);align-items:center;padding:0 8px;display:flex}.prop-links{flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px;display:flex}.chip.click{cursor:pointer;background:#fff;align-items:center;gap:4px;height:24px;font-weight:500;display:inline-flex}.chip.click:hover{border-color:var(--border-strong);background:var(--subtle)}.chip-x{color:var(--text-3);place-items:center;margin-right:-3px;display:inline-grid}.chip-x:hover{color:var(--danger)}.chip-add{border:1px dashed var(--border-strong);border-radius:var(--r-sm);height:24px;color:var(--text-2);align-items:center;gap:4px;padding:0 6px;font-size:12px;display:inline-flex}.chip-add:hover{background:var(--hover);color:var(--text)}.rel{border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}.rel-head{background:var(--subtle);align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.rel-name{font-weight:600}.rel-count{color:var(--text-3);font-size:12px}.rel-table{border-top:1px solid var(--border)}.rel-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;height:36px;padding:0 8px 0 12px;display:flex}.rel-row:last-child{border-bottom:0}.rel-row:hover{background:#fafafb}.rel-title{text-overflow:ellipsis;white-space:nowrap;flex:1.5;min-width:0;font-weight:500;overflow:hidden}.rel-cell{white-space:nowrap;min-width:0;color:var(--text-2);font-variant-numeric:tabular-nums;flex:1;display:flex;overflow:hidden}.rel-unlink{visibility:hidden}.rel-row:hover .rel-unlink{visibility:visible}.rel-empty{border-top:1px solid var(--border);color:var(--text-3);padding:12px}.drawer-meta{color:var(--text-3);margin-top:22px;font-size:12px}.schema{height:100%;overflow:auto}.schema-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-items:start;gap:16px;padding:18px 24px 32px;display:grid}.s-card{border:1px solid var(--border);cursor:pointer;border-radius:12px;transition:box-shadow .12s,border-color .12s;overflow:hidden}.s-card:hover{border-color:var(--border-strong);box-shadow:0 4px 16px #0f0f190f}.s-head{background:var(--subtle);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:12px 14px;display:flex}.s-name{font-size:14px;font-weight:600}.s-sub,.s-note{color:var(--text-3);font-size:11.5px;font-weight:400}.s-card ul{margin:0;padding:6px;list-style:none}.s-card li{border-radius:var(--r-sm);align-items:center;gap:8px;min-height:30px;padding:0 8px;display:flex}.s-field{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.s-target{color:var(--text-2);flex:none;align-items:center;gap:6px;margin-left:auto;font-weight:500;display:inline-flex}.welcome{text-align:center;max-width:440px;margin:auto;padding:24px}.welcome-logo{background:var(--text);color:#fff;border-radius:12px;place-items:center;width:48px;height:48px;margin:0 auto 18px;display:grid}.welcome h1{letter-spacing:-.01em;font-size:22px}.welcome p{color:var(--text-2);margin:10px 0 20px;line-height:1.55}.welcome-actions{justify-content:center;gap:8px;display:flex}.toasts{z-index:200;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{background:var(--text);color:#fff;box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:10px;min-height:38px;padding:6px 6px 6px 14px;display:flex}.toast-undo{border-radius:var(--r-sm);color:#fff;background:#ffffff29;align-items:center;gap:6px;height:26px;padding:0 8px;font-weight:500;display:inline-flex}.toast-undo:hover{background:#ffffff42}.toast-x{border-radius:var(--r-sm);color:#fff9;place-items:center;width:26px;height:26px;display:grid}.toast-x:hover{color:#fff}.dialog-overlay{z-index:150;background:#14141e52;place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(420px,100vw - 32px);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:22px}.dialog h2{font-size:16px}.dialog p{color:var(--text-2);margin:8px 0 20px;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.auth{background:var(--subtle);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);text-align:center;background:#fff;border-radius:14px;width:min(380px,100%);padding:32px 28px 28px}.auth-card h1{letter-spacing:-.01em;font-size:20px}.auth-card p{color:var(--text-2);margin:8px 0 20px;line-height:1.5}.auth-card p.auth-wait{margin:0}.auth-card form{text-align:left;flex-direction:column;gap:12px;display:flex}.auth-card label{color:var(--text-2);flex-direction:column;gap:5px;font-size:12px;display:flex}.auth-card .input,.auth-card .btn{height:38px;font-size:14px}.auth-card .btn{justify-content:center;margin-top:4px}.auth-error{border-radius:var(--r);color:#b42318;text-align:left;background:#fde7e6;padding:8px 10px;font-size:12.5px;line-height:1.4}.dialog .input{margin-bottom:18px}.dialog .auth-error{margin-bottom:10px}.sb-sync{color:var(--text-2);align-items:center;gap:6px;display:flex}.sync-dot{background:#2f9e62;border-radius:2px;flex:none;width:7px;height:7px}.sync-dot.saving{background:#d9a514}.sync-dot.retry{background:var(--danger)}.sb-email{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.auth-tabs{margin-bottom:16px}.auth-note{border-radius:var(--r);background:var(--accent-soft);color:var(--text-2);text-align:left;padding:8px 10px;font-size:12.5px;line-height:1.45}.auth-link{border-radius:var(--r-sm);color:var(--text-2);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px;align-self:center;padding:2px 4px;font-size:12.5px}.auth-link:hover:not(:disabled){color:var(--text)}.auth-link:disabled{color:var(--text-3);text-decoration:none}.auth-row{justify-content:space-between;gap:8px;display:flex}.auth-card .input.code{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:20px}.dialog.tg{width:min(460px,100vw - 32px)}.dialog.tg p{margin:8px 0 12px}.tg-steps{color:var(--text-2);margin:0 0 14px;padding-left:20px;line-height:1.6}.tg-steps a{color:var(--accent)}.tg-steps code{background:var(--hover);border-radius:4px;padding:1px 5px;font-size:12px}.dialog.tg .input{margin-bottom:6px}.dialog.tg p.tg-fine{color:var(--text-3);margin:0 0 16px;font-size:12px}.tg-ok{border-radius:var(--r);color:#18794e;background:#dcf4e3;align-items:center;gap:8px;margin-top:12px;padding:8px 10px;font-weight:500;display:flex}.tg-check{cursor:pointer;align-items:center;gap:8px;margin-bottom:12px;display:flex}.tg-check input{width:15px;height:15px;accent-color:var(--accent);margin:0}.tg-links{flex-wrap:wrap;gap:4px 14px;margin-bottom:20px;display:flex}.tg-links .auth-link{padding-left:0}a.btn{color:inherit;text-decoration:none}.tabs{flex:none;align-items:center;gap:4px;padding:12px 24px 0;display:flex;overflow-x:auto}.tab{height:var(--h);border-radius:var(--r);color:var(--text-2);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex}.tab:hover{background:var(--hover)}.tab.on{background:var(--active);color:var(--text)}.tab-chev{color:var(--text-3)}.tab.add{color:var(--text-3);font-weight:400}.tab-rename{height:var(--h);border:1px solid var(--accent);border-radius:var(--r);width:170px;box-shadow:0 0 0 3px var(--accent-ring);outline:0;padding:0 10px}.toolbar{flex:none;padding-top:12px}.view-kinds{flex-direction:column;gap:2px;padding:6px;display:flex}.view-kind{border-radius:var(--r);text-align:left;align-items:flex-start;gap:12px;padding:10px;display:flex}.view-kind:hover{background:var(--hover)}.view-kind svg{color:var(--text-2);flex:none;margin-top:2px}.view-kind b{font-weight:600;display:block}.view-kind em{color:var(--text-3);font-size:12px;font-style:normal;line-height:1.4;display:block}.view-empty{text-align:center;max-width:460px;color:var(--text-2);margin:48px auto;padding:0 24px;line-height:1.55}.checklist{flex-direction:column;max-height:300px;margin:0 -6px;display:flex;overflow:auto}.check-row{border-radius:var(--r-sm);cursor:pointer;flex:none;align-items:center;gap:8px;height:30px;padding:0 6px;display:flex}.check-row:hover{background:var(--hover)}.check-row input{width:15px;height:15px;accent-color:var(--accent);margin:0}.check-row span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.check-row em{color:var(--text-3);font-size:11.5px;font-style:normal}.check-row.off{cursor:default;opacity:.7}.panel-title.second{margin-top:8px}.panel.sub{border-top:1px solid var(--border)}.icon-btn.on{background:var(--accent-soft);color:var(--accent)}.kanban{border-top:1px solid var(--border);background:var(--subtle);flex:1;align-items:flex-start;gap:12px;min-height:0;padding:16px 24px 20px;display:flex;overflow:auto}.kb-col{background:#efeff2;border-radius:10px;flex-direction:column;flex:none;width:284px;max-height:100%;padding:8px;display:flex}.kb-col.over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.kb-head{align-items:center;gap:8px;padding:4px 4px 10px;display:flex}.kb-count{color:var(--text-3);font-size:12px}.kb-sum{color:var(--text-2);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.kb-list{flex-direction:column;gap:8px;min-height:8px;display:flex;overflow-y:auto}.kb-card{border:1px solid var(--border);border-radius:var(--r);cursor:pointer;background:#fff;flex-direction:column;flex:none;gap:6px;padding:10px 12px;display:flex;overflow:hidden;box-shadow:0 1px 2px #0f0f190a}.kb-card:hover{border-color:var(--border-strong)}.kb-card.dragging{opacity:.45}.kb-title{overflow-wrap:anywhere;font-weight:600;line-height:1.35}.kb-line{white-space:nowrap;min-width:0;color:var(--text-2);font-size:12.5px;display:flex;overflow:hidden}.thumb.kb-cover{border-radius:0;width:calc(100% + 24px);height:124px;margin:-10px -12px 2px}.kb-add{border-radius:var(--r-sm);height:30px;color:var(--text-3);flex:none;align-items:center;gap:6px;margin-top:8px;padding:0 8px;display:flex}.kb-add:hover{color:var(--text);background:#0000000d}.kb-newcol{flex:none;width:200px}.kb-newcol .kb-add{width:100%;margin-top:0}.calendar{border-top:1px solid var(--border);flex-direction:column;flex:1;min-height:0;display:flex}.cal-bar{flex:none;align-items:center;gap:6px;padding:10px 24px;display:flex}.cal-bar h2{min-width:150px;margin:0 8px 0 4px;font-size:15px;font-weight:600}.cal-week{border-bottom:1px solid var(--border);flex:none;grid-template-columns:repeat(7,minmax(0,1fr));margin:0 24px;display:grid}.cal-week span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);padding:4px 8px;font-size:11px;font-weight:600}.cal-grid{border-left:1px solid var(--border);flex:1;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:minmax(100px,1fr);min-height:0;margin:0 24px 16px;display:grid;overflow:auto}.cal-day{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:3px;min-width:0;padding:4px 5px 6px;display:flex}.cal-day.out{background:var(--subtle)}.cal-day.out .cal-num span{color:var(--text-3)}.cal-day.over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.cal-num{height:22px;color:var(--text-2);flex:none;justify-content:space-between;align-items:center;font-size:12px;display:flex}.cal-num span{border-radius:var(--r-sm);place-items:center;min-width:22px;height:22px;display:inline-grid}.cal-day.today .cal-num span{background:var(--text);color:#fff;font-weight:600}.cal-add{width:20px;height:20px;color:var(--text-3);border-radius:5px;place-items:center;display:none}.cal-day:hover .cal-add{display:grid}.cal-add:hover{background:var(--hover);color:var(--text)}.cal-chip{background:var(--c-bg);width:100%;color:var(--c-fg);text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:5px;flex:none;padding:2px 6px;font-size:12px;font-weight:500;display:block;overflow:hidden}.cal-chip.c-gray{background:var(--hover);color:var(--text)}.cal-chip:hover{filter:brightness(.96)}.cal-chip.dragging{opacity:.45}.cal-more{text-align:left;color:var(--text-3);padding:0 6px;font-size:11.5px}.cal-more:hover{color:var(--text)}.cal-list{flex-direction:column;gap:4px;max-height:320px;padding:12px;display:flex;overflow:auto}.thumb{background:var(--hover);width:24px;height:24px;color:var(--text-3);border-radius:4px;flex:none;place-items:center;display:inline-grid;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.thumbs{align-items:center;gap:3px;display:flex;overflow:hidden}.thumbs-more{color:var(--text-3);padding-left:2px;font-size:11px}.chip.file{text-overflow:ellipsis;align-items:center;gap:4px;max-width:100%;display:inline-flex;overflow:hidden}.chip.file svg{color:var(--text-3);flex:none}.files{border-radius:var(--r);width:100%}.files.over{background:var(--accent-soft);outline:2px dashed var(--accent);outline-offset:2px}.files-pop .files{padding:10px}.prop-value .files{padding:4px 8px}.file-row{border-radius:var(--r-sm);align-items:center;gap:8px;min-height:30px;padding:0 4px 0 8px;display:flex}.file-row:hover{background:var(--hover)}.file-row.wait{color:var(--text-3)}.file-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-name:hover{color:var(--accent);text-decoration:underline}.file-size{color:var(--text-3);flex:none;font-size:12px}.file-add{border:1px dashed var(--border-strong);border-radius:var(--r-sm);height:28px;color:var(--text-2);align-items:center;gap:6px;margin:4px 0 0 4px;padding:0 8px;font-size:12.5px;display:inline-flex}.file-add:hover{background:var(--hover);color:var(--text)}.files>.file-add:first-child{margin:0}.photo-grid{flex-wrap:wrap;gap:6px;display:flex}.photo{border-radius:var(--r);background:var(--hover);width:80px;height:80px;position:relative;overflow:hidden}.photo-open{width:100%;height:100%;display:block}.photo .thumb{border-radius:0;width:100%;height:100%}.photo-x{color:#fff;background:#1414199e;border-radius:5px;place-items:center;width:20px;height:20px;display:none;position:absolute;top:4px;right:4px}.photo:hover .photo-x{display:grid}.photo.wait{color:var(--text-3);place-items:center;font-size:11px;display:grid}.photo.add{border:1px dashed var(--border-strong);color:var(--text-3);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11.5px;display:flex}.photo.add:hover{background:var(--hover);color:var(--text)}.lightbox{z-index:300;background:#0c0c10eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox img{border-radius:var(--r-sm);object-fit:contain;max-width:calc(100vw - 160px);max-height:calc(100vh - 120px)}.lb-bar{color:#fff;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex;position:absolute;top:0;left:0;right:0}.lb-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.lb-count{color:#fff9;flex:none;margin-right:auto}.lb-bar button,.lb-nav{border-radius:var(--r);color:#fff;flex:none;place-items:center;width:36px;height:36px;display:grid}.lb-bar button:hover,.lb-nav:hover{background:#ffffff24}.lb-nav{width:44px;height:44px;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav.prev{left:16px}.lb-nav.next{right:16px}.lb-wait{color:#ffffffb3}.comments{border-top:1px solid var(--border);margin-top:22px;padding-top:16px}.comments-title{align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.comment{border-radius:var(--r);background:var(--subtle);margin-bottom:6px;padding:8px 10px}.comment-meta{color:var(--text-3);align-items:center;gap:8px;font-size:12px;display:flex}.comment-meta b{color:var(--text-2);font-weight:600}.comment-meta .icon-btn{visibility:hidden;margin-left:auto}.comment:hover .comment-meta .icon-btn{visibility:visible}.comment-text{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:2px;line-height:1.5}.comment-new{align-items:flex-end;gap:8px;margin-top:10px;display:flex}.comment-new textarea{border:1px solid var(--border);border-radius:var(--r);resize:vertical;field-sizing:content;outline:0;flex:1;min-height:38px;max-height:180px;padding:8px 10px;line-height:1.45}.comment-new textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.comment-new .btn{height:var(--h)}.avatar{background:var(--c-bg);width:20px;height:20px;color:var(--c-fg);letter-spacing:0;border-radius:5px;flex:none;place-items:center;font-size:10px;font-weight:700;display:inline-grid}.member{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.chip.person{background:#fff;align-items:center;gap:4px;height:26px;padding:2px 6px 2px 3px;display:inline-flex}.fe-check{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;margin-top:4px;font-size:12.5px;display:flex}.fe-check input{width:15px;height:15px;accent-color:var(--accent);margin:0}.fe .seg.full button{white-space:nowrap;padding:0 6px}.dialog.people{width:min(560px,100vw - 32px)}.dialog.people p{margin-bottom:14px}.people-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow:auto}.person-row{align-items:center;gap:8px;display:flex}.dialog.people .input{margin-bottom:0}.person-row .avatar{border-radius:7px;width:28px;height:28px;font-size:11px}.person-me{width:44px;color:var(--text-3);text-align:center;flex:none;font-size:11.5px}.person-row .icon-btn{width:44px}.person-new{gap:8px;margin:12px 0 18px;padding-left:36px;display:flex}.req{color:var(--danger);margin-left:3px;font-style:normal;font-weight:600}.g-hname.required:after{content:"*";color:var(--danger);margin-left:3px;font-weight:600}.g-cell.missing{background:#fff6f5;box-shadow:inset 0 -2px #f3b5b0}.g-cell.missing.sel{box-shadow:inset 0 0 0 2px var(--accent)}.g-cell.locked{background:var(--subtle);color:var(--text-2);cursor:not-allowed}.fe-picks{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.fe-picks .tag{align-items:center;height:24px;display:inline-flex}.tag.off{color:var(--text-3);box-shadow:inset 0 0 0 1px var(--border);background:0 0}.fe-hint.warn{color:#b4520b}.dialog.rules{width:min(620px,100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}.dialog.rules p{margin-bottom:8px}.dialog.rules .panel{border-top:1px solid var(--border);padding-left:0;padding-right:0}.dialog.rules .input{margin-bottom:0}.dialog.rules .dialog-actions{margin-top:8px}.card-missing{border-radius:var(--r);color:#b42318;background:#fff6f5;align-items:flex-start;gap:8px;margin-bottom:14px;padding:8px 10px;line-height:1.45;display:flex}.card-missing svg{flex:none;margin-top:2px}.section-head{height:var(--h);border-radius:var(--r);align-items:center;gap:6px;margin:0 0 4px -6px;padding:0 8px 0 6px;font-weight:600;display:inline-flex}.section-head:hover{background:var(--hover)}.section-chev{color:var(--text-3);transition:transform .12s}.section-chev.closed{transform:rotate(-90deg)}:is(.card-section:has(.section-head)+.card-section,.card-section+.card-section:has(.section-head)){border-top:1px solid var(--border);padding-top:12px}.card-section:has(.section-chev.closed){margin-bottom:12px}.prop.missing .prop-value{border-radius:var(--r);box-shadow:inset 0 0 0 1px #f3b5b0}.prop.locked .prop-value{color:var(--text-2)}.prop-value[inert]{opacity:.75}.prop-lock{color:var(--text-3);flex:none}.file-none{line-height:var(--h);padding:0 8px}.arrange{margin-bottom:24px}.arrange-note{color:var(--text-2);margin-bottom:14px;line-height:1.5}.arrange-section{border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px;padding:10px}.arrange-head{align-items:center;gap:6px;margin-bottom:6px;display:flex}.arrange-head .input{font-weight:600}.arrange-field{height:var(--h);border-radius:var(--r-sm);align-items:center;gap:8px;padding-left:6px;display:flex}.arrange-field:hover{background:var(--subtle)}.arrange-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.arrange-field .input{border-radius:var(--r-sm);flex:none;width:170px;height:26px;padding:0 6px;font-size:12px}.arrange-field .icon-btn:disabled{opacity:.3}.arrange-empty{color:var(--text-3);padding:6px}.arrange-foot{align-items:center;gap:8px;display:flex}.activity-tabs{gap:4px;margin:0 0 10px -10px;display:flex}.history-row{border-bottom:1px solid var(--border);align-items:baseline;gap:12px;padding:7px 0;display:flex}.history-row:last-child{border-bottom:0}.history-what{overflow-wrap:anywhere;flex:1;min-width:0;line-height:1.5}.history-what b{font-weight:600}.history-meta{color:var(--text-3);flex:none;font-size:12px}.history-empty{color:var(--text-3);padding:8px 0}.trash{max-width:760px;padding:14px 24px 32px}.trash .view-empty{text-align:left;margin:32px 0;padding:0}.trash-note{color:var(--text-2);margin-bottom:14px;line-height:1.5}.trash-row{border-top:1px solid var(--border);align-items:center;gap:12px;min-height:52px;padding:8px 0;display:flex}.trash-main{flex:1;min-width:0}.trash-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.trash-sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.g-cell.auto{cursor:default}.cell-err{text-overflow:ellipsis;white-space:nowrap;color:#b4520b;align-items:center;gap:5px;min-width:0;font-size:12px;display:inline-flex;overflow:hidden}.cell-err svg{flex:none}.prop-read{width:100%;min-height:var(--h);flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px;display:flex}.prop-read .cell-err{white-space:normal}.fe-formula{resize:vertical;field-sizing:content;height:auto;min-height:68px;max-height:220px;padding:8px 10px;font:12.5px/1.5 ui-monospace,Cascadia Mono,Consolas,monospace}.fe-status{color:var(--text-2);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.fe-status.err{color:var(--danger)}.fe-chips{flex-wrap:wrap;gap:4px;max-height:84px;display:flex;overflow:auto}.fe-chip{border:1px solid var(--border);border-radius:var(--r-sm);white-space:nowrap;align-items:center;gap:5px;height:24px;padding:0 8px;font-size:12px;display:inline-flex}.fe-chip:hover{background:var(--hover)}.fe-help{color:var(--text-2);font-size:12px;line-height:1.5}.fe-help summary{cursor:pointer;color:var(--accent)}.fe-help-group{gap:3px;margin-top:8px;display:grid}.fe-help-group b{color:var(--text);font-weight:600}.fe-help code{background:var(--subtle);color:var(--text);white-space:pre-wrap;border-radius:4px;padding:1px 5px;font:11.5px/1.5 ui-monospace,Cascadia Mono,Consolas,monospace}.fe-where .panel{gap:6px;margin-top:4px;padding:0}.fe-where .panel-title{color:var(--text-2);font-size:12px;font-weight:400}.fe-where .panel-empty{font-size:12px}.fe-where .panel-row{flex-wrap:wrap}.fe-where .panel-row>.input:first-of-type{flex:1 0 100%}.fe-where .panel-row .input.op{width:118px}.fe-where .panel-and{display:none}.fe-where .panel-foot{margin:0 -6px}.g-group{background:var(--subtle);border-bottom:1px solid var(--border);cursor:pointer;flex:none;min-width:100%;height:34px;display:flex}.g-group:hover{background:var(--hover)}.g-gchev{transition:transform .12s}.g-group.closed .g-gchev{transform:rotate(-90deg)}.g-gcell{white-space:nowrap;color:var(--text-2);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex;overflow:hidden}.g-gcell.right{justify-content:flex-end}.g-gcell.g-primary{color:var(--text);font-size:13px}.g-gname,.g-gcount,.g-gnone{color:var(--text-3);flex:none;font-size:12px}.g-gnone{font-size:13px}.g-fcell.pick{cursor:pointer}.g-fcell.pick:hover,.g-fcell.open{background:var(--hover)}.menu-gap{flex:none;width:14px}.kb-card.before{box-shadow:0 -3px 0 -1px var(--accent)}.dialog.import{flex-direction:column;width:min(940px,100vw - 32px);max-height:calc(100vh - 48px);display:flex}.dialog.import .input{margin-bottom:0}.imp-top{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-top:14px;display:flex}.imp-top label{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.imp-top .input{width:220px;color:var(--text);font-size:13px}.imp-top label.imp-check{height:var(--h);color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:8px;font-size:13px}.imp-check input{width:15px;height:15px;accent-color:var(--accent);margin:0}.imp-body{border-top:1px solid var(--border);flex:1;min-height:0;margin:16px -22px 0;padding:0 22px 4px;overflow:auto}.imp-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 260px;align-items:center;gap:12px;min-height:40px;padding:4px 0;display:grid}.imp-row.head{z-index:1;min-height:32px;color:var(--text-3);background:#fff;font-size:12px;position:sticky;top:0}.imp-row b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.imp-sample{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.imp-dupes{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.imp-dupes .input{width:auto;min-width:170px}.imp-warn{border-radius:var(--r);color:#8a6100;background:#fff7e6;align-items:flex-start;gap:8px;margin-top:10px;padding:8px 10px;line-height:1.45;display:flex}.imp-warn svg{flex:none;margin-top:2px}.imp-label{color:var(--text-3);margin:16px 0 6px;font-size:12px}.imp-preview{border:1px solid var(--border);border-radius:var(--r);overflow:auto}.imp-prow{border-bottom:1px solid var(--border);min-width:max-content;display:flex}.imp-prow:last-child{border-bottom:0}.imp-prow.head{background:var(--subtle);color:var(--text-2);font-size:12px}.imp-prow>span{border-right:1px solid var(--border);white-space:nowrap;flex:none;align-items:center;width:160px;height:32px;padding:0 10px;display:flex;overflow:hidden}.imp-foot{align-items:flex-end;gap:16px;margin-top:14px;display:flex}.imp-sum{min-width:0;color:var(--text-2);flex:1;font-size:12.5px;line-height:1.6}.imp-sum>div:first-child{color:var(--text);font-weight:600}.imp-foot .imp-warn{margin-top:0;font-weight:400}.dialog.cleanup p{margin-bottom:12px}.dialog.cleanup b{color:var(--text);font-weight:600}.dialog.cleanup p.cleanup-warn{color:#b4520b;margin-bottom:20px}.bulk-area{resize:vertical;height:auto;min-height:72px;padding:8px 10px;line-height:1.45}.bulk-picks{flex-wrap:wrap;gap:4px;max-height:180px;display:flex;overflow:auto}.bulk-picks .tag{align-items:center;height:24px;display:inline-flex}.chip.person.off{opacity:.45}.bulk-link{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0 -14px}.bulk .panel-foot{margin:2px 0 0}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:9px;font-size:15px;font-weight:650;display:inline-flex}.brand-mark{border-radius:var(--r);background:var(--text);color:#fff;flex:none;place-items:center;width:28px;height:28px;display:inline-grid}.brand-link,a.btn{color:inherit;text-decoration:none}a.btn.primary{color:#fff}a.btn.ghost{color:var(--text-2)}.btn.lg{gap:8px;height:44px;padding:0 18px;font-size:15px}.auth{position:relative}.auth-home{color:var(--text-2);font-size:13px;text-decoration:none;position:absolute;top:20px;left:24px}.auth-home:hover{color:var(--text)}.auth-card>.auth-link{margin-top:16px;display:inline-block}.auth-fine{color:var(--text-3);text-align:center;font-size:12px;line-height:1.45}.auth-fine a{color:var(--text-2)}.auth-trap{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.tpl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.tpl-card{border:1px solid var(--border);text-align:left;font:inherit;color:inherit;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;display:flex}button.tpl-card{cursor:pointer;transition:border-color .12s,box-shadow .12s}button.tpl-card:hover:not(:disabled){border-color:var(--border-strong);box-shadow:0 6px 20px #0f0f1914}button.tpl-card:disabled{opacity:.55;cursor:default}.tpl-card b{margin-top:4px;font-size:15px;font-weight:600}.tpl-pitch{color:var(--text-2);line-height:1.5}.tpl-tables{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.tpl-tables i{border-radius:var(--r-sm);background:var(--subtle);color:var(--text-2);padding:2px 8px;font-size:12px;font-style:normal}.tpl-go{color:var(--accent);margin-top:auto;padding-top:8px;font-weight:500}.tpl-card.blank{border-style:dashed}.tpl-blank{border-radius:var(--r-sm);background:var(--subtle);width:36px;height:36px;color:var(--text-2);place-items:center;display:inline-grid}.tpl-samples{color:var(--text-2);cursor:pointer;align-items:center;gap:8px;display:flex}.tpl-samples input{width:15px;height:15px;accent-color:var(--accent);flex:none;margin:0}.dialog.templates{width:min(980px,100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}.dialog.templates p{margin-bottom:12px}.dialog.templates .tpl-samples{margin-bottom:14px}.dialog.templates .dialog-actions{margin-top:16px}.start{background:var(--subtle);min-height:100vh}.start-head{border-bottom:1px solid var(--border);background:#fff;align-items:center;gap:12px;height:60px;padding:0 24px;display:flex}.start-email{color:var(--text-3);font-size:12.5px}.start-body{max-width:1040px;margin:0 auto;padding:44px 24px 56px}.start-body h1{letter-spacing:-.02em;font-size:28px}.start-body>p{max-width:640px;color:var(--text-2);margin:10px 0 18px;font-size:15px;line-height:1.55}.start-body .tpl-samples{margin-bottom:18px}.start-body .auth-error{margin-bottom:14px}.start-body>p.start-note{color:var(--text-3);margin:22px 0 0;font-size:13px}.site{background:#fff;min-height:100vh}.site-head{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffeb;align-items:center;gap:10px;height:64px;padding:0 max(24px,50vw - 560px);display:flex;position:sticky;top:0}.site-nav{gap:4px;margin-left:28px;display:flex}.site-nav button{height:var(--h);border-radius:var(--r);color:var(--text-2);padding:0 10px}.site-nav button:hover{background:var(--hover);color:var(--text)}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:48px;max-width:1120px;margin:0 auto;padding:72px 24px 64px;display:grid}.hero h1{letter-spacing:-.03em;font-size:46px;font-weight:700;line-height:1.08}.hero-text>p{color:var(--text-2);margin:20px 0 28px;font-size:17px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-points{color:var(--text-2);flex-direction:column;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.hero-points li,.price li{align-items:center;gap:8px;display:flex}.hero-points svg,.price li svg{color:#18794e;flex:none}.mock{border:1px solid var(--border);background:#fff;border-radius:14px;font-size:11.5px;overflow:hidden;box-shadow:0 24px 60px #0f0f191f}.mock-bar{border-bottom:1px solid var(--border);background:var(--subtle);align-items:center;gap:6px;height:30px;padding:0 12px;display:flex}.mock-bar i{background:var(--border-strong);border-radius:50%;width:9px;height:9px}.mock-body{min-height:300px;display:flex}.mock-side{border-right:1px solid var(--border);background:var(--subtle);flex-direction:column;flex:none;gap:2px;width:104px;padding:12px 8px;display:flex}.mock-side span{border-radius:var(--r-sm);color:var(--text-2);padding:6px 8px}.mock-side span.on{background:var(--active);color:var(--text);font-weight:500}.mock-main{flex:1;min-width:0;padding:14px}.mock-title{margin-bottom:12px;font-size:14px;font-weight:650}.mock-title em{border-radius:var(--r-sm);background:var(--active);margin-left:8px;padding:3px 8px;font-size:11px;font-style:normal;font-weight:500}.mock-cols{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.mock-col{border-radius:var(--r);background:var(--subtle);flex-direction:column;align-items:flex-start;gap:6px;padding:8px;display:flex}.mock-col .tag{font-size:10.5px}.mock-card{border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;flex-direction:column;gap:3px;width:100%;padding:8px;display:flex}.mock-card b{overflow-wrap:anywhere;font-weight:600;line-height:1.3}.mock-col{min-width:0}.mock-card small{color:var(--text-3);font-size:10.5px}.band{border-top:1px solid var(--border);max-width:1120px;margin:0 auto;padding:56px 24px;scroll-margin-top:64px}.band h2{letter-spacing:-.02em;margin:0;font-size:30px}.band-lead{max-width:680px;color:var(--text-2);margin:12px 0 28px;font-size:16px;line-height:1.6}.feat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;display:grid}.feat{color:var(--text-2);flex-direction:column;gap:6px;line-height:1.55;display:flex}.feat b{color:var(--text);font-size:15px;font-weight:600}.feat-icon{border-radius:var(--r);background:var(--accent-soft);width:36px;height:36px;color:var(--accent);place-items:center;margin-bottom:4px;display:inline-grid}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px;display:grid}.step{color:var(--text-2);flex-direction:column;gap:6px;line-height:1.55;display:flex}.step b{color:var(--text);font-size:15px;font-weight:600}.step-n{border-radius:var(--r);background:var(--text);color:#fff;place-items:center;width:30px;height:30px;margin-bottom:4px;font-weight:600;display:inline-grid}.price{border:1px solid var(--border);background:var(--subtle);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:36px;margin-top:24px;padding:28px;display:grid}.price-tag{letter-spacing:-.03em;font-size:40px;line-height:1;display:block}.price-note{color:var(--text-2);margin-top:8px;display:block}.price ul{color:var(--text-2);flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.faq{max-width:760px;margin-top:20px}.faq details{border-bottom:1px solid var(--border)}.faq summary{cursor:pointer;padding:14px 0;font-size:15px;font-weight:500}.faq p{color:var(--text-2);margin:0 0 16px;line-height:1.6}.site-foot{border-top:1px solid var(--border);max-width:1120px;color:var(--text-3);flex-wrap:wrap;align-items:center;gap:20px;margin:0 auto;padding:28px 24px 40px;display:flex}.site-foot a,.doc a{color:var(--text-2)}.doc{max-width:720px;margin:0 auto;padding:48px 24px 72px;line-height:1.65}.doc h1{letter-spacing:-.02em;font-size:30px}.doc h2{margin:28px 0 8px;font-size:18px}.doc p{color:var(--text-2);margin:14px 0}.doc ul{color:var(--text-2);margin:0;padding-left:20px}.doc li{margin-bottom:8px}@media (width<=880px){.site-nav{display:none}.hero{grid-template-columns:minmax(0,1fr);padding-top:40px}.hero h1{font-size:34px}.tpl-grid,.feat-grid,.steps{grid-template-columns:minmax(0,1fr)}.price{grid-template-columns:minmax(0,1fr);gap:20px}.site-head .btn.ghost{display:none}}.pg{flex-direction:column;height:100%;min-height:0;display:flex}.pg-glyph{border-radius:var(--r);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);flex:none;place-items:center;display:grid}.pg-rename{width:280px;font-size:18px;font-weight:650}.pg-body{flex:1;min-height:0;padding:18px 24px 40px;overflow:auto;container-type:inline-size}.pg-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:14px;display:grid}.bk{border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;grid-column:span 2;min-width:0;display:flex;overflow:hidden}.bk.w1{grid-column:span 1}.bk.w3{grid-column:span 3}.bk.w4{grid-column:span 4}@container (width<=860px){.bk.w1,.bk.w2{grid-column:span 2}.bk.w3,.bk.w4{grid-column:span 4}}@container (width<=520px){.pg-grid .bk{grid-column:span 4}}.bk.editing{cursor:grab;border-style:dashed;border-color:var(--border-strong)}.bk.dragging{opacity:.4}.bk.over{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.bk-tools{background:var(--subtle);border-bottom:1px solid var(--border);align-items:center;gap:2px;padding:4px 6px;display:flex}.bk-tools .icon-btn:disabled{opacity:.3}.bk-head{align-items:center;gap:8px;padding:12px 16px 0;display:flex}.bk-head h3{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:13px;font-weight:600;overflow:hidden}.bk-open{color:var(--accent);flex:none;font-size:12px}.bk-open:hover{text-decoration:underline}.bk-issue{color:var(--text-2);align-items:flex-start;gap:8px;padding:14px 16px 16px;line-height:1.45;display:flex}.bk-issue svg{color:#b4520b;flex:none;margin-top:2px}.bk-empty{color:var(--text-3);padding:14px 16px 18px}.bk-metric{padding:6px 16px 16px}.bk-value{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:28px;font-weight:650;line-height:1.25;overflow:hidden}.bk-note{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.bk-text{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 16px 16px;line-height:1.55}.bk-head+.bk-text{padding-top:6px}.bk-list{padding:6px 0 8px;overflow-x:auto}.bk-list table{border-collapse:collapse;width:100%}.bk-list th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;padding:6px 8px;font-size:11px;font-weight:600}.bk-list td{border-top:1px solid var(--border);text-overflow:ellipsis;white-space:nowrap;max-width:240px;height:34px;padding:4px 8px;overflow:hidden}.bk-list th:first-child,.bk-list td:first-child{padding-left:16px}.bk-list th:last-child,.bk-list td:last-child{padding-right:16px}.bk-list tbody tr{cursor:pointer}.bk-list tbody tr:hover{background:var(--subtle)}.bk-list .tags{flex-wrap:nowrap}.bk-rowname{font-weight:500}.bk-more{color:var(--text-3);padding:8px 16px 2px;font-size:12px}.ch{padding:10px 16px 16px}.ch-fill{background:color-mix(in srgb, var(--c-fg) 72%, #fff);border-radius:4px;display:block}.ch-fill.neg{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--c-fg) 72%, #fff) 0 4px, color-mix(in srgb, var(--c-fg) 40%, #fff) 4px 8px)}.ch-num{font-variant-numeric:tabular-nums;white-space:nowrap}.ch-hbar{grid-template-columns:minmax(64px,max-content) minmax(40px,1fr) max-content;align-items:center;gap:8px 10px;display:grid}.ch-row{display:contents}.ch-hbar .ch-label{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--text-2);overflow:hidden}.ch-track{background:var(--subtle);border-radius:4px;height:18px}.ch-track .ch-fill{height:100%}.ch-hbar .ch-num{text-align:right;font-weight:500}.ch-bars{align-items:stretch;gap:8px;height:220px;display:flex}.ch-bars.dense{gap:3px}.ch-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ch-stem{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;min-height:0;display:flex}.ch-stem .ch-fill{border-radius:5px 5px 2px 2px;width:100%;max-width:56px}.ch-stem .ch-num{text-overflow:ellipsis;max-width:100%;font-size:12px;font-weight:500;overflow:hidden}.ch-bars .ch-label{text-align:center;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ch-bars.dense .ch-label{font-size:10px}.ch-line{padding-top:26px}.ch-plot{border-bottom:1px solid var(--border);height:180px;margin:0 14px;position:relative}.ch-plot svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ch-path{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.ch-area{fill:var(--accent);opacity:.08}.ch-dot{width:9px;height:9px;box-shadow:inset 0 0 0 2px var(--accent);background:#fff;border-radius:50%;margin:0 0 -4.5px -4.5px;position:absolute}.ch-dot em{white-space:nowrap;color:var(--text-2);font-size:11px;font-style:normal;font-weight:500;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.ch-axis{height:20px;color:var(--text-3);margin:6px 14px 0;font-size:11px;position:relative}.ch-axis span{white-space:nowrap;position:absolute;top:0;transform:translate(-50%)}.ch-axis span.first{transform:translate(-14px)}.ch-axis span.last{transform:translate(calc(14px - 100%))}.ch-axis span.skip{display:none}.ch-pie{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.ch-ring{flex:none;width:150px;height:150px;position:relative}.ch-ring svg{width:100%;height:100%}.ch-ring-bg,.ch-slice{fill:none;stroke-width:6px}.ch-ring-bg{stroke:var(--subtle)}.ch-slice{stroke:color-mix(in srgb, var(--c-fg) 72%, #fff)}.ch-center{text-align:center;overflow-wrap:anywhere;place-items:center;padding:0 30px;font-size:14px;line-height:1.2;display:grid;position:absolute;inset:0}.ch-legend{flex-direction:column;flex:1;gap:6px;min-width:150px;display:flex}.ch-item{align-items:center;gap:8px;display:flex}.ch-item i{background:color-mix(in srgb, var(--c-fg) 72%, #fff);border-radius:3px;flex:none;width:10px;height:10px}.ch-item .ch-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-2);flex:1;overflow:hidden}.ch-item b{white-space:nowrap;font-weight:500}.ch-item em{text-align:right;width:34px;color:var(--text-3);font-size:12px;font-style:normal}.pg-empty{text-align:center;max-width:520px;margin:6vh auto 0}.pg-empty h2{font-size:18px}.pg-empty p{color:var(--text-2);margin:8px 0 18px;line-height:1.55}.pg-or{color:var(--text-3);margin:18px 0 8px;font-size:12px}.pg-empty .view-kinds{text-align:left;border:1px solid var(--border);border-radius:12px}.dialog.block{flex-direction:column;width:min(940px,100vw - 32px);max-height:calc(100vh - 48px);display:flex}.be{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;min-height:0;margin:16px 0 18px;display:grid;overflow:auto}.be-form{flex-direction:column;gap:12px;min-width:0;display:flex}.be-label{min-width:0;color:var(--text-2);flex-direction:column;gap:5px;font-size:12px;font-weight:500;display:flex}.dialog.block .input{color:var(--text);margin-bottom:0;font-weight:400}.dialog.block .seg button{white-space:nowrap;padding:0 6px;font-weight:400}.be-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.be-area{resize:vertical;height:150px;padding:8px 10px;line-height:1.5}.be-hint{color:var(--text-3);margin-top:-4px;font-size:12px}.be-where .panel{width:auto;padding:0}.be-where .panel-title{color:var(--text-2);font-size:12px;font-weight:500}.be-preview{background:var(--subtle);border-radius:12px;align-self:start;min-width:0;padding:14px;position:sticky;top:0}.be-preview-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:11px;font-weight:600}@media (width<=760px){.be{grid-template-columns:minmax(0,1fr)}.be-preview{position:static}}.be-where .panel-row .input.op{width:118px}.ch-legend{max-width:400px}
