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