/* Compact variants reuse the existing sheet chrome, overlay and transitions. */
.compact-backdrop{top:var(--modal-top,0);bottom:auto;height:var(--modal-vh,100dvh);align-items:center;padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left))}
.compact-sheet{border:1px solid #344c62;border-radius:8px;max-height:calc(var(--modal-vh,100dvh) - 24px);box-shadow:0 8px 25px #0009,inset 0 1px #ffffff60}
.compact-sheet .sheet-navbar{--chrome-1:var(--nav-top);--chrome-2:var(--nav-mid);--chrome-3:var(--nav-bot);height:44px}
.compact-sheet .sheet-navbar h2{font-weight:700;text-shadow:0 -1px #0c1f30e6,0 1px #ffffff2e}
.compact-sheet .sheet-content{padding:16px;overscroll-behavior:contain}
.settings-sheet{width:340px}.settings-rows{margin:0}.settings-rows .table-row{background:linear-gradient(#fff,#f0f0f0);padding:12px;font-size:14px;color:#333;text-shadow:inherit;cursor:pointer}
/* Keep the shared 76×28 switch and 26px knob, but animate one continuous
   knob. CSS transitions retarget the currently rendered position on reversal. */
.settings-rows .toggle{margin-left:auto;flex-shrink:0;font-size:13px;padding:0;background:linear-gradient(#aaa,#e5e5e5 50%,#fafafa 51%);isolation:isolate}
.settings-rows .toggle::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(var(--toggle-on-1),var(--toggle-on-2));box-shadow:inset 0 1px 3px #0007;opacity:0;transition:opacity 180ms ease-out;z-index:-1}
.settings-rows .toggle::after{left:0;transform:translateX(0);transition:transform 280ms cubic-bezier(.25,.8,.35,1.12)}
.settings-rows .toggle[aria-checked="true"]::before{opacity:1}.settings-rows .toggle[aria-checked="true"]::after{left:0;transform:translateX(48px)}
.settings-rows .toggle>span{position:absolute;top:0;bottom:0;display:grid;place-items:center;pointer-events:none;transition:opacity 140ms ease-out}
.settings-rows .switch-on{left:6px;right:29px;color:#fff;text-shadow:0 -1px #0005;opacity:0}.settings-rows .switch-off{left:28px;right:8px;color:#888;text-shadow:0 1px #fff;opacity:1}
.settings-rows .toggle[aria-checked="true"] .switch-on{opacity:1}.settings-rows .toggle[aria-checked="true"] .switch-off{opacity:0}
@media(prefers-reduced-motion:reduce){.settings-rows .toggle::before,.settings-rows .toggle::after,.settings-rows .toggle>span{transition:none}}
.contact-sheet{width:500px}.contact-composer{display:flex;flex-direction:column;gap:13px;color:#344453;text-shadow:0 1px #fff8}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-composer label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:bold}.contact-composer input,.contact-composer textarea{width:100%;min-width:0;border:1px solid #8a96a2;border-radius:5px;background:linear-gradient(#f3f4f5,#fff 18px);box-shadow:inset 0 1px 3px #24354435,0 1px #fff8;padding:9px;font:14px/1.4 Arial,sans-serif;color:#243443;text-shadow:none}.contact-composer textarea{resize:vertical;min-height:140px;max-height:350px}.contact-composer input:focus-visible,.contact-composer textarea:focus-visible{outline:2px solid #5086b5;outline-offset:1px}.contact-composer small{font-size:11px;line-height:1.4;font-weight:normal;color:#566576}.contact-send{width:100%;font-size:15px}.contact-status{margin:0;line-height:1.45;font-size:12px;min-height:17px}.contact-status[data-kind="error"]{color:#82352f}.contact-status[data-kind="success"]{color:#28533b}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden}.contact-composer button:disabled{opacity:.65;cursor:default}.contact-turnstile{max-width:100%;min-height:0}
@media(max-width:440px){.compact-sheet .sheet-content{padding:13px}.contact-fields{grid-template-columns:1fr}.contact-composer{gap:11px}.contact-composer textarea{min-height:110px}.contact-composer input,.contact-composer textarea{font-size:16px}.contact-sheet{max-width:100%}}
@media(prefers-reduced-motion:no-preference){.compact-sheet{animation:compact-in 250ms cubic-bezier(.2,.8,.2,1) both}.closing .compact-sheet{animation:compact-out 250ms ease-in both}@keyframes compact-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes compact-out{to{opacity:0;transform:translateY(8px) scale(.98)}}}
