:root{--cream-1:#f5ebdd;--cream-2:#efe2cc;--warm:#fcf7ef;--paper:#fff;--indigo-1:#1c0b3f;--indigo-2:#2a1656;--indigo-3:#0f0526;--ink-1:#26152a;--ink-fill:#301a36;--ink-2:#4a3e5c;--ink-3:#7a6e8a;--ink-4:#a89cb6;--hair:#0f0a1f14;--hair-2:#0f0a1f0f;--g-1:#4a2bd9;--g-2:#8b3db5;--g-3:#c8398f;--g-4:#ee7261;--g-5:#f5a05b;--grad:linear-gradient(92deg, #4a2bd9 0%, #8b3db5 28%, #c8398f 52%, #ee7261 78%, #f5a05b 100%);--grad-135:linear-gradient(135deg, #4a2bd9 0%, #c8398f 52%, #f5a05b 100%);--accent:#a12e8c;--success:#1f8a5b;--success-bg:#e4f3eb;--success-ink:#15663f;--danger:#cc3b36;--danger-bg:#fae7e5;--danger-ink:#9a2a26;--warn:#b5740f;--warn-bg:#fbefd9;--info:#3a52c4;--info-bg:#e6e9fa;--shadow-card:0 30px 60px -25px #1c0b3f2e;--shadow-soft:0 6px 18px -8px #1c0b3f40;--shadow-pop:0 24px 48px -18px #1c0b3f4d;--shadow-sm:0 2px 8px -4px #1c0b3f38;--r-xs:9px;--r-sm:12px;--r-md:16px;--r-lg:20px;--r-xl:26px;--r-pill:999px;--focus:0 0 0 3px #4a2bd952}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{color:var(--ink-1);background:var(--cream-1);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,system-ui,sans-serif}.serif{font-family:Fraunces,serif}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.grad-text{background:var(--grad);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.vmark{border-radius:var(--r-xs);background:var(--grad);place-items:center;display:inline-grid;position:relative;overflow:hidden}.vmark:after{content:"";background:radial-gradient(circle at 30% 25%,#ffffff8c,#0000 45%);position:absolute;inset:0}.vmark svg{z-index:1;display:block;position:relative}.vmark.sm{width:26px;height:26px}.vmark.sm svg{width:18px;height:18px}.vmark.md{width:32px;height:32px}.vmark.md svg{width:22px;height:22px}.vmark.lg{border-radius:13px;width:44px;height:44px}.vmark.lg svg{width:30px;height:30px}.brand-word{letter-spacing:-.02em;color:var(--ink-1);font-family:Fraunces,serif;font-weight:600}.logo-row{align-items:center;gap:10px;text-decoration:none;display:flex}.logo-row .brand-word{font-size:22px}.btn{border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;color:var(--ink-1);-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-family:inherit;font-size:14.5px;font-weight:600;line-height:1;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s,filter .15s,border-color .15s;display:inline-flex}.btn:focus-visible{box-shadow:var(--focus);outline:none}.btn svg{flex:none;width:17px;height:17px}.btn-grad{background:var(--grad);color:#fff;box-shadow:0 10px 22px -8px #c8398f80,inset 0 1px #fff3}.btn-grad:hover{filter:saturate(1.05)brightness(1.03);transform:translateY(-1px);box-shadow:0 16px 30px -10px #c8398f94,inset 0 1px #fff3}.btn-ink{background:var(--ink-fill);color:#fff;box-shadow:0 8px 20px -8px #0f0a1f66,inset 0 1px #ffffff14}.btn-ink:hover{background:#1b0e20;transform:translateY(-1px)}.btn-outline{background:var(--paper);border-color:var(--hair);color:var(--ink-1);box-shadow:var(--shadow-sm)}.btn-outline:hover{border-color:#0f0a1f29;transform:translateY(-1px)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover{color:var(--ink-1);background:#0f0a1f0d}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 8px 18px -8px #cc3b3680}.btn-danger:hover{filter:brightness(1.04);transform:translateY(-1px)}.btn-block{width:100%}.btn-lg{padding:15px 22px;font-size:16px}.btn-sm{padding:9px 14px;font-size:13px}.btn[disabled],.btn.is-disabled{opacity:.5;cursor:not-allowed;box-shadow:none;pointer-events:none;filter:none!important;transform:none!important}.btn-icon{border:1px solid var(--hair);background:var(--paper);width:38px;height:38px;color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:11px;place-items:center;padding:0;transition:transform .15s,border-color .15s,color .15s,background .15s;display:inline-grid}.btn-icon:hover{color:var(--ink-1);border-color:#0f0a1f29;transform:translateY(-1px)}.btn-icon:focus-visible{box-shadow:var(--focus);outline:none}.btn-icon svg{width:17px;height:17px}.btn-icon.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-icon.ghost:hover{background:#0f0a1f0f}.spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;flex:none;width:16px;height:16px;animation:.7s linear infinite spin}.btn-outline .spinner,.btn-ghost .spinner{border-color:#0f0a1f33;border-top-color:var(--ink-1)}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:7px;display:flex}.field>label,.lbl{color:var(--ink-1);font-size:13.5px;font-weight:600}.field .hint{color:var(--ink-3);font-size:12.5px;line-height:1.45}.field .err-msg{color:var(--danger-ink);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:flex}.input,.textarea,.select{width:100%;color:var(--ink-1);background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-sm);outline:none;padding:12px 14px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.input:focus,.textarea:focus,.select:focus{border-color:var(--g-1);box-shadow:var(--focus)}.input:disabled,.textarea:disabled{color:var(--ink-3);cursor:not-allowed;background:#0f0a1f08}.input.is-error,.textarea.is-error{border-color:var(--danger);box-shadow:0 0 0 3px #cc3b362e}.input.is-ok{border-color:var(--success)}.textarea{resize:vertical;min-height:96px;line-height:1.5}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A6E8A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-position:right 13px center;background-repeat:no-repeat;padding-right:38px}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap .input{padding-right:44px}.input-affix{width:34px;height:34px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;display:inline-grid;position:absolute;right:6px}.input-affix:hover{color:var(--ink-1);background:#0f0a1f0d}.input-affix:focus-visible{box-shadow:var(--focus);outline:none}.input-affix svg{width:18px;height:18px}.input-wrap .lead-ic{color:var(--ink-3);pointer-events:none;width:18px;height:18px;position:absolute;left:12px}.input-wrap .lead-ic~.input{padding-left:40px}.counter{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.counter.warn{color:var(--warn)}.counter.over{color:var(--danger);font-weight:600}.check{cursor:pointer;color:var(--ink-2);align-items:flex-start;gap:11px;font-size:14px;line-height:1.45;display:flex}.check input{opacity:0;width:0;height:0;position:absolute}.check .box{background:var(--paper);border:1.5px solid #0f0a1f38;border-radius:6px;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;transition:background .15s,border-color .15s;display:grid}.check .box svg{opacity:0;width:12px;height:12px;transition:all .15s;transform:scale(.6)}.check input:checked~.box{background:var(--grad);border-color:#0000}.check input:checked~.box svg{opacity:1;transform:scale(1)}.check input:focus-visible~.box{box-shadow:var(--focus)}.check b{color:var(--ink-1);font-weight:600}.switch{align-items:center;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch .track{cursor:pointer;background:#0f0a1f2e;border-radius:999px;width:44px;height:26px;transition:background .2s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 5px #00000040}.switch input:checked+.track{background:var(--grad)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{box-shadow:var(--focus)}.segmented{border:1px solid var(--hair);border-radius:var(--r-pill);background:#0f0a1f0d;gap:3px;padding:4px;display:inline-flex}.segmented button{color:var(--ink-2);border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:8px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .15s}.segmented button:hover{color:var(--ink-1)}.segmented button[aria-pressed=true],.segmented button.active{background:var(--paper);color:var(--ink-1);box-shadow:var(--shadow-sm)}.var-chip{color:var(--accent);cursor:pointer;background:#a12e8c14;border:1px solid #a12e8c33;border-radius:7px;align-items:center;gap:5px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.var-chip:hover{background:#a12e8c24}.badge{border-radius:var(--r-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:5px 10px 5px 8px;font-size:12.5px;font-weight:600;line-height:1;display:inline-flex}.badge svg{flex:none;width:13px;height:13px}.badge .dot{border-radius:50%;flex:none;width:6px;height:6px}.badge.queued{color:#6a5a48;background:#f1ece3;border-color:#6a5a4833}.badge.sent{background:var(--info-bg);color:#2e3e9e;border-color:#3a52c438}.badge.clicked{color:#9a2e7e;background:#f3e2ee;border-color:#9a2e7e38}.badge.reviewed{background:var(--success-bg);color:var(--success-ink);border-color:#1f8a5b40}.badge.feedback{color:#a8492c;background:#fbe6d9;border-color:#a8492c3d}.badge.failed{background:var(--danger-bg);color:var(--danger-ink);border-color:#cc3b3640}.badge.optedout{color:var(--ink-2);background:#0f0a1f0f;border-color:#0f0a1f24}.badge.canceled{color:var(--ink-3);background:#0f0a1f0d;border-color:#0f0a1f1f;text-decoration:line-through;text-decoration-thickness:1px}.pill-stat{white-space:nowrap;border-radius:var(--r-pill);align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.pill-stat.ok{background:var(--success-bg);color:var(--success-ink)}.pill-stat.warn{background:var(--warn-bg);color:var(--warn)}.pill-stat .dot{border-radius:50%;width:7px;height:7px}.pill-stat.ok .dot{background:var(--success)}.pill-stat.warn .dot{background:var(--warn)}.card-surface{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-xl);box-shadow:var(--shadow-soft)}.card-grad-border{background:linear-gradient(#fff,#fff) padding-box, var(--grad-135) border-box;border-radius:var(--r-xl);box-shadow:var(--shadow-card);border:2px solid #0000}.card-top-rule{position:relative;overflow:hidden}.card-top-rule:before{content:"";background:var(--grad);height:4px;position:absolute;top:0;left:0;right:0}.ck-grad{background:var(--grad);border-radius:7px;flex:none;place-items:center;width:22px;height:22px;display:grid;box-shadow:0 5px 11px -4px #4a2bd973}.ck-grad svg{width:12px;height:12px}.toast-stack{z-index:1200;flex-direction:column;gap:10px;width:min(360px,100vw - 40px);display:flex;position:fixed;bottom:20px;right:20px}.toast{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-md);box-shadow:var(--shadow-pop);border-left-width:4px;align-items:flex-start;gap:12px;padding:14px 14px 14px 13px;animation:.28s cubic-bezier(.2,.9,.3,1) toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.toast.out{animation:.2s forwards toast-out}@keyframes toast-out{to{opacity:0;transform:translate(16px)}}.toast .t-ic{border-radius:7px;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;display:grid}.toast .t-ic svg{color:#fff;width:14px;height:14px}.toast .t-body{flex:1;min-width:0}.toast .t-title{color:var(--ink-1);font-size:14px;font-weight:600}.toast .t-msg{color:var(--ink-2);margin-top:2px;font-size:13px;line-height:1.45}.toast .t-close{color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;display:grid}.toast .t-close:hover{color:var(--ink-1);background:#0f0a1f0f}.toast.success{border-left-color:var(--success)}.toast.success .t-ic{background:var(--success)}.toast.error{border-left-color:var(--danger)}.toast.error .t-ic{background:var(--danger)}.toast.warn{border-left-color:var(--warn)}.toast.warn .t-ic{background:var(--warn)}.toast.info{border-left-color:var(--g-1)}.toast.info .t-ic{background:var(--g-1)}.overlay{-webkit-backdrop-filter:blur(3px);z-index:1100;opacity:0;pointer-events:none;background:#0f05266b;transition:opacity .2s;position:fixed;inset:0}.overlay.open{opacity:1;pointer-events:auto}.modal{z-index:1110;background:var(--paper);border-radius:var(--r-xl);width:min(520px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--shadow-pop);opacity:0;pointer-events:none;transition:opacity .22s,transform .22s cubic-bezier(.2,.9,.3,1);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,calc(12px - 50%))}.modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}.modal-head{justify-content:space-between;align-items:flex-start;gap:14px;padding:24px 24px 0;display:flex}.modal-title{letter-spacing:-.01em;color:var(--ink-1);margin:0;font-family:Fraunces,serif;font-size:22px;font-weight:600}.modal-body{padding:18px 24px 24px}.modal-foot{justify-content:flex-end;gap:10px;padding:0 24px 24px;display:flex}.panel-slide{z-index:1110;background:var(--paper);width:min(460px,100vw);height:100vh;transition:transform .26s cubic-bezier(.2,.9,.3,1);position:fixed;top:0;right:0;overflow:auto;transform:translate(100%);box-shadow:-30px 0 60px -30px #1c0b3f66}.panel-slide.open{transform:none}.modal.confirm{width:min(420px,100vw - 32px)}.confirm .modal-body{color:var(--ink-2);font-size:14.5px;line-height:1.55}.skel{background:#0f0a1f12;border-radius:8px;position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg,#0000,#ffffff8c,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}.skel.line{height:12px}.skel.line.sm{height:9px}.skel.circle{border-radius:50%}@media (prefers-reduced-motion:reduce){.skel:after{animation:none}.spinner{animation-duration:1.4s}}.empty{text-align:center;max-width:420px;margin:0 auto;padding:54px 28px}.empty .e-ic{width:84px;height:84px;margin:0 auto 18px}.empty .e-ic img{object-fit:contain;width:100%;height:100%}.empty .e-badge{border:1px solid var(--hair);width:64px;height:64px;box-shadow:var(--shadow-soft);background:linear-gradient(150deg,#fff,#fbefe2);border-radius:20px;place-items:center;margin:0 auto 18px;display:grid}.empty .e-badge svg{width:30px;height:30px}.empty h3{color:var(--ink-1);letter-spacing:-.01em;margin:0 0 8px;font-family:Fraunces,serif;font-size:22px;font-weight:600}.empty p{color:var(--ink-2);max-width:34ch;margin:0 auto;font-size:14.5px;line-height:1.55}.empty .btn{margin-top:20px}.divider{background:var(--hair);border:0;height:1px;margin:0}.tap-phone{color:var(--g-1);font-weight:600;text-decoration:none}.tap-phone:hover{text-decoration:underline}.kbd{border:1px solid var(--hair);color:var(--ink-2);background:#0f0a1f0f;border-radius:6px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px}.tip{background:var(--warm);border:1px solid var(--hair);border-radius:var(--r-md);color:var(--ink-2);align-items:flex-start;gap:10px;padding:13px 15px;font-size:13.5px;line-height:1.5;display:flex}.tip .t-spark{color:var(--g-5);flex:none;width:18px;height:18px;margin-top:1px}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.state-dock{z-index:1300;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--r-pill);background:#14082ee6;border:1px solid #ffffff1f;align-items:center;gap:4px;max-width:calc(100vw - 24px);padding:6px;display:flex;position:fixed;bottom:18px;left:50%;overflow-x:auto;transform:translate(-50%);box-shadow:0 18px 40px -16px #00000080}.state-dock .sd-label{letter-spacing:.12em;text-transform:uppercase;color:#b7a6e0;white-space:nowrap;padding:0 8px 0 6px;font-family:JetBrains Mono,monospace;font-size:10px}.state-dock button{color:#d9cef2;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:600;transition:all .15s}.state-dock button:hover{color:#fff;background:#ffffff14}.state-dock button.active{background:var(--grad);color:#fff}@media print{.state-dock{display:none}}
