:root{color-scheme:dark;--page:#090d16;--card:#111827;--field:#151d2c;--line:#1f2937;--input-line:#374151;--ink:#f3f4f6;--muted:#9ca3af;--gold:#f59e0b;font-family:Outfit,sans-serif}
:root[data-theme=light]{color-scheme:light;--page:#f9fafb;--card:#fff;--field:#f3f4f6;--line:#e5e7eb;--input-line:#d1d5db;--ink:#111827;--muted:#6b7280}
*{box-sizing:border-box;letter-spacing:0}body{margin:0;min-height:100vh;background:var(--page);color:var(--ink);font-family:Outfit,sans-serif;display:flex;flex-direction:column}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}[hidden],form[hidden]{display:none!important}
.portal-header{position:sticky;top:0;z-index:40;background:var(--page);border-bottom:1px solid var(--line)}.header-inner{max-width:1152px;margin:auto;padding:12px 32px;display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-brand{display:flex;align-items:center;gap:8px;text-decoration:none}.brand-mark{height:36px;width:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(45deg,#f59e0b,#f97316,#dc2626);color:#fff;font-size:18px;font-weight:900}.portal-brand strong{display:block;font-family:'Dancing Script',cursive;font-size:30px;line-height:30px;color:#f59e0b;transform:rotate(-1deg)}.portal-brand small{display:block;color:#fbbf24;font-size:9px;font-weight:900;margin-top:2px}.portal-brand b{font-size:8px;border:1px solid #f59e0b33;border-radius:3px;padding:0 4px;margin-left:4px;background:#f59e0b1a}.header-actions{display:flex;align-items:center;gap:8px}.header-actions button{width:32px;height:32px;border-radius:50%;background:var(--field);border:1px solid var(--input-line);color:#facc15;font-size:22px}.header-actions a{font-size:12px;font-weight:700;padding:7px 10px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--card);color:var(--muted)}
.shell{width:100%;max-width:896px;margin:auto;padding:40px 24px 84px;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center}.auth{position:relative;width:100%;max-width:512px;padding:2px;border-radius:25.6px;overflow:hidden;box-shadow:0 20px 50px -15px #0008,0 0 35px -8px #f59e0b40;isolation:isolate}.auth:before{content:'';position:absolute;inset:-50%;background:conic-gradient(transparent 35%,#f59e0b 48%,#ea580c 58%,#ef4444 70%,transparent 80%);animation:borderRotate 4s linear infinite;z-index:-1}.panel{position:relative;background:var(--card);border-radius:23.6px;padding:32px;width:100%}.role{margin:0 0 20px}.role-label{display:block;font-size:10px;text-transform:uppercase;font-weight:900;color:#6b7280;margin-bottom:6px}.chips{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:16px;background:var(--field);border:1px solid var(--line)}.chip{min-height:42px;border:0;background:transparent;color:var(--muted);border-radius:12px;font-size:12px;font-weight:900;padding:8px}.chip[aria-pressed=true]{background:var(--gold);color:#000;box-shadow:0 1px 2px #0002}.portal-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;margin-bottom:20px;border-bottom:1px solid var(--line)}.portal-heading>div:first-child{min-width:0;flex:1}.panel h2{font-size:24px;line-height:32px;font-weight:900;text-transform:uppercase;margin:0}.lead{margin:2px 0 0;font-size:12px;line-height:16px;color:var(--muted)}.seg{display:flex;flex:none;padding:4px;background:var(--field);border:1px solid var(--input-line);border-radius:12px}.seg button{padding:4px 12px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.seg button[aria-selected=true]{color:#000;background:var(--gold);font-weight:900}
form{display:grid;gap:14px}.field label{display:block;margin-bottom:4px;font-size:12px;font-weight:700;color:var(--ink)}.control{position:relative;display:flex;align-items:center}.control input{width:100%;min-width:0;height:44px;padding:10px 14px;border:1px solid var(--input-line);border-radius:12px;background:var(--field);color:var(--ink);font-size:12px}.control input::placeholder{color:var(--muted)}.control input:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px #f59e0b26}.has-toggle input{padding-right:58px}.reveal{position:absolute;right:5px;border:0;background:transparent;color:var(--muted);padding:10px;font-size:12px}.row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.check{display:flex!important;align-items:center;gap:8px;font-size:12px;font-weight:400;color:var(--muted)}.check input{width:16px;height:16px;accent-color:var(--gold);flex:none;margin:0}.forgot{font-size:12px;color:var(--gold);text-decoration:none}.submit{width:100%;min-height:46px;padding:12px;border:0;border-radius:12px;background:linear-gradient(90deg,#f59e0b,#f97316,#d97706);color:#000;font-size:14px;font-weight:900;display:flex;justify-content:center;align-items:center;gap:8px;box-shadow:0 4px 6px #0002}.submit:hover{filter:brightness(1.08)}.submit:disabled{opacity:.7;cursor:wait}.split{display:flex;align-items:center;gap:8px;margin:16px 0 12px;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.split:before,.split:after{content:'';height:1px;background:var(--line);flex:1}.oauth{display:grid;grid-template-columns:1fr 1fr;gap:8px}.oauth button{min-height:42px;padding:8px 12px;border-radius:12px;border:1px solid var(--input-line);background:var(--field);color:var(--ink);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px}.oauth svg{width:16px;height:16px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}.error,.hint{font-size:12px;color:#f87171;margin:5px 0 0}.error:empty{display:none}.invalid input{border-color:#ef4444}.notice{font-size:13px;padding:12px;border-radius:8px;border:1px solid #ef444466;background:#ef444411}.notice.ok{color:#34d399;border-color:#34d39966}.legal{font-size:11px;text-align:center;color:var(--muted);margin:20px 0 0}.legal a{text-decoration:none}.dot{margin:0 6px}.spinner{width:16px;height:16px;border:2px solid #0003;border-top-color:#000;border-radius:50%;animation:borderRotate .7s linear infinite}#rma-public-footer{background:var(--card)!important;color:var(--muted)!important;border-color:var(--line)!important}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@keyframes borderRotate{to{transform:rotate(360deg)}}
@media(max-width:639px){.header-inner{padding:10px 12px;gap:8px}.brand-mark{width:32px;height:32px;font-size:16px}.portal-brand strong{font-size:20px;line-height:22px}.portal-brand small{font-size:8px}.header-actions{gap:6px}.header-actions button{width:36px;height:36px}.shell{padding:16px 12px 84px}.auth{border-radius:20px}.panel{padding:16px;border-radius:18px}.role{margin-bottom:16px}.portal-heading{margin-bottom:16px}.panel h2{font-size:18px;line-height:24px}.lead{font-size:11px;line-height:15px}.seg button{padding:6px 10px}.control input{font-size:16px}.grid{grid-template-columns:1fr}.submit{font-size:12px}}
@media(max-width:359px){.portal-heading{flex-wrap:wrap}.portal-heading>div:first-child{flex-basis:100%}.seg{margin-top:4px}}
/* Keep the moving border above its backdrop and below the form. */
.auth{background:var(--input-line)}
.auth:before{z-index:0;pointer-events:none;animation:portalBorderOrbit 4s linear infinite;will-change:transform}
.panel{z-index:1}
@keyframes portalBorderOrbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.auth:before{animation-duration:12s}}
