:root{--pc-bg:#0f766e;--pc-bg-2:#134e4a;--pc-card:#fff;--pc-text:#0f172a;--pc-muted:#64748b;--pc-accent:#0d9488;--pc-danger:#b91c1c;--pc-touch:44px;font-family:Segoe UI,Avenir Next,Candara,Calibri,sans-serif}*{box-sizing:border-box}body{min-height:100dvh;color:var(--pc-text);background:radial-gradient(1200px 600px at 10% -10%, #2dd4bf59, transparent 55%), linear-gradient(160deg, var(--pc-bg), var(--pc-bg-2));margin:0}.portal-shell{place-items:center;min-height:100dvh;padding:1.25rem;display:grid}.portal-card{background:var(--pc-card);border-radius:20px;width:min(100%,440px);padding:1.5rem 1.35rem 1.75rem;box-shadow:0 18px 50px #0f172a38}.portal-brand{flex-direction:column;gap:.2rem;margin-bottom:1rem;display:flex}.portal-brand strong{letter-spacing:-.03em;color:var(--pc-accent);font-size:1.55rem}.portal-brand span{color:var(--pc-muted);font-size:.92rem}.portal-card h1{margin:.4rem 0 .35rem;font-size:1.35rem}.portal-card p{color:var(--pc-muted);margin:0 0 1rem;font-size:.95rem;line-height:1.45}.portal-stack{gap:.85rem;display:grid}.portal-stack label{color:var(--pc-muted);gap:.35rem;font-size:.9rem;display:grid}.portal-stack input,.portal-stack button{font:inherit;min-height:var(--pc-touch);border-radius:12px}.portal-stack input{color:var(--pc-text);background:#fff;border:1px solid #cbd5e1;padding:.55rem .8rem}.portal-stack button{background:var(--pc-accent);color:#fff;cursor:pointer;border:0;font-weight:600}.portal-stack button:disabled{opacity:.65;cursor:not-allowed}.portal-alert{color:var(--pc-danger);background:#fef2f2;border-radius:12px;padding:.75rem .85rem;font-size:.9rem}.portal-note{color:var(--pc-muted);margin-top:1rem;font-size:.8rem;line-height:1.4}.portal-pill{color:#047857;background:#ecfdf5;border-radius:999px;margin-bottom:.75rem;padding:.3rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.portal-hp{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.portal-capture{background:#f8fafc;border-radius:12px;gap:.55rem;margin:0 0 1rem;padding:.75rem .85rem;display:grid}.portal-capture div{gap:.15rem;display:grid}.portal-capture dt{text-transform:uppercase;letter-spacing:.04em;color:#94a3b8;font-size:.75rem}.portal-capture dd{color:var(--pc-text);margin:0;font-size:.9rem;line-height:1.4}.portal-bound{color:#065f46;background:#ecfdf5;border-radius:12px;padding:.75rem .85rem;font-size:.9rem}
