.auth{justify-content:center;padding:48px 24px 72px;display:flex}.auth__card{border:4px solid var(--ink);width:100%;max-width:460px;box-shadow:8px 8px 0 var(--ink);background:#fff;padding:28px}.auth__eyebrow{font-family:var(--font-mono);font-size:var(--fs-sm);text-transform:uppercase;background:var(--brand-500);border:2px solid var(--ink);padding:4px 10px;display:inline-block}.auth__card h1{margin:16px 0 6px;font-size:30px;line-height:1.1}.auth__card p.auth__sub{font-size:var(--fs-sm);opacity:.75;margin:0 0 20px}.auth__providers{gap:10px;display:grid}.auth__provider{font-family:var(--font-mono);text-transform:uppercase;font-size:var(--fs-sm);border:2px solid var(--ink);cursor:pointer;text-align:left;background:#fff;padding:11px 14px}.auth__provider:hover{background:var(--brand-500)}.auth__provider:disabled{opacity:.5;cursor:not-allowed}.auth__divider{font-family:var(--font-mono);text-transform:uppercase;opacity:.65;align-items:center;gap:10px;margin:20px 0;font-size:12px;display:flex}.auth__divider:before,.auth__divider:after{content:"";background:var(--ink);opacity:.25;flex:1;height:2px}.auth__field{gap:6px;margin-bottom:14px;display:grid}.auth__field label{font-family:var(--font-mono);text-transform:uppercase;font-size:12px}.auth__field input{border:2px solid var(--ink);font:inherit;background:var(--bg);padding:11px 12px}.auth__submit{background:var(--ink);color:#fff;border:2px solid var(--ink);width:100%;font-family:var(--font-mono);text-transform:uppercase;font-size:var(--fs-sm);cursor:pointer;box-shadow:4px 4px 0 var(--brand-500);padding:12px 16px}.auth__submit:disabled{opacity:.6;cursor:not-allowed}.auth__switch{font-size:var(--fs-sm);margin-top:16px}.auth__switch button,.auth__link-btn{font:inherit;cursor:pointer;color:var(--brand-600,#1d4ed8);background:0 0;border:none;padding:0;text-decoration:underline}.auth__msg{border:2px solid var(--ink);font-size:var(--fs-sm);background:var(--bg);margin:0 0 14px;padding:10px 12px}.auth__msg--error{background:#ffe3e3}.auth__account{align-items:center;gap:10px;display:flex}.auth__account span{font-family:var(--font-mono);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:12px;overflow:hidden}.auth__roles{gap:12px;margin:4px 0 18px;display:grid}.auth__role{text-align:left;border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);cursor:pointer;font:inherit;background:#fff;gap:4px;padding:14px 16px;display:grid}.auth__role:hover,.auth__role.is-picked{background:var(--brand-500)}.auth__role strong{font-size:17px}.auth__role span{font-size:var(--fs-sm);opacity:.8}.auth__role-glyph{font-size:22px}.auth__linkish{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.auth__rolebadge{font-family:var(--font-mono);text-transform:uppercase;border:2px solid var(--ink);background:var(--fun,#ff8a3d);white-space:nowrap;padding:3px 8px;font-size:11px}.auth__submit--link{text-align:center;margin-top:12px;text-decoration:none;display:block}.confirm{border:2px solid var(--line,#111);text-align:left;background:#1d4ed80d;border-radius:12px;gap:12px;margin:14px 0;padding:14px;display:grid}.confirm--ok{background:#16a34a1a;border-color:#16a34a}.confirm__status{font-size:var(--fs-sm);gap:6px;display:grid}.confirm__addr{word-break:break-all}.confirm__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.confirm__actions .auth__submit{flex:200px}.confirm__meta{opacity:.75;margin:0;font-size:13px}.confirm__reason{opacity:.85;text-align:left;margin:0 0 12px;font-size:13px}.confirm__help summary{cursor:pointer;font-weight:700;font-size:var(--fs-sm)}.confirm__help ul{gap:4px;margin:8px 0;padding-left:18px;font-size:13px;display:grid}.confirm__help a{font-size:13px}.auth{flex-direction:column;align-items:center}.auth__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.auth__forgot{text-align:right;font-size:var(--fs-sm);margin:2px 0 0}.auth__forgot a{color:var(--brand-600,#1d4ed8)}.auth__toggle{font-size:12px;font-family:var(--font-mono);text-transform:uppercase;justify-self:start}.auth__strength{font-family:var(--font-mono);text-transform:uppercase;gap:4px;font-size:11px;display:grid}.auth__strength-bar{border:2px solid var(--ink);background:linear-gradient(to right, var(--brand-500) var(--fill,0%), transparent 0);height:8px;display:block}.auth__strength--0 .auth__strength-bar{--fill:8%}.auth__strength--1 .auth__strength-bar{--fill:20%}.auth__strength--2 .auth__strength-bar{--fill:40%}.auth__strength--3 .auth__strength-bar{--fill:60%}.auth__strength--4 .auth__strength-bar{--fill:80%}.auth__strength--5 .auth__strength-bar{--fill:100%}.auth__hint{opacity:.8;font-size:12px}.auth__pupil{border-top:2px dashed var(--ink);text-align:center;width:100%;max-width:460px;font-size:var(--fs-sm);margin:20px 0 0;padding-top:16px}.shell{background:var(--bg);min-width:0;min-height:100vh;color:var(--text);font-family:var(--font-sans);flex-direction:column;display:flex;overflow-x:hidden}.shell[data-surface=child]{background-color:var(--canvas);background-image:radial-gradient(circle, var(--pattern-color) 1.5px, transparent 1.5px);background-size:26px 26px}.shell[data-surface=child][data-lab=code]{background-image:radial-gradient(circle at 50% 35%, var(--pattern-color) 1px, transparent 1.5px), radial-gradient(circle at 20% 70%, var(--pattern-color) 1px, transparent 1.5px);background-size:38px 38px,52px 52px}.shell[data-surface=child][data-lab=ai],.shell[data-surface=child][data-lab=fundamentals]{background-image:none}.shell[data-surface=child][data-lab=fundamentals] .shell__top{border-bottom:2px solid var(--line);min-height:68px;padding:10px 24px}.shell[data-surface=child][data-lab=fundamentals] .shell__logo{border:2px solid var(--line);border-radius:var(--r-md);width:44px;height:44px;box-shadow:none}.shell[data-surface=child][data-lab=fundamentals] .shell__wordmark{letter-spacing:0;font-size:1.125rem;line-height:1.2}.shell[data-surface=child][data-lab=fundamentals] .shell__topright{gap:8px}.shell[data-surface=child][data-lab=fundamentals] .shell__tryfree,.shell[data-surface=child][data-lab=fundamentals] .shell__login,.shell[data-surface=child][data-lab=fundamentals] .shell__cta,.shell[data-surface=child][data-lab=fundamentals] .auth__rolebadge{border-radius:var(--r-sm);min-height:40px;box-shadow:none;letter-spacing:.06em;border-width:1px;padding:0 14px;font-size:.7rem;font-weight:600}.shell[data-surface=child][data-lab=fundamentals] .shell__tryfree{border-color:var(--primary-fill);background:var(--accent-soft);color:var(--primary-deep)}.shell[data-surface=child][data-lab=fundamentals] .shell__tryfree:hover{background:var(--primary-fill);color:var(--primary-on)}.shell[data-surface=child][data-lab=fundamentals] .shell__nav{border-bottom:2px solid var(--line);background:var(--surface);gap:8px;padding:10px 24px}.shell[data-surface=child][data-lab=fundamentals] .shell__nav a{border:2px solid var(--line);border-radius:var(--r-sm);background:var(--surface);letter-spacing:.08em;align-items:center;min-height:42px;padding:0 16px;font-size:.72rem;line-height:1;display:inline-flex}.shell[data-surface=child][data-lab=fundamentals] .shell__nav a:hover,.shell[data-surface=child][data-lab=fundamentals] .shell__nav a.is-active{background:var(--primary-fill);color:var(--primary-on)}.shell[data-surface=child][data-lab=ai] .shell__top{border-bottom-width:1px;min-height:64px;padding:10px 24px}.shell[data-surface=child][data-lab=ai] .shell__logo{border:1px solid var(--line);border-radius:var(--r-md);width:42px;height:42px;box-shadow:none}.shell[data-surface=child][data-lab=ai] .shell__wordmark{text-transform:none;font-size:1.125rem}.shell[data-surface=child][data-lab=ai] .shell__topright{gap:10px}.shell[data-surface=child][data-lab=ai] .shell__tryfree,.shell[data-surface=child][data-lab=ai] .shell__login,.shell[data-surface=child][data-lab=ai] .shell__cta,.shell[data-surface=child][data-lab=ai] .auth__rolebadge{border:1px solid var(--line);border-radius:var(--r-md);min-height:40px;box-shadow:none;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;padding:0 14px;font-size:.7rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.shell[data-surface=child][data-lab=ai] .shell__tryfree{color:var(--primary-deep);border-color:#0000}.shell[data-surface=child][data-lab=ai] .shell__cta,.shell[data-surface=child][data-lab=ai] .auth__rolebadge{border-color:var(--primary-fill);background:var(--primary-fill);color:var(--primary-on)}.shell[data-surface=child][data-lab=ai] .auth__account>span:not(.auth__rolebadge){letter-spacing:.02em;text-transform:none;font-size:.68rem}.shell[data-surface=child][data-lab=ai] .shell__nav{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface-sunk) 72%, var(--surface));gap:4px;padding:8px 24px}.shell[data-surface=child][data-lab=ai] .shell__nav a{border-radius:var(--r-md);letter-spacing:.08em;background:0 0;border:1px solid #0000;align-items:center;min-height:40px;padding:0 16px;font-size:.7rem;display:inline-flex}.shell[data-surface=child][data-lab=ai] .shell__nav a.is-active{border-color:var(--primary-fill)}.shell[data-surface=child][data-lab=ai] .shell__foot{border-top-width:1px;padding:10px 24px}@media (width<=720px){.shell[data-surface=child][data-lab=fundamentals] .shell__top,.shell[data-surface=child][data-lab=fundamentals] .shell__nav,.shell[data-surface=child][data-lab=ai] .shell__top,.shell[data-surface=child][data-lab=ai] .shell__nav{padding-inline:14px}.shell[data-surface=child][data-lab=ai] .auth__account>span:not(.auth__rolebadge){display:none}}.shell[data-surface=child] .shell__top,.shell[data-surface=child] .shell__foot{background:var(--surface)}.shell[data-surface=child] .shell__logo,.shell[data-surface=child] .shell__nav a{background:var(--surface-sunk)}.shell[data-surface=child] .shell__nav{background:var(--accent-soft)}.shell[data-surface=child] .shell__nav a:hover{background:var(--accent-fill);color:var(--accent-on)}.shell[data-surface=child] .shell__nav a.is-active{background:var(--primary-deep);color:var(--blueberry-on)}.shell__top{align-items:center;gap:var(--sp-4);border-bottom:4px solid var(--ink);background:#efefef;grid-template-columns:auto minmax(0,1fr) auto;padding:14px 24px;display:grid}.shell__logo{border:2px solid var(--ink);width:48px;height:48px;box-shadow:4px 4px 0 var(--ink);background:#fff;place-items:center;display:grid}.shell__logo img{object-fit:contain;width:36px;height:36px;display:block}.shell__mark{background:var(--brand-500);border:2px solid var(--ink);width:44px;height:44px;box-shadow:4px 4px 0 var(--ink);text-transform:uppercase;letter-spacing:-.02em;text-align:center;place-items:center;padding:2px;font-size:.72rem;font-weight:700;line-height:1;display:grid}.shell__wordmark{min-width:0;font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:1.3rem;font-weight:700;text-decoration:none;overflow:hidden}.shell__topright{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.shell__top:not(:has(.shell__wordmark)) .shell__topright{grid-column:2/-1;justify-self:end}.shell__tryfree,.shell__login,.shell__cta,.auth__rolebadge{box-sizing:border-box;border:2px solid var(--ink);border-radius:var(--r-sm);min-height:42px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:center;padding:0 16px;font-size:.72rem;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.shell__tryfree{background:var(--surface);color:var(--brand-600)}.shell__tryfree:hover{background:var(--fun-soft)}.shell__login{color:var(--ink);background:var(--surface)}.shell__login:hover{background:var(--brand-500)}.shell__cta{background:var(--ink);color:var(--surface);box-shadow:4px 4px 0 var(--brand-500);gap:8px}.shell__cta:hover{box-shadow:2px 2px 0 var(--brand-500);transform:translate(2px,2px)}.shell__nav{border-bottom:4px solid var(--ink);background:#dadadad9;flex-wrap:wrap;gap:10px;padding:12px 24px;display:flex}.shell__nav a{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:2px solid var(--ink);background:#ffffffb3;padding:10px 18px;font-size:.73rem;font-weight:700;text-decoration:none}.shell__nav a:hover{background:var(--brand-500)}.shell__nav a.is-active{background:var(--ink);color:#fff}.shell--fill{height:100dvh;min-height:0;overflow:hidden}.shell__main{flex-direction:column;flex:auto;min-width:0;max-width:100%;min-height:0;display:flex}.shell__main>*{flex:auto;min-height:0}.shell__foot{border-top:4px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.12em;gap:var(--sp-4);background:#efefef;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:18px 24px;font-size:.72rem;display:flex}.shell__footnote{text-transform:uppercase;letter-spacing:.14em;opacity:.9}.shell__foot span:last-child{opacity:.8}.shell__foot a{color:var(--ink)}.shell__foot a:hover{color:var(--brand-500)}@media (width>=900px){.shell__foot{padding-right:190px}}.shell__copy{opacity:.9;text-transform:none;letter-spacing:.04em;font-size:.74rem}.booting{font-family:var(--font-mono);text-transform:uppercase;color:var(--ink);justify-content:center;align-items:center;gap:10px;padding:96px 24px;display:flex}.booting__dot{background:var(--ink);width:10px;height:10px;animation:.9s steps(2,end) infinite booting-pulse}@keyframes booting-pulse{0%,to{opacity:.2}50%{opacity:1}}@media (width<=720px){.shell__top{gap:var(--sp-3);padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top))}.shell__logo{width:40px;height:40px;box-shadow:3px 3px 0 var(--ink)}.shell__logo img{width:28px;height:28px}.shell__wordmark{font-size:1.05rem}.shell__topright{gap:var(--sp-2)}.shell__tryfree,.shell__login,.shell__cta,.auth__rolebadge{min-height:38px;padding:0 11px;font-size:.66rem}.shell__nav{box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;width:100%;max-width:100%;padding:10px 14px;overflow-x:auto}.shell__nav::-webkit-scrollbar{display:none}.shell__nav a{flex:none;padding:10px 12px}.shell__foot{padding:16px 14px;padding-bottom:max(16px, env(safe-area-inset-bottom));gap:var(--sp-2)}.booting{padding:56px 16px}}@media (width<=440px){.shell__top{grid-template-columns:auto minmax(0,1fr)}.shell__topright{grid-column:1/-1;justify-content:stretch;width:100%}.shell__topright>*{flex:1 1 0}.shell__topright .auth__account{min-width:0;display:flex}}@media (height<=860px){.shell--fill .shell__top{padding:8px 20px}.shell--fill .shell__logo{width:36px;height:36px}.shell--fill .shell__logo img{width:26px;height:26px}.shell--fill .shell__nav{padding:6px 20px}.shell--fill .shell__nav a{padding:5px 10px}.shell--fill .shell__foot{padding:8px 20px;font-size:.68rem}}
