#tab-capture{position:fixed;inset:0;z-index:9999;display:none;pointer-events:none}
#tab-capture.tc-modal{pointer-events:auto}
#tab-capture .tc-panel{pointer-events:auto}
#tab-capture.open{display:block}
#tab-capture:not(.tc-modal) .tc-scrim{display:none}
.tc-scrim{position:absolute;inset:0;background:rgba(14,36,28,.55);backdrop-filter:blur(3px);animation:tcFade .25s ease}
.tc-panel{position:absolute;right:24px;bottom:24px;width:min(420px,calc(100vw - 32px));background:var(--bone,#F5F1E8);border:1px solid rgba(20,32,27,.1);border-radius:20px;padding:30px 28px 24px;box-shadow:0 24px 70px rgba(14,36,28,.34);animation:tcSlide .34s cubic-bezier(.16,.84,.44,1)}
#tab-capture.tc-noanim .tc-panel,#tab-capture.tc-noanim .tc-scrim{animation:none}
/* Mobile: dock to the bottom as a sheet. Uses safe-area insets so Safari's floating
   toolbar never clips the email field, and caps height on short/landscape screens. */
@media(max-width:560px){
  .tc-panel{
    right:8px;left:8px;width:auto;
    bottom:calc(8px + env(safe-area-inset-bottom,0px));
    padding:22px 18px calc(18px + env(safe-area-inset-bottom,0px));
    max-height:min(78dvh,calc(100dvh - 90px));
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    border-radius:18px
  }
  .tc-title{font-size:1.32rem}
  .tc-body{font-size:.92rem;margin-bottom:14px}
  .tc-form{flex-wrap:nowrap;gap:8px}
  .tc-form input[type=email]{flex:1 1 auto;font-size:16px}
  .tc-submit{padding:13px 16px;white-space:nowrap}
  .tc-note{margin-top:10px}
}
@media(max-width:400px){
  .tc-form{flex-wrap:wrap}
  .tc-submit{flex:1 1 100%}
}
@keyframes tcFade{from{opacity:0}to{opacity:1}}
@keyframes tcSlide{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.tc-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.7rem;line-height:1;color:rgba(20,32,27,.4);cursor:pointer;padding:4px 8px;border-radius:8px}
.tc-x:hover{color:var(--ink,#14201B)}
.tc-x:focus-visible,.tc-submit:focus-visible,.tc-form input:focus-visible,.tc-copy:focus-visible{outline:2px solid var(--brass,#C6A15B);outline-offset:2px}
.tc-eyebrow{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--brass-ink,#7A5E22);margin-bottom:10px}
.tc-title{font-size:1.5rem;line-height:1.15;letter-spacing:-.01em;color:var(--ink,#14201B);margin:0 0 10px;font-weight:500}
.tc-body{font-size:.96rem;line-height:1.55;color:rgba(20,32,27,.72);margin:0 0 18px}
.tc-form{display:flex;gap:8px;flex-wrap:wrap}
.tc-form input[type=email]{flex:1 1 190px;min-width:0;padding:13px 15px;border:1px solid rgba(20,32,27,.18);border-radius:11px;font:inherit;font-size:.97rem;background:#fff;color:var(--ink,#14201B)}
.tc-form input.tc-err{border-color:#B4432F;background:#FDF4F2}
.tc-submit{flex:0 0 auto;padding:13px 22px;border:none;border-radius:11px;background:var(--pine,#16352A);color:var(--cream,#EDE9DE);font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .15s}
.tc-submit:hover{background:var(--pine-deep,#0E241C)}
.tc-submit:disabled{opacity:.6;cursor:default}
.tc-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.tc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tc-note{margin:14px 0 0;font-size:.78rem;line-height:1.5;color:rgba(20,32,27,.68)}
.tc-done{text-align:center;padding:6px 0 4px}
.tc-check{width:46px;height:46px;margin:0 auto 14px;border-radius:50%;background:var(--pine,#16352A);color:var(--brass,#C6A15B);font-size:1.4rem;display:flex;align-items:center;justify-content:center}
.tc-done h3{font-size:1.3rem;font-weight:500;margin:0 0 6px;color:var(--ink,#14201B)}
.tc-done p{font-size:.92rem;color:rgba(20,32,27,.66);margin:0 0 12px}
.tc-code{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--bone-warm,#EAE3D2);border:1px dashed var(--brass,#C6A15B);border-radius:11px;padding:12px 14px;font-weight:700;letter-spacing:.12em;color:var(--ink,#14201B)}
.tc-copy{background:var(--pine,#16352A);color:var(--cream,#EDE9DE);border:none;border-radius:7px;padding:6px 12px;font:inherit;font-size:.78rem;font-weight:600;letter-spacing:normal;cursor:pointer}
.tc-fine{margin-top:12px!important;font-size:.78rem!important;color:rgba(20,32,27,.68)!important}

#tab-capture [hidden]{display:none!important}
#tab-capture .tc-listlink{display:inline-block;margin-top:12px;color:#254237;font-weight:600;font-size:.92rem;text-decoration:none;border-bottom:1px solid rgba(37,66,55,.35)}
#tab-capture .tc-listlink:hover{border-bottom-color:#254237}
