/* Shared accessibility and layout guardrails; preserve each interface's layout. */
html { scroll-padding-top: 80px; scroll-behavior: smooth; }
.link-context{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.closing-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.closing-actions a{min-height:48px;padding:14px 24px}@media(max-width:480px){.closing-actions{flex-direction:column;align-items:stretch}.closing-actions a{justify-content:center}}
*, *::before, *::after { box-sizing: border-box; }
body { min-width: 0; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #1a9a70; outline-offset: 4px; }
button:disabled { cursor: not-allowed; }
img { max-width: 100%; }
.hp-feature-card, .topbar-brand, .onboard-wrapper, .form-group { min-width: 0; overflow-wrap: anywhere; }
.modal-overlay { overflow-y: auto; padding: 16px; }
.modal, .modal-content { max-width: 100%; max-height: calc(100dvh - 32px); overflow-y: auto; }
.hp-footer-bottom { flex-wrap: wrap; gap: 12px; }
.hp-footer-status { color: inherit; }
.hp-footer-links{align-items:center}
.hp-footer-links .hp-footer-link{background:none;border:0;color:var(--text-muted);font-size:.84rem;padding:0;min-height:44px;cursor:pointer}
.hp-footer-links a{display:inline-flex;align-items:center;min-height:44px}
.hp-footer-link:hover{color:#27fb8a}
.policy-agreement{display:flex!important;align-items:flex-start;gap:12px;margin:20px 0;font-size:.9rem;line-height:1.6}
.policy-agreement input[type="checkbox"]{width:20px!important;height:20px;flex:0 0 20px;margin-top:4px;accent-color:var(--primary)}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #b16b00;outline-offset:4px}
[data-theme="dark"] :where(a,button,input,select,textarea,summary):focus-visible,.homepage-wrapper :focus-visible{outline-color:#ffcf80}
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;padding:16px 20px;text-align:center;font-size:.8rem;width:100%;background:transparent;border-top:1px solid var(--border,#29394b);margin-top:24px;flex-shrink:0}
.legal-links a{color:var(--muted,var(--text-muted,#b8c5d6));text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.legal-links a:hover{color:var(--text,#edf3f9);text-decoration:underline}
html:has(.homepage-wrapper),body:has(.homepage-wrapper){height:auto;overflow:visible}
.homepage-wrapper{overflow-x:clip}
.hp-navbar{position:sticky;top:0;z-index:1000}
.hp-hero-title span{background-image:linear-gradient(110deg,#27fb8a,#38bdf8,#27fb8a);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:brand-wave 7s ease-in-out infinite alternate}
@keyframes brand-wave{from{background-position:0% 50%}to{background-position:100% 50%}}
.product-preview{color:#edf3f9}.preview-label,.arrival-record>span{font-size:.72rem;letter-spacing:.12em;color:#27fb8a;font-weight:700}.preview-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0}.preview-controls button{background:#0f1b2d;color:#b8c5d6;border:1px solid #29394b;padding:12px 20px;border-radius:99px;min-height:44px;cursor:pointer}.preview-controls button[aria-pressed="true"]{background:#27fb8a;color:#0b1524;border-color:#27fb8a}.preview-summary{padding:20px;background:#27fb8a12;border:1px solid #27fb8a40;border-radius:12px;text-align:center;line-height:1.7}.preview-records{margin:16px 0 24px;border:1px solid #29394b;border-radius:12px;padding:0 20px;background:#0f1b2d}.preview-records p{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid #29394b;margin:0;color:#b8c5d6}.preview-records p:last-child{border-bottom:0}.preview-records strong{color:#edf3f9;font-size:.9rem}.preview-note{color:#a8b5c5;font-size:.85rem;line-height:1.7;margin:20px 0}.arrival-record{border:1px solid #29394b;background:#0b1524;padding:16px;border-radius:12px;margin:16px 0}.arrival-record p{font-size:.9rem;line-height:1.6;margin:10px 0 0;color:#edf3f9}.hp-card a,.hp-footer a{ text-decoration:none }.hp-card a:hover,.hp-footer a:hover{text-decoration:underline}@media(max-width:600px){.preview-records p{flex-direction:column;gap:6px}.preview-controls button{flex:1;padding:12px}.preview-summary{font-size:.9rem}}
.floating-faq{position:fixed;right:20px;bottom:20px;z-index:900;border:1px solid var(--primary);border-radius:99px;background:var(--surface);color:var(--primary);padding:12px 20px;min-height:44px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #0003}
body:has(#demo-sandbox-widget) .floating-faq{right:auto;left:20px}
.perimeter-playground{max-width:600px;width:100%;margin:32px auto 40px;padding:24px;text-align:left;background:#0f1b2d;border:1px solid #29394b;border-radius:16px;color:#edf3f9}
.playground-heading h2{font-size:20px;margin:0 0 8px}.playground-heading span{font-size:12px;color:#a8b5c5}.perimeter-playground svg{display:block;width:100%;margin:20px 0}
.playground-boundary{fill:#39ff8812;stroke:#39ff88;stroke-width:2;stroke-dasharray:6 5;animation:perimeter-dash 12s linear infinite}
@keyframes perimeter-dash{to{stroke-dashoffset:-110}}
#playground-person{transition:transform .25s ease}.perimeter-playground label{display:flex;gap:12px;justify-content:space-between;font-size:13px}.perimeter-playground output{color:#39ff88}
.perimeter-playground input[type="range"]{width:100%;accent-color:#39ff88;margin:12px 0 20px;min-height:36px}.perimeter-playground .playground-pair{justify-content:flex-start;align-items:center}.playground-pair input{accent-color:#39ff88;width:18px;height:18px}
#playground-result{padding:12px;background:#39ff8812;border-radius:8px;min-height:64px;font-size:14px}.perimeter-playground[data-state="blocked"] #playground-result{background:#ffb02012;color:#ffcf80}
@media(max-width:480px){.perimeter-playground{padding:16px}.perimeter-playground label{flex-wrap:wrap}.floating-faq{right:12px;bottom:12px}body:has(#demo-sandbox-widget){padding-bottom:310px}#demo-sandbox-widget{max-height:260px;overflow-y:auto}}
@media (max-width: 600px) {
  input, select, textarea { font-size: 16px !important; }
  button:not(.modal-close-btn), .btn-primary, .btn-secondary { min-height: 44px; }
  .topbar { flex-wrap: wrap; gap: 12px; }
  .topbar-actions { flex-wrap: wrap; }
  #demo-sandbox-widget { left: 12px; right: 12px !important; bottom: 12px !important; width: auto; }
  body:has(#demo-sandbox-widget) { padding-bottom: 310px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
