:root{--ground:#eceff3;--surface:#ffffff;--surface-2:#f5f7fa;--ink:#0f2747;--ink-2:#4b5b73;--ink-3:#7b8799;--rule:#cdd5df;--cobalt:#2743d1;--cobalt-ink:#fff;--marker:#ffe066;--marker-ink:#352a00;--wa:#1f9d55;--ok:#2f8f5b;--late:#b4441f;--r-frame:14px;--r-panel:10px;--r-btn:8px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0c1524;--surface:#132137;--surface-2:#0f1b2e;--ink:#e6ecf5;--ink-2:#a3b2c9;--ink-3:#73839b;--rule:#25354e;--cobalt:#93a5ff;--cobalt-ink:#0c1524;--marker:#e9c94a;--marker-ink:#231b00;--wa:#43cf7c;--ok:#5cc28d;--late:#ff8a63;color-scheme:dark}}:root[data-theme=dark]{--ground:#0c1524;--surface:#132137;--surface-2:#0f1b2e;--ink:#e6ecf5;--ink-2:#a3b2c9;--ink-3:#73839b;--rule:#25354e;--cobalt:#93a5ff;--cobalt-ink:#0c1524;--marker:#e9c94a;--marker-ink:#231b00;--wa:#43cf7c;--ok:#5cc28d;--late:#ff8a63;color-scheme:dark}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.6 Lato,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}a{color:var(--cobalt)}mark{background:var(--marker);color:var(--marker-ink);padding:0 .25em;border-radius:3px}.sp{flex:1}.disp{font-family:Bricolage Grotesque,Lato,sans-serif}.app{position:relative;display:flex;height:760px;background:#fff;color:#2d3b45;font:15px/1.45 Lato,Arial,sans-serif;overflow:hidden;color-scheme:light}.app a{color:#1f5fae}.a-rail{width:86px;flex:none;background:#0f2747;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none;z-index:22}.a-logo{display:grid;place-items:center;padding:12px 0 10px}.a-nav{appearance:none;border:0;background:none;color:#fff;font:400 12.5px/1.2 Lato,Arial,sans-serif;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 2px;text-decoration:underline;text-underline-offset:3px;position:relative}.a-nav svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.a-nav.on{background:#fff;color:#0f2747;text-decoration:none}.a-nav:focus-visible{outline:2px solid #ffe066;outline-offset:-3px}.a-nav .cnt{position:absolute;top:6px;right:16px;background:#e0402b;color:#fff;font:700 10.5px/16px Lato,Arial,sans-serif;min-width:16px;height:16px;border-radius:8px;text-decoration:none}.a-av{width:32px;height:32px;border-radius:50%;background:#e9eef5;border:2px solid #fff;color:#0f2747;font:900 12px/28px Lato,Arial,sans-serif;text-decoration:none}.a-nav.on .a-av{border-color:#0f2747}.a-main{flex:1;min-width:0;overflow-y:auto;position:relative;scroll-behavior:auto}.a-page{padding:26px 34px 70px}.a-h1{font:400 34px/1.15 Lato,Arial,sans-serif;margin:0;color:#2d3b45}.a-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid #c7cdd1;padding-bottom:16px;margin-bottom:24px}.a-btn{border:1px solid #c7cdd1;background:#f5f5f5;color:#2d3b45;border-radius:4px;padding:7px 13px;font:15px Lato,Arial,sans-serif;display:inline-flex;align-items:center;gap:7px;text-decoration:none}.a-btn:hover{background:#ebeef0}.a-btn.pri{background:#0f2747;color:#fff;border-color:#0f2747}.a-btn.pri:hover{background:#18365f}.a-btn.hl{background:#ffe066;border-color:#e8c93f;color:#352a00;font-weight:700}.a-btn svg,.a-ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.a-kebab{appearance:none;border:0}.a-dash{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:34px}.a-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px 28px;align-content:start}.a-card{border-radius:5px;box-shadow:0 2px 5px #00000029,0 2px 3px #00000014;overflow:hidden;background:#fff;display:flex;flex-direction:column;cursor:pointer;outline-offset:3px}.a-card:hover{box-shadow:0 4px 12px #0003}.a-hero{height:138px;position:relative;overflow:hidden}.a-glyph{position:absolute;left:16px;bottom:-14px;font:900 64px/1 Lato,Arial,sans-serif;color:#ffffff4d;letter-spacing:-.04em}.a-kebab{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;background:#00000052;color:#fff;font-size:18px;line-height:1}.a-cbody{padding:14px 18px 4px}.a-ctitle{font-weight:700;text-decoration:underline;font-size:16px}.a-ccode{text-decoration:underline;font-size:15px;color:#2d3b45;opacity:.9;margin-top:2px}.a-cterm{font-size:12.5px;color:#6b7780;text-decoration:underline}.a-cicons{display:flex;gap:30px;padding:10px 18px 14px;color:#6b7780;margin-top:auto}.a-cicons span{position:relative}.a-cicons b{position:absolute;top:-7px;right:-10px;background:#1f5fae;color:#fff;font:700 10px/15px Lato,Arial,sans-serif;min-width:15px;height:15px;border-radius:8px;text-align:center}.a-aside .wm{display:flex;align-items:center;gap:10px;margin:2px 0 24px;color:#0f2747}.wm-t{font:900 17px/1 Lato,Arial,sans-serif;letter-spacing:.01em}.wm-t span{font-weight:400;display:block;font-size:13px;color:#4b5b73;margin-top:3px}.a-aside h3{font:700 18px Lato,Arial,sans-serif;border-bottom:1px solid #c7cdd1;padding-bottom:8px;margin:22px 0 6px}.todo{display:flex;gap:10px;padding:9px 0;font-size:14px;border-bottom:1px solid #eef0f2;cursor:pointer;width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left}.todo:hover .tt{text-decoration:underline}.todo .tt{color:#1f5fae;font-weight:700;display:block}.todo small{color:#6b7780;display:block}.dot{width:10px;height:10px;border-radius:50%;flex:none;margin-top:5px}.a-crumbs{font-size:14px;margin:0 0 14px;color:#6b7780;display:flex;gap:6px;flex-wrap:wrap}.a-crumbs button{border:0;background:none;color:#1f5fae;padding:0;text-decoration:underline}.a-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px;align-items:center}.a-pill{border:1px solid #c7cdd1;background:#fff;border-radius:999px;padding:5px 12px;font:14px Lato,Arial,sans-serif;color:#2d3b45}.a-pill.on{background:#0f2747;color:#fff;border-color:#0f2747}.a-search{border:1px solid #c7cdd1;border-radius:4px;padding:7px 11px;min-width:220px;font:14px Lato,Arial,sans-serif;margin-left:auto}.a-cat h2{font:700 21px Lato,Arial,sans-serif;margin:26px 0 2px}.a-cat>p{margin:0 0 10px;color:#6b7780;font-size:14px}.a-cat h3{font:700 14px Lato,Arial,sans-serif;color:#4b5b73;margin:16px 0 8px}.a-cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.a-row{display:flex;gap:12px;border:1px solid #d7dde2;border-radius:6px;padding:12px;background:#fff;align-items:flex-start;text-align:left;width:100%}.a-row:hover{border-color:#1f5fae;background:#fbfdff}.a-sw{width:46px;height:46px;border-radius:6px;flex:none;color:#fff;display:grid;place-items:center;font:900 13px Lato,Arial,sans-serif}.a-row b{display:block;font-size:15px;color:#1f5fae}.a-row small{color:#6b7780;font-size:13px}.a-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.a-tag{font-size:11.5px;border-radius:4px;padding:1px 6px;background:#eef2f7;color:#34445a}.a-tag.en{background:#e1f3e8;color:#1c6a3e}.a-tag.ide{background:#fff4c2;color:#5b4700}.a-tag.soon{background:#fdecc8;color:#7a4b00}.co-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}.co{border:1px solid #d7dde2;border-radius:6px;padding:14px 10px;text-align:center;background:#fff;font:700 14px Lato,Arial,sans-serif;color:#2d3b45;position:relative}.co small{display:block;font-weight:400;color:#6b7780;font-size:12px}.co.soon{color:#8a949c;background:#fafbfc}.co.soon:after{content:"";position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:#f0b429}.co:not(.soon):after{content:"";position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:#2f80ed}.a-course{display:grid;grid-template-columns:170px minmax(0,1fr) 250px;gap:26px}.a-cnav{display:flex;flex-direction:column;font-size:15px}.a-cnav button{border:0;background:none;text-align:left;padding:6px 10px;border-left:3px solid transparent;color:#1f5fae}.a-cnav button.on{border-left-color:#2d3b45;color:#2d3b45;font-weight:700}.a-banner{border-radius:6px;color:#fff;padding:18px 20px;min-height:118px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;margin-bottom:14px}.a-banner h1{font:900 26px/1.1 Lato,Arial,sans-serif;margin:0;position:relative}.a-banner p{margin:4px 0 0;opacity:.9;font-size:14px;position:relative}.a-prog{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:14px;flex-wrap:wrap}.a-bar{flex:1;min-width:120px;height:8px;background:#e6e9ec;border-radius:4px;overflow:hidden}.a-bar i{display:block;height:100%;background:#2f8f5b}.a-mod{border:1px solid #c7cdd1;border-radius:4px;margin-bottom:14px;overflow:hidden}.a-mod-h{background:#f5f5f5;padding:10px 14px;display:flex;align-items:center;gap:10px;font-weight:700;width:100%;border:0;text-align:left;color:#2d3b45}.a-mod-h .req{margin-left:auto;font-weight:400;font-size:13px;color:#6b7780}.a-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid #e6e9ec;width:100%;background:#fff;border-left:0;border-right:0;border-bottom:0;text-align:left;color:#2d3b45}.a-item:hover{background:#f6f9fc}.a-item .nm{flex:1;min-width:0}.a-item .nm b{font-weight:400;color:#1f5fae}.a-item .nm small{display:block;color:#6b7780;font-size:12.5px}.a-item .st{width:22px;height:22px;border-radius:50%;border:2px solid #c7cdd1;flex:none;display:grid;place-items:center}.a-item.done .st{background:#2f8f5b;border-color:#2f8f5b;color:#fff}.a-item.next{box-shadow:inset 3px 0 #ffe066;background:#fffdf0}.a-mod.locked .a-item{color:#9aa4ac;cursor:not-allowed}.a-mod.locked .a-item b{color:#9aa4ac}.a-side h4{font:700 15px Lato,Arial,sans-serif;margin:0 0 8px;border-bottom:1px solid #c7cdd1;padding-bottom:6px}.a-side .blk{margin-bottom:20px;font-size:14px}.a-side .blk p{margin:4px 0}.a-switch{display:flex;gap:8px;align-items:center;font-size:13px;color:#4b5b73;margin-top:8px}.a-lesson{max-width:840px}.a-lesson h1{font:400 30px/1.2 Lato,Arial,sans-serif;margin:0 0 4px}.a-meta{color:#6b7780;font-size:14px;margin:0 0 16px}.a-lesson p{max-width:72ch}.a-code{border-radius:8px;overflow:hidden;margin:18px 0;background:#1f1f1f;color:#ccc}.a-code-h{display:flex;align-items:center;gap:10px;padding:8px 10px 8px 14px;background:#181818;font:12px JetBrains Mono,monospace;color:#9d9d9d;flex-wrap:wrap}.a-code pre{margin:0;padding:14px 16px;font:13px/1.6 JetBrains Mono,monospace;overflow-x:auto;color:#ccc}.a-play{margin-left:auto;background:#ffe066;color:#352a00;border:0;border-radius:6px;padding:7px 12px;font:900 13px Lato,Arial,sans-serif;display:inline-flex;gap:7px;align-items:center}.a-play svg{width:14px;height:14px}.a-copy{background:#2b2b2b;color:#ddd;border:0;border-radius:6px;padding:6px 10px;font:12px Lato,Arial,sans-serif}.a-check{border:1px solid #d7dde2;border-radius:6px;padding:12px 16px;background:#fafbfc}.a-check label{display:flex;gap:10px;padding:4px 0;font-size:14.5px}.a-seq{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #c7cdd1;margin-top:30px;padding-top:14px}.a-launch{border:1px solid #d7dde2;border-radius:8px;padding:18px;display:flex;gap:16px;align-items:center;background:linear-gradient(90deg,#fffbe6,#fff);flex-wrap:wrap}.a-launch b{font-size:17px}.a-kv{display:grid;grid-template-columns:150px 1fr;gap:6px 14px;font-size:14.5px;margin:14px 0}.a-kv dt{color:#6b7780}.a-kv dd{margin:0}.a-note{font-size:13px;color:#6b7780;margin-top:18px;font-style:italic}.a-cal{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px}.cal-h{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.cal-h h2{font:400 24px Lato,Arial,sans-serif;margin:0 8px 0 4px}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #c7cdd1;border-left:1px solid #c7cdd1}.cal-dow{font-size:12px;font-weight:700;color:#6b7780;padding:6px;border-right:1px solid #c7cdd1;border-bottom:1px solid #c7cdd1;background:#f5f5f5;text-align:center}.cal-d{min-height:92px;border-right:1px solid #c7cdd1;border-bottom:1px solid #c7cdd1;padding:4px;font-size:12px;min-width:0}.cal-d.out{background:#fafbfc;color:#a3acb3}.cal-d .n{display:inline-grid;place-items:center;width:22px;height:22px;font-weight:700}.cal-d.today .n{background:#0f2747;color:#fff;border-radius:50%}.ev{display:flex;gap:4px;align-items:center;width:100%;text-align:left;border:0;border-left:3px solid;background:#f1f4f8;padding:2px 4px;margin-top:3px;border-radius:2px;font:12px/1.3 Lato,Arial,sans-serif;white-space:nowrap;overflow:hidden;color:#2d3b45}.ev span{overflow:hidden;text-overflow:ellipsis}.ev .ty{font-size:9.5px;font-weight:900;flex:none;color:#4b5b73}.ev.exam{background:#fdeceb}.ev.deadline{background:#fff6dc}.ev.project{background:#ece9fb}.ev.class{background:#e8f2fc}.cal-more{font-size:11px;color:#1f5fae;padding:2px 4px}.cal-key{display:flex;flex-direction:column;gap:6px;font-size:14px}.cal-key label{display:flex;gap:8px;align-items:center}.cal-key i{width:12px;height:12px;border-radius:3px}.ag{border:1px solid #d7dde2;border-radius:6px;overflow:hidden}.ag-d{background:#f5f5f5;padding:6px 12px;font-weight:700;font-size:14px;border-top:1px solid #d7dde2}.ag-d:first-child{border-top:0}.ag-e{display:flex;gap:12px;padding:9px 12px;border-top:1px solid #eef0f2;font-size:14px;align-items:center;width:100%;background:#fff;border-left:0;border-right:0;border-bottom:0;text-align:left;color:#2d3b45}.ag-e .tm{width:72px;color:#6b7780;flex:none;font-size:13px}.evd{border:1px solid #d7dde2;border-radius:6px;padding:12px;margin-top:16px;font-size:14px;background:#fafbfc}.evd b{display:block;font-size:15px;margin-bottom:4px}.a-inbox{display:grid;grid-template-columns:330px minmax(0,1fr);border:1px solid #c7cdd1;border-radius:4px;height:560px}.ib-list{border-right:1px solid #c7cdd1;overflow-y:auto}.ib-i{display:block;width:100%;text-align:left;padding:11px 14px 11px 22px;border:0;border-bottom:1px solid #e6e9ec;background:#fff;position:relative;color:#2d3b45}.ib-i.unread:before{content:"";position:absolute;left:8px;top:17px;width:8px;height:8px;border-radius:50%;background:#1f5fae}.ib-i.on{background:#e8f0fb}.ib-i .fr{display:flex;gap:8px;font-weight:700;font-size:14px}.ib-i .fr time{margin-left:auto;font-weight:400;color:#6b7780;font-size:12.5px}.ib-i .sj{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ib-i .rl{font-size:12px;color:#6b7780}.ib-view{padding:20px 26px;overflow-y:auto}.ib-view h2{font:400 24px/1.2 Lato,Arial,sans-serif;margin:0 0 10px}.ib-from{display:flex;gap:12px;align-items:center;margin-bottom:16px;font-size:14px}.ib-from .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900}.ib-body{font-size:15px;line-height:1.6;max-width:68ch}.ib-compose{display:grid;gap:10px;max-width:620px}.ib-compose input,.ib-compose select,.ib-compose textarea{border:1px solid #c7cdd1;border-radius:4px;padding:8px 10px;font:14.5px Lato,Arial,sans-serif;width:100%}.role{font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;background:#eef2f7;color:#34445a}.role.Instructor{background:#e6f0ff;color:#1d4fa0}.role.Admin{background:#fde7e4;color:#a2321f}.role.System{background:#eef0f2;color:#4b5b73}.role.Course.Manager,.role.Manager{background:#efe8fc;color:#5b33a6}.g-tab{width:100%;border-collapse:collapse;font-size:14.5px}.g-tab th,.g-tab td{text-align:left;padding:10px 12px;border-bottom:1px solid #e6e9ec}.g-tab th{font-size:13px;color:#6b7780;font-weight:700}.g-tab td b{color:#1f5fae}.a-tray{position:absolute;top:0;bottom:0;left:86px;width:min(330px,80%);background:#fff;box-shadow:8px 0 30px #0003;z-index:21;transform:translate(-110%);transition:transform .22s ease;padding:22px 24px;overflow-y:auto}.a-tray.open{transform:none}.a-tray h2{font:400 22px Lato,Arial,sans-serif;margin:0 0 16px}.a-tray .x{position:absolute;top:14px;right:14px;border:0;background:none;font-size:22px;color:#6b7780}.tray-l{list-style:none;margin:0;padding:0}.tray-l li{border-bottom:1px solid #eef0f2}.tray-l button{border:0;background:none;padding:10px 0;width:100%;text-align:left;color:#1f5fae;font-size:15px}.tray-l small{display:block;color:#6b7780;font-size:12.5px}.prof{display:flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:16px;text-align:center}.prof .big{width:72px;height:72px;border-radius:50%;background:#e9eef5;display:grid;place-items:center;font:900 24px Lato,Arial,sans-serif;color:#0f2747}.wa-link{display:flex;gap:8px;align-items:center;background:#e9f8ef;color:#185c34;border-radius:6px;padding:8px 10px;font-size:13.5px;margin:6px 0 14px}.pet{position:absolute;right:18px;bottom:14px;z-index:25;width:78px;height:78px;border:0;background:none;padding:0;filter:drop-shadow(0 6px 10px rgba(15,39,71,.35))}.pet svg{width:100%;height:100%;overflow:visible}.pet .bob{animation:bob 3.2s ease-in-out infinite;transform-origin:50% 90%}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.pet .lid{animation:blink 5s infinite;transform-origin:center;transform-box:fill-box}@keyframes blink{0%,94%,to{transform:scaleY(0)}96%{transform:scaleY(1)}}.pet-say{position:absolute;right:96px;bottom:46px;z-index:25;background:#0f2747;color:#fff;padding:9px 12px;border-radius:12px 12px 2px;font-size:13.5px;max-width:230px;box-shadow:0 8px 20px #0f27474d;opacity:0;transform:translateY(6px);transition:.25s;pointer-events:none}.pet-say.show{opacity:1;transform:none}.pet-chat{position:absolute;right:18px;bottom:100px;width:min(350px,calc(100% - 36px));height:min(440px,calc(100% - 120px));background:#fff;border-radius:14px;box-shadow:0 20px 50px #0f274759;display:none;flex-direction:column;z-index:26;overflow:hidden;border:1px solid #d7dde2}.pet-chat.open{display:flex}.pc-h{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#0f2747;color:#fff}.pc-h b{font-size:15px}.pc-h small{display:block;opacity:.75;font-size:12px}.pc-h button{margin-left:auto;border:0;background:none;color:#fff;font-size:20px}.pc-wa{font-size:12px;background:#e9f8ef;color:#185c34;padding:6px 12px;display:flex;gap:6px}.a-login{position:absolute;inset:0;z-index:30;background:#0f2747;display:none;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.a-login.open{display:grid}.lg-art{color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 80% 20%,rgba(255,224,102,.18),transparent 45%)}.lg-art h2{font:900 40px/1.05 Lato,Arial,sans-serif;margin:0;max-width:12ch}.lg-form{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:40px 48px;gap:14px}.lg-form h3{font:400 26px Lato,Arial,sans-serif;margin:0}.lg-ph{display:flex;border:1px solid #c7cdd1;border-radius:6px;overflow:hidden}.lg-ph span{padding:10px 12px;background:#f5f5f5;border-right:1px solid #c7cdd1}.lg-ph input{border:0;padding:10px 12px;flex:1;font:16px Lato,Arial,sans-serif;min-width:0}.lg-btn{background:#1f9d55;color:#fff;border:0;border-radius:6px;padding:12px;font:900 15px Lato,Arial,sans-serif}.lg-code{display:flex;gap:8px}.lg-code input{width:44px;height:52px;text-align:center;font:900 22px Lato,Arial,sans-serif;border:1px solid #c7cdd1;border-radius:6px}.lg-toast{position:absolute;top:16px;right:16px;width:300px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;padding:10px 12px;font-size:13.5px;display:none;z-index:31}.lg-toast.show{display:block;animation:drop .35s ease}@keyframes drop{0%{transform:translateY(-12px);opacity:0}}.lg-toast b{color:#1f9d55}.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:#060c18a8;padding:calc(env(safe-area-inset-top,0px) + 12px) 12px calc(env(safe-area-inset-bottom,0px) + 12px)}.modal.open{display:flex}.mc{width:min(1260px,100%);height:min(820px,100%);display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:#1e1f22;box-shadow:0 40px 90px #0000008c;color-scheme:light}.mc-head{display:flex;align-items:center;gap:12px;padding:7px 8px 7px 16px;background:#0f2747;color:#fff;font:14px Lato,Arial,sans-serif;flex:none;min-height:46px}.mc-head .ttl{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mc-head .ttl b{font-weight:900}.mc-head .ttl span{opacity:.75}.mc-tabs{display:flex;gap:2px;background:#ffffff1a;border-radius:8px;padding:3px;flex:none}.mc-tabs button{border:0;background:none;color:#cfd8e6;border-radius:6px;padding:4px 11px;font:700 13px Lato,Arial,sans-serif}.mc-tabs button.on{background:#fff;color:#0f2747}.mc-x{border:0;background:#ffffff1a;color:#fff;width:32px;height:32px;border-radius:8px;font-size:18px;flex:none}.mc-head .ttl{flex:1}.mc-body{flex:1;min-height:0;display:flex;flex-direction:column}.ide{flex:1;min-height:0;display:flex;flex-direction:column;font:13px/1.4 -apple-system,Segoe UI,system-ui,sans-serif}.ide svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ide button{background:none;border:0;color:inherit}.ed{position:relative;flex:1;min-height:0;display:flex;background:var(--bg);color:var(--fg)}.ed-scroll{flex:1;overflow:auto;display:flex;align-items:flex-start;min-height:100%}.ed-auto{flex:none}.ed-auto .ed-scroll{overflow-x:auto;overflow-y:hidden;min-height:0}.ed-gut{position:sticky;left:0;z-index:2;flex:none;padding:10px 0;text-align:right;min-width:44px;font:13px/20px JetBrains Mono,monospace;-webkit-user-select:none;user-select:none;background:var(--bg);color:var(--gut)}.ed-gut div{padding:0 10px 0 8px;height:20px;position:relative}.ed-gut div.run:before{content:"";position:absolute;left:4px;top:5px;border-left:8px solid #5fb865;border-top:5px solid transparent;border-bottom:5px solid transparent}.ed-gut div.cur{color:var(--fg)}.ed-sizer{position:relative;flex:1 0 auto;min-height:100%}.ed-pre,.ed-ta{margin:0;padding:10px 16px 10px 10px;font:13px/20px JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;white-space:pre;tab-size:4;letter-spacing:0;border:0;word-spacing:0}.ed-pre{pointer-events:none;color:var(--fg);position:relative;z-index:1}.ed-ta{position:absolute;inset:0;width:100%;height:100%;resize:none;background:transparent;color:transparent;caret-color:var(--caret);outline:none;overflow:hidden;z-index:2}.ed-ta::selection{background:#6e96ff59}.ed-band{position:absolute;left:0;right:0;display:none;background:var(--band,rgba(255,224,102,.14));box-shadow:inset 3px 0 #ffe066;pointer-events:none;z-index:0;transition:top .18s ease,height .18s ease}.ed-note{position:absolute;left:24px;display:none;max-width:440px;width:max-content;background:#ffe066;color:#2a2200;font:700 12.5px/1.4 Lato,sans-serif;padding:7px 10px;border-radius:6px;box-shadow:0 8px 20px #00000059;pointer-events:none;z-index:3;white-space:normal}.ed-note:before{content:"";position:absolute;top:-6px;left:16px;border:6px solid transparent;border-top:0;border-bottom-color:#ffe066}.t-k{color:var(--k)}.t-s{color:var(--s)}.t-n{color:var(--n)}.t-c{color:var(--c);font-style:italic}.t-f{color:var(--f)}.t-t{color:var(--t)}.t-pp{color:var(--pp,var(--k))}.t-tag{color:var(--k)}.t-attr{color:var(--t)}.t-p{color:var(--c)}.vlist{font:12.5px/1.5 JetBrains Mono,monospace}.vrow{display:flex;gap:6px;padding:2px 12px;white-space:nowrap}.vrow .vn{color:var(--vn,#c77dbb)}.vrow .vv{color:var(--vv,#6aab73);overflow:hidden;text-overflow:ellipsis}.vrow.ch{background:#ffe06629}.vempty{padding:8px 12px;color:var(--gut);font:12.5px Lato,sans-serif}.th-ij{--bg:#1e1f22;--fg:#bcbec4;--k:#cf8e6d;--s:#6aab73;--n:#2aacb8;--c:#7a7e85;--f:#56a8f5;--t:#c77dbb;--gut:#4b5059;--caret:#ced0d6;background:#2b2d30;color:#dfe1e5}.ij-title{height:40px;display:flex;align-items:center;gap:12px;padding:0 10px;background:#2b2d30;border-bottom:1px solid #1e1f22;flex:none;white-space:nowrap}.ij-badge{width:22px;height:22px;border-radius:5px;background:#3574f0;color:#fff;font:700 10px/22px Lato,Arial,sans-serif;text-align:center;display:inline-block;margin-right:6px}.ij-chip{padding:4px 9px;border-radius:6px;color:#dfe1e5}.ij-chip:hover{background:#393b40}.ij-cfg{background:#393b40;border-radius:6px;padding:4px 10px}.ij-ib{width:30px;height:30px;border-radius:6px;display:grid;place-items:center;color:#5fb865}.ij-ib:hover{background:#393b40}.ij-body{flex:1;min-height:0;display:flex}.ij-strip{width:40px;background:#2b2d30;border-right:1px solid #1e1f22;display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:10px;color:#8c8f94;flex:none}.ij-strip .on{color:#dfe1e5;background:#393b40;border-radius:6px;padding:5px}.ij-tree{width:220px;background:#2b2d30;border-right:1px solid #1e1f22;padding:6px 0;flex:none;overflow:auto}.tr{padding:3px 10px;display:flex;gap:6px;align-items:center;white-space:nowrap}.tr.i1{padding-left:24px}.tr.i2{padding-left:40px}.tr.on{background:#2e436e}.fi{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:3px;font:700 8.5px Lato,Arial,sans-serif;color:#fff;background:#888;flex:none}.fi.j{background:#e76f00}.fi.c{background:#5c6bc0}.fi.cp{background:#00599c}.fi.js{background:#d4a400;color:#1d1d1d}.fi.h{background:#e34f26}.fi.py{background:#3572a5}.fi.x{background:#7a7e85}.fi.f{background:#c9a227}.ij-tree .h{padding:4px 10px 6px;font-weight:600;color:#dfe1e5}.ij-edcol{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.ij-tabs{height:36px;display:flex;align-items:stretch;background:#2b2d30;border-bottom:1px solid #1e1f22;flex:none}.ij-tabs .tab{padding:0 14px;display:flex;align-items:center;gap:7px;border-bottom:2px solid #3574f0;background:var(--bg)}.ij-tool{height:220px;flex:none;border-top:1px solid #1e1f22;display:flex;flex-direction:column;background:#2b2d30}.ij-tt{display:flex;gap:2px;padding:4px 8px;border-bottom:1px solid #1e1f22;align-items:center;flex:none}.ij-tt span{padding:3px 10px;border-radius:5px;color:#9da0a8}.ij-tt span.on{background:#393b40;color:#dfe1e5}.ij-tb{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 280px}.ij-out{margin:0;padding:10px 14px;font:13px/1.55 JetBrains Mono,monospace;color:#dfe1e5;overflow:auto;background:#1e1f22;white-space:pre-wrap}.ij-out .dim{color:#7a7e85}.ij-vars{border-left:1px solid #1e1f22;overflow:auto;--vn:#c77dbb;--vv:#6aab73}.pane-h{padding:6px 12px;font-weight:600;color:#9da0a8;border-bottom:1px solid #1e1f22;font-size:12px}.ij-status{height:26px;display:flex;align-items:center;gap:14px;padding:0 12px;font-size:12px;color:#9da0a8;border-top:1px solid #1e1f22;flex:none;white-space:nowrap;overflow:hidden}.th-vs{--bg:#1f1f1f;--fg:#cccccc;--k:#569cd6;--s:#ce9178;--n:#b5cea8;--c:#6a9955;--f:#dcdcaa;--t:#4ec9b0;--pp:#c586c0;--gut:#6e7681;--caret:#aeafad;--vn:#9cdcfe;--vv:#ce9178;background:#181818;color:#ccc}.vs-title{height:32px;display:flex;align-items:center;gap:10px;padding:0 10px;background:#181818;border-bottom:1px solid #2b2b2b;color:#9d9d9d;font-size:12.5px;flex:none}.vs-title .cmd{margin:0 auto;background:#222;border:1px solid #333;border-radius:6px;padding:2px 80px;font-size:12px;white-space:nowrap;overflow:hidden;max-width:50%}.vs-body{flex:1;min-height:0;display:flex}.vs-act{width:48px;background:#181818;border-right:1px solid #2b2b2b;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:6px;color:#868686;flex:none}.vs-act span{width:48px;height:42px;display:grid;place-items:center}.vs-act span svg{width:22px;height:22px}.vs-act .on{color:#fff;box-shadow:inset 2px 0 #0078d4}.vs-side{width:240px;background:#181818;border-right:1px solid #2b2b2b;overflow:auto;flex:none}.vs-sh{padding:8px 14px 4px;font-size:11px;letter-spacing:.04em;color:#bbb;font-weight:600}.vs-side .tr.on{background:#04395e;outline:1px solid #0078d4;outline-offset:-1px}.vs-main{flex:1;min-width:0;display:flex;flex-direction:column}.vs-tabs{height:35px;display:flex;background:#181818;border-bottom:1px solid #2b2b2b;flex:none;align-items:stretch}.vs-tab{padding:0 14px;display:flex;align-items:center;gap:8px;background:#1f1f1f;border-top:1px solid #0078d4;color:#fff;font-size:13px}.vs-tabs .ib{width:34px;display:grid;place-items:center;color:#ccc}.vs-tabs .ib:hover{background:#2a2a2a}.vs-crumb{padding:2px 16px;font-size:12px;color:#a9a9a9;background:var(--bg);flex:none}.vs-split{flex:1;min-height:0;display:flex}.vs-edw{flex:1;min-width:0;display:flex}.vs-prev{width:44%;border-left:1px solid #2b2b2b;display:flex;flex-direction:column;background:#fff;flex:none}.vs-prev-bar{background:#252526;color:#ccc;font-size:12px;padding:6px 10px;display:flex;gap:8px;align-items:center;flex:none}.vs-prev-bar span{background:#3c3c3c;border-radius:4px;padding:1px 10px;flex:1;overflow:hidden;white-space:nowrap}.vs-prev iframe{flex:1;border:0;width:100%;background:#fff}.vs-panel{height:190px;flex:none;border-top:1px solid #2b2b2b;display:flex;flex-direction:column;background:#181818}.vs-pt{display:flex;gap:18px;padding:6px 16px 4px;font-size:11px;letter-spacing:.04em;color:#9d9d9d;flex:none}.vs-pt .on{color:#e7e7e7;box-shadow:0 1px #e7e7e7}.vs-term{flex:1;margin:0;padding:4px 16px 10px;font:13px/1.5 JetBrains Mono,monospace;overflow:auto;color:#ccc;white-space:pre-wrap}.vs-term .pr{color:#23d18b}.vs-term .dim{color:gray}.vs-status{height:22px;background:#007acc;color:#fff;display:flex;align-items:center;gap:14px;padding:0 10px;font-size:12px;flex:none;white-space:nowrap;overflow:hidden}.vs-status.dbg{background:#c63}.th-jp{--bg:#f7f7f7;--fg:#1f2328;--k:#008000;--s:#ba2121;--n:#008000;--c:#3d7b7b;--f:#0000ff;--t:#008000;--gut:#9a9a9a;--caret:#111;--vn:#7b2fa8;--vv:#ba2121;--band:rgba(255,224,102,.5);background:#fff;color:#1f2328}.th-jp .t-k{font-weight:700}.jp-top{display:flex;align-items:center;gap:14px;padding:9px 16px;border-bottom:1px solid #e0e0e0;flex:none;white-space:nowrap;overflow:hidden}.jp-logo{display:flex;align-items:center;gap:6px;font:700 17px Lato,Arial,sans-serif;color:#4e4e4e}.jp-logo i{width:22px;height:22px;border-radius:50%;border:3px solid #f37726;border-left-color:transparent;border-right-color:transparent;transform:rotate(-20deg)}.jp-name{font-size:17px}.jp-ck{font-size:12px;color:#777}.jp-k{margin-left:auto;font-size:13px;color:#555;display:flex;align-items:center;gap:8px}.jp-k i{width:12px;height:12px;border-radius:50%;border:2px solid #616161}.jp-k.busy i{background:#616161}.jp-menu{display:flex;gap:16px;padding:4px 16px;font-size:13px;color:#333;border-bottom:1px solid #e0e0e0;flex:none;overflow:hidden}.jp-tool{display:flex;gap:2px;padding:3px 10px;border-bottom:1px solid #e0e0e0;align-items:center;flex:none;color:#616161}.jp-tool button{padding:4px 8px;border-radius:4px;display:inline-flex;gap:5px;align-items:center;font-size:13px}.jp-tool button:hover{background:#eee}.jp-tool select{border:1px solid #ddd;border-radius:3px;padding:2px 4px;font-size:12.5px;margin-left:6px;background:#fff}.jp-body{flex:1;min-height:0;display:flex;background:#fff}.jp-nb{position:relative;flex:1;min-width:0;overflow:auto;padding:14px 24px 80px 8px}.jp-cell{display:grid;grid-template-columns:70px minmax(0,1fr);margin:2px 0;padding:5px 6px 5px 0;border-left:4px solid transparent;border-radius:2px}.jp-cell.on{border-left-color:#1976d2;background:#fbfdff}.jp-pr{font:13px/20px JetBrains Mono,monospace;color:#307fc1;text-align:right;padding:9px 8px 0 0;white-space:nowrap}.jp-in{border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;background:var(--bg);display:flex;min-width:0}.jp-cell.on .jp-in{border-color:#9ac3ef}.jp-in .ed-pre,.jp-in .ed-ta{padding:10px}.jp-op{font:13px/20px JetBrains Mono,monospace;color:#d84315;text-align:right;padding:4px 8px 0 0}.jp-out{margin:0;padding:4px 10px;font:13px/1.55 JetBrains Mono,monospace;white-space:pre-wrap;min-width:0;overflow-x:auto}.jp-out.err{background:#fdd;color:#7a1010}.jp-md{grid-column:2;padding:2px 10px 6px;font:15px/1.6 Lato,sans-serif;color:#1f2328}.jp-md h2{font:700 20px Lato,Arial,sans-serif;margin:6px 0}.jp-md pre{background:#f3f4f6;padding:8px 10px;border-radius:4px;font:12.5px/1.5 JetBrains Mono,monospace}.jp-dbg{width:250px;border-left:1px solid #e0e0e0;background:#fafafa;overflow:auto;flex:none}.jp-dbg .pane-h{color:#555;border-color:#e0e0e0;background:#f3f3f3}.jp-ro{font:12px Lato,Arial,sans-serif;color:#999;padding:2px 10px}.th-wb{--bg:#ffffff;--fg:#1d1d1d;--k:#1c40d8;--s:#a31515;--n:#098658;--c:#6a9955;--f:#795e26;--t:#267f99;--gut:#999;--caret:#111;--band:rgba(255,224,102,.45);background:#e8e8e8;color:#222}.wb-tb{display:flex;gap:4px;align-items:center;padding:5px 10px;background:linear-gradient(#f6f6f6,#e0e0e0);border-bottom:1px solid #bdbdbd;flex:none;color:#444}.wb-tb span{width:28px;height:24px;display:grid;place-items:center;border-radius:4px}.wb-tb .conn{width:auto;margin-left:auto;font-size:12px;padding:0 8px;background:#fff;border:1px solid #c9c9c9}.wb-body{flex:1;min-height:0;display:flex}.wb-nav{width:220px;background:#f1f1f1;border-right:1px solid #c4c4c4;overflow:auto;flex:none}.wb-nh{padding:5px 10px;background:#dcdcdc;font-weight:700;font-size:12px}.wb-nav input{margin:6px 8px;width:calc(100% - 16px);border:1px solid #c4c4c4;border-radius:3px;padding:3px 6px;font-size:12px;background:#fff}.wb-main{flex:1;min-width:0;display:flex;flex-direction:column}.wb-qt{display:flex;background:#dcdcdc;flex:none}.wb-qt span{background:#fff;padding:5px 14px;border-right:1px solid #c4c4c4;font-size:12.5px}.wb-qb{display:flex;gap:2px;align-items:center;padding:3px 8px;background:#f3f3f3;border-bottom:1px solid #d0d0d0;flex:none}.wb-qb button{width:28px;height:24px;border-radius:3px;display:grid;place-items:center;color:#c38400}.wb-qb button:hover{background:#e3e3e3}.wb-qb small{margin-left:8px;color:#555}.wb-edw{flex:1;min-height:0;display:flex;background:#fff}.wb-res{height:150px;border-top:1px solid #c4c4c4;background:#fff;overflow:auto;flex:none}.wb-rh{padding:4px 10px;background:#ececec;border-bottom:1px solid #d6d6d6;font-size:12px;font-weight:700;position:sticky;top:0}.wb-res table,.wb-act table{border-collapse:collapse;font:12.5px Lato,sans-serif;width:100%}.wb-res th,.wb-res td,.wb-act th,.wb-act td{border:1px solid #dcdcdc;padding:3px 10px;text-align:left;white-space:nowrap}.wb-res th,.wb-act th{background:#f4f4f4;font-weight:700}.wb-act{height:116px;border-top:1px solid #c4c4c4;overflow:auto;background:#fff;flex:none}.wb-ok{color:#1b8a3a;font-weight:900}.wb-er{color:#c62828;font-weight:900}.wb-empty{padding:10px;color:#888;font-size:12.5px}.th-mg{--bg:#112733;--fg:#e3fcf7;--k:#00ed64;--s:#f9e79f;--n:#c5e4ff;--c:#889397;--f:#71f6ba;--t:#e3fcf7;--gut:#5c6c75;--caret:#fff;background:#001e2b;color:#e3fcf7}.mg-top{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid #0b3b4f;flex:none;white-space:nowrap;overflow:hidden}.mg-top b{color:#00ed64}.mg-top .conn{font-size:12px;color:#889397}.mg-run{background:#00ed64!important;color:#001e2b!important;border-radius:6px;padding:5px 12px;font-weight:700}.mg-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.mg-edc{display:flex;flex-direction:column;min-width:0;border-right:1px solid #0b3b4f}.mg-tab{padding:6px 14px;background:#001e2b;border-bottom:1px solid #0b3b4f;font-size:12.5px;color:#c1c7c6;flex:none}.mg-term{margin:0;padding:12px 16px;font:13px/1.55 JetBrains Mono,monospace;overflow:auto;background:#000f17;color:#e3fcf7;white-space:pre-wrap}.mg-term .pr{color:#00ed64}.wt-dock{flex:none;display:flex;align-items:center;gap:14px;padding:10px 14px;background:#0f2747;color:#fff;position:relative;font-family:Lato,sans-serif}.wt-ctl{display:flex;gap:4px;flex:none}.wt-ctl button{width:36px;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff0f;color:#fff;display:grid;place-items:center}.wt-ctl button:hover{background:#ffffff24}.wt-ctl svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.wt-ctl .pp{background:#ffe066;color:#2a2200;border-color:#ffe066;width:46px}.wt-ctl .pp svg{fill:currentColor;stroke:none}.wt-info{flex:1;min-width:0}.wt-step{font-size:12px;color:#a9b8d0}.wt-note{font-size:15px;line-height:1.35}.wt-dock select{background:#ffffff14;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:5px 6px;font-size:13px;flex:none}.wt-dock select option{color:#111}.wt-bar{position:absolute;left:0;right:0;top:0;height:3px;background:#ffffff14}.wt-bar i{display:block;height:100%;width:0;background:#ffe066;transition:width .3s}.wt-run{flex:none;background:#fff;color:#0f2747;border:0;border-radius:8px;padding:8px 12px;font:900 13px Lato,Arial,sans-serif;display:flex;gap:6px;align-items:center}.wt-run svg{width:12px;height:12px;fill:currentColor;stroke:none}.ex{flex:1;min-height:0;display:flex;flex-direction:column;background:#f4f6f9;color:#1d2735;font-family:Lato,sans-serif}.ex-top{display:flex;align-items:center;gap:14px;padding:9px 14px;background:#fff;border-bottom:1px solid #dde3ea;flex:none;flex-wrap:wrap}.ex-top h3{margin:0;font:900 16px Lato,Arial,sans-serif}.ex-top small{color:#64748b;font-size:13px}.ex-tm{font:700 17px JetBrains Mono,monospace;background:#0f2747;color:#fff;border-radius:8px;padding:4px 10px}.ex-tm.low{background:#b4441f}.ex-pc{display:flex;gap:12px;font-size:12.5px;color:#4b5b73;flex-wrap:wrap}.ex-pc span{display:flex;align-items:center;gap:5px}.ex-pc span:before{content:"";width:8px;height:8px;border-radius:50%;background:#2f8f5b}.ex-pc span.warn:before{background:#d97706}.ex-sub{background:#0f2747;color:#fff;border:0;border-radius:8px;padding:8px 14px;font:900 14px Lato,Arial,sans-serif;margin-left:auto}.ex-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,.75fr) minmax(0,1.6fr)}.ex-l{overflow:auto;padding:16px 18px;border-right:1px solid #dde3ea;background:#fff}.ex-l h2{font:900 24px Lato,Arial,sans-serif;margin:6px 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ex-l h5{font:900 13px Lato,Arial,sans-serif;color:#475569;margin:16px 0 6px}.ex-l pre{background:#f3f5f8;border:1px solid #e2e8f0;border-radius:6px;padding:10px;font:12.5px/1.55 JetBrains Mono,monospace;white-space:pre-wrap;margin:0}.ex-l p{margin:0;font-size:14.5px;line-height:1.55}.pill{font:700 11.5px Lato,Arial,sans-serif;border-radius:999px;padding:2px 8px;background:#e6f6ec;color:#1c6a3e}.pill.b{background:#e6efff;color:#1d4fa0}.qn{display:flex;gap:6px;flex-wrap:wrap}.qn button{width:34px;height:34px;border-radius:8px;border:1px solid #c9d1dc;background:#fff;font:900 14px Lato,Arial,sans-serif;color:#1d2735}.qn button.on{background:#0f2747;color:#fff;border-color:#0f2747}.ex-r{display:flex;flex-direction:column;min-width:0;min-height:0}.ex-lang{display:flex;gap:2px;padding:6px 10px;background:#e9edf3;border-bottom:1px solid #dde3ea;flex:none;align-items:center;flex-wrap:wrap}.ex-lang button{border:0;background:none;border-radius:6px;padding:4px 12px;font:700 13px Lato,Arial,sans-serif;color:#334155}.ex-lang button.on{background:#1f5fae;color:#fff}.ex-lang small{margin-left:auto;color:#64748b;font-size:12px}.ex-ide{flex:1;min-height:0;display:flex;flex-direction:column}.ex-act{display:flex;gap:8px;align-items:center;padding:8px 12px;background:#fff;border-top:1px solid #dde3ea;flex:none}.ex-act button{border:1px solid #c9d1dc;background:#fff;border-radius:8px;padding:7px 14px;font:700 14px Lato,Arial,sans-serif;color:#1d2735}.ex-act button.pri{background:#1f9d55;border-color:#1f9d55;color:#fff}.ex-act small{color:#64748b}.tres{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-top:6px}.tres .trh{padding:8px 10px;background:#f8fafc;font-weight:900;font-size:13.5px;display:flex;gap:8px}.trow{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;padding:7px 10px;border-top:1px solid #eef1f4;font:12.5px/1.45 JetBrains Mono,monospace}.trow .v{font-weight:700}.pass{color:#1f8a4c}.fail{color:#c0392b}.wait{color:#64748b}.ex-ov{position:absolute;inset:0;background:#0f172a8c;display:grid;place-items:center;z-index:5}.ex-ov>div{background:#fff;border-radius:12px;padding:22px 24px;max-width:420px;width:calc(100% - 32px)}.ex-ov h3{margin:0 0 8px;font:900 20px Lato,Arial,sans-serif}.ex-ov .row{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.ex-ov button{border:1px solid #c9d1dc;background:#fff;border-radius:8px;padding:8px 14px;font:700 14px Lato,Arial,sans-serif}.ex-ov button.pri{background:#0f2747;color:#fff;border-color:#0f2747}.lab{flex:1;min-height:0;overflow:auto;background:#f6f7fb;color:#1d2735;font-family:Lato,sans-serif;padding:22px 26px 40px}.lab h2{font:900 24px/1.15 Lato,Arial,sans-serif;margin:0 0 4px}.lab .lead{margin:0 0 18px;color:#4b5b73;max-width:70ch}.lab-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:22px}.lab-c{background:#fff;border:1px solid #e1e6ee;border-radius:10px;padding:16px 18px}.lab-c h4{margin:0 0 10px;font:900 15px Lato,Arial,sans-serif}.sl{display:grid;gap:4px;margin-bottom:14px}.sl label{display:flex;justify-content:space-between;font-size:14px}.sl output{font-weight:900}.sl input{width:100%;accent-color:#0f2747}.qbar{display:grid;grid-template-columns:96px minmax(0,1fr) 90px;gap:10px;align-items:center;margin:10px 0;font-size:14px}.qbar i{height:26px;border-radius:5px;background:#e6e9ef;position:relative;overflow:hidden;display:block}.qbar i b{position:absolute;inset:0 auto 0 0;border-radius:5px;transition:width .25s}.qbar span{text-align:right;font-weight:900}.work{font:14px/1.9 JetBrains Mono,monospace;background:#0f2747;color:#e6ecf5;border-radius:8px;padding:12px 16px;margin-top:14px;overflow-x:auto}.work .hl{color:#ffe066}.chal{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px;font-size:14.5px}.chal input{width:80px;border:1px solid #c9d1dc;border-radius:6px;padding:6px 8px}.lbtn{border:1px solid #c9d1dc;background:#fff;border-radius:8px;padding:7px 14px;font:700 14px Lato,Arial,sans-serif;color:#1d2735}.lbtn.pri{background:#0f2747;color:#fff;border-color:#0f2747}.fb{font-size:14px;margin-top:8px}.fb.ok{color:#1f8a4c}.fb.bad{color:#b4441f}.dir-steps{list-style:none;margin:0;padding:0;counter-reset:s}.dir-steps li{padding:8px 10px 8px 38px;border-radius:6px;position:relative;font-size:14.5px;counter-increment:s}.dir-steps li:before{content:counter(s);position:absolute;left:8px;top:8px;width:22px;height:22px;border-radius:50%;background:#e6e9ef;font:900 12px/22px Lato,Arial,sans-serif;text-align:center}.dir-steps li.on{background:#fff7cc}.dir-steps li.on:before{background:#ffe066}.dir-steps li.dn:before{background:#0f2747;color:#fff}.opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.opt{border:1px solid #c9d1dc;background:#fff;border-radius:8px;padding:9px 12px;text-align:left;font:14.5px Lato,Arial,sans-serif;color:#1d2735}.opt.sel{border-color:#0f2747;box-shadow:inset 0 0 0 1px #0f2747}.opt.right{border-color:#1f8a4c;background:#eaf7ef}.opt.wrong{border-color:#c0392b;background:#fdeceb}.typ-box{font:22px/1.7 JetBrains Mono,monospace;background:#fff;border:1px solid #e1e6ee;border-radius:10px;padding:18px 20px;cursor:text;position:relative;letter-spacing:.01em}.typ-box span.ok{color:#1f8a4c}.typ-box span.bad{color:#c0392b;background:#fdeceb;border-radius:2px}.typ-box span.cur{box-shadow:inset 2px 0 #0f2747;animation:cblink 1s steps(1) infinite}@keyframes cblink{50%{box-shadow:none}}.typ-box input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.typ-stats{display:flex;gap:28px;margin:16px 0;font-size:14px;color:#4b5b73}.typ-stats b{display:block;font:900 30px/1 Lato,Arial,sans-serif;color:#0f2747}.star{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.star label{display:flex;flex-direction:column;gap:5px;font:900 14px Lato,Arial,sans-serif}.star label span{font-weight:400;color:#64748b;font-size:12.5px}.star textarea{border:1px solid #c9d1dc;border-radius:8px;padding:8px 10px;font:14.5px/1.5 Lato,Arial,sans-serif;min-height:96px;resize:vertical}.chk{list-style:none;padding:0;margin:0;font-size:14px}.chk li{padding:5px 0 5px 26px;position:relative}.chk li:before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;border-radius:50%;border:2px solid #c9d1dc}.chk li.y:before{background:#1f8a4c;border-color:#1f8a4c}.mcq{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px}.mcq-q{background:#fff;border:1px solid #e1e6ee;border-radius:10px;padding:18px 20px}.mcq-q h4{margin:0 0 4px;font:900 13px Lato,Arial,sans-serif;color:#64748b}.mcq-q p{font-size:17px;margin:0 0 12px}.mcq-o{display:grid;gap:8px}.mcq-nav{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.pal{background:#fff;border:1px solid #e1e6ee;border-radius:10px;padding:14px}.pal-g{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:8px 0 12px}.pal-g button{height:34px;border-radius:6px;border:1px solid #c9d1dc;background:#fff;font:900 13px Lato,Arial,sans-serif}.pal-g button.a{background:#1f8a4c;border-color:#1f8a4c;color:#fff}.pal-g button.m{background:#7c3aed;border-color:#7c3aed;color:#fff}.pal-g button.cur{outline:2px solid #0f2747;outline-offset:1px}.pal small{display:block;font-size:12px;color:#64748b;line-height:1.7}.res-i{background:#fff;border:1px solid #e1e6ee;border-radius:10px;padding:12px 16px;margin-bottom:8px;font-size:14.5px}.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);transform:translate(-50%,20px);background:#0f2747;color:#fff;padding:10px 16px;border-radius:10px;font-size:14.5px;z-index:200;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 32px)}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:1100px){.a-dash{grid-template-columns:1fr}.a-aside .wm{display:none}.a-course{grid-template-columns:150px minmax(0,1fr)}.a-course .a-side{display:none}.gal{grid-template-columns:repeat(2,minmax(0,1fr))}.labs{grid-template-columns:repeat(3,minmax(0,1fr))}.ij-tree,.vs-side{display:none}.jp-dbg{width:200px}}@media(max-width:860px){.hero{grid-template-columns:1fr;gap:16px}.sec-h,.lg-row{grid-template-columns:1fr}.lg-name{border-right:0;border-bottom:1px solid var(--rule)}.phases{grid-template-columns:1fr}.ph{border-left:0;border-top:1px solid var(--rule)}.ph:first-child{border-top:0}.ex-grid,.ag-grid,.arch,.dec,.can,.steps3{grid-template-columns:1fr}.steps3>div{border-left:0;border-top:1px solid var(--rule)}.steps3>div:first-child{border-top:0}.phone{margin:0 auto}.a-cal{grid-template-columns:1fr}.a-inbox{grid-template-columns:1fr;height:auto}.ib-list{max-height:260px;border-right:0;border-bottom:1px solid #c7cdd1}.a-course{grid-template-columns:1fr}.a-cnav{flex-direction:row;overflow-x:auto;gap:4px}.a-cnav button{border-left:0;border-bottom:3px solid transparent;white-space:nowrap}.a-cnav button.on{border-bottom-color:#2d3b45}.ex-body{grid-template-columns:1fr;grid-template-rows:minmax(0,36%) minmax(0,1fr)}.ex-l{border-right:0;border-bottom:1px solid #dde3ea}.ex-top{gap:8px 12px;padding:8px 12px}.ex-top small{display:none}.ex-pc{font-size:11.5px;gap:8px}.lab-2,.mcq,.star,.ij-tb{grid-template-columns:1fr}.ij-vars{display:none}.vs-prev{width:46%}.jp-dbg,.wb-nav{display:none}.mg-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.a-login{grid-template-columns:1fr}.lg-art{display:none}.wt-note{font-size:14px}}@media(max-width:640px){.app{height:680px}.a-rail{width:62px}.a-nav{font-size:10.5px}.a-nav svg{width:22px;height:22px}.a-tray{left:62px}.a-page{padding:18px 16px 70px}.a-h1{font-size:28px}.gal,.labs{grid-template-columns:1fr}.cal-d{min-height:64px}.ev span{display:none}.ev{padding:2px;justify-content:center}.ev .ty{font-size:9px}.a-search{min-width:0;width:100%;margin-left:0}.modal{padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}.mc{height:100%;border-radius:0}.ij-strip,.vs-act{display:none}.ij-tool,.vs-panel{height:150px}.vs-split{flex-direction:column}.vs-prev{width:100%;height:45%;border-left:0;border-top:1px solid #2b2b2b}.wt-dock{flex-wrap:wrap;gap:8px}.wt-info{order:-1;flex-basis:100%}.wt-dock select{margin-left:auto}.ed-note{display:none!important}.mc-head .ttl span,.jp-menu{display:none}.jp-cell{grid-template-columns:44px minmax(0,1fr)}.jp-pr,.jp-op{font-size:11px}.opts{grid-template-columns:1fr}}svg.f{fill:currentColor!important;stroke:none!important}.app .ic svg,.a-cicons svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;display:block}.a-item .ic{width:22px;color:#6b7780;display:grid;flex:none}.a-item .st svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}.a-mod.locked .a-item .st{border-color:transparent;color:#9aa4ac}.a-lesson h3{font:700 18px Lato,Arial,sans-serif;margin:24px 0 8px}.a-btn:disabled{opacity:.5;cursor:not-allowed}.a-launch .a-play{margin-left:0}.ib-compose label{display:grid;gap:4px;font-size:14px;font-weight:700}.typ-box{white-space:pre-wrap}.lab-c .opts{margin-bottom:4px}.co{cursor:pointer}.co.soon{cursor:default}.ed,.ed-scroll{min-width:0}.jp-in .ed{flex:1}.jp-in,.ed-auto .ed-scroll{overflow:visible}.jp-cell.on{position:relative;z-index:2}.ide.exam .jp-dbg,.ide.exam .ij-vars{display:none}.ide.exam .ij-tb{grid-template-columns:1fr}.ex-l{position:relative}@media(max-width:640px){.jp-tool{overflow-x:auto;scrollbar-width:none}.jp-tool button{flex:none;white-space:nowrap}.jp-tool span,.jp-ck{display:none}}.th-lesson{--bg:#f7f9fc;--fg:#1d2735;--k:#7c3aed;--s:#0a7f3f;--n:#b35900;--c:#7b8799;--f:#1f5fae;--t:#0f766e;--pp:#7c3aed}.ls{max-width:860px}.ls-k{margin:0;color:#6b7780;font-size:14px}.ls h1{font:400 32px/1.15 Lato,Arial,sans-serif;margin:2px 0 4px}.ls-m{margin:0 0 16px;color:#6b7780;font-size:14px}.ls-steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.ls-steps button{display:flex;align-items:center;gap:8px;border:1px solid #d7dde2;background:#fff;border-radius:999px;padding:5px 14px 5px 5px;font:14px Lato,Arial,sans-serif;color:#2d3b45}.ls-steps b{width:24px;height:24px;border-radius:50%;background:#0f2747;color:#fff;display:grid;place-items:center;font-size:12px}.ls-sec{padding:20px 0 6px;border-bottom:1px solid #e6e9ec}.ls-sec h2{font:900 21px Lato,Arial,sans-serif;margin:0 0 10px}.ls-sec>p{max-width:70ch;font-size:16px;line-height:1.65;margin:0 0 12px}.ls-sub{color:#4b5b73;font-size:15px!important}.ls-pts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.ls-pts div{background:#eef4fb;border-radius:8px;padding:12px 14px;font-size:14.5px;line-height:1.45;border-top:3px solid #1f5fae}.ls-warn{display:flex;gap:12px;background:#fff7e0;border:1px solid #f3dc8f;border-radius:8px;padding:12px 14px;font-size:14.5px;line-height:1.5}.ls-warn b{flex:none;color:#7a5a00}.ls-h3{font:700 15px Lato,Arial,sans-serif;margin:18px 0 8px;color:#4b5b73}.ls-terms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.term{border:1px solid #d7dde2;background:#fff;border-radius:10px;min-height:96px;padding:12px 14px;text-align:left;display:flex;flex-direction:column;gap:4px;color:#2d3b45;transition:background .2s}.term b{font-size:16px}.term span{display:none;font-size:14px;line-height:1.45}.term small{color:#8a949c;font-size:12px;margin-top:auto}.term.flipped{background:#0f2747;color:#fff;border-color:#0f2747}.term.flipped span{display:block}.term.flipped small{display:none}.term.flipped b{font-size:13px;opacity:.75}.vw{border:1px solid #d7dde2;border-radius:12px;overflow:hidden;background:#fff}.vw-h{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid #e6e9ec;flex-wrap:wrap}.vw-h b{font-size:15px}.vw-c{margin-left:auto;font-size:13px;color:#6b7780}.vw-tabs{display:flex;gap:2px;background:#eef1f5;border-radius:8px;padding:2px}.vw-tabs button{border:0;background:none;border-radius:6px;padding:3px 10px;font:700 13px Lato,Arial,sans-serif;color:#4b5b73}.vw-tabs button.on{background:#fff;color:#0f2747;box-shadow:0 1px 2px #0000001f}.vw-b{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:270px}.vw-code{background:var(--bg);color:var(--fg);font:13px/22px JetBrains Mono,ui-monospace,Menlo,Consolas,monospace;padding:10px 0;overflow:auto;max-height:340px;border-right:1px solid #e6e9ec}.vl{display:flex;white-space:pre;padding-right:14px;transition:background .15s}.vl i{width:38px;flex:none;text-align:right;padding-right:12px;color:#a3acb8;font-style:normal;-webkit-user-select:none;user-select:none}.vl.on{background:#fff1b8;box-shadow:inset 3px 0 #e8b400}.vl.on i{color:#5b4700}.vw-viz{padding:14px 16px;overflow:auto;max-height:340px}.vz-cap{font-size:12.5px;color:#6b7780;margin:4px 0 6px}.vz-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.vb{min-width:46px;padding:16px 6px 6px;border:2px solid #cfd6df;border-radius:8px;text-align:center;position:relative;background:#fff;transition:.2s}.vb i{position:absolute;top:2px;left:0;right:0;font:10px JetBrains Mono,monospace;color:#a3acb8;font-style:normal}.vb b{font:700 15px JetBrains Mono,monospace;display:block}.vb em{display:block;font:700 11px Lato,Arial,sans-serif;color:#4b5b73;font-style:normal;margin-top:3px}.vb u{display:block;text-decoration:none;font:700 10.5px JetBrains Mono,monospace;color:#1f5fae;margin-top:3px}.vb.cur{border-color:#e8b400;background:#fff7d1;transform:translateY(-2px)}.vb.ok{border-color:#2f8f5b;background:#e6f6ec}.vb.dim{opacity:.35}.vb.empty{border-style:dashed;min-height:46px}.vb.ptr{border-style:dashed;border-color:#1f5fae}.vb.wide{min-width:70px}.vz-chips{display:flex;gap:8px;flex-wrap:wrap}.vz-acc{display:flex;align-items:center;gap:8px;border:1px solid #d7dde2;border-radius:999px;padding:4px 6px 4px 12px;font-size:13px;color:#4b5b73}.vz-acc b{background:#0f2747;color:#fff;border-radius:999px;padding:2px 10px;font:700 13px JetBrains Mono,monospace}.vz-acc.ok b{background:#2f8f5b}.vz-stack{display:flex;flex-direction:column;gap:6px}.fr{border:1px solid #cfd6df;border-radius:8px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:4px 14px;font:13px JetBrains Mono,monospace;background:#f7f9fc}.fr b{width:100%;font:700 13px Lato,Arial,sans-serif;color:#2d3b45}.fr.top{border-color:#e8b400;background:#fff7d1}.vz-empty{color:#8a949c;font-size:13.5px;padding:6px 0}.vz-note{font-size:13px;color:#4b5b73;margin:6px 0 0}.bars{align-items:flex-end;gap:10px}.vbar{display:flex;flex-direction:column;align-items:center;gap:4px}.vbar span{width:34px;background:#8fb3e0;border-radius:4px 4px 0 0;transition:height .3s}.vbar b{font:700 13px JetBrains Mono,monospace}.vbar.cur span{background:#e8b400}.vbar.ok span{background:#2f8f5b}.vz-cards{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.vcard{border:1px solid #cfd6df;border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;font-size:14px;background:#fff;transition:.2s;min-width:84px}.vcard span{font:700 14px JetBrains Mono,monospace;color:#4b5b73}.vcard em{font-size:11.5px;color:#b4441f;font-style:normal}.vcard.ok{border-color:#2f8f5b;background:#e6f6ec}.vcard.dim{opacity:.45}.vcard.mono{font:12.5px/1.5 JetBrains Mono,monospace;display:block}.vz-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:8px}.vt{border-collapse:collapse;width:100%;font-size:12.5px;margin-bottom:8px}.vt th,.vt td{border:1px solid #e1e6ee;padding:3px 7px;text-align:left}.vt th{background:#f4f6f9;font-weight:700}.vbucket{border:2px dashed #2f8f5b;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.vbucket span{font:13px JetBrains Mono,monospace;color:#4b5b73}.vbucket em{font-style:normal;font-weight:900;color:#1f6b3f}.vz-frame{width:100%;height:230px;border:1px solid #e1e6ee;border-radius:8px;background:#fff}.vw-note{padding:12px 16px;background:#0f2747;color:#fff;font-size:15px;line-height:1.45;min-height:48px}.vw-out{display:flex;gap:12px;align-items:flex-start;padding:8px 16px;background:#f4f6f9;border-top:1px solid #e6e9ec}.vw-out span{font-size:12px;color:#6b7780;padding-top:2px;flex:none}.vw-out pre{margin:0;font:13px/1.5 JetBrains Mono,monospace;white-space:pre-wrap;min-height:20px;flex:1}.vw-ctl{display:flex;gap:6px;align-items:center;padding:10px 14px;border-top:1px solid #e6e9ec}.vw-ctl button[data-v]{width:38px;height:34px;border-radius:8px;border:1px solid #c7cdd1;background:#fff;display:grid;place-items:center;color:#2d3b45}.vw-ctl svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.vw-ctl .pp{background:#ffe066!important;border-color:#e8c93f!important;width:46px!important}.vw-try{border:0;background:#0f2747;color:#fff;border-radius:8px;padding:8px 14px;font:900 14px Lato,Arial,sans-serif}.qc{border:1px solid #d7dde2;border-radius:10px;padding:14px 16px;margin:12px 0;background:#fff}.qc-n{font-size:12.5px;color:#6b7780}.qc-q{font-size:16px;margin:4px 0 10px}.qc-code{background:var(--bg);color:var(--fg);border-radius:8px;padding:10px 14px;font:13px/1.6 JetBrains Mono,monospace;margin:0 0 10px;overflow-x:auto}.qc-o{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.qc-o .opt:disabled{cursor:default}.qc-fb{font-size:14.5px;margin-top:10px;line-height:1.5}.qc-fb.ok{color:#1f6b3f}.qc-fb.bad{color:#9a3412}.ck-score{font-size:15px;color:#2d3b45;background:#f4f6f9;border-radius:8px;padding:10px 14px}.ls-next{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:22px 0 6px;padding:16px 18px;border-radius:10px;background:linear-gradient(90deg,#fffbe6,#fff);border:1px solid #f0e2a4}.ls-next>div{flex:1;min-width:220px}.ls-next b{display:block;font-size:17px}.ls-next span{font-size:14px;color:#4b5b73}.wk{border:1px solid #d7dde2;border-radius:10px;padding:16px 18px;background:#fff}.wk-q{font-size:16px;font-weight:700;margin:0 0 10px}.wk-s{margin:0 0 12px;padding-left:22px;line-height:1.7;font-size:15px}.lab.lab-inline{padding:4px 0 8px;background:none;overflow:visible}.lab-inline h2{font-size:18px}.lab-inline .lead{font-size:14.5px}.ws-task{display:flex;gap:12px;align-items:center;padding:9px 16px;background:#fff7d1;color:#352a00;font:14.5px Lato,Arial,sans-serif;flex:none}.ws-task b{background:#0f2747;color:#fff;border-radius:6px;padding:2px 8px;font-size:12.5px}@media(max-width:860px){.vw-b{grid-template-columns:1fr}.vw-code{border-right:0;border-bottom:1px solid #e6e9ec;max-height:260px}.ls-pts,.ls-terms,.qc-o,.vz-2{grid-template-columns:1fr}}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#0f2747;font-family:Lato,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.app{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:100%;max-height:100%;border-radius:0;box-shadow:none}.a-rail{scrollbar-width:thin}.a-nav{text-decoration:none;flex-shrink:0}.a-logo{flex-shrink:0}.rail-glyph{font-size:26px;line-height:28px;height:28px}.hub-eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#617084;margin:0 0 12px}.hub-banner{background:#eef3f9;border:1px solid #dce4ee;border-radius:6px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.hub-banner h2{font-size:28px;font-weight:400;color:#0f2747;margin:0 0 10px}.hub-banner p:last-child{margin:0;max-width:65ch;color:#4b5b73}.hub-symbol{font-size:66px;color:#24497d;padding:0 20px}.hub-note{font-size:13px;color:#617084;margin:18px 0 24px}.hub-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px}.hub-card{border:1px solid #d4dbe3;border-radius:6px;padding:22px;display:flex;flex-direction:column;box-shadow:0 2px 4px #0f274708}.hub-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.hub-card h2{font-size:19px;margin:20px 0 8px}.hub-card p{color:#4b5b73;margin:0 0 12px}.hub-card small{color:#6b7780;margin-bottom:24px}.hub-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.hub-actions .a-btn{font-size:13px}.hub-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}.hub-shortcuts button{border:1px solid #d4dbe3;background:#f5f7fa;border-radius:5px;display:flex;align-items:center;gap:10px;padding:14px;text-align:left;font-size:13px}.hub-shortcuts button:hover{border-color:#0f2747;background:#eef3f9}.hub-shortcuts button>span:first-child{color:#24497d;font-size:23px}.hub-shortcuts button>span:last-child{margin-left:auto;color:#617084}.a-login{position:fixed;overflow:auto}.lg-form{min-height:100%;max-width:100%}.login-demo{background:#f5f7fa;border-left:3px solid #ffe066;padding:12px 16px;font-size:13px;color:#4b5b73}#loginForm label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}#loginForm .lg-btn{width:100%}.login-code{width:100%;border:1px solid #c7cdd1;border-radius:4px;padding:12px;font-size:24px;letter-spacing:.3em}.lg-ph input{min-width:0;width:100%}@media(max-width:640px){.hub-banner{padding:20px}.hub-banner h2{font-size:24px}.hub-symbol{display:none}.hub-card{padding:18px}.lg-form{padding:32px 24px}.hub-shortcuts{grid-template-columns:1fr}.a-nav{padding:9px 2px}}.learn-page{max-width:1440px;margin:0 auto;padding-top:28px}.learn-heading{padding:22px 0 30px;border-bottom:1px solid #e3e8ee;margin-bottom:28px}.learn-heading h1{font-size:36px;line-height:1.2;letter-spacing:-.7px;color:#0f2747;margin:12px 0}.learn-heading>p{color:#59697a;max-width:760px;margin:0 0 22px;font-size:16px}.learn-meta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;font-size:13px;color:#59697a}.learn-meta b{color:#243c57}.instructor-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#eaf0f8;color:#24497d;font-weight:700;margin-right:-10px}.learn-divider{height:18px;border-left:1px solid #d6dfe8}.learn-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:32px;align-items:start}.learn-content{min-width:0}.learn-resume{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #cbdaf0;background:#f1f6fd;border-radius:8px;padding:24px;margin-bottom:32px}.learn-resume .hub-eyebrow{color:#315b91}.learn-resume h2{font-size:20px;line-height:1.35;margin:7px 0}.learn-resume p{font-size:13px;color:#59697a;margin:0}.learn-resume .a-btn{flex-shrink:0;padding:12px 18px;border-radius:5px}.learn-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.learn-section-heading h2{font-size:22px;margin:0}.learn-section-heading>span{color:#667586;font-size:13px}.learn-module{border-color:#dce3eb;border-radius:8px;margin-bottom:16px}.learn-module .a-mod-h{background:#fff;padding:23px 22px;gap:16px;align-items:center}.learn-module .a-mod-h:hover{background:#f8fafc}.module-number{width:42px;height:42px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;background:#f0f3f8;color:#52657d;font-size:15px}.module-number.complete{background:#e7f3ed;color:#267349}.module-title{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.module-title>small{font-size:10px;letter-spacing:.1em;color:#6b7780}.module-title>b{font-size:17px;line-height:1.35;color:#183650}.module-title>span{font-weight:400;font-size:12px;color:#6b7780}.module-status{font-size:11px;font-weight:400;border:1px solid #dce3eb;border-radius:16px;padding:4px 9px;white-space:nowrap;color:#53677b}.module-chevron{font-size:22px;font-weight:400;color:#53677b}.module-intro{border-top:1px solid #e8edf2;margin:0;padding:18px 24px 12px 80px;color:#667586;font-size:13px}.learn-module .a-item{padding:15px 24px 15px 80px;border-color:#edf0f4}.learn-module .a-item .nm b{font-weight:400;font-size:14px}.learn-module .a-item.next{background:#f3f7fd}.learn-module .a-item small{font-size:12px}.learn-sidebar h2{font-size:17px;margin:0 0 18px}.learn-progress{border:1px solid #dce3eb;border-radius:8px;padding:24px}.learn-percent{font-size:38px;font-weight:700;color:#0f2747;line-height:1.2}.learn-percent>span{font-size:20px;margin-left:3px;font-weight:400}.learn-progress-track{height:6px;background:#e9eef4;border-radius:6px;margin:16px 0;overflow:hidden}.learn-progress-track>span{display:block;height:100%;background:#315f98;border-radius:6px}.learn-progress>p{font-size:12px;color:#667586;margin:0}.learn-progress-detail{display:flex;flex-direction:column;gap:4px;border-top:1px solid #e8edf2;margin-top:22px;padding-top:18px}.learn-progress-detail>span{font-size:12px;color:#667586}.learn-support{padding:26px 4px}.learn-support p{color:#667586;font-size:13px;line-height:1.7}.learn-support .a-btn{font-size:12px;margin-top:8px}@media(max-width:1100px){.learn-layout{grid-template-columns:minmax(0,1fr) 230px;gap:22px}.learn-resume{align-items:flex-start;flex-direction:column}.module-status{display:none}}@media(max-width:860px){.learn-layout{grid-template-columns:1fr}.learn-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:24px}.learn-support{padding:16px 0}.learn-heading h1{font-size:30px}}@media(max-width:640px){.learn-page{padding:18px 16px 70px}.learn-heading{padding-top:12px}.learn-heading h1{font-size:27px}.learn-meta{gap:10px 14px}.learn-divider{display:none}.learn-resume{padding:20px}.learn-module .a-mod-h{padding:18px 14px;gap:10px}.module-number{width:32px;height:32px}.module-title>b{font-size:15px}.module-intro,.learn-module .a-item{padding:14px 16px}.learn-section-heading{align-items:flex-start;flex-direction:column;gap:6px}.learn-sidebar{grid-template-columns:1fr}}.live-dash{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 0;border:1px solid #dce3eb;border-left:4px solid #315f98;border-radius:6px;padding:20px;background:#f8fafc}.live-dash h2{font-size:17px;margin:5px 0}.live-dash p{color:#617084;font-size:13px;margin:0}.live-dash .a-btn{flex-shrink:0}.live-exam-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:32px;max-width:1100px}.live-exam-card h2{font-size:24px}.live-status{color:#267349;background:#e7f3ed;border-radius:20px;padding:5px 10px;font-size:12px;font-weight:700}.live-exam-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-block:1px solid #e8edf2;margin:12px 0 24px;padding:20px 0}.live-exam-facts dt{font-size:12px;color:#617084}.live-exam-facts dd{margin:4px 0 0;font-size:14px;font-weight:700}.live-result{padding:16px;background:#eef6f1;border-radius:6px;margin-bottom:20px}.live-result p{font-size:13px;margin:8px 0 0}@media(max-width:860px){.live-exam-layout{grid-template-columns:1fr;gap:12px}}@media(max-width:640px){.live-dash{align-items:flex-start;flex-direction:column}.live-exam-card .hub-card-top{align-items:flex-start;flex-wrap:wrap}.live-exam-facts{grid-template-columns:1fr}}.problem-editor{--bg:#fff;--fg:#243447;--gut:#8793a1;--caret:#0f2747;display:flex;flex:1;min-height:0;flex-direction:column;background:#fff;color:#243447;font:13px/1.5 Lato,Arial,sans-serif}.problem-editor-head{display:flex;align-items:center;gap:18px;padding:10px 16px;border-bottom:1px solid #e4e7ec;background:#fafbfc}.problem-editor-head>span{color:#667586;margin-left:auto}.problem-editor-code{display:flex;flex:1;min-height:150px;overflow:hidden}.problem-editor .t-k{color:#8950a1}.problem-editor .t-s{color:#28844e}.problem-editor .t-n{color:#b16b12}.problem-editor .t-c{color:#82907e}.problem-editor .t-t,.problem-editor .t-f{color:#255eaa}.problem-output{flex:0 1 180px;overflow:auto;border-top:1px solid #e4e7ec;padding:12px 16px}.problem-output pre{white-space:pre-wrap;font-size:12px}.problem-output iframe{width:100%;height:240px;border:0;background:#fff}.ex-body{grid-template-columns:minmax(280px,1fr) minmax(0,1.35fr);gap:8px;padding:8px;background:#eef0f3}.ex-l,.ex-r{border:1px solid #dde3ea;border-radius:8px;overflow:auto;background:#fff}.ex-l{padding:22px}.ex-l .qn{display:none}.ex-l h2{margin-top:10px;margin-bottom:22px}.ex-l:before{content:"Description";display:block;font-size:13px;font-weight:700;border-bottom:1px solid #e4e7ec;padding-bottom:14px}.ex-lang{background:#fafbfc}.ex-ide{min-height:200px;flex:1;display:flex}.ex-r{display:flex;flex-direction:column;min-height:0}.problem-tests{flex:0 1 220px;min-height:100px;overflow:auto;border-top:1px solid #e4e7ec}.problem-test-title{position:sticky;top:0;padding:10px 16px;background:#fafbfc;border-bottom:1px solid #e4e7ec;font-size:13px;font-weight:700;z-index:1}.problem-tests .tres{border:0;margin:0}.ex-act{background:#fafbfc}.ex-sub{background:#267349}.ex-top{background:#fff}.ws-task{background:#f8fafc}@media(max-width:860px){.ex-body{grid-template-columns:1fr;grid-template-rows:minmax(150px,35%) minmax(0,1fr)}.ex-ide{min-height:140px}.problem-editor-code{min-height:120px}.problem-tests{flex-basis:140px}.ex-l{padding:16px}}.exam-empty{min-height:470px;border:1px solid #e0e6ed;border-radius:10px;background:linear-gradient(180deg,#f6f9fd,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 24px}.exam-empty-art{width:140px;height:140px;border-radius:50%;background:#eaf0f8;display:grid;place-items:center;margin-bottom:24px}.exam-empty-art svg{width:112px;height:112px}.exam-empty h2{font-size:28px;color:#0f2747;margin:0 0 12px}.exam-empty>p:not(.hub-eyebrow){max-width:48ch;color:#617084;margin:0 0 24px}.exam-empty .a-btn{padding:12px 20px}.exam-empty>small{color:#7b8799;margin-top:16px}.empty-followup{display:flex;flex-wrap:wrap;gap:8px 18px;padding:24px 8px;font-size:14px;color:#617084}.empty-followup b{color:#2d3b45}.practice-badge{color:#617084;font-size:12px}.practice-no-results{text-align:center;padding:50px 20px;border:1px dashed #c7d2df;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.exam-empty{padding:30px 18px}.exam-empty h2{font-size:24px}}.rankings-panel{border:1px solid #dce3eb;border-radius:8px;padding:20px;align-self:start;min-width:0}.rankings-head h2{font-size:21px;margin:6px 0}.rankings-head p,.ranking-note{color:#617084;font-size:12px}.ranking-you{display:flex;gap:16px;align-items:center;padding:16px;background:#eef3fa;border-radius:6px;margin:18px 0}.ranking-you>b{font-size:28px;color:#24497d}.ranking-you small{display:block;color:#617084;font-size:11px;margin-top:5px}.ranking-table{width:100%;border-collapse:collapse;font-size:12px}.ranking-table th{text-align:left;color:#617084;font-size:11px;padding:10px 4px}.ranking-table td{padding:13px 4px;border-top:1px solid #edf0f4}.ranking-table td:last-child,.ranking-table th:last-child{text-align:right}.ranking-table .is-you{background:#f0f5fc;font-weight:700}.ranking-table small{display:block;color:#315f98}.ranking-scroll{max-height:600px;overflow:auto}.app .job-card{color:#2d3b45;text-decoration:none;transition:border-color .15s}.job-card:hover{border-color:#315f98}.job-card time{font-size:12px;color:#617084}.job-card>b{font-size:14px;margin-bottom:8px}.job-link{margin-top:auto;color:#1f5fae;font-weight:700;padding-top:18px;display:flex;justify-content:space-between}.jobs-search{max-width:480px;margin:0;padding:10px 14px}.resume-layout{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.45fr);gap:28px;align-items:start}.resume-form{border:1px solid #dce3eb;border-radius:8px;padding:22px}.resume-form h2{margin:0;font-size:20px}.resume-form>p{font-size:13px;color:#617084}.resume-form label{display:block;font-size:13px;font-weight:700;margin:18px 0 7px}.resume-form input,.resume-form textarea{display:block;width:100%;border:1px solid #cbd5df;border-radius:5px;padding:10px 12px;font-size:14px;background:#fff;resize:vertical}.resume-preview-column{position:sticky;top:20px;min-width:0}.resume-templates{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}#resumePreview{background:#e9edf2;padding:24px;border-radius:8px}.resume-paper{background:#fff;color:#17212b;padding:42px 38px;min-height:760px;font:13px/1.55 Arial,sans-serif;box-shadow:0 3px 14px #10274015;overflow-wrap:anywhere}.resume-paper h1{font-size:28px;line-height:1.2;margin:0 0 8px;color:#17212b}.resume-paper header{border-bottom:1px solid #354251;padding-bottom:14px}.resume-paper p{white-space:pre-line;margin:8px 0}.resume-contact{font-size:11px}.resume-paper h2{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:20px 0 6px}.resume-headline{font-size:15px}.template-modern h1,.template-modern h2{color:#24497d}.template-modern header{border-bottom:3px solid #24497d}.template-compact{padding:30px;font-size:12px;line-height:1.4}.template-compact h2{margin-top:14px}.template-serif{font-family:Georgia,serif}.template-serif h1{font-size:31px}.resume-placeholder{color:#8893a0;text-align:center;padding:100px 0;font-size:13px}@media(max-width:1100px){.a-dash{grid-template-columns:minmax(0,1fr) 270px}.resume-layout{grid-template-columns:1fr}.resume-preview-column{position:static}}@media(max-width:860px){.a-dash{grid-template-columns:1fr}.rankings-panel{display:block!important}.resume-paper{padding:28px 22px}#resumePreview{padding:12px}}@media print{@page{size:A4;margin:15mm}html,body{height:auto!important;overflow:visible!important;background:#fff!important}.app{position:static!important;height:auto!important;overflow:visible!important;display:block!important}.a-main{overflow:visible!important}.a-rail,.a-tray,.pet,.pet-chat,.pet-say,.a-login,.modal,.toast,.a-head,.a-page>.hub-note,.resume-form,.resume-templates{display:none!important}.a-page{padding:0!important;max-width:none!important}.resume-layout{display:block}.resume-preview-column{position:static}#resumePreview{padding:0;background:#fff}.resume-paper{padding:0;box-shadow:none;min-height:0;font-size:11pt}.resume-paper h2{break-after:avoid}.resume-paper p{orphans:3;widows:3}.resume-placeholder{display:none}}.dashboard-insights{display:grid;align-content:start;gap:20px;min-width:0}.self-assessment-card{border:1px solid #dce3eb;border-radius:8px;padding:20px;background:#fff;min-width:0}.self-assessment-card h2{color:#0f2747;font-size:21px;font-weight:400;line-height:1.3;margin:7px 0 5px}.self-assessment-subtitle{color:#617084;font-size:12px;line-height:1.5;margin:0}.self-assessment-score{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0}.self-assessment-score strong{display:block;color:#0f2747;font-size:32px;line-height:1.15;font-weight:700}.self-assessment-score strong span{color:#617084;font-size:20px;font-weight:400}.self-assessment-score small{display:block;font-size:11px;color:#617084;margin-top:4px}.self-assessment-change{font-size:11px;font-weight:700;color:#23785e;background:#edf7f1;border-radius:5px;padding:6px 8px;white-space:nowrap}.self-assessment-change.declining{color:#ad542d;background:#fff2e9}.self-assessment-chart-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:11px;color:#617084}.self-assessment-chart-head select{background:#fff;border:1px solid #dce3eb;border-radius:4px;padding:4px 5px;color:#617084;font:inherit}.self-assessment-caption,.self-assessment-latest{color:#617084;font-size:11px;line-height:1.6;margin:12px 0 0}.self-assessment-latest{color:#315f98}.self-assessment-link{border-top:1px solid #e9edf2;padding-top:14px;margin-top:16px;display:flex;justify-content:space-between;gap:8px;color:#315f98;font-size:12px;font-weight:700;text-decoration:none}.self-assessment-link:hover{text-decoration:underline}.self-assessment-empty{padding:22px 0 10px;color:#617084;font-size:12px;line-height:1.6}.self-assessment-empty>span{display:block;color:#315f98;font-size:26px;margin-bottom:8px}.self-assessment-empty b{display:block;color:#0f2747}.self-assessment-empty p{margin:6px 0 0}.coding-planning{border:1px solid #dce3eb;border-radius:8px;padding:16px 18px;margin:20px 0;background:#f8fafc}.coding-planning summary{cursor:pointer;font-size:14px;font-weight:700;color:#0f2747}.coding-planning summary span{float:right;font-size:12px;font-weight:400;color:#617084;margin-left:12px}.coding-planning .coding-plans{margin-bottom:0}@media(max-width:600px){.coding-planning summary span{float:none;display:block;margin:8px 0 0 18px}}.coding-top-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:18px;margin:24px 0 18px}.coding-progress-card,.coding-daily-card{border:1px solid #dce3eb;border-radius:10px;padding:18px;background:#fff}.coding-progress-card h2{font-size:28px;line-height:1.15;margin:8px 0 0;color:#0f2747}.coding-progress-card h2 span{font-size:18px;color:#8996a5;font-weight:400}.coding-progress-card p{margin:4px 0 10px;color:#617084;font-size:13px}.coding-progress-card progress{width:100%;height:8px;accent-color:#315f98}.coding-counts{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:10px}.coding-counts b{color:#637185;margin-left:4px}.coding-daily-card{background:#f2f5fa;border-color:#d7e1ee;display:flex;flex-direction:column;align-items:flex-start}.coding-daily-card h2{font-size:20px;color:#0f2747;margin:10px 0 6px}.coding-daily-card p{font-size:14px;color:#617084;margin:0 0 12px}.coding-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 28px}.coding-plan{text-align:left;background:#fff;border:1px solid #dce3eb;border-radius:8px;padding:14px;cursor:pointer;color:#2d3b45}.coding-plan:hover,.coding-plan.selected{border-color:#315f98;background:#f0f5fa}.coding-plan strong{display:block;font-size:15px;color:#0f2747;margin-bottom:4px}.coding-plan span{font-size:12px;line-height:1.4;display:block;color:#617084}.coding-plan small{display:block;margin-top:8px;color:#315f98}.coding-list-panel{background:#fff;border:1px solid #dce3eb;border-radius:10px;padding:22px}.coding-list-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.coding-list-top h2{margin:0;font-size:22px;font-weight:700;color:#0f2747}.coding-filter-row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.coding-filter-row .a-search{flex:1 1 220px;min-width:0;height:39px;margin:0}.coding-library label,.coding-workspace label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#617084}.coding-library select,.coding-workspace select,.coding-list-tools input{border:1px solid #d4dbe3;background:#fff;border-radius:5px;padding:9px 10px;font:13px Lato,Arial,sans-serif;color:#2d3b45;max-width:100%}.coding-topic-chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.coding-list-tools{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding:16px 0;border-top:1px solid #edf0f4}.coding-list-tools form{display:flex;gap:8px;flex:1;flex-wrap:wrap}.coding-list-tools input{flex:1;min-width:140px}.coding-table-scroll{overflow:auto}.coding-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.coding-table th{font-size:12px;font-weight:700;color:#617084;background:#f8fafc;padding:13px 12px;border-block:1px solid #e6ebf1;white-space:nowrap}.coding-table td{padding:14px 12px;border-bottom:1px solid #eef1f5}.coding-table tr:hover{background:#f7f9fc}.coding-table a{display:flex;gap:9px;font-weight:700;text-decoration:none;color:#243f67;min-width:160px}.coding-table a:hover{color:#1f5fae;text-decoration:underline}.coding-number{color:#8996a5;font-weight:400}.difficulty{font-weight:700;font-size:12px;white-space:nowrap}.difficulty.easy{color:#16826a}.difficulty.medium{color:#a16c00}.difficulty.hard{color:#bd4a53}.coding-star{border:0;background:transparent;color:#617084;font-size:17px;cursor:pointer;padding:4px 7px;white-space:nowrap}.coding-star[aria-pressed=true]{color:#ad7900}.coding-status{font-size:18px;color:#a9b3bf}.coding-status.solved{color:#16826a}.coding-status.attempted{color:#a16c00}.coding-pagination{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px;font-size:12px;color:#617084}.coding-pagination label{flex-direction:row;align-items:center;margin-right:auto}.coding-workspace{color:#2d3b45}.coding-workspace-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px}.coding-problem-nav{display:flex;gap:8px;align-items:center;font-size:12px;color:#617084;margin-right:auto}.coding-workspace-note{font-size:12px;color:#637185;margin-bottom:15px;line-height:1.5}.coding-split{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(300px,1.15fr);gap:12px;align-items:start;background:#f0f2f5;border-radius:10px;padding:8px}.coding-description-panel,.coding-editor-panel{border:1px solid #dce3eb;background:#fff;border-radius:8px;min-width:0;overflow:hidden}.coding-panel-tabs{display:flex;overflow:auto;background:#fafbfc;border-bottom:1px solid #dce3eb;padding:0 8px;gap:4px}.coding-panel-tabs button{border:0;background:transparent;white-space:nowrap;color:#617084;font:12px Lato,Arial,sans-serif;padding:14px 8px;cursor:pointer;border-bottom:2px solid transparent}.coding-panel-tabs button[aria-selected=true]{color:#0f2747;border-bottom-color:#315f98;font-weight:700}.coding-description-body{padding:22px;max-height:750px;overflow:auto;font-size:14px;line-height:1.8}.coding-description-body h1{font-size:23px;line-height:1.35;margin:0 0 16px;color:#0f2747}.coding-description-body h2{font-size:18px;margin:20px 0 12px}.coding-description-body h3{font-size:15px;margin:24px 0 10px}.coding-description-body ul{padding-left:20px}.coding-description-body li{margin:8px 0}.coding-description-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 monospace}.coding-problem-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:20px}.coding-problem-meta .a-tag{font-size:11px;text-decoration:none}.coding-hint{border-top:1px solid #e6ebf1;padding:14px 0}.coding-hint summary{cursor:pointer;font-weight:700}.coding-self-progress{border-top:1px solid #e6ebf1;margin-top:24px;padding:18px 0}.coding-self-progress small{display:block;color:#8996a5;font-size:11px;margin-top:8px}.coding-add-list{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.coding-add-list a{font-size:12px;color:#315f98}.coding-discussion{border:1px solid #dce3eb;border-radius:6px;padding:16px;margin:16px 0;background:#f8fafc}.coding-discussion strong{font-size:12px;color:#315f98}.coding-editor-top{display:flex;gap:8px;align-items:center;background:#fafbfc;border-bottom:1px solid #dce3eb;padding:9px 12px;font-size:12px}.coding-editor-top span{color:#8996a5;margin-left:auto;font-size:10px}.coding-editor-top .a-btn{font-size:11px;padding:6px 9px}.coding-editor-tools{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;padding:12px;border-bottom:1px solid #edf0f4}.coding-editor-tools label{margin-right:auto}.coding-editor-tools .a-btn{font-size:11px;padding:8px 9px}.coding-settings{display:flex;gap:10px;flex-wrap:wrap;padding:10px 12px;background:#f6f8fb}.coding-code-container{display:flex;min-height:340px;max-height:520px;overflow:auto}.coding-line-numbers{font:14px/1.8 monospace;text-align:right;padding:18px 10px;color:#a8b3bf;background:#fafbfc;-webkit-user-select:none;user-select:none;min-width:40px}.coding-code-input{min-height:340px;flex:1;min-width:0;border:0;resize:vertical;padding:18px 12px;background:#fff;color:#243447;font:14px/1.8 JetBrains Mono,monospace;outline-offset:-3px;white-space:pre;overflow:auto}.coding-run-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px;background:#fafbfc;border-block:1px solid #dce3eb}.coding-run-row small{margin-right:auto;color:#8996a5;font-size:10px}.coding-run-row .a-btn{padding:8px 12px;font-size:12px}.coding-console-body{padding:16px;font-size:12px;min-height:190px}.coding-console-body pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 monospace}.coding-console-body textarea{width:100%;padding:10px;border:1px solid #dce3eb;border-radius:5px;background:#fff;color:#243447;font:12px/1.7 monospace;resize:vertical;margin-top:8px}.coding-test-buttons{display:flex;gap:8px}.coding-dark .coding-code-input{background:#202a38;color:#e6edf6}.coding-dark .coding-line-numbers{background:#1b2330;color:#8996a5}.coding-engine-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:#4b5563;margin-right:auto;font-weight:500}.coding-engine-dot{width:7px;height:7px;border-radius:50%;background:#10b981;display:inline-block}.coding-engine-dot.running{background:#3b82f6;animation:pulse-dot 1.2s infinite ease-in-out}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.coding-verdict-card{border-radius:8px;border:1px solid #e5e7eb;background:#fff;padding:16px;margin-bottom:16px}.coding-verdict-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.coding-verdict-title{font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}.coding-verdict-title.accepted{color:#059669}.coding-verdict-title.rejected{color:#dc2626}.coding-verdict-title.error{color:#d97706}.coding-verdict-metrics{display:flex;gap:16px;font-size:12px;color:#4b5563}.coding-verdict-metrics span strong{color:#111827}.coding-test-selector{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}.coding-test-pill{border:1px solid #d1d5db;background:#f9fafb;border-radius:6px;padding:5px 10px;font-size:11px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:all .15s ease}.coding-test-pill:hover{background:#f3f4f6;border-color:#9ca3af}.coding-test-pill.selected{background:#1e293b;color:#fff;border-color:#1e293b}.coding-test-pill .pill-badge{font-size:10px;padding:1px 4px;border-radius:3px}.coding-test-pill .pill-badge.pass{background:#d1fae5;color:#065f46}.coding-test-pill.selected .pill-badge.pass{background:#059669;color:#fff}.coding-test-pill .pill-badge.fail{background:#fee2e2;color:#991b1b}.coding-test-pill.selected .pill-badge.fail{background:#dc2626;color:#fff}.coding-io-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.coding-io-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px 12px}.coding-io-box label{display:block;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.coding-io-box pre{margin:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-size:12px;line-height:1.6;color:#0f172a;white-space:pre-wrap;word-break:break-all}.coding-io-box.io-error{background:#fef2f2;border-color:#fecaca}.coding-io-box.io-error pre{color:#991b1b}.coding-empty-result{color:#64748b;font-size:13px;text-align:center;padding:32px 16px}.coding-executing-box{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 16px;gap:12px;color:#374151;font-size:13px}.editor-wide .coding-split{grid-template-columns:1fr}.editor-wide .coding-description-panel{display:none}.editor-wide .coding-code-input{min-height:460px}@media(max-width:800px){.coding-split{grid-template-columns:1fr}.coding-description-body{max-height:none}.coding-top-grid,.coding-plans{grid-template-columns:1fr}.coding-list-panel{padding:16px}.coding-list-top{align-items:flex-start;flex-direction:column}.coding-filter-row label{flex:1 1 130px}.coding-editor-top{flex-wrap:wrap}.coding-editor-top span{margin-left:0}}.demo-instructions{max-width:850px}.demo-quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:24px;align-items:start}.demo-options{border:0;padding:0;margin:16px 0 28px}.demo-options legend{font-size:13px;color:#617084;margin-bottom:12px}.demo-options label{display:flex;align-items:center;gap:14px;border:1px solid #d4dbe3;border-radius:6px;padding:15px;margin:10px 0;cursor:pointer}.demo-options label:has(input:checked){background:#eef3f9;border-color:#315f98}.demo-question-nav{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 24px}.demo-review{border-block-start:1px solid #dce3eb;padding:16px 0}.demo-review summary{cursor:pointer;font-weight:700}.demo-score{font-size:48px;font-weight:900;color:#315f98;margin:0!important}.demo-textarea{width:100%;min-height:170px;padding:14px;border:1px solid #c7cdd1;border-radius:6px;background:#fff;color:#2d3b45;margin:10px 0 18px;resize:vertical}.demo-passage{background:#f5f7fa;border:1px solid #dce3eb;border-radius:6px;padding:20px;line-height:1.8}.demo-link-input{display:block;width:100%;margin:10px 0 20px}.demo-monitor{font-size:13px;padding:12px 16px;background:#fff9e5;border-left:3px solid #ffe066}.demo-code-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.2fr);gap:12px;min-height:560px;background:#eef0f3;padding:10px;border-radius:8px}.demo-problem,.demo-editor{background:#fff;border:1px solid #dde3ea;border-radius:8px;overflow:hidden;min-width:0}.demo-problem{padding:22px}.demo-problem h2{font-size:24px}.demo-example{background:#f8fafc;border-radius:6px;padding:14px;margin:16px 0}.demo-example pre,.demo-reference-result pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.7 JetBrains Mono,monospace}.demo-editor{display:flex;flex-direction:column}.demo-editor .ex-lang{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px}.demo-code{flex:1;width:100%;min-height:350px;resize:vertical;border:0;background:#fff;color:#243447;padding:20px;font:13px/1.8 JetBrains Mono,monospace;tab-size:4}.demo-code-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:12px;border-block-start:1px solid #dde3ea;background:#fafbfc}.demo-reference-result{padding:16px;font-size:13px}@media(max-width:860px){.demo-code-layout,.demo-quiz-layout{grid-template-columns:1fr}.demo-code{min-height:300px}}:root{color-scheme:light}.student-auth{color-scheme:light;color:#2d3b45;font:15px/1.45 Lato,Arial,sans-serif}.student-app{isolation:isolate}.dashboard-wide{grid-template-columns:minmax(0,1fr)}.dashboard-options{display:flex;flex-wrap:wrap;gap:8px;margin:-12px 0 20px}.student-app a.a-nav{color:#fff}.student-app a.a-nav.on{color:#0f2747}.a-logo{text-decoration:none}.a-card{position:relative}.course-card-link{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}.course-card-menu{position:absolute;right:12px;top:47px;z-index:2;background:#fff;border:1px solid #d7dde2;border-radius:5px;padding:8px;box-shadow:0 4px 14px #0f274724}.course-card-menu a{display:block;padding:7px 10px;font-size:13px}.a-card .a-cicons{pointer-events:none}.hub-shortcuts a{border:1px solid #d4dbe3;background:#f5f7fa;border-radius:5px;display:flex;align-items:center;gap:10px;padding:14px;text-align:left;font-size:13px;color:#2d3b45;text-decoration:none}.hub-shortcuts a:hover{border-color:#0f2747;background:#eef3f9}.hub-shortcuts a>span:first-child{color:#24497d;font-size:23px}.hub-shortcuts a>span:last-child{margin-left:auto;color:#617084}.a-row{text-decoration:none}.student-app .a-btn.pri{color:#fff}.a-crumbs a{color:#1f5fae;text-decoration:underline}.ranking-search{width:100%;min-width:0;margin:0 0 12px;font-size:12px}.rankings-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.rankings-title-row h2{min-width:0}.rankings-visibility-toggle{display:grid;place-items:center;width:34px;height:34px;padding:6px;flex-shrink:0;border:1px solid #dce3eb;border-radius:6px;background:#fff;color:#617084;cursor:pointer}.rankings-visibility-toggle:hover{color:#24497d;background:#eef3fa;border-color:#b6c7dd}.rankings-visibility-toggle:focus-visible{outline:2px solid #315f98;outline-offset:3px}.rankings-visibility-toggle svg{width:20px;height:20px}.ranking-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:14px;font-size:12px}.ranking-pagination .a-btn{padding:5px 8px;font-size:12px}.student-error{color:#b4441f;font-size:14px}button:disabled{opacity:.55;cursor:not-allowed}.student-skip{position:fixed;top:-60px;left:100px;z-index:50;background:#fff;padding:12px}.student-skip:focus{top:12px}.account-email{color:#6b7780;font-size:13px;text-align:center;overflow-wrap:anywhere}.account-logout{width:100%;justify-content:center}.otto-mini{display:block;width:34px;height:34px;flex:none}.otto-mini svg{width:100%;height:100%}.otto-guidance{padding:20px 18px 10px;font-size:14px}.otto-guidance p{margin:0 0 10px}.otto-shortcuts{display:flex;flex-direction:column;gap:8px;padding:0 18px 18px;overflow:auto}.otto-shortcuts .a-btn{justify-content:space-between}.rail-collapsed .a-rail{width:54px}.rail-collapsed .a-tray{left:54px}.rail-collapsed .a-logo svg{width:42px}.rail-collapsed .rail-label{display:none}.rail-collapsed .a-nav{min-height:49px}.lesson-copy{white-space:pre-wrap;line-height:1.8}.lesson-completion{margin-top:24px}.lesson-completion .a-btn{gap:8px}.lesson-completion svg{width:18px;height:18px}.lesson-page{max-width:1120px;margin-inline:auto}.lesson-activity{max-width:960px;padding:30px;border:1px solid #dce5ef;border-radius:12px;background:#fff}.lesson-activity>h1{color:#112b4c;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.lesson-activity>.a-meta{margin:10px 0 28px;padding-bottom:24px;border-bottom:1px solid #e5ebf2}.lesson-kind{display:inline-flex;align-items:center;gap:7px;margin-bottom:14px;padding:6px 10px;border-radius:6px;background:#edf3fb;color:#315b91;font-size:12px;font-weight:700}.lesson-kind svg,.lesson-file-list>li>svg{width:18px;height:18px;flex:none}.lesson-body{overflow-wrap:anywhere;margin-bottom:28px}.lesson-video-section{margin-bottom:28px}.lesson-video-player{aspect-ratio:16 / 9;overflow:hidden;background:#102137;border-radius:9px}.lesson-video-player video,.lesson-video-player iframe{display:block;width:100%;height:100%;border:0}.lesson-video-link{display:inline-block;margin-top:12px;color:#315b91;font-size:13px}.lesson-notice{padding:16px;color:#586b80;background:#f2f6fc;border:1px solid #dce5f0;border-radius:8px}.lesson-section-heading{margin-bottom:20px}.lesson-section-heading h2{margin:0 0 6px;font-size:21px;color:#112b4c}.lesson-section-heading p{margin:0;color:#62758a;font-size:14px}.lesson-fields{display:grid;gap:24px;border:0;margin:0;padding:0;min-width:0}.lesson-field{display:grid;gap:8px;min-width:0}.lesson-field>span{color:#243c57;font-size:14px;font-weight:700}.lesson-field>small{color:#6c7b8f;font-size:12px}.lesson-field input:not([type=file]),.lesson-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbd8e7;border-radius:7px;background:#fff;color:#253b54;padding:12px 14px;font:inherit;font-size:14px;line-height:1.6}.lesson-field textarea{min-height:180px;resize:vertical}.lesson-field input:focus-visible,.lesson-field textarea:focus-visible,.lesson-file-picker:focus-within{outline:2px solid #4774ac;outline-offset:3px}.lesson-upload-area{display:flex;align-items:center;gap:14px;padding:18px;border:1px dashed #b6c8df;border-radius:8px;background:#f6f9fd}.lesson-upload-area>svg{width:30px;height:30px;flex:none;color:#5678a1}.lesson-upload-area>div{flex:1;min-width:0;font-size:14px}.lesson-upload-area p{font-size:12px;color:#6c7b8f;line-height:1.6;margin:5px 0 0}.lesson-file-picker{position:relative;overflow:hidden;cursor:pointer;white-space:nowrap}.lesson-file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.lesson-file-picker.disabled,.lesson-fields:disabled .lesson-file-picker{opacity:.55;cursor:not-allowed}.lesson-file-list{display:grid;gap:8px;margin:8px 0 0;padding:0;list-style:none}.lesson-file-list>li{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e0e7ef;border-radius:7px;color:#47617f}.lesson-file-list>li>span:first-of-type{min-width:0;flex:1}.lesson-file-list b{display:block;overflow-wrap:anywhere;font-size:13px}.lesson-file-list small{display:block;font-size:11px;color:#6c7b8f;margin-top:3px}.lesson-link-button{background:none;border:0;padding:4px;color:#315b91;cursor:pointer;font:inherit;font-size:12px;text-decoration:underline;text-underline-offset:3px}.lesson-link-button:disabled{opacity:.6;cursor:wait}.lesson-file-download{font-size:12px;overflow-wrap:anywhere}.lesson-upload-progress{display:grid;gap:10px;margin-top:16px;color:#315b91;font-size:13px;overflow-wrap:anywhere}.lesson-upload-progress progress{width:100%;accent-color:#315b91}.lesson-submit-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding-top:24px;margin-top:24px;border-top:1px solid #e5ebf2}.lesson-submit-actions>span{color:#6c7b8f;font-size:12px}.lesson-submitted{display:flex;gap:12px;align-items:flex-start;border:1px solid #c8e2d4;border-radius:8px;background:#f0f9f4;color:#286247;padding:18px;margin-bottom:24px}.lesson-submitted>svg{width:22px;height:22px;flex:none}.lesson-submitted span{display:block;margin-top:5px;font-size:12px;line-height:1.6}.lesson-question{border:0;border-top:1px solid #e1e8f0;min-width:0;margin:30px 0 0;padding:18px 0 0}.lesson-question legend{display:block;width:100%;box-sizing:border-box;padding:0 0 12px;font-size:16px;font-weight:700;line-height:1.6;color:#173655;white-space:pre-wrap;overflow-wrap:anywhere}.lesson-question legend>span{display:block;color:#6c7b8f;font-size:12px;margin-bottom:6px;font-weight:400}.lesson-options{display:grid;gap:10px}.lesson-option{display:flex;align-items:flex-start;gap:12px;border:1px solid #d8e2ef;border-radius:8px;padding:14px 16px;color:#324b64;background:#fff;cursor:pointer;font-size:14px;line-height:1.6;transition:background-color .15s,border-color .15s}.lesson-option:hover{background:#f7faff;border-color:#aac2e1}.lesson-option.selected{background:#eff5ff;border-color:#628bc0}.lesson-option:focus-within{outline:2px solid #4774ac;outline-offset:2px}.lesson-option input{flex:none;margin:4px 0 0;accent-color:#315b91;width:16px;height:16px}.lesson-option span{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.lesson-result-summary{display:flex;gap:22px;align-items:center;padding:24px;border:1px solid #d6e3f3;border-radius:10px;color:#315b91;background:#f0f5fd}.lesson-result-summary.passed{background:#f0f9f4;border-color:#c8e2d4;color:#286247}.lesson-result-score{font-size:40px;font-weight:700;letter-spacing:-1px;white-space:nowrap}.lesson-result-score span{font-size:18px}.lesson-result-summary h2{margin:0 0 6px;font-size:21px}.lesson-result-summary p{font-size:14px;margin:0 0 8px;line-height:1.6}.lesson-result-summary small{font-size:11px}.lesson-quiz-feedback{display:grid;gap:18px;margin:24px 0;padding:0;list-style:none}.lesson-quiz-feedback>li{border:1px solid #dfe7f0;border-radius:8px;padding:20px;color:#4b6078;overflow-wrap:anywhere}.lesson-question-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;color:#697c93}.lesson-answer-status{background:#fff0e9;color:#a64825;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:700}.lesson-answer-status.correct{background:#eaf7ef;color:#286247}.lesson-quiz-feedback p{line-height:1.7;font-size:14px;white-space:pre-wrap}.lesson-quiz-feedback .lesson-question-prompt{color:#173655;font-size:16px;font-weight:700}.lesson-answer-explanation{padding:12px 14px;border-left:3px solid #98b3d5;background:#f4f7fc}.lesson-page .a-seq{max-width:960px!important;align-items:flex-start}.lesson-page .a-seq>a{white-space:normal;overflow-wrap:anywhere}@media(max-width:640px){.lesson-page{padding:18px 14px 70px}.lesson-activity{padding:20px 16px}.lesson-activity>h1{font-size:25px}.lesson-upload-area,.lesson-result-summary{flex-wrap:wrap;padding:16px}.lesson-file-list>li{flex-wrap:wrap}.lesson-file-list>li>span:first-of-type{flex-basis:calc(100% - 30px)}.lesson-page .a-seq{flex-wrap:wrap}.lesson-page .a-seq>a{max-width:100%}.lesson-result-score{font-size:34px}.lesson-quiz-feedback>li{padding:16px}}.help-section{max-width:800px;margin:26px 0}.help-section h2{font-size:20px}.help-section p{color:#59697a}.student-auth .lg-form label{display:block;font-size:14px;font-weight:700;margin:18px 0 8px}.student-auth .lg-form input{background:#fff;color:#2d3b45;width:100%;border:1px solid #c7cdd1;border-radius:6px;padding:12px;font-size:16px}.student-auth .lg-form .lg-btn{width:100%;margin-top:10px}.student-auth .lg-form .student-code{font-size:24px;letter-spacing:.3em}.student-auth .auth-link{border:0;background:none;color:#1f5fae;text-decoration:underline;align-self:flex-start;padding:0;font-size:14px}.student-auth .auth-message{padding:12px 16px;border-left:3px solid #ffe066;background:#f5f7fa;color:#4b5b73;font-size:13px}.student-auth .auth-help{color:#6b7780;font-size:13px;margin:8px 0 0}.student-registration{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.student-registration .lg-form{padding:36px clamp(24px,4vw,64px)}.registration-fields{border:0;padding:0;margin:0 0 20px;min-width:0}.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.registration-field{min-width:0}.registration-college{grid-column:1 / -1}.student-registration .lg-form select{width:100%;min-width:0;border:1px solid #c7cdd1;border-radius:6px;padding:12px;background:#fff;color:#2d3b45;font:inherit;font-size:16px}.registration-hint{margin:6px 0 0;color:#59697a;font-size:12px;line-height:1.5}.registration-error{margin:6px 0 0;color:#aa341d;font-size:13px;line-height:1.5}.student-registration .lg-form [aria-invalid=true]{border-color:#aa341d}.student-registration :is(input,select,button,a):focus-visible,.registration-success:focus-visible{outline:3px solid #1f5fae;outline-offset:3px}.student-registration :is(button,select):disabled{opacity:.6;cursor:not-allowed}.registration-success{padding:20px;background:#f5f7fa;border:1px solid #dde4ed;border-radius:8px;color:#4b5b73;line-height:1.6;overflow-wrap:anywhere}.registration-success p:last-child{margin-bottom:0}.registration-pending{display:inline-block;border-radius:20px;background:#fff1bd;color:#664b00;padding:4px 12px;font-size:13px;font-weight:700}@media(max-width:900px){.student-registration{grid-template-columns:1fr}.student-registration .lg-art{display:none}}@media(max-width:640px){.registration-grid{grid-template-columns:1fr}}.resume-save-note{font-size:13px;color:#617084}.resume-save-actions{margin-top:20px}.connection-screen,.loading-screen{min-height:100dvh;background:#fff;padding:40px}.connection-screen .logo-mark{display:none}.connection-screen .btn{padding:8px 14px;border:1px solid #c7cdd1;background:#f5f5f5;border-radius:4px}.connection-screen .form-error{color:#b4441f}@media(max-width:640px){.student-auth .lg-form{padding:32px 24px}.resume-save-note{width:100%}}@media print{.student-skip,.resume-save-actions,.student-error,.connection-screen{display:none!important}}.compiler-fullscreen-container{width:100%;height:100%;min-height:100dvh;position:relative;background:#0d1117;overflow:hidden;display:flex;flex-direction:column}.compiler-fullscreen-frame{width:100%;height:100%;min-height:100dvh;border:none;display:block;flex:1 1 auto}.compiler-loading-screen{position:absolute;inset:0;background:#090d14;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#8b949e;font-size:13px;font-family:inherit;z-index:10}.compiler-spinner{width:28px;height:28px;border:2px solid rgba(56,189,248,.18);border-top-color:#38bdf8;border-radius:50%;animation:compiler-spin .7s linear infinite}@keyframes compiler-spin{to{transform:rotate(360deg)}}.lesson-rich-content{color:#253a53;font-size:16px;line-height:1.8;overflow-wrap:anywhere}.lesson-rich-content.lesson-plain{white-space:pre-wrap}.lesson-rich-content>:first-child{margin-top:0}.lesson-rich-content>:last-child{margin-bottom:0}.lesson-rich-content h1,.lesson-rich-content h2,.lesson-rich-content h3,.lesson-rich-content h4,.lesson-rich-content h5,.lesson-rich-content h6{color:#142d4c;line-height:1.3;margin:1.4em 0 .55em;font-weight:700}.lesson-rich-content h1{font-size:2em}.lesson-rich-content h2{font-size:1.6em}.lesson-rich-content h3{font-size:1.3em}.lesson-rich-content h4{font-size:1.15em}.lesson-rich-content h5{font-size:1.05em}.lesson-rich-content h6{font-size:1em}.lesson-rich-content p{margin:.8em 0}.lesson-rich-content ul,.lesson-rich-content ol{padding-left:1.6em;margin:.8em 0}.lesson-rich-content li{margin:.35em 0}.lesson-rich-content li>p{margin:0}.lesson-rich-content blockquote{margin:1.2em 0;padding:.5em 1.2em;border-left:3px solid #557faf;background:#eef4fb;border-radius:0 8px 8px 0}.lesson-rich-content a{color:#265e9a;text-decoration:underline;text-underline-offset:3px}.lesson-rich-content code{font:.9em ui-monospace,SFMono-Regular,Consolas,monospace;background:#edf2f7;padding:.16em .35em;border-radius:4px}.lesson-rich-content pre{padding:18px;margin:1.2em 0;border-radius:10px;overflow-x:auto;background:#162b43;color:#eaf2ff;white-space:pre}.lesson-rich-content pre code{background:transparent;color:inherit;padding:0}.lesson-rich-content hr{border:0;border-top:1px solid #dce5ef;margin:1.8em 0}.lesson-rich-content img{display:block;max-width:100%;height:auto;border-radius:8px;margin:1.2em 0}.lesson-rich-content .lesson-table-scroll{overflow-x:auto}.lesson-rich-content table{width:100%;border-collapse:collapse;margin:1em 0}.lesson-rich-content th,.lesson-rich-content td{border:1px solid #d7e1ec;padding:9px 12px;min-width:80px;vertical-align:top;text-align:left}.lesson-rich-content th{background:#edf3fa;font-weight:700}.lesson-rich-content ul.contains-task-list,.lesson-rich-content ul[data-type=taskList]{list-style:none;padding-left:0}.lesson-rich-content .task-list-item>input{margin-right:8px;accent-color:#2d629c}.lesson-rich-content li[data-type=taskItem]{display:flex;gap:9px}.lesson-rich-content li[data-type=taskItem]>label{flex:0 0 auto;margin-top:3px}.lesson-rich-content li[data-type=taskItem]>div{flex:1}
