:root{--b-bg: #f6f7f9;--b-panel: #ffffff;--b-line: #e3e6ea;--b-line-strong: #858d99;--b-text: #1f2937;--b-muted: #5f6672;--b-accent: #2563eb;--b-accent-soft: #eff4ff;--b-danger: #b91c1c;--b-surface: #ffffff;--b-surface-2: #fafbfc;--b-subtle: #eef0f3;--b-line-mid: #c4c9d1;--b-faint: #9aa3ad;--b-on-accent: #ffffff;--b-inverse: #1f2937;--b-on-inverse-accent: #93c5fd;--b-danger-soft: #fef2f2;--b-danger-line: #fecaca;--b-danger-strong: #7f1d1d;--b-warn: #b45309;--b-warn-soft: #fffbeb;--b-warn-chip: #fef3c7;--b-warn-line: #fde68a;--b-warn-text: #92400e;--b-success-soft: #dcfce7;--b-success-text: #166534;--b-node-email: #0f766e;--b-node-approval: #7c3aed;--b-r-xs: 4px;--b-r-sm: 6px;--b-r-md: 8px;--b-r-lg: 10px;--b-r-pill: 999px;--b-fs-xs: 12px;--b-fs-sm: 13px;--b-fs-md: 14px;--b-fs-lg: 16px;--b-fs-xl: 18px;--b-fs-2xl: 26px;--b-shadow-1: 0 1px 3px rgb(15 23 42 / 10%);--b-shadow-2: 0 4px 16px rgb(15 23 42 / 12%);--b-shadow-3: 0 8px 24px rgb(15 23 42 / 22%);--b-shadow-drawer: -10px 0 28px rgb(15 23 42 / 12%);--b-backdrop: rgb(15 23 42 / 45%);color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--b-bg: #0f1115;--b-panel: #171a21;--b-line: #2c323d;--b-line-strong: #6b7383;--b-text: #e6e8ec;--b-muted: #a3aab6;--b-accent: #7aa2ff;--b-accent-soft: #1d2a45;--b-danger: #f87171;--b-surface: #1c2029;--b-surface-2: #222733;--b-subtle: #2a303c;--b-line-mid: #3a414e;--b-faint: #5b6372;--b-on-accent: #0b1220;--b-inverse: #e6e8ec;--b-on-inverse-accent: #1d4ed8;--b-danger-soft: #3a1d1f;--b-danger-line: #6b2b2e;--b-danger-strong: #fca5a5;--b-warn: #f59e0b;--b-warn-soft: #2f2412;--b-warn-chip: #3d2e10;--b-warn-line: #6b4f1a;--b-warn-text: #fcd34d;--b-success-soft: #12301f;--b-success-text: #86efac;--b-node-email: #2dd4bf;--b-node-approval: #a78bfa;--b-shadow-1: 0 1px 3px rgb(0 0 0 / 40%);--b-shadow-2: 0 4px 16px rgb(0 0 0 / 45%);--b-shadow-3: 0 8px 24px rgb(0 0 0 / 55%);--b-shadow-drawer: -10px 0 28px rgb(0 0 0 / 45%);--b-backdrop: rgb(0 0 0 / 60%);color-scheme:dark}}:root[data-theme=dark]{--b-bg: #0f1115;--b-panel: #171a21;--b-line: #2c323d;--b-line-strong: #6b7383;--b-text: #e6e8ec;--b-muted: #a3aab6;--b-accent: #7aa2ff;--b-accent-soft: #1d2a45;--b-danger: #f87171;--b-surface: #1c2029;--b-surface-2: #222733;--b-subtle: #2a303c;--b-line-mid: #3a414e;--b-faint: #5b6372;--b-on-accent: #0b1220;--b-inverse: #e6e8ec;--b-on-inverse-accent: #1d4ed8;--b-danger-soft: #3a1d1f;--b-danger-line: #6b2b2e;--b-danger-strong: #fca5a5;--b-warn: #f59e0b;--b-warn-soft: #2f2412;--b-warn-chip: #3d2e10;--b-warn-line: #6b4f1a;--b-warn-text: #fcd34d;--b-success-soft: #12301f;--b-success-text: #86efac;--b-node-email: #2dd4bf;--b-node-approval: #a78bfa;--b-shadow-1: 0 1px 3px rgb(0 0 0 / 40%);--b-shadow-2: 0 4px 16px rgb(0 0 0 / 45%);--b-shadow-3: 0 8px 24px rgb(0 0 0 / 55%);--b-shadow-drawer: -10px 0 28px rgb(0 0 0 / 45%);--b-backdrop: rgb(0 0 0 / 60%);color-scheme:dark}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-latin-wght-5_3_0-Dx4kXJAl.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%}body{font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--b-text);background:var(--b-bg)}h1,h2,h3{margin:0;line-height:1.25}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--b-accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.muted{color:var(--b-muted)}.hint{color:var(--b-muted);font-size:var(--b-fs-xs);margin:4px 0 0}.field-error{color:var(--b-danger);font-size:var(--b-fs-xs);margin:4px 0 0}.loading{padding:32px}.input{width:100%;padding:8px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-sm);background:var(--b-surface)}.input.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--b-fs-sm)}.input[aria-invalid=true]{border-color:var(--b-danger)}textarea.input{resize:vertical}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-sm);background:var(--b-surface);color:inherit;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--b-text)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--b-accent);border-color:var(--b-accent);color:var(--b-on-accent)}.btn.danger{color:var(--b-danger)}.icon-btn{width:26px;height:26px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-sm);background:var(--b-surface);cursor:pointer}.icon-btn:disabled{opacity:.35}.link{background:none;border:0;color:var(--b-accent);cursor:pointer;padding:0}.row-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.auth{min-height:100vh;display:grid;place-items:center;padding:16px}.auth-card{width:min(380px,100%);background:var(--b-panel);border:1px solid var(--b-line);border-radius:var(--b-r-md);padding:24px;display:grid;gap:14px}.admin{display:grid;grid-template-columns:236px 1fr;min-height:100%}.sidebar{display:flex;flex-direction:column;gap:4px;padding:14px 12px;background:var(--b-panel);border-right:1px solid var(--b-line);position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:8px;padding:6px 8px;font-weight:700;font-size:var(--b-fs-lg);color:inherit;text-decoration:none}.brand-mark{flex:none;width:26px;height:26px}.side-nav{display:grid;gap:2px}.side-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--b-r-md);color:var(--b-muted);text-decoration:none;transition:background-color .12s ease,color .12s ease}.side-link:hover{background:var(--b-subtle);color:var(--b-text)}.side-link[aria-current=page]{background:var(--b-accent-soft);color:var(--b-accent);font-weight:600}.ico{flex:none}.side-foot{margin-top:auto;display:grid;gap:8px;padding-top:12px;border-top:1px solid var(--b-line)}.user-chip{display:flex;align-items:center;gap:8px;min-width:0;padding:0 4px}.user-avatar{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--b-accent-soft);color:var(--b-accent);font-weight:700}.user-meta{display:grid;min-width:0}.user-mail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role{color:var(--b-muted);font-size:var(--b-fs-xs)}.side-logout{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:var(--b-r-md);background:none;color:var(--b-muted);cursor:pointer;text-align:left}.side-logout:hover{background:var(--b-subtle);color:var(--b-text)}.nav-backdrop{display:none;border:0;padding:0}.admin-main{min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:14px 24px;background:var(--b-panel);border-bottom:1px solid var(--b-line);position:sticky;top:0;z-index:5}.topbar-text{min-width:0;flex:1}.topbar-text h1{font-size:var(--b-fs-xl)}.topbar-text p{margin:2px 0 0;color:var(--b-muted);font-size:var(--b-fs-sm)}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-total{color:var(--b-muted)}.menu-btn{display:none;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-md);background:var(--b-surface);cursor:pointer}.admin-content:focus{outline:none}.admin-content{padding:20px 24px 32px;display:grid;gap:16px;align-content:start}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.stat{display:grid;gap:2px;padding:14px 16px;background:var(--b-panel);border:1px solid var(--b-line);border-radius:var(--b-r-lg)}.stat-label{color:var(--b-muted);font-size:var(--b-fs-sm)}.stat-value{font-size:var(--b-fs-2xl);line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.stat-note{color:var(--b-muted);font-size:var(--b-fs-xs)}.dash-panel{background:var(--b-panel);border:1px solid var(--b-line);border-radius:var(--b-r-lg);overflow:hidden}.dash-panel-head{padding:12px 16px;border-bottom:1px solid var(--b-line)}.dash-panel-head h2{font-size:var(--b-fs-md)}.dash-panel-body{padding:12px 16px 16px;display:grid;gap:10px}.dash-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.dash-note{margin:0;color:var(--b-muted);font-size:var(--b-fs-xs)}.dash-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--b-line);border-radius:var(--b-r-md);color:inherit;text-decoration:none;transition:border-color .12s ease,background-color .12s ease}a.dash-row:hover{border-color:var(--b-line-mid);background:var(--b-surface-2)}.dash-row-main{display:grid;min-width:0;flex:1}.dash-row-main small{color:var(--b-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-row-num{display:grid;justify-items:end;font-variant-numeric:tabular-nums;font-weight:600}.dash-row-num small{color:var(--b-muted);font-weight:400}.dash-row-actions{display:flex;gap:8px;flex:none}.dash-table{width:100%;border-collapse:collapse}.dash-table th,.dash-table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--b-line);vertical-align:middle}.dash-table th{color:var(--b-muted);font-weight:500;font-size:var(--b-fs-xs);text-transform:uppercase;letter-spacing:.03em}.dash-table tbody tr:last-child td{border-bottom:0}.dash-table .num{text-align:right;font-variant-numeric:tabular-nums}.dash-table td small{display:block;color:var(--b-muted)}.dash-fields{display:grid;gap:12px}.dash-field{display:grid;gap:1px}.dash-field-label{color:var(--b-muted);font-size:var(--b-fs-xs)}.dash-field-value{font-weight:500;word-break:break-all}.dash-field-note{color:var(--b-muted);font-size:var(--b-fs-xs)}.empty-state{display:grid;justify-items:start;gap:10px;padding:18px 4px;color:var(--b-muted)}.empty-state p{margin:0;max-width:52ch}.skeleton-list{display:grid;gap:8px}.skeleton-row{height:44px;border-radius:var(--b-r-md);background:linear-gradient(90deg,var(--b-subtle) 25%,var(--b-bg) 50%,var(--b-subtle) 75%);background-size:300% 100%;animation:dash-shimmer 1.3s ease-in-out infinite}@keyframes dash-shimmer{to{background-position:-150% 0}}@media(prefers-reduced-motion:reduce){.skeleton-row{animation:none}}@media(max-width:860px){.admin{grid-template-columns:1fr}.menu-btn{display:inline-flex}.sidebar{position:fixed;z-index:20;inset:0 auto 0 0;width:236px;transform:translate(-100%);transition:transform .18s ease}.admin.nav-open .sidebar{transform:none}.admin.nav-open .nav-backdrop{display:block;position:fixed;inset:0;z-index:15;background:var(--b-backdrop)}.topbar,.admin-content{padding-left:16px;padding-right:16px}}.create-form{display:flex;gap:8px}.badge{font-size:var(--b-fs-xs);padding:1px 8px;border-radius:var(--b-r-pill);background:var(--b-subtle)}.badge.published{background:var(--b-success-soft);color:var(--b-success-text)}.editor{height:100vh;display:flex;flex-direction:column}.editor>.workspace{flex:1}.editor-header{display:flex;align-items:center;gap:4px 12px;padding:8px 16px 0;background:var(--b-panel);border-bottom:1px solid var(--b-line);flex-wrap:wrap}.eh-top{display:flex;align-items:center;gap:12px;flex:1 1 100%;min-width:0}.eh-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:8px 12px;flex:1 1 100%;flex-wrap:wrap}.eh-tools{display:flex;align-items:center;gap:6px;padding-bottom:6px;flex-wrap:wrap}.form-nav{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}.form-nav-link{padding:10px 10px 8px;border-bottom:2px solid transparent;color:var(--b-muted);text-decoration:none;white-space:nowrap}.form-nav-link:hover{color:var(--b-text)}.form-nav-link[aria-current=page]{color:var(--b-accent);border-bottom-color:var(--b-accent);font-weight:600}.btn.icon-only{min-width:34px;justify-content:center;font-weight:600}.editor-title{font-size:var(--b-fs-lg);flex:1 1 160px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.back{color:var(--b-muted);text-decoration:none;display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 4px;white-space:nowrap}.back:hover{color:var(--b-text)}.header-actions{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.save-status{font-size:var(--b-fs-xs);color:var(--b-muted)}.save-status[data-status=offline],.save-status[data-status=error]{color:var(--b-danger);font-weight:600}.issues{font-size:var(--b-fs-xs);border:0;border-radius:var(--b-r-pill);padding:2px 10px;background:var(--b-warn-chip);color:var(--b-warn-text);cursor:pointer}.device{width:auto}.banner{display:flex;gap:12px;align-items:center;padding:8px 16px;background:var(--b-warn-soft);border-bottom:1px solid var(--b-warn-line);flex-wrap:wrap}.page-tablist{display:flex;gap:4px}.page-tabs{display:flex;gap:4px;padding:6px 16px 0;background:var(--b-panel);border-bottom:1px solid var(--b-line);overflow-x:auto}.page-tab{border:1px solid transparent;border-bottom:0;background:none;padding:6px 12px;border-radius:var(--b-r-sm) var(--b-r-sm) 0 0;cursor:pointer;white-space:nowrap}.page-tab[aria-selected=true]{background:var(--b-bg);border-color:var(--b-line);font-weight:600}.page-tab .count{color:var(--b-muted);font-weight:400}.panel-tabs{display:none}.workspace{display:grid;grid-template-columns:272px minmax(0,1fr) 320px;min-height:0}.panel{min-height:0;overflow:auto;background:var(--b-panel)}.panel-title{font-size:var(--b-fs-md);margin-bottom:10px}.palette{border-right:1px solid var(--b-line);padding:12px;display:grid;gap:12px;align-content:start}.palette-groups{display:grid;gap:12px}.palette-help{margin:-4px 0 0}.palette-group>summary{display:flex;align-items:center;gap:6px;font-size:var(--b-fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--b-muted);margin-bottom:6px;cursor:pointer;list-style:none;border-radius:var(--b-r-xs)}.palette-group>summary::-webkit-details-marker{display:none}.palette-group>summary:before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s}.palette-group[open]>summary:before{transform:rotate(45deg)}.palette-count{margin-left:auto;font-weight:400;letter-spacing:0}.palette-label{min-width:0}.palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.palette-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:60px;padding:8px 4px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-sm);background:var(--b-surface);cursor:grab;text-align:center;font-size:var(--b-fs-xs);line-height:1.25;touch-action:none;user-select:none}.palette-item:hover{border-color:var(--b-accent);background:var(--b-accent-soft)}.glyph{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--b-r-sm);background:var(--b-subtle);color:var(--b-text);flex:none}.canvas{background:var(--b-bg);display:flex;flex-direction:column}.canvas>.canvas-scroll{flex:1;height:auto;min-height:0}.canvas-toolbar{display:flex;justify-content:center;padding:10px 20px 0}.canvas-visual{flex:1;min-height:0;overflow:auto;padding:12px 20px 20px}.visual-note{max-width:720px;margin:0 auto 8px;text-align:center}.visual-frame{max-width:760px;margin:0 auto}.canvas-scroll{height:100%;overflow:auto;padding:20px}.canvas-empty{max-width:640px;margin:0 auto 12px;padding:32px;border:2px dashed var(--b-line);border-radius:var(--b-r-md);text-align:center;color:var(--b-muted)}.zone{list-style:none;margin:0 auto;padding:0;max-width:720px;display:grid;gap:8px;min-height:40px}.zone.nested{margin:8px 0 0 28px;padding:8px;border:1px dashed var(--b-line-mid);border-radius:var(--b-r-sm);background:var(--b-surface-2);max-width:none}.card{background:var(--b-surface);border:1px solid var(--b-line);border-radius:var(--b-r-md);padding:10px 12px;cursor:pointer;touch-action:none;user-select:none}.card.selected{border-color:var(--b-accent);box-shadow:0 0 0 1px var(--b-accent)}.card.is-hidden{background:repeating-linear-gradient(135deg,var(--b-surface) 0 8px,var(--b-surface-2) 8px 16px)}.card.is-dragging{opacity:.4}.card-body{display:flex;gap:8px;align-items:flex-start}.handle{color:var(--b-faint);cursor:grab;letter-spacing:-2px;padding-top:2px}.card-text{display:grid;gap:2px;min-width:0;flex:1}.card-name{margin-left:6px;padding:0 4px;border-radius:var(--b-r-xs);background:var(--b-subtle);font-size:var(--b-fs-xs)}.card-actions{display:flex;gap:2px;flex:none;margin:-4px -6px 0 0}.card-act{display:inline-grid;place-items:center;width:32px;height:32px;border:0;border-radius:var(--b-r-sm);background:none;color:var(--b-muted);cursor:pointer}.card-act:hover{background:var(--b-subtle);color:var(--b-text)}.card-act.danger:hover{background:var(--b-danger-soft);color:var(--b-danger)}.card-rename{padding:3px 6px;font-weight:600}.card-text small{color:var(--b-muted)}.req{color:var(--b-danger)}.mock-options,.mock-text{color:var(--b-muted);font-size:var(--b-fs-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.dragging,body.dragging *{cursor:grabbing!important}.drag-ghost{position:fixed;top:0;left:0;z-index:1000;pointer-events:none;padding:6px 10px;border-radius:var(--b-r-sm);background:var(--b-text);color:var(--b-on-accent);font-size:var(--b-fs-sm);will-change:transform}.drop-line{position:fixed;top:0;left:0;z-index:999;height:3px;border-radius:var(--b-r-xs);background:var(--b-accent);pointer-events:none;will-change:transform}.inspector{border-left:1px solid var(--b-line);padding:12px}.insp-body{display:grid;gap:12px}.insp-group{border:1px solid var(--b-line);border-radius:var(--b-r-md);padding:10px;margin:0;display:grid;gap:10px}.insp-group legend,.insp-group-title{font-weight:600;font-size:var(--b-fs-xs);padding:0 4px;margin:0}.insp-group.fold{display:block;padding:0}.fold>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;list-style:none;border-radius:var(--b-r-md)}.fold>summary::-webkit-details-marker{display:none}.fold>summary:after{content:"";margin-left:auto;width:7px;height:7px;border-right:1.5px solid var(--b-muted);border-bottom:1.5px solid var(--b-muted);transform:rotate(45deg);transition:transform .15s}.fold[open]>summary:after{transform:rotate(-135deg)}.fold>summary:hover{background:var(--b-surface-2)}.fold-body{display:grid;gap:10px;padding:0 10px 10px}.control{display:grid;gap:4px}.control label{font-size:var(--b-fs-xs);font-weight:600}.control.check{grid-template-columns:auto 1fr;align-items:center;column-gap:8px}.control.check label{font-weight:400;font-size:var(--b-fs-sm)}.control.check .hint{grid-column:2;margin:0}.option-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.option-row{display:grid;grid-template-columns:1fr auto;gap:4px 6px;align-items:end}.option-value{font-size:var(--b-fs-xs);color:var(--b-muted);grid-row:2}.option-actions{display:flex;gap:2px;grid-row:1;grid-column:2}.icon-choice{grid-column:1 / -1}.icon-row{display:flex;align-items:center;gap:8px}.icon-preview{flex:none;display:grid;place-items:center;width:28px;color:var(--b-accent, currentColor)}.matrix-col{display:grid;gap:6px;padding:8px;border-radius:var(--b-r-sm);background:var(--b-surface-2)}.preview{background:var(--b-subtle);overflow:auto;padding:24px}.preview-frame{margin:0 auto;max-width:100%;transition:width .2s}.view-switch{display:inline-flex;border:1px solid var(--b-line-strong);border-radius:var(--b-r-md);overflow:hidden}.view-btn{border:0;border-right:1px solid var(--b-line-strong);background:var(--b-surface);padding:6px 12px;cursor:pointer}.view-btn:last-child{border-right:0}.view-btn[aria-pressed=true]{background:var(--b-accent);color:var(--b-on-accent)}.workspace[data-view=logic]{grid-template-columns:minmax(0,1fr) minmax(360px,42%)}.workspace[data-view=theme]{grid-template-columns:340px minmax(0,1fr)}.workspace[data-view=preview]{grid-template-columns:minmax(0,1fr)}.logic-panel,.theme-panel{padding:16px;border-right:1px solid var(--b-line)}.logic-body{display:grid;gap:12px;max-width:860px}.logic-head{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;margin-top:8px}.logic-head .hint{grid-column:1;margin:0}.logic-head .btn{grid-column:2;grid-row:1 / span 2}.filter-note{margin:0;padding:8px 10px;border-radius:var(--b-r-sm);background:var(--b-accent-soft)}.banner-error{padding:8px 12px;border:1px solid var(--b-danger-line);border-radius:var(--b-r-sm);background:var(--b-danger-soft);color:var(--b-danger)}.banner-error p{margin:0}.rule{background:var(--b-surface);border:1px solid var(--b-line);border-radius:var(--b-r-md)}.rule>summary{display:grid;grid-template-columns:auto auto 1fr;gap:4px 10px;align-items:baseline;padding:10px 12px;cursor:pointer}.rule-title{font-weight:600;white-space:nowrap}.rule-problems{font-size:var(--b-fs-xs);padding:1px 8px;border-radius:var(--b-r-pill);background:var(--b-warn-chip);color:var(--b-warn-text);white-space:nowrap}.rule-desc{color:var(--b-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule[open]>summary{border-bottom:1px solid var(--b-line)}.rule[open] .rule-desc{white-space:normal}.rule-body{display:grid;gap:12px;padding:12px}.rule-part{border:0;margin:0;padding:0;display:grid;gap:8px;justify-items:start}.rule-part>legend{font-weight:700;font-size:var(--b-fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--b-muted);margin-bottom:6px}.rule-part>.control,.cond-list,.action-list{width:100%}.cond-list,.action-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.cond-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:6px;align-items:start}.cond-row>.control:only-of-type{grid-column:span 2}.value-set{border:1px solid var(--b-line);border-radius:var(--b-r-sm);margin:0;padding:6px 8px;display:grid;gap:2px;max-height:180px;overflow:auto}.action-row{display:grid;gap:6px;padding:8px 10px;border-radius:var(--b-r-sm);background:var(--b-surface-2);border:1px solid var(--b-line)}.action-label{font-weight:600}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 2px 1px 8px;border-radius:var(--b-r-pill);background:var(--b-accent-soft);font-size:var(--b-fs-sm)}.chip .icon-btn{width:20px;height:20px;border-radius:var(--b-r-pill);border:0;background:transparent}.chip.invalid{background:var(--b-danger-soft);color:var(--b-danger)}.action-controls,.add-action,.token-insert,.rule-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:end}.action-controls>.control,.add-action>.control,.token-insert>.control{flex:1 1 180px}.rule-toolbar{justify-content:flex-end;border-top:1px solid var(--b-line);padding-top:10px}.rule-issues{margin:0;padding:8px 8px 8px 26px;border-radius:var(--b-r-sm);background:var(--b-danger-soft);color:var(--b-danger)}.input.inline{width:auto}.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.calc-editor{display:grid;gap:8px}.template-readable,.formula{margin:0;font-size:var(--b-fs-sm);color:var(--b-text);word-break:break-word}.formula{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.expr{display:flex;flex-wrap:wrap;gap:6px;align-items:start}.expr-binary{padding:6px;border-left:3px solid var(--b-accent-soft);background:color-mix(in srgb,var(--b-accent) 3%,transparent);border-radius:var(--b-r-xs)}.expr .control{min-width:120px}.input.op{width:56px}.logic-refs{margin:0;padding-left:18px;font-size:var(--b-fs-xs);display:grid;gap:4px}.presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px}.preset{display:grid;gap:4px;justify-items:start;padding:6px 8px;border:1px solid var(--b-line);border-radius:var(--b-r-sm);background:var(--b-surface);cursor:pointer}.preset[aria-pressed=true]{border-color:var(--b-accent);box-shadow:0 0 0 1px var(--b-accent)}.preset-swatch{display:flex}.preset-swatch span{width:16px;height:16px;border-radius:var(--b-r-pill);border:1px solid var(--b-line-mid);margin-right:-4px}.color-row,.size-row{display:flex;gap:6px;align-items:center}.swatch{width:40px;height:32px;padding:2px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-sm);background:var(--b-surface);flex:none}.size-row input[type=range]{flex:1;min-width:0}.input.narrow{width:76px}.contrast-summary{margin:0;font-weight:600}.contrast-summary.ok{color:var(--b-success-text)}.contrast-summary.warn,.contrast-list .warn{color:var(--b-danger)}.contrast-list{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:2px;font-size:var(--b-fs-xs)}.contrast-list li{display:flex;justify-content:space-between;gap:8px}.dialog{border:0;border-radius:var(--b-r-md);padding:20px;width:min(520px,calc(100vw - 32px));gap:10px}.dialog[open]{display:grid}.dialog::backdrop{background:var(--b-backdrop)}.dialog h3{font-size:var(--b-fs-sm);margin-top:6px}.dialog ul{margin:4px 0;padding-left:18px}.issue-list li{margin-bottom:4px}@media(max-width:899px){.panel-tabs{display:flex;background:var(--b-panel);border-bottom:1px solid var(--b-line)}.panel-tabs [role=tab]{flex:1;padding:10px;border:0;border-bottom:2px solid transparent;background:none}.panel-tabs [role=tab][aria-selected=true]{border-bottom-color:var(--b-accent);font-weight:600}.workspace,.workspace[data-view]{grid-template-columns:minmax(0,1fr)}.workspace[data-view=logic],.workspace[data-view=theme]{grid-template-rows:minmax(0,3fr) minmax(0,2fr)}.workspace[data-view=build]>.panel{display:none;border:0}.workspace[data-view=build][data-active=palette]>.palette,.workspace[data-view=build][data-active=canvas]>.canvas,.workspace[data-view=build][data-active=inspector]>.inspector{display:block}.logic-panel,.theme-panel{border-right:0;border-bottom:1px solid var(--b-line)}.cond-row{grid-template-columns:minmax(0,1fr) auto}.cond-row>*{grid-column:1}.cond-row>.icon-btn{grid-column:2;grid-row:1}.preview{padding:12px}.zone.nested{margin-left:12px}.canvas-scroll{padding:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.sub-page,.integrations-page{min-height:100%;display:flex;flex-direction:column}a.view-btn{text-decoration:none;color:inherit}a.view-btn[aria-current=page]{background:var(--b-accent);color:var(--b-on-accent)}.sub-toolbar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 16px;background:var(--b-panel);border-bottom:1px solid var(--b-line)}.sub-toolbar .control.inline{grid-template-columns:auto auto;align-items:center;gap:6px}.sub-toolbar input[type=search]{width:220px}.sub-count{margin:0;color:var(--b-muted)}.sub-toolbar .export{margin:0 0 0 auto;align-items:center}.sub-page>.hint{margin:4px 16px 0}.bulk-bar{display:flex;gap:8px;align-items:center;padding:8px 16px;background:var(--b-accent-soft)}.sub-scroll{flex:1;min-height:0;overflow:auto;background:var(--b-surface)}.sub-grid{width:max-content;min-width:100%}.sub-grid:focus-visible{outline-offset:-2px}.sub-headgroup{position:sticky;top:0;z-index:2}.sub-row{display:grid;grid-template-columns:var(--sub-cols);height:40px;align-items:center;border-bottom:1px solid var(--b-line);background:var(--b-surface)}.sub-head{background:var(--b-subtle);font-weight:600;font-size:var(--b-fs-xs)}.sub-body{position:relative}.sub-rows>.sub-row{position:absolute;top:0;left:0;right:0;cursor:pointer;will-change:transform}.sub-rows>.sub-row:hover{background:var(--b-surface-2)}.sub-rows>.sub-row[aria-selected=true]{background:var(--b-accent-soft)}.sub-grid:focus-visible .sub-row.active{box-shadow:inset 3px 0 0 var(--b-accent)}.sub-row.loading{color:var(--b-muted)}.sub-cell{padding:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sub-cell .badge{margin-left:6px}.detail-dialog{width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.answers{display:grid;grid-template-columns:minmax(140px,32%) 1fr;gap:6px 16px;margin:0}.answers dt{font-weight:600}.answers dd{margin:0;white-space:pre-wrap;word-break:break-word}.answers ul{margin:0;padding-left:18px}.answers-page{grid-column:1 / -1;margin-top:8px;font-size:var(--b-fs-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--b-muted)}.integrations-body{flex:1;padding:20px 24px 32px;display:grid;gap:16px;align-content:start;max-width:1100px;width:100%;margin:0 auto}.integrations-page>.editor-header{position:sticky;top:0;z-index:5}.an-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}.an-toolbar-end{display:flex;align-items:center;gap:10px}.an-toolbar-end .hint{margin:0}.hook-add{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.hook-add .control{flex:1 1 320px}.hook-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.hook{border:1px solid var(--b-line);border-radius:var(--b-r-md);padding:10px 12px}.hook-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.hook-url{word-break:break-all}.badge.delivery-delivered{background:var(--b-success-soft);color:var(--b-success-text)}.badge.delivery-failed,.badge.delivery-abandoned{background:var(--b-danger-soft);color:var(--b-danger)}.secret-box{padding:12px;border:1px solid var(--b-warn-line);background:var(--b-warn-soft);border-radius:var(--b-r-sm);display:grid;gap:6px}.secret-box p{margin:0}.table-wrap{overflow-x:auto}.delivery-table{border-collapse:collapse;width:100%;font-size:var(--b-fs-sm);margin-top:8px}.delivery-table th,.delivery-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--b-line)}@media(max-width:899px){.sub-toolbar .export{margin-left:0}.answers{grid-template-columns:1fr}}.notice{margin:0;padding:10px 12px;border:1px solid var(--b-line);border-left:4px solid var(--b-accent);background:var(--b-accent-soft);border-radius:var(--b-r-sm)}.notice ul{margin:4px 0 0;padding-left:18px}.notice.warning{border-color:var(--b-warn-line);border-left-color:var(--b-warn);background:var(--b-warn-soft)}.notice.error{border-color:var(--b-danger-line);border-left-color:var(--b-danger);background:var(--b-danger-soft)}.sheets,.sheet-destination,.sheet-conflict,.sheet-summary{display:grid;gap:10px}.sheet-summary p{margin:0}.sheet-summary a{color:var(--b-accent)}.sheet-mapping-summary{cursor:pointer;font-weight:600;padding:4px 0}.sheet-mapping .input{min-width:14rem}.sheet-mapping tr[data-state=orphaned] td,.sheet-mapping tr[data-state=disabled] td{color:var(--b-muted)}.nowrap{white-space:nowrap}.badge.warn{background:var(--b-warn-soft);color:var(--b-warn-text)}.an-content{display:grid;gap:16px}.an-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.an-card{background:var(--b-panel);border:1px solid var(--b-line);border-radius:var(--b-r-md);padding:12px 14px}.an-card p{margin:0}.an-card-label{color:var(--b-muted);font-size:var(--b-fs-sm)}.an-card-value{font-size:var(--b-fs-2xl);font-weight:700;font-variant-numeric:tabular-nums}.an-table td{font-variant-numeric:tabular-nums}.an-bar-cell{width:30%;min-width:80px}.an-bar{display:block;height:8px;background:var(--b-accent-soft);border-radius:var(--b-r-xs);overflow:hidden}.an-bar>span{display:block;height:100%;background:var(--b-accent)}.integrations-body>.control.inline{justify-self:start}.an-chart{margin:0 0 4px;display:grid;gap:8px}.an-legend{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;margin:0;padding:0;color:var(--b-muted)}.an-legend li{display:flex;align-items:center;gap:6px}.an-legend-key{width:14px;height:2px;border-radius:1px}.an-chart-frame{position:relative}.an-chart-frame:focus-visible{outline:2px solid var(--b-accent);outline-offset:2px;border-radius:var(--b-r-sm)}.an-chart-svg{display:block;width:100%;height:auto;touch-action:none}.an-grid{stroke:var(--b-line);stroke-width:1}.an-axis{fill:var(--b-muted);font-size:var(--b-fs-xs);font-variant-numeric:tabular-nums}.an-end-label{fill:var(--b-muted);font-size:var(--b-fs-xs)}.an-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.an-dot{stroke:var(--b-panel);stroke-width:2}.an-crosshair{stroke:var(--b-muted);stroke-width:1}.an-tip{position:absolute;top:4px;transform:translate(-50%);min-width:132px;padding:8px 10px;background:var(--b-panel);border:1px solid var(--b-line);border-radius:var(--b-r-md);box-shadow:var(--b-shadow-2);pointer-events:none}.an-tip p{margin:0}.an-tip-day{color:var(--b-muted);font-size:var(--b-fs-xs);margin-bottom:4px}.an-tip-row{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}.an-tip-row span:last-child{color:var(--b-muted)}.an-tip-key{width:12px;height:2px;border-radius:1px;flex:none}.wf-page{height:100dvh;overflow:hidden}.wf-body{display:flex;flex-direction:column;max-width:none;flex:1;min-height:0;overflow:hidden;padding:12px 16px 16px}.wf-pane{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px}.wf-runs-pane{flex:1;min-height:0;overflow:auto}.wf-toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.wf-palette{display:flex;gap:8px;flex-wrap:wrap}.wf-toolbar-end{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.wf-toolbar-end .control{margin:0}.wf-stage{position:relative;flex:1;min-height:0}.wf-canvas{position:absolute;inset:0;overflow:hidden;background:var(--b-surface);background-image:radial-gradient(var(--b-line) 1px,transparent 1px);background-size:20px 20px;border:1px solid var(--b-line);border-radius:var(--b-r-md);cursor:grab;touch-action:none}.wf-canvas:focus-visible{outline:2px solid var(--b-accent);outline-offset:-2px}.wf-canvas.grabbing{cursor:grabbing}.wf-world{position:absolute;top:0;left:0;transform-origin:0 0}.wf-edges{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.wf-edge{fill:none;stroke:var(--b-faint);stroke-width:2}.wf-edge.ghost{stroke-dasharray:5 4}.wf-edge-cut{fill:var(--b-surface);stroke:var(--b-faint);pointer-events:auto;cursor:pointer}.wf-edge-x{fill:var(--b-danger);font-size:var(--b-fs-sm);pointer-events:auto;cursor:pointer;user-select:none}.wf-nodes{position:absolute;inset:0}.wf-node{position:absolute;display:grid;gap:2px;padding:10px 12px;min-height:66px;background:var(--b-surface);border:1px solid var(--b-line);border-left:3px solid var(--b-faint);border-radius:var(--b-r-md);box-shadow:var(--b-shadow-1);cursor:grab;touch-action:none}.wf-node.selected{border-color:var(--b-accent);box-shadow:0 0 0 3px var(--b-accent-soft)}.wf-node.wf-trigger{border-left-color:var(--b-accent)}.wf-node.wf-condition{border-left-color:var(--b-warn)}.wf-node.wf-email{border-left-color:var(--b-node-email)}.wf-node.wf-approval{border-left-color:var(--b-node-approval)}.wf-node.wf-end{border-left-color:var(--b-muted)}.wf-node-kind{color:var(--b-muted);font-size:var(--b-fs-xs);text-transform:uppercase;letter-spacing:.04em}.wf-node-title{font-size:var(--b-fs-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-port{position:absolute;bottom:-8px;width:14px;height:14px;padding:0;border:2px solid var(--b-faint);border-radius:50%;background:var(--b-surface);cursor:crosshair;touch-action:none}.wf-port:hover{border-color:var(--b-accent)}.wf-port-label{position:absolute;top:14px;left:50%;transform:translate(-50%);font-size:var(--b-fs-xs);color:var(--b-muted);white-space:nowrap;pointer-events:none}.wf-drawer{position:absolute;top:0;right:0;bottom:0;z-index:3;width:min(360px,100%);display:flex;flex-direction:column;background:var(--b-surface);border:1px solid var(--b-line);border-radius:var(--b-r-md);box-shadow:var(--b-shadow-drawer);animation:wf-slide .16s ease-out}@keyframes wf-slide{0%{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.wf-drawer{animation:none}}.wf-drawer-head{display:flex;align-items:center;gap:8px;padding:12px 8px 12px 14px;border-bottom:1px solid var(--b-line)}.wf-drawer-head h2{flex:1;min-width:0;margin:0;font-size:var(--b-fs-lg)}.wf-drawer-close{border:0;border-radius:var(--b-r-sm);background:none;color:var(--b-muted);font-size:var(--b-fs-xl);line-height:1;padding:6px 10px;cursor:pointer}.wf-drawer-close:hover{background:var(--b-bg);color:var(--b-text)}.wf-drawer-body{flex:1;min-height:0;overflow:auto;padding:14px;display:grid;gap:12px;align-content:start}.wf-condition{border:1px solid var(--b-line);border-radius:var(--b-r-md);padding:10px;display:grid;gap:8px}.wf-hud-left{position:absolute;left:12px;bottom:12px;z-index:2;display:flex;flex-direction:column;gap:8px;align-items:start;max-width:min(420px,calc(100% - 140px));pointer-events:none}.wf-issues{pointer-events:auto;max-height:40vh;overflow:auto;border:1px solid var(--b-warn-line);background:var(--b-warn-soft);border-radius:var(--b-r-md);padding:12px 14px;box-shadow:var(--b-shadow-2)}.wf-hint{margin:0;color:var(--b-muted);font-size:var(--b-fs-xs)}.wf-zoom{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:2px;padding:3px;background:var(--b-surface);border:1px solid var(--b-line);border-radius:var(--b-r-md);box-shadow:var(--b-shadow-2)}.wf-zoom-btn{min-width:30px;height:28px;border:0;border-radius:var(--b-r-sm);background:none;color:var(--b-text);font-size:var(--b-fs-lg);line-height:1;cursor:pointer}.wf-zoom-btn:hover{background:var(--b-bg)}.wf-zoom-level{min-width:46px;text-align:center;font-size:var(--b-fs-xs);color:var(--b-muted);font-variant-numeric:tabular-nums}.wf-issues p{margin:0 0 6px}.wf-issues ul{margin:0;padding-left:20px}@media(max-width:900px){.wf-hint{display:none}.wf-hud-left{max-width:calc(100% - 150px)}}.rt-bar{display:flex;gap:4px;flex-wrap:wrap;align-items:center;padding:6px;border:1px solid var(--b-line);border-bottom:0;border-radius:var(--b-r-sm) var(--b-r-sm) 0 0;background:var(--b-surface-2)}.rt-btn{min-width:28px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:var(--b-r-sm);background:none;cursor:pointer;font-size:var(--b-fs-sm)}.rt-btn:hover{background:var(--b-surface);border-color:var(--b-line)}.rt-fields{margin-left:auto;max-width:170px;padding:3px 6px;border:1px solid var(--b-line);border-radius:var(--b-r-sm);background:var(--b-surface);font-size:var(--b-fs-xs)}.rt-link{display:flex;gap:6px;padding:6px;border:1px solid var(--b-line);border-bottom:0;background:var(--b-surface)}.rt-body{min-height:130px;max-height:300px;overflow:auto;padding:10px 12px;border:1px solid var(--b-line-strong);border-radius:0 0 var(--b-r-sm) var(--b-r-sm);background:var(--b-surface)}.rt-body:focus-visible{outline:2px solid var(--b-accent);outline-offset:-2px}.rt-body p,.rt-body h2,.rt-body blockquote,.rt-body ul,.rt-body ol{margin:0 0 8px}.rt-body h2{font-size:var(--b-fs-lg)}.rt-body blockquote{border-left:3px solid var(--b-line);padding-left:10px;color:var(--b-muted)}.rt-body ul,.rt-body ol{padding-left:22px}.wf-approvals{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:var(--b-fs-sm)}.wf-comment{margin:4px 0 0;padding:4px 10px;border-left:3px solid var(--b-line-strong);color:var(--b-muted);white-space:pre-line}.wf-empty{padding:28px 4px;color:var(--b-muted)}.wf-empty p{margin:0 0 6px}.row-actions.end{justify-content:flex-end}.btn.danger-solid{background:var(--b-danger);border-color:var(--b-danger);color:var(--b-on-accent)}.dialog.confirm p{margin:0}.toasts{position:fixed;z-index:50;left:50%;bottom:20px;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px)}.toast{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 16px;border-radius:var(--b-r-md);background:var(--b-inverse);color:var(--b-on-accent);box-shadow:var(--b-shadow-3)}.toast.error{background:var(--b-danger-strong)}.toast-action{border:0;background:none;color:var(--b-on-inverse-accent);font-weight:600;padding:6px 8px;border-radius:var(--b-r-sm);cursor:pointer}.toast-close{border:0;background:none;color:var(--b-line-mid);font-size:var(--b-fs-xl);line-height:1;width:32px;height:32px;border-radius:var(--b-r-sm);cursor:pointer}.toast-action:hover,.toast-close:hover{background:color-mix(in srgb,var(--b-on-accent) 12%,transparent)}.toast :focus-visible{outline-color:var(--b-on-inverse-accent)}.share-dialog{width:min(600px,calc(100vw - 32px))}.share{display:grid;gap:16px}.share-block{display:grid;gap:8px}.share-label{font-weight:600}.share-summary{font-weight:600;cursor:pointer;width:max-content}.share-row{display:flex;gap:8px}.share-row .input{flex:1;min-width:0}.share-code{font-size:var(--b-fs-xs);white-space:pre;overflow-x:auto}.share-qr{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:8px}.share-qr svg{border:1px solid var(--b-line);border-radius:var(--b-r-sm)}.seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;border-radius:var(--b-r-md);background:var(--b-subtle);width:max-content;max-width:100%}.seg-btn{border:0;border-radius:var(--b-r-sm);background:none;padding:6px 12px;cursor:pointer}.seg-btn[aria-checked=true]{background:var(--b-surface);box-shadow:var(--b-shadow-1);font-weight:600}@media(max-width:520px){.share-row{flex-wrap:wrap}.share-row .input{flex-basis:100%}}.list-tools{display:flex;gap:8px;flex-wrap:wrap}.list-tools input{flex:1 1 220px}.list-tools select{width:auto}.form-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.form-row-item{position:relative}.form-row-item:hover{border-color:var(--b-line-strong);background:var(--b-surface-2)}.row-link{color:inherit;text-decoration:none}.row-link:after{content:"";position:absolute;inset:0;border-radius:inherit}.form-row-item .dash-row-actions,.form-row-item .badge{position:relative}@media(max-width:640px){.form-row-item{flex-wrap:wrap}.form-row-item .dash-row-main{flex-basis:calc(100% - 80px)}}.skip-link{position:absolute;z-index:100;left:8px;top:-100px;padding:8px 14px;border-radius:var(--b-r-sm);background:var(--b-accent);color:var(--b-on-accent);font-weight:600}.skip-link:focus{top:8px}.auth-brand{padding:0}.auth-card .btn.primary{justify-content:center;min-height:40px}.password-row{display:flex;gap:6px}.password-row .input{flex:1;min-width:0}.shortcut-table{border-collapse:collapse;width:100%}.sk-key,.sk-desc{padding:6px 4px;border-bottom:1px solid var(--b-line);text-align:left;vertical-align:top}.sk-key{width:40%;font-weight:400}kbd{display:inline-block;padding:1px 6px;border:1px solid var(--b-line-strong);border-bottom-width:2px;border-radius:var(--b-r-xs);background:var(--b-surface-2);font:12px ui-monospace,SFMono-Regular,Menlo,monospace}.dialog details.more summary{cursor:pointer;color:var(--b-accent)}@media(max-width:899px){.editor-header{padding:6px 12px 0;gap:0}.eh-top{gap:8px}.eh-top .back{font-size:0}.eh-top .back span{font-size:var(--b-fs-xl)}.editor-title{font-size:var(--b-fs-lg);flex:1 1 0}.eh-top .save-status{display:none}.eh-top .issues{max-width:9ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{flex-wrap:nowrap}.eh-bottom{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;align-items:center}.eh-bottom>.form-nav,.eh-bottom>.eh-tools{flex:none;overflow:visible}.eh-bottom>.eh-tools{flex-wrap:nowrap;padding:4px 0}.page-tabs{padding:4px 12px 0}.eh-tools .view-switch{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;border:0;border-top:1px solid var(--b-line-strong);border-radius:0;background:var(--b-surface);padding-bottom:env(safe-area-inset-bottom)}.eh-tools .view-switch .view-btn{flex:1;min-height:48px}.editor{padding-bottom:48px}.toasts{bottom:64px}}@media(max-width:480px){.btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(pointer:coarse){.btn,.input,.view-btn,.seg-btn,.page-tab,.palette-item,.form-nav-link,.side-link,.panel-tabs [role=tab],.toast-action{min-height:44px}.back,.btn.icon-only,.card-act,.icon-btn,.toast-close,.menu-btn{min-width:44px;min-height:44px}.form-nav-link{display:inline-flex;align-items:center}}.wf-targets{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:50vh;overflow:auto}.wf-target{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-sm);background:var(--b-surface);text-align:left;cursor:pointer}.wf-target:hover{border-color:var(--b-accent);background:var(--b-accent-soft)}.wf-target[aria-current=true]{border-color:var(--b-accent)}.wf-target .badge{margin-left:auto}.side-theme-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;font-size:var(--b-fs-sm);color:var(--b-muted)}.side-theme{width:auto;padding:4px 8px}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;border:0}.template-card{position:relative;display:grid;gap:2px;padding:10px 12px 10px 36px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-md);background:var(--b-surface);cursor:pointer}.template-card input{position:absolute;left:12px;top:12px;margin:0}.template-card span{color:var(--b-muted);font-size:var(--b-fs-xs)}.template-card:has(input:checked){border-color:var(--b-accent);box-shadow:0 0 0 1px var(--b-accent);background:var(--b-accent-soft)}.template-card:has(input:focus-visible){outline:2px solid var(--b-accent);outline-offset:2px}.onboarding-head{display:flex;align-items:center;gap:12px}.onboarding-head .link{margin-left:auto}.onboarding-steps{list-style:none;margin:0;padding:12px 16px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.onboarding-steps li{display:flex;gap:10px;align-items:flex-start}.onboarding-steps li>span:last-child{display:grid;gap:2px}.onboarding-hint{color:var(--b-muted)}.onboarding-mark{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:var(--b-r-pill);border:1.5px solid var(--b-line-strong);font-size:var(--b-fs-xs);font-weight:600}.onboarding-steps li.done .onboarding-mark{border-color:var(--b-success-text);background:var(--b-success-soft);color:var(--b-success-text)}.onboarding-steps li.done strong{color:var(--b-muted);text-decoration:line-through}.history{display:grid;grid-template-columns:minmax(160px,200px) minmax(0,1fr);gap:16px;min-height:200px}.history-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;align-content:start;max-height:50vh;overflow:auto}.history-item{display:grid;grid-template-columns:1fr auto;gap:2px 8px;width:100%;padding:8px 10px;border:1px solid var(--b-line-strong);border-radius:var(--b-r-sm);background:var(--b-surface);text-align:left;cursor:pointer}.history-when{grid-column:1 / -1;color:var(--b-muted)}.history-item[aria-pressed=true]{border-color:var(--b-accent);background:var(--b-accent-soft)}.history-detail ul{margin:4px 0 8px;padding-left:18px}.dialog:has(.history){width:min(720px,calc(100vw - 32px))}@media(max-width:600px){.history{grid-template-columns:1fr}}.side-head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-bottom:8px}.side-collapse{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border:0;border-radius:var(--b-r-md);background:none;color:var(--b-muted);cursor:pointer}.side-collapse:hover{background:var(--b-subtle);color:var(--b-text)}@media(min-width:861px){.admin{transition:grid-template-columns .18s ease}.admin.collapsed{grid-template-columns:68px 1fr}.admin.collapsed .side-head{flex-direction:column}.admin.collapsed .side-collapse svg{transform:scaleX(-1)}.admin.collapsed .side-label,.admin.collapsed .user-meta{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.admin.collapsed .side-link,.admin.collapsed .side-logout,.admin.collapsed .user-chip,.admin.collapsed .brand{justify-content:center;padding-left:0;padding-right:0}.admin.collapsed .side-theme-row{display:none}}@media(max-width:860px){.side-collapse{display:none}}.auth{align-content:center;gap:12px}.auth-lang{display:flex;justify-content:center}
