:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--neutral-0:oklch(100% 0 0);--neutral-1:oklch(99% 0 0);--neutral-2:oklch(97.5% 0 0);--neutral-3:oklch(95.5% 0 0);--neutral-4:oklch(91.5% 0 0);--neutral-5:oklch(84% 0 0);--neutral-6:oklch(72% 0 0);--neutral-7:oklch(58% 0 0);--neutral-8:oklch(45% 0 0);--neutral-9:oklch(34% 0 0);--neutral-10:oklch(23% 0 0);--neutral-11:oklch(15% 0 0);--background:var(--neutral-1);--surface:var(--neutral-0);--surface-raised:var(--neutral-0);--surface-muted:var(--neutral-2);--foreground:var(--neutral-11);--text-secondary:var(--neutral-8);--text-muted:var(--neutral-7);--border:oklch(92.5% 0 0);--border-subtle:oklch(96% 0 0);--border-strong:oklch(82% 0 0);--accent:oklch(67% .16 162);--accent-strong:oklch(51% .13 162);--accent-subtle:color-mix(in oklab, var(--accent) 13%, transparent);--accent-foreground:oklch(18% .03 162);--tone-teal:oklch(50% .095 182);--tone-sky:oklch(51% .11 240);--tone-amber:oklch(55% .12 68);--tone-rose:oklch(53% .18 10);--tone-green:oklch(50% .12 162);--success:var(--tone-green);--warning:var(--tone-amber);--danger:var(--tone-rose);--info:var(--tone-sky);--wa-stage:oklch(96.5% .01 154);--wa-bubble:oklch(95.5% .03 156);--wa-bubble-border:color-mix(in oklab, var(--accent) 26%, var(--border));--shadow-resting:0 1px 2px oklch(0% 0 0/.035);--shadow-raised:0 6px 18px oklch(0% 0 0/.065), 0 1px 3px oklch(0% 0 0/.035);--shadow-floating:0 20px 48px oklch(0% 0 0/.12), 0 3px 10px oklch(0% 0 0/.05);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius-sm:7px;--radius-control:10px;--radius-panel:20px;--radius-surface:24px;--radius-pill:9999px;--control-height-sm:2.25rem;--control-height-md:2.75rem;--font-display:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--tracking-display:-.025em;--tracking-body:-.01em;--leading-display:1.15;--leading-body:1.45;--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-exit:cubic-bezier(.7, 0, .84, 0);--ease-spring:linear(0, .0213, .0739, .1443, .2235, .305, .3849, .4606, .5305, .594, .6508, .7011, .7452, .7836, .8168, .8454, .8699, .8907, .9084, .9234, .9361, .9467, .9557, .9632, .9694, .9747, .979, .9826, .9857, .9882, .9902, .992, .9934, .9946, .9955, .9963, 1);--duration-instant:.12s;--duration-fast:.16s;--duration-standard:.24s;--duration-spring:.58s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:oklch(18% 0 0);--surface:oklch(21% 0 0);--surface-raised:oklch(23.5% 0 0);--surface-muted:oklch(25.5% 0 0);--foreground:oklch(96% 0 0);--text-secondary:oklch(77% 0 0);--text-muted:oklch(64% 0 0);--border:oklch(29% 0 0);--border-subtle:oklch(25% 0 0);--border-strong:oklch(40% 0 0);--accent:oklch(78% .14 162);--accent-strong:oklch(88% .11 162);--accent-subtle:color-mix(in oklab, var(--accent) 18%, transparent);--accent-foreground:oklch(18% .03 162);--tone-teal:oklch(79% .13 182);--tone-sky:oklch(79% .095 236);--tone-amber:oklch(83% .12 78);--tone-rose:oklch(71% .155 8);--tone-green:oklch(79% .14 162);--wa-stage:oklch(19.5% .008 160);--wa-bubble:oklch(27.5% .04 162);--wa-bubble-border:color-mix(in oklab, var(--accent) 28%, var(--border));--shadow-resting:0 1px 2px oklch(0% 0 0/.22);--shadow-raised:0 8px 22px oklch(0% 0 0/.26);--shadow-floating:0 24px 56px oklch(0% 0 0/.42)}html[data-vt=theme]::view-transition-old(root){mix-blend-mode:normal;animation:none}html[data-vt=theme]::view-transition-new(root){mix-blend-mode:normal;animation:.52s cubic-bezier(.4,0,.2,1) vt-circle-reveal}@keyframes vt-circle-reveal{0%{clip-path:circle(0% at var(--vt-x,90%) var(--vt-y,5%))}to{clip-path:circle(150% at var(--vt-x,90%) var(--vt-y,5%))}}:focus:not(:focus-visible),:is(input:not([type=button],[type=checkbox],[type=file],[type=radio],[type=submit]),textarea,[tabindex="-1"]):focus{outline:none}:focus-visible:not(input:not([type=button],[type=checkbox],[type=file],[type=radio],[type=submit]),textarea,[tabindex="-1"]){outline:2px solid color-mix(in oklab, var(--accent-strong) 72%, transparent);outline-offset:2px}*,:before,:after{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--foreground);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;margin:0}.page{width:100%;max-width:1360px;padding:var(--space-5) clamp(16px, 3vw, 28px) var(--space-8);gap:var(--space-5);margin-inline:auto;display:grid}h1,h2,h3,p{margin:0}h1{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;line-height:var(--leading-display);letter-spacing:var(--tracking-display);color:var(--foreground)}h2{font-family:var(--font-body);font-size:var(--text-base);font-weight:500;line-height:var(--leading-body);color:var(--foreground)}.muted{color:var(--text-muted)}.small{font-size:var(--text-sm)}.hint{font-size:var(--text-xs);color:var(--text-muted);line-height:1.45}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.row{align-items:center;display:flex}.gap{gap:var(--space-2)}.wrap{flex-wrap:wrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);flex-wrap:wrap;display:flex}.brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.brand-mark{color:var(--accent);flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-copy{gap:2px;min-width:0;display:grid}.subtitle{font-size:var(--text-xs);color:var(--text-secondary)}.toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.segmented{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:3px;display:grid;position:relative}.segmented-thumb{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:calc(50% - 3px);box-shadow:var(--shadow-resting);z-index:0;transform:translateX(calc(var(--seg-idx,0) * 100%));transition:transform var(--duration-spring) var(--ease-spring);position:absolute;top:3px;bottom:3px;left:3px}.segmented-btn{z-index:1;border-radius:var(--radius-sm);min-width:38px;min-height:28px;padding:0 var(--space-2);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard);background:0 0;border:0;font-weight:500;position:relative}.segmented-btn[aria-pressed=true],.segmented-btn:hover{color:var(--foreground)}.btn{justify-content:center;align-items:center;gap:var(--space-2);max-width:100%;min-height:var(--control-height-md);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);font-family:var(--font-body);font-size:var(--text-sm);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), transform var(--duration-spring) var(--ease-spring);font-weight:500;line-height:1;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.48;cursor:not-allowed}.btn.sm{min-height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.btn.icon-btn{width:var(--control-height-md);padding:0}.btn.icon-btn.sm{width:var(--control-height-sm);padding:0}.btn.primary{background:var(--foreground);border-color:var(--foreground);color:var(--background)}.btn.primary:hover:not(:disabled){opacity:.9}.btn.secondary{background:var(--surface);border-color:var(--border);color:var(--foreground)}.btn.secondary:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}.btn.active-toggle{background:var(--surface-muted);border-color:var(--border-strong);color:var(--foreground)}.btn.ghost{color:var(--text-secondary);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-muted);color:var(--foreground)}.btn.danger{background:color-mix(in oklab, var(--danger) 12%, var(--surface));border-color:color-mix(in oklab, var(--danger) 35%, var(--border));color:var(--danger)}.btn.danger:hover:not(:disabled){background:color-mix(in oklab, var(--danger) 18%, var(--surface));border-color:var(--danger)}.btn.danger-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn.danger-ghost:hover:not(:disabled){background:color-mix(in oklab, var(--danger) 12%, transparent);color:var(--danger)}.btn.wa{background:var(--accent-subtle);border-color:color-mix(in oklab, var(--accent) 42%, var(--border));color:color-mix(in oklab, var(--accent-strong) 88%, var(--foreground))}:root[data-theme=dark] .btn.wa{color:var(--accent-strong)}.btn.wa:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 22%, transparent);border-color:var(--accent)}.alert-banner{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);border:1px solid color-mix(in oklab, var(--accent) 32%, var(--border));background:color-mix(in oklab, var(--accent) 9%, var(--surface));color:var(--foreground);font-size:var(--text-sm);animation:surface-in var(--duration-standard) var(--ease-enter) both;display:flex}.alert-icon{color:var(--accent-strong);flex:none;place-items:center;display:grid}.alert-body{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex-wrap:wrap;flex:1;min-width:0;display:flex}.alert-link{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.alert-dismiss{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex:none;place-items:center;display:grid}.alert-dismiss:hover{background:color-mix(in oklab, var(--foreground) 8%, transparent);color:var(--foreground)}.inline-alert{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-control);font-size:var(--text-xs);border:1px solid var(--border);background:var(--surface-muted);color:var(--text-secondary);line-height:1.45;display:flex}.inline-alert.warning{border-color:color-mix(in oklab, var(--warning) 35%, var(--border));background:color-mix(in oklab, var(--warning) 10%, var(--surface));color:color-mix(in oklab, var(--warning) 75%, var(--foreground))}:root[data-theme=dark] .inline-alert.warning{color:var(--warning)}.inline-alert svg{flex:none;margin-top:1px}.workspace{gap:var(--space-4);grid-template-columns:276px minmax(0,1fr) 368px;align-items:start;display:grid}.workspace.single{grid-template-columns:276px minmax(0,1fr)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-panel);min-width:0;padding:var(--space-4)}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.sidebar{top:var(--space-4);position:sticky}.sidebar-empty{line-height:1.5}.tpl-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.tpl-item{align-items:center;gap:var(--space-1);border-radius:var(--radius-control);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border:1px solid #0000;padding:2px 4px 2px 10px;display:flex}.tpl-item:hover{background:var(--surface-muted)}.tpl-item.active{background:var(--accent-subtle);border-color:color-mix(in oklab, var(--accent) 40%, var(--border))}.tpl-name{text-align:left;min-width:0;color:var(--foreground);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:8px 0;font-weight:400;overflow:hidden}.tpl-item.active .tpl-name{font-weight:500}.tpl-del{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;flex:none;place-items:center;display:grid}.tpl-del:hover{background:color-mix(in oklab, var(--danger) 14%, transparent);color:var(--danger)}.tpl-confirm{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-width:0;animation:surface-in var(--duration-instant) var(--ease-enter) both;flex-wrap:wrap;padding:4px 0;display:flex}.tpl-confirm-label{min-width:0;font-size:var(--text-xs);color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.tpl-confirm-actions{flex:none;align-items:center;gap:2px;margin-left:auto;display:flex}.confirm-pill{height:var(--control-height-sm);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-raised);box-shadow:var(--shadow-resting);animation:surface-in var(--duration-fast) var(--ease-enter) both;align-items:center;gap:2px;padding:0 4px 0 10px;display:inline-flex}.confirm-prompt{font-size:var(--text-xs);color:var(--foreground);white-space:nowrap;padding-right:4px;font-weight:500}.confirm-btn{border-radius:var(--radius-pill);height:28px;color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;justify-content:center;align-items:center;padding:0 10px;font-weight:500;display:inline-flex}.confirm-btn:hover{background:var(--surface-muted);color:var(--foreground)}.confirm-btn.danger{background:color-mix(in oklab, var(--danger) 14%, transparent);color:var(--danger)}.confirm-btn.danger:hover{background:color-mix(in oklab, var(--danger) 22%, transparent)}.field{gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.field:last-child{margin-bottom:0}.field-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex;position:relative}.field-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.input{background:var(--surface);border:1px solid var(--border);width:100%;min-width:0;color:var(--foreground);border-radius:var(--radius-control);font-family:var(--font-body);font-size:var(--text-sm);line-height:var(--leading-body);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);padding:9px 12px}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:focus{border-color:var(--accent-strong);background:var(--surface)}textarea.input{resize:vertical;line-height:1.55}textarea.body{min-height:220px;font-family:var(--font-mono);font-size:.875rem}.format-bar{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);align-items:center;gap:2px;padding:3px;display:inline-flex}.format-btn{border-radius:var(--radius-sm);width:30px;height:28px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-spring) var(--ease-spring);background:0 0;border:0;place-items:center;display:grid}.format-btn:hover{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-resting)}.format-btn:active{transform:scale(.93)}.format-btn.active{background:var(--accent-subtle);color:color-mix(in oklab, var(--accent-strong) 88%, var(--foreground))}:root[data-theme=dark] .format-btn.active{color:var(--accent-strong)}.format-sep{background:var(--border);width:1px;height:16px;margin-inline:2px}.emoji-popover{z-index:30;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-raised);width:min(344px,100%);box-shadow:var(--shadow-floating);transform-origin:100% 0;animation:dialog-in var(--duration-fast) var(--ease-enter) both;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.emoji-tabs{border-bottom:1px solid var(--border);background:var(--surface-muted);grid-template-columns:repeat(8,minmax(0,1fr));display:grid}.emoji-tab{height:38px;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.emoji-tab:hover{color:var(--foreground);background:color-mix(in oklab, var(--foreground) 4%, transparent)}.emoji-tab.active{color:var(--accent-strong)}.emoji-tab.active:after{content:"";background:var(--accent-strong);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:0;left:6px;right:6px}.emoji-search-wrap{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle)}.emoji-search-field{max-width:none}.emoji-search-input{min-height:32px;font-size:var(--text-xs);border-radius:var(--radius-pill);background:var(--surface-muted);padding:5px 28px 5px 32px}.emoji-search-input:focus{background:var(--surface)}.emoji-scroll{height:244px;padding:0 var(--space-2) var(--space-2);overscroll-behavior:contain;position:relative;overflow-y:auto}.emoji-section+.emoji-section{margin-top:var(--space-2)}.emoji-cat-title{z-index:1;font-size:var(--text-xs);color:var(--text-muted);background:color-mix(in oklab, var(--surface-raised) 92%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin:0;padding:7px 6px 5px;font-weight:500;position:sticky;top:0}.emoji-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;display:grid}.emoji-cell{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-spring) var(--ease-spring);background:0 0;border:0;place-items:center;padding:0;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:1.25rem;line-height:1;display:grid}.emoji-cell:hover,.emoji-cell:focus-visible{background:var(--surface-muted);transform:scale(1.14)}.emoji-cell:active{transform:scale(.94)}.emoji-empty{padding:var(--space-6) var(--space-3);text-align:center}.emoji-footer{align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-3);border-top:1px solid var(--border-subtle);background:var(--surface-muted);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.emoji-footer-glyph{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:1rem;line-height:1}.emoji-footer-name{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.emoji-footer-hint{color:var(--text-muted)}.var-add{gap:var(--space-2);flex-wrap:wrap;display:flex}.var-add .input{flex:180px;max-width:240px}.chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-pill);border:1px solid color-mix(in oklab, var(--accent) 36%, var(--border));background:var(--accent-subtle);max-width:100%;min-height:30px;color:color-mix(in oklab, var(--accent-strong) 88%, var(--foreground));font-family:var(--font-mono);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), transform var(--duration-spring) var(--ease-spring);align-items:center;padding:0 11px;font-weight:500;display:inline-flex;overflow:hidden}:root[data-theme=dark] .chip{color:var(--accent-strong)}.chip:hover{background:color-mix(in oklab, var(--accent) 22%, transparent);border-color:var(--accent)}.chip:active{transform:scale(.96)}.globals-block{padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.globals{gap:var(--space-2);display:grid}.global-row{align-items:center;gap:var(--space-2);grid-template-columns:112px minmax(0,1fr);display:grid}.global-key{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-panel{top:var(--space-4);gap:var(--space-3);display:grid;position:sticky}.preview-shell{gap:var(--space-3);display:grid}.preview-toolbar{gap:var(--space-2);display:grid}.preview-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.preview-meta{align-items:center;min-width:0;display:flex}.preview-meta .badge{text-overflow:ellipsis;max-width:100%;line-height:22px;display:inline-block;overflow:hidden}.copy-btn[data-copy-state=copied]{border-color:color-mix(in oklab, var(--success) 40%, var(--border));color:var(--success)}.copy-btn[data-copy-state=error]{border-color:color-mix(in oklab, var(--danger) 40%, var(--border));color:var(--danger)}.copy-glyph{place-items:center;display:inline-grid}.wa-stage{background:var(--wa-stage);border:1px solid var(--border);border-radius:calc(var(--radius-panel) - 8px);padding:var(--space-4);max-height:66vh;overflow:auto}.wa-bubble{background:var(--wa-bubble);border:1px solid var(--wa-bubble-border);box-shadow:var(--shadow-resting);gap:var(--space-2);border-radius:14px 4px 14px 14px;padding:12px 14px 10px;display:grid}.wa-content{color:var(--foreground);overflow-wrap:anywhere;font-size:.9rem;line-height:1.5}.wa-line{white-space:pre-wrap;margin:0}.wa-blank{height:.7em}.wa-bold{color:var(--foreground);font-weight:500}.wa-mono{font-family:var(--font-mono);background:color-mix(in oklab, var(--foreground) 7%, transparent);border-radius:5px;padding:1px 5px;font-size:.82rem}.wa-link{color:var(--info);text-underline-offset:2px;text-decoration:underline}.wa-foot{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:6px;font-size:.7rem;display:flex}.wa-ticks{color:var(--info);letter-spacing:-1px}.wa-empty{padding:var(--space-4) 0}.badge{--badge-tone:var(--text-secondary);--badge-bg:color-mix(in oklab, var(--badge-tone) 10%, var(--surface));--badge-fg:color-mix(in oklab, var(--badge-tone) 86%, var(--foreground));background:var(--badge-bg);min-height:22px;color:var(--badge-fg);font-size:var(--text-xs);white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:0 8px;font-weight:500;line-height:1;display:inline-flex}.badge.neutral{--badge-tone:var(--text-secondary)}.badge.success{--badge-tone:var(--success)}.badge.warn{--badge-tone:var(--warning)}.badge-dot{background:var(--badge-tone);border-radius:50%;width:6px;height:6px}.empty-panel{place-items:center;display:grid}.empty-state{text-align:center;padding:clamp(28px, 6vw, 52px) var(--space-4);align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.empty-state.compact{padding:var(--space-6) var(--space-4)}.empty-icon{border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-muted);width:48px;height:48px;color:var(--text-secondary);place-items:center;display:grid}.empty-state h3{font-size:var(--text-base);color:var(--foreground);font-weight:500}.empty-state p{max-width:24rem;font-size:var(--text-sm);color:var(--text-secondary)}.empty-actions{justify-content:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.collapsible{opacity:0;visibility:hidden;transition:grid-template-rows var(--duration-standard) var(--ease-enter), opacity var(--duration-fast) var(--ease-standard), visibility 0s linear var(--duration-standard);grid-template-rows:0fr;display:grid}.collapsible[data-open=true]{opacity:1;visibility:visible;margin-bottom:var(--space-3);transition:grid-template-rows var(--duration-standard) var(--ease-enter), opacity var(--duration-fast) var(--ease-standard), visibility 0s;grid-template-rows:1fr}.collapsible-inner{min-height:0;overflow:hidden}.subpanel{background:var(--surface-muted);border:1px solid var(--border);border-radius:calc(var(--radius-panel) - 8px);padding:var(--space-4);gap:var(--space-3);display:grid}.add-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.add-grid .field{margin-bottom:0}.recipients{gap:0;display:grid}.table-tools{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.search-field{flex:220px;align-items:center;max-width:320px;display:flex;position:relative}.search-icon{color:var(--text-muted);pointer-events:none;place-items:center;display:grid;position:absolute;left:11px}.search-input{padding-left:34px;padding-right:32px}.search-clear{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;right:6px}.search-clear:hover{background:var(--surface-muted);color:var(--foreground)}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);max-height:68vh;overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:560px;font-size:var(--text-sm)}thead th{z-index:1;height:42px;padding:0 var(--space-3);background:var(--surface-muted);border-bottom:1px solid var(--border);text-align:left;font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;font-weight:500;position:sticky;top:0}thead th.col-actions{z-index:2;text-align:right;border-left:1px solid var(--border-subtle);position:sticky;right:0}tbody tr{content-visibility:auto;contain-intrinsic-size:auto 48px}tbody td{height:48px;padding:6px var(--space-3);background:var(--surface);border-bottom:1px solid var(--border-subtle);vertical-align:middle;transition:background-color var(--duration-fast) var(--ease-standard)}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in oklab, var(--foreground) 2.5%, var(--surface))}td.num,th.num{text-align:center;width:44px}td.phone{font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.phone-cell{align-items:center;gap:var(--space-2);display:inline-flex}td.blank input.cell{border-color:color-mix(in oklab, var(--warning) 48%, var(--border));background:color-mix(in oklab, var(--warning) 5%, transparent)}input.cell{field-sizing:content;border-radius:var(--radius-sm);width:100%;min-width:112px;color:var(--foreground);font-family:inherit;font-size:var(--text-sm);transition:border-color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);background:0 0;border:1px solid #0000;padding:6px 8px}td.col-name input.cell{min-width:175px}td.col-var input.cell{min-width:136px}input.cell:hover{border-color:var(--border)}input.cell:focus{background:var(--surface);border-color:var(--accent-strong)}td.actions{z-index:1;white-space:nowrap;text-align:right;border-left:1px solid var(--border-subtle);position:sticky;right:0}.actions-inner{justify-content:flex-end;align-items:center;gap:var(--space-2);display:inline-flex}.table-empty{text-align:center;height:96px;color:var(--text-muted)}.table-empty>span{margin-right:var(--space-2)}.overlay{z-index:50;padding:var(--space-4);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:overlay-in var(--duration-fast) var(--ease-enter) both;background:oklch(10% 0 0/.44);place-items:center;display:grid;position:fixed;inset:0}.modal-card{border:1px solid var(--border);border-radius:var(--radius-surface);background:var(--surface-raised);width:min(100%,520px);max-height:calc(100dvh - 32px);color:var(--foreground);box-shadow:var(--shadow-floating);animation:dialog-in var(--duration-standard) var(--ease-enter) both;overflow:auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border-bottom:1px solid var(--border);display:flex}.modal-title{font-size:var(--text-lg);color:var(--foreground);font-weight:500}.modal-desc{font-size:var(--text-sm);color:var(--text-secondary);margin-top:4px}.modal-close{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);flex:none;place-items:center;display:grid}.modal-close:hover{background:var(--surface);color:var(--foreground)}.modal-body{padding:var(--space-5);gap:var(--space-4);display:grid}.modal-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.help-list{gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);margin:0;padding-left:20px;line-height:1.55;display:grid}@keyframes overlay-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px)scale(.98)}}@keyframes surface-in{0%{opacity:0;transform:translateY(3px)}}.mobile-viewport{display:contents}.mobile-header-actions,.mobile-menu-backdrop,.mobile-menu,.mobile-tpl-bar,.mobile-preview-picker,.mobile-preview-actions,.mobile-send-bar,.mobile-send,.mobile-nav{display:none}@media (width<=1120px){.workspace,.workspace.single{grid-template-columns:272px minmax(0,1fr)}.preview-panel{grid-column:1/-1;position:static}}@media (width<=760px){html,body{height:100%;overflow:hidden}.page{flex-direction:column;gap:0;height:100dvh;max-height:100dvh;padding:0;display:flex;overflow:hidden}.topbar{border-top:0;padding:var(--space-2) var(--space-3);gap:var(--space-2);border-inline:0;border-radius:0;flex-wrap:nowrap;flex:none}.brand{gap:var(--space-2)}.brand-copy h1{font-size:var(--text-lg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.subtitle,.toolbar{display:none}.mobile-header-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.mobile-menu-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlay-in var(--duration-fast) var(--ease-enter) both;background:oklch(10% 0 0/.34);display:block;position:fixed;inset:0}.mobile-menu{gap:var(--space-3);top:58px;left:var(--space-3);right:var(--space-3);z-index:45;max-width:340px;max-height:calc(100dvh - 132px);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface-raised);box-shadow:var(--shadow-floating);transform-origin:100% 0;animation:dialog-in var(--duration-fast) var(--ease-enter) both;margin-left:auto;display:grid;position:fixed;overflow-y:auto}.mobile-menu-intro{padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);gap:3px;display:grid}.mobile-menu-tagline{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.45}.mobile-menu-row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.mobile-menu-label{font-size:var(--text-sm);color:var(--foreground);font-weight:500}.mobile-menu-actions{gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);display:grid}.mobile-menu-item{align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-height-sm);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);font-family:var(--font-body);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);font-weight:500;display:flex}.mobile-menu-item:hover{background:var(--surface-muted);border-color:var(--border-strong)}.alert-banner{margin:var(--space-2) var(--space-3) 0;padding:var(--space-2) var(--space-3);font-size:var(--text-xs);flex:none;max-height:92px;overflow-y:auto}.mobile-viewport{align-content:start;gap:var(--space-3);overscroll-behavior:contain;width:100%;min-width:0;min-height:0;padding:var(--space-3);flex:1 1 0;display:grid;overflow:hidden auto}.workspace,.workspace.single{display:contents}.sidebar,.editor,.preview-panel,.empty-panel,.recipients{min-width:0;max-width:100%;padding:var(--space-3);display:none;position:static}.page[data-mobile-tab=templates] .sidebar,.page[data-mobile-tab=compose] .editor,.page[data-mobile-tab=send] .recipients{display:block}.page[data-mobile-tab=preview] .preview-panel,.page[data-mobile-tab=compose] .empty-panel,.page[data-mobile-tab=preview] .empty-panel,.page[data-mobile-tab=send] .empty-panel{align-content:start;display:grid}.mobile-tpl-bar{align-items:flex-end;gap:var(--space-2);padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);display:flex}.mobile-tpl-picker,.mobile-preview-picker{flex:1 1 0;gap:4px;min-width:0;display:grid}.mobile-preview-picker{display:grid}.mobile-tpl-caption{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.mobile-tpl-select{min-height:var(--control-height-sm);font-size:var(--text-sm);padding:6px 10px}.mobile-preview-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.mobile-preview-actions .rcard-send{flex:140px}.input,.rcard-input{font-size:var(--text-base)}.emoji-search-input{font-size:var(--text-sm)}textarea.body{min-height:156px}.var-add .input{max-width:none}.global-row{grid-template-columns:96px minmax(0,1fr)}.search-field{flex:100%;max-width:none}.table-wrap,.desktop-count{display:none}.mobile-send-bar{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.send-mode-seg .segmented-btn{white-space:nowrap;justify-content:center;align-items:center;gap:5px;min-width:0;padding:0 10px;display:inline-flex}.mobile-send,.rcard-list,.focus-deck{gap:var(--space-3);min-width:0;display:grid}.rcard{gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--border);border-radius:calc(var(--radius-panel) - 6px);background:var(--surface-muted);display:grid}.rcard.sent{border-color:color-mix(in oklab, var(--accent) 36%, var(--border))}.rcard-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.rcard-id{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.rcard-num{font-size:var(--text-xs);color:var(--text-muted)}.rcard-phone{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--foreground);overflow-wrap:anywhere;font-weight:500}.rcard-confirm{min-height:36px}.rcard-fields{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.rcard-fields>:first-child{grid-column:1/-1}.rcard-field{gap:3px;min-width:0;display:grid}.rcard-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rcard-input{background:var(--surface);min-height:38px;padding:7px 10px}.rcard-field.blank .rcard-input{border-color:color-mix(in oklab, var(--warning) 52%, var(--border));background:color-mix(in oklab, var(--warning) 7%, var(--surface))}.rcard-preview{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);min-width:0;display:grid}.rcard-preview .wa-stage{max-height:220px;padding:var(--space-3)}.rcard-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.rcard-send{flex:1 1 0;min-width:0}.focus-stepper{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-muted);flex-wrap:wrap;display:flex}.focus-status{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-width:0;display:flex}.focus-counter{font-size:var(--text-sm);color:var(--foreground);font-weight:500}.focus-preview{gap:var(--space-2);min-width:0;display:grid}.focus-preview .wa-stage{max-height:240px;padding:var(--space-3)}.focus-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.focus-actions .rcard-send{flex:160px}.focus-actions .rcard-next{flex:0 auto}.mobile-nav{padding:6px var(--space-2) max(6px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);z-index:20;flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.mobile-nav-btn{border-radius:var(--radius-control);min-height:48px;color:var(--text-muted);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), transform var(--duration-spring) var(--ease-spring);background:0 0;border:0;align-content:center;justify-items:center;gap:3px;padding:4px 2px;font-size:.7rem;font-weight:500;line-height:1.1;display:grid}.mobile-nav-btn:active{transform:scale(.95)}.mobile-nav-btn.active{background:var(--accent-subtle);color:color-mix(in oklab, var(--accent-strong) 88%, var(--foreground))}:root[data-theme=dark] .mobile-nav-btn.active{color:var(--accent-strong)}.mobile-nav-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.mobile-nav-icon-wrap{place-items:center;display:inline-grid;position:relative}.mobile-nav-count{border-radius:var(--radius-pill);background:var(--accent);min-width:16px;height:16px;color:var(--accent-foreground);text-align:center;padding:0 4px;font-size:.625rem;font-weight:500;line-height:16px;position:absolute;top:-4px;right:-12px}}@media (width<=560px){.global-row{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.emoji-popover{width:100%;left:0;right:0}.emoji-scroll{height:min(210px,34dvh)}.modal-header,.modal-body{padding:var(--space-4)}}@media (width<=480px){.rcard-fields{grid-template-columns:minmax(0,1fr)}}@media (width<=420px){.emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (width<=399px){.mobile-menu-btn-label,.rcard-btn-label{display:none}.mobile-menu-btn,.rcard-preview-btn{width:var(--control-height-sm);padding:0}}@media (width<=360px){.btn.sm{padding:0 10px}.emoji-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=760px) and (height<=500px){.mobile-nav-btn{min-height:40px}textarea.body{min-height:112px}.emoji-scroll{height:min(156px,30dvh)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-vt=theme]::view-transition-new(root){animation:none}}
