/* Login screen: copied from the archive UI (renderLoginScreen / injectFxLoginStyle in forge (5).html). */
#forge-login-host{position:fixed;inset:0;z-index:9999;background:#0c222e;font-family:Figtree,system-ui,sans-serif;display:block}
  #forge-login-host .fx-wrap{display:flex;min-height:100vh;width:100%}
  #forge-login-host .fx-brandpane{position:relative;overflow:hidden;flex:1.15;display:flex;flex-direction:column;justify-content:center;padding:64px 60px;
    background:radial-gradient(1100px 520px at 18% 28%,#1e4a60 0%,rgba(30,74,96,0) 58%),linear-gradient(140deg,#0b202c 0%,#153647 48%,#0d2734 100%);
    background-size:180% 180%;animation:fxbg 18s ease infinite}
  @keyframes fxbg{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
  #forge-login-host .fx-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(31,166,180,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(31,166,180,.18) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(circle at 30% 40%,#000 0%,transparent 72%);-webkit-mask-image:radial-gradient(circle at 30% 40%,#000 0%,transparent 72%)}
  #forge-login-host .fx-glow{position:absolute;left:-140px;top:50%;width:680px;height:680px;transform:translateY(-50%);border-radius:50%;filter:blur(8px);
    background:radial-gradient(circle,rgba(31,166,180,.30) 0%,rgba(31,166,180,0) 60%);animation:fxpulse 6.5s ease-in-out infinite}
  @keyframes fxpulse{0%,100%{opacity:.5;transform:translateY(-50%) scale(1)}50%{opacity:.95;transform:translateY(-50%) scale(1.12)}}
  #forge-login-host .fx-sparks span{position:absolute;bottom:8%;width:3px;height:3px;border-radius:50%;background:#7FE7E2;opacity:0;box-shadow:0 0 7px 1px rgba(127,231,226,.7);animation:fxrise linear infinite}
  @keyframes fxrise{0%{transform:translateY(0) scale(1);opacity:0}12%{opacity:.95}100%{transform:translateY(-420px) scale(.35);opacity:0}}
  #forge-login-host .fx-sparks span:nth-child(1){left:12%;animation-duration:7s;animation-delay:0s}
  #forge-login-host .fx-sparks span:nth-child(2){left:22%;animation-duration:9s;animation-delay:1.4s}
  #forge-login-host .fx-sparks span:nth-child(3){left:31%;animation-duration:6.2s;animation-delay:2.6s}
  #forge-login-host .fx-sparks span:nth-child(4){left:40%;animation-duration:8.4s;animation-delay:.7s}
  #forge-login-host .fx-sparks span:nth-child(5){left:48%;animation-duration:7.6s;animation-delay:3.3s}
  #forge-login-host .fx-sparks span:nth-child(6){left:16%;animation-duration:10s;animation-delay:4.1s}
  #forge-login-host .fx-sparks span:nth-child(7){left:36%;animation-duration:8.8s;animation-delay:5.2s}
  #forge-login-host .fx-sparks span:nth-child(8){left:44%;animation-duration:6.8s;animation-delay:2s}
  #forge-login-host .fx-sparks span:nth-child(9){left:27%;animation-duration:9.4s;animation-delay:6s}
  #forge-login-host .fx-brandinner{position:relative;z-index:2;max-width:520px}
  #forge-login-host .fx-logo{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:clamp(42px,5.5vw,68px);line-height:.84;letter-spacing:.02em;white-space:nowrap;
    background:linear-gradient(105deg,#1E9FAD 30%,#8FEDE9 46%,#DFF7F5 50%,#8FEDE9 54%,#1E9FAD 70%);background-size:280% 100%;
    -webkit-background-clip:text;background-clip:text;color:transparent;animation:fxsheen 9s linear infinite;filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}
  /* RTO rides with FORGE rather than beside it: same element, so the sheen sweeps across
     both as one wordmark. It used to sit raised and at 42% size; Stephanie asked why it was
     small, and the header wordmark reads FORGE RTO at one size, so the login now matches it.
     Same size, same baseline, one word space -- just a hair of extra tracking so the three
     caps do not crowd after the E. */
  #forge-login-host .fx-logo-rto{letter-spacing:.06em;margin-left:.26em}
  @keyframes fxsheen{0%{background-position:170% 0}100%{background-position:-70% 0}}
  #forge-login-host .fx-rule{width:64px;height:3px;margin:22px 0 20px;border-radius:3px;background:linear-gradient(90deg,#1FA6B4,rgba(31,166,180,.15))}
  #forge-login-host .fx-tag{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:26px;color:#F4F7F8;letter-spacing:.2px}
  #forge-login-host .fx-desc{color:#9FB6C2;font-size:15px;line-height:1.6;margin-top:14px;max-width:440px}
  #forge-login-host .fx-trust{display:flex;align-items:center;gap:8px;margin-top:30px;color:#7FA0AE;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
  #forge-login-host .fx-dot{width:7px;height:7px;border-radius:50%;background:#4CC38A;box-shadow:0 0 8px 1px rgba(76,195,138,.7)}
  #forge-login-host .fx-brandfoot{position:absolute;bottom:28px;left:60px;z-index:2;color:#5E7E8C;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
  #forge-login-host .fx-formpane{flex:.85;display:flex;align-items:center;justify-content:center;padding:40px 32px;background:#FBFAF7}
  #forge-login-host .fx-form{width:100%;max-width:370px}
  #forge-login-host .fx-rlogo{display:flex;align-items:center;gap:12px;margin-bottom:24px}
  #forge-login-host .fx-rmark{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,Georgia,serif;font-weight:700;font-size:24px;color:#fff;background:linear-gradient(150deg,#37C2CE 0%,#1FA6B4 45%,#0E7C89 100%);box-shadow:0 6px 16px rgba(20,120,132,.4),inset 0 1px 0 rgba(255,255,255,.35)}
  #forge-login-host .fx-rword{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:26px;letter-spacing:.05em;color:#153647}
  #forge-login-host .fx-flame-lg{height:118px;width:auto;display:block;margin-bottom:14px;filter:drop-shadow(0 10px 26px rgba(0,0,0,.42))}
  #forge-login-host .fx-flame-lg g{stroke:none}
  #forge-login-host .fx-flame-sm{height:46px;width:auto;flex:0 0 auto}
  #forge-login-host .fx-hero{display:flex;align-items:center;gap:clamp(16px,2.5vw,30px);flex-wrap:nowrap}
  #forge-login-host .fx-flameimg{height:clamp(120px,17vh,178px);width:auto;filter:drop-shadow(0 12px 30px rgba(0,0,0,.45))}
  #forge-login-host .fx-flameimg-sm{height:40px;width:auto;flex:0 0 auto}
  #forge-login-host .fx-flamewrap{position:relative;display:inline-block;line-height:0}
  #forge-login-host .fx-embers{position:absolute;inset:0;pointer-events:none;overflow:visible}
  #forge-login-host .fx-embers i{position:absolute;width:5px;height:5px;border-radius:50%;opacity:0;animation:fxember linear infinite}
  @keyframes fxember{0%{transform:translate(0,0) scale(1);opacity:0}12%{opacity:.95}70%{opacity:.6}100%{transform:translate(var(--dx,0),-200px) scale(.25);opacity:0}}
  #forge-login-host .fx-embers i:nth-child(1){left:44%;top:6%;background:#F2A24C;box-shadow:0 0 9px 2px rgba(242,162,76,.75);--dx:-16px;animation-duration:4.6s;animation-delay:0s}
  #forge-login-host .fx-embers i:nth-child(2){left:54%;top:12%;background:#E8863A;box-shadow:0 0 9px 2px rgba(232,134,58,.7);--dx:12px;animation-duration:5.4s;animation-delay:1.1s}
  #forge-login-host .fx-embers i:nth-child(3){left:38%;top:16%;background:#F5C06A;box-shadow:0 0 8px 2px rgba(245,192,106,.7);--dx:-22px;animation-duration:6s;animation-delay:2.2s}
  #forge-login-host .fx-embers i:nth-child(4){left:62%;top:20%;background:#2BB0BE;box-shadow:0 0 9px 2px rgba(43,176,190,.7);--dx:18px;animation-duration:5s;animation-delay:.6s}
  #forge-login-host .fx-embers i:nth-child(5){left:50%;top:4%;background:#F2A24C;box-shadow:0 0 10px 2px rgba(242,162,76,.8);--dx:6px;animation-duration:4.2s;animation-delay:3.1s}
  #forge-login-host .fx-embers i:nth-child(6){left:33%;top:24%;background:#E8863A;box-shadow:0 0 8px 2px rgba(232,134,58,.65);--dx:-10px;animation-duration:6.4s;animation-delay:1.8s}
  #forge-login-host .fx-embers i:nth-child(7){left:58%;top:9%;background:#F5C06A;box-shadow:0 0 8px 2px rgba(245,192,106,.7);--dx:20px;animation-duration:5.6s;animation-delay:2.7s}
  #forge-login-host .fx-embers i:nth-child(8){left:47%;top:18%;background:#37C2CE;box-shadow:0 0 9px 2px rgba(55,194,206,.6);--dx:-6px;animation-duration:4.9s;animation-delay:4s}
  #forge-login-host .fx-formhead{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:30px;color:#153647}
  #forge-login-host .fx-formsub{color:#8596A0;font-size:14px;margin:4px 0 24px}
  #forge-login-host .fx-label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#5C6B73;margin:16px 0 6px}
  #forge-login-host .fx-input{width:100%;box-sizing:border-box;padding:13px 15px;font:inherit;font-size:15px;border:1.5px solid #E1E5E8;border-radius:11px;background:#fff;color:#153647;transition:border-color .15s,box-shadow .15s}
  #forge-login-host .fx-input::placeholder{color:#B9C4CB}
  #forge-login-host .fx-input:focus{outline:none;border-color:#1FA6B4;box-shadow:0 0 0 4px rgba(31,166,180,.16)}
  #forge-login-host .fx-btn{margin-top:26px;width:100%;padding:15px;font:inherit;font-weight:800;font-size:15px;letter-spacing:.02em;color:#fff;border:none;border-radius:11px;cursor:pointer;
    background:linear-gradient(135deg,#1b475e 0%,#153647 100%);box-shadow:0 10px 24px rgba(21,54,71,.28);transition:transform .12s,box-shadow .12s,filter .12s}
  #forge-login-host .fx-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 14px 30px rgba(21,54,71,.34)}
  #forge-login-host .fx-btn:active{transform:translateY(0)}
  #forge-login-host .fx-btn:disabled{opacity:.6;cursor:wait;transform:none}
  #forge-login-host .fx-foot{margin-top:22px;color:#8596A0;font-size:12.5px;line-height:1.7;text-align:center}
  #forge-login-host .fx-link{background:none;border:0;padding:0;font:inherit;font-size:12.5px;font-weight:800;color:#1C7A87;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
  #forge-login-host .fx-link:hover{color:#153647}
  #forge-login-host .fx-reset{margin-top:20px;padding:16px 16px 14px;border:1.5px solid #E1E5E8;border-radius:12px;background:#fff}
  #forge-login-host .fx-reset .fx-label:first-of-type{margin-top:0}
  #forge-login-host .fx-mini{margin-top:12px;width:100%;padding:12px;font:inherit;font-weight:800;font-size:14px;color:#fff;border:none;border-radius:9px;cursor:pointer;background:#1C7A87}
  #forge-login-host .fx-mini:hover{filter:brightness(1.08)}
  #forge-login-host .fx-mini:disabled{opacity:.6;cursor:wait}
  #forge-login-host .fx-mini.ghost{background:#EEF0EC;color:#153647;border:1px solid #D3D8DC}
  #forge-login-host .fx-msg{font-size:12.5px;font-weight:700;line-height:1.5;margin-top:10px;min-height:16px;color:#8596A0}
  #forge-login-host .fx-orline{border-top:1px solid #EEF0EC;margin-top:14px;padding-top:12px}
  #forge-login-host .fx-error{background:#FDECE8;border:1px solid #E3A99A;color:#8A2B17;padding:10px 13px;border-radius:10px;font-size:13px;font-weight:600;margin-bottom:4px}
  @media(max-width:860px){
    #forge-login-host .fx-wrap{flex-direction:column}
    #forge-login-host .fx-brandpane{flex:none;min-height:300px;padding:44px 32px;justify-content:flex-end}
    #forge-login-host .fx-brandfoot{display:none}
    #forge-login-host .fx-desc{display:none}
    #forge-login-host .fx-formpane{flex:1}
  }
  @media(prefers-reduced-motion:reduce){#forge-login-host .fx-logo,#forge-login-host .fx-glow,#forge-login-host .fx-sparks span,#forge-login-host .fx-brandpane{animation:none}}
