@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff")}:root{--nav:#101a31;--nav2:#192741;--blue:#4e5bff;--blue2:#6478ff;--bg:#f4f6fb;--ink:#17233c;--muted:#7a859c;--line:#e7eaf2;--green:#18a774;--orange:#e5a13a;--red:#eb6570;--radius:16px;--shadow:0 7px 30px rgba(28,45,85,.045)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);font-size:14px}.app{display:flex;min-height:900px}.sidebar{width:232px;background:linear-gradient(180deg,#101a31,#152039);color:#eef1ff;flex-shrink:0;padding:24px 14px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;margin:3px 12px 29px}.brand .orb{display:grid;place-items:center;width:38px;height:38px;color:#c8ceff;font-size:30px}.brand .name{font-size:24px;font-weight:850;letter-spacing:.3px}.brand .name span{color:#8c89ff}.brand small{font-size:10px;display:block;color:#9aa7c6;letter-spacing:.3px;margin-top:2px}.navtag{color:#7787a6;letter-spacing:1.6px;text-transform:uppercase;font-size:10px;font-weight:800;margin:18px 15px 10px}.nav{padding:11px 13px;border-radius:10px;margin-bottom:4px;display:flex;gap:12px;align-items:center;font-weight:650;font-size:13px;color:#adb8d1}.nav svg{width:17px;height:17px;stroke-width:2}.nav.active{background:#303e91;color:#fff;box-shadow:inset 3px 0 #8f95ff}.nav .number{margin-left:auto;background:#4b56a8;border-radius:6px;padding:2px 5px;font-size:10px}.sidebar-spacer{flex:1}.teacher{display:flex;align-items:center;gap:10px;border:1px solid #34415b;background:#1b2944;border-radius:12px;padding:11px;margin:12px 0 0}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#dfdafa;color:#5148a7;font-weight:800;font-size:11px}.teacher b{font-size:11px}.teacher small{display:block;color:#899bbd;font-size:10px;margin-top:3px}.main{flex:1;min-width:0}.top{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 34px;display:flex;justify-content:space-between;align-items:center}.top .trail{color:#8894ac;font-size:12px}.top .trail b{color:#212f4d}.top-right{display:flex;align-items:center;gap:16px}.search{height:38px;width:252px;background:#f5f7fb;border-radius:10px;display:flex;align-items:center;gap:10px;padding:0 14px;color:#9ba5b8;font-size:12px}.circle-button{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;color:#58647e;position:relative}.dot{position:absolute;right:9px;top:8px;width:6px;height:6px;background:var(--red);border-radius:50%}.canvas{padding:28px 32px 35px;max-width:1600px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eyebrow{color:var(--blue);font-size:11px;letter-spacing:1.7px;font-weight:850;text-transform:uppercase;margin-bottom:9px}.heading h1{font-size:29px;letter-spacing:-1px;margin:0 0 8px}.desc{color:var(--muted);font-size:12px}.head-actions{display:flex;gap:9px}.button{padding:12px 17px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:750;color:#4f5a74;font-size:12px}.button.primary{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 7px 14px #525cff2e}.button.dark{background:#222c4a;border-color:#222c4a;color:#fff}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);height:100px;display:flex;align-items:center;justify-content:space-between;padding:22px}.metric label{display:block;color:#78849d;font-size:12px;margin-bottom:11px}.metric strong{font-size:27px;letter-spacing:-.9px}.metric small{font-size:11px;color:#9ca5b8;margin-left:7px}.metric .icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-size:21px;background:#f0f0ff;color:var(--blue)}.metric:nth-child(2) .icon{background:#edfaf4;color:var(--green)}.metric:nth-child(3) .icon{background:#fff6e7;color:#db9c37}.metric:nth-child(4) .icon{background:#eaf5ff;color:#2580cc}.primary-grid{display:grid;grid-template-columns:280px 1.05fr 1.25fr;gap:16px;margin-bottom:17px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.cardhead{padding:19px 21px 15px;border-bottom:1px solid #eef0f5;display:flex;align-items:center;justify-content:space-between}.cardhead strong{font-size:14px;letter-spacing:-.2px}.mini{font-size:11px;color:#929cb0}.qr-body{padding:19px 19px 17px;text-align:center}.qr{width:148px;height:148px;border:10px solid white;display:inline-block;background:#fff;box-shadow:0 0 0 1px #e8ebf2;margin:0 auto 12px;border-radius:8px}.qrcanvas{width:100%;height:100%}.code-caption{font-size:10px;font-weight:750;color:#929cb0;letter-spacing:1.3px}.code{font-size:33px;font-weight:850;letter-spacing:3.3px;margin:4px 0 8px;color:#182642}.code-desc{font-size:11px;color:#8590a6;margin:0 0 15px}.qr-body .button{display:block;width:100%;text-align:center;background:#eef0ff;color:#4750ca;border-color:#eef0ff;padding:12px}.list-body{padding:5px 14px 14px}.student{display:flex;align-items:center;gap:10px;padding:13px 3px;border-bottom:1px solid #eff1f6}.student:last-child{border-bottom:none}.student .avatar{width:34px;height:34px}.stu-name{font-size:12px;font-weight:750;white-space:nowrap}.stu-phone{font-size:10px;color:#8995ad;margin-top:3px}.student .grow{flex:1}.status{font-size:10px;font-weight:750;color:#c78526;background:#fff4e3;padding:6px 9px;border-radius:7px}.status.active{color:#15855b;background:#e9f8ef}.status.off{color:#8e99b0;background:#eef1f5}.approve{font-size:10px;font-weight:800;color:#fff;border:0;border-radius:8px;background:var(--green);padding:8px 10px}.room-body{padding:14px 18px 18px}.room-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#8793aa;font-size:11px}.board{border:1px dashed #bbc6de;background:#f7f9fc;border-radius:6px;font-size:9px;font-weight:800;color:#8190ac;text-align:center;padding:6px;width:58%;margin:0 auto 12px}.seats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.seat{height:39px;display:grid;place-items:center;border-radius:9px;background:#eaf9f0;color:#299564;border:1px solid #c9f0d9;font-weight:850;font-size:11px}.seat.alert{background:#fff2df;color:#cb8526;border-color:#fce0b7}.seat.off{background:#f1f3f7;color:#9ca5b6;border-color:#e9ebef}.seat.red{background:#fdecee;color:#ce4d5c;border-color:#fad1d4}.legend{display:flex;gap:13px;flex-wrap:wrap;color:#8590a5;font-size:10px;margin-top:17px}.marker{width:7px;height:7px;border-radius:50%;background:var(--green);display:inline-block;margin-right:4px}.marker.amber{background:var(--orange)}.marker.grey{background:#adb5c7}.bottom-grid{display:grid;grid-template-columns:1.34fr .95fr;gap:16px}.bottom-left{min-width:0}.table-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 14px}.table-head h3{font-size:14px;margin:0}.tab{font-size:11px;padding:8px 11px;border-radius:8px;color:#8792a9}.tab.sel{background:#eef0ff;color:#4a50ce;font-weight:750}table{border-collapse:collapse;width:100%;font-size:11px}thead{background:#f7f8fc;color:#9aa3b6;text-transform:uppercase;letter-spacing:.65px;font-size:9px}td,th{padding:13px 19px;text-align:left;border-bottom:1px solid #f0f1f5}td b{font-size:11px}.score{border-radius:8px;background:#eaf8f0;color:#168759;font-weight:800;padding:6px 9px}.score.warn{background:#fff3e5;color:#c88824}.link{color:#4c56d2;font-weight:850}.activity{padding:18px 20px}.activity h3{margin:0 0 9px;font-size:14px}.activity .sub{font-size:10px;color:#8994a9;margin-bottom:20px}.graph{height:102px;display:flex;align-items:flex-end;gap:11px;border-bottom:1px solid #dfe4ec;padding:0 9px}.bar{flex:1;background:linear-gradient(0deg,#aebcff,#5f6bf9);border-radius:5px 5px 0 0}.axis{display:flex;justify-content:space-between;color:#9ba7b8;font-size:9px;padding:8px 8px 0}.activity-foot{margin-top:17px;display:flex;gap:11px}.stat{flex:1;background:#f5f7fd;border-radius:10px;padding:11px}.stat label{display:block;font-size:10px;color:#929bb1;margin-bottom:7px}.stat b{font-size:16px}.footnote{margin-top:16px;font-size:10px;color:#a2a9b8}.badge-live{background:#e7f7ed;color:#16845c;border-radius:6px;padding:6px 8px;font-size:10px;font-weight:800}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8b92ff;outline-offset:3px}a{color:#4e5bff}.nav{border:0;background:none;width:100%;text-align:left;font-family:inherit}.nav svg{flex-shrink:0}.icon-button{border:0;background:transparent;color:inherit;margin-left:auto}.text-button{border:0;background:none;cursor:pointer;font-family:inherit}.search input{border:0;padding:0;margin:0;width:100%;background:transparent;outline:0;font-size:12px}.circle-button{background:#fff}.button{display:inline-flex;justify-content:center;align-items:center;gap:5px;text-decoration:none}.badge-live{display:inline-block;margin-left:8px;letter-spacing:0}.qr img{object-fit:contain}.primary-grid>.card{min-height:360px}.stu-name{overflow:hidden;text-overflow:ellipsis;max-width:175px}.grow{min-width:0}.seat{padding:0}.table-scroll{overflow:auto}.empty{padding:35px 10px;color:#7a859c;text-align:center;line-height:1.7}.notice{padding:14px 18px;background:#fff4df;border:1px solid #f5dcab;border-radius:10px;margin:0 0 18px;line-height:1.6;overflow-wrap:anywhere}.notice.error{background:#fff0f1;color:#943c46;border-color:#f2cbd0}.notice>button[aria-label]{float:right;border:0;background:none;font-size:20px}.panel-body{padding:22px;line-height:1.65}.panel-body h3{margin-top:4px}.library{margin-top:32px}.catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.export-row{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal-backdrop{position:fixed;inset:0;background:#101a3180;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;box-shadow:0 20px 80px #101a3155;border-radius:18px;width:min(850px,100%);max-height:92dvh;overflow:auto;padding:30px;position:relative}.modal h2{margin:0 36px 22px 0}.modal-close{position:absolute;top:14px;right:15px;border:0;border-radius:8px;background:#f4f6fb;font-size:24px;color:#66738b;width:32px;height:32px;z-index:2}form label,.modal label{display:block;color:#58647b;font-size:12px;font-weight:700;margin:15px 0}input:not([type=checkbox]):not([type=radio]),textarea,select{border:1px solid #dfe4ef;border-radius:9px;padding:12px;color:#17233c;background:#fff;max-width:100%}form label>input:not([type=checkbox]):not([type=radio]),label>textarea,label>select{display:block;width:100%;margin-top:7px}textarea{resize:vertical;line-height:1.6}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.check{display:flex!important;gap:9px;align-items:center}.check input{width:17px;height:17px;accent-color:#4e5bff}.question-picker{max-height:240px;overflow:auto;border:1px solid #e7eaf2;border-radius:10px;margin:20px 0;padding:10px 14px}.login{min-height:100dvh;display:grid;place-items:center;background:#f4f6fb;padding:25px}.login form{width:min(440px,100%);padding:35px}.login h1{font-size:26px}.login p{color:#7a859c;line-height:1.6}.login a{display:block;font-size:12px;margin-top:18px}.login .button{width:100%;margin-top:10px}.projector{text-align:center}.projector img{display:block;margin:0 auto;width:min(500px,80%)}.projector .code{font-size:50px}.review-question{padding:18px 0;border-bottom:1px solid #e7eaf2}.review-question input{max-width:120px!important}.review-question h3{font-size:14px}.file-button input{display:none}.pill{background:#edf0ff;color:#4b53bd;font-size:10px;font-weight:800;padding:7px 10px;border-radius:7px;display:inline-block}details{padding:12px 0}summary{cursor:pointer;color:#4b53bd;font-weight:700}@media(max-width:1250px){.sidebar{width:210px}.canvas{padding:24px}.heading{gap:16px;align-items:flex-start;flex-wrap:wrap}.heading h1{font-size:25px}.metrics{grid-template-columns:repeat(2,1fr)}.primary-grid{grid-template-columns:280px 1fr}.primary-grid>.card:last-child{grid-column:1/-1}.bottom-grid{grid-template-columns:1fr}.top{padding:0 24px}.stu-name{max-width:190px}}@media(max-width:760px){.sidebar{width:72px;padding:24px 8px}.brand{margin:0 0 20px;justify-content:center}.brand .orb{display:none}.brand .name{font-size:13px}.brand small,.navtag,.teacher,.nav .number{display:none}.nav{font-size:0;justify-content:center;padding:12px}.nav svg{width:21px;height:21px}.search{width:140px}.top .trail{display:none}.top{justify-content:flex-end;padding:0 16px}.canvas{padding:20px 14px}.primary-grid,.catalog{grid-template-columns:1fr}.primary-grid>.card:last-child{grid-column:auto}.metrics{gap:9px}.metric{padding:14px;height:90px}.metric .icon{display:none}.metric small{display:block;margin:3px 0}.metric strong,.heading h1{font-size:24px}.head-actions{flex-wrap:wrap}.heading .button{padding:10px}.form-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.modal{padding:24px 18px}.stu-name{max-width:150px}.table-head{flex-wrap:wrap;gap:15px}.top-right{gap:9px}}.top .search input:not([type]){border:0;padding:0;margin:0;background:transparent;box-shadow:none}.cardhead .text-button{padding:0}.heading{margin-bottom:20px}.brand small{max-width:130px}.primary-grid .cardhead{min-height:52px}.button{line-height:normal}.heading{margin-bottom:24px}#participants{scroll-margin-top:20px}.submission-feedback{margin:18px 0;padding:16px;background:#f5f7fd;border-radius:10px;line-height:1.65;overflow-wrap:anywhere}.submission-feedback .feedback-count{margin-top:0;color:var(--ink);font-size:16px}.feedback-count b{color:#424ed1;white-space:nowrap}.submission-feedback h3{font-size:14px}.feedback-questions{padding-left:24px}.feedback-questions li{padding:10px 0;border-top:1px solid #e1e6f0}.feedback-questions p{margin:4px 0}.feedback-questions strong{font-size:13px}.waiting-room{display:flex;flex-direction:column}.queue-hint{padding:0 18px;color:var(--muted);font-size:11px;line-height:1.6}.waiting-list{max-height:300px;overflow-y:auto;scrollbar-gutter:stable}.waiting-list .student{flex-wrap:wrap}.waiting-list .stu-name{white-space:normal;overflow-wrap:anywhere}.waiting-list .grow{flex:1 1 95px}.waiting-list .approve{font-size:11px}.session-management{grid-template-columns:minmax(0,1fr)}.participant-tools{display:flex;align-items:end;flex-wrap:wrap;gap:16px;padding:18px 22px;background:#fafbfe}.participant-tools label{display:block;font-size:12px;color:#58647b;font-weight:700;flex:1 1 220px}.participant-tools input,.participant-tools select{display:block;width:100%;margin-top:7px}.participant-tools p{color:var(--muted);font-size:11px;line-height:1.8;margin:0}.participants{scroll-margin-top:20px}.participants-table{font-size:12px}.participants-table td:first-child{min-width:150px;max-width:250px;overflow-wrap:anywhere}.participants-table td{vertical-align:middle}.participants-table .mini{margin-top:5px}.participants-table select{padding:8px;min-width:130px}.participants-table .button{padding:8px 10px}.participants-table .status{white-space:nowrap}.seat{height:58px;min-width:0;padding:5px}.seat small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:500}.room-info{gap:10px;flex-wrap:wrap}.site-credits{display:flex;justify-content:center;align-items:center;gap:8px 16px;flex-wrap:wrap;color:#7a859c;font-size:10px;line-height:1.6;text-align:center;margin-top:26px;padding:16px 0 0;border-top:1px solid #e7eaf2}.site-credits a{color:#5865c7;text-decoration:none}.site-credits a:hover{text-decoration:underline}.login .site-credits a{font-size:10px;margin-top:0}.pupil .site-credits{margin-top:20px;gap:5px 12px;font-size:10px}.brand .brand-site{display:inline-block;margin-top:4px;color:#c0bfff;font-size:11px;text-decoration:underline;text-underline-offset:2px}.brand .brand-site:hover{color:#fff}.modal{overscroll-behavior:contain}.heading h1,.card h3,.compact-question-title{overflow-wrap:anywhere}@media(max-width:760px){.app .sidebar.is-open .nav{justify-content:flex-start}}.mobile-menu-toggle,.mobile-nav-backdrop{display:none}.review-fields{border:0;padding:0;margin:0;min-width:0}.review-explanation{line-height:1.7;color:#58647b}.review-filters{display:flex;gap:8px;margin:16px 0}.compact-question{border:1px solid var(--line);padding:0;border-radius:12px;margin:10px 0;overflow:hidden}.compact-question>summary{display:flex;align-items:center;gap:12px;padding:15px;color:var(--ink);font-size:13px;line-height:1.5;list-style:none}.compact-question>summary:after{content:"⌄";color:#65728a}.compact-question[open]>summary{border-bottom:1px solid var(--line);background:#f8f9fe}.compact-question .question-number{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;background:#edf0ff;border-radius:8px;color:#4e5bff}.compact-question-title{flex:1;min-width:0}.question-result{white-space:nowrap;font-size:12px;color:#3e49c7}.needs-score{border-color:#e5c792}.needs-score .question-result{color:#996616}.compact-question-body{padding:16px;line-height:1.7}.compact-answer{display:flex;gap:20px;align-items:baseline;padding:10px 12px;background:#f6f8fc;border-radius:8px;margin:8px 0}.compact-answer>span{font-size:11px;color:#65728a;flex:0 0 130px}.compact-answer strong{font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.compact-answer.answer-key{background:#eff9f4}.quick-points{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.quick-points label{display:flex;align-items:center;gap:12px;margin:12px 0}.quick-points label input{width:85px!important;margin:0!important}.compact-review .grade-summary{position:sticky;top:-30px;z-index:2;background:#eff2ff;padding:18px}.compact-review .grade-summary strong{font-size:36px}.compact-review .review-footer{bottom:-30px;padding:14px 0}.compact-review .review-note textarea{min-height:65px}.solution-details{padding:6px 0}@media(max-width:760px){.app .sidebar{display:none}.app .sidebar.is-open{display:flex;position:fixed;inset:0 auto 0 0;width:min(320px,85vw);height:100dvh;z-index:32;flex-direction:column;padding:65px 18px 18px;overflow-y:auto;gap:6px}.app .sidebar.is-open .nav{font-size:14px;flex-direction:row;max-width:none;width:100%;min-height:44px;gap:12px;text-align:left;padding:12px}.app .sidebar.is-open>div{width:100%}.app .sidebar.is-open .teacher{display:flex}.app .sidebar.is-open .sidebar-spacer{display:block;flex:1}.mobile-menu-toggle{display:grid;place-items:center;position:fixed;top:12px;left:12px;width:40px;height:40px;z-index:35;border:1px solid #dce1ee;background:#fff;color:#263853;border-radius:10px}.mobile-nav-backdrop{display:block;position:fixed;inset:0;background:#101a3190;z-index:30;border:0}.app .top{padding-left:65px;gap:10px;justify-content:space-between}.app .top .trail{font-size:11px}.app .top-right .search{display:none}.compact-question>summary{padding:12px;gap:8px;flex-wrap:wrap}.compact-question-title{flex-basis:60%}.question-result{margin-left:36px}.compact-answer{flex-direction:column;gap:4px}.compact-answer>span{flex:0}.compact-review .grade-summary{top:-24px}.compact-review .review-footer{bottom:-24px}.compact-question-body{padding:12px}.results-table{min-width:0!important}.results-table thead{display:none}.results-table tbody,.results-table tr,.results-table td{display:block}.results-table tr{padding:14px;border-bottom:1px solid var(--line)}.results-table td{padding:6px 0;border:0}.results-table td:nth-child(2):before{content:"Punkty: ";color:#65728a}.results-table td:nth-child(3){display:flex;align-items:center;gap:12px}.results-table td:nth-child(3):before{content:"Ocena: ";color:#65728a}.results-table td:first-child b{font-size:15px}.results-table td:last-child .button{width:100%}.results-table small{margin:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.threshold-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 15px}.threshold-grid label{position:relative}.threshold-grid input{width:100%}.threshold-grid label>span{position:absolute;right:13px;bottom:13px;color:#65728a}.correct-picker{border:1px solid var(--line);border-radius:10px;margin:15px 0;padding:12px 16px}.correct-picker legend{font-size:12px;color:#58647b}.app{min-height:100dvh}.app .desc{font-size:13px;line-height:1.7}.app .mini{color:#65728a}.app .nav{line-height:1.4}.app .canvas{min-height:calc(100dvh - 78px)}.workflow-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.workflow-steps button{text-align:left;font:inherit;color:inherit}.workflow-steps button:hover{border-color:#8790ed;background:#fafaff}.workflow-steps span{font-size:12px;font-weight:700;color:var(--blue)}.workflow-steps h2{font-size:21px;line-height:1.4;margin:15px 0}.workflow-steps p,.quick-start p{color:#65728a;margin-bottom:0;line-height:1.7}.quick-start{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(115deg,#f2f2ff,#fff);margin:24px 0 32px}.quick-start h2{font-size:20px;margin:0}.quick-start .button{flex-shrink:0}.list-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:20px 0}.list-filters label,.session-picker{font-size:12px;font-weight:700;color:#58647b}.list-filters label{flex:1 1 220px;max-width:420px}.list-filters input,.list-filters select{display:block;width:100%;margin-top:8px}.session-cards{display:grid;gap:12px;margin:20px 0 30px}.session-row{padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}.session-row h3{font-size:16px;margin:10px 0}.session-row p{font-size:12px;color:#65728a;line-height:1.7;margin:5px 0}.session-row .action-row{justify-content:flex-end}.session-row.is-selected{border-color:#8991ef;box-shadow:0 0 0 1px #8991ef}.session-row>div:first-child{min-width:0;overflow-wrap:anywhere}.session-row .status{display:inline-block}.button.danger{color:#a72e43;border-color:#e8bec6;background:#fff7f8}.button.danger:hover{background:#ffe8ec}.archived-exam{background:#f8f9fc}.closed-session{margin:25px 0}.closed-session h2{font-size:22px}.closed-session p{line-height:1.8}.session-picker{display:block;margin:20px 0}.session-picker select{max-width:100%;width:100%;display:block;margin-top:8px}.result-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0}.result-overview>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px}.result-overview b{display:block;font-size:28px;margin-bottom:6px}.result-overview span{font-size:12px;color:#65728a}.result-publish{display:flex;align-items:center;justify-content:space-between;gap:20px}.result-publish p{margin-bottom:0;color:#65728a}.result-publish .button{flex-shrink:0}.results-table{font-size:13px}.results-table th{font-size:10px;color:#65728a}.results-table td{padding:18px}.results-table small{display:block;font-size:10px;color:#65728a;margin-top:4px}.grade-cell{font-size:22px;color:#3e49c7}.report-actions{margin:20px 0}.export-history{margin-top:25px}.export-history summary{margin-bottom:15px}.grade-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;background:#eff2ff;border:1px solid #dce1ff;border-radius:14px;margin-bottom:22px}.grade-summary>div{display:flex;flex-direction:column;gap:8px}.grade-summary strong{font-size:42px;color:#3e49c7}.grade-summary span{font-size:12px;color:#526080}.grade-summary b{font-size:20px}.work-review h2{font-size:25px}.review-question{padding:24px 0}.review-question h3{font-size:16px;line-height:1.7;white-space:pre-wrap}.review-question-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#65728a;font-size:12px}.review-options{list-style:none;padding:0;margin:16px 0}.review-options li{display:flex;justify-content:space-between;gap:15px;padding:13px;border:1px solid var(--line);border-radius:8px;margin:8px 0;line-height:1.6}.review-options li.selected{border-color:#7e88ee;background:#f3f4ff}.answer-tags{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.answer-tags b{font-size:10px;color:#4c56bb;white-space:nowrap}.answer-tags .correct-tag{color:#177b57}.answer-block,.answer-key,.answer-step{padding:14px 16px;margin:12px 0;border-radius:9px;background:#f6f8fc;line-height:1.7;overflow-wrap:anywhere}.answer-key{background:#eff9f4}.answer-block strong,.answer-key strong,.answer-step strong{font-size:12px}.answer-block p,.answer-key p,.answer-step p{margin:6px 0 0;white-space:pre-wrap}.plain-text{white-space:pre-wrap;overflow-wrap:anywhere}.points-field{display:flex!important;align-items:center;gap:12px;flex-wrap:wrap}.points-field input{margin-top:0!important;width:95px!important}.points-field span{font-size:11px;font-weight:400;color:#65728a}.review-footer{position:sticky;bottom:-30px;z-index:1;padding:18px 0;background:#fff;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.review-footer>span{font-size:13px}.review-exports{margin:18px 0}.work-review details p{line-height:1.7}.import-wizard>p{color:#65728a;line-height:1.8}.import-help{margin:20px 0}.import-prompt{background:#f4f6fc;padding:16px;border-radius:12px}.import-prompt textarea{width:100%;margin-bottom:14px}.import-wizard>label>textarea{font-family:Consolas,monospace;font-size:12px}.import-preview{padding:18px;background:#f7f9fd;border:1px solid var(--line);border-radius:12px;margin:20px 0;line-height:1.7}.import-preview ol{max-height:300px;overflow:auto;padding-left:24px}.import-preview li{padding:10px 0;border-bottom:1px solid var(--line)}.import-preview .pill{margin-left:10px}.import-preview p{margin:8px 0}.import-preview .plain-text{color:#526080}@media(max-width:1200px){.workflow-steps{grid-template-columns:1fr}.workflow-steps h2{margin:10px 0}.session-row,.quick-start,.result-publish{align-items:flex-start;flex-direction:column}.session-row .action-row{justify-content:flex-start}.results-table{min-width:650px}}@media(max-width:760px){.app{display:block}.app .sidebar{position:sticky;top:0;z-index:10;width:100%;padding:8px;flex-direction:row;overflow-x:auto;gap:5px}.app .sidebar>div{flex-shrink:0}.app .sidebar .brand,.app .sidebar .teacher,.app .sidebar-spacer{display:none}.app .sidebar .nav{font-size:10px;flex-direction:column;gap:6px;padding:9px 8px;max-width:95px;min-width:74px;text-align:center;min-height:63px;margin:0}.app .sidebar .nav svg{width:19px;height:19px}.app .sidebar .nav.active{box-shadow:inset 0 -3px #8f95ff}.app .top{height:62px}.app .top .trail{display:block}.app .top .trail b,.app .top-right .avatar{display:none}.app .top-right .search{width:150px}.app .canvas{padding:22px 15px}.app .result-overview{gap:8px}.app .result-overview>div{padding:15px 10px}.app .result-overview span{font-size:11px}.grade-summary{padding:18px}.grade-summary b{font-size:15px}.grade-summary strong{font-size:32px}.review-options li{flex-direction:column;gap:6px}.answer-tags{justify-content:flex-start}.review-footer{bottom:-24px}.review-footer .button{font-size:11px;padding:12px}.import-preview .pill{margin:8px 0}.session-row{padding:18px}.workflow-steps{gap:12px}}@media(max-width:760px){.app .sidebar.is-open .brand{display:flex;justify-content:flex-start}.app .sidebar.is-open .brand small{display:block;font-size:11px}}.dashboard-hero{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:28px 32px;border-radius:22px;background:linear-gradient(115deg,#172542,#303e83 68%,#5957b9);color:#fff;margin-bottom:20px}.dashboard-hero h1{font-size:clamp(26px,3vw,38px);letter-spacing:-1.2px;margin:8px 0}.dashboard-hero p{color:#dbe2ff;margin:0;font-size:13px}.dashboard-hero .button{background:#fff;color:#313d8f;border-color:#fff;white-space:nowrap}.dashboard-kicker{font-size:10px;letter-spacing:1.5px;font-weight:800;color:#7d87b8}.dashboard-hero .dashboard-kicker{color:#bac5ff}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.dashboard-stat{display:flex;align-items:center;gap:12px;min-width:0;text-align:left;padding:20px 16px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.dashboard-stat:hover,.dashboard-recent-card:hover{border-color:#969deb;transform:translateY(-2px)}.dashboard-stat>span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.dashboard-stat strong{font-size:29px;line-height:1}.dashboard-stat span span{font-size:11px;color:#64718b;line-height:1.4}.dashboard-stat>svg:last-child{color:#929ab4;flex-shrink:0}.dashboard-stat-icon{width:42px;height:42px;border-radius:13px;display:inline-grid;place-items:center;flex-shrink:0}.dashboard-stat-icon.violet{background:#efedff;color:#6557c5}.dashboard-stat-icon.amber{background:#fff3e3;color:#c57e1a}.dashboard-stat-icon.green{background:#e9f8f0;color:#12825a}.dashboard-stat-icon.blue{background:#eaf2ff;color:#3a70bb}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:16px}.dashboard-sessions,.dashboard-quick{padding:24px}.dashboard-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.dashboard-section-head h2{font-size:19px;margin:5px 0 0}.dashboard-section-head .text-button{display:inline-flex;gap:6px;align-items:center;color:#5259ba;font-weight:700;font-size:12px}.dashboard-session{display:flex;align-items:center;gap:13px;border-top:1px solid #eef0f5;padding:16px 0}.dashboard-session>div{min-width:0;flex:1}.dashboard-session strong,.dashboard-session small{display:block}.dashboard-session strong{font-size:13px;overflow-wrap:anywhere}.dashboard-session small{font-size:11px;color:#6a7690;margin-top:5px;line-height:1.4}.dashboard-session-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#6360c7;background:#eeedff;flex-shrink:0}.dashboard-session-icon.running{color:#0b805e;background:#e7f8f0}.dashboard-session .button{white-space:nowrap}.dashboard-empty{display:grid;justify-items:start;gap:9px;border:1px dashed #d5dcf0;border-radius:14px;padding:25px;color:#6d7890}.dashboard-empty strong{color:var(--ink);font-size:14px}.dashboard-empty span{font-size:12px}.dashboard-quick>button{width:100%;display:flex;align-items:center;gap:13px;border:0;border-top:1px solid #eef0f5;background:#fff;text-align:left;padding:16px 3px;color:#555dc1}.dashboard-quick>button:hover{background:#f8f9ff}.dashboard-quick>button span{flex:1;min-width:0}.dashboard-quick>button strong,.dashboard-quick>button small{display:block}.dashboard-quick>button strong{color:var(--ink);font-size:13px}.dashboard-quick>button small{color:#728099;font-size:11px;margin-top:4px}.dashboard-recent{margin-top:28px}.dashboard-recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.dashboard-recent-card{display:grid;justify-items:start;gap:8px;padding:18px;text-align:left;color:var(--ink);transition:transform .15s,border-color .15s}.dashboard-recent-card svg{color:#6a6ac8}.dashboard-recent-card strong{font-size:13px;overflow-wrap:anywhere}.dashboard-recent-card span,.dashboard-recent-card small{font-size:11px;color:#6b7891}.dashboard-recent-card small{font-weight:700;color:#5b61b6}.seat-map .cardhead strong{display:inline-flex;align-items:center;gap:8px}.seat-hint{font-size:11px;color:#64728b;line-height:1.6;margin:0 0 15px}.seat-map .seats{grid-auto-rows:minmax(58px,auto)}.seat-map .seat{height:auto;min-height:58px;min-width:0;align-content:center;gap:1px;cursor:grab;transition:transform .12s,box-shadow .12s,border-color .12s}.seat-map .seat:active,.seat-chip:active{cursor:grabbing}.seat-map .seat.is-drop-target:hover,.seat-map .seat.is-selected{border-color:#5854cb;box-shadow:0 0 0 2px #aaa5f4}.seat-map .seat small{max-width:100%;font-size:9px;line-height:1.25}.seat-roster{margin-top:17px;border-top:1px solid #e9edf4;padding-top:15px}.seat-roster-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:12px}.seat-roster-head .text-button,.seat-release{color:#5557b5;font-size:11px}.seat-chips{display:flex;flex-wrap:wrap;gap:7px;max-height:150px;overflow:auto}.seat-chip{display:flex;align-items:center;gap:5px;max-width:100%;border:1px solid #dfe5f0;border-radius:9px;padding:8px;background:#fff;text-align:left;color:#273852;cursor:grab}.seat-chip.is-selected{border-color:#6a64dc;background:#f1f0ff}.seat-chip span{font-size:11px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-chip small{font-size:9px;color:#6d7890;white-space:nowrap}.seat-empty{font-size:11px;color:#7c879d}.seat-release{display:inline-flex;align-items:center;gap:5px;margin-top:10px}.seat-map .seat.is-blocked{opacity:.5;cursor:not-allowed}.teacher-accounts{border-top:1px solid var(--line);margin-top:32px;padding-top:26px}.teacher-accounts .dashboard-section-head p{font-size:12px;color:#65728a;margin:7px 0 0}.accounts-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr);gap:18px}.accounts-list{min-width:0}.account-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.account-row>div:nth-child(2){min-width:0;flex:1}.account-row strong,.account-row small{display:block;overflow-wrap:anywhere}.account-row strong{font-size:13px}.account-row small{font-size:11px;color:#6a7690;margin-top:4px}.account-row .button{font-size:11px;padding:9px}.account-form{padding:20px}.account-form h3{margin:0}.account-form label{margin:12px 0}.account-form .mini{font-size:11px;line-height:1.5}@media(max-width:1150px){.dashboard-stats,.dashboard-recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns,.accounts-layout{grid-template-columns:1fr}}@media(max-width:650px){.dashboard-hero{display:block;padding:24px}.dashboard-hero .button{margin-top:20px}.dashboard-stats,.dashboard-recent-grid{grid-template-columns:1fr 1fr;gap:9px}.dashboard-stat{padding:14px 10px;gap:8px}.dashboard-stat-icon{width:33px;height:33px}.dashboard-stat>svg:last-child{display:none}.dashboard-stat strong{font-size:24px}.dashboard-stat span span{font-size:10px}.dashboard-sessions,.dashboard-quick{padding:18px}.dashboard-session{flex-wrap:wrap}.dashboard-session .button{margin-left:51px}.dashboard-recent-card{padding:13px}.account-row{flex-wrap:wrap}.account-row .action-row{width:100%;padding-left:53px}.seat-map .seat-chip small{display:none}}.pupil.student-v2{--student-ink:#17243b;--student-muted:#58677e;--student-primary:#4b46d5;--student-line:#e2e7f0;--student-green:#087b5a;min-width:0;min-height:100dvh;background:#f5f7fb;color:var(--student-ink);font-family:Inter,Segoe UI,sans-serif;font-size:15px;line-height:1.6}.student-v2 *{box-sizing:border-box}.student-v2 .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.pupil.student-v2 .frame{min-height:100dvh;max-width:none;margin:0;border:0;background:transparent}.pupil.student-v2 .header{position:sticky;top:0;z-index:15;height:82px;padding:0 max(24px,calc((100vw - 1104px)/2));background:#fff;border-bottom:1px solid var(--student-line);display:flex;align-items:center;justify-content:space-between;gap:16px}.student-v2 .student-brand{display:flex;align-items:center;gap:10px;min-width:0}.student-v2 .student-brand-copy{display:flex;flex-direction:column;min-width:0;line-height:1.25}.student-v2 .student-brand-credit{display:block;color:#4f5b73;font-size:10px;font-weight:600;line-height:1.35}.student-v2 .student-brand-credit a{display:inline-block;color:#4742b5;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}.student-v2 .brand-mark{width:38px;height:38px;border-radius:12px;background:#242d50;color:#fff;display:grid;place-items:center;flex-shrink:0}.pupil.student-v2 .logo{font-size:22px;font-weight:800;letter-spacing:-.8px;color:#202d48}.student-v2 .logo>span{color:var(--student-primary)}.student-v2 .brand-divider{height:24px;width:1px;background:var(--student-line);margin:0 8px}.student-v2 .brand-caption{font-size:12px;color:var(--student-muted)}.student-v2 .session-phase{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--student-muted);white-space:nowrap}.student-v2 .session-phase>span,.student-v2 .exam-live>span{height:7px;width:7px;background:#0c916b;border-radius:50%;display:inline-block}.student-v2 .exam-timer{display:flex;align-items:center;gap:10px;border:1px solid #e2e3f4;background:#f6f6ff;color:#393e89;padding:7px 14px;border-radius:12px;font-variant-numeric:tabular-nums;flex-shrink:0}.student-v2 .exam-timer>div{display:flex;align-items:center;gap:14px}.student-v2 .exam-timer span{font-size:11px;font-weight:600}.student-v2 .exam-timer strong{font-size:21px;letter-spacing:.2px}.student-v2 .exam-timer.time-warning{background:#fff5e5;border-color:#f4cd8c;color:#8a4d04}.pupil.student-v2 .content{max-width:1152px;margin:0 auto;padding:38px 24px 145px;outline:none}.student-v2 .student-skip{position:fixed;top:-100px;left:12px;background:#fff;color:#29267d;border:2px solid var(--student-primary);border-radius:8px;padding:10px 16px;z-index:100}.student-v2 .student-skip:focus{top:8px}.student-v2 input,.student-v2 textarea,.student-v2 select,.student-v2 button{scroll-margin-block:110px 120px}.student-v2 .student-eyebrow{display:flex;align-items:center;gap:9px;color:#6259b9;font-size:10px;font-weight:800;letter-spacing:1.7px;line-height:1.5}.student-v2 .student-eyebrow>span{width:3px;height:3px;border-radius:50%;background:#969db1}.student-v2 .exam-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.pupil.student-v2 .title{font-size:clamp(24px,3vw,32px);font-weight:800;letter-spacing:-1px;line-height:1.25;margin:9px 0 14px;overflow-wrap:anywhere}.student-v2 .student-meta{display:flex;flex-wrap:wrap;gap:7px 18px;font-size:12px;color:var(--student-muted)}.student-v2 .student-meta>span{display:flex;align-items:center;gap:6px;overflow-wrap:anywhere;min-width:0}.student-v2 .student-meta svg{flex-shrink:0;color:#7b859b}.student-v2 .exam-live{display:flex;align-items:center;gap:7px;background:#e9f6f0;border:1px solid #d0e9dd;color:#08744f;font-size:11px;font-weight:700;padding:7px 12px;border-radius:30px;white-space:nowrap}.student-v2 .exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:26px;align-items:start}.student-v2 .question-column,.student-v2 .exam-aside{min-width:0}.student-v2 .exam-aside{position:sticky;top:24px}.pupil.student-v2 .card{background:#fff;border:1px solid var(--student-line);border-radius:20px;box-shadow:0 4px 20px #23375604;padding:30px;min-width:0}.student-v2 .question-topline{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:22px;border-bottom:1px solid #edf0f5}.student-v2 .question-counter{font-size:13px;color:var(--student-muted)}.student-v2 .question-counter b{font-weight:800;color:var(--student-ink)}.student-v2 .question-counter>span{color:#748095}.student-v2 .question-points{font-size:11px;font-weight:700;color:#675925;background:#f8f5e9;border:1px solid #ece5ca;padding:5px 11px;border-radius:7px}.student-v2 .question-kind{font-size:11px;font-weight:700;color:#665ec2;margin-top:25px}.pupil.student-v2 .question{font-size:clamp(21px,2.6vw,26px);font-weight:750;letter-spacing:-.6px;line-height:1.4;margin:9px 0 16px;white-space:pre-wrap;overflow-wrap:anywhere;scroll-margin-top:110px}.student-v2 .question:focus{outline:none}.student-v2 .question:focus-visible{outline:3px solid #7971e4;outline-offset:5px;border-radius:3px}.pupil.student-v2 .explain{font-size:16px;line-height:1.8;color:#4c5b73;margin:0 0 25px;white-space:pre-wrap;overflow-wrap:anywhere}.student-v2 .answer-area{padding:0;margin:26px 0 0;border:0;min-width:0}.student-v2 .answer-area:disabled{opacity:.65}.pupil.student-v2 .input-label{display:block;color:#45536c;font-size:12px;font-weight:700;margin-bottom:12px}.pupil.student-v2 .answer{display:flex;align-items:center;gap:8px;min-height:62px;border:1.5px solid #bbc2d5;border-radius:12px;padding:0 16px;background:#fff;transition:border-color .16s,box-shadow .16s}.student-v2 .answer:focus-within{border-color:var(--student-primary);box-shadow:0 0 0 4px #4b46d512}.pupil.student-v2 .answer input{border:0;padding:15px 0;background:transparent;min-width:0;width:100%;font-size:22px;font-weight:700;color:var(--student-ink);outline:0}.student-v2 .answer input::placeholder{font-size:16px;font-weight:400;color:#768198}.pupil.student-v2 .answer .unit{border:0;border-left:1px solid var(--student-line);border-radius:0;padding:5px 0 5px 14px;width:100px;max-width:115px;background:transparent;color:#43516b;flex-shrink:0;font-size:16px;outline-offset:2px}.pupil.student-v2 .answer-help{font-size:12px;color:var(--student-muted);margin:10px 0 0;line-height:1.6}.pupil.student-v2 .options{border:0;padding:0;margin:0;min-width:0}.pupil.student-v2 .options legend{padding:0;margin-bottom:6px}.pupil.student-v2 .options label{position:relative;display:flex;align-items:center;gap:13px;min-height:66px;border:1.5px solid #dfe4ef;border-radius:12px;padding:15px 17px;margin:10px 0 0;cursor:pointer;transition:background .15s,border-color .15s}.pupil.student-v2 .options label:hover{border-color:#aaa9da;background:#fafaff}.pupil.student-v2 .options label.is-selected{background:#f1f0ff;border-color:#655cce}.pupil.student-v2 .options label:focus-within{outline:3px solid #7b73de;outline-offset:3px}.pupil.student-v2 .options input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.student-v2 .option-letter{display:grid;place-items:center;width:29px;height:29px;border:1px solid #e0e4ec;border-radius:8px;background:#f7f8fb;font-size:12px;font-weight:700;color:#68758b;flex-shrink:0}.student-v2 .is-selected .option-letter{background:#e1dffc;border-color:#d5d1f2;color:#4437a6}.student-v2 .option-text{flex:1;min-width:0;overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.6}.student-v2 .option-check{width:20px;height:20px;border:1.5px solid #cbd3e1;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#fff}.student-v2 .options input[type=checkbox]~.option-check{border-radius:5px}.student-v2 .is-selected .option-check{border-color:var(--student-primary);background:var(--student-primary)}.pupil.student-v2 textarea{width:100%;margin-top:10px;border:1.5px solid #c8cfdf;border-radius:12px;padding:16px;font-size:16px;line-height:1.8;min-height:160px;resize:vertical;color:var(--student-ink)}.student-v2 .open-answer{position:relative}.student-v2 .answer-length{display:block;text-align:right;color:var(--student-muted);font-size:11px;font-weight:400;margin-top:7px}.pupil.student-v2 .step{display:block;margin-top:20px;color:#53617a;font-size:13px}.student-v2 .step>span{display:block;margin-bottom:8px}.student-v2 .step b{color:var(--student-primary);margin-right:8px}.student-v2 .step-value{display:flex;align-items:center;border:1px solid #c8cfdf;border-radius:10px;padding:0 14px;gap:10px}.pupil.student-v2 .step-value input{width:100%;min-width:0;border:0;padding:13px 0;background:transparent;font-size:16px}.student-v2 .step-value>span{font-size:14px;flex-shrink:0}.pupil.student-v2 .circuit{min-height:190px;display:grid;place-items:center;background:#f6f8fc;border:1px solid #e8edf6;border-radius:14px;margin:22px 0;padding:12px}.student-v2 svg{max-width:100%}.student-v2 .question-hint{margin-top:25px;padding:15px 0 0;border-top:1px solid #edf0f5;font-size:13px}.student-v2 .question-hint summary{color:#504b9c;font-weight:600;min-height:30px}.student-v2 .question-hint p{color:var(--student-muted);white-space:pre-wrap}.student-v2 .save-status{display:flex;align-items:flex-start;gap:10px;border:1px solid transparent;padding:16px 4px;color:#087351}.student-v2 .save-status>svg{margin-top:2px;flex-shrink:0}.student-v2 .save-status strong{display:block;font-size:12px;font-weight:600}.student-v2 .save-status span{display:block;font-size:11px;color:var(--student-muted);margin-top:3px}.student-v2 .save-status.is-offline{border-color:#efd4a9;background:#fff7e9;color:#88520c;border-radius:12px;padding:15px}.student-v2 .save-status.is-saving{color:#6259b9}.student-v2 .save-status.is-attention{color:#9a3e41}.student-v2 .question-outline{border:1px solid var(--student-line);border-radius:18px;background:#fff;padding:23px}.student-v2 .outline-heading{display:flex;justify-content:space-between;align-items:center}.student-v2 .outline-heading h2{font-size:32px;line-height:1;margin:13px 0 0;letter-spacing:-1px}.student-v2 .outline-heading h2 span{font-size:20px;color:#7d889a;font-weight:400;letter-spacing:0}.student-v2 .outline-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#efedf9;color:#756ac1}.student-v2 .question-outline>p{font-size:12px;color:var(--student-muted);margin:9px 0 16px}.student-v2 .answer-progress{height:6px;background:#eef0f6;border-radius:10px;overflow:hidden}.student-v2 .answer-progress>div{height:100%;border-radius:10px;background:#0e9876;transition:width .2s}.student-v2 .question-outline h3{font-size:12px;margin:26px 0 13px;color:#48566e}.student-v2 .question-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;list-style:none;margin:0;padding:0;max-height:260px;overflow-y:auto;scrollbar-gutter:stable}.student-v2 .question-grid button{width:100%;min-height:44px;position:relative;border:1px solid #e0e5ee;border-radius:9px;background:#f8f9fc;color:#53617b;font-size:12px;font-weight:700}.student-v2 .question-grid button.is-answered{background:#eaf7f1;color:#087351;border-color:#cde8dc}.student-v2 .question-grid button.is-current{background:#4b46d5;color:#fff;border-color:#4b46d5;box-shadow:0 3px 7px #4b46d522}.student-v2 .question-grid button>svg{position:absolute;right:4px;bottom:4px}.student-v2 .question-legend{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0;color:#657189;font-size:10px}.student-v2 .question-legend>span{display:flex;gap:5px;align-items:center}.student-v2 .question-legend i{width:7px;height:7px;border-radius:2px;background:#e5e9f1}.student-v2 .question-legend .answered-dot{background:#149d78}.student-v2 .question-outline>.navigation-note{font-size:11px;border-top:1px solid #edf0f5;padding-top:16px;margin:0;line-height:1.8}.student-v2 .student-assurance{display:flex;align-items:flex-start;gap:8px;font-size:11px;color:var(--student-muted);padding:0 10px}.student-v2 .student-assurance svg{flex-shrink:0;margin-top:2px}.pupil.student-v2 .buttons{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:1152px;padding:16px 24px max(18px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;z-index:10;border:1px solid var(--student-line);border-bottom:0;border-radius:18px 18px 0 0;background:#fffffff5;box-shadow:0 -6px 30px #1c2c4b05;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.pupil.student-v2 .btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #dbe1ed;border-radius:11px;padding:12px 20px;background:#fff;color:#47536b;font-size:13px;font-weight:700;line-height:1.5;text-decoration:none;transition:background .15s,box-shadow .15s}.pupil.student-v2 .btn:hover:not(:disabled){background:#f4f5fb}.pupil.student-v2 .btn.primary{background:var(--student-primary);border-color:var(--student-primary);color:#fff;box-shadow:0 4px 10px #4b46d51a}.pupil.student-v2 .btn.primary:hover:not(:disabled){background:#3d38b6;box-shadow:0 5px 14px #4b46d530}.student-v2 .buttons>.primary{margin-left:auto;min-width:190px}.student-v2 .footer-position{font-size:12px;color:var(--student-muted)}.student-v2 .time-notice{display:flex;align-items:flex-start;gap:9px;margin:0 0 16px;background:#fff5e5;border:1px solid #efd4a9;border-radius:11px;padding:12px 16px;color:#87500a;font-size:12px}.student-v2 .time-notice svg{flex-shrink:0;margin-top:2px}.student-v2 .notice{font-size:13px;overflow-wrap:anywhere}.student-v2 .notice button[aria-label]{min-width:44px;min-height:44px;margin-top:-6px}.pupil.student-v2 .student-state{max-width:760px;margin:0 auto;padding:36px}.student-v2 .state-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#eeeefb;color:#6257c4;margin-bottom:24px}.student-v2 .state-icon.success{background:#e9f6ef;color:#138461}.pupil.student-v2 .student-state h2{font-size:27px;font-weight:750;letter-spacing:-.7px;line-height:1.3;margin:12px 0 16px}.student-v2 .student-state>p{font-size:15px;color:var(--student-muted);max-width:520px;line-height:1.8}.student-v2 .waiting-status{display:flex;align-items:center;gap:10px;border:1px solid #e3e1f5;background:#f6f5ff;color:#5b529c;border-radius:11px;padding:14px 16px;font-size:12px;margin:26px 0}.student-v2 .status-dot{width:7px;height:7px;border-radius:50%;background:#7565cd;box-shadow:0 0 0 4px #e6e1f9;flex-shrink:0}.student-v2 .state-tip{border-top:1px solid #e9edf4;padding-top:20px;font-size:12px;color:var(--student-muted)}.student-v2 .assigned-seat{display:flex;align-items:center;gap:10px;background:#eef6f2;border:1px solid #d4e8dc;border-radius:11px;padding:14px 18px;font-size:14px;color:#247654;margin:24px 0}.student-v2 .assigned-seat strong{font-size:21px;margin-left:auto}.student-v2 .exam-instructions{border-top:1px solid #e9edf4;padding-top:14px;margin-top:26px}.student-v2 .exam-instructions h3{font-size:13px;color:#46536c}.student-v2 .exam-instructions p{font-size:14px;white-space:pre-wrap;color:var(--student-muted)}.student-v2 .submission-heading{display:flex;align-items:center;gap:20px}.student-v2 .submission-heading .state-icon{margin:0;flex-shrink:0}.pupil.student-v2 .submission-heading h2{font-size:24px;margin:6px 0}.student-v2 .submission-heading p{margin:0;color:var(--student-muted);font-size:13px}.student-v2 .submission-feedback{margin:28px 0 0;padding:24px;background:#f6f8fc;border:1px solid #e8edf5;border-radius:14px}.student-v2 .submission-feedback .feedback-count{font-size:17px}.student-v2 .submission-feedback .hint{font-size:12px;color:var(--student-muted)}.student-v2 .feedback-questions p{font-size:14px;white-space:pre-wrap}.student-v2 .feedback-questions li{padding:16px 0}.student-v2 .feedback-questions li:last-child{padding-bottom:0}.student-v2 .review-pending{display:flex;align-items:flex-start;gap:10px;font-size:12px!important;padding:20px 0 0;border-top:1px solid #e8edf5;margin:25px 0 0!important}.student-v2 .review-pending>svg{flex-shrink:0;margin-top:3px;color:#7d83a0}.student-v2 .published-results{margin-top:25px}.student-v2 .result-metrics{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--student-line);border-radius:14px;padding:20px;gap:20px}.student-v2 .result-metrics>div+div{border-left:1px solid var(--student-line);padding-left:20px}.student-v2 .result-metrics span{display:block;color:var(--student-muted);font-size:11px}.student-v2 .result-metrics strong{display:block;font-size:30px;color:#293b62;margin:5px 0}.student-v2 .result-metrics small{font-size:14px;font-weight:500}.student-v2 .published-results>.btn{width:100%;margin-top:20px}.student-v2 .teacher-note{padding:14px 0;color:var(--student-muted);font-size:14px;white-space:pre-wrap}.pupil.student-v2 .join-content{padding-top:66px}.student-v2 .join-layout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:90px;align-items:center}.student-v2 .join-intro h1{font-size:clamp(30px,3.8vw,44px);font-weight:800;letter-spacing:-1.8px;line-height:1.2;margin:20px 0}.student-v2 .join-intro h1>span{color:#6259ba}.student-v2 .join-intro>p{font-size:15px;line-height:1.9;color:var(--student-muted);max-width:400px}.student-v2 .join-steps{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:23px}.student-v2 .join-steps li{display:flex;align-items:flex-start;gap:17px}.student-v2 .join-steps li>span{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;border:1px solid #e0e4ee;background:#fff;color:#75729b;font-size:11px;font-weight:700;flex-shrink:0}.student-v2 .join-steps strong{font-size:13px;font-weight:700}.student-v2 .join-steps p{font-size:12px;color:var(--student-muted);margin:3px 0 0}.pupil.student-v2 .join-form{padding:32px;box-shadow:0 10px 50px #22395b07}.student-v2 .join-form .state-icon{width:52px;height:52px;border-radius:15px;margin-bottom:20px}.student-v2 .join-form h2{font-size:25px;letter-spacing:-.7px;line-height:1.3;margin:0 0 10px}.student-v2 .join-form>p{font-size:13px;color:var(--student-muted);margin:0 0 24px}.student-v2 .join-form label{display:block;font-size:12px;font-weight:700;color:#48566f;margin:23px 0 0}.student-v2 .join-form input{display:block;width:100%;margin-top:9px;min-height:52px;border:1px solid #c9d1e1;border-radius:10px;font-size:16px;padding:13px;color:var(--student-ink)}.student-v2 .join-form input::placeholder{color:#7e889c;font-size:13px}.student-v2 .join-form small{display:block;font-size:11px;font-weight:400;color:var(--student-muted);margin-top:8px}.student-v2 .join-form input.session-code-input{font-size:24px;letter-spacing:5px;font-variant-numeric:tabular-nums}.student-v2 .join-form input.session-code-input::placeholder{font-size:24px;color:#a7afbf;letter-spacing:5px}.student-v2 .join-form>.btn{width:100%;margin-top:28px}.student-v2 .privacy-note{display:flex;align-items:flex-start;justify-content:center;gap:7px;font-size:10px;color:var(--student-muted);margin-top:18px}.student-v2 .privacy-note svg{flex-shrink:0}.student-v2 .invite-ready{display:flex;align-items:center;gap:8px;background:#f0f8f4;color:#16734f;border:1px solid #d4e9dc;border-radius:10px;padding:11px 12px;font-size:11px;margin:22px 0}.student-v2 .student-loading{text-align:center;padding:80px 10px;color:var(--student-muted)}.student-v2 .student-loading h1{font-size:22px;color:var(--student-ink);margin-top:25px}.student-v2 .loading-orbit{display:inline-grid;place-items:center;width:70px;height:70px;background:#eae9f9;color:#6557bd;border-radius:22px}.student-v2 .submit-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 40px);border:1px solid #e3e6f0;border-radius:22px;padding:30px;margin:auto;color:var(--student-ink);background:#fff;box-shadow:0 25px 100px #13203e35;overflow:auto}.student-v2 .submit-dialog::backdrop{background:#16233d70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.student-v2 .submit-dialog .state-icon{width:56px;height:56px;border-radius:16px;margin-bottom:20px}.student-v2 .dialog-close{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;background:transparent;border-radius:10px;color:#66728a;display:grid;place-items:center}.student-v2 .submit-dialog h2{font-size:25px;letter-spacing:-.7px;margin:12px 0}.student-v2 .submit-dialog>p{font-size:14px;line-height:1.8;color:var(--student-muted)}.student-v2 .submit-count{display:flex;align-items:center;justify-content:space-between;background:#f5f6fb;border-radius:12px;padding:17px;margin-top:22px;gap:16px}.student-v2 .submit-count strong{font-size:28px;color:#3c3d81;white-space:nowrap}.student-v2 .submit-count strong>span{font-size:20px;color:#7c859a;font-weight:400}.student-v2 .submit-count>span{font-size:12px;color:var(--student-muted)}.student-v2 .submit-dialog .unanswered-warning{background:#fff6e7;border:1px solid #f0d7ad;border-radius:10px;padding:12px 15px;font-size:12px;color:#85500b}.student-v2 .submit-dialog .all-answered{display:flex;align-items:center;gap:8px;font-size:12px;color:#0c7755;margin:18px 0}.student-v2 .dialog-actions{display:flex;gap:10px;margin-top:25px}.student-v2 .dialog-actions>.btn{flex:1;min-width:0;padding:13px 10px;font-size:12px}.pupil.student-v2 .site-credits{font-size:10px;color:#657189;margin-top:40px;border-top:1px solid #e3e8f1;padding-top:20px;gap:6px 16px;line-height:1.8}.student-v2 .site-credits a{color:#54558f;min-height:24px;display:inline-flex;align-items:center}@media(max-width:900px){.pupil.student-v2 .header{padding:0 24px}.student-v2 .brand-caption,.student-v2 .brand-divider{display:none}.student-v2 .exam-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.student-v2 .question-outline{padding:18px}.student-v2 .join-layout{gap:35px;grid-template-columns:minmax(0,1fr) minmax(0,380px)}.student-v2 .join-intro h1{font-size:34px}}@media(max-width:700px){.pupil.student-v2 .header{height:72px;padding:0 20px}.student-v2 .brand-mark{width:32px;height:32px;border-radius:10px}.pupil.student-v2 .logo{font-size:20px}.student-v2 .student-brand{gap:8px}.student-v2 .session-phase{font-size:10px;gap:6px}.student-v2 .exam-timer{padding:6px 10px;gap:7px}.student-v2 .exam-timer>div{display:block;line-height:1.25}.student-v2 .exam-timer span{display:block;font-size:9px}.student-v2 .exam-timer strong{font-size:19px}.pupil.student-v2 .content{padding:26px 20px 130px}.student-v2 .exam-heading{margin-bottom:24px;display:block}.pupil.student-v2 .title{font-size:25px;letter-spacing:-.8px;margin-top:10px}.student-v2 .student-meta{font-size:11px;gap:7px 14px}.student-v2 .student-meta>span:last-child{display:none}.student-v2 .exam-live{display:none}.student-v2 .exam-layout{grid-template-columns:1fr;gap:15px}.student-v2 .exam-aside{position:static}.pupil.student-v2 .card{padding:23px 21px;border-radius:17px}.pupil.student-v2 .question{font-size:22px;line-height:1.45}.student-v2 .question-topline{padding-bottom:18px}.student-v2 .question-kind{margin-top:21px}.pupil.student-v2 .explain{font-size:15px}.student-v2 .answer-area{margin-top:25px}.pupil.student-v2 .options label{padding:14px 13px;gap:10px;min-height:66px}.student-v2 .option-letter{width:26px;height:26px;font-size:11px}.student-v2 .option-text{font-size:14px}.pupil.student-v2 .answer{padding:0 13px;min-height:60px}.pupil.student-v2 .answer .unit{width:83px;padding-left:10px}.pupil.student-v2 .answer-help{font-size:11px}.student-v2 .save-status{padding:14px 2px 7px}.student-v2 .save-status strong{font-size:11px}.student-v2 .save-status span{font-size:10px}.student-v2 .question-outline{padding:22px;border-radius:17px}.student-v2 .outline-heading h2{font-size:27px;margin-top:8px}.student-v2 .question-outline h3{margin-top:22px}.student-v2 .question-outline>p{margin-top:8px}.student-v2 .student-assurance{display:none}.pupil.student-v2 .buttons{border-radius:0;padding:13px 20px max(15px,env(safe-area-inset-bottom));gap:10px}.student-v2 .footer-position{display:none}.student-v2 .buttons>.primary{flex:1;min-width:0}.pupil.student-v2 .btn{padding:13px 16px;min-height:50px;font-size:12px;gap:8px}.student-v2 .buttons>.previous{min-width:100px}.pupil.student-v2.is-text-editing .buttons{display:none}.pupil.student-v2 .student-state{padding:27px 24px}.pupil.student-v2 .student-state h2{font-size:25px}.student-v2 .student-state>p{font-size:14px}.student-v2 .state-icon{height:60px;width:60px;border-radius:18px;margin-bottom:23px}.student-v2 .waiting-status{padding:13px;font-size:11px}.student-v2 .submission-heading{align-items:flex-start;gap:14px}.student-v2 .submission-heading .state-icon{width:48px;height:48px;border-radius:14px}.pupil.student-v2 .submission-heading h2{font-size:22px;margin:7px 0}.student-v2 .submission-heading .student-eyebrow{font-size:9px;letter-spacing:1.1px}.student-v2 .submission-heading p{font-size:11px}.student-v2 .submission-feedback{padding:17px;margin-top:25px}.student-v2 .submission-feedback .feedback-count{font-size:16px}.student-v2 .submission-feedback h3,.student-v2 .feedback-questions p{font-size:13px}.student-v2 .result-metrics{gap:14px;padding:16px}.student-v2 .result-metrics>div+div{padding-left:14px}.student-v2 .result-metrics strong{font-size:26px}.student-v2 .result-metrics small{display:block;font-size:12px}.student-v2 .result-metrics span{font-size:10px}.pupil.student-v2 .join-content{padding-top:32px;padding-bottom:35px}.student-v2 .join-layout{grid-template-columns:1fr;gap:26px;max-width:450px;margin:auto}.student-v2 .join-intro h1{font-size:31px;letter-spacing:-1.2px;margin:14px 0}.student-v2 .join-intro>p{font-size:13px;line-height:1.8;margin-bottom:0}.student-v2 .join-steps{display:none}.pupil.student-v2 .join-form{padding:25px}.student-v2 .join-form .state-icon{display:none}.student-v2 .join-form h2{font-size:23px}.student-v2 .join-form label{margin-top:22px}.student-v2 .join-form>p{margin-bottom:22px}.student-v2 .join-form>.btn{margin-top:26px}.student-v2 .submit-dialog{padding:25px}.student-v2 .dialog-actions{flex-direction:column-reverse}.student-v2 .dialog-actions>.btn{width:100%}.pupil.student-v2 .site-credits{margin-top:30px;font-size:9px;gap:4px 12px}.student-v2 .time-notice{font-size:11px}}@media(max-width:360px){.pupil.student-v2 .header{padding:0 16px}.pupil.student-v2 .content{padding-left:16px;padding-right:16px}.pupil.student-v2 .card{padding:21px 17px}.student-v2 .brand-mark{display:none}.student-v2 .exam-timer{padding:6px 8px}.pupil.student-v2 .buttons{padding-left:16px;padding-right:16px}.pupil.student-v2 .btn{padding-left:12px;padding-right:12px;gap:6px}.student-v2 .buttons>.previous{min-width:86px}.student-v2 .student-state .submission-heading{display:block}.student-v2 .submission-heading .state-icon{margin-bottom:18px}}@media(prefers-reduced-motion:reduce){.student-v2 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(forced-colors:active){.student-v2 .options label.is-selected,.student-v2 .question-grid button.is-current{outline:2px solid Highlight}.student-v2 .option-check{forced-color-adjust:none}.student-v2 .answer-progress{border:1px solid CanvasText}}.bo-photo-city{position:relative;isolation:isolate;width:100%;aspect-ratio:1672/941;overflow:hidden;background:#06111b;color:#f1f8ff;font-family:Inter,system-ui,sans-serif}.bo-photo-city:before{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(180deg,rgba(2,12,25,.68),transparent 23%,transparent 67%,rgba(2,12,25,.76)),linear-gradient(90deg,rgba(3,15,30,.38),transparent 28%,transparent 76%,rgba(3,15,30,.2))}.bo-photo-base,.bo-photo-layers,.bo-photo-vignette,.bo-photo-clouds{position:absolute;inset:0;width:100%;height:100%}.bo-photo-base{object-fit:cover;filter:brightness(.16) saturate(.65)}.bo-projector-visual .bo-photo-layers{width:100%;height:100%;display:block}.bo-photo-zone{transition:opacity 1.8s ease}.bo-photo-vignette{z-index:3;pointer-events:none;box-shadow:inset 0 0 100px 42px #020c1ccc,inset 0 0 25px #030d1e}.bo-photo-clouds{z-index:3;pointer-events:none;opacity:.32;background:radial-gradient(ellipse at 16% 12%,#5a73903b,transparent 27%),radial-gradient(ellipse at 60% 21%,#6a74863b,transparent 25%);animation:bo-cloud-drift 34s ease-in-out infinite alternate}.bo-photo-topline,.bo-photo-bottomline{position:absolute;z-index:7;left:2.2%;right:2.2%;display:flex;justify-content:space-between;align-items:center;gap:.8rem;text-shadow:0 2px 8px #03101e;font-weight:800;letter-spacing:.12em;font-size:clamp(.52rem,.72vw,.77rem)}.bo-photo-topline{top:3%}.bo-photo-topline>span:first-child{display:flex;align-items:center;gap:.55rem;color:#dceff7}.bo-photo-topline i{display:block;width:8px;height:8px;background:#73e9c4;border-radius:50%;box-shadow:0 0 14px #73e9c4;animation:bo-beacon 2.3s infinite}.bo-photo-topline>span:last-child{color:#b2d3e2}.bo-photo-bottomline{bottom:2.4%;justify-content:flex-start;gap:clamp(.8rem,3vw,3rem);color:#9dc0d4}.bo-photo-bottomline span{display:flex;align-items:baseline;gap:.4rem}.bo-photo-bottomline b{font-size:clamp(.7rem,1vw,1rem);color:#f5fdff;letter-spacing:0}.bo-photo-marker{position:absolute;z-index:8;display:flex;align-items:center;gap:.45rem;min-height:33px;padding:.28rem .55rem .28rem .28rem;color:#edf8ff;background:#061a2bdc;border:1px solid #92b2c65e;box-shadow:0 8px 22px #0009,0 0 0 3px #ffffff0a;border-radius:100px;transform:translate(-50%,-50%);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .2s,border-color .3s,background .3s}.bo-photo-marker:hover,.bo-photo-marker:focus-visible,.bo-photo-marker.is-selected{transform:translate(-50%,-50%) scale(1.08);border-color:#dff9ff;background:#0c2b40f2;outline:none}.bo-photo-marker-icon{display:grid;place-items:center;width:31px;height:31px;flex:none;border-radius:50%;color:#082332;background:#67dfb1;box-shadow:0 0 16px #67dfb177}.bo-photo-marker.is-partial .bo-photo-marker-icon,.bo-photo-marker.is-backup .bo-photo-marker-icon{background:#ffba71;box-shadow:0 0 17px #ffa75e99}.bo-photo-marker.is-down .bo-photo-marker-icon{background:#ff7184;box-shadow:0 0 18px #ff576c99;animation:bo-beacon 1.3s infinite}.bo-photo-marker-copy{display:grid;gap:.05rem}.bo-photo-marker strong{font-size:clamp(.55rem,.68vw,.74rem);line-height:1.1;white-space:nowrap}.bo-photo-marker small{font-size:clamp(.48rem,.56vw,.64rem);line-height:1.1;color:#abcedd;white-space:nowrap}.bo-photo-marker.is-down small{color:#ff9daa}.bo-photo-marker.is-backup small,.bo-photo-marker.is-partial small{color:#ffd1a0}.bo-plant-label{position:absolute;z-index:8;left:6%;top:45%;display:flex;align-items:center;gap:.45rem;padding:.45rem .65rem;background:#061a2bdf;border:1px solid #9fc1d977;border-radius:12px;box-shadow:0 7px 24px #0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bo-plant-label>span{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;color:#0b2434;background:#71ddba}.bo-plant-label div{display:grid}.bo-plant-label strong{font-size:.65rem;letter-spacing:.08em}.bo-plant-label small{font-size:.58rem;color:#b6d4df}.bo-plant-label.is-failed{border-color:#ff8394}.bo-plant-label.is-failed>span{background:#ff7184}.bo-plant-label.is-failed small{color:#ffaeb9}.bo-energy-routes{filter:drop-shadow(0 0 7px #9deefa)}.bo-energy-path{fill:none;stroke:url(#bo-power-gradient);stroke-width:3;stroke-linecap:round;stroke-dasharray:2 15;animation:bo-energy-flow 1.6s linear infinite}.bo-energy-path.is-open{stroke:#7e91a3;animation:none}.bo-energy-path.is-failed,.bo-energy-path.is-overload{stroke:#ff7786;animation:bo-energy-flow .65s linear infinite}.bo-plant-glow{transition:fill 1s,r 1s,opacity 1s;animation:bo-beacon 2.5s infinite}.bo-photo-alert{position:absolute;z-index:8;top:9%;left:2.2%;display:flex;align-items:center;gap:.5rem;padding:.5rem .7rem;background:#421c29e8;border:1px solid #ff8b8c;border-radius:7px;color:#ffd1ce;font-size:.65rem;font-weight:900;letter-spacing:.11em;box-shadow:0 4px 20px #0008}.bo-photo-alert-beacon{width:8px;height:8px;border-radius:50%;background:#ff6575;box-shadow:0 0 12px #ff6575;animation:bo-beacon 1s infinite}.bo-photo-inspector{position:absolute;z-index:10;top:14%;right:2%;width:min(260px,38%);padding:1rem;background:#071a2bf2;border:1px solid #81b9ce;border-radius:13px;box-shadow:0 18px 40px #000b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bo-photo-inspector>button{position:absolute;right:.65rem;top:.35rem;border:0;background:transparent;color:#cce8f3;font-size:1.5rem}.bo-photo-inspector>span{display:block;margin-bottom:.4rem;color:#7dd2e7;font-size:.55rem;font-weight:900;letter-spacing:.13em}.bo-photo-inspector>strong{font-size:.92rem}.bo-photo-inspector p{font-size:.7rem;color:#b6d1dd;margin:.6rem 0 0}.bo-photo-inspector-meter{height:6px;margin-top:.8rem;border-radius:10px;background:#294153}.bo-photo-inspector-meter i{display:block;height:100%;border-radius:10px;background:#6be1b7;transition:width 1.5s}.bo-photo-victory{position:absolute;z-index:9;left:50%;top:48%;width:min(74%,550px);transform:translate(-50%,-50%);padding:1.7rem 2rem;text-align:center;background:#082532e8;border:1px solid #7af2c3;border-radius:18px;box-shadow:0 0 90px #4bd5a43d,0 15px 55px #000b;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:bo-victory-arrive .8s ease-out}.bo-photo-victory span{display:block;margin-bottom:.4rem;color:#7af2c3;font-size:.65rem;letter-spacing:.2em;font-weight:900}.bo-photo-victory strong{font-size:clamp(1.15rem,2.2vw,2.5rem);letter-spacing:.03em}.bo-photo-victory p{margin:.65rem 0 0;color:#c2e8df;font-size:.8rem}.bo-photo-reduced *{animation:none!important;transition:none!important}.bo-photo-reduced .bo-photo-clouds{display:none}@keyframes bo-energy-flow{to{stroke-dashoffset:-17}}@keyframes bo-cloud-drift{to{transform:translate(9%) translateY(3%)}}@keyframes bo-beacon{50%{opacity:.46}}@keyframes bo-victory-arrive{0%{opacity:0;transform:translate(-50%,-43%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:1000px){.bo-photo-marker-copy small{display:none}.bo-photo-marker{padding-right:.4rem}.bo-photo-bottomline{font-size:.54rem}.bo-photo-topline{font-size:.55rem}}@media(max-width:650px){.bo-photo-marker-copy{display:none}.bo-photo-marker{padding:.2rem;border-radius:50%}.bo-photo-marker-icon{width:26px;height:26px}.bo-photo-marker-icon svg{width:14px}.bo-photo-topline>span:last-child{display:none}.bo-photo-bottomline{gap:.6rem}.bo-photo-bottomline span{display:grid;gap:0}.bo-plant-label{left:2%;top:53%;padding:.2rem}.bo-plant-label div{display:none}.bo-photo-inspector{width:min(240px,70%);top:20%}}.bo-network-view,.bo-analysis-view{position:relative;min-height:600px;overflow:hidden;color:#eaf9ff;background:radial-gradient(circle at 46% 20%,#163d50 0,#0a2335 43%,#071725);font-family:Inter,system-ui,sans-serif}.bo-visual-head{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem .75rem}.bo-visual-eyebrow{display:flex;align-items:center;gap:.55rem;color:#7ed8dc;font-size:.64rem;font-weight:900;letter-spacing:.17em}.bo-visual-eyebrow i{width:8px;height:8px;border-radius:50%;background:#6ee7c1;box-shadow:0 0 12px #66d9bc;animation:bo-visual-beacon 2s infinite}.bo-visual-head h2{margin:.25rem 0 0;font-size:clamp(1.2rem,2vw,2rem);letter-spacing:-.04em}.bo-visual-head-stats{display:flex;gap:.6rem}.bo-visual-head-stats span{display:flex;align-items:baseline;gap:.3rem;padding:.55rem .75rem;color:#a8cbd9;background:#102c3c;border:1px solid #2e576a;border-radius:9px;font-size:.67rem}.bo-visual-head-stats strong{font-size:1.15rem;color:#80e6c2}.bo-visual-head-stats .warn strong{color:#ffbd75}.bo-network-map{position:relative;height:clamp(390px,54vh,590px);overflow:hidden}.bo-network-map>svg{display:block;width:100%!important;height:100%!important}.bo-network-node-number{fill:#befcf0;font-size:14px;font-weight:900;letter-spacing:.04em}.bo-network-node-name{fill:#e9faff;font-size:16px;font-weight:900}.bo-network-node-sub{fill:#8db8c9;font-size:11px}.bo-net-line{cursor:pointer;outline:none}.bo-net-line-glow{fill:none;stroke:#61e2cf;stroke-width:18;opacity:.15;filter:url(#network-glow)}.bo-net-line-base{fill:none;stroke:#488096;stroke-width:9;stroke-linecap:round;opacity:.5}.bo-net-line-flow{fill:none;stroke:#72e3c2;stroke-width:4;stroke-linecap:round;stroke-dasharray:6 13;animation:bo-network-flow 1.4s linear infinite}.bo-net-line:hover .bo-net-line-base,.bo-net-line.selected .bo-net-line-base{opacity:1}.bo-net-line-tag rect{fill:#092333;stroke:#487b8f}.bo-net-line-tag text{fill:#e3f7ff;font-size:13px;font-weight:850}.bo-net-line-tag tspan{fill:#78ded0}.bo-net-open .bo-net-line-base{stroke:#6f8395;stroke-dasharray:9 11}.bo-net-open .bo-net-line-flow{stroke:#93a8b4;opacity:.4;animation:none}.bo-net-open .bo-net-line-glow{opacity:0}.bo-net-overload .bo-net-line-base,.bo-net-overload .bo-net-line-flow{stroke:#ffbb6f}.bo-net-overload .bo-net-line-glow{stroke:#ff9c60}.bo-net-failed .bo-net-line-base,.bo-net-failed .bo-net-line-flow,.bo-net-failed .bo-net-line-glow{stroke:#ff728b}.bo-net-failed .bo-net-line-flow{animation:bo-visual-beacon 1s infinite}.bo-net-open .bo-net-line-tag rect{stroke:#668093}.bo-net-overload .bo-net-line-tag rect{stroke:#cb9162}.bo-net-failed .bo-net-line-tag rect{stroke:#da6982}.bo-net-line:focus-visible .bo-net-line-tag rect{stroke:#fff;stroke-width:2}.bo-network-inspector{position:absolute;z-index:5;top:1rem;right:1.25rem;width:min(270px,36%);padding:1rem;background:#071b2af2;border:1px solid #75d9db;border-radius:13px;box-shadow:0 18px 40px #000b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.bo-network-inspector>button{position:absolute;top:.2rem;right:.55rem;color:#c1e2ec;border:0;background:transparent;font-size:1.5rem}.bo-network-inspector>span{display:block;color:#71d9d4;font-size:.59rem;font-weight:900;letter-spacing:.15em}.bo-network-inspector>strong{display:block;margin:.35rem 0;font-size:.9rem}.bo-network-inspector p,.bo-network-inspector small{color:#afcbd8;font-size:.7rem}.bo-network-cap{height:6px;overflow:hidden;margin:.8rem 0 .3rem;background:#304c5e;border-radius:9px}.bo-network-cap i{display:block;height:100%;background:#65dfbe;border-radius:9px}.bo-network-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;padding:.5rem 1.25rem 1.2rem}.bo-network-line-card{display:grid;gap:.2rem;text-align:left;padding:.65rem .75rem;color:#edf8ff;background:#102c3d;border:1px solid #31596d;border-radius:10px;transition:transform .2s,border-color .2s}.bo-network-line-card:hover,.bo-network-line-card.selected{transform:translateY(-3px);border-color:#75e4d6}.bo-network-line-card>span{color:#83c8d5;font-size:.64rem;font-weight:900;letter-spacing:.1em}.bo-network-line-card>span i{display:inline-block;width:6px;height:6px;margin-right:.2rem;border-radius:50%;background:#6fe5c1;box-shadow:0 0 7px #6fe5c1}.bo-network-line-card strong{font-size:1.1rem;font-variant-numeric:tabular-nums}.bo-network-line-card strong small{font-size:.58rem;font-weight:500;color:#a7c2d0}.bo-network-line-card em{font-size:.6rem;color:#75dabb;font-style:normal}.bo-network-line-card.bo-net-open em{color:#a7b8c4}.bo-network-line-card.bo-net-open>span i{background:#8299a7;box-shadow:none}.bo-network-line-card.bo-net-overload em{color:#ffc186}.bo-network-line-card.bo-net-overload>span i{background:#ffc186}.bo-network-line-card.bo-net-failed em{color:#ff97aa}.bo-network-line-card.bo-net-failed>span i{background:#ff8193}.bo-analysis-view{padding-bottom:1rem}.bo-analysis-state{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem .85rem;border-radius:9px;border:1px solid #578776;background:#173e38;color:#9aefd0;font-size:.71rem;font-weight:800}.bo-analysis-state svg{width:17px!important;height:17px!important;flex:none}.bo-analysis-state.unstable{color:#ffd0ac;border-color:#a77959;background:#3c2c2a}.bo-analysis-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding:.3rem 1.5rem 1rem}.bo-analysis-kpis>div{position:relative;min-height:104px;padding:.8rem 1rem;border:1px solid #315a6b;border-radius:12px;background:linear-gradient(125deg,#12364a,#0e2b3e)}.bo-analysis-kpis span{color:#89c4d2;font-size:.62rem;font-weight:900;letter-spacing:.12em}.bo-analysis-kpis strong{display:block;margin:.2rem 0 0;color:#77e0bf;font-size:clamp(1.4rem,2.4vw,2.45rem);line-height:1;font-variant-numeric:tabular-nums}.bo-analysis-kpis strong.negative{color:#ffbc82}.bo-analysis-kpis strong small{font-size:.45em;color:#c6dfeb}.bo-analysis-kpis p{margin:.5rem 0 0;color:#9cb9c9;font-size:.65rem}.bo-analysis-kpis>div>div{height:5px;margin:.7rem 0 0;background:#315366;border-radius:9px}.bo-analysis-kpis>div>div i{display:block;height:100%;border-radius:9px;background:#66ddb7;transition:width 1s}.bo-analysis-plots{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:.7rem;padding:0 1.5rem}.bo-analysis-power,.bo-analysis-frequency{position:relative;overflow:hidden;padding:1rem;border:1px solid #31576a;border-radius:13px;background:linear-gradient(155deg,#102d40,#0a2031)}.bo-chart-title{display:flex;justify-content:space-between;align-items:start;gap:.7rem}.bo-chart-title>svg{width:20px!important;height:20px!important;flex:none;max-height:none!important}.bo-chart-title span{color:#77ced6;font-size:.59rem;font-weight:900;letter-spacing:.15em}.bo-chart-title h3{margin:.18rem 0 .4rem;font-size:1rem}.bo-chart-legend{display:flex;gap:.7rem;align-items:center}.bo-chart-legend span{display:flex;gap:.25rem;align-items:center;color:#a9cbd6;font-size:.64rem;letter-spacing:0}.bo-chart-legend i{display:block;width:9px;height:9px;border-radius:50%}.bo-chart-legend i.green{background:#6be4bc}.bo-chart-legend i.amber{background:#ffbe7f}.bo-analysis-power svg,.bo-analysis-frequency svg{display:block;width:100%;height:auto!important;max-height:220px}.bo-chart-wait{position:absolute;bottom:2.8rem;left:50%;transform:translate(-50%);padding:.45rem .65rem;border:1px solid #4b7380;border-radius:8px;background:#0c2a3be9;color:#bddee8;font-size:.66rem;white-space:nowrap}.bo-chart-wait span{color:#6cdec1;animation:bo-visual-beacon 1.8s infinite}.bo-frequency-readout{display:flex;align-items:baseline;gap:.25rem;margin:1.1rem 0 0}.bo-frequency-readout strong{color:#80e8c2;font-size:clamp(2.5rem,5vw,5.4rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.07em}.bo-frequency-readout.danger strong{color:#ff9e89}.bo-frequency-readout span{color:#a9d4df;font-size:1.4rem}.bo-analysis-frequency>p{color:#a2c0cf;font-size:.65rem;margin:.4rem 0 1rem}.bo-analysis-frequency svg{max-height:115px}.bo-frequency-note{display:flex;align-items:start;gap:.4rem;color:#b7d9de;font-size:.66rem;line-height:1.4}.bo-frequency-note svg{width:16px!important;height:16px!important;max-height:none;flex:none;color:#ffb77e}.bo-analysis-ribbon{display:flex;align-items:center;gap:.9rem;margin:1rem 1.5rem 0;padding:.65rem .8rem;border:1px solid #36596a;border-radius:9px;background:#102d3d}.bo-analysis-ribbon>span{color:#80d9d2;font-size:.62rem;font-weight:900;white-space:nowrap}.bo-analysis-ribbon i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#70d5c1}.bo-analysis-ribbon p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c4d8e1;font-size:.68rem}.bo-analysis-ribbon strong{margin-left:auto;color:#8eb9c8;font-size:.6rem;white-space:nowrap}@keyframes bo-network-flow{to{stroke-dashoffset:-19}}@keyframes bo-visual-beacon{50%{opacity:.4}}@media(max-width:1000px){.bo-analysis-plots{grid-template-columns:1fr}.bo-analysis-frequency{display:grid;grid-template-columns:1fr auto;gap:.5rem}.bo-analysis-frequency svg{grid-column:1/-1;max-height:120px}.bo-network-map{height:460px}}@media(max-width:660px){.bo-visual-head{align-items:start;padding:1rem;flex-direction:column}.bo-visual-head-stats{width:100%}.bo-network-map{height:330px}.bo-network-strip{grid-template-columns:repeat(3,1fr);padding:0 1rem 1rem}.bo-network-line-card{padding:.45rem}.bo-network-line-card strong{font-size:.8rem}.bo-network-line-card strong small{display:none}.bo-network-inspector{width:55%;padding:.6rem}.bo-analysis-kpis{padding:0 1rem 1rem;gap:.35rem}.bo-analysis-kpis>div{min-height:90px;padding:.55rem}.bo-analysis-kpis strong{font-size:1.2rem}.bo-analysis-kpis span{font-size:.49rem}.bo-analysis-kpis p{display:none}.bo-analysis-plots{padding:0 1rem}.bo-analysis-ribbon{margin:.7rem 1rem}.bo-analysis-ribbon strong{display:none}}@media(prefers-reduced-motion:reduce){.bo-network-view *,.bo-analysis-view *{animation:none!important;transition:none!important}}@media(max-width:660px){.bo-console-stage .bo-network-map,.bo-console-stage .bo-mobile-lines{display:none}.bo-console-stage .bo-network-view{min-height:0}.bo-console-stage .bo-network-strip{grid-template-columns:repeat(2,1fr)}}.bo-projector-alert.calm{background:#113b36;border-color:#3d8d77;color:#a5efd0}.bo-activity{grid-column:1/-1}.bo-activity-intro{color:#a9bfd0;line-height:1.6}.bo-activity-policy{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px;margin:14px 0 22px;border:1px solid #37566a;border-radius:16px;background:#10283a}.bo-activity-policy .bo-check{display:flex;align-items:center;gap:10px;min-width:250px;color:#ecf7ff;font-weight:700}.bo-activity-policy input[type=checkbox]{width:20px;height:20px;accent-color:#65dbca}.bo-activity-policy label:not(.bo-check){display:flex;align-items:center;gap:8px;color:#d7e7ef}.bo-activity-policy input[type=number]{width:70px;padding:8px;color:#fff;background:#071b2b;border:1px solid #53738a;border-radius:8px}.bo-activity-policy small{width:100%;color:#8fabbc}.bo-activity-layout{display:grid;grid-template-columns:minmax(220px,310px) 1fr;gap:20px}.bo-activity-roster{display:grid;align-content:start;gap:8px}.bo-activity-roster button{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:4px 10px;padding:12px;text-align:left;color:#e5f5ff;background:#102637;border:1px solid #315268;border-radius:12px;cursor:pointer}.bo-activity-roster button.active{border-color:#6bdccf;background:#1a3948}.bo-activity-roster button.blocked{border-color:#ff788c}.bo-activity-roster button>span{grid-row:span 2}.bo-activity-roster strong{font-size:14px}.bo-activity-roster small{grid-column:2;color:#a6becc}.bo-activity-roster b{grid-column:3;grid-row:span 2;color:#aac4d5;font-size:11px;white-space:nowrap}.bo-activity-detail{min-height:220px;padding:18px;border-radius:16px;background:#0d2233;border:1px solid #2f5165}.bo-activity-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.bo-activity-detail-head span{font-size:11px;color:#70d9d0;letter-spacing:.12em}.bo-activity-detail-head h3{margin:3px 0;font-size:24px}.bo-activity-detail-head p{margin:0;color:#aac0cf}.bo-activity-detail h4{margin:25px 0 8px}.bo-activity-warning{display:flex;align-items:center;gap:8px;color:#ffadb8}.bo-activity-event{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid #284457}.bo-activity-event time{color:#9bb9ca;font-variant-numeric:tabular-nums}.bo-activity-event small{color:#9bb9ca}@media(max-width:720px){.bo-activity-layout{grid-template-columns:1fr}.bo-activity-policy{align-items:stretch}.bo-activity-detail-head{align-items:flex-start;flex-direction:column}}.bo-student-v2{max-width:920px;padding-bottom:5rem}.bo-student-v2 .bo-mission-hero{position:relative;overflow:hidden;margin:.6rem 0 1rem;padding:1.2rem 1.3rem 1rem;border:1px solid color-mix(in srgb,var(--team-color) 55%,#213d55);border-radius:18px;background:radial-gradient(circle at 95% 0%,color-mix(in srgb,var(--team-color) 22%,transparent),transparent 47%),linear-gradient(135deg,#17364c,#0b1f31 75%);box-shadow:0 18px 45px #020d1b70}.bo-student-v2 .bo-mission-hero:after{content:"";position:absolute;right:-50px;bottom:-95px;width:250px;height:250px;border:1px solid color-mix(in srgb,var(--team-color) 24%,transparent);border-radius:50%;box-shadow:0 0 0 36px #ffffff08,0 0 0 72px #ffffff05;pointer-events:none}.bo-mission-hero-top{display:flex;align-items:center;gap:.75rem}.bo-role-icon{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:14px;color:#082030;background:var(--team-color);box-shadow:0 0 26px color-mix(in srgb,var(--team-color) 45%,transparent)}.bo-role-kicker{display:grid;gap:.25rem;color:var(--team-color);font-size:.68rem;font-weight:900;letter-spacing:.13em}.bo-role-kicker small{color:#a3c2d2;font-size:.61rem;letter-spacing:.06em}.bo-mission-hero .bo-clock{margin-left:auto;font-size:.86rem;color:#ffe2ac;white-space:nowrap}.bo-mission-hero h1{position:relative;z-index:1;margin:1rem 0 .2rem;font-size:clamp(1.65rem,4.4vw,2.5rem);letter-spacing:-.035em}.bo-mission-hero p{position:relative;z-index:1;margin:0 0 1.3rem;color:#c3d7e4;font-size:.9rem}.bo-mission-phase{display:flex;align-items:center;gap:.65rem;color:#9dbed1;font-size:.61rem;font-weight:850;letter-spacing:.09em}.bo-mission-phase>div{flex:1;max-width:200px;height:6px;background:#29495c;border-radius:10px;overflow:hidden}.bo-mission-phase i{display:block;height:100%;border-radius:10px;background:var(--team-color);box-shadow:0 0 14px var(--team-color);transition:width 1s ease}.bo-student-v2 .bo-mission-hud{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.75rem 0}.bo-mission-hud .bo-metric{padding:.8rem .85rem;border-color:#2d4d61;border-radius:12px;background:#10293c}.bo-mission-hud .bo-metric span{font-size:.58rem}.bo-mission-hud .bo-metric strong{font-size:clamp(1.25rem,4vw,1.85rem)}.bo-current-alert{display:flex;align-items:center;gap:.65rem;padding:.7rem .9rem;color:#ffd9b4;background:linear-gradient(90deg,#44302d,#2d2730);border:1px solid #8d6452;border-radius:10px;font-size:.77rem;font-weight:700}.bo-current-alert svg{flex:none}.bo-next-action{display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;align-items:center;margin:1rem 0;padding:1rem 1.1rem;border:1px solid color-mix(in srgb,var(--team-color) 55%,#365c70);border-radius:16px;background:linear-gradient(120deg,#17384a,#102a3c 60%,#10253a);box-shadow:0 12px 36px #0004}.bo-next-action-symbol{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;color:#082232;background:var(--team-color)}.bo-next-action span{font-size:.61rem;font-weight:950;letter-spacing:.14em;color:var(--team-color)}.bo-next-action h2{font-size:clamp(1.05rem,2.2vw,1.4rem);line-height:1.17;margin:.2rem 0}.bo-next-action p{font-size:.77rem;line-height:1.4;color:#aac6d5;margin:0}.bo-next-action button{display:flex;align-items:center;justify-content:center;gap:.25rem;min-height:44px;padding:.55rem .75rem;border:0;border-radius:9px;color:#082333;background:var(--team-color);font-size:.72rem;font-weight:850;white-space:nowrap}.bo-progress-track{display:grid;grid-template-columns:repeat(4,1fr);gap:.2rem;margin:1.1rem .25rem 1.25rem}.bo-progress-track>div{position:relative;display:grid;justify-items:center;gap:.36rem;color:#718fa3}.bo-progress-track>div:not(:last-child):after{content:"";position:absolute;top:16px;left:calc(50% + 20px);right:calc(-50% + 20px);height:2px;background:#315169}.bo-progress-track>div.done:not(:last-child):after{background:var(--team-color)}.bo-progress-track>div>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1d3a50;border:1px solid #41617a}.bo-progress-track>div.done>span{color:#082232;background:var(--team-color);border-color:var(--team-color)}.bo-progress-track small{font-size:.59rem;font-weight:750}.bo-student-tabs{position:sticky;top:0;z-index:24;display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.34rem;margin:0 0 .9rem;border:1px solid #2c5068;border-radius:13px;background:#0a1e30ed;box-shadow:0 12px 26px #0007;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bo-student-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:47px;padding:.4rem .5rem;border:0;border-radius:9px;color:#9dbccc;background:transparent;font-size:.76rem;font-weight:800;cursor:pointer}.bo-student-tabs button.active{color:#0b2739;background:var(--team-color);box-shadow:0 3px 14px color-mix(in srgb,var(--team-color) 35%,transparent)}.bo-student-tabs b{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;color:#fff;background:#d94e67;font-size:.58rem}.bo-student-tabpanel{animation:bo-panel-enter .28s ease-out}.bo-stage-card,.bo-team-stage,.bo-log-stage,.bo-console-stage{padding:1.15rem;background:#10283b;border:1px solid #315068;border-radius:15px}.bo-stage-heading{margin-bottom:1rem}.bo-stage-heading>span{display:block;color:var(--team-color);font-size:.64rem;letter-spacing:.16em;font-weight:950}.bo-stage-heading h2{font-size:1.4rem;margin:.35rem 0 .2rem;line-height:1.2}.bo-stage-heading p{font-size:.78rem;color:#a8c5d7;margin:0}.bo-stage-card>.bo-task{border-color:color-mix(in srgb,var(--team-color) 60%,#31516a);background:#0b2031;box-shadow:0 0 25px color-mix(in srgb,var(--team-color) 10%,transparent)}.bo-student-v2 .bo-task{margin:.65rem 0}.bo-student-v2 .bo-task h3{font-size:1.07rem}.bo-student-v2 .bo-task p{font-size:.94rem;line-height:1.55}.bo-student-v2 .bo-answer input{min-height:47px;min-width:0}.bo-student-v2 .bo-answer button{min-height:47px;padding:.65rem 1.1rem}.bo-student-v2 .bo-hint{min-height:40px}.bo-extra-tasks{margin-top:.8rem;padding:.75rem;border:1px solid #2b4c62;border-radius:10px;background:#0b2030}.bo-extra-tasks summary{display:flex;align-items:center;justify-content:space-between;color:#a9cddc;font-size:.78rem;font-weight:800;cursor:pointer;list-style:none}.bo-extra-tasks summary::-webkit-details-marker{display:none}.bo-extra-tasks[open] summary svg{transform:rotate(90deg)}.bo-stage-done{display:flex;align-items:center;gap:.7rem;padding:1rem;color:#b5f0d2;background:#124335;border:1px solid #4b9f7d;border-radius:10px;font-size:.85rem;font-weight:800}.bo-console-stage .bo-team-panel{display:flex;flex-direction:column;gap:.8rem;margin:0;padding:0;border:0;background:transparent}.bo-console-stage .bo-panel-header{order:0;margin:0}.bo-console-stage .bo-locked{order:1}.bo-console-stage .bo-control-stats,.bo-console-stage .bo-bars{order:2}.bo-console-stage .bo-action-card,.bo-console-stage .bo-critical-grid{order:3;margin:0;border-color:#40657a;background:#0b2032}.bo-console-stage .bo-generator-grid,.bo-console-stage .bo-line-list,.bo-console-stage .bo-panel-map,.bo-console-stage .bo-mobile-lines{order:4}.bo-console-stage .bo-panel-map svg{max-height:240px}.bo-console-stage .bo-panel-header h2{font-size:1.4rem}.bo-console-stage .bo-panel-header p{font-size:.8rem}.bo-console-stage .bo-action-card button,.bo-console-stage .bo-critical button,.bo-console-stage .bo-line-list button{min-height:44px}.bo-console-stage .bo-action-card>button{width:100%;margin:.25rem 0}.bo-console-stage .bo-action-card .bo-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.bo-console-stage .bo-action-card .bo-actions button{margin:0}.bo-console-stage .bo-action-card input[type=range]{width:100%;accent-color:var(--team-color)}.bo-comms-presets{display:grid;gap:.55rem}.bo-comms-presets button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:.7rem;min-height:64px;text-align:left;padding:.65rem .8rem;border:1px solid #3a5a71;border-radius:11px;color:#eaf6ff;background:#0a2033;cursor:pointer}.bo-comms-presets button:hover:not(:disabled){border-color:var(--team-color);background:#15374b}.bo-comms-presets button>span{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:#0a2434;background:var(--team-color)}.bo-comms-presets strong{font-size:.83rem}.bo-comms-presets small{grid-column:2;color:#a6c5d5;font-size:.68rem}.bo-comms-presets button>svg:last-child{grid-column:3;grid-row:1/3}.bo-team-messages,.bo-team-approvals{margin-top:1.1rem;padding:1rem;border:1px solid #315169;border-radius:12px;background:#0b2031}.bo-team-messages h3,.bo-team-approvals h3{display:flex;justify-content:space-between;margin:0 0 .65rem;font-size:1.05rem}.bo-team-approvals h3 em{font-size:.68rem;font-style:normal;color:#ffc477}.bo-team-messages>div{padding:.55rem 0;border-top:1px solid #25465b}.bo-team-messages>div span{color:var(--team-color);font-size:.57rem;font-weight:950;letter-spacing:.1em}.bo-team-messages>div p{margin:.1rem 0;font-size:.82rem}.bo-team-messages>div small{color:#86abc0;font-size:.68rem}.bo-empty-channel{color:#91b0c1;font-size:.78rem}.bo-approval-card{padding:.8rem;margin:.6rem 0;border:1px solid #87644f;border-radius:10px;background:#2d292a}.bo-approval-card>span{display:block;color:#ffbd83;font-size:.58rem;font-weight:900;letter-spacing:.1em}.bo-approval-card>strong{display:block;margin:.25rem 0;font-size:.9rem}.bo-approval-card>small{color:#b8cbd3}.bo-approval-card>div{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.bo-approval-card button{display:flex;align-items:center;gap:.4rem;min-height:44px;border:1px solid #6c8793;border-radius:8px;padding:.5rem .75rem;color:#e6f7ff;background:#173a4b}.bo-approval-card button:first-child{border:0;background:var(--team-color);color:#0b2636;font-weight:850}.bo-approval-card p{width:100%;margin:0;color:#f8be90;font-size:.72rem}.bo-timeline{border-left:2px solid #35566b;margin-left:.35rem}.bo-timeline>div{position:relative;padding:.25rem .5rem .85rem 1rem;border-bottom:1px solid #254359}.bo-timeline i{position:absolute;left:-6px;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--team-color);box-shadow:0 0 10px var(--team-color)}.bo-timeline time{display:block;color:#8eaebf;font-size:.64rem}.bo-timeline strong{font-size:.84rem}.bo-timeline small{color:#a9c8d8}.bo-game-toast{display:flex;align-items:center;gap:.6rem;padding:.65rem .85rem;margin:.8rem 0;border:1px solid #70d8ae;border-radius:9px;background:#123c36;color:#c4f6dc;font-size:.78rem;font-weight:700;animation:bo-panel-enter .3s ease-out}.bo-game-toast button{margin-left:auto;border:0;background:transparent;color:#c4f6dc;font-size:1.3rem}.bo-crew-lobby{text-align:center;padding:1.7rem 1rem;background:linear-gradient(140deg,#12334a,#102237);border:1px solid color-mix(in srgb,var(--team-color) 50%,#31546a);border-radius:16px}.bo-lobby-symbol{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 1rem;border-radius:20px;color:#0a2634;background:var(--team-color);box-shadow:0 0 35px color-mix(in srgb,var(--team-color) 45%,transparent)}.bo-crew-lobby h2{font-size:1.6rem;margin:.3rem 0}.bo-crew-lobby>p{max-width:34rem;margin:0 auto 1.2rem;color:#bad0df;font-size:.85rem}.bo-crew-lobby>.bo-button{display:inline-flex;align-items:center;gap:.5rem;min-height:48px}.bo-crew-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:1.7rem;text-align:left}.bo-crew-list>div{display:flex;align-items:center;gap:.5rem;padding:.6rem;background:#0d2638;border:1px solid #35556a;border-radius:10px}.bo-crew-list span{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;color:#0b2432;font-weight:900}.bo-crew-list strong{font-size:.73rem}.bo-crew-list small{margin-left:auto;color:#9dbbc9;font-size:.63rem}@keyframes bo-panel-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:680px){.bo-student-v2 .bo-mission-hud{gap:.35rem}.bo-mission-hud .bo-metric{padding:.65rem .55rem}.bo-mission-hud .bo-metric span{font-size:.5rem;line-height:1.15}.bo-next-action{grid-template-columns:auto 1fr}.bo-next-action button{grid-column:1/-1;width:100%}.bo-crew-list{grid-template-columns:1fr}.bo-student-tabs button{flex-direction:column;gap:.2rem;font-size:.64rem}.bo-student-tabs button b{position:absolute;right:8%;top:4px}.bo-stage-card,.bo-team-stage,.bo-log-stage,.bo-console-stage{padding:.8rem}.bo-console-stage .bo-generator-grid,.bo-console-stage .bo-critical-grid{grid-template-columns:1fr}.bo-console-stage .bo-line-list>div{grid-template-columns:40px 1fr auto}.bo-console-stage .bo-line-list>div small{grid-column:2/4}}@media(prefers-reduced-motion:reduce){.bo-student-v2 *{animation:none!important;transition:none!important}}.blackout-entry{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.3rem;margin-bottom:1.4rem;border-radius:18px;background:linear-gradient(110deg,#10243b,#203a57 68%,#163549);color:#fff;box-shadow:0 15px 34px #17395a29}.blackout-entry div{display:grid;gap:.22rem}.blackout-entry span{font-size:.68rem;letter-spacing:.16em;color:#78caff;font-weight:800}.blackout-entry strong{font-size:1.28rem;letter-spacing:.05em}.blackout-entry small{color:#b9cada}.blackout-entry .button{white-space:nowrap}.bo-app,.bo-projector{--bo-bg:#071421;--bo-panel:#102337;--bo-panel2:#142a40;--bo-line:#284259;--bo-text:#edf7ff;--bo-muted:#99b3c7;--bo-green:#68deb2;--bo-amber:#ffbd77;min-height:100vh;background:var(--bo-bg);color:var(--bo-text);font-family:Inter,system-ui,sans-serif}.bo-app *,.bo-projector *{box-sizing:border-box}.bo-app button,.bo-projector button,.bo-app input,.bo-app select,.bo-projector input{font:inherit}.bo-app button,.bo-projector button{cursor:pointer}.bo-app button:disabled,.bo-projector button:disabled{opacity:.45;cursor:not-allowed}.bo-app a{color:#9edcff}.bo-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,3vw,3rem);border-bottom:1px solid var(--bo-line);background:#091a2b}.bo-top>span{font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#7dbcd3}.bo-top i{font-style:normal;color:#6edcb2;font-size:.72rem;letter-spacing:.13em}.bo-back{display:flex;align-items:center;gap:.55rem;color:#fff!important;text-decoration:none;font-size:1.2rem;font-weight:800}.bo-back span{color:#72c8ff}.bo-main{max-width:1600px;margin:auto;padding:clamp(1rem,2.5vw,3rem)}.bo-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}.bo-heading h1{font-size:clamp(2.4rem,4vw,4.6rem);letter-spacing:-.05em;margin:.4rem 0}.bo-heading h1 small{font-size:.38em;letter-spacing:-.02em;color:#92b2c7;font-weight:500}.bo-heading p,.bo-card p{color:var(--bo-muted)}.bo-heading-actions{display:flex;gap:.6rem}.bo-kicker,.bo-card-title>span{color:#6bbbd4;font-size:.7rem;font-weight:800;letter-spacing:.16em}.bo-button,.bo-actions button,.bo-event-buttons button,.bo-demo-actions button,.bo-action-card button,.bo-critical button,.bo-line-list button,.bo-decisions button,.bo-message-form button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:43px;padding:.65rem 1rem;border:1px solid #42617b;border-radius:10px;background:#17334a;color:#e5f6ff;text-decoration:none;font-weight:700}.bo-button:hover,.bo-actions button:hover,.bo-event-buttons button:hover,.bo-demo-actions button:hover,.bo-action-card button:hover{border-color:#7ac9ed;background:#1b3f5c}.bo-button.primary,.bo-message-form button{color:#092235;background:#79d8f2;border-color:#79d8f2}.bo-button.quiet{background:transparent}.bo-button.full{width:100%}.bo-alert{border:1px solid #a94e61;background:#452334;color:#ffcad2;border-radius:10px;padding:.75rem 1rem;margin:1rem 0}.bo-teacher-grid{display:grid;grid-template-columns:minmax(255px,1fr) minmax(420px,2fr) minmax(255px,1fr);gap:1rem;align-items:start}.bo-card{background:linear-gradient(160deg,#10263c,#0c1d2d);border:1px solid var(--bo-line);border-radius:17px;padding:1.25rem;min-width:0;box-shadow:0 16px 40px #0002}.bo-card-title{margin-bottom:1rem}.bo-card-title h2{font-size:1.35rem;margin:.3rem 0;letter-spacing:-.03em}.bo-card-title em{font-size:.68rem;font-style:normal;color:#6dddb1;letter-spacing:.02em}.bo-card label,.bo-join label{display:grid;gap:.4rem;color:#b7cada;font-size:.82rem;font-weight:650;margin:.7rem 0}.bo-app select,.bo-app input:not([type=checkbox]):not([type=range]){width:100%;background:#09192a;color:#ebf7ff;border:1px solid #3c5870;border-radius:9px;padding:.72rem .8rem;min-height:43px}.bo-app input[type=range]{width:100%;accent-color:#79d8f2}.bo-card .bo-check{display:flex;align-items:center}.bo-session-list{display:grid;gap:.35rem;margin-top:1.2rem;max-height:280px;overflow:auto}.bo-session-list button{display:grid;gap:.25rem;text-align:left;color:#fff;background:#0b1e31;border:1px solid transparent;border-radius:9px;padding:.65rem}.bo-session-list button.active{border-color:#63bddf;background:#163752}.bo-session-list small,.bo-participant small{color:#92aac0}.bo-control-stats,.bo-mini-metrics,.bo-analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.bo-metric{display:grid;gap:.35rem;padding:.8rem;border:1px solid #28465b;border-radius:11px;background:#0c2033}.bo-metric>span{font-size:.62rem;letter-spacing:.13em;color:#9cb5c9;font-weight:800}.bo-metric strong{font-size:clamp(1.3rem,2vw,2.15rem);font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap}.bo-metric small{font-size:.48em;font-weight:550;color:#9cb5c9;letter-spacing:0}.bo-clock{display:inline-flex;align-items:center;gap:.4rem;font-variant-numeric:tabular-nums}.bo-bars{display:grid;gap:.65rem;margin:1rem 0}.bo-bars>div{position:relative;display:flex;justify-content:space-between;padding-bottom:.65rem;color:#c4d9e7;font-size:.69rem;font-weight:800;letter-spacing:.1em;border-bottom:5px solid #243b4d}.bo-bars b{font-size:.84rem;color:#fff}.bo-bars i{position:absolute;bottom:-5px;left:0;height:5px;border-radius:5px;transition:width 1s}.bo-actions{display:flex;flex-wrap:wrap;gap:.45rem}.bo-control .bo-actions{margin:1rem 0}.bo-event-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem}.bo-event-buttons span{font-size:.72rem;color:#ffb88c;letter-spacing:.08em}.bo-event-buttons button{min-height:36px;padding:.4rem .7rem;color:#ffd0b6;border-color:#795541}.bo-invite{text-align:center}.bo-invite img{display:block;width:min(190px,100%);padding:.6rem;background:#fff;border-radius:13px;margin:0 auto .75rem}.bo-invite strong{display:block;font-size:2rem;letter-spacing:.2em}.bo-invite a,.bo-invite small{display:block;margin:.35rem}.bo-participants{grid-column:1/3}.bo-participant{display:grid;grid-template-columns:26px 1fr auto minmax(150px,210px);align-items:center;gap:.55rem;padding:.45rem;border-bottom:1px solid #254057}.bo-participant select{padding:.4rem!important;min-height:32px!important}.bo-team-badge{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;color:#092335;font-size:.8rem;font-weight:900}.bo-demo,.bo-report{grid-column:1/3}.bo-demo-actions{display:flex;flex-wrap:wrap;gap:.5rem}.bo-log{grid-column:3;grid-row:span 2}.bo-log>div:not(.bo-card-title){display:grid;grid-template-columns:65px 1fr;gap:.25rem;padding:.45rem 0;border-bottom:1px solid #254057;font-size:.75rem}.bo-log time{color:#7fb5cf}.bo-log small{grid-column:2;color:#90b0c6}.bo-report .bo-control-stats{grid-template-columns:repeat(4,1fr)}.bo-join{max-width:980px;margin:clamp(2rem,8vh,6rem) auto;display:grid;grid-template-columns:1fr 1fr;border:1px solid #2e526b;border-radius:22px;overflow:hidden;background:#10273e;box-shadow:0 30px 80px #0006}.bo-join-art{padding:clamp(2rem,5vw,4rem);min-height:480px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 40% 35%,#275472,#091525 68%);position:relative}.bo-join-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 34px,#7dbad411 35px 36px);pointer-events:none}.bo-join-art>*{position:relative}.bo-join-art>svg{color:#75d9ed;margin-bottom:2rem}.bo-join-art>span{color:#7ad1e9;font-weight:800;letter-spacing:.22em}.bo-join-art h1{font-size:clamp(2.7rem,5vw,5rem);letter-spacing:-.06em;margin:.5rem 0}.bo-join-art p{color:#b7cbdc;max-width:22rem}.bo-join form{padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:center}.bo-join h2{font-size:2rem;margin:.4rem 0 1.5rem}.bo-student{max-width:880px;margin:auto;padding:1.1rem}.bo-student-head{padding:1.4rem;border-left:4px solid var(--team-color);background:linear-gradient(100deg,#17354d,#102136);border-radius:13px}.bo-student-head>span{font-size:.72rem;letter-spacing:.14em;color:var(--team-color);font-weight:800}.bo-student-head .bo-clock{float:right;color:#d7eaf4;font-size:.8rem}.bo-student-head h1{font-size:clamp(1.65rem,5vw,2.4rem);margin:.45rem 0}.bo-student-head p{margin:0;color:#a8bfd1;font-size:.84rem}.bo-mini-metrics{grid-template-columns:1fr 1fr;margin:.9rem 0}.bo-alert-strip{display:flex;gap:.6rem;align-items:center;padding:.75rem 1rem;background:#3c2b2c;border:1px solid #845653;border-radius:9px;color:#ffd2ae;font-size:.84rem}.bo-lobby,.bo-finish{text-align:center;padding:3rem 1rem;border:1px solid #345369;border-radius:15px;background:#10283d;margin-top:1rem}.bo-lobby>svg{color:#85e0ed}.bo-lobby p{color:#b9ccd9;max-width:34rem;margin:1rem auto}.bo-team-panel,.bo-tasks,.bo-communications,.bo-decisions{margin-top:1rem;padding:1.2rem;background:#102438;border:1px solid #2a4459;border-radius:14px}.bo-panel-header{border-bottom:1px solid #284357;padding-bottom:1rem;margin-bottom:1rem}.bo-panel-header span{color:var(--team-color);letter-spacing:.14em;font-size:.7rem;font-weight:900}.bo-panel-header h2{margin:.3rem 0;font-size:1.7rem}.bo-panel-header p{color:#acc4d2;font-size:.85rem;margin:0}.bo-panel-map,.bo-projector-visual{overflow:hidden;border:1px solid #35516b;border-radius:12px;background:#091829}.bo-panel-map svg{display:block;width:100%;height:auto}.bo-action-card{margin-top:1rem;padding:1rem;border:1px solid #345267;border-radius:11px;background:#0b1e31}.bo-action-card h3{margin:.1rem 0 .8rem}.bo-action-card>button{margin:.3rem}.bo-action-card select{margin-bottom:.65rem}.bo-action-card small,.bo-action-card p{color:#a6c0d2}.bo-action-card label{display:block;margin:.7rem 0;color:#d5e7f1}.bo-generator-grid,.bo-critical-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.bo-generator,.bo-critical{display:grid;gap:.5rem;padding:1rem;border:1px solid #36546a;border-radius:10px;background:#0a1d30}.bo-generator>div:first-child{display:flex;align-items:center;gap:.6rem}.bo-generator strong{color:#ffb66f}.bo-generator span,.bo-generator small,.bo-critical small{color:#a7bed1;font-size:.76rem}.bo-generator em{margin-left:auto;font-style:normal;font-size:.65rem;color:#86dba9;text-transform:uppercase}.bo-generator b{font-size:2rem}.bo-generator b small{font-size:.5em}.bo-meter{height:7px;border-radius:7px;background:#283e50}.bo-meter i{display:block;height:100%;background:#ffab68;border-radius:7px;transition:width 1s}.bo-critical svg{color:#ff8095}.bo-critical strong{font-size:1rem}.bo-critical span{font-size:1.4rem;font-weight:850}.bo-critical button{font-size:.8rem}.bo-line-list{display:grid;gap:.45rem}.bo-line-list>div{display:grid;grid-template-columns:45px 1fr auto auto;gap:.5rem;align-items:center;padding:.75rem;border:1px solid #36556b;border-radius:9px;background:#0b1d2d;font-size:.82rem}.bo-line-list .overloaded{border-color:#b47b48}.bo-line-list .failed{border-color:#b85764}.bo-line-list small{color:#73d8ba}.bo-line-list .overloaded small{color:#ffbd7e}.bo-line-list .failed small{color:#ff8694}.bo-tasks h2,.bo-communications h2,.bo-decisions h2{font-size:1.3rem;margin:.35rem 0 1rem}.bo-task{padding:1rem;border:1px solid #3c586c;border-radius:11px;margin:.7rem 0;background:#0b1e30}.bo-task.solved{border-color:#3b806a}.bo-task-head{display:flex;gap:.65rem;align-items:center}.bo-task-head>span{display:grid;place-items:center;border-radius:8px;width:34px;height:34px;color:#092238;background:var(--team-color)}.bo-task-head small{color:#8fb2ca;letter-spacing:.12em;font-size:.6rem;font-weight:800}.bo-task h3{margin:.1rem 0;font-size:1rem}.bo-task p{color:#d0e1eb;font-size:.88rem}.bo-answer{display:flex;gap:.5rem}.bo-answer input{flex:1}.bo-answer button{border:0;border-radius:8px;padding:.5rem .9rem;color:#0d273a;background:var(--team-color);font-weight:800}.bo-hint{display:flex;align-items:center;gap:.4rem;margin:.5rem 0;border:0;background:transparent;color:#ffce84;padding:.4rem}.bo-explain{padding:.8rem;background:#173e39;border-radius:8px;color:#cff5e8;font-size:.84rem}.bo-explain small{display:block;margin-top:.3rem;color:#86d3b5}.bo-feedback,.bo-hint-text{padding:.55rem;background:#213c4d;border-radius:7px}.bo-message-form{display:grid;grid-template-columns:1fr 1.2fr 1.2fr auto;gap:.5rem}.bo-communications>p{padding:.4rem;border-bottom:1px solid #2b485c;color:#b9cddc;font-size:.8rem}.bo-decisions>div{display:flex;align-items:center;gap:.65rem;justify-content:space-between;padding:.6rem;border-bottom:1px solid #28485c}.bo-decisions small{color:#99b6c8}.bo-finish{border-color:#4d9a79;background:#10372f}.bo-projector{overflow:hidden}.bo-projector-head{height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 2rem;background:#091b2a;border-bottom:1px solid #31506a}.bo-projector-head>div:first-child{display:grid}.bo-projector-head>div:first-child span{color:#72cbe6;font-size:.62rem;letter-spacing:.18em;font-weight:850}.bo-projector-head>div:first-child strong{font-size:1.4rem;letter-spacing:.08em}.bo-projector-tabs{display:flex;background:#0f2b40;padding:.3rem;border-radius:10px}.bo-projector-tabs button{padding:.65rem 1.1rem;color:#98bbd1;border:0;border-radius:7px;background:transparent;font-size:.72rem;letter-spacing:.1em;font-weight:800}.bo-projector-tabs button.active{background:#2c5c77;color:#fff}.bo-projector-options{display:flex;align-items:center;gap:.8rem}.bo-projector-options label{font-size:.7rem;color:#9dbcd0}.bo-projector-options button{border:0;background:transparent;color:#9ad3e5}.bo-projector-options input[type=range]{width:75px}.bo-projector-body{padding:1.25rem 2rem}.bo-projector-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.bo-projector-title span{color:#7ec6e2;font-size:.7rem;letter-spacing:.16em;font-weight:800}.bo-projector-title h1{font-size:clamp(1.3rem,2.4vw,2.7rem);margin:.2rem 0;letter-spacing:.03em}.bo-projector-title>.bo-clock{font-size:1.8rem;color:#ffd390}.bo-projector-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:1rem}.bo-projector-visual>svg{display:block;width:100%;height:min(65vh,650px)}.bo-visual-foot{display:flex;justify-content:space-between;gap:.5rem;padding:.7rem 1rem;background:#0c2133;border-top:1px solid #294a5e;color:#89bcd0;font-size:.67rem;font-weight:800;letter-spacing:.1em}.bo-projector-side{display:grid;align-content:start;gap:.7rem}.bo-projector-side>.bo-metric{padding:1.1rem}.bo-projector-side>.bo-metric strong{font-size:2.8rem}.bo-projector-side>.bo-bars{padding:1rem;margin:0;background:#10273a;border:1px solid #294b60;border-radius:11px}.bo-projector-critical{padding:1rem;background:#10273a;border:1px solid #294b60;border-radius:11px}.bo-projector-critical h2{font-size:.7rem;letter-spacing:.14em;color:#8fbdcf}.bo-projector-critical>div{display:flex;justify-content:space-between;gap:.5rem;border-bottom:1px solid #2a495c;padding:.55rem 0;font-size:.76rem}.bo-projector-critical strong{font-size:.67rem;letter-spacing:.08em}.bo-projector-alert{display:flex;gap:.6rem;align-items:center;padding:1rem;background:#4b2d32;border:1px solid #a26461;border-radius:11px;color:#ffd1b8;font-size:.82rem;font-weight:700}.bo-projector-footer{display:flex;justify-content:space-between;margin-top:1.2rem;color:#709ab0;font-size:.64rem;letter-spacing:.13em}.bo-projector-footer span{color:#6bddb8}.bo-network{background:#091728}.bo-city .bo-building rect,.bo-city .bo-building polygon,.bo-city .bo-district ellipse{transition:fill .8s,opacity 1.2s}.bo-pulse{animation:bo-pulse 1.4s infinite}.bo-line-alert{animation:bo-line 1s infinite}.bo-reduced *{animation:none!important;transition:none!important}@keyframes bo-pulse{50%{opacity:.35}}@keyframes bo-line{50%{opacity:.35}}.bo-analysis{padding:1rem}.bo-analysis h2{margin:.2rem 0 1rem}.bo-analysis svg{height:auto!important;max-height:50vh}.bo-analysis-grid{margin-bottom:1rem}@media(max-width:1100px){.bo-teacher-grid{grid-template-columns:1fr 1fr}.bo-control{grid-column:2}.bo-invite{grid-column:1}.bo-participants{grid-column:2}.bo-log{grid-column:1/3;grid-row:auto}.bo-demo,.bo-report{grid-column:1/3}.bo-projector-layout{grid-template-columns:1fr}.bo-projector-side{grid-template-columns:repeat(3,1fr)}.bo-projector-critical,.bo-projector-alert{grid-column:span 3}.bo-projector-visual>svg{height:auto}}@media(max-width:700px){.blackout-entry{align-items:start;flex-direction:column}.bo-top{padding:.8rem 1rem}.bo-top>span,.bo-top i{display:none}.bo-main{padding:1rem}.bo-heading{display:block}.bo-heading-actions{margin-top:1rem;flex-wrap:wrap}.bo-teacher-grid{display:block}.bo-card{margin-bottom:.8rem}.bo-control-stats{grid-template-columns:repeat(2,1fr)}.bo-participant{grid-template-columns:26px 1fr auto}.bo-participant select{grid-column:2/4}.bo-join{display:block;margin:1rem}.bo-join-art{min-height:220px;padding:2rem}.bo-join-art h1{font-size:2.8rem}.bo-join-art>svg{margin-bottom:.5rem}.bo-join form{padding:2rem}.bo-generator-grid,.bo-critical-grid{grid-template-columns:1fr}.bo-line-list>div{grid-template-columns:35px 1fr auto}.bo-line-list small{grid-column:2}.bo-message-form{grid-template-columns:1fr 1fr}.bo-message-form button{grid-column:1/3}.bo-projector-head{height:auto;padding:.7rem;flex-wrap:wrap}.bo-projector-tabs{order:3;width:100%;justify-content:center}.bo-projector-body{padding:.7rem}.bo-projector-title>.bo-clock{font-size:1rem}.bo-projector-side{display:block}.bo-projector-side>*{margin:.5rem 0}.bo-projector-critical,.bo-projector-alert{grid-column:auto}.bo-visual-foot{font-size:.55rem}.bo-report .bo-control-stats{grid-template-columns:repeat(2,1fr)}}.bo-mobile-lines{display:none}@media(max-width:700px){.bo-mobile-lines{display:grid;gap:.3rem;margin-top:.6rem}.bo-mobile-lines>div{display:grid;grid-template-columns:40px 1fr auto;gap:.4rem;padding:.55rem .7rem;border:1px solid #345267;border-radius:7px;background:#0b1e31;font-size:.78rem}.bo-mobile-lines small{color:#82d6be}}.bo-locked{padding:.7rem .85rem;margin-bottom:.8rem;border:1px solid #866748;border-radius:8px;background:#423228;color:#ffdab0;font-size:.82rem}.bo-decision-result{color:#a7c9d8;font-size:.8rem;border-top:1px solid #2a465a;padding-top:.45rem}.sidebar a.nav{text-decoration:none}.sidebar a.nav:hover{background:#26385b;color:#fff}.bo-activity{margin-top:1rem;padding:1.2rem;background:#102438;border:1px solid #2a4459;border-radius:14px}.bo-activity h2{font-size:1.3rem;margin:.35rem 0 1rem}.bo-activity p{margin:0;padding:.45rem 0;border-top:1px solid #28485c;color:#b4ccda;font-size:.8rem}.bo-activity time{color:#73bad8;margin-right:.5rem}.bo-report h3{font-size:1.02rem;margin:1.5rem 0 .65rem;color:#d4e8f8}.bo-report-scroll{max-width:100%;overflow:auto;border:1px solid #28445d;border-radius:10px}.bo-report table{width:100%;border-collapse:collapse;min-width:620px;color:#d2e5f4;font-size:.86rem}.bo-report th,.bo-report td{padding:.7rem .8rem;text-align:left;border-bottom:1px solid #28445d}.bo-report th{color:#8eacc4;background:#12293c;font-size:.73rem;text-transform:uppercase;letter-spacing:.06em}.bo-report-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.6rem}.bo-report-teams>div{display:flex;align-items:center;gap:.5rem;padding:.7rem;background:#142b3e;border:1px solid #28445d;border-radius:10px}.bo-report-teams>div span:last-child{margin-left:auto;color:#8eacc4;font-size:.75rem}.bo-report-failure{display:inline-block;margin:.2rem .4rem .2rem 0;padding:.35rem .6rem;border:1px solid #704551;background:#351e2b;border-radius:6px}.bo-report .bo-analysis{margin-top:1.4rem}.bo-lobby-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1.1rem 0}.bo-lobby-teams>div{display:flex;align-items:center;gap:.55rem;padding:.65rem;border:1px solid #2b4a61;border-radius:10px;background:#142d40;text-align:left}.bo-lobby-teams strong{font-size:.78rem}.bo-lobby-teams small{margin-left:auto;color:#a7c4d8;white-space:nowrap;font-size:.7rem}.bo-live-answers .bo-report-scroll{max-height:300px}@media(max-width:540px){.bo-lobby-teams{grid-template-columns:1fr}}
