:root{font-family:Arial,Helvetica,sans-serif;color:#26344d;background:#e6ecfc;font-synthesis:none;--blue:#2055df;--muted:#66768e;--line:#e1e7ef}
*{box-sizing:border-box}body{margin:0}button{font:inherit}button:focus-visible{outline:3px solid #d91d68;outline-offset:4px}button:not(:disabled){cursor:pointer}[hidden]{display:none!important}
.toolbar{position:relative;z-index:5;display:flex;gap:22px;align-items:center;justify-content:space-between;min-height:80px;padding:16px 32px;border-bottom:1px solid #ccd7f0;background:#f8faff}
.toolbar strong{font-size:14px;letter-spacing:.06em;color:#2450ab}.toolbar p{margin:6px 0 0;font-size:14px;line-height:1.4;color:var(--muted)}.controls{display:flex;gap:10px;align-items:center;flex-shrink:0}.controls button{padding:10px 15px;border:1px solid #bac9e4;border-radius:8px;background:#fff;color:#244c95;font-size:14px}.controls .primary{background:var(--blue);border-color:var(--blue);color:white;min-width:172px}#clock{font:14px Consolas,monospace;color:#526781;min-width:42px}
.stage{position:relative;min-height:calc(100dvh - 81px);padding:32px 24px 38px;display:grid;place-items:center}.login-layout{display:flex;align-items:flex-start;gap:24px;max-width:100%;transition:filter .25s,opacity .25s}.login-layout.dimmed{filter:blur(7px);opacity:.35;pointer-events:none}.login-column{width:388px;max-width:100%}.login-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 18px 54px #3a609214}.login-main{padding:30px 30px 20px}.brand{margin:0;text-align:center;color:#08758f;font-size:32px;font-weight:850;letter-spacing:-1px}.brand b{color:#df1461}.subtitle{text-align:center;margin:10px 0 30px;color:#58718e;font-size:14px;line-height:1.45}.field-label{display:block;font-size:14px;margin:0 0 8px;color:#3f4d63}.fake-field{display:flex;align-items:center;height:56px;padding:0 16px;background:#f4f6fb;border:2px solid transparent;border-radius:5px;font-size:21px;letter-spacing:.02em;color:#213955;margin-bottom:22px;overflow:hidden}.fake-field.typing{border-color:#91a7e0;box-shadow:0 0 0 2px #2454d908}.caret{width:1px;height:24px;background:#30589e;margin-left:2px;animation:blink 1s step-end infinite}.fake-password{font:24px Consolas,monospace;letter-spacing:.17em}.text-control{border:0;background:none;color:#2d60c4;padding:0;font-size:14px}.fake-login{width:100%;height:52px;margin:34px 0 24px;background:var(--blue);color:white;border:0;border-radius:6px;font-size:16px;font-weight:600}.help{text-align:center;padding-bottom:5px}.alternate{border-top:1px solid #eef1f6;padding:22px 30px 26px}.alternate p{font-size:14px;margin:0 0 20px;line-height:1.6}.alternate span{color:#2d60c4}.outline{width:100%;height:46px;border:1px solid #3c6be1;background:white;border-radius:5px;color:#315cb7;font-size:14px}.outline+.outline{margin-top:12px}.register{text-align:center;margin:24px 0 0;font-size:14px;color:#3665b7}.notice{width:220px;background:#fff;border-left:4px solid #5480ed;border-radius:10px;padding:20px;box-shadow:0 12px 32px #3a60920a}.notice .mark{display:inline-grid;place-items:center;border:1px solid #5685d4;border-radius:50%;width:30px;height:30px;color:#296ec3;font-size:20px;margin-bottom:12px}.notice strong{display:block;font-size:17px;line-height:1.4;color:#173657}.notice p{font-size:14px;line-height:1.6;color:#62748c;margin:10px 0 0}.notice .scenario-id{padding-top:12px;margin-top:15px;border-top:1px solid var(--line);font:13px Consolas,monospace;color:#315bac}
.overlay{position:absolute;inset:20px;display:grid;place-items:center;z-index:2;pointer-events:none}.warning{pointer-events:auto;max-width:540px;background:#fff;border-radius:16px;box-shadow:0 24px 80px #1c264b36;overflow:hidden}.warning-label{padding:12px 24px;background:#fff0e7;color:#99512b;font-size:14px;font-weight:700}.warning-body{padding:26px 28px 30px;border-top:1px solid #f6d3c6}.warning h2{font-size:25px;margin:0 0 14px;color:#a52b35}.warning p{font-size:16px;line-height:1.65;margin:0;color:#4b596f}.warning small{display:block;margin-top:18px;color:#697891;font-size:14px}
.terminal{pointer-events:auto;width:min(900px,100%);color:#d6e5f8;background:#101825;border:1px solid #34475e;border-radius:12px;overflow:hidden;box-shadow:0 28px 80px #11224044}.terminal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:#1e2a3a;font-size:14px;border-bottom:1px solid #354359}.terminal-head b{font-weight:500}.terminal-label{color:#95b6eb;font-size:12px;letter-spacing:.1em}.terminal-body{padding:22px 26px;max-height:calc(100dvh - 225px);overflow:auto;font:15px/1.8 Consolas,'Courier New',monospace;scrollbar-color:#456180 #101825}.terminal-disclaimer{font-size:13px;color:#92a9c6;padding-bottom:12px;border-bottom:1px solid #2b3b50;margin:0 0 14px}.line{margin:3px 0;overflow-wrap:anywhere}.muted{color:#8198b5}.success{color:#72dfbd}.amber{color:#f1c577}.command{color:#a0c6ff}.symbol-box{display:inline-block;font-size:24px;letter-spacing:.28em;padding:10px 15px;margin:10px 0 5px;background:#1b293b;border:1px solid #355473;border-radius:5px;color:#9bbfff;min-width:222px}.complete-tag{font-size:13px;margin-left:14px;color:#70e6bc}.progress-head{display:flex;gap:20px;justify-content:space-between;margin-top:20px}.progress-track{height:8px;background:#25354b;border-radius:4px;margin:10px 0 16px;overflow:hidden}#progress-fill{height:100%;background:#59cfa5;width:0}.result{border:1px solid #326454;border-radius:8px;background:#152c2a;padding:16px 18px;margin-top:20px}.result h3{margin:0 0 12px;font-size:17px;color:#8bedc4}.result dl{display:grid;grid-template-columns:185px 1fr;gap:5px 14px;margin:0;font-size:14px}.result dt{color:#9abcb6}.result dd{margin:0;overflow-wrap:anywhere}.terminal-foot{padding:12px 22px;border-top:1px solid #2e415a;font-size:13px;color:#96abc6;background:#142030}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes blink{50%{opacity:0}}@media(prefers-reduced-motion:reduce){.caret{animation:none}.login-layout{transition:none}}
@media(max-width:740px){.toolbar{padding:14px 16px;align-items:flex-start;flex-direction:column;gap:12px}.controls{width:100%;flex-wrap:wrap}.controls .primary{min-width:0;flex:1}.stage{padding:20px 14px;min-height:calc(100dvh - 140px)}.login-layout{flex-direction:column;align-items:center;gap:14px;width:100%}.notice{order:-1;width:388px;max-width:100%;padding:12px 16px}.notice .mark,.notice .scenario-id{display:none}.notice strong{font-size:14px}.notice p{font-size:13px;margin-top:5px}.login-column{width:388px}.login-main{padding:26px 24px 20px}.alternate{padding:20px 24px 24px}.overlay{inset:10px 0;align-items:start;padding-top:6px}.terminal{border-radius:8px}.terminal-head{padding:13px 14px;flex-wrap:wrap}.terminal-body{padding:17px 15px;max-height:calc(100dvh - 270px);min-height:270px;font-size:14px}.terminal-disclaimer{font-size:12px}.result dl{grid-template-columns:1fr;gap:1px}.result dd{margin-bottom:8px}.result{padding:14px}.warning{margin:20px 10px}.warning-body{padding:22px}.symbol-box{font-size:21px;min-width:190px}.complete-tag{display:block;margin:0}.terminal-foot{padding:10px 14px;font-size:12px}}
.controls button:disabled{opacity:.55;cursor:default}
.gate-card{width:min(430px,100%);background:#fff;border:1px solid #d4dce9;border-radius:14px;box-shadow:0 20px 55px #24364b22;overflow:hidden}
.gate-content{padding:26px}.gate-card h1{font-size:21px;margin:0 0 12px}.gate-card p{color:#63748c;font-size:15px;line-height:1.5;margin:0 0 22px}
.gate-button{display:flex;align-items:center;gap:16px;width:100%;padding:18px 16px;text-align:left;background:#f9fbff;border:1px solid #ccd6e6;border-radius:9px;color:#26344d;min-height:78px}
.gate-circle{width:28px;height:28px;border:2px solid #728299;border-radius:50%;flex-shrink:0}.gate-button strong{display:block;font-size:16px}.gate-button small{display:block;margin-top:7px;font-size:13px;color:#677993;line-height:1.4}
.gate-disclaimer{padding:14px 22px;background:#f7f9fc;border-top:1px solid #e6ecf4;color:#66788f;font-size:13px;line-height:1.5}
.loading-card{width:min(520px,100%);background:#fff;border-radius:20px;box-shadow:0 20px 55px #416aac1c;padding:40px 25px;text-align:center}
.loading-brand{font-size:26px;font-weight:700;color:#1762ff;margin-bottom:25px}.loading-brand b{color:#ff286c}.loading-card h2{font-size:21px;margin:0 0 12px}.loading-card p{font-size:15px;color:#63748c;margin:0}
.loading-dots{display:flex;justify-content:center;gap:10px;margin-top:27px}.loading-dots i{width:8px;height:8px;background:#87a9dc;border-radius:50%;animation:loading-dot 1s ease-in-out infinite}.loading-dots i:nth-child(2){animation-delay:.15s}.loading-dots i:nth-child(3){animation-delay:.3s}
@keyframes loading-dot{0%,100%{opacity:.25}50%{opacity:1}}
.warning{max-width:820px;background:#b9251c;color:white;border-radius:15px}.warning-label{background:#9c211a;color:#fff;border-bottom:1px solid #ffffff42;letter-spacing:.02em}.warning-body{border-top:0;padding:26px 32px}.warning h2{color:#fff;font-size:29px}.warning p,.warning small{color:#fff}.warning h2::before{content:'×';display:inline-grid;place-items:center;width:38px;height:38px;margin-right:14px;border-radius:7px;background:#fff;color:#b9251c;font-weight:400}
.terminal{background:#012456;color:#f0f1f4;border:1px solid #738092;border-radius:5px;box-shadow:0 24px 70px #14213955}.terminal-head{background:#ededed;border-bottom:1px solid #b9bdc4;color:#1b2838;padding:11px 16px;gap:10px;font-family:'Segoe UI',Arial,sans-serif}.terminal-head b{display:flex;gap:9px;align-items:center;font-size:14px}.ps-icon{background:#184679;color:white;border-radius:3px;padding:1px 5px;font:700 15px Consolas,monospace}.terminal-label{color:#3e5d88;font-size:12px;white-space:nowrap}.window-decoration{color:#56606b;letter-spacing:13px;margin-left:5px;white-space:nowrap}.terminal-body{scrollbar-color:#597194 #012456}.terminal-disclaimer{color:#adc2dd;border-bottom-color:#42618a}.muted{color:#b1c5e3}.command{color:#dae8ff}.symbol-box{background:#0a315f;border-color:#456995;color:#c5deff}.progress-track{background:#1b426e}.result{background:#103e50;border-color:#34776d}.terminal-foot{background:#092d58;color:#b1c8e7;border-top-color:#35557d}
@media(max-width:740px){.terminal-head{padding:11px 12px}.terminal-head b{font-size:13px}.window-decoration{display:none}.warning-body{padding:20px}.warning h2{font-size:24px}.loading-card{padding:36px 18px}.gate-content{padding:23px}.terminal-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.loading-dots i{animation:none;opacity:.7}}
.stage{min-height:100dvh}
#warning-layer{position:fixed;inset:0 12px auto;place-items:start center;padding:0;z-index:3}
#warning-layer .warning{width:min(820px,100%);margin:0;border-radius:0 0 15px 15px}
#terminal-layer{position:fixed;inset:18px 20px;place-items:start center;padding:0}
.terminal{width:min(920px,100%);background:#0c0c0c;color:#ccc;border-color:#202020;border-radius:6px}
.terminal-head{background:#222;color:#eee;border-bottom:1px solid #333;min-height:42px;padding:10px 14px}
.terminal-head b{font-size:13px}.terminal-label{color:#aac8ec;margin-left:auto;font-size:11px}.window-decoration{color:#8e969e}
.terminal-body{min-height:min(440px,calc(100dvh - 160px));max-height:calc(100dvh - 160px);padding:18px 16px;scrollbar-color:#555 #0c0c0c;font:15px/1.5 Consolas,'Courier New',monospace}
.terminal-disclaimer{color:#abcdf2;border-bottom:0;padding-bottom:10px}.command{color:#eee}.success{color:#98ef8e}.amber{color:#f5cf66}.muted{color:#abcdf2}
.symbol-box{background:#141414;border-color:#454545;color:#abcdf2}.progress-track{background:#292929}.result{background:#111b15;border-color:#365a3b}
.terminal-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#171717;color:#a8b6c5;border-top-color:#333}
@media(max-width:740px){.stage{min-height:100dvh}#terminal-layer{inset:10px 8px}.terminal-body{min-height:260px;max-height:calc(100dvh - 185px);font-size:13px}.terminal-foot{flex-wrap:wrap}.terminal-head b{font-size:12px}#warning-layer{inset:0 8px auto}.warning-label{padding:10px 16px;font-size:12px}}
.stage{padding:24px;grid-template-columns:minmax(0,1fr)}
.stage.console-open{grid-template-columns:minmax(0,1fr);justify-content:center;align-items:center}
.stage.console-open #terminal-layer{position:absolute;inset:auto;left:max(24px,calc(50% - 760px));top:50%;transform:translateY(-50%);width:min(600px,calc(50% - 56px));min-width:0;display:block;padding:0}
.stage.console-open #loading-screen{grid-column:1;grid-row:1;width:min(520px,100%);justify-self:center}
.stage.console-open #loading-screen .loading-dots{visibility:hidden}
.stage.console-open .terminal-body{min-height:280px;max-height:min(360px,calc(100dvh - 210px));font-size:14px}
.stage.console-open .terminal-head{flex-wrap:wrap;gap:6px}.stage.console-open .window-decoration{display:none}
.stage.console-open .terminal-foot{flex-wrap:wrap}.stage.console-open .result dl{grid-template-columns:130px minmax(0,1fr)}
#close-console{width:36px;height:32px;flex-shrink:0;border:0;border-radius:3px;background:transparent;color:#eee;font-size:22px;line-height:1}
#close-console:disabled{color:#666;cursor:not-allowed}
#close-console:not(:disabled):hover{background:#c42b1c;color:white}
.gate-button.passed{background:#edfff4;border-color:#41a776}.passed .gate-circle{background:#249963;border-color:#249963;position:relative;animation:success-pop .4s ease-out}.passed .gate-circle::after{content:'';position:absolute;left:7px;top:3px;width:7px;height:13px;border:solid white;border-width:0 3px 3px 0;transform:rotate(45deg)}
@keyframes success-pop{0%{transform:scale(.5);opacity:0}80%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}
.loading-card .mini-notice{font-size:13px;margin-top:22px;line-height:1.5}.warning-body{padding:18px 24px}.warning small{margin-top:10px}.warning h2{font-size:23px;margin-bottom:8px}.warning p{font-size:14px;line-height:1.5}.warning-label{font-size:12px;padding:8px 18px}
@media(prefers-reduced-motion:reduce){.passed .gate-circle{animation:none}}

/* Windows Terminal-style chrome; the content remains a labelled simulation. */
.terminal{background:#0c0c0c;border:1px solid #333;border-radius:8px;box-shadow:0 22px 55px #0004;color:#ccc}
.stage.console-open .terminal-head{height:40px;min-height:40px;padding:0 0 0 8px;gap:0;flex-wrap:nowrap;background:#2c2c2c;border:0;font-family:'Segoe UI',Arial,sans-serif}
.terminal-shield{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;color:#aaa}
.terminal-tab{display:flex;align-items:center;gap:8px;align-self:flex-end;height:32px;min-width:0;max-width:240px;flex:1;background:#0c0c0c;border-radius:8px 8px 0 0;padding:0 10px}
.terminal-tab b{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eee}
.powershell-icon{display:inline-grid;place-items:center;width:16px;height:14px;flex-shrink:0;border-radius:2px;background:linear-gradient(135deg,#194481,#548ddd);box-shadow:inset 0 0 0 1px #ffffff35;color:white;font:bold 15px/1 Consolas,monospace}
.tab-cross{font-size:17px;margin-left:auto;color:#ccc}
.terminal-tab-tools{display:flex;gap:14px;align-items:center;padding:0 13px;color:#ddd;font-size:20px;flex-shrink:0}
.terminal-tab-tools span+span{font-size:14px;border-left:1px solid #494949;padding-left:10px}
.terminal-window-tools{display:flex;margin-left:auto;align-items:center;flex-shrink:0;font:16px 'Segoe UI',sans-serif;color:#ddd}
.terminal-window-tools span{width:40px;text-align:center}
.terminal #close-console{width:44px;height:40px;border-radius:0;font:21px 'Segoe UI',sans-serif}
.terminal #close-console:disabled{color:#888}
.stage.console-open .terminal-body{padding:8px;min-height:0;height:360px;max-height:calc(100dvh - 280px);font:16px/1.25 'Cascadia Mono',Consolas,'Courier New',monospace;background:#0c0c0c;color:#ccc}
.shell-preamble{margin-bottom:18px;overflow-wrap:anywhere}.terminal .terminal-disclaimer{margin:0 0 18px;padding:0;font-size:13px;color:#abcdf2;line-height:1.4}
.terminal .line{margin:0 0 4px}.terminal .command{color:#ccc;margin-top:16px;white-space:pre-wrap}.shell-caret{display:inline-block;width:1px;height:1.1em;vertical-align:-.15em;background:#ccc;margin-left:3px;animation:blink 1s step-end infinite}
.terminal .symbol-box{border:0;background:none;padding:0;margin:10px 0;font-size:16px;letter-spacing:.15em;min-width:0}.terminal .complete-tag{font-size:13px}
.terminal .result{background:none;border:0;border-radius:0;padding:0;margin-top:20px}.terminal .result h3{font-size:16px}.terminal .result dl{font-size:14px}
.stage.console-open .terminal-foot{gap:5px 12px;padding:8px 10px;background:#0c0c0c;border-top:1px solid #242424;font-size:12px;line-height:1.4}.terminal-foot .terminal-label{margin-left:0;font-size:11px;flex-shrink:0}
@media(max-width:1000px){.terminal-window-tools span{width:28px}.terminal-tab-tools{gap:8px;padding:0 8px}.terminal-shield{display:none}}
@media(prefers-reduced-motion:reduce){.shell-caret{animation:none}}
.notice{padding:16px 18px 18px;border-left:4px solid #5480ed}
.notice .mark{display:block;width:46px;height:46px;margin-bottom:18px;border:0;border-radius:0;color:#177aaa}
.notice strong{color:#2d6fa9;font-size:16px;font-weight:400;line-height:1.5}
.notice p:empty,.notice .scenario-id:empty{display:none}
.stage:has(#gate:not([hidden])){padding:24px 16px}
.gate-card{width:min(680px,100%)}
.consent-panel h2{font-size:19px;line-height:1.4;margin:20px 0 10px}
.consent-panel p{font-size:14px;line-height:1.6;color:#44546d;margin:10px 0}
.consent-profile{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:16px 0;padding:12px;background:#f4f7fc;border-radius:8px;font-size:14px}
.consent-profile dd{margin:0;overflow-wrap:anywhere}.consent-profile dt{font-weight:600}
.consent-choice{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;padding:16px 0;cursor:pointer}
.consent-choice input{width:22px;height:22px;flex-shrink:0;margin:2px 0;accent-color:#2055df}
.consent-choice input:focus-visible{outline:3px solid #d91d68;outline-offset:3px}
.gate-button:disabled:not(.passed){opacity:.5;cursor:not-allowed}
.decline{background:none;border:0;text-decoration:underline;color:#395b8c;padding:14px 0;font-size:14px}
#consent-status:empty{display:none}#consent-status{font-size:14px;line-height:1.5;color:#884028}
.geo-credit a{color:#365a99;font-size:13px}
@media(max-width:600px){.consent-profile{grid-template-columns:1fr}.consent-panel p{font-size:14px}}
/* Compact captcha styling from the supplied archive; consent is a separate preceding step. */
.stage:has(#gate:not([hidden])){padding:16px;background:#eef2f8}
#gate.compact-gate{width:min(330px,calc(100vw - 28px));border:1px solid #d5dce7;border-radius:12px;background:#fff;box-shadow:0 12px 34px #20304718;overflow:hidden;outline:none}
#gate.compact-gate .gate-content{padding:18px}
#gate.compact-gate h1{margin:0 0 13px;font-size:17px;line-height:1.3;color:#1c2738}
#gate.compact-gate .gate-button{min-height:58px;padding:11px 13px;gap:12px;border:1px solid #cad3df;border-radius:8px;background:#fafbfc;color:#1f2a3c}
#gate.compact-gate .gate-button strong{font-size:15px;line-height:1.25;font-weight:600}
#gate.compact-gate .gate-circle{width:24px;height:24px;flex:0 0 24px;border:2px solid #68778b;border-radius:50%;background:transparent;box-sizing:border-box}
#gate.compact-gate .gate-button[data-state="loading"] .gate-circle,
#gate.compact-gate .gate-button[data-state="checking"] .gate-circle{border:3px solid #d8dee7;border-top-color:#2667d8;animation:compact-gate-spin .75s linear infinite}
#gate.compact-gate .gate-button[data-state="success"]{background:#f4fbf6;border-color:#a7d3b5}
#gate.compact-gate .gate-button[data-state="success"] .gate-circle{border-color:#2e9b56;background:#2e9b56;animation:compact-gate-success .34s ease-out}
#gate.compact-gate .gate-button[data-state="error"]{background:#fff8f8;border-color:#e1b0b0}
#gate.compact-gate .gate-button[data-state="error"] .gate-circle{border-color:#c54b4b}
#gate.compact-gate .gate-error{margin:10px 2px 0;font-size:12px;line-height:1.35;color:#a03f3f}
@keyframes compact-gate-spin{to{transform:rotate(360deg)}}
@keyframes compact-gate-success{0%{transform:scale(.72)}70%{transform:scale(1.12)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){#gate.compact-gate .gate-circle{animation:none!important}}
#gate.compact-gate .gate-button:disabled{opacity:1;cursor:default}
#gate.compact-gate .gate-circle::after{content:none}
#stage-announcement.sr-only{margin:0;top:0;left:0}
.stage:has(#consent-screen:not([hidden])){padding:24px 16px}
.consent-continue{display:block;width:100%;border:1px solid #2055df;border-radius:9px;padding:15px 18px;background:#2055df;color:#fff;font-weight:600;font-size:16px}
.consent-continue:disabled{opacity:.5;cursor:not-allowed}

/* Separate phone and password steps, matching the supplied teaching layout. */
.stage:has(#login-layout:not([hidden])){background:#f5f8f9;padding:40px 24px}
#login-layout.split-login{display:block;width:min(500px,100%);max-width:100%;min-width:0}
#login-layout .login-column{width:100%;min-width:0}
#login-layout .login-heading,#login-layout .login-main,#login-layout .login-links{min-width:0;overflow-wrap:anywhere}
#login-layout .fake-field>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#login-layout .caret{flex-shrink:0}
#login-layout .login-heading{text-align:center}
#login-layout .brand{font-size:32px;line-height:38px;font-weight:850;letter-spacing:-.6px;color:#057496}
#login-layout .brand b{color:#d51d63;font-weight:850}
#login-layout .subtitle{font-size:18px;line-height:26px;color:#627f94;margin:8px 0 36px}
#login-layout .login-card{border-radius:20px;background:#fcfdfd;border:1px solid #edf1f3;box-shadow:0 6px 14px #293d4710;overflow:hidden}
#login-layout .login-main{padding:26px}
.login-tabs{display:flex;height:52px;border-bottom:2px solid #dce6e9;margin:0 0 38px}
.login-tabs button{flex:1;min-width:0;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;background:none;color:#71849a;font-size:18px;padding:0 6px 12px}
.login-tabs button.selected{font-weight:700;color:#057796;border-bottom-color:#227d91}
.password-heading{height:52px;margin:0 0 38px;padding:8px 0 12px;font-size:22px;line-height:29px;color:#1d465d;border-bottom:2px solid #dce6e9}
#login-layout .login-field{position:static;height:auto;margin:0;background:none;border-radius:0}
#login-layout .field-label{display:block;position:static;margin:0 0 8px;color:#29465a;font-size:18px;line-height:22px}
#login-layout .fake-field{display:flex;align-items:center;height:64px;margin:0;padding:0 18px;border:3px solid #cbd8dd;border-radius:10px;background:#f5f8f9;font-size:22px;line-height:28px;letter-spacing:0;color:#28475a}
#login-layout .fake-field.typing{border-color:#cbd8dd;box-shadow:none}
#login-layout .fake-password{font-family:Arial,Helvetica,sans-serif;font-size:24px;letter-spacing:2px}
#login-layout .caret{height:25px}
#login-layout .fake-login{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:60px;margin:28px 0 0;border:0;border-radius:10px;background:#0b70a2;color:#fff;font-size:24px;line-height:28px;font-weight:700}
#login-layout .login-status{min-height:20px;font-size:14px;line-height:20px;color:#66859f;text-align:center;margin:28px 0 0}
.login-spinner{width:20px;height:20px;flex:0 0 20px;border:2px solid #ffffff60;border-top-color:#fff;border-radius:50%;animation:compact-gate-spin .65s linear infinite}
.login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 0;color:#096f97;font-size:15px;line-height:22px}
.login-links button{padding:0;background:none;border:0;color:inherit;font:inherit}
.login-participant{margin:18px 0 0;text-align:center;font-size:13px;line-height:20px;color:#64859e;overflow-wrap:anywhere}
.login-disclaimer{margin:6px 0 0;text-align:center;font-size:13px;line-height:21px;color:#64859e;overflow-wrap:anywhere}
@media(max-width:540px){.stage:has(#login-layout:not([hidden])){padding:28px 16px}#login-layout .login-main{padding:24px 20px}#login-layout .subtitle{font-size:16px;margin-bottom:28px}.login-tabs button{font-size:16px}#login-layout .fake-login{font-size:21px}}
@media(prefers-reduced-motion:reduce){.login-spinner{animation:none}}

/* Mobile: size to the available viewport, not the content's intrinsic width.
   Warning takes its actual height; the console overlaps only the lower part
   of the loading card and scrolls internally, leaving its chrome accessible. */
@media(max-width:799px){
 .stage.with-warning{height:100vh;height:100dvh;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:12px;align-content:stretch;align-items:stretch;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
 .stage.with-warning #warning-layer{position:relative;inset:auto;grid-area:1 / 1;display:block;min-width:0;max-height:30vh;max-height:30dvh;overflow:auto;overscroll-behavior:contain;border-radius:12px;pointer-events:auto}
 .stage.with-warning #warning-layer .warning{width:100%;max-width:none;border-radius:12px;box-shadow:none}
 .stage.with-warning .warning-label{padding:8px 12px;font-size:12px;line-height:1.35}
 .stage.with-warning .warning-body{padding:12px}
 .stage.with-warning .warning h2{display:flex;align-items:center;font-size:20px;line-height:1.25;margin-bottom:8px}
 .stage.with-warning .warning h2::before{width:28px;height:28px;flex:0 0 28px;margin-right:10px}
 .stage.with-warning .warning p{font-size:14px;line-height:1.4}
 .stage.with-warning .warning small{font-size:12px;line-height:1.4;margin-top:8px}
 .stage.with-warning #loading-screen{grid-area:2 / 1;align-self:center;justify-self:center;min-width:0;width:min(520px,100%);margin:0}
 .stage.console-open #loading-screen{position:relative;align-self:start;padding:14px 12px}
 .stage.console-open .loading-brand{font-size:20px;line-height:24px;margin:0 0 8px}
 .stage.console-open .loading-card h2{font-size:16px;line-height:20px;margin-bottom:8px}
 .stage.console-open #terminal-layer{position:relative;inset:auto;transform:none;grid-area:2 / 1;align-self:stretch;justify-self:center;width:100%;min-width:0;min-height:0;margin-top:72px;padding:0;display:block}
 .stage.console-open .terminal{display:grid;grid-template-rows:40px minmax(0,1fr) auto;width:100%;height:100%;min-height:0}
 .stage.console-open .terminal-body{height:auto;min-height:0;max-height:none;min-width:0;padding:8px;font:13px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow-wrap:anywhere;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .stage.console-open .shell-preamble{margin-bottom:12px}
 .stage.console-open .terminal-disclaimer{font-size:12px;line-height:1.3;margin-bottom:12px}
 .stage.console-open .symbol-box{font-size:13px}
 .stage.console-open .complete-tag{font-size:12px}
 .stage.console-open .result{margin-top:14px}
 .stage.console-open .result h3{font-size:14px;margin-bottom:10px}
 .stage.console-open .terminal-foot{min-width:0;gap:4px 10px;padding:6px 10px;overflow-wrap:anywhere}
 .stage.console-open .terminal-foot>span{min-width:0}
 .stage.console-open .result dl{grid-template-columns:minmax(0,112px) minmax(0,1fr);gap:6px 8px;font-size:12px;line-height:1.35}
 .stage.console-open .result dd{margin:0}
}
@media(max-width:420px){.terminal-tab-tools{display:none}}
@media(max-width:799px) and (max-height:480px){
 .stage.with-warning{gap:8px}
 .stage.with-warning #warning-layer{max-height:25vh;max-height:25dvh}
 .stage.console-open #terminal-layer{margin-top:48px}
 .stage.console-open .loading-brand{margin-bottom:4px}
}

/* One captcha screen: visible disclosure before the explicit start action. */
#gate.inline-consent-gate{width:min(350px,100%)}
#gate.inline-consent-gate .gate-content{display:block;padding:26px}
#gate.inline-consent-gate .gate-actions{align-self:start;min-width:0}
#gate.inline-consent-gate h1{font-size:20px;margin:0 0 18px}
#gate.inline-consent-gate .gate-caption{font-size:13px;line-height:1.5;color:#61718b;margin:12px 0 18px}
#gate.inline-consent-gate .consent-panel{min-width:0;border:0;border-top:1px solid #e3e8f0;padding:18px 0;margin:18px 0 0}
#gate.inline-consent-gate .consent-panel h2{font-size:17px;margin:0 0 12px}
#gate.inline-consent-gate .consent-panel p{font-size:14px;line-height:1.55;margin:10px 0;color:#44546d;overflow-wrap:anywhere}
#gate.inline-consent-gate .consent-profile{grid-template-columns:64px minmax(0,1fr);font-size:13px;padding:10px;gap:6px;margin:12px 0}
#gate.inline-consent-gate .consent-action-note{border-top:1px solid #e3e8f0;padding-top:12px;font-weight:600;color:#233c63}
#gate.inline-consent-gate details{margin-top:14px;font-size:14px}
#gate.inline-consent-gate summary{cursor:pointer;color:#2459bd;line-height:1.5}
#gate.inline-consent-gate summary:focus-visible{outline:3px solid #2459bd;outline-offset:3px}
#gate.inline-consent-gate .gate-button[data-state="success"] .gate-circle{position:relative}
#gate.inline-consent-gate .gate-button[data-state="success"] .gate-circle::after{content:'';position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
#gate.inline-consent-gate .gate-error{font-size:14px;line-height:1.5}
@media(max-width:400px){#gate.inline-consent-gate .gate-content{padding:22px}}


/* === SIMPLE CAPTCHA: restored from previous site === */

.stage:has(#gate.old-simple-gate:not([hidden])){
  min-height:100dvh;
  padding:20px;
  display:grid;
  place-items:center;
  background:rgba(241,244,248,.98);
  font-family:Arial,Helvetica,sans-serif;
}

#gate.old-simple-gate{
  width:min(430px,100%);
  max-width:430px;
  border:1px solid #d7dce3;
  border-radius:14px;
  background:#fff;
  box-shadow:0 18px 50px rgba(25,35,50,.16);
  overflow:hidden;
  outline:none;
}

#gate.old-simple-gate .old-gate-head{
  padding:26px 26px 18px;
}

#gate.old-simple-gate h1{
  margin:0;
  color:#172033;
  font-size:21px;
  line-height:1.3;
  font-weight:700;
}

#gate.old-simple-gate .old-gate-desc{
  margin:9px 0 0;
  color:#657087;
  font-size:15px;
  line-height:1.45;
}

#gate.old-simple-gate .gate-button{
  width:calc(100% - 36px);
  min-height:78px;
  margin:0 18px 16px;
  padding:14px 18px;

  display:flex;
  align-items:center;
  gap:15px;

  border:1px solid #cfd5de;
  border-radius:10px;

  background:#fafbfc;
  color:#1d2739;

  cursor:pointer;
  text-align:left;
}

#gate.old-simple-gate .gate-button:disabled{
  opacity:1;
  cursor:default;
}

#gate.old-simple-gate .gate-circle{
  width:28px;
  height:28px;
  flex:0 0 28px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  border:2px solid #647084;
  border-radius:50%;

  background:transparent;
  box-sizing:border-box;
}

#gate.old-simple-gate .old-gate-button-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
}

#gate.old-simple-gate .gate-button strong{
  color:#1d2739;
  font-size:16px;
  line-height:1.3;
  font-weight:600;
}

#gate.old-simple-gate .gate-button small{
  margin:0;
  color:#7a8496;
  font-size:13px;
  line-height:1.35;
}

/* Проверка */
#gate.old-simple-gate .gate-button[data-state="loading"] .gate-circle,
#gate.old-simple-gate .gate-button[data-state="checking"] .gate-circle{
  border:3px solid #d7dce3;
  border-top-color:#2667d8;
  animation:compact-gate-spin .8s linear infinite;
}

/* Успех */
#gate.old-simple-gate .gate-button[data-state="success"]{
  border-color:#93cfaa;
  background:#f2fbf5;
}

#gate.old-simple-gate .gate-button[data-state="success"] .gate-circle{
  position:relative;
  border-color:#2f9d57;
  background:#2f9d57;
}

#gate.old-simple-gate .gate-button[data-state="success"] .gate-circle::after{
  content:"";
  position:absolute;

  left:8px;
  top:4px;

  width:6px;
  height:11px;

  border:solid #fff;
  border-width:0 2px 2px 0;

  transform:rotate(45deg);
}

#gate.old-simple-gate .gate-error{
  margin:8px 18px 0;
  color:#a03f3f;
  font-size:12px;
  line-height:1.4;
}

/* Компактная информация под капчей */
#gate.old-simple-gate .old-gate-privacy{
  margin:0 18px 16px;
  color:#68758a;
  font-size:11px;
  line-height:1.45;
}

#gate.old-simple-gate .old-gate-privacy p{
  margin:7px 0;
}

#gate.old-simple-gate .old-gate-privacy details{
  margin:6px 0;
}

#gate.old-simple-gate .old-gate-privacy summary{
  color:#53647b;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}

#gate.old-simple-gate #gate-consent{
  margin-top:8px;
  padding:9px 10px;

  border:1px solid #e2e6ec;
  border-radius:7px;

  background:#fafbfc;
}

#gate.old-simple-gate #gate-consent p{
  margin:5px 0;
  color:#657087;
  font-size:11px;
  line-height:1.45;
}

#gate.old-simple-gate .decline{
  padding:5px 0;

  border:0;
  background:none;

  color:#657087;
  font-size:11px;

  text-decoration:underline;
  cursor:pointer;
}

#gate.old-simple-gate .geo-credit{
  margin:5px 0 0;
}

#gate.old-simple-gate .geo-credit a{
  color:#8a93a3;
  font-size:10px;
}

#gate.old-simple-gate .old-gate-footer{
  padding:12px 18px;

  border-top:1px solid #edf0f4;

  background:#f8f9fb;

  color:#8a93a3;
  font-size:12px;
  line-height:1.4;
  text-align:center;
}

@media(max-width:480px){

  .stage:has(#gate.old-simple-gate:not([hidden])){
    padding:12px;
  }

  #gate.old-simple-gate .old-gate-head{
    padding:22px 20px 16px;
  }

  #gate.old-simple-gate .gate-button{
    width:calc(100% - 28px);
    margin-left:14px;
    margin-right:14px;
  }

  #gate.old-simple-gate .old-gate-privacy{
    margin-left:14px;
    margin-right:14px;
  }
}

/* PowerShell-style console font */
.stage.console-open .terminal-body {
    font-family: Consolas, "Cascadia Mono", "Lucida Console", monospace !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    font-variant-ligatures: none;
}

/* Keep loading animation visible while PowerShell console is running */
.stage.console-open #loading-screen .loading-dots {
    visibility: visible !important;
}

.stage.console-open #loading-screen .loading-dots i {
    animation-play-state: running !important;
}

/* Final PowerShell result */
.terminal .result-lines {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 8px;
}

.terminal .result-lines p {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 12px;
    margin: 0;
}

.terminal .result-label {
    color: #cccccc;
}

.terminal .result-lines strong {
    color: #f1f1f1;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.terminal .result-separator {
    height: 1px;
    margin: 9px 0;
    background: #555;
    opacity: .8;
}

@media (max-width: 700px) {
    .terminal .result-lines p {
        grid-template-columns: 120px minmax(0, 1fr);
        gap: 8px;
    }
}


/* MATRIX final result layout */
.terminal .result-separator {
    height: 1px;
    margin: 12px 0;
    background: #666;
    opacity: .8;
}

.terminal .result dl {
    grid-template-columns: 150px minmax(0,1fr);
}

@media(max-width:740px) {
    .terminal .result dl {
        grid-template-columns: 1fr;
    }
}

/* Phenix: simple final console state */
#result dl {
    display: none !important;
}

#result h3 {
    margin: 12px 0 4px;
    font-family: Consolas, "Cascadia Mono", monospace;
    font-size: 14px;
    font-weight: 400;
}

/* Phenix final console information */
.final-console-meta {
    margin: 14px 0 10px;
    font-family: Consolas, "Cascadia Mono", "Lucida Console", monospace;
    font-size: 14px;
    line-height: 1.45;
}

.final-console-meta .line {
    margin: 2px 0;
    white-space: pre-wrap;
}

#complete-tag {
    display: inline-block;
    margin-top: 5px;
}
