:root{--bg:oklch(1 0 0);--surface:oklch(0.97 0.006 230);--ink:oklch(0.22 0.025 230);--muted:oklch(0.46 0.02 230);--primary:oklch(0.45 0.12 230);--accent:oklch(0.4 0.11 175);--line:oklch(0.9 0.01 230);--danger:oklch(0.48 0.15 25);--ok:oklch(0.4 0.11 175);--space:1.25rem;--ease:cubic-bezier(0.16,1,0.3,1)}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-shell{min-height:100vh;height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:baseline;gap:2rem;padding:1rem 1.5rem;border-bottom:1px solid var(--line)}.logout{margin-left:auto}.brand{font-weight:600;letter-spacing:-.02em;text-decoration:none}.nav{display:flex;gap:1.25rem}.nav a{color:var(--muted);text-decoration:none;transition:color .18s var(--ease)}.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}.page{width:min(72rem,calc(100% - 3rem));margin:0 auto;padding:2rem 0 4rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}h1{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;line-height:1.25;text-wrap:balance}.lede{color:var(--muted);margin-top:.35rem;max-width:42rem}.lede a{color:var(--primary);text-decoration:underline;text-underline-offset:.15em}.public-page{width:min(28rem,calc(100% - 2rem));margin:4.5rem auto 4rem}.landing-mark{display:block;width:28px;height:28px;margin-bottom:1.25rem}.landing-foot{margin-top:2.75rem;color:var(--muted);font-size:.875rem}.landing-foot a{color:inherit;text-underline-offset:.15em}.stack{display:flex;flex-direction:column;gap:var(--space)}.send-layout{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);grid-gap:3rem;gap:3rem;margin-top:2rem;align-items:start}.field{display:flex;flex-direction:column;gap:.35rem}.choice span,.field span{color:var(--muted);font-size:.8125rem}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:.55rem .7rem;transition:border-color .18s var(--ease)}.field input:hover,.field select:hover,.field textarea:hover{border-color:oklch(.78 .02 230)}.field textarea{min-height:7rem;resize:vertical}.md-input{min-height:16rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.55}.preview-dark{background:#000;border-color:#1a1a1a}.preview-dark .preview-label{color:#8a8a8a;border-bottom-color:#1a1a1a}.preview-body-flush{padding:0}.choices{display:flex;flex-direction:column;gap:.5rem}.choice{display:flex;align-items:flex-start;gap:.6rem}.choice input{margin-top:.2rem}.actions{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding-top:.25rem}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:.55rem .95rem;text-decoration:none;transition:background-color .18s var(--ease),opacity .18s var(--ease)}.button-primary{background:var(--primary);color:var(--bg)}.button-primary:hover:not(:disabled){background:oklch(.38 .12 230)}.button-ghost{background:transparent;color:var(--muted);padding:.2rem 0;border-radius:0}.button-ghost:hover:not(:disabled){color:var(--ink)}.button-danger{color:var(--danger)}.button-danger:hover:not(:disabled){color:oklch(.4 .16 25)}.row-actions{display:flex;justify-content:flex-end;gap:.85rem}.button:disabled{opacity:.45;cursor:not-allowed}.status{font-size:.875rem}.status-ok{color:var(--ok)}.status-err{color:var(--danger)}.preview{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--bg)}.preview-label{color:var(--muted);font-size:.8125rem;padding:.7rem 1rem;border-bottom:1px solid var(--line)}.preview-body{padding:.5rem 0}.table-wrap{margin-top:1.75rem;overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:var(--muted);font-size:.75rem;font-weight:500;padding:.55rem .75rem .55rem 0}td,th{border-bottom:1px solid var(--line)}td{padding:.7rem .75rem .7rem 0;vertical-align:middle}td:last-child,th:last-child{text-align:right}tr:last-child td{border-bottom:0}.mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.row-form{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem;align-items:flex-end}.row-form .field{flex:1 1 12rem}.summary{margin-top:.75rem}.empty,.summary{color:var(--muted)}.empty{margin-top:2rem;max-width:36rem}.stats{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(16rem,.9fr);grid-gap:2.5rem;gap:2.5rem;margin-top:1.75rem;align-items:start}.stats-letters{list-style:none;gap:.35rem}.stats-letter,.stats-letters{display:flex;flex-direction:column}.stats-letter{gap:.4rem;width:100%;text-align:left;border:0;border-radius:8px;background:transparent;padding:.7rem .75rem;transition:background-color .18s var(--ease)}.stats-letter.is-current,.stats-letter:hover{background:var(--surface)}.stats-letter-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.stats-letter-title{font-weight:600;letter-spacing:-.02em}.stats-letter-meta{font-size:.8125rem}.stats-bar{display:block;height:6px;width:100%;background:oklch(.92 .01 230);border-radius:999px;overflow:hidden}.stats-bar-fill{display:block;height:100%;background:var(--primary);border-radius:inherit;transition:width .2s var(--ease)}.stats-detail-head{font-weight:600;letter-spacing:-.02em;margin-bottom:1rem}.stats-split{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}.stats-split h2{color:var(--muted);font-size:.75rem;font-weight:500;margin-bottom:.55rem}.stats-split ul{list-style:none;gap:.45rem}.stats-split li,.stats-split ul{display:flex;flex-direction:column}.stats-split li{gap:.1rem;font-size:.875rem}.editor{flex:1 1;min-height:0;display:flex;flex-direction:column}.inbox{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(16rem,1fr);grid-gap:1.25rem 2rem;gap:1.25rem 2rem;padding:.85rem 1.25rem 1rem;border-bottom:1px solid var(--line);background:var(--surface)}.inbox-fields{display:flex;flex-direction:column;gap:.7rem}.inbox-row .editor-pane-label{display:block;margin-bottom:.35rem}.inbox-meta{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.inbox-from{font-weight:600;letter-spacing:-.02em}.inbox-time{color:var(--muted);font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inbox-snippet,.inbox-subject{margin:0;padding:.12rem 0}.inbox-subject{font-weight:600;letter-spacing:-.02em}.inbox-snippet{color:var(--muted)}.editor-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid var(--line)}.editor-bar .button-primary{margin-left:auto}.editor-bar-secondary{padding-top:.55rem;padding-bottom:.55rem}.editor-audience,.editor-link,.editor-test,.editor-title{border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:.45rem .7rem}.editor-title{flex:1 1 12rem;font-weight:600}.editor-link,.editor-test{flex:1 1 10rem}.editor-status{padding:.4rem 1.25rem;font-size:.875rem}.editor-split{flex:1 1;min-height:0;display:grid;grid-template-columns:1fr 1fr}.editor-pane{min-height:0;display:flex;flex-direction:column;border-right:1px solid var(--line)}.editor-pane:last-child{border-right:0;background:#000}.editor-pane-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.7rem 1rem .65rem}.editor-pane-label{color:var(--muted);font-size:.75rem;padding:0}.legend{display:flex;flex-wrap:wrap;gap:.35rem}.legend-item{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:.15rem .55rem;font-size:.75rem;transition:color .18s var(--ease),border-color .18s var(--ease)}.legend-item:hover{color:var(--ink);border-color:oklch(.78 .02 230)}.editor-pane:last-child .editor-pane-label{color:#8a8a8a}.editor-pane textarea{flex:1 1;min-height:0;border:0;resize:none;padding:.85rem 1rem 1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.925rem;line-height:1.6;background:transparent}.editor-pane iframe{flex:1 1;width:100%;border:0;background:#000}@media (max-width:800px){.editor-split,.inbox,.stats,.stats-split{grid-template-columns:1fr}.editor-split{grid-template-rows:1fr 1fr}.send-layout{grid-template-columns:1fr;gap:2rem}.page{width:min(72rem,calc(100% - 2rem))}.topbar{flex-wrap:wrap;gap:.75rem 1.5rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}