/* Bungee by the Bungee Project Authors, SIL OFL 1.1; the portal's local font. */
@font-face { font-family:"ARCo Marquee"; src:url("/auth/assets/portal-display.woff2") format("woff2"); font-style:normal; font-weight:400; font-display:swap; }
body.arco-auth { --cream:#eff2e8; --muted:#a9b3b8; margin:0; min-height:100dvh; box-sizing:border-box; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:48px 20px; background:#0d1110; color:var(--cream); font:16px/1.65 "Avenir Next","Segoe UI",Arial,sans-serif; }
.arco-auth *, .arco-account * { box-sizing:border-box; }
.arco-card { position:relative; width:min(100%,560px); padding:38px; border:1px solid #465158; background:#151b1d; border-radius:12px; box-shadow:0 24px 60px #0005; }
.arco-auth .arco-eyebrow { margin:0 0 14px; color:#a9b3b8; font-size:11px; text-transform:uppercase; letter-spacing:1.6px; }
.arco-auth .arco-brand { display:block; width:112px; color:#eff2e8; text-decoration:none; }
.arcade-logo-lettering { display:block; width:100%; height:auto; overflow:hidden; }
.arco-auth h1 { margin:0 0 12px; font:400 clamp(24px,5vw,32px)/1.3 "ARCo Marquee",Impact,sans-serif; letter-spacing:0; }
.arco-auth h2 { margin:0 0 14px; font-size:20px; line-height:1.3; }
.arco-auth p { margin:0 0 18px; color:var(--muted); }
.arco-auth #arco-message { min-height:26px; margin:12px 0; font-size:14px; overflow-wrap:anywhere; }
.arco-auth .arco-error { color:#ffc3a8 !important; }
.arco-auth .arco-small { display:block; font-size:12px; color:#a9b3b8; line-height:1.6; }
.arco-auth a { color:var(--cream); text-underline-offset:4px; }
.arco-auth button, .arco-auth input { font:inherit; }
.arco-auth button { cursor:pointer; min-height:44px; }
.arco-auth button:disabled { opacity:.55; cursor:default; }
.arco-auth :focus-visible, .arco-account :focus-visible { outline:2px solid #a9e4f3; outline-offset:4px; }
.arco-secondary { border:1px solid #687c86; background:transparent; color:#eff2e8; padding:8px 14px; border-radius:5px; }
.arco-secondary:hover { background:#ffffff0b; }
.arco-auth [hidden] { display:none !important; }

/* Amiga sign-in; approved root documents open the catalogue directly. */
html[data-arco-auto-entry] #entryOverlay { display:none !important; }
html[data-arco-auto-entry] #entryOverlay::backdrop { background:transparent; }
body.arco-auth[data-page=login] { padding:0; }
:is(.arco-entry-scene, #entryOverlay) { position:fixed; inset:0; z-index:10; box-sizing:border-box; display:flex; align-items:flex-start; justify-content:flex-end; width:100%; height:100dvh; max-width:none; max-height:none; margin:0; border:0; padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); overflow:auto; background:#08040c; color:#eff2e8; font:14px/1.6 "Avenir Next","Segoe UI",Arial,sans-serif; }
:is(.arco-entry-scene, #entryOverlay):not([open]):is(dialog) { display:none; }
:is(.arco-entry-scene, #entryOverlay)::before, :is(.arco-entry-scene, #entryOverlay)::after { content:""; position:fixed; inset:0; pointer-events:none; }
:is(.arco-entry-scene, #entryOverlay)::before { background:radial-gradient(circle at center,#ffffff0f,transparent 36%),url("/auth/assets/kickstart.gif") center / cover no-repeat; image-rendering:pixelated; transform:scale(1.02); filter:saturate(1.02) contrast(1.03); }
:is(.arco-entry-scene, #entryOverlay)::after { background:radial-gradient(circle at center,#0000000f,transparent 30%),linear-gradient(180deg,#08040c94,#000000bd); }
:is(.arco-entry-scene, #entryOverlay), :is(.arco-entry-scene, #entryOverlay) * { cursor:url("/auth/assets/workbench-cursor.png") 2 2,auto !important; }
:is(.arco-entry-scene, #entryOverlay) .entry-card { position:relative; z-index:2; box-sizing:border-box; width:min(304px,100%); max-height:100%; overflow-y:auto; padding:22px; transform:none; border-radius:16px; border:1px solid #d8f3ff24; background:linear-gradient(160deg,#111617fa,#070a0bfa); box-shadow:0 16px 44px #0007,inset 0 1px 0 #ffffff0c; text-align:center; }
:is(.arco-entry-scene, #entryOverlay) #entryTitle { width:112px; margin:0 auto 18px; color:#eff2e8; font-size:inherit; line-height:0; letter-spacing:0; text-transform:none; }
:is(.arco-entry-scene, #entryOverlay) .arco-entry-note { margin:0 0 16px; color:#b9c6cc; font-size:10px; line-height:1.5; letter-spacing:1.4px; text-transform:uppercase; }
.arco-google { min-height:44px; margin:0 0 10px; max-width:100%; }
:is(.arco-entry-scene, #entryOverlay) #arco-message { min-height:36px; margin:10px 0 16px; color:#a9b3b8; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
:is(.arco-entry-scene, #entryOverlay) .arco-entry-identity { margin:0 0 20px; color:#a9b3b8; font-size:12px; line-height:1.8; }
.arco-entry-identity span { display:block; color:#eff2e8; overflow-wrap:anywhere; }
:is(.arco-entry-scene, #entryOverlay) #enterArcadeButton { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:48px; padding:10px 8px; border:1px solid #fff; border-radius:9px; background:linear-gradient(180deg,#fff 0%,#ecf3f5 48%,#cfdee3 100%); color:#192f38; font:400 13px/1.4 "ARCo Marquee",Impact,sans-serif; letter-spacing:0; text-transform:none; box-shadow:inset 0 1px 0 #fff,inset 0 -2px 0 #aabec6,0 3px 0 #6f858c,0 9px 20px #0007; transform:none; animation:none; transition:transform 160ms ease; }
:is(.arco-entry-scene, #entryOverlay) #enterArcadeButton::before { display:none; }
:is(.arco-entry-scene, #entryOverlay) #enterArcadeButton:disabled { opacity:.4; box-shadow:none; }
:is(.arco-entry-scene, #entryOverlay) #enterArcadeButton:enabled:hover { transform:translateY(-1px); background:#f5fcff; }
:is(.arco-entry-scene, #entryOverlay) #enterArcadeButton:enabled:active { transform:translateY(2px); }
:is(.arco-entry-scene, #entryOverlay) :focus-visible { outline:2px solid #a9e4f3; outline-offset:4px; }
.arco-entry-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:18px; padding-top:12px; border-top:1px solid #ffffff1c; color:#8f9da4; font:11px/1.5 "Avenir Next","Segoe UI",sans-serif; }
.arco-entry-footer a, .arco-entry-link { color:#b9c6cc; text-underline-offset:3px; }
.arco-entry-link { display:inline-block; min-height:36px; border:0; padding:8px 0; background:transparent; font:inherit; text-decoration:underline; }
.arco-entry-footer .arco-entry-link { margin:-8px 0; }

.arco-admin { position:relative; width:min(100%,860px); }
.arco-admin-header { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:46px; }
.arco-back { font-size:13px; }
.arco-admin-intro { margin-bottom:30px; }
.arco-panel { background:#151b1d; border:1px solid #3c484e; padding:26px; margin-bottom:20px; border-radius:8px; }
.arco-auth label { display:block; font-size:13px; margin-bottom:8px; }
.arco-input-row { display:flex; gap:12px; margin-bottom:12px; }
.arco-auth input[type=email] { min-width:0; flex:1; padding:12px; border:1px solid #687c86; border-radius:5px; background:#0c1114; color:var(--cream); }
.arco-auth input::placeholder { color:#91a1a9; }
.arco-primary { border:1px solid #e4edf0; background:#e4edf0; color:#192f38; padding:10px 18px; border-radius:5px; font-weight:700 !important; }
.arco-primary:hover { background:#fff; }
.arco-list-heading { display:flex; justify-content:space-between; align-items:baseline; gap:15px; }
.arco-badge { white-space:nowrap; padding:4px 9px; border:1px solid #687c86; color:#cfdee3; font:11px/1.4 "Avenir Next","Segoe UI",sans-serif; border-radius:3px; }
.arco-player { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:19px 0; border-top:1px solid #3c484e; }
.arco-player:last-child { padding-bottom:0; }
.arco-player-details { min-width:0; display:grid; gap:4px; }
.arco-player strong { font-weight:550; font-size:14px; overflow-wrap:anywhere; }
.arco-remove { border:1px solid #926650; background:transparent; color:#f4ba97; padding:8px 13px; border-radius:5px; flex-shrink:0; }
.arco-admin-footer { display:flex; gap:20px; justify-content:space-between; align-items:center; font-size:12px; color:#a9b3b8; }
.arco-account { position:relative; letter-spacing:normal; text-transform:none; font:12px/1.5 "Avenir Next","Segoe UI",sans-serif; }
.arco-account summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:#eff2e8; }
.arco-account-panel { position:absolute; right:0; z-index:100; display:grid; gap:12px; min-width:min(270px,75vw); padding:18px; background:#151b1d; color:#eff2e8; border:1px solid #687c86; box-shadow:0 10px 25px #0007; }
.arco-account-panel span { overflow-wrap:anywhere; }
.arco-account-panel button { min-height:44px; cursor:pointer; background:transparent; color:inherit; text-align:left; border:1px solid #687c86; padding:8px 12px; font:inherit; }
.arco-account-panel a { min-height:44px; display:flex; align-items:center; }
#adminMainframeOverlay .arco-manage-users { grid-column:1 / -1; min-height:64px; }
@media (max-width:600px) {
  :is(.arco-entry-scene, #entryOverlay) { align-items:flex-end; justify-content:center; padding:12px max(12px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); }
  :is(.arco-entry-scene, #entryOverlay)::before { background:url("/auth/assets/kickstart.gif") center 8svh / min(100vw,82svh) auto no-repeat,linear-gradient(180deg,#501752 0%,#501752 62%,#130316 100%); transform:none; }
  :is(.arco-entry-scene, #entryOverlay)::after { background:linear-gradient(180deg,#50175214,#0000006b); }
  :is(.arco-entry-scene, #entryOverlay) .entry-card { padding:18px 22px; }
}
@media (max-width:540px) { body.arco-auth { padding:28px 14px; } .arco-card { padding:29px 24px; } .arco-admin-header { margin-bottom:38px; align-items:flex-start; } .arco-panel { padding:20px; } .arco-input-row { flex-direction:column; } .arco-admin-footer { flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { :is(.arco-entry-scene, #entryOverlay) #enterArcadeButton { transition:none; } }
