:root{--bg: oklch(.99 .006 250);--surface: oklch(1 0 0);--fg: oklch(.18 .01 270);--muted: oklch(.52 .015 260);--border: oklch(.92 .01 270);--accent: oklch(.83 .16 88);--accent-soft: color-mix(in oklch, var(--accent) 18%, transparent);--fg-soft: color-mix(in oklch, var(--fg) 5%, transparent);--font-display: "Poppins", "Trebuchet MS", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace;--radius: 12px;--radius-lg: 20px}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;-webkit-text-size-adjust:100%}body{min-height:100vh;margin:0;background:var(--bg);color:var(--fg);font:14px/1.55 var(--font-body);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}p,h1,h2{text-wrap:pretty}.skip-link{position:absolute;z-index:60;top:8px;left:8px;transform:translateY(-160%);padding:10px 14px;border-radius:8px;background:var(--fg);color:var(--surface)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid oklch(.58 .14 250);outline-offset:3px}::-moz-selection{background:var(--accent);color:var(--fg)}::selection{background:var(--accent);color:var(--fg)}.container{width:min(1120px,100%);margin-inline:auto;padding-inline:32px}.topnav{border-bottom:1px solid var(--border);background:color-mix(in oklch,var(--bg) 90%,transparent)}.topnav-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:11px;min-height:48px}.brand img{width:42px;height:42px;-o-object-fit:contain;object-fit:contain}.brand-name{font:700 15px/1.2 var(--font-display);letter-spacing:-.03em}.brand-caption{display:block;margin-top:3px;color:var(--muted);font:500 10px/1.3 var(--font-body);letter-spacing:0}.back-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;color:var(--muted);font-size:13px;font-weight:500;border-radius:9px}.back-link:hover{color:var(--fg);background:var(--fg-soft)}.login-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);align-items:center;gap:clamp(40px,8vw,104px);min-height:min(760px,calc(100vh - 136px));padding-block:48px}.welcome-panel{position:relative;isolation:isolate;overflow:hidden;min-height:470px;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,48px);border:1px solid oklch(.92 .025 45);border-radius:28px;background:radial-gradient(ellipse at 86% 12%,oklch(.92 .07 235 / .76),transparent 34%),radial-gradient(ellipse at 94% 82%,oklch(.93 .07 300 / .7),transparent 35%),radial-gradient(ellipse at 61% 100%,oklch(.95 .08 25 / .78),transparent 43%),radial-gradient(ellipse at 2% 5%,oklch(.98 .06 88 / .7),transparent 35%),var(--surface)}.welcome-panel:after{content:"";position:absolute;z-index:-1;width:230px;height:150px;right:7%;bottom:-100px;border-radius:50%;background:#fcd6fd6b;filter:blur(18px)}.eyebrow{margin:0 0 16px;color:var(--muted);font:600 10px/1.4 var(--font-mono);letter-spacing:.09em;text-transform:uppercase}h1,h2{margin:0;font-family:var(--font-display);letter-spacing:-.045em}.welcome-panel h1{max-width:12ch;font-size:clamp(34px,4.2vw,54px);line-height:1.12;font-weight:700}.welcome-copy{max-width:42ch;margin:16px 0 0;color:#373a43;font-size:14px}.module-preview{display:grid;gap:10px;max-width:390px;margin-top:44px}.module-row{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 14px;border:1px solid color-mix(in oklch,var(--fg) 8%,transparent);border-radius:14px;background:color-mix(in oklch,var(--surface) 78%,transparent)}.module-index{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:color-mix(in oklch,var(--surface) 72%,transparent);color:var(--fg);font:600 10px var(--font-mono)}.module-name,.module-detail{display:block}.module-name{font-size:12px;font-weight:600}.module-detail{margin-top:1px;color:var(--muted);font-size:10px}.panel-foot{margin:28px 0 0;color:var(--muted);font-size:11px}.form-wrap{width:100%;max-width:420px;justify-self:center}.form-heading{margin-bottom:30px}.form-heading h2{font-size:clamp(27px,3vw,34px);line-height:1.2}.form-heading p{margin:9px 0 0;color:var(--muted);font-size:13px}.login-form{display:grid;gap:19px}.field{display:grid;gap:7px}.field label{color:var(--fg);font-size:12px;font-weight:600}.input-wrap{position:relative}.input{display:block;width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--fg);font:14px var(--font-body);transition:border-color .16s ease,box-shadow .16s ease}.input::-moz-placeholder{color:#797d85;opacity:1}.input::placeholder{color:#797d85;opacity:1}.input:focus{outline:2px solid oklch(.58 .14 250);outline-offset:1px;border-color:#2b7ec9}.input-password{padding-right:76px}.password-toggle{position:absolute;top:4px;right:4px;min-width:64px;min-height:40px;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:#023f6f;font-size:11px;font-weight:600}.password-toggle:hover{background:color-mix(in oklch,oklch(.58 .14 250) 9%,transparent);color:#002f56;color:oklch(.3 .1 250)}.form-note{margin:-7px 0 0;color:var(--muted);font-size:11px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:11px 18px;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--fg);font-size:13px;font-weight:700;transition:background .16s ease,transform .12s ease}.btn-primary:hover{background:#daaa00;background:oklch(.76 .16 88);border-color:#daaa00;border-color:oklch(.76 .16 88)}.btn-primary:active{transform:translateY(1px)}.status-message{margin:0;padding:12px 14px;border:1px solid oklch(.86 .08 82);border-radius:10px;background:#fff5d9;background:oklch(.97 .045 90);color:#4a2b00;font-size:12px}.access-note{display:flex;gap:11px;margin-top:24px;padding-top:18px;border-top:1px solid var(--border);color:var(--muted);font-size:11px}.access-note strong{display:block;margin-bottom:2px;color:var(--fg);font-size:11px}.access-mark{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;color:#023f6f;font:600 12px var(--font-mono)}.pagefoot{min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:14px 32px;border-top:1px solid var(--border);color:var(--muted);font-size:10px;text-align:center}@media(max-width:860px){.login-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:32px}.welcome-panel{min-height:440px;padding:28px}.welcome-panel h1{font-size:clamp(32px,5vw,44px)}}@media(max-width:700px){.container{padding-inline:20px}.topnav-inner{min-height:68px}.login-layout{grid-template-columns:1fr;gap:36px;min-height:auto;padding-block:28px 42px}.welcome-panel{min-height:auto;padding:26px;border-radius:22px}.welcome-panel h1{max-width:14ch;font-size:clamp(31px,9vw,42px)}.welcome-copy{margin-top:11px}.module-preview{grid-template-columns:1fr;gap:8px;margin-top:25px}.module-row{min-height:48px}.panel-foot{margin-top:20px}.form-wrap{max-width:none}.form-heading{margin-bottom:22px}.pagefoot{padding-inline:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
