.kauth .scr{width:1200px;height:800px;border-radius:18px;overflow:hidden;position:relative;background:var(--canvas);color:var(--ink);box-shadow:0 2px 4px rgba(20,19,12,.05),0 44px 90px -42px rgba(20,19,12,.4)}.kauth .i{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.kauth .i.sm{width:16px;height:16px}.kauth .i.lg{width:24px;height:24px}.kauth .i.xl{width:30px;height:30px;stroke-width:1.9}.kauth .bar{display:flex;align-items:center;gap:12px;padding:22px 30px}.kauth .bar .sp{flex:1 1}.kauth .brand{display:inline-flex;align-items:center;gap:9px}.kauth .brand .wm{font-weight:800;font-size:21px;letter-spacing:0;color:var(--ink)}.kauth .ctx{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);gap:7px;background:var(--sunken);padding:7px 12px;border-radius:999px}.kauth .ctx,.kauth .tpill{font-family:var(--mono);font-size:11px;display:inline-flex;align-items:center}.kauth .tpill{gap:6px;color:var(--faint)}.kauth .stage{position:absolute;inset:0;top:64px;display:flex;align-items:center;justify-content:center;padding:0 30px 30px}.kauth .card{width:432px;background:var(--surface);border-radius:22px;box-shadow:var(--ring),var(--shadow);padding:34px}.kauth .card.sm{padding:26px}.kauth .h1{font-size:28px;line-height:1.05}.kauth .h1,.kauth .h2{font-weight:800;letter-spacing:0;margin:0}.kauth .h2{font-size:21px}.kauth .lead{font-size:15px;color:var(--muted);margin:9px 0 0;line-height:1.5}.kauth .stack{display:grid;gap:16px}.kauth .fld{display:grid;gap:6px}.kauth .fld .lblrow{display:flex;align-items:center}.kauth .fld .lblrow .sp{flex:1 1}.kauth .fld label{font-size:13px;font-weight:600;letter-spacing:0;color:var(--ink)}.kauth .fld .lblrow a{font-size:12.5px;font-weight:600;color:var(--acc-ink)}.kauth .fld .ig{position:relative;display:flex;align-items:center}.kauth .fld input{height:44px;width:100%;padding:0 13px;font-family:var(--font);font-size:15px;color:var(--ink);background:var(--surface);border:none;border-radius:8px;box-shadow:var(--ring);outline:none;transition:box-shadow var(--dur-fast) var(--ease-standard)}.kauth .fld input::placeholder{color:var(--faint)}.kauth .fld input:focus{box-shadow:inset 0 0 0 1.5px var(--acc),0 0 0 4px var(--acc-soft)}.kauth .fld input.ic{padding-left:42px}.kauth .fld input.tr{padding-right:46px}.kauth .fld .leftic{position:absolute;left:13px;color:var(--faint);pointer-events:none;display:inline-flex}.kauth .fld .toggle{position:absolute;right:6px;height:34px;width:34px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:6px;cursor:pointer}.kauth .fld .toggle:hover{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.kauth .fld .hint{font-size:12.5px;color:var(--muted)}.kauth .fld .err{font-size:12.5px;font-weight:600;color:var(--bad);display:inline-flex;align-items:center;gap:6px}.kauth .fld.bad input{box-shadow:inset 0 0 0 1.5px var(--bad)}.kauth .req{color:var(--bad);margin-left:3px}.kauth .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;width:100%;padding:0 20px;font-family:var(--font);font-size:16px;font-weight:600;letter-spacing:0;border:none;border-radius:8px;cursor:pointer;transition:box-shadow var(--dur) var(--ease-standard),background var(--dur) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.kauth .btn:active{transform:translateY(1px)}.kauth .btn.ink{background:var(--btn-bg);color:var(--btn-fg)}.kauth .btn.ink:hover{box-shadow:var(--shadow)}.kauth .btn.acc{background:var(--acc);color:var(--on-acc)}.kauth .btn.sec{background:var(--sunken);color:var(--ink)}.kauth .btn.ghost{background:transparent;color:var(--ink)}.kauth .btn.goog{background:var(--surface);color:var(--ink);box-shadow:var(--ring)}.kauth .btn.goog:hover{background:color-mix(in srgb,var(--ink) 2.5%,var(--surface));box-shadow:var(--ring),var(--shadow-sm)}.kauth .orr{display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--faint);font-size:12px;font-family:var(--mono);letter-spacing:.04em}.kauth .orr:after,.kauth .orr:before{content:"";height:1px;flex:1 1;background:var(--line)}.kauth .foot{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}.kauth .foot a{font-weight:700;color:var(--acc-ink)}.kauth .terms{margin-top:14px;text-align:center;font-size:12px;color:var(--faint);line-height:1.5}.kauth .terms a{color:var(--muted);font-weight:600}.kauth .seg{display:flex;gap:4px;background:var(--sunken);padding:4px;border-radius:11px}.kauth .seg button{flex:1 1;height:42px;border:0;background:transparent;font-family:var(--font);font-size:14px;font-weight:600;color:var(--muted);border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}.kauth .seg button:hover{background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.kauth .seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--ring),var(--shadow-sm)}.kauth .center{text-align:center}.kauth .qr{width:234px;height:234px;border-radius:16px;background:var(--surface);box-shadow:var(--ring);padding:17px;margin:20px auto 0}.kauth .qhint{margin-top:16px;font-size:13px;color:var(--muted);align-items:center;line-height:1.4}.kauth .code,.kauth .qhint{display:flex;justify-content:center;gap:8px}.kauth .code{margin-top:22px}.kauth .code .grp{min-width:92px;height:72px;border-radius:12px;background:var(--surface);box-shadow:var(--ring);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:26px;font-weight:600;letter-spacing:2px;padding:0 8px;color:var(--ink)}.kauth .code .grp.fill{box-shadow:inset 0 0 0 1.5px var(--acc),0 0 0 4px var(--acc-soft)}.kauth .code .cell{width:60px;height:74px;border-radius:12px;background:var(--surface);box-shadow:var(--ring);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:34px;font-weight:600;color:var(--ink)}.kauth .code .cell.fill{box-shadow:inset 0 0 0 1.5px var(--acc),0 0 0 4px var(--acc-soft)}.kauth .code .cell.cursor:after{content:"";width:2px;height:34px;background:var(--acc);border-radius:2px;animation:blink 1.1s steps(1) infinite}.kauth .code .dash{display:flex;align-items:center;color:var(--faint);font-size:26px}.kauth .substep{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.kauth .substep .lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:7px}.kauth .names{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin-top:13px}.kauth .namechip{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 6px;border-radius:999px;box-shadow:var(--ring);background:var(--surface);font-size:13.5px;font-weight:600}.kauth .namechip.on{box-shadow:inset 0 0 0 1.5px var(--acc);background:var(--acc-soft);color:var(--acc-ink)}.kauth .namechip .ava{width:26px;height:26px;border-radius:50%;background:var(--sunken);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:var(--mono)}.kauth .namechip.on .ava{background:var(--acc);color:var(--on-acc)}.kauth .meter{display:flex;gap:5px;margin-top:9px}.kauth .meter i{flex:1 1;height:5px;border-radius:3px;background:var(--sunken)}.kauth .meter i.on{background:var(--acc)}.kauth .mlabel{font-size:12px;color:var(--muted);margin-top:7px;display:inline-flex;align-items:center;gap:6px}.kauth .callout{display:flex;gap:12px;padding:14px 15px;border-radius:12px;background:var(--acc-soft);margin-top:18px}.kauth .callout.warn{background:var(--warn-soft)}.kauth .callout .ci{color:var(--acc-ink);flex:0 0 auto;margin-top:1px}.kauth .callout.warn .ci{color:var(--warn)}.kauth .callout .cx{font-size:13px;color:var(--ink);line-height:1.5}.kauth .callout .cx b{font-weight:700}.kauth .callout .cx a{color:var(--acc-ink);font-weight:700}.kauth .bigcheck{width:62px;height:62px;border-radius:50%;display:flex;justify-content:center;margin:0 auto 18px}.kauth .bigcheck,.kauth .confirm{background:var(--acc-soft);color:var(--acc-ink);align-items:center}.kauth .confirm{display:inline-flex;gap:8px;font-size:13.5px;font-weight:600;padding:9px 15px;border-radius:999px}.kauth .colcards{display:grid;gap:20px;width:432px}.kauth .minilab{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin:0 0 9px 4px}.kauth .split{position:absolute;inset:0;display:flex}.kauth .panel{width:484px;flex:0 0 484px;background:#0C1411;color:#EDEFEA;padding:44px 42px;display:flex;flex-direction:column;position:relative;overflow:hidden}.kauth .panel .brand .wm{color:#F1F4F1}.kauth .ptag{font-size:35px;line-height:1.04;font-weight:800;letter-spacing:0;margin:36px 0 0}.kauth .psub{font-size:15px;line-height:1.55;color:#A6AEA9;margin:15px 0 0;max-width:330px}.kauth .lflow{margin-top:auto;display:grid;gap:9px}.kauth .lf-cap{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#6FA593;margin-bottom:4px}.kauth .lf{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border-radius:11px;padding:12px 14px}.kauth .lf.on{background:rgba(61,217,168,.13);box-shadow:inset 0 0 0 1px rgba(61,217,168,.32)}.kauth .lf .step{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:#8A938E;background:rgba(255,255,255,.07);padding:4px 7px;border-radius:5px}.kauth .lf.on .step{color:#06120E;background:#3DD9A8}.kauth .lf .lt{flex:1 1;font-size:13.5px;font-weight:600;color:#E6E9E5}.kauth .lf .go{width:22px;height:22px;border-radius:50%;background:#3DD9A8;color:#06120E;display:inline-flex;flex:0 0 auto}.kauth .lf .go,.kauth .rightpane{align-items:center;justify-content:center}.kauth .rightpane{flex:1 1;display:flex;padding:40px;position:relative}.kauth .rwrap{width:384px}.kauth .roles{display:grid;gap:12px;margin-top:24px}.kauth .role{display:flex;align-items:center;gap:15px;padding:17px;background:var(--surface);border-radius:14px;box-shadow:var(--ring);cursor:pointer;text-align:left;font-family:var(--font);transition:box-shadow var(--dur) var(--ease-standard),transform var(--dur) var(--ease-standard),background var(--dur) var(--ease-standard)}.kauth .role:hover{box-shadow:inset 0 0 0 1.5px var(--acc-line),var(--shadow);transform:translateY(-2px)}.kauth .role .ri{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--muted);transition:color var(--dur) var(--ease-standard)}.kauth .role .ri svg{width:27px;height:27px}.kauth .role .ri.lead{color:var(--acc-ink)}.kauth .role:hover .ri{color:var(--ink)}.kauth .role:hover .ri.lead{color:var(--acc-ink)}.kauth .role .rt{flex:1 1}.kauth .role .rt b{display:block;font-size:17px;font-weight:700;letter-spacing:0;color:var(--ink)}.kauth .role .rt span{font-size:13.5px;color:var(--muted)}.kauth .role .rg{color:var(--faint);transition:color var(--dur) var(--ease-standard),transform .22s var(--ease-standard)}.kauth .role:hover .rg{color:var(--acc-ink)}.kauth .teacher-auth{display:grid;gap:10px}.kauth .teacher-auth>summary{list-style:none}.kauth .teacher-auth>summary::-webkit-details-marker{display:none}.kauth .teacher-auth[open]>.role{box-shadow:inset 0 0 0 1.5px var(--acc-line),var(--shadow-sm);transform:none}.kauth .teacher-auth[open]>.role .rg,.kauth .teacher-auth[open]>.role .ri{color:var(--acc-ink)}.kauth .teacher-auth[open]>.role .rg{transform:rotate(90deg)}.kauth .teacher-auth-panel{display:grid;gap:12px;padding:14px;border-radius:14px;background:var(--surface);box-shadow:var(--ring),var(--shadow-sm);transform-origin:top center;animation:teacher-auth-panel-in .24s var(--ease-standard) both}.kauth .teacher-auth-panel .g{width:19px;height:19px;flex:0 0 auto}.kauth .teacher-auth-panel .orr{margin:0}.kauth .teacher-auth-form{display:grid;gap:10px}.kauth .teacher-auth-panel .fld{gap:5px}.kauth .teacher-auth-panel .fld input{height:42px;font-size:14px}.kauth .teacher-auth-panel .btn{height:44px;font-size:14px}.kauth .teacher-auth-links{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;font-weight:700}.kauth .teacher-auth-links a{color:var(--acc-ink)}.kauth .qjoin{margin-top:22px;text-align:center;font-size:13.5px;color:var(--muted)}.kauth .qjoin a{color:var(--acc-ink);font-weight:700}.kauth .spec{width:824px;background:var(--surface);border-radius:18px;box-shadow:var(--ring),var(--shadow);padding:42px 44px;color:var(--ink)}.kauth .spec .ey{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--acc-ink)}.kauth .spec h1{font-size:34px;font-weight:800;letter-spacing:0;margin:12px 0 0;line-height:1.05}.kauth .spec .intro{font-size:16px;line-height:1.6;color:var(--muted);margin:14px 0 0;max-width:680px}.kauth .spec h3{font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--faint);margin:30px 0 12px}.kauth .spec ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}.kauth .spec li{font-size:14px;line-height:1.55;color:var(--ink);padding-left:22px;position:relative}.kauth .spec li:before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:2px;background:var(--acc)}.kauth .spec li b{font-weight:700}.kauth .spec li .m{color:var(--muted)}.kauth .mx{display:grid;grid-template-columns:1fr 1.5fr;margin-top:4px;border-radius:12px;overflow:hidden;box-shadow:var(--ring)}.kauth .mx>div{padding:13px 16px;border-bottom:1px solid var(--line)}.kauth .mx .hd{background:var(--sunken);font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.kauth .mx .who{font-weight:700;font-size:14px;display:flex;align-items:center;gap:9px}.kauth .mx .who .tag{font-family:var(--mono);font-size:9.5px;padding:2px 6px;border-radius:5px;background:var(--acc-soft);color:var(--acc-ink);text-transform:uppercase;letter-spacing:.04em}.kauth .mx .how{font-size:13.5px;color:var(--muted);line-height:1.45}.kauth .mx .how b{color:var(--ink);font-weight:600}.kauth .grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.kauth .legend{width:824px;margin-top:16px;display:flex;gap:18px;flex-wrap:wrap;font-size:12.5px;color:#8a8a83;font-family:var(--mono)}.kauth .legend span{display:inline-flex;align-items:center;gap:7px}.kauth .legend .sw{width:12px;height:12px;border-radius:3px}@media (prefers-reduced-motion:reduce){.kauth .code .cell.cursor:after{animation:none}.kauth .btn,.kauth .fld input,.kauth .role,.kauth .role .rg,.kauth .role .ri,.kauth .teacher-auth-panel{transition:none;animation:none}}@keyframes teacher-auth-panel-in{0%{opacity:0;transform:translateY(-8px) scaleY(.98)}to{opacity:1;transform:none}}@keyframes blink{50%{opacity:0}}.kauth{display:block;background:var(--canvas);min-height:100dvh}.kauth .scr{width:100%;height:auto;min-height:100dvh;border-radius:0;box-shadow:none}.kauth .role,.kauth a.role{text-decoration:none;color:inherit}.kauth .callout.bad{background:var(--bad-soft)}.kauth .callout.bad .ci{color:var(--bad)}.kauth a{text-decoration:none}