@import url("https://fonts.googleapis.com/css2?family=Gowun+Dodum&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap");:root{--ink:#25243a;--muted:#6f6e82;--line:#e9e8f1;--surface:#ffffff;--background:#f7f7fb;--violet:#7161d9;--violet-dark:#5a49c5;--violet-soft:#eeebff;--blue:#568ee7;--mint:#38bda3;--coral:#f1816f;--yellow:#f4b844;--shadow:0 8px 28px rgba(47,43,89,0.07)}.criterion-test-evidence{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0}.criterion-test-evidence span{display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border-radius:12px;background:#edf8f3;color:#277c68;font-size:8px}.criterion-test-evidence span.failed{background:#fff0f1;color:#bd5362}.python-grade-evidence{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.python-grade-evidence>strong{font-size:9px}.python-grade-evidence article{margin-top:7px;padding:8px;border-radius:8px;background:#f1f9f6}.python-grade-evidence article.failed{background:#fff3f4}.python-grade-evidence article>div:first-child{display:flex;gap:5px;align-items:center;color:#267b68}.python-grade-evidence article.failed>div:first-child{color:#b84d5d}.python-grade-evidence article b{font-size:8px}.python-grade-evidence article p{margin:4px 0;color:#747080;font-size:7px;line-height:1.45}.python-grade-evidence article>div:last-child{display:flex;flex-wrap:wrap;gap:4px}.python-grade-evidence article>div:last-child span{padding:3px 5px;background:rgba(255,255,255,.72);border-radius:10px;color:#625d70;font-size:7px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--background);color:var(--ink);font-family:Noto Sans KR,sans-serif}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(113,97,217,.2);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;z-index:30;padding:24px 17px 18px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar-head{justify-content:space-between;padding:0 7px 24px}.brand,.sidebar-head{display:flex;align-items:center}.brand{gap:9px;font-size:20px;font-weight:800;letter-spacing:-.8px;position:relative}.brand small{position:absolute;left:43px;top:23px;font-size:7px;letter-spacing:2px;color:#a2a0b2}.brand-mark{width:34px;height:34px;display:grid;place-items:center;color:#fff;border-radius:10px 10px 10px 4px;background:linear-gradient(145deg,#8275e7,#6651ce);box-shadow:0 6px 14px rgba(100,79,204,.25)}.class-switcher{margin:7px 0 22px;border:1px solid var(--line);background:#faf9fd;border-radius:13px;padding:10px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;grid-gap:9px;gap:9px;cursor:pointer}.class-symbol{width:34px;height:34px;border-radius:10px;background:#e9e5ff;color:var(--violet);display:grid;place-items:center}.class-switcher span,.class-switcher strong{display:block}.class-switcher strong{font-size:12px}.class-switcher span{font-size:10px;color:var(--muted);margin-top:2px}.nav-list{display:flex;flex-direction:column;gap:4px}.nav-list button,.settings-link{border:0;background:none;display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:10px;color:#77758a;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.nav-list button:hover,.settings-link:hover{background:#f7f5ff;color:var(--violet)}.nav-list button.active{color:var(--violet-dark);background:var(--violet-soft)}.nav-list .count{margin-left:auto;background:var(--violet);color:white;border-radius:20px;font-size:10px;min-width:20px;padding:2px 5px;text-align:center}.nav-list button.learning-room-nav:hover{color:#126f79;background:#edfafa}.nav-list button.learning-room-nav.active{color:#126f79;background:#e4f7f8}.nav-list button.learning-room-nav .count{background:#1c9eaa}.nav-label{margin:19px 12px 7px;color:#aaa8b6;text-transform:uppercase;letter-spacing:1.4px;font-size:9px;font-weight:700}.sidebar-spacer{flex:1 1;min-height:16px}.tip-card{display:flex;gap:9px;padding:13px;background:#fff8e7;border:1px solid #f9e8bb;border-radius:13px;margin:0 3px 8px}.tip-card>span{color:#e6a922;flex:0 0 auto}.tip-card strong{display:block;font-size:11px;color:#5b4b20}.tip-card p{margin:4px 0 0;font-size:9px;line-height:1.6;color:#8c7b4f}.settings-link{width:100%}.main-area{min-width:0;flex:1 1;margin-left:248px}.topbar{height:68px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:20}.role-switch{display:flex;padding:3px;border:1px solid var(--line);background:#f8f8fb;border-radius:9px}.role-switch button{border:0;background:transparent;padding:6px 10px;border-radius:7px;font-size:10px;color:var(--muted);cursor:pointer;display:flex;gap:6px;align-items:center}.role-switch button.active{background:white;color:var(--violet);box-shadow:0 2px 8px rgba(53,47,83,.1);font-weight:700}.top-actions{display:flex;align-items:center;gap:14px}.help{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);cursor:pointer}.help,.icon-button{border:0;background:none}.icon-button{width:34px;height:34px;padding:0;border-radius:9px;display:inline-grid;place-items:center;cursor:pointer;color:#77758a}.icon-button:hover{background:#f2f0f8;color:var(--violet)}.notification{position:relative}.notification i{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--coral);border:1.5px solid white;top:7px;right:7px}.profile{display:flex;align-items:center;gap:9px;border:0;border-left:1px solid var(--line);padding:2px 0 2px 15px;background:transparent;cursor:pointer;text-align:left;border-radius:0 10px 10px 0}.profile:hover{color:var(--violet)}.profile>span{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;color:white;font-size:12px;background:linear-gradient(145deg,#f3a16d,#ec725f)}.profile small,.profile strong{display:block}.profile strong{font-size:11px}.profile small{color:#a1a0ad;font-size:9px;margin-top:1px}.menu-button,.mobile-close{display:none}.content{width:min(1180px,calc(100% - 60px));margin:0 auto;padding:42px 0 60px}.page-title,.welcome-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:27px}.eyebrow{color:var(--violet);font-size:10px;font-weight:700;letter-spacing:.4px;margin-bottom:8px}h1,h2,h3,p{margin-top:0}.page-title h1,.welcome-row h1{margin-bottom:7px;font-size:26px;letter-spacing:-1.2px}.welcome-row h1 span{font-size:24px}.page-title p,.welcome-row p{margin:0;color:var(--muted);font-size:12px}.approve-button,.primary-button,.run-button,.secondary-button,.submit-button{border:0;border-radius:10px;padding:10px 15px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;transition:.18s ease}.primary-button,.submit-button{background:var(--violet);color:white;box-shadow:0 6px 16px rgba(91,73,197,.2)}.primary-button:hover,.submit-button:hover{background:var(--violet-dark);transform:translateY(-1px)}.primary-button:disabled{background:#b6b2ca;cursor:not-allowed;box-shadow:none;transform:none}.secondary-button{background:white;border:1px solid var(--line);color:#666478}.secondary-button:hover{border-color:#c9c2ee;color:var(--violet)}.approve-button{color:#126b59;background:#e7f8f4}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px;margin-bottom:16px}.stat-card{background:white;border:1px solid var(--line);box-shadow:0 3px 14px rgba(42,37,77,.03);border-radius:15px;padding:17px;display:flex;gap:13px;align-items:center}.app-icon{width:41px;height:41px;flex:0 0 auto;border-radius:12px;display:inline-grid;place-items:center}.app-icon svg{width:19px}.app-icon.violet{color:var(--violet);background:#efecff}.app-icon.blue{color:var(--blue);background:#eaf3ff}.app-icon.mint{color:#27aa91;background:#e7f9f5}.app-icon.coral{color:var(--coral);background:#fff0ed}.stat-card div:last-child{display:grid;grid-template-columns:auto auto;align-items:end;width:100%}.stat-card span{grid-column:1/3;font-size:10px;color:var(--muted);margin-bottom:2px}.stat-card strong{font-size:20px;letter-spacing:-.7px}.stat-card small{font-size:8px;color:#aaa8b6;text-align:right;margin-bottom:4px}.dashboard-grid{display:grid;grid-template-columns:1.65fr 1fr;grid-gap:16px;gap:16px}.panel{background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 3px 16px rgba(42,37,77,.025)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 21px 12px}.panel-head h2{font-size:14px;margin-bottom:3px}.panel-head p{margin:0;font-size:9px;color:var(--muted)}.text-button{border:0;background:none;color:var(--violet);display:flex;align-items:center;font-size:9px;font-weight:700;cursor:pointer}.assignment-list{padding:0 13px 13px}.assignment-row{min-height:75px;display:grid;grid-template-columns:42px 1fr auto 34px;align-items:center;grid-gap:12px;gap:12px;padding:11px 9px;border-top:1px solid #f0eff5}.assignment-row:first-child{border-top:0}.assignment-badge{width:42px;height:42px;border-radius:12px;display:grid;place-items:center}.assignment-badge.violet{color:#7662d6;background:#ece8ff}.assignment-badge.coral{color:#e97864;background:#fff0ed}.assignment-badge.blue{color:#478adf;background:#eaf3ff}.assignment-main>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.assignment-main span,.assignment-main strong{display:block}.assignment-main strong{font-size:11px}.assignment-main span{color:var(--muted);font-size:8px;white-space:nowrap}.progress-track{height:4px;border-radius:4px;background:#f0eef5;margin-top:8px;overflow:hidden}.progress-track i{display:block;height:100%;background:linear-gradient(90deg,#8170df,#aa9eea);border-radius:inherit}.assignment-rate{min-width:44px;text-align:right}.assignment-rate span,.assignment-rate strong{display:block}.assignment-rate strong{font-size:12px}.assignment-rate span{font-size:8px;color:var(--muted)}.dashboard-empty{padding:27px 12px;color:var(--muted);text-align:center;font-size:9px}.activity-summary{display:flex;justify-content:center;align-items:center;gap:26px;padding:8px 20px 16px}.donut{width:99px;height:99px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--violet) 0 78%,#e9e5f7 78%);position:relative}.donut:after{content:"";position:absolute;inset:10px;background:white;border-radius:50%}.donut div{z-index:1;text-align:center}.donut span,.donut strong{display:block}.donut strong{font-size:18px}.donut span{color:var(--muted);font-size:8px}.legend p{display:grid;grid-template-columns:8px 1fr auto;grid-gap:7px;gap:7px;align-items:center;margin:8px 0;font-size:9px;color:var(--muted)}.legend strong{color:var(--ink);margin-left:12px}.dot{width:7px;height:7px;border-radius:50%}.dot.done{background:var(--violet)}.dot.working{background:#9ec6f4}.dot.idle{background:#e9e5f7}.activity-foot{margin:0 18px 16px;padding:9px 11px;background:#f5f3ff;color:#76738a;border-radius:8px;display:flex;justify-content:space-between;font-size:8px}.activity-foot strong{color:var(--violet)}.dashboard-data-badge{padding:5px 8px;border-radius:20px;color:var(--violet);background:#eeeaff;font-size:7px;font-weight:800}.dashboard-action-list{padding:0 13px 13px}.dashboard-action-list>button{width:100%;min-height:49px;display:grid;grid-template-columns:63px minmax(0,1fr) auto 16px;align-items:center;grid-gap:9px;gap:9px;padding:8px;border:0;border-top:1px solid #f0eff5;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.dashboard-action-list>button:hover{border-radius:9px;background:#faf9fd}.dashboard-action-list>button>span{width:-moz-fit-content;width:fit-content;padding:4px 6px;border-radius:10px;color:#b8584e;background:#ffe6e1;font-size:6px;font-weight:800}.dashboard-action-list>button>span.waiting{color:#936b25;background:#fff0cb}.dashboard-action-list small,.dashboard-action-list strong{display:block}.dashboard-action-list strong{font-size:9px}.dashboard-action-list small{max-width:330px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:7px}.dashboard-action-list b{font-size:9px}.dashboard-action-list svg{color:var(--muted)}.dashboard-action-empty{min-height:118px;display:flex;align-items:center;justify-content:center;gap:11px;padding:18px;color:#27806c}.dashboard-action-empty small,.dashboard-action-empty strong{display:block}.dashboard-action-empty strong{color:var(--ink);font-size:10px}.dashboard-action-empty small{margin-top:4px;color:var(--muted);font-size:7px}.deadline-risk-panel{grid-column:1/-1}.deadline-risk-list{display:grid;grid-template-columns:repeat(2,1fr);padding:0 13px 13px}.deadline-risk-list>button{min-height:52px;display:grid;grid-template-columns:70px minmax(0,1fr) auto 16px;align-items:center;grid-gap:9px;gap:9px;padding:9px;border:0;border-top:1px solid #f0eff5;color:var(--ink);background:transparent;text-align:left;cursor:pointer}.deadline-risk-list>button:hover{border-radius:9px;background:#faf9fd}.deadline-risk-list>button>span{width:-moz-fit-content;width:fit-content;padding:4px 7px;border-radius:10px;font-size:6px;font-weight:800}.deadline-risk-list>button>span.overdue{color:#b94e60;background:#ffe9ed}.deadline-risk-list>button>span.due_soon{color:#96661f;background:#fff0cb}.deadline-risk-list small,.deadline-risk-list strong{display:block}.deadline-risk-list strong{font-size:9px}.deadline-risk-list small{margin-top:3px;color:var(--muted);font-size:7px}.deadline-risk-list b{color:#6d687c;font-size:8px}.deadline-risk-list svg{color:var(--muted)}.insight-panel{display:flex;gap:14px;padding:19px;background:linear-gradient(120deg,#f1efff,#fff 78%);border-color:#ddd7ff}.insight-icon{width:40px;height:40px;border-radius:12px;flex:0 0 auto;display:grid;place-items:center;background:var(--violet);color:white;box-shadow:0 6px 14px rgba(91,73,197,.22)}.ai-label{color:var(--violet);font-size:8px;font-weight:800;letter-spacing:.6px}.insight-panel h3{font-size:13px;margin:4px 0 5px}.insight-panel p{color:#77748b;font-size:9px;line-height:1.7;margin-bottom:7px}.insight-panel button{padding:0;display:flex;align-items:center;border:0;background:none;color:var(--violet);font-size:9px;font-weight:700;cursor:pointer}.quick-actions{padding:0 12px 12px;display:grid;grid-gap:3px;gap:3px}.quick-actions>button{display:grid;grid-template-columns:38px 1fr auto;align-items:center;grid-gap:10px;gap:10px;width:100%;padding:8px;border:0;background:transparent;border-radius:11px;text-align:left;cursor:pointer}.quick-actions>button:hover{background:#faf9fd}.quick-actions .app-icon{width:37px;height:37px;border-radius:10px}.quick-actions small,.quick-actions strong{display:block}.quick-actions strong{font-size:10px}.quick-actions small{color:var(--muted);font-size:8px;margin-top:2px}.page-content{max-width:1080px}.page-title{align-items:center}.page-title h1{font-size:25px}.filter-row{display:flex;gap:5px;margin-bottom:13px}.filter{border:1px solid var(--line);padding:7px 12px;background:white;border-radius:20px;color:var(--muted);font-size:10px;cursor:pointer}.filter.active{background:var(--violet);border-color:var(--violet);color:white}.assignment-table{padding:8px 14px}.assignment-table .assignment-row{min-height:84px}.result-actions{display:flex;align-items:center;gap:8px}.result-actions label{font-size:9px;color:var(--muted)}.result-actions select{min-width:190px;border:1px solid var(--line);border-radius:10px;background:white;padding:9px 30px 9px 11px;color:var(--text);font:inherit;font-size:10px}.result-actions .secondary-button:disabled{cursor:not-allowed;opacity:.55}.result-overview{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;margin-bottom:16px}.result-overview>div{background:white;border:1px solid var(--line);border-radius:15px;padding:18px}.result-overview small,.result-overview span,.result-overview strong{display:block}.result-overview span{font-size:10px;color:var(--muted)}.result-overview strong{margin-top:5px;font-size:23px}.result-overview small{margin-top:3px;font-size:8px;color:#9896a6}.students-table{overflow:hidden}.student-row,.table-head{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr 35px;align-items:center;padding:12px 18px;grid-gap:15px;gap:15px}.table-head{background:#faf9fc;font-size:9px;color:var(--muted);border-bottom:1px solid var(--line)}.student-row{min-height:62px;border-bottom:1px solid #f0eff4;font-size:10px}.student-row:last-child{border:0}.student-name{display:flex;align-items:center;gap:9px}.student-name i{width:30px;height:30px;font-style:normal;background:#ece9ff;color:var(--violet);border-radius:9px;display:grid;place-items:center}.method,.status-badge{font-style:normal;display:inline-block;padding:4px 8px;border-radius:20px;font-size:8px;background:#e9f8f4;color:#26977f}.status-review{background:#fff3e0;color:#c5801f}.status-working{background:#eaf3ff;color:#4c82c6}.status-idle{background:#f0eff4;color:#777487}.score-cell strong{font-size:14px}.score-cell small{color:var(--muted);font-size:8px}.result-empty{padding:32px 18px;text-align:center;color:var(--muted);font-size:11px}.result-empty.error{color:#c44e62}.student-row .icon-button:disabled{cursor:not-allowed;opacity:.35}.student-row.interactive{cursor:pointer;transition:background .18s ease}.student-row.interactive:hover{background:#fbfaff}.student-row.interactive:focus-visible{outline:2px solid var(--violet);outline-offset:-2px}.student-row.interactive .icon-button{color:var(--violet)}.detail-backdrop{position:fixed;inset:0;z-index:110;display:flex;justify-content:flex-end;background:rgba(29,27,47,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.detail-panel{width:min(690px,94vw);height:100%;display:flex;flex-direction:column;background:#f8f7fb;box-shadow:-24px 0 70px rgba(22,19,47,.22)}.detail-head{min-height:92px;padding:19px 22px;justify-content:space-between;background:white;border-bottom:1px solid var(--line)}.detail-head,.detail-head>div{display:flex;align-items:center}.detail-head>div{gap:12px}.detail-head h2{margin:2px 0 0;font-size:18px}.detail-head p{margin:2px 0 0;color:var(--muted);font-size:9px}.detail-head .student-avatar{width:43px;height:43px}.detail-body{padding:18px;overflow-y:auto}.detail-state{margin:auto;padding:30px;text-align:center;color:var(--muted);font-size:11px}.detail-state.error{color:#c44e62}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px;margin-bottom:13px}.detail-summary>div{padding:14px;background:white;border:1px solid var(--line);border-radius:13px}.detail-summary span,.detail-summary strong{display:block}.detail-summary span{color:var(--muted);font-size:8px}.detail-summary strong{margin-top:4px;font-size:16px}.detail-section{margin-top:13px;padding:18px;background:white;border:1px solid var(--line);border-radius:15px}.detail-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.detail-section h3{margin:0;font-size:12px}.detail-section-head p{margin:3px 0 0;color:var(--muted);font-size:8px}.activity-total,.engine-badge{flex:none;padding:5px 8px;border-radius:20px;background:#eeeaff;color:var(--violet);font-size:8px;font-weight:700}.criterion-list{display:grid;grid-gap:8px;gap:8px}.criterion-item{display:grid;grid-template-columns:31px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:12px}.criterion-mark{width:29px;height:29px;display:grid;place-items:center;border-radius:9px}.criterion-item.passed .criterion-mark{background:#e9f8f4;color:#26977f}.criterion-item.failed .criterion-mark{background:#fff0f1;color:#c44e62}.criterion-item.manual .criterion-mark{background:#fff3e0;color:#c5801f}.criterion-item p,.criterion-item small,.criterion-item strong{display:block}.criterion-item strong{font-size:10px}.criterion-item p{margin:3px 0;color:var(--muted);font-size:8px}.criterion-item small{color:#8f8c9d;font-size:7px}.criterion-item b{font-size:11px}.snapshot-blocks{display:flex;flex-wrap:wrap;gap:7px}.snapshot-blocks span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:9px;background:#f4f2ff;color:#4f4773;font-size:8px;font-weight:650}.snapshot-blocks i{width:17px;height:17px;display:grid;place-items:center;border-radius:5px;background:white;color:var(--violet);font-style:normal}.activity-timeline{display:grid;grid-gap:3px;gap:3px}.activity-timeline>div{display:flex;align-items:center;gap:10px;padding:8px 5px;border-bottom:1px solid #f1f0f5}.activity-timeline>div:last-child{border-bottom:0}.activity-icon{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#efedff;color:var(--violet)}.activity-icon.event-program_run{background:#e9f5ff;color:#4c82c6}.activity-icon.event-submitted{background:#e9f8f4;color:#26977f}.activity-icon.event-block_removed{background:#fff0f1;color:#c44e62}.activity-timeline small,.activity-timeline strong{display:block}.activity-timeline strong{font-size:9px}.activity-timeline small{margin-top:2px;color:var(--muted);font-size:7px}.detail-empty{padding:20px 10px;text-align:center;color:var(--muted);font-size:9px}.record-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:15px;gap:15px}.record-card{padding:19px}.record-head{display:flex;align-items:center;gap:10px}.student-avatar{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:#ece9ff;color:var(--violet);font-weight:700}.record-head small,.record-head strong{display:block}.record-head strong{font-size:11px}.record-head small{font-size:8px;color:var(--muted);margin-top:2px}.draft-badge{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:8px;color:var(--violet);background:#f0edff;padding:5px 7px;border-radius:20px}.evidence-chips{display:flex;flex-wrap:wrap;gap:5px;margin:15px 0 10px}.evidence-chips span{font-size:8px;color:#6e6b7e;background:#f6f5f9;border:1px solid #eceaf2;padding:4px 7px;border-radius:20px}.draft-copy{background:#faf9fc;border-radius:10px;padding:12px;color:#666477;font-size:9px;line-height:1.8;margin:0}.record-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}.record-actions button{padding:7px 10px;font-size:9px}.record-filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:13px}.record-filter-bar input,.record-filter-bar select{min-height:38px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;font:inherit;font-size:9px}.record-filter-bar input{min-width:260px}.record-filter-bar span{margin-left:auto;color:var(--muted);font-size:8px}.draft-badge.approved{color:#237d69;background:#e5f7f1}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(29,27,47,.52);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.creator-modal{width:min(720px,100%);max-height:calc(100vh - 40px);display:flex;flex-direction:column;background:white;border-radius:20px;box-shadow:0 24px 80px rgba(22,19,47,.3);overflow:hidden}.creator-head{display:flex;justify-content:space-between;padding:19px 22px;border-bottom:1px solid var(--line)}.creator-head>div{display:flex;align-items:center;gap:10px}.creator-icon{width:37px;height:37px;border-radius:11px;background:linear-gradient(145deg,#8473e4,#5c4ac6);color:white;display:grid;place-items:center}.creator-head small,.creator-head strong{display:block}.creator-head strong{font-size:14px}.creator-head small{color:var(--muted);font-size:9px;margin-top:3px}.steps{justify-content:center;padding:16px;background:#faf9fc}.steps,.steps span{display:flex;align-items:center}.steps span{gap:6px;font-size:9px;color:#aaa8b6;font-weight:600}.steps i{width:21px;height:21px;border-radius:50%;border:1px solid #d8d5e3;display:grid;place-items:center;font-style:normal}.steps span.active{color:var(--violet)}.steps span.active i{background:var(--violet);border-color:var(--violet);color:white}.steps b{width:55px;height:1px;background:#dedce6;margin:0 9px}.creator-body{overflow-y:auto;padding:23px 28px;min-height:330px}.prompt-step>label{font-size:12px;font-weight:700;display:block;margin-bottom:9px}.prompt-step>label:not(:first-child){margin-top:15px}.assignment-title-input{width:100%;border:1px solid #dcd9e6;border-radius:10px;padding:10px 12px;font-size:11px;color:var(--ink)}.assignment-title-input:focus,.prompt-step textarea:focus{border-color:var(--violet)}.prompt-step textarea{width:100%;min-height:125px;resize:vertical;border:1px solid #dcd9e6;border-radius:13px;padding:14px;font-size:11px;line-height:1.8;color:var(--ink)}.prompt-guide{display:flex;gap:9px;margin-top:12px;padding:11px;background:#fff8e9;border-radius:10px;color:#8a7342;font-size:9px;line-height:1.6}.prompt-guide svg{color:#e7a81e;flex:0 0 auto}.prompt-guide strong{display:block;color:#6a5422}.example-prompts{display:flex;align-items:center;gap:7px;margin-top:16px}.example-prompts span{font-size:8px;color:var(--muted)}.example-prompts button{border:1px solid var(--line);background:white;border-radius:20px;font-size:8px;padding:6px 9px;cursor:pointer}.example-prompts button:hover{color:var(--violet);border-color:#cfc7f6}.ai-notice{display:flex;gap:10px;padding:12px;background:#f1efff;border:1px solid #ded9ff;border-radius:11px;color:var(--violet);margin-bottom:16px}.ai-notice strong{font-size:10px}.ai-notice p{margin:3px 0 0;color:#77728f;font-size:8px}.rubric-head,.rubric-row{display:grid;grid-template-columns:1fr 85px 76px 30px;grid-gap:9px;gap:9px;align-items:center}.rubric-head{color:var(--muted);font-size:8px;padding:0 7px 6px}.rubric-row{padding:8px 7px;border-top:1px solid #eeecf3}.rubric-row>input{width:100%;border:0;background:transparent;font-size:9px;padding:7px;border-radius:7px}.rubric-row>input:focus,.rubric-row>input:hover{background:#f8f7fa}.point-input{position:relative}.point-input input{width:100%;border:1px solid var(--line);border-radius:8px;padding:6px 23px 6px 8px;font-size:9px}.point-input span{position:absolute;right:8px;top:6px;font-size:8px;color:var(--muted)}.method{text-align:center}.method.manual{background:#f1f0f5;color:#777589}.add-criterion{border:0;background:none;color:var(--violet);gap:5px;font-size:9px;font-weight:700;padding:10px 7px;cursor:pointer}.add-criterion,.total-points{display:flex;align-items:center}.total-points{justify-content:flex-end;gap:7px;border-top:1px solid var(--line);padding-top:11px;font-size:10px}.total-points strong{font-size:14px}.total-points small{color:#d26c5a}.total-points.valid svg{color:var(--mint)}.rubric-item{border-top:1px solid #eeecf3}.rubric-item .rubric-row{border-top:0}.rubric-row .method{border:0;cursor:pointer}.rubric-rule-panel{margin:0 7px 10px;padding:10px;border:1px solid #e5e1f3;background:#faf9fe;border-radius:10px}.rubric-rule-panel>label{display:grid;grid-template-columns:105px 1fr;align-items:center;grid-gap:9px;gap:9px;color:#68627b;font-size:9px}.criterion-test-row input,.criterion-test-row select,.rubric-rule-panel select{min-width:0;border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 8px;font-size:9px}.criterion-tests{margin-top:10px}.criterion-tests>small{color:var(--muted);font-size:8px}.criterion-tests-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.criterion-tests-head strong{font-size:9px}.criterion-tests-head button{display:flex;align-items:center;gap:3px;border:0;background:none;color:var(--violet);font-size:8px;font-weight:700;cursor:pointer}.criterion-test-row{display:grid;grid-template-columns:1fr 125px 1fr 48px 28px;grid-gap:6px;gap:6px;align-items:center;margin-top:6px}.test-visibility{border:0;border-radius:20px;padding:6px;background:#e6f6f0;color:#247f6d;font-size:8px;cursor:pointer}.test-visibility.hidden{background:#eeeaf8;color:#6654a3}.creator-foot{padding:14px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;background:#fcfbfd}.student-page{height:calc(100vh - 68px);display:flex;flex-direction:column;overflow:hidden}.student-taskbar{height:63px;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 23px;background:white;border-bottom:1px solid var(--line)}.student-taskbar>div{display:flex;align-items:center;gap:12px}.student-taskbar strong{font-size:12px}.student-taskbar small{font-size:8px;color:#aaa8b6}.back-chip{color:var(--violet);font-size:9px;padding-right:12px;border-right:1px solid var(--line)}.student-score-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:9px;background:#efecff;color:#7569a2;font-size:8px}.student-score-chip strong{color:var(--violet);font-size:11px}.entry-studio{flex:1 1;min-height:0;display:flex;flex-direction:column;background:#f5f4f8}.entry-studio-bar{min-height:50px;flex:0 0 auto;display:flex;align-items:center;gap:14px;padding:7px 13px;background:#fbfaff;border-bottom:1px solid var(--line)}.entry-studio-title{display:flex;align-items:center;gap:8px;min-width:210px}.entry-studio-title small,.entry-studio-title strong{display:block}.entry-studio-title strong{font-size:10px}.entry-studio-title small{margin-top:2px;color:var(--muted);font-size:7px}.entry-brand-dot{width:29px;height:29px;display:grid;place-items:center;border-radius:8px;color:white;background:linear-gradient(145deg,#34bb78,#15995b);font-size:13px;font-weight:800}.entry-project-counts{display:flex;align-items:center;gap:5px}.entry-project-counts span{padding:5px 7px;border-radius:8px;color:var(--muted);background:white;border:1px solid var(--line);font-size:7px}.entry-project-counts strong{color:var(--ink);font-size:8px}.entry-studio-actions{margin-left:auto;display:flex;gap:5px}.entry-studio-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:31px;padding:0 9px;border:1px solid var(--line);border-radius:8px;color:#5f5b72;background:white;cursor:pointer;font-size:8px}.entry-studio-actions button:hover{border-color:#c9c1ee;color:var(--violet)}.entry-studio-actions button:disabled{cursor:wait;opacity:.45}.entry-frame-wrap{flex:1 1;min-height:0;position:relative;background:#efedf3}.entry-frame-wrap iframe{width:100%;height:100%;display:block;border:0;background:white}.entry-frame-loading{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#f8f7fc;color:var(--violet)}.entry-frame-loading strong{font-size:11px}.entry-frame-loading span{color:var(--muted);font-size:8px}.entry-sync-state{min-height:30px;flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:5px 13px;border-top:1px solid var(--line);color:#6f6b80;background:white;font-size:8px}.entry-sync-state.saved svg{color:#27947d}.entry-sync-state.error{color:#b75262}.entry-sync-state small{margin-left:auto;color:#aaa7b5;font-size:7px}.student-score-chip.confirmed{color:#247d69;background:#e2f6ef}.student-score-chip.confirmed strong{color:#247d69}.student-score-chip.pending{color:#936b25;background:#fff1cf}.student-score-chip.pending strong{color:#936b25}.student-result-summary{margin:12px 0;padding:12px;border:1px solid #ead7ae;border-radius:12px;background:#fffaf0}.student-result-summary.confirmed{border-color:#bfe5d9;background:#f1faf7}.student-result-summary header{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-result-summary header span{display:inline-flex;align-items:center;gap:5px;color:#936b25;font-size:7px;font-weight:800}.student-result-summary.confirmed header span{color:#247d69}.student-result-summary header strong{font-size:8px}.student-result-summary>div{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;grid-gap:5px;gap:5px;margin-top:9px}.student-result-summary>div>span{padding:8px 5px;border-radius:8px;background:rgba(255,255,255,.8);text-align:center}.student-result-summary>div b,.student-result-summary>div small{display:block}.student-result-summary>div small{color:var(--muted);font-size:6px}.student-result-summary>div b{margin-top:3px;font-size:9px}.student-result-summary>div>i{color:var(--muted);font-size:8px;font-style:normal}.student-result-summary .student-result-final{color:var(--violet);background:#f1edff}.student-result-summary.confirmed .student-result-final{color:#247d69;background:#e1f4ed}.student-result-summary>p{display:flex;align-items:flex-start;gap:5px;margin:8px 0 0;color:#7b6b4b;font-size:7px;line-height:1.5}.student-result-summary.confirmed>p{color:#356f61}.student-result-summary>p svg{flex:none}.student-result-confirmed-at{display:block;margin-top:6px;color:var(--muted);text-align:right;font-size:6px}.workspace-layout{flex:1 1;min-height:0;display:grid;grid-template-columns:205px 1fr 300px}.block-palette,.stage-panel{background:white;z-index:2;overflow-y:auto}.block-palette{border-right:1px solid var(--line);padding:17px 12px}.block-palette>div{padding:0 5px 13px}.block-palette>div small,.block-palette>div strong{display:block}.block-palette>div strong{font-size:12px}.block-palette>div small{color:var(--muted);font-size:8px;margin-top:3px}.block-palette>button{display:grid;grid-template-columns:7px 1fr auto;align-items:center;grid-gap:8px;gap:8px;width:100%;border:1px solid var(--line);background:white;padding:9px;border-radius:10px;margin-bottom:7px;cursor:pointer;text-align:left}.block-palette>button:hover{border-color:#cfc8f0;box-shadow:0 4px 10px rgba(60,50,100,.05)}.block-palette button>i{width:7px;align-self:stretch;border-radius:5px}.block-palette button>i.yellow{background:#f5bf4f}.block-palette button>i.orange{background:#ee9361}.block-palette button>i.blue{background:#609be8}.block-palette button>i.mint{background:#47bea7}.block-palette button>i.purple{background:#806bd8}.block-palette button small,.block-palette button strong{display:block}.block-palette button strong{font-size:8px}.block-palette button small{font-size:7px;color:var(--muted);margin-top:2px}.coding-canvas{overflow:auto;position:relative;background:#f4f5f8}.canvas-grid{position:absolute;inset:0;background-image:radial-gradient(#cacbd2 1px,transparent 0);background-size:22px 22px;opacity:.55}.program-stack{position:relative;padding:50px;width:max-content;min-width:100%}.code-block{width:275px;min-height:42px;border-radius:8px 8px 8px 3px;display:flex;align-items:center;gap:8px;color:white;padding:10px 12px;margin-top:3px;font-size:10px;font-weight:700;box-shadow:0 4px 9px rgba(31,33,55,.12),inset 0 -2px rgba(0,0,0,.07)}.code-block.yellow{background:#eeb33c}.code-block.orange{background:#ea8955}.code-block.blue{background:#568fdd}.code-block.mint{background:#3ab49c}.code-block.purple{background:#7560cd}.code-block button{margin-left:auto;border:0;background:rgba(255,255,255,.16);color:white;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;cursor:pointer}.empty-canvas{width:350px;height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#aaa9b4}.empty-canvas strong{margin-top:8px;font-size:12px}.empty-canvas span{font-size:8px;margin-top:4px}.stage-panel{border-left:1px solid var(--line);padding-bottom:16px}.stage-head{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line)}.stage-head strong{font-size:11px}.maze-stage{height:210px;margin:14px;border-radius:12px;background:#fff5d9;position:relative;overflow:hidden;border:1px solid #eddfb8}.maze-lines{position:absolute;inset:13px;background:linear-gradient(90deg,#65ad8d 7px,transparent 0) 0 0 /55px 55px,linear-gradient(#65ad8d 7px,transparent 0) 0 0 /55px 55px;opacity:.8}.character{position:absolute;left:28px;bottom:25px;width:44px;height:44px;border-radius:50%;background:white;box-shadow:0 4px 9px rgba(61,49,24,.18);display:grid;place-items:center;font-size:26px;transition:transform .7s ease}.character.moving{transform:translate(130px,-85px) rotate(8deg)}.goal{position:absolute;right:32px;top:28px;font-size:27px}.task-checklist{margin:0 14px;border:1px solid var(--line);border-radius:12px;padding:12px}.task-checklist>div{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--violet)}.task-checklist>div strong{font-size:10px;color:var(--ink)}.task-checklist>div span{margin-left:auto;color:var(--muted);font-size:8px}.task-checklist p{display:flex;align-items:center;gap:7px;margin:7px 0;color:#77758a;font-size:8px}.task-checklist p>span{flex:0 0 auto;width:17px;height:17px;border:1px solid #dddbe5;border-radius:50%;display:grid;place-items:center}.task-checklist p.passed{color:#27947d}.task-checklist p.passed>span{background:#ddf5ef;border-color:#a8dece}.grading-result{margin:10px 14px 0;padding:11px;border-radius:10px;background:#efecff;color:var(--violet)}.grading-result>div{display:flex;gap:7px;align-items:center}.grading-result strong{font-size:10px}.grading-result p{color:#76718d;font-size:8px;line-height:1.5;margin:5px 0 0}.toast{position:fixed;z-index:200;right:26px;bottom:26px;display:flex;align-items:center;gap:8px;background:#29263c;color:white;padding:12px 16px;border-radius:11px;box-shadow:0 10px 30px rgba(30,27,52,.25);font-size:10px;animation:toast-in .25s ease}.toast svg{color:#63d1b8}@keyframes toast-in{0%{transform:translateY(12px);opacity:0}}.notification-panel{position:fixed;z-index:90;top:60px;right:24px;width:min(390px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 84px));overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 55px rgba(34,31,64,.18)}.notification-panel>header{position:-webkit-sticky;position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.notification-panel>header div{display:grid;grid-gap:2px;gap:2px}.notification-panel>header strong{font-size:14px}.notification-panel>header small{color:var(--muted)}.notification-panel>div{padding:8px}.notification-panel>div>button{width:100%;display:grid;grid-template-columns:36px 1fr;grid-gap:10px;gap:10px;text-align:left;padding:12px;border:0;border-radius:12px;background:transparent;color:inherit;cursor:pointer}.notification-panel>div>button.unread,.notification-panel>div>button:hover{background:#f6f3ff}.notification-panel>div>button>span{width:34px;height:34px;display:grid;place-items:center;color:var(--violet);background:#ece7ff;border-radius:10px}.notification-panel button div{display:grid;grid-gap:3px;gap:3px}.notification-panel button p{margin:0;color:#4f4a62;font-size:11px}.notification-panel button small{color:var(--muted)}.notification-empty{margin:0;padding:34px 18px;text-align:center;color:var(--muted)}.submission-policy-editor{display:grid;grid-template-columns:minmax(180px,1fr) 150px;grid-gap:12px;gap:12px;padding:16px;margin-top:4px;border:1px solid var(--line);border-radius:14px;background:#faf9fe}.submission-policy-editor>div{display:grid;grid-gap:3px;gap:3px;align-content:center}.submission-policy-editor label small,.submission-policy-editor>div small{color:var(--muted);font-weight:500}.submission-policy-editor>label{margin:0}.submission-policy-editor>label>span{font-size:10px}.submission-policy-editor .policy-toggle{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;padding:10px 0 0;border-top:1px solid var(--line);cursor:pointer}.submission-policy-editor .policy-toggle input{width:17px;height:17px;margin-top:2px}.submission-policy-editor .policy-toggle span{display:grid;grid-gap:2px;gap:2px}.submission-policy-editor .policy-toggle strong{font-size:11px}.criterion-analytics{margin-bottom:18px}.criterion-analytics-list{display:grid;grid-gap:12px;gap:12px;padding:0 20px 20px}.criterion-analytics-list article{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(150px,1fr) 48px;align-items:center;grid-gap:14px;gap:14px}.criterion-analytics-list article>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:5px 8px;gap:5px 8px}.criterion-analytics-list article span{padding:3px 7px;border-radius:999px;font-size:9px;font-style:normal}.criterion-analytics-list article span.auto{color:#5341b9;background:#ede9ff}.criterion-analytics-list article span.manual{color:#9b5b18;background:#fff0d9}.criterion-analytics-list article small{grid-column:2;color:var(--muted)}.criterion-analytics-list article>b{text-align:right}.achievement-meter{height:9px;overflow:hidden;border-radius:999px;background:#eeeaf5}.achievement-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7564df,#5bc7ad)}.attachment-manager{width:min(620px,calc(100vw - 30px));max-height:min(700px,calc(100vh - 30px));overflow:auto;background:#fff;border-radius:20px;box-shadow:0 24px 70px rgba(31,27,58,.25)}.attachment-manager>footer,.attachment-manager>header{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line)}.attachment-manager>header div{display:grid;grid-gap:3px;gap:3px}.attachment-manager>header small{color:var(--muted)}.attachment-manager>footer{justify-content:flex-end;border-top:1px solid var(--line);border-bottom:0}.attachment-manager-body{display:grid;grid-gap:14px;gap:14px;padding:20px}.attachment-upload{display:flex;align-items:center;gap:12px;padding:18px;border:1.5px dashed #b9addf;border-radius:14px;color:var(--violet);background:#faf8ff;cursor:pointer}.attachment-upload.disabled{opacity:.6;cursor:wait}.attachment-upload span{display:grid;grid-gap:3px;gap:3px}.attachment-upload small{color:var(--muted)}.attachment-upload input{display:none}.attachment-list{display:grid;grid-gap:7px;gap:7px}.attachment-list>div{display:grid;grid-template-columns:34px 1fr 32px;align-items:center;grid-gap:9px;gap:9px;padding:10px;border:1px solid var(--line);border-radius:11px}.attachment-list>div>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:var(--violet);background:#eeeaff}.attachment-list>div>div{display:grid;grid-gap:2px;gap:2px;min-width:0}.attachment-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-empty,.attachment-list small{color:var(--muted)}.attachment-empty{text-align:center;padding:20px}.student-attachment-strip{margin:12px auto;width:min(1180px,calc(100% - 28px));padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff}.student-attachment-strip>strong{display:flex;align-items:center;gap:6px;margin-bottom:8px}.student-attachment-strip>div{display:flex;flex-wrap:wrap;gap:7px}.student-attachment-strip button{display:flex;align-items:center;gap:6px;max-width:280px;padding:7px 9px;border:1px solid #e4dff4;border-radius:9px;color:#4e466c;background:#faf8ff;cursor:pointer}.student-attachment-strip button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-attachment-strip button small{color:var(--muted)}.resubmission-control{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:14px 16px;border:1px solid #ded7f7;border-radius:13px;background:#faf8ff}.resubmission-control>div{display:flex;align-items:center;gap:10px;color:var(--violet)}.resubmission-control span{display:grid;grid-gap:3px;gap:3px;color:var(--ink)}.resubmission-control small{color:var(--muted)}.resubmission-control p{grid-column:1/-1;margin:0;color:#5d5385}.student-override-panel{display:grid;grid-gap:8px;gap:8px;padding:12px 18px;overflow:visible;border-bottom:1px solid var(--line);background:#f8f7fb}.deadline-control{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;align-items:center;grid-gap:10px;gap:10px;padding:14px 16px;border:1px solid #cfe1ed;border-radius:13px;background:#f6fbff}.deadline-control>div{display:flex;align-items:center;gap:10px;color:#3d7ea4}.deadline-control>div span{display:grid;grid-gap:3px;gap:3px;color:var(--ink)}.deadline-control small{color:var(--muted)}.deadline-control label{display:grid;grid-gap:3px;gap:3px;color:var(--muted);font-size:7px}.deadline-control input{min-height:31px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:inherit}.deadline-control p{grid-column:1/-1;margin:0;color:#3d6f8c}@media (max-width:1050px){.sidebar{width:220px}.main-area{margin-left:220px}.content{width:calc(100% - 36px)}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.workspace-layout{grid-template-columns:180px 1fr 270px}.profile div{display:none}}@media (max-width:780px){.sidebar{width:250px;transform:translateX(-102%);transition:transform .25s ease;box-shadow:10px 0 35px rgba(29,26,55,.17)}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.menu-button,.mobile-close{display:inline-grid}.topbar{padding:0 15px}.role-switch button{padding:6px 8px}.help,.profile div,.profile>svg,.role-switch button svg{display:none}.profile{padding-left:8px}.content{width:calc(100% - 28px);padding-top:28px}.page-title,.welcome-row{align-items:flex-start;flex-direction:column}.page-title .primary-button,.welcome-row .primary-button{width:100%}.result-actions{width:100%;flex-wrap:wrap}.result-actions select{flex:1 1;min-width:160px}.stat-grid{grid-template-columns:repeat(2,1fr)}.record-grid{grid-template-columns:1fr}.workspace-layout{grid-template-columns:150px minmax(380px,1fr);overflow-x:auto}.stage-panel{display:none}.student-taskbar{padding:0 12px}.back-chip,.student-taskbar small{display:none}.result-overview{grid-template-columns:1fr}.students-table{overflow-x:auto}.student-row,.table-head{min-width:680px}.rubric-head,.rubric-row{grid-template-columns:1fr 72px 65px 28px}.creator-body{padding:18px}.detail-panel{width:100%}.detail-summary{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.page-title h1,.welcome-row h1{font-size:22px}.stat-grid{grid-template-columns:1fr}.assignment-row{grid-template-columns:39px 1fr 30px}.assignment-rate{display:none}.activity-summary{gap:13px}.steps b{width:20px}.steps span{font-size:0}.steps span i{font-size:9px}.example-prompts{align-items:flex-start;flex-wrap:wrap}.rubric-head{display:none}.rubric-row{grid-template-columns:1fr 68px 28px}.rubric-row>input{grid-column:1/4}.method{grid-column:1;width:max-content}.point-input{grid-column:2}.rubric-row>.icon-button{grid-column:3}.student-taskbar strong{max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-button{width:36px}.run-button,.submit-button{padding:9px;font-size:0}.run-button svg,.submit-button svg{margin:0}}@media (max-width:780px){.entry-studio-title{min-width:0}.entry-project-counts,.entry-studio-title small{display:none}.entry-studio-actions button{width:31px;padding:0;font-size:0}.entry-sync-state small,.student-score-chip{display:none}}.role-badge{display:inline-flex;align-items:center;gap:7px;border:1px solid #ded9f5;background:#f6f4ff;color:var(--violet);border-radius:20px;padding:7px 12px;font-size:9px;font-weight:700}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(390px,.85fr);background:#f8f7fc;color:var(--ink)}.auth-hero{display:flex;flex-direction:column;justify-content:center;padding:clamp(50px,8vw,120px);color:white;background:radial-gradient(circle at 80% 18%,rgba(255,255,255,.16),transparent 28%),linear-gradient(145deg,#463a92,#6f5ac8 58%,#8a6ed8)}.auth-brand{display:flex;align-items:center;gap:9px;margin-bottom:70px}.auth-brand>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.16)}.auth-brand strong{font-size:21px}.auth-brand small{opacity:.58;font-size:8px;letter-spacing:.18em;margin-left:2px}.auth-eyebrow{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:7px 10px;border-radius:18px;background:rgba(255,255,255,.12);font-size:10px}.auth-hero h1{margin:19px 0 18px;font-size:clamp(36px,4.2vw,61px);line-height:1.12;letter-spacing:-.045em}.auth-hero>p{max-width:580px;margin:0;font-size:13px;line-height:1.9;color:rgba(255,255,255,.76)}.auth-points{display:flex;flex-wrap:wrap;gap:20px;margin-top:35px}.auth-points span{display:inline-flex;align-items:center;gap:7px;font-size:10px}.auth-points svg{color:#8ce2cb}.auth-card{width:min(430px,calc(100% - 52px));margin:auto;padding:34px;border:1px solid #ebe9f2;border-radius:22px;background:white;box-shadow:0 22px 70px rgba(53,43,102,.1)}.auth-card-head{display:flex;align-items:center;gap:12px;margin-bottom:25px}.auth-card-icon{display:grid;place-items:center;width:45px;height:45px;color:var(--violet);background:#f0edff;border-radius:13px}.auth-card h2{margin:0 0 4px;font-size:19px}.auth-card p{margin:0;color:var(--muted);font-size:9px}.auth-card form{display:grid;grid-gap:13px;gap:13px}.auth-card label{display:grid;grid-gap:6px;gap:6px;color:#555268;font-size:9px;font-weight:700}.auth-card input{width:100%;border:1px solid #dedbe8;border-radius:10px;padding:11px 12px;color:var(--ink);background:white;font-size:10px}.auth-card input:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(104,84,190,.09)}.auth-role{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px}.auth-role button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--muted);cursor:pointer;font-size:9px}.auth-role button.active{border-color:#bbb0f0;background:#f3f0ff;color:var(--violet);font-weight:700}.auth-role-locked{align-items:center;grid-template-columns:auto 1fr;padding:7px;border:1px solid #ddd6f3;border-radius:11px;background:#f8f6ff}.auth-role-locked>span{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 12px;border-radius:8px;color:white;background:var(--violet);font-size:9px;font-weight:800}.auth-role-locked>small{color:var(--muted);font-size:8px;line-height:1.45}.auth-field-note{display:flex;align-items:flex-start;gap:6px;margin-top:-4px;color:#6c6677;font-size:8px;line-height:1.5}.auth-field-note svg{flex:0 0 auto;margin-top:1px;color:var(--violet)}.auth-submit,.demo-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:41px;border-radius:10px;cursor:pointer;font-size:10px;font-weight:700}.auth-submit{border:0;color:white;background:var(--violet)}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-toggle{width:100%;border:0;background:none;color:var(--violet);cursor:pointer;padding:14px 0 3px;font-size:9px}.auth-divider{margin:14px 0;color:#aaa7b6}.demo-button{border:1px solid var(--line);background:#faf9fc;color:#625f70}.auth-message{padding:9px 10px;border-radius:8px;background:#fff3ef;color:#b45c4a!important;line-height:1.5}.auth-loading{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px}.auth-loading strong{font-size:12px}.spin{animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-field{display:grid;grid-gap:6px;gap:6px}.password-input-wrap{position:relative;display:block}.password-input-wrap input{padding-right:43px}.password-toggle{position:absolute;top:50%;right:5px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;color:#777287;background:transparent;cursor:pointer;transform:translateY(-50%)}.password-toggle:focus-visible,.password-toggle:hover{color:var(--violet);background:#f3f0ff}.password-requirements{padding:10px 11px;border:1px solid #e8e5f1;border-radius:10px;background:#faf9fd}.password-requirements>strong{display:block;margin-bottom:7px;color:#555268;font-size:9px}.password-requirements ul{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 9px;gap:6px 9px;margin:0;padding:0;list-style:none}.password-requirements li{display:flex;align-items:center;gap:5px;font-size:8px;transition:color .18s ease}.password-requirements li.unmet{color:#9b97a8}.password-requirements li.met{color:#188564;font-weight:700}.auth-submit:disabled{cursor:not-allowed}.auth-forgot{justify-self:end;margin-top:-5px;padding:2px 0;border:0;color:var(--violet);background:none;cursor:pointer;font-size:8px}.auth-forgot:disabled{cursor:wait;opacity:.55}.auth-recovery-page{grid-template-columns:1fr}.recovery-card{width:min(430px,calc(100% - 30px))}.recovery-card>.auth-submit{margin-top:8px}.auth-session-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid #d9d0f2;border-radius:10px;color:#4f3f83!important;background:#f4f1ff;font-size:9px!important;line-height:1.55}.auth-session-notice svg{flex:none;margin-top:1px}.auth-connection-retry{width:100%;min-height:39px;border:1px solid #cfc7ee;border-radius:10px;color:#5846a5;background:#f5f2ff;cursor:pointer;font-size:9px;font-weight:800}.auth-connection-retry:hover{border-color:#aa9ce4;background:#eee9ff}@media (max-width:820px){.auth-page{grid-template-columns:1fr}.auth-hero{display:none}.auth-card{margin:45px auto}.role-badge{padding:7px 9px;font-size:8px}}.fatal-error-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:#f7f5fc}.fatal-error-page section{width:min(480px,100%);padding:34px;text-align:center;border:1px solid #e7e3f0;border-radius:22px;background:white;box-shadow:0 20px 60px rgba(53,43,102,.1)}.fatal-error-page section>span{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 15px;border-radius:15px;color:white;background:#6d59bd;font-size:24px;font-weight:800}.fatal-error-page h1{margin:0 0 10px;font-size:22px}.fatal-error-page p{margin:0;color:#716d80;line-height:1.7}.fatal-error-page div{display:flex;justify-content:center;gap:8px;margin-top:22px}.fatal-error-page button{min-height:40px;padding:0 18px;border:1px solid #dcd6ee;border-radius:10px;color:#5d49aa;background:#f7f4ff;cursor:pointer;font-weight:700}.fatal-error-page button:first-child{border-color:#6d59bd;color:white;background:#6d59bd}.cloud-state,.join-page{min-height:calc(100vh - 68px);display:grid;place-items:center;padding:30px;background:#f8f7fc;text-align:center}.cloud-state>span,.join-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 15px;border-radius:18px;background:#eeeaff;color:var(--violet)}.cloud-state h2{margin:0;font-size:20px}.cloud-state p{margin:8px 0 18px;color:var(--muted);font-size:10px}.join-card{width:min(480px,100%);padding:38px;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:0 20px 60px rgba(50,42,91,.08)}.join-card h1{margin:10px 0;font-size:24px}.join-card>p{max-width:370px;margin:0 auto 22px;color:var(--muted);font-size:10px;line-height:1.7}.join-card input{width:210px;display:block;margin:0 auto 10px;border:1px solid #d7d2ec;border-radius:12px;padding:13px;text-align:center;text-transform:uppercase;font-size:20px;font-weight:800;letter-spacing:.25em;color:var(--violet)}.join-card small{display:block;color:#bf6352;font-size:9px;margin-bottom:10px}.join-card .primary-button{margin:0 auto}.creator-error{margin:10px 0 0;padding:9px 10px;border-radius:8px;background:#fff3ef;color:#b45c4a;font-size:9px}.welcome-actions{display:flex;align-items:center;gap:10px}.join-code-chip{display:flex;align-items:center;gap:9px;min-height:39px;padding:6px 12px;border:1px solid #d9d3f5;border-radius:10px;background:#f7f5ff;color:var(--violet);cursor:pointer}.join-code-chip span{font-size:8px;color:#85809e}.join-code-chip strong{font-size:13px;letter-spacing:.11em}.dashboard-sync{min-width:92px;display:grid;justify-items:end;grid-gap:2px;gap:2px}.dashboard-sync button{display:inline-flex;align-items:center;gap:5px;padding:4px 0;border:0;color:var(--violet);background:transparent;cursor:pointer;font-size:8px;font-weight:800}.dashboard-sync button:disabled{cursor:wait;opacity:.7}.dashboard-sync small{color:var(--muted);font-size:6px;white-space:nowrap}.dashboard-sync.error button,.dashboard-sync.error small{color:#b94e60}.dashboard-sync .spinning{animation:dashboard-spin .8s linear infinite}@keyframes dashboard-spin{to{transform:rotate(1turn)}}@media (max-width:500px){.welcome-actions{width:100%;flex-direction:column}.dashboard-sync{width:100%;justify-items:center}.join-code-chip{width:100%;justify-content:center}}@media (max-width:760px){.deadline-risk-list{grid-template-columns:1fr}.deadline-risk-list>button{grid-template-columns:64px minmax(0,1fr) auto}.deadline-risk-list>button svg{display:none}}.sprite-studio-backdrop{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:22px;background:rgba(27,24,50,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sprite-studio-dialog{width:min(760px,100%);max-height:min(760px,calc(100vh - 44px));display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(24,20,52,.3)}.sprite-studio-dialog>header{min-height:72px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}.sprite-studio-dialog>header small,.sprite-studio-dialog>header strong{display:block}.sprite-studio-dialog>header strong{font-size:16px}.sprite-studio-dialog>header small{margin-top:4px;color:var(--muted);font-size:9px}.sprite-studio-dialog>header button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;background:#f4f2f8;cursor:pointer}.sprite-studio-tabs{display:flex;gap:6px;padding:10px 20px 0;background:#fbfaff}.sprite-studio-tabs button{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:1px solid transparent;border-radius:10px 10px 0 0;background:transparent;color:var(--muted);cursor:pointer;font-size:10px;font-weight:700}.sprite-studio-tabs button.active{border-color:var(--line);border-bottom-color:white;color:var(--violet);background:white}.sprite-studio-body{min-height:390px;flex:1 1;overflow:auto;padding:20px}.sprite-library{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px}.sprite-library button{min-height:166px;display:grid;place-items:center;align-content:center;grid-gap:9px;gap:9px;border:2px solid transparent;border-radius:16px;background:color-mix(in srgb,var(--preset-color) 10%,white);cursor:pointer}.sprite-library button:hover{transform:translateY(-2px);box-shadow:0 9px 25px rgba(50,43,94,.09)}.sprite-library button.active{border-color:var(--preset-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--preset-color) 18%,transparent)}.sprite-library img{width:100px;height:100px;object-fit:contain}.sprite-library span{font-size:10px;font-weight:700}.sprite-drawing-layout{display:grid;grid-template-columns:58px minmax(280px,1fr);grid-gap:16px;gap:16px;height:100%}.sprite-tools{display:flex;flex-direction:column;gap:7px;padding:8px;border-radius:14px;background:#f5f3fa}.sprite-tools>button,.sprite-tools>label:not(.sprite-brush-size){width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:white;cursor:pointer}.sprite-tools>button.active{border-color:#aa9ee8;color:var(--violet);background:#efecff}.sprite-tools>button:disabled{opacity:.35;cursor:default}.sprite-tools input[type=color]{width:28px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;cursor:pointer}.sprite-brush-size{display:grid;justify-items:center;grid-gap:5px;gap:5px;padding:5px 0;color:var(--muted);font-size:7px}.sprite-brush-size input{width:42px;accent-color:var(--violet)}.sprite-canvas-shell{width:min(100%,430px);aspect-ratio:1;justify-self:center;overflow:hidden;border:1px solid #ddd9e8;border-radius:16px;background-color:white;background-image:linear-gradient(45deg,#f1f0f5 25%,transparent 0),linear-gradient(-45deg,#f1f0f5 25%,transparent 0),linear-gradient(45deg,transparent 75%,#f1f0f5 0),linear-gradient(-45deg,transparent 75%,#f1f0f5 0);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0;box-shadow:inset 0 0 0 1px white}.sprite-canvas-shell canvas{width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.sprite-studio-dialog>footer{min-height:76px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:13px 20px;border-top:1px solid var(--line);background:#fcfbfd}.sprite-studio-dialog>footer label{display:grid;grid-gap:5px;gap:5px;color:var(--muted);font-size:8px;font-weight:700}.sprite-studio-dialog>footer input{width:250px;padding:9px 11px;border:1px solid #dcd8e7;border-radius:9px;background:white;font-size:10px}.sprite-studio-dialog>footer>div{display:flex;gap:7px}.sprite-studio-dialog>footer button{min-height:37px;padding:0 16px;border-radius:10px;cursor:pointer;font-size:10px;font-weight:700}.sprite-cancel{border:1px solid var(--line);background:white}.sprite-create{border:0;color:white;background:var(--violet)}.sprite-studio-dialog>footer button:disabled{cursor:wait;opacity:.55}.sprite-create-error{max-width:360px;color:#b75262;font-size:8px;line-height:1.45}.entry-studio-actions .entry-run-button{border-color:#25a86a;color:white;background:#2db678}.entry-studio-actions .entry-run-button:hover{border-color:#168c55;color:white;background:#229b62}.entry-studio-actions .entry-stop-button{border-color:#db6c63;color:white;background:#e4776e}.entry-studio-actions .entry-stop-button:hover{border-color:#bd5049;color:white;background:#ce5d55}.entry-studio-actions button:focus-visible{outline:2px solid #7765d7;outline-offset:2px}.entry-compatibility{position:relative;flex:0 0 auto;border-bottom:1px solid var(--line);background:#f7fbf9}.entry-compatibility.attention{background:#fff9ed}.entry-compatibility>button{width:100%;min-height:31px;display:flex;align-items:center;gap:7px;padding:5px 14px;border:0;color:#27705a;background:transparent;cursor:pointer;text-align:left;font-size:8px}.entry-compatibility.attention>button{color:#a36a19}.entry-compatibility>button span{color:#8c8995}.entry-compatibility>button .lucide-chevron-down{margin-left:auto;transition:transform .16s ease}.entry-compatibility>button .lucide-chevron-down.open{transform:rotate(180deg)}.entry-compatibility-details{position:absolute;z-index:4;top:100%;left:12px;width:min(560px,calc(100vw - 24px));padding:9px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 12px 30px rgba(54,48,83,.14)}.entry-compatibility-details>div{display:flex;align-items:flex-start;gap:7px;padding:7px;border-radius:8px;color:#28715c}.entry-compatibility-details>div.warning{color:#a96817;background:#fff9ed}.entry-compatibility-details small,.entry-compatibility-details span,.entry-compatibility-details strong{display:block}.entry-compatibility-details strong{font-size:8px}.entry-compatibility-details small{margin-top:2px;color:#76717f;font-size:7px;line-height:1.45}.runner-badge{padding:3px 6px;border-radius:20px;font-size:7px;font-weight:700}.runner-badge.server{color:#24775f;background:#e4f7f0}.runner-badge.browser{color:#7b6d3f;background:#fff5d9}.record-draft-section{border-color:#d9d2ff;background:linear-gradient(145deg,#fff,#f8f6ff)}.record-draft-head .engine-badge{display:inline-flex;align-items:center;gap:4px}.record-draft-empty{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:14px;border:1px dashed #d8d1f5;border-radius:13px;background:rgba(255,255,255,.74);color:var(--violet)}.record-draft-empty>div strong{display:block;color:var(--ink);font-size:10px}.record-draft-empty>div p{margin:4px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.record-draft-empty .approve-button{white-space:nowrap}.record-draft-editor{display:grid;grid-gap:10px;gap:10px}.record-draft-evidence{display:flex;flex-wrap:wrap;gap:6px}.record-draft-evidence span{padding:6px 8px;border:1px solid #ddd7fb;border-radius:20px;background:white;color:#5a5088;font-size:8px;font-weight:650}.record-draft-editor label{color:#5f5a70;font-size:8px;font-weight:700}.record-draft-editor textarea{width:100%;min-height:138px;resize:vertical;padding:13px;border:1px solid #d8d2e7;border-radius:11px;outline:none;background:white;color:var(--ink);font:inherit;font-size:10px;line-height:1.75}.record-draft-editor textarea:focus{border-color:#9485e8;box-shadow:0 0 0 3px rgba(113,91,221,.1)}.record-draft-toolbar{display:flex;justify-content:flex-end;gap:7px}.record-draft-toolbar button{display:inline-flex;align-items:center;gap:5px}.record-draft-notice{margin:0;color:var(--muted);font-size:8px;line-height:1.5}.record-draft-error{margin:10px 0 0;padding:9px 10px;border-radius:9px;background:#fff0f1;color:#b84d5f;font-size:8px}@media (max-width:640px){.entry-review-backdrop{padding:0}.entry-review-dialog{width:100vw;height:100vh;border-radius:0}.entry-review-dialog>header{min-height:68px;padding:10px 12px}.entry-review-dialog h2{max-width:70vw;font-size:13px}.entry-submission-review-action{align-items:stretch;flex-direction:column}.entry-submission-review-action button{justify-content:center}.submission-version-list>div{flex-wrap:wrap;gap:8px}.sprite-studio-backdrop{padding:8px}.sprite-studio-dialog{max-height:calc(100vh - 16px);border-radius:16px}.sprite-library{grid-template-columns:repeat(2,1fr)}.sprite-library button{min-height:135px}.sprite-library img{width:78px;height:78px}.sprite-studio-dialog>footer{align-items:stretch;flex-direction:column}.sprite-studio-dialog>footer input{width:100%}.sprite-studio-dialog>footer>div button{flex:1 1}.record-draft-empty{grid-template-columns:auto 1fr}.record-draft-empty .approve-button{grid-column:1/-1;justify-content:center}.record-draft-toolbar{align-items:stretch;flex-direction:column}.record-draft-toolbar button{justify-content:center}}.button-chip{border:0;cursor:pointer;font:inherit}.student-home{overflow-y:auto}.student-assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.student-assignment-card{position:relative;min-height:245px;padding:22px;display:flex;align-items:flex-start;flex-direction:column;text-align:left;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:0 10px 32px rgba(40,31,77,.05);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.student-assignment-card:hover{transform:translateY(-3px);border-color:#b8acef;box-shadow:0 17px 40px rgba(40,31,77,.11)}.student-assignment-icon{width:45px;height:45px;display:grid;place-items:center;margin-bottom:15px;border-radius:14px;color:#6d58cf;background:#eeeaff}.kind-python .student-assignment-icon{color:#1769a5;background:#e5f4ff}.kind-data_analysis .student-assignment-icon{color:#16856f;background:#e5f8f2}.workspace-pill{padding:5px 8px;color:#6d58cf;background:#f1edff;font-size:8px}.student-progress,.workspace-pill{border-radius:20px;font-weight:750}.student-progress{position:absolute;top:20px;right:20px;padding:5px 7px;background:#f2f1f5;color:#777283;font-size:7px}.student-progress.status-done{color:#20866f;background:#e8f7f2}.student-progress.status-working{color:#3a72aa;background:#eaf4ff}.kind-python .workspace-pill{color:#1769a5;background:#eaf6ff}.kind-data_analysis .workspace-pill{color:#16856f;background:#e9f9f4}.student-assignment-card>strong{margin-top:12px;font-size:15px}.student-assignment-card>p{margin:8px 0 15px;color:var(--muted);font-size:9px;line-height:1.65}.student-assignment-card>small{margin-top:auto;color:#888399;font-size:8px}.open-workspace{width:100%;margin-top:15px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0eef4;color:var(--violet);font-size:9px;font-weight:750}.workspace-type-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:16px}.workspace-type-picker button{min-height:105px;padding:12px;display:flex;align-items:flex-start;flex-direction:column;gap:6px;text-align:left;border:1px solid var(--line);border-radius:13px;background:white;color:var(--ink);cursor:pointer}.workspace-type-picker button>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--violet);background:#f0edff}.workspace-type-picker button strong{font-size:9px}.workspace-type-picker button small{color:var(--muted);font-size:7px;line-height:1.45}.workspace-type-picker button.active{border-color:#8f7ee1;box-shadow:0 0 0 3px rgba(111,88,212,.1);background:#fbfaff}.collaboration-mode-picker{margin:0 0 16px;padding:14px;border:1px solid #ddd8f4;border-radius:14px;background:#fbfaff}.collaboration-mode-picker>div:first-child small,.collaboration-mode-picker>div:first-child strong{display:block}.collaboration-mode-picker>div:first-child strong{font-size:11px}.collaboration-mode-picker>div:first-child small{margin-top:4px;color:var(--muted);font-size:8px;line-height:1.55}.collaboration-mode-picker>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-top:11px}.collaboration-mode-picker button{display:flex;align-items:center;gap:9px;min-height:60px;padding:10px;text-align:left;border:1px solid var(--line);border-radius:11px;background:white;color:var(--ink);cursor:pointer}.collaboration-mode-picker button>svg{color:#7562d4;flex:0 0 auto}.collaboration-mode-picker button small,.collaboration-mode-picker button span,.collaboration-mode-picker button strong{display:block}.collaboration-mode-picker button strong{font-size:9px}.collaboration-mode-picker button small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.4}.collaboration-mode-picker button.active{border-color:#8f7ee1;box-shadow:0 0 0 3px rgba(111,88,212,.1)}.collaboration-mode-picker button:disabled{cursor:not-allowed;opacity:.55}.collaboration-mode-picker>p{display:flex;gap:7px;margin:10px 0 0;padding:8px 9px;border-radius:8px;background:#fff6e8;color:#8a6323;font-size:8px;line-height:1.5}.collaboration-mode-picker>p svg{flex:0 0 auto}.group-assignment-pill{display:inline-flex;align-items:center;gap:4px;width:max-content;margin-left:6px;padding:5px 8px;border-radius:20px;color:#16755f;background:#e8f8f2;font-size:8px;font-weight:750}.group-assignment-student-panel{margin:14px 0;padding:12px;border:1px solid #d8d3f1;border-radius:13px;background:#faf9ff}.group-assignment-student-panel>footer,.group-assignment-student-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.group-assignment-student-panel>header span{display:inline-flex;align-items:center;gap:5px;color:#6652c5;font-size:9px;font-weight:800}.group-assignment-student-panel>header b{font-size:10px}.group-assignment-student-panel>p{margin:7px 0 10px;color:var(--muted);font-size:7px;line-height:1.55}.group-assignment-student-panel>label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px;font-size:8px;font-weight:750}.group-assignment-student-panel>label select{max-width:130px;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:white;font-size:8px}.group-member-activity-list{display:grid;grid-gap:5px;gap:5px}.group-member-activity-list article{display:grid;grid-template-columns:25px 1fr auto;align-items:center;grid-gap:7px;gap:7px;padding:6px;border-radius:8px;background:white}.group-member-activity-list article.mine{box-shadow:inset 0 0 0 1px #cfc7f5}.group-member-activity-list article>i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#eeeaff;color:#6d59cf;font-size:8px;font-style:normal;font-weight:800}.group-member-activity-list article small,.group-member-activity-list article strong{display:block}.group-member-activity-list article strong{font-size:8px}.group-member-activity-list article small,.group-member-activity-list article time{color:var(--muted);font-size:6px}.group-member-activity-list article time{text-align:right}.group-assignment-student-panel>footer{margin-top:9px;padding-top:8px;border-top:1px solid var(--line);color:var(--muted);font-size:7px;flex-wrap:wrap}.group-assignment-student-panel>footer strong{display:inline-flex;align-items:center;gap:4px;color:#16836c}.group-revision-conflict{display:grid;grid-template-columns:18px 1fr;grid-gap:6px;gap:6px;margin-bottom:9px;padding:8px;border-radius:9px;background:#fff0eb;color:#b35a47}.group-revision-conflict div small,.group-revision-conflict div strong{display:block}.group-revision-conflict div strong{font-size:8px}.group-revision-conflict div small{margin-top:3px;font-size:7px;line-height:1.45}.group-revision-conflict button{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:0;border-radius:7px;background:#b35a47;color:white;font-size:7px;cursor:pointer}.teacher-group-assignment-overview{margin-bottom:18px;padding:20px}.teacher-group-assignment-overview .panel-head>span{color:#6d59cf;font-size:9px;font-weight:800}.teacher-group-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:13px}.teacher-group-overview-grid>article{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fcfbff}.teacher-group-overview-grid article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.teacher-group-overview-grid article>header small,.teacher-group-overview-grid article>header strong{display:block}.teacher-group-overview-grid article>header strong{font-size:10px}.teacher-group-overview-grid article>header small{margin-top:3px;color:var(--muted);font-size:7px}.teacher-group-overview-grid article>header>span{padding:4px 6px;border-radius:20px;font-size:7px;font-weight:800}.teacher-group-overview-grid article>header>span.submitted{color:#14765f;background:#e8f8f2}.teacher-group-overview-grid article>header>span.working{color:#795e20;background:#fff5dc}.teacher-group-overview-grid article>div{display:grid;grid-gap:5px;gap:5px;margin-top:10px}.teacher-group-overview-grid article>div>span{display:grid;grid-template-columns:24px 1fr;align-items:center;grid-column-gap:7px;column-gap:7px}.teacher-group-overview-grid article>div i{grid-row:1/span 2;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#eeeaff;color:#6d59cf;font-size:7px;font-style:normal;font-weight:800}.teacher-group-overview-grid article>div b{font-size:8px}.teacher-group-overview-grid article>div small{color:var(--muted);font-size:7px}.teacher-group-overview-grid article>footer{margin-top:9px;color:var(--muted);font-size:7px}.group-overview-state{margin:15px 0 0;color:var(--muted);font-size:9px}.group-overview-state.error{color:#b45c4a}@media (max-width:700px){.collaboration-mode-picker>div:nth-child(2),.teacher-group-overview-grid{grid-template-columns:1fr}.group-member-activity-list article{grid-template-columns:25px 1fr}.group-member-activity-list article time{grid-column:2;text-align:left}}.entry-starter-picker{display:grid;grid-gap:9px;gap:9px;margin:4px 0 17px;padding:14px;border:1px solid #dcd7ef;border-radius:14px;background:#faf9ff}.entry-starter-heading{display:flex;align-items:center;justify-content:space-between;color:#62549e}.entry-starter-heading>div{display:grid;grid-gap:3px;gap:3px}.entry-starter-heading strong{color:var(--ink);font-size:10px}.entry-starter-heading small{color:var(--muted);font-size:7px}.entry-starter-upload{min-height:62px;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1.5px dashed #b8ade4;border-radius:11px;background:white;color:var(--violet);cursor:pointer}.entry-starter-upload.disabled{opacity:.6;cursor:wait}.entry-starter-upload>span{display:grid;grid-gap:3px;gap:3px}.entry-starter-upload strong{font-size:9px}.entry-starter-upload small{color:var(--muted);font-size:7px}.entry-starter-upload input{display:none}.entry-starter-card{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #d9d2f2;border-radius:11px;background:white}.entry-starter-card.selected{border-color:#b9dfd5;background:#f4fbf8}.entry-starter-card>div{min-width:0;display:flex;align-items:center;gap:9px;color:#287d6a}.entry-starter-card>div>span{min-width:0;display:grid;grid-gap:3px;gap:3px}.entry-starter-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:9px}.entry-starter-card em,.entry-starter-card small{color:var(--muted);font-size:7px;line-height:1.45}.entry-starter-card em{color:#287d6a;font-style:normal;font-weight:750}.entry-starter-removal button,.entry-starter-remove{border:0;background:transparent;color:#a95061;cursor:pointer;font-size:7px;font-weight:750}.entry-starter-removal,.entry-starter-warning{display:flex;align-items:flex-start;gap:7px;padding:8px 9px;border-radius:9px;color:#a06624;background:#fff5e7;font-size:7px;line-height:1.5}.entry-starter-removal span{flex:1 1}.entry-starter-removal button{color:var(--violet)}.entry-starter-note{margin:0;color:#736d82;font-size:7px;line-height:1.55}.starter-reset-button{white-space:nowrap}.assignment-template-picker{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:16px}.assignment-template-picker button{min-width:0;padding:10px;display:grid;grid-template-columns:28px 1fr;grid-gap:2px 7px;gap:2px 7px;text-align:left;border:1px solid var(--line);border-radius:11px;background:#faf9fd;cursor:pointer}.assignment-template-picker button:hover{border-color:#a99ce8;background:#f7f4ff}.assignment-template-picker button>span{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#ece8ff}.assignment-template-picker button strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:8px}.assignment-template-picker button small{color:var(--muted);font-size:7px}.grading-preview{margin-top:15px;padding:13px;border:1px solid #ddd8f3;border-radius:12px;background:#faf9ff}.grading-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.grading-preview-head small,.grading-preview-head strong{display:block}.grading-preview-head strong{font-size:10px}.grading-preview-head small{margin-top:3px;color:var(--muted);font-size:8px}.grading-preview-head>button{flex:0 0 auto;display:flex;align-items:center;gap:5px;border:0;border-radius:8px;padding:8px 10px;background:var(--violet);color:white;font-size:8px;font-weight:700;cursor:pointer}.grading-preview-head>button:disabled{opacity:.45;cursor:not-allowed}.code-preview-inputs,.entry-preview-builder{margin-top:11px}.preview-block-palette{display:flex;flex-wrap:wrap;gap:5px}.preview-block-palette button{border:1px solid #d9d4ed;border-radius:15px;padding:5px 8px;background:white;font-size:7px;cursor:pointer}.preview-block-sequence{min-height:38px;display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:8px;padding:8px;border:1px dashed #d5cfea;border-radius:9px;background:white}.preview-block-sequence>small{color:var(--muted);font-size:8px}.preview-block-sequence button{display:flex;align-items:center;gap:4px;border:0;border-radius:7px;padding:5px 7px;background:#f0edff;font-size:7px;cursor:pointer}.preview-block-sequence i{width:15px;height:15px;display:grid;place-items:center;border-radius:50%;background:white;font-style:normal;color:var(--violet)}.code-preview-inputs{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.code-preview-inputs:has(label+label){grid-template-columns:1.35fr .65fr}.code-preview-inputs label{min-width:0}.code-preview-inputs label>span{display:block;margin-bottom:5px;color:#625c75;font-size:8px;font-weight:700}.code-preview-inputs textarea{width:100%;min-height:150px;resize:vertical;border:1px solid #d9d4e7;border-radius:9px;background:#20202b;color:#eef0f5;padding:9px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:8px;line-height:1.55}.teacher-python-preview .python-code-editor{min-height:150px;overflow:hidden;border:1px solid #d9d4e7;border-radius:9px;background:#1f2230}.grading-preview-result{margin-top:11px;border-top:1px solid #e1ddef;padding-top:10px}.grading-preview-result>div:first-child{display:flex;align-items:baseline;gap:7px}.grading-preview-result>div:first-child span{font-size:8px}.grading-preview-result>div:first-child strong{color:var(--violet);font-size:17px}.grading-preview-result>div:first-child small{color:var(--muted);font-size:7px}.preview-criterion-list{margin-top:7px;display:grid;grid-gap:5px;gap:5px}.preview-criterion-list article{display:grid;grid-template-columns:22px 1fr auto;grid-gap:7px;gap:7px;align-items:center;padding:7px;border-radius:8px;background:white}.preview-criterion-list article>span{width:22px;height:22px;display:grid;place-items:center;border-radius:7px;background:#e9f7f2;color:#25816d}.preview-criterion-list article.failed>span{background:#fff0f1;color:#b84c5d}.preview-criterion-list article.manual>span{background:#efedf5;color:#746d88}.preview-criterion-list article strong{font-size:8px}.preview-criterion-list article p{margin:2px 0 0;color:var(--muted);font-size:7px;line-height:1.4}.preview-criterion-list article>b{font-size:9px}.python-page{min-height:0;height:calc(100vh - 70px);display:flex;flex-direction:column;background:#f3f4f8}.python-taskbar{flex:none}.python-layout{min-height:0;flex:1 1;display:grid;grid-template-columns:245px 1fr;grid-gap:12px;gap:12px;padding:12px;overflow:hidden}.python-guide{padding:18px;overflow-y:auto}.workspace-kind{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:20px;color:#1769a5;background:#e5f4ff;font-size:8px;font-weight:750}.workspace-kind.kind-data_analysis{color:#16856f;background:#e5f8f2}.python-guide h2{margin:15px 0 7px;font-size:15px}.python-guide>p{margin:0;color:var(--muted);font-size:8px;line-height:1.65}.workspace-visibility-notice{display:flex;align-items:flex-start;gap:8px;margin:12px 0 2px;padding:10px;border:1px solid #d9e8e3;border-radius:11px;color:#287662;background:#f1faf7}.workspace-visibility-notice>svg{flex:none;margin-top:1px}.workspace-visibility-notice small,.workspace-visibility-notice span,.workspace-visibility-notice strong{display:block}.workspace-visibility-notice strong{font-size:8px}.workspace-visibility-notice small{margin-top:3px;color:#64837b;font-size:7px;line-height:1.45}.workspace-secret-notice{display:flex;align-items:flex-start;gap:8px;margin:8px 0 2px;padding:10px;border:1px solid #e5d7b3;border-radius:11px;color:#725b1d;background:#fffbef}.workspace-secret-notice>svg{flex:none;margin-top:1px}.workspace-secret-notice small,.workspace-secret-notice span,.workspace-secret-notice strong{display:block}.workspace-secret-notice strong{font-size:8px}.workspace-secret-notice small{margin-top:3px;color:#766b50;font-size:7px;line-height:1.45}.workspace-secret-notice.blocked{border-color:#efb6bd;color:#9d3345;background:#fff1f3}.workspace-secret-notice.blocked small{color:#8e5a63}.python-rubric{margin-top:20px;display:grid;grid-gap:7px;gap:7px}.python-rubric>strong{margin-bottom:3px;font-size:9px}.python-rubric>span{display:grid;grid-template-columns:17px 1fr auto;grid-gap:6px;gap:6px;align-items:center;padding:8px;border:1px solid #ece9f2;border-radius:9px;font-size:8px;line-height:1.4}.python-rubric>span>i{width:13px;height:13px;border:1px solid #ccc5dc;border-radius:50%}.python-rubric>span>svg{color:#26977f}.python-rubric b{color:#706a7d;font-size:7px}.python-studio{min-width:0;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);grid-gap:12px;gap:12px;align-items:start}.python-studio .panel{overflow:hidden;border-radius:14px}.python-studio header{min-height:46px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fbfbfd}.python-studio header>div{display:flex;align-items:center;gap:7px}.python-studio header strong{font-size:9px}.python-studio header span{color:var(--muted);font-size:7px}.python-studio header button,.upload-button{min-height:29px;padding:0 9px;display:inline-flex;align-items:center;gap:5px;border:1px solid #ddd8e8;border-radius:8px;background:white;color:#5d576b;cursor:pointer;font-size:8px;font-weight:700}.python-studio header .run-code{border-color:#269b68;background:#2caf76;color:white}.code-panel{grid-column:1;grid-row:span 2}.code-editor-toolbar{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 8px 5px 12px;border-bottom:1px solid #343849;background:#292d3e;color:#dfe4f5}.code-editor-toolbar>span{min-width:0;display:flex;align-items:center;gap:6px}.code-editor-toolbar strong{font-size:8px}.code-editor-toolbar small{color:#9ca6c5;font-size:7px}.code-editor-toolbar button{min-height:28px;display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;border:1px solid #4e5877;border-radius:7px;padding:0 8px;background:#222636;color:#aeb8d8;font-size:7px;font-weight:700;cursor:pointer}.code-editor-toolbar button.active{border-color:#7770da;background:#3d386a;color:#f0efff}.code-editor-shell{height:520px;overflow:hidden;background:#1f2230}.python-code-editor{height:100%;min-width:0}.python-code-editor .cm-editor{height:100%;font-size:12px;line-height:1.65}.python-code-editor .cm-scroller{scrollbar-color:#515b79 #1a1d29}.python-code-editor .cm-runtime-error-line{background:rgb(178 75 93/22%);box-shadow:inset 3px 0 0 #e9697d}.python-code-editor .cm-lintRange-error{background-position:0 100%}.python-code-editor .cm-tooltip{z-index:20}.python-code-editor.read-only .cm-content{cursor:default}.python-code-editor.read-only .cm-cursor{display:none}.chart-panel,.dataset-panel,.output-panel,.result-table-panel{grid-column:2}.upload-button input{display:none}.dataset-preview,.result-table-panel>div{max-height:215px;overflow:auto}.dataset-preview table,.result-table-panel table{width:100%;border-collapse:collapse;font-size:8px}.dataset-preview td,.dataset-preview th,.result-table-panel td,.result-table-panel th{padding:7px 8px;border:1px solid #ece9f1;text-align:left;white-space:nowrap}.dataset-preview th,.result-table-panel th{position:-webkit-sticky;position:sticky;top:0;background:#f4f2f8}.dataset-empty{padding:30px 15px;text-align:center;color:var(--muted);font-size:8px}.output-panel pre{min-height:145px;max-height:260px;margin:0;padding:13px;overflow:auto;background:#262a38;color:#dce2ef;white-space:pre-wrap;font:10px/1.6 Consolas,monospace}.chart-panel header button{min-height:25px;padding:0 6px}.chart-panel img{width:100%;max-height:360px;display:block;object-fit:contain;background:white}.student-feedback-card{margin-top:18px;padding:13px;border:1px solid #d9d2ff;border-radius:12px;background:#f7f5ff}.student-feedback-card strong{color:var(--violet);font-size:9px}.student-feedback-card p{margin:7px 0 0;color:#555064;font-size:8px;line-height:1.65}.student-feedback-card small{display:block;margin-top:7px;color:var(--muted);font-size:7px}.teacher-feedback-section textarea{width:100%;resize:vertical;padding:12px;border:1px solid #d8d2e7;border-radius:10px;outline:none;font:inherit;font-size:10px;line-height:1.65}.teacher-code-preview{max-height:300px;margin:0;padding:13px;overflow:auto;border-radius:10px;background:#252937;color:#e6e9f2;white-space:pre-wrap;font:9px/1.65 Consolas,monospace}.teacher-feedback-section textarea:focus{border-color:#9485e8;box-shadow:0 0 0 3px rgba(113,91,221,.1)}.feedback-actions{margin-top:9px;display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-actions>small{color:var(--muted);font-size:7px}.feedback-actions>div{display:flex;gap:7px}.feedback-message{margin:9px 0 0;color:#4e7280;font-size:8px}.entry-student-results{margin:16px;padding:20px;display:grid;grid-template-columns:1fr minmax(230px,.35fr);grid-gap:16px;gap:16px;border:1px solid var(--line);border-radius:16px;background:white}.entry-student-results h2{margin:4px 0 12px;font-size:14px}.student-result-list{display:grid;grid-gap:7px;gap:7px}.student-result-list article{padding:10px;display:grid;grid-template-columns:28px 1fr auto;grid-gap:9px;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px}.student-result-list article>span{width:26px;height:26px;display:grid;place-items:center;border-radius:8px}.student-result-list article.passed>span{color:#228d73;background:#e7f7f1}.student-result-list article.failed>span{color:#bd5363;background:#fff0f1}.student-result-list strong{font-size:9px}.student-result-list p{margin:3px 0 0;color:var(--muted);font-size:7px}.student-result-list b{font-size:9px}.auth-divider{margin:16px 0 12px;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:8px}.auth-divider:after,.auth-divider:before{content:"";height:1px;flex:1 1;background:var(--line)}.naver-works-login{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #1eb45b;border-radius:11px;background:white;color:#25342b;cursor:pointer}.naver-works-login strong{color:#16a34a}.naver-works-login:disabled{cursor:not-allowed;opacity:.52}.sso-note{margin:7px 0 0;text-align:center;color:var(--muted);font-size:7px}.onboarding-page{align-items:center;justify-content:center;padding:28px}.onboarding-card{width:min(480px,100%)}.onboarding-card label{margin-top:13px;display:grid;grid-gap:6px;gap:6px;color:#554e63;font-size:9px;font-weight:750}.onboarding-card input{min-height:42px;padding:0 12px;border:1px solid #d9d4e5;border-radius:10px;outline:none}.onboarding-email{margin:14px 0;padding:10px 12px;border-radius:9px;background:#f5f3fa;color:#6b6479;font-size:8px}.onboarding-notice{margin:13px 0;padding:10px;border:1px solid #e4def3;border-radius:9px;background:#faf8ff;color:#6d647e;font-size:8px;line-height:1.55}.class-switcher select{max-width:140px;border:0;outline:none;background:transparent;color:var(--muted);font-size:8px}.class-management-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);grid-gap:16px;gap:16px}.class-management-grid>.panel{padding:18px}.class-roster-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.class-create-row{display:flex;gap:8px;margin:13px 0}.class-create-row input{min-width:0;min-height:38px;flex:1 1;padding:0 11px;border:1px solid #ddd8e7;border-radius:9px;outline:none}.managed-class-list,.roster-list{display:grid;grid-gap:8px;gap:8px}.managed-class-list>div,.roster-list>div{min-height:52px;padding:9px 11px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px}.managed-class-list>div.active{border-color:#9b8ce5;background:#f8f6ff}.managed-class-list span,.roster-list>div>span:nth-child(2){min-width:0;flex:1 1;display:grid;grid-gap:3px;gap:3px}.managed-class-list small,.roster-list small{color:var(--muted);font-size:7px}.managed-class-list button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--violet);cursor:pointer;font-size:8px;font-weight:750}.teacher-invite-panel{grid-column:1/-1}.teacher-invite-panel .panel-head>svg{color:var(--violet)}.teacher-invite-code{display:flex;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;border:1px solid #cfc6f5;border-radius:11px;background:#f8f6ff}.teacher-invite-code>span{min-width:0;flex:1 1;display:grid;grid-gap:4px;gap:4px}.teacher-invite-code strong{color:#4f3b9d;font-size:14px;letter-spacing:.08em}.teacher-invite-code small{color:var(--muted);font-size:8px}.teacher-invite-code button{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #c8bdf1;border-radius:9px;color:var(--violet);background:white;cursor:pointer;font-weight:700}.teacher-invite-history{margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.teacher-invite-history>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.teacher-invite-history>header>div{display:grid;grid-gap:3px;gap:3px}.teacher-invite-history>header strong{font-size:10px}.teacher-invite-empty,.teacher-invite-history>header small{color:var(--muted);font-size:8px}.teacher-invite-history>header button,.teacher-invite-revoke{display:inline-flex;align-items:center;justify-content:center;gap:5px}.teacher-invite-history>div{max-height:310px;margin-top:10px;display:grid;grid-gap:7px;gap:7px;overflow:auto}.teacher-invite-history article{min-height:56px;padding:9px 11px;display:grid;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:10px}.teacher-invite-history article>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.teacher-invite-history article>div strong{overflow:hidden;text-overflow:ellipsis;font-size:9px}.teacher-invite-history article>div small{color:var(--muted);font-size:7px}.teacher-invite-status{padding:5px 6px;border-radius:7px;text-align:center;font-size:7px;font-weight:800}.teacher-invite-status.active{color:#18725f;background:#e7f7f1}.teacher-invite-status.used{color:#4f3b9d;background:#f0edff}.teacher-invite-status.expired,.teacher-invite-status.revoked{color:#766f80;background:#f1eff4}.teacher-invite-revoke{min-height:31px;padding:0 9px;border:1px solid #e1bfc4;border-radius:8px;color:#a54858;background:#fff7f8;cursor:pointer;font-size:8px;font-weight:750}.teacher-invite-revoke:disabled{cursor:not-allowed;opacity:.55}.teacher-invite-terminal{color:var(--muted);font-size:7px}.teacher-invite-empty{margin:12px 0 0;padding:12px;border-radius:9px;text-align:center;background:#f8f7fa}.assignment-actions{display:flex;align-items:center}.assignment-actions button{min-height:29px;padding:0 9px}.manual-assessment-list{display:grid;grid-gap:9px;gap:9px}.manual-assessment-list article{padding:11px;display:grid;grid-template-columns:minmax(170px,.55fr) 76px minmax(220px,1fr);grid-gap:9px;gap:9px;align-items:center;border:1px solid var(--line);border-radius:10px}.manual-assessment-list article>div{display:grid;grid-gap:4px;gap:4px}.manual-assessment-list small{color:var(--muted);font-size:7px}.manual-assessment-list input,.manual-assessment-list textarea{width:100%;min-height:38px;padding:8px 10px;border:1px solid #d9d4e5;border-radius:8px;outline:none;font:inherit;font-size:8px}.manual-assessment-list textarea{resize:vertical}.record-edit-modal textarea{width:100%;padding:12px;resize:vertical;font:inherit;line-height:1.65}.record-edit-modal textarea,.rubric-search{border:1px solid #d9d4e5;border-radius:10px}.rubric-search{min-height:39px;min-width:230px;padding:0 12px;outline:none}.rubric-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.rubric-library-grid article{padding:16px}.rubric-library-grid article>header{display:flex;justify-content:space-between;gap:12px}.rubric-library-grid h2{margin:8px 0 3px;font-size:13px}.rubric-library-grid header p{color:var(--muted);font-size:8px}.rubric-library-grid header>strong{color:var(--violet);font-size:13px}.rubric-library-grid article>div{display:grid;grid-gap:7px;gap:7px}.rubric-library-grid article>div>span{padding:8px 9px;display:grid;grid-template-columns:38px 1fr auto;grid-gap:8px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px}.rubric-library-grid i{padding:4px;border-radius:6px;text-align:center;font-size:7px;font-style:normal}.rubric-library-grid i.auto{color:#237b68;background:#e7f7f1}.rubric-library-grid i.manual{color:#7b5d30;background:#fff4df}.rubric-library-grid b{font-size:8px}.rubric-library-grid em{color:var(--muted);font-size:8px;font-style:normal}@media (max-width:1050px){.class-management-grid{grid-template-columns:1fr}.manual-assessment-list article{grid-template-columns:1fr 80px}.manual-assessment-list textarea{grid-column:1/-1}.student-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.python-layout{grid-template-columns:210px 1fr}.python-studio{grid-template-columns:1fr}.chart-panel,.code-panel,.dataset-panel,.output-panel,.result-table-panel{grid-column:1}}@media (max-width:760px){.rubric-library-grid{grid-template-columns:1fr}.class-create-row{align-items:stretch;flex-direction:column}.manual-assessment-list article{grid-template-columns:1fr}.manual-assessment-list textarea{grid-column:auto}.student-assignment-grid,.workspace-type-picker{grid-template-columns:1fr}.workspace-type-picker button{min-height:82px}.python-page{height:auto;min-height:calc(100vh - 60px)}.python-layout{display:block;overflow:visible}.python-guide{margin-bottom:10px}.python-studio{overflow:visible}.code-editor-shell{height:430px}.entry-student-results{grid-template-columns:1fr}.feedback-actions{align-items:stretch;flex-direction:column}.feedback-actions>div button{flex:1 1}.teacher-invite-history>header{align-items:stretch;flex-direction:column}.teacher-invite-history article{grid-template-columns:66px 1fr}.teacher-invite-revoke,.teacher-invite-terminal{grid-column:1/-1}}.class-groups-panel{margin-top:14px;padding:16px}.class-groups-panel>header{align-items:flex-start;gap:14px}.class-groups-panel>header h2{margin:2px 0 4px;font-size:15px}.class-groups-panel>header p{margin:0;color:var(--muted);font-size:8px}.class-groups-actions,.class-groups-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.class-groups-actions{margin-left:auto}.class-groups-toolbar{margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:12px;background:#faf9fc}.class-groups-toolbar label{display:flex;align-items:center;gap:7px;color:#5d5668;font-size:8px;font-weight:800}.class-groups-toolbar input{width:64px;min-height:34px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:white}.class-group-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.class-group-card{min-width:0;min-height:126px;padding:11px;border:1px solid #ded8eb;border-radius:13px;background:linear-gradient(145deg,#fff,#faf8ff)}.class-group-card>header{display:flex;align-items:center;gap:7px}.class-group-card>header input{min-width:0;width:100%;border:0;border-bottom:1px solid transparent;background:transparent;color:#413851;font-size:10px;font-weight:900}.class-group-card>header input:focus{border-bottom-color:var(--violet);outline:0}.class-group-card>span{display:flex;align-items:center;gap:5px;margin-top:8px;color:#786f85;font-size:7px;font-weight:800}.class-group-card>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.class-group-card em{padding:4px 6px;border-radius:999px;background:#eee9f8;color:#57466e;font-size:7px;font-style:normal;font-weight:800}.class-group-roster{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.class-group-roster-head{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;background:#f7f5fa}.class-group-roster-head strong{color:#4e4659;font-size:9px}.class-group-roster-head small{color:var(--muted);font-size:7px}.class-group-roster>label{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(120px,.5fr);align-items:center;grid-gap:9px;gap:9px;min-height:48px;padding:7px 11px;border-top:1px solid var(--line)}.class-group-roster>label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;color:#51495c;font-size:8px;white-space:nowrap}.class-group-roster select{min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:white;font-size:8px}.class-group-roster>p,.class-groups-empty{margin:0;padding:20px;color:var(--muted);font-size:8px;text-align:center}.class-groups-empty{grid-column:1/-1;display:grid;justify-items:center;grid-gap:5px;gap:5px;border:1px dashed #d8d1e4;border-radius:12px}.class-groups-empty strong{color:#544a62}.class-groups-empty p{margin:0}.class-groups-error,.class-groups-unsaved{display:flex;align-items:center;margin:8px 0;padding:8px 10px;border-radius:9px;font-size:8px}.class-groups-error{background:#fff0f0;color:#a43d4c}.class-groups-unsaved{background:#fff8e8;color:#86631f}.student-group-summary{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;grid-gap:11px;gap:11px;margin:-4px 0 14px;padding:12px 14px;border:1px solid #ddd7e8;border-radius:14px;background:#faf9fc}.student-group-summary>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#ebe7f2;color:#71667c}.student-group-summary.assigned{border-color:#b8dcd2;background:linear-gradient(120deg,#f5fffb,#fbfaff)}.student-group-summary.assigned>span{background:#d9f1ea;color:#347664}.student-group-summary div{min-width:0}.student-group-summary p,.student-group-summary small,.student-group-summary strong{display:block}.student-group-summary small{color:var(--muted);font-size:7px;font-weight:800}.student-group-summary strong{display:flex;align-items:center;gap:5px;margin-top:2px;color:#443b50;font-size:10px}.student-group-summary p{margin:3px 0 0;overflow:hidden;color:#6d6577;font-size:8px;text-overflow:ellipsis;white-space:nowrap}@media (max-width:900px){.class-group-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.class-groups-panel>header{display:grid}.class-groups-actions{width:100%;margin-left:0}.class-groups-actions button{flex:1 1}.class-group-card-grid{grid-template-columns:1fr}.class-group-roster>label{grid-template-columns:28px minmax(0,1fr)}.class-group-roster select{grid-column:1/-1;width:100%}}.page-title-actions{display:flex;align-items:center;gap:8px}.pixel-pilot-publish{min-height:39px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid #74d5dc;border-radius:10px;color:#146b78;background:#e9fbfc;font-size:10px;font-weight:800;cursor:pointer}.pixel-pilot-publish:hover:not(:disabled){border-color:#36b9c5;background:#d9f8fa;transform:translateY(-1px)}.pixel-pilot-publish.connected{border-color:#b7dfd3;color:#287965;background:#edf9f5}.pixel-pilot-publish:disabled{cursor:default;opacity:.8}.assignment-row.pixel-city{border-color:#cde8eb;background:linear-gradient(90deg,#f3fcfd,#fff 32%)}.assignment-row.pixel-city .assignment-badge{color:#fff;background:#1fa8b5}.assignment-progress.pixel-learning-progress{gap:7px;color:#337985}.assignment-progress.pixel-learning-progress small{color:#5f7f84}.learning-room-page{max-width:1080px;padding-bottom:48px}.learning-room-hero{position:relative;min-height:230px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);align-items:flex-end;grid-gap:34px;gap:34px;margin-bottom:30px;padding:34px;overflow:hidden;border:2px solid #17213a;border-radius:8px 8px 20px 8px;color:#f5fbfc;background:#17213a;box-shadow:8px 8px 0 #cfd7e2}.learning-room-hero:after{content:"";position:absolute;right:26px;top:24px;width:92px;height:58px;opacity:.2;background-image:linear-gradient(90deg,#5ad4de 8px,transparent 0),linear-gradient(#5ad4de 8px,transparent 0);background-size:18px 18px}.learning-room-hero>div{position:relative;z-index:1}.pixel-kicker{display:inline-flex;align-items:center;gap:7px;color:#6ed9e1;font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.1px}.learning-room-hero h1{max-width:560px;margin:15px 0 10px;color:#fff;font-size:clamp(28px,4vw,43px);letter-spacing:-1.8px;line-height:1.12}.learning-room-hero p{max-width:630px;margin:0;color:#bdc8d9;font-size:12px;line-height:1.75;word-break:keep-all}.learning-room-route{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;grid-gap:8px;gap:8px;padding:15px;border:1px solid #3c4964;background:#202d49}.learning-room-route span{min-width:0;display:grid;grid-gap:4px;gap:4px;color:#e7edf5;font-size:8px;font-weight:700;text-align:center}.learning-room-route b{color:#66d5de;font:800 10px/1 ui-monospace,Consolas,monospace}.learning-room-route i{width:12px;height:1px;background:#53627d}.learning-room-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 13px}.learning-room-heading h2{margin:4px 0 0;font-size:18px}.learning-room-heading>small{color:#68768a;font-size:10px;font-weight:700}.pixel-learning-path{position:relative;display:grid;grid-gap:12px;gap:12px}.pixel-learning-path:before{content:"";position:absolute;left:31px;top:38px;bottom:38px;border-left:2px dashed #91cfd4}.pixel-learning-card{position:relative;z-index:1;width:100%;min-height:124px;display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;grid-gap:18px;gap:18px;padding:18px 20px;border:1px solid #cbdfe2;border-radius:9px;color:#17213a;background:#fff;box-shadow:0 8px 24px rgba(23,33,58,.06);cursor:pointer;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pixel-learning-card:hover{transform:translateX(4px);border-color:#3cb6c0;box-shadow:0 13px 28px rgba(23,91,99,.11)}.pixel-learning-card:focus-visible{outline:3px solid rgba(33,174,184,.28);outline-offset:3px}.pixel-learning-node{width:62px;height:62px;display:grid;place-items:center;border:2px solid #17213a;color:#17213a;background:#68d5dd;box-shadow:4px 4px 0 #17213a;font:900 17px/1 ui-monospace,Consolas,monospace}.pixel-learning-copy{min-width:0;display:grid;grid-gap:5px;gap:5px}.pixel-learning-copy small{color:#17838e;font-size:8px;font-weight:800}.pixel-learning-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.pixel-learning-copy p{margin:0;color:#687387;font-size:10px;line-height:1.55}.pixel-learning-copy em{color:#8a93a2;font-size:8px;font-style:normal}.pixel-learning-open{min-width:94px;display:flex;align-items:center;justify-content:flex-end;gap:5px;color:#147783;font-size:10px;font-weight:800}.learning-room-empty{min-height:190px;display:flex;align-items:center;justify-content:center;gap:16px;padding:30px;border:1px dashed #9bcbd0;border-radius:10px;color:#476d73;background:#f3fbfb}.learning-room-empty>span{width:54px;height:54px;display:grid;place-items:center;color:#fff;background:#1b97a3}.learning-room-empty h2{margin:0;font-size:15px}.learning-room-empty p{margin:5px 0 0;color:#6f8589;font-size:10px}.learning-distribution-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;grid-gap:13px;gap:13px;margin:0 0 18px;padding:16px;border:1px solid #c9e4e7;border-radius:13px;background:#f4fbfc}.learning-distribution-flow>div{min-width:0;display:grid;grid-template-columns:33px 1fr;align-items:center;grid-gap:10px;gap:10px}.learning-distribution-flow>div>b{width:33px;height:33px;display:grid;place-items:center;border-radius:8px;color:#fff;background:#1c929e;font:800 11px/1 ui-monospace,Consolas,monospace}.learning-distribution-flow small,.learning-distribution-flow span,.learning-distribution-flow strong{display:block}.learning-distribution-flow strong{color:#28494e;font-size:10px}.learning-distribution-flow small{margin-top:3px;color:#71868a;font-size:8px;line-height:1.4}.learning-distribution-flow>svg{color:#7faeb3}.pixel-city-workspace{--pixel-navy:#17213a;--pixel-cyan:#22b8cf;--pixel-orange:#ff8a3d;--pixel-mint:#55b86a;--pixel-red:#ef476f;width:min(1280px,calc(100% - 36px));margin:20px auto 44px;color:#17213a;font-family:Noto Sans KR,sans-serif}.pixel-teacher-preview{position:-webkit-sticky;position:sticky;z-index:20;top:10px;min-height:62px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;margin-bottom:10px;padding:10px 12px;border:2px solid #17213a;border-radius:8px;color:#17213a;background:#effcfd;box-shadow:5px 5px 0 #9dd9de}.pixel-teacher-preview>span{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#17213a}.pixel-teacher-preview p,.pixel-teacher-preview strong{display:block}.pixel-teacher-preview strong{font-size:10px}.pixel-teacher-preview p{margin:3px 0 0;color:#55727a;font-size:8px;line-height:1.45}.pixel-teacher-preview>button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:1px solid #17213a;border-radius:7px;color:#fff;background:#17213a;cursor:pointer;font:inherit;font-size:8px;font-weight:800;white-space:nowrap}.pixel-workspace-header{min-height:58px;display:grid;grid-template-columns:180px 1fr auto;align-items:center;grid-gap:16px;gap:16px;padding:8px 13px;border:1px solid #d7dce6;border-radius:14px 14px 8px 8px;background:#fff;box-shadow:0 8px 24px rgba(23,33,58,.07)}.pixel-back{display:inline-flex;align-items:center;gap:6px;width:-moz-fit-content;width:fit-content;padding:8px 10px;border:0;border-radius:8px;color:#68728a;background:#f2f4f8;cursor:pointer;font-size:10px;font-weight:700}.pixel-workspace-header>div:nth-child(2){min-width:0;text-align:center}.pixel-workspace-header>div:nth-child(2) span{display:block;color:var(--pixel-accent);font:700 7px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:1.2px}.pixel-workspace-header>div:nth-child(2) strong{display:block;margin-top:3px;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.pixel-workspace-tools{display:flex;align-items:center;justify-content:flex-end;gap:7px}.pixel-sync{display:inline-flex;align-items:center;gap:5px;padding:7px 8px;border-radius:8px;font-size:8px;font-weight:700;white-space:nowrap}.pixel-sync.is-saved{color:#287965;background:#e8f7f2}.pixel-sync.is-saving{color:#356a91;background:#eaf4fb}.pixel-sync.is-error{color:#a34354;background:#ffedf0}.pixel-sync.is-preview{color:#126f79;background:#e5f8fa}.pixel-server-strip{display:grid;grid-template-columns:190px 1fr;align-items:stretch;margin-top:10px;overflow:hidden;border:2px solid #17213a;border-radius:8px;color:#eaf8fb;background:#17213a;box-shadow:5px 5px 0 #b9c2d1}.pixel-server-strip>div{display:grid;grid-template-columns:auto 1fr;align-content:center;grid-column-gap:8px;column-gap:8px;padding:12px 15px;border-right:1px solid #3c4864}.pixel-server-strip>div svg{grid-row:1/3;color:#59d4df}.pixel-server-strip>div span{font:700 7px/1.2 ui-monospace,Consolas,monospace;letter-spacing:1px}.pixel-server-strip>div strong{margin-top:3px;color:#7ee2e9;font-size:10px}.pixel-server-strip nav{min-width:0;display:grid;grid-template-columns:repeat(9,1fr)}.pixel-server-strip nav button{position:relative;min-width:0;min-height:54px;display:grid;place-items:center;align-content:center;grid-gap:4px;gap:4px;padding:5px 2px;border:0;border-right:1px solid #313d58;color:#717d97;background:transparent;cursor:pointer}.pixel-server-strip nav button:last-child{border-right:0}.pixel-server-strip nav button:disabled{cursor:not-allowed}.pixel-server-strip nav button.passed{color:#78d4ad}.pixel-server-strip nav button.current{color:#fff;background:var(--pixel-accent)}.pixel-server-strip nav button i{width:19px;height:19px;display:grid;place-items:center;border:1px solid;border-radius:3px;font:normal 700 8px/1 ui-monospace,Consolas,monospace}.pixel-server-strip nav button span{max-width:100%;overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.pixel-sync-error{display:flex;align-items:center;gap:7px;margin-top:10px;padding:9px 11px;border:1px solid #efc4cb;border-radius:9px;color:#a34455;background:#fff1f3;font-size:9px}.pixel-sync-error button{margin-left:auto;padding:5px 8px;border:0;border-radius:6px;color:#fff;background:#b84e61;cursor:pointer;font-size:8px}.pixel-slide-shell{position:relative;min-height:600px;margin-top:13px;overflow:hidden;border:1px solid #ced4df;border-radius:8px 8px 16px 8px;background-color:#f8fafc;background-image:linear-gradient(#e8ecf2 1px,transparent 0),linear-gradient(90deg,#e8ecf2 1px,transparent 0);background-size:24px 24px;box-shadow:7px 7px 0 #dde2ea}.pixel-slide-shell:before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(248,250,252,.82))}.pixel-slide-shell>header{position:relative;z-index:1;min-height:42px;display:flex;align-items:center;gap:9px;padding:0 18px;border-bottom:1px solid #d8dde6;color:#677189;background:rgba(255,255,255,.9)}.pixel-slide-shell>header span{color:var(--pixel-accent);font:800 8px/1 ui-monospace,Consolas,monospace;letter-spacing:.8px}.pixel-slide-shell>header small{font-size:8px}.pixel-slide-content{position:relative;z-index:1;min-height:555px;padding:34px clamp(28px,5vw,70px) 40px;animation:pixelPageIn .28s ease-out both}@keyframes pixelPageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pixel-slide-content{animation:none}.pixel-pilot-publish:hover:not(:disabled){transform:none}}.pixel-lead{margin:0 0 18px;color:#68728a;font-size:12px;line-height:1.7}.pixel-story-layout{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:22px;gap:22px}.pixel-choice-panel,.pixel-story-brief{min-height:385px;padding:27px;border:1px solid #cad2df;background:#fff;box-shadow:5px 5px 0 #e0e5ec}.pixel-story-brief{position:relative;overflow:hidden;background:#17213a;color:#fff}.pixel-story-brief:after{content:"";position:absolute;right:-20px;bottom:-30px;width:150px;height:150px;opacity:.18;background:repeating-linear-gradient(45deg,var(--pixel-accent) 0 9px,transparent 9px 18px);transform:rotate(12deg)}.pixel-dialogue-label{display:inline-block;padding:5px 8px;color:#17213a;background:var(--pixel-accent);font:800 8px/1 ui-monospace,Consolas,monospace}.pixel-story-brief>p{position:relative;z-index:1;margin:19px 0;font:400 17px/1.75 Gowun Dodum,sans-serif;word-break:keep-all}.pixel-story-brief blockquote{position:relative;z-index:1;margin:0;padding-left:13px;border-left:3px solid var(--pixel-accent);color:#93e7ed;font-size:11px;line-height:1.6}.pixel-avatar{position:absolute;z-index:2;left:26px;bottom:24px;display:flex;align-items:center;gap:5px}.pixel-avatar span{width:48px;height:48px;display:grid;place-items:center;border:2px solid #fff;background:#2a3653;font-size:25px}.pixel-avatar i{width:7px;height:7px;background:var(--pixel-accent);box-shadow:2px 2px 0 rgba(0,0,0,.2)}.pixel-choice-panel>strong{font-size:12px}.pixel-choice-panel>div{display:grid;grid-gap:8px;gap:8px;margin-top:14px}.pixel-choice-panel>div>button{min-height:58px;display:grid;grid-template-columns:34px 1fr;align-items:center;grid-gap:11px;gap:11px;padding:8px 12px;border:1px solid #d8dde6;color:#3c465d;background:#f8fafc;cursor:pointer;text-align:left}.pixel-choice-panel>div>button.selected,.pixel-choice-panel>div>button:hover{border-color:var(--pixel-accent);background:color-mix(in srgb,var(--pixel-accent) 11%,white)}.pixel-choice-panel>div>button b{width:31px;height:31px;display:grid;place-items:center;color:#fff;background:#17213a;font:800 11px/1 ui-monospace,Consolas,monospace}.pixel-choice-panel>div>button span{font-size:10px;line-height:1.45}.pixel-choice-feedback{display:flex;gap:9px;margin-top:13px;padding:11px;color:#276d5e;background:#e9f8f3}.pixel-choice-feedback svg{flex:none}.pixel-choice-feedback strong{font-size:9px}.pixel-choice-feedback p{margin:3px 0 0;font-size:9px;line-height:1.45}.pixel-choice-hint{margin:14px 0 0;color:#858da0;font-size:8px}.pixel-twist{grid-column:1/3;display:grid;grid-template-columns:auto 1fr;grid-gap:8px 13px;gap:8px 13px;padding:13px 16px;border-left:5px solid var(--pixel-accent);color:#344057;background:#fff}.pixel-twist strong{color:var(--pixel-accent);font:800 8px/1.4 ui-monospace,Consolas,monospace}.pixel-twist p{margin:0;font-size:10px}.pixel-twist small{grid-column:2;color:#737c90;font-size:8px}.pixel-route-page{max-width:900px;margin:0 auto}.pixel-goals{display:grid;grid-gap:8px;gap:8px;margin:0 0 28px;padding:0;list-style:none}.pixel-goals li{display:flex;align-items:flex-start;gap:8px;color:#273149;font-size:13px;line-height:1.5}.pixel-goals svg{flex:none;margin-top:2px;color:var(--pixel-accent)}.pixel-time-route{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px}.pixel-time-route article{position:relative;min-height:190px;padding:18px 14px;border:1px solid #cfd6e1;background:#fff;box-shadow:4px 4px 0 #e0e5ec}.pixel-time-route article>span{color:var(--pixel-accent);font:800 9px/1 ui-monospace,Consolas,monospace}.pixel-time-route article>b{width:38px;height:38px;display:grid;place-items:center;margin:25px 0 18px;color:#fff;background:#17213a;font-size:15px}.pixel-time-route strong{font-size:12px}.pixel-time-route p{margin:6px 0 0;color:#727b8f;font-size:9px;line-height:1.55}.pixel-theory-page{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:15px;gap:15px}.pixel-theory-main,.pixel-theory-side article{padding:22px;border:1px solid #ced5df;background:#fff}.pixel-theory-main>span,.pixel-theory-side span{color:var(--pixel-accent);font:800 8px/1 ui-monospace,Consolas,monospace}.pixel-theory-main h3{margin:14px 0 20px;font-size:17px;line-height:1.65;word-break:keep-all}.pixel-theory-main>div{padding:14px;background:#f3f6f9}.pixel-theory-main strong{font-size:10px}.pixel-theory-main p,.pixel-theory-side p{margin:5px 0 0;color:#606b82;font-size:10px;line-height:1.65}.pixel-theory-side{display:grid;grid-gap:10px;gap:10px}.pixel-theory-page>blockquote{grid-column:1/3;display:flex;gap:11px;margin:0;padding:15px 18px;color:#fff;background:#17213a}.pixel-theory-page>blockquote svg{flex:none;color:var(--pixel-accent)}.pixel-theory-page>blockquote strong{font-size:9px}.pixel-theory-page>blockquote p{margin:3px 0 0;color:#d7e0ee;font:400 12px/1.6 Gowun Dodum,sans-serif}.pixel-theory-page>ul{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.pixel-theory-page>ul li{padding:11px 12px;border-left:3px solid var(--pixel-accent);color:#5e687c;background:#fff;font-size:9px;line-height:1.5}.pixel-concepts-page>div{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:13px;gap:13px}.pixel-concepts-page article{min-height:260px;display:flex;flex-direction:column;align-items:flex-start;padding:26px;border:1px solid #ccd4df;background:#fff;box-shadow:5px 5px 0 #dfe4eb}.pixel-concepts-page article b{width:54px;height:54px;display:grid;place-items:center;margin-bottom:35px;color:#fff;background:#17213a;font:800 20px/1 ui-monospace,Consolas,monospace}.pixel-concepts-page article strong{font-size:17px}.pixel-concepts-page article p{margin:9px 0 0;color:#677188;font-size:11px;line-height:1.65}.pixel-concepts-page>aside{display:flex;align-items:center;gap:9px;margin-top:17px;padding:13px 16px;color:#7f5b15;background:#fff5d8;font-size:10px}.pixel-visual-page{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:18px;gap:18px}.pixel-sim-screen{min-height:430px;overflow:hidden;border:8px solid #202941;background:#94d7e2;box-shadow:6px 6px 0 #aeb7c6}.pixel-sim-screen>header{min-height:33px;display:flex;align-items:center;gap:5px;padding:0 9px;color:#dce3ed;background:#202941}.pixel-sim-screen>header span{width:7px;height:7px;background:#ef6b79}.pixel-sim-screen>header span:nth-child(2){background:#f2bd4a}.pixel-sim-screen>header span:nth-child(3){background:#5bc48c}.pixel-sim-screen>header strong{margin-left:auto;font:700 7px/1 ui-monospace,Consolas,monospace;letter-spacing:.8px}.pixel-sim-world{min-height:275px;display:flex;align-items:center;justify-content:center;gap:20px;padding:30px;background-color:#77cbd9;background-image:linear-gradient(30deg,rgba(255,255,255,.12) 12%,transparent 12.5%,transparent 87%,rgba(0,0,0,.06) 87.5%),linear-gradient(150deg,rgba(255,255,255,.12) 12%,transparent 12.5%,transparent 87%,rgba(0,0,0,.06) 87.5%);background-size:48px 84px}.pixel-sim-screen.lesson-2 .pixel-sim-world{background-color:#f6c46e}.pixel-scene-icon{width:92px;height:92px;display:grid;place-items:center;border:4px solid #fff;background:rgba(23,33,58,.78);box-shadow:8px 8px 0 rgba(23,33,58,.3);font-size:48px}.pixel-sim-world>div{max-width:220px;padding:14px;color:#fff;background:rgba(23,33,58,.88)}.pixel-sim-world p,.pixel-sim-world small,.pixel-sim-world strong{display:block}.pixel-sim-world small{color:#9be8ee;font:700 7px/1 ui-monospace,Consolas,monospace}.pixel-sim-world strong{margin-top:9px;font-size:16px}.pixel-sim-world p{margin:7px 0 0;color:#d8e1ee;font-size:9px;line-height:1.45}.pixel-sim-code{position:relative;min-height:100px;padding:14px 18px;color:#dfe8f3;background:#29334c}.pixel-sim-code span{display:inline-block;padding:5px 8px;color:#17213a;background:#5bd1db;font:700 8px/1 ui-monospace,Consolas,monospace}.pixel-sim-code b{display:block;margin-top:8px;font:700 10px/1.4 ui-monospace,Consolas,monospace}.pixel-sim-code i{position:absolute;left:0;bottom:0;height:5px;background:var(--pixel-accent);transition:width .25s ease}.pixel-step-console{padding:22px;border:1px solid #ccd4df;background:#fff}.pixel-step-console>span{color:var(--pixel-accent);font:800 8px/1 ui-monospace,Consolas,monospace}.pixel-step-console h3{margin:8px 0 5px;font-size:17px}.pixel-step-console>p{margin:0 0 16px;color:#6d768a;font-size:9px;line-height:1.55}.pixel-step-console>div{display:grid;grid-gap:7px;gap:7px}.pixel-step-console>div button{display:grid;grid-template-columns:28px 1fr;align-items:center;grid-gap:8px;gap:8px;padding:8px;border:1px solid #d8dde5;background:#f8f9fb;cursor:pointer;text-align:left}.pixel-step-console>div button.active{border-color:var(--pixel-accent);color:#17213a;background:color-mix(in srgb,var(--pixel-accent) 12%,white)}.pixel-step-console>div button b{width:25px;height:25px;display:grid;place-items:center;color:#fff;background:#17213a;font-size:8px}.pixel-step-console>div button span{font-size:9px;line-height:1.35}.pixel-step-console>aside{display:flex;gap:8px;margin-top:12px;padding:11px;color:#3a705f;background:#eaf7f2}.pixel-step-console>aside svg{flex:none}.pixel-step-console>aside p{margin:0;font-size:9px;line-height:1.45}.pixel-takeaway{display:block;margin-top:12px;padding-top:10px;border-top:1px dashed #cfd5df;color:#4f5970;font-size:9px}.pixel-demo-page{display:grid;grid-template-columns:1fr 280px;grid-gap:18px;gap:18px}.pixel-demo-page section{padding:23px;border:1px solid #ccd4df;background:#fff}.pixel-demo-page section article{min-height:70px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;grid-gap:13px;gap:13px;border-top:1px solid #e6e9ef}.pixel-demo-page section article>b{color:var(--pixel-accent);font:800 14px/1 ui-monospace,Consolas,monospace}.pixel-demo-page section article strong{font-size:11px}.pixel-demo-page section article p{margin:4px 0 0;color:#70798c;font-size:9px}.pixel-demo-page section article>span{color:#8790a1;font-size:8px}.pixel-demo-page>aside{align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;background:#17213a}.pixel-demo-page>aside strong{color:var(--pixel-accent);font:800 10px/1.4 ui-monospace,Consolas,monospace}.pixel-demo-page>aside p{margin:11px 0 0;color:#d3ddeb;font-size:10px;line-height:1.65}.pixel-mission-page{max-width:920px;margin:0 auto}.pixel-mission-page>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.pixel-mission-page>header span{color:var(--pixel-accent);font:800 8px/1 ui-monospace,Consolas,monospace}.pixel-mission-page>header h3{margin:7px 0 0;font-size:19px}.pixel-mission-page>header>strong{font:800 24px/1 ui-monospace,Consolas,monospace}.pixel-mission-page>div{display:grid;grid-gap:10px;gap:10px}.pixel-mission-page>div button{min-height:102px;display:grid;grid-template-columns:48px 1fr auto;align-items:center;grid-gap:15px;gap:15px;padding:14px 17px;border:1px solid #cdd4df;background:#fff;box-shadow:4px 4px 0 #e0e5ec;cursor:pointer;text-align:left}.pixel-mission-page>div button.checked{border-color:#82cbae;background:#effaf6;box-shadow:4px 4px 0 #cfe9df}.pixel-mission-page>div button>span{width:42px;height:42px;display:grid;place-items:center;color:#fff;background:#17213a;font:800 13px/1 ui-monospace,Consolas,monospace}.pixel-mission-page>div button.checked>span{background:#3eac83}.pixel-mission-page>div button strong{font-size:13px}.pixel-mission-page>div button p{margin:4px 0 0;color:#6c768a;font-size:10px}.pixel-mission-page>div button small{color:#828b9d;font-size:8px}.pixel-mission-page>aside{display:flex;align-items:center;gap:8px;margin-top:15px;padding:11px 14px;color:#715d2c;background:#fff5d9;font-size:9px}.pixel-quiz-page{max-width:850px;margin:0 auto}.pixel-quiz-page h3{margin:4px 0 23px;font-size:21px;line-height:1.45}.pixel-quiz-page>div{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.pixel-quiz-page>div button{min-height:82px;display:grid;grid-template-columns:34px 1fr auto;align-items:center;grid-gap:11px;gap:11px;padding:12px;border:1px solid #cdd4df;background:#fff;box-shadow:3px 3px 0 #e0e5ec;cursor:pointer;text-align:left}.pixel-quiz-page>div button.selected,.pixel-quiz-page>div button:hover{border-color:var(--pixel-accent)}.pixel-quiz-page>div button.correct{border-color:#5fbe94;background:#effaf6}.pixel-quiz-page>div button b{width:30px;height:30px;display:grid;place-items:center;color:#fff;background:#17213a;font:800 10px/1 ui-monospace,Consolas,monospace}.pixel-quiz-page>div button span{font-size:11px}.pixel-quiz-page>div button i{color:var(--pixel-accent);font-size:8px;font-style:normal;font-weight:800}.pixel-quiz-page>aside{margin-top:16px;padding:16px}.pixel-quiz-page>aside.success{color:#246e58;background:#e9f8f2}.pixel-quiz-page>aside.retry{color:#9b6721;background:#fff4dc}.pixel-quiz-page>aside strong{font-size:11px}.pixel-quiz-page>aside p{margin:5px 0 0;font-size:10px;line-height:1.55}.pixel-reflection-page{display:grid;grid-template-columns:.9fr 1.1fr;grid-gap:18px;gap:18px}.pixel-challenge-grid{display:grid;grid-gap:9px;gap:9px}.pixel-challenge-grid article{display:grid;grid-template-columns:42px 1fr;align-items:center;grid-gap:12px;gap:12px;padding:15px;border:1px solid #ccd4df;background:#fff}.pixel-challenge-grid article b{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#17213a;font:800 12px/1 ui-monospace,Consolas,monospace}.pixel-challenge-grid article strong{font-size:11px}.pixel-challenge-grid article p{margin:4px 0 0;color:#70798c;font-size:9px;line-height:1.45}.pixel-exit-ticket{padding:24px;border:1px solid #ccd4df;background:#fff;box-shadow:5px 5px 0 #dfe4eb}.pixel-exit-ticket>span{color:var(--pixel-accent);font:800 8px/1 ui-monospace,Consolas,monospace}.pixel-exit-ticket h3{margin:11px 0 16px;font-size:17px;line-height:1.5}.pixel-exit-ticket textarea{width:100%;min-height:130px;resize:vertical;padding:13px;border:1px solid #cbd3df;border-radius:0;font-size:11px;line-height:1.6}.pixel-exit-ticket>small{display:block;margin-top:4px;color:#8991a1;font-size:8px;text-align:right}.pixel-complete-button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:13px;border:0;color:#fff;background:#17213a;cursor:pointer;font-size:10px;font-weight:800}.pixel-complete-button:disabled{color:#929aaa;background:#e7eaf0;cursor:not-allowed}.pixel-complete-banner{display:flex;align-items:center;gap:12px;margin-top:13px;padding:14px;color:#236f58;background:#e9f8f2}.pixel-complete-banner strong{font-size:10px}.pixel-complete-banner p{margin:3px 0 0;font-size:8px}.pixel-navigation{min-height:54px;display:grid;grid-template-columns:120px 1fr 120px;align-items:center;grid-gap:14px;gap:14px;margin-top:14px}.pixel-navigation>button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #ccd3df;border-radius:9px;color:#586278;background:#fff;cursor:pointer;font-size:10px;font-weight:700}.pixel-navigation>button.next{border-color:#17213a;color:#fff;background:#17213a}.pixel-navigation>button:disabled{opacity:.4;cursor:not-allowed}.pixel-navigation>div{position:relative;height:8px;overflow:hidden;background:#e0e5ec}.pixel-navigation>div i{display:block;height:100%;background:var(--pixel-accent);transition:width .25s ease}.pixel-navigation>div span{position:absolute;right:0;top:-17px;color:#68728a;font:700 7px/1 ui-monospace,Consolas,monospace}.pixel-monitor-panel{margin-bottom:16px;overflow:hidden;border:1px solid #bcdde1;border-radius:15px;background:#fff;box-shadow:0 8px 25px rgba(31,72,82,.06)}.pixel-monitor-panel>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;color:#eaf8fb;background:#17213a}.pixel-monitor-panel>header span{display:flex;align-items:center;gap:5px;color:#62d3dd;font:800 7px/1 ui-monospace,Consolas,monospace}.pixel-monitor-panel>header h2{margin:5px 0 2px;color:#fff;font-size:13px}.pixel-monitor-panel>header p{margin:0;color:#aeb9cc;font-size:8px}.pixel-monitor-actions{display:flex;align-items:center;gap:7px}.pixel-monitor-actions>span{padding:6px 8px;border-radius:8px;color:#c4cedd!important;background:#2d3853;font-family:Noto Sans KR,sans-serif!important;letter-spacing:0!important}.pixel-monitor-actions>span.transport-subscribed{color:#7fe2bc!important}.pixel-monitor-actions button{min-height:30px;display:flex;align-items:center;gap:5px;padding:0 9px;border:1px solid #44516c;border-radius:8px;color:#dce4ef;background:transparent;cursor:pointer;font-size:8px}.pixel-monitor-tabs{display:flex;align-items:stretch;gap:5px;padding:8px;border-bottom:1px solid #e0e5ec;background:#f5f8fa}.pixel-monitor-tabs>button{min-width:110px;display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 10px;border:1px solid #d4dae4;border-radius:8px;color:#697287;background:#fff;cursor:pointer}.pixel-monitor-tabs>button.active{border-color:#34aeb9;color:#126a75;background:#eafafb}.pixel-monitor-tabs>button b{font-size:9px}.pixel-monitor-tabs>button span{font-size:7px}.pixel-monitor-tabs>aside{display:flex;align-items:center;gap:8px;margin-left:auto;padding:0 8px}.pixel-monitor-tabs>aside span,.pixel-monitor-tabs>aside strong{font-size:8px}.pixel-monitor-tabs>aside strong{color:#26806a}.pixel-monitor-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px;padding:10px}.pixel-monitor-grid article{min-width:0;padding:11px;border:1px solid #e0e4eb;border-radius:11px;background:#fff}.pixel-monitor-grid article.working{border-color:#a9dce1}.pixel-monitor-grid article.completed{border-color:#a7d9c7;background:#f5fcf9}.pixel-monitor-grid article>header{display:flex;align-items:center;gap:8px}.pixel-monitor-grid article>header>span{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:8px;color:#18727d;background:#e1f6f8;font-size:9px;font-weight:800}.pixel-monitor-grid article>header>div{min-width:0;flex:1 1}.pixel-monitor-grid article>header small,.pixel-monitor-grid article>header strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pixel-monitor-grid article>header strong{font-size:9px}.pixel-monitor-grid article>header small{margin-top:2px;color:#7c8495;font-size:7px}.pixel-monitor-grid article>header svg{color:#3aa17c}.pixel-monitor-progress{position:relative;height:7px;margin:10px 0;overflow:hidden;border-radius:6px;background:#e6eaf0}.pixel-monitor-progress i{display:block;height:100%;background:#2bb2be}.pixel-monitor-progress span{position:absolute;right:3px;top:-9px;color:#fff;font-size:5px}.pixel-monitor-grid dl{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px;margin:0}.pixel-monitor-grid dl>div{min-width:0;padding:6px;border-radius:7px;background:#f6f7f9}.pixel-monitor-grid dt{color:#8a91a0;font-size:6px}.pixel-monitor-grid dd{margin:3px 0 0;overflow:hidden;color:#4e576a;font-size:7px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.pixel-monitor-state{min-height:120px;display:flex;align-items:center;justify-content:center;gap:8px;color:#6e778a;font-size:9px}.pixel-monitor-state.error{color:#a74758}.pixel-monitor-state button{padding:6px 8px;border:0;border-radius:7px;color:#fff;background:#a74758;cursor:pointer;font-size:7px}@media (max-width:1050px){.learning-room-hero{grid-template-columns:1fr;align-items:start}.learning-room-route{max-width:520px}.learning-distribution-flow{grid-template-columns:1fr}.learning-distribution-flow>svg{display:none}.pixel-server-strip{grid-template-columns:160px 1fr}.pixel-server-strip nav button span{display:none}.pixel-reflection-page,.pixel-story-layout{grid-template-columns:1fr}.pixel-twist{grid-column:1}.pixel-choice-panel,.pixel-story-brief{min-height:330px}.pixel-time-route{grid-template-columns:1fr 1fr}.pixel-time-route article{min-height:150px}.pixel-demo-page,.pixel-visual-page{grid-template-columns:1fr}.pixel-demo-page>aside{min-height:150px}.pixel-monitor-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.page-title-actions{width:100%;flex-direction:column}.page-title-actions>button{width:100%}.learning-room-hero{min-height:0;padding:25px 20px;box-shadow:4px 4px 0 #cfd7e2}.learning-room-route{grid-template-columns:1fr;align-items:stretch}.learning-room-route i{width:1px;height:10px;justify-self:center}.pixel-learning-card{grid-template-columns:52px minmax(0,1fr);gap:13px;padding:15px}.pixel-learning-node{width:52px;height:52px}.pixel-learning-open{grid-column:2;justify-content:flex-start}.pixel-learning-path:before{left:25px}.pixel-city-workspace{width:calc(100% - 20px);margin-top:10px}.pixel-teacher-preview{position:relative;top:0;grid-template-columns:34px 1fr}.pixel-teacher-preview>span{width:34px;height:34px}.pixel-teacher-preview>button{grid-column:1/3;width:100%}.pixel-workspace-header{grid-template-columns:auto 1fr}.pixel-workspace-header>div:nth-child(2){text-align:left}.pixel-workspace-tools{grid-column:1/3;justify-content:space-between;border-top:1px solid #e5e8ee;padding-top:7px}.pixel-server-strip{grid-template-columns:1fr}.pixel-server-strip>div{border-right:0;border-bottom:1px solid #3c4864}.pixel-server-strip nav{overflow-x:auto;grid-template-columns:repeat(9,minmax(46px,1fr))}.pixel-server-strip nav button{min-height:43px}.pixel-slide-shell{min-height:560px;box-shadow:4px 4px 0 #dde2ea}.pixel-slide-content{min-height:515px;padding:24px 16px 30px}.pixel-choice-panel,.pixel-story-brief{min-height:0;padding:20px}.pixel-story-brief{min-height:310px}.pixel-story-brief>p{font-size:15px}.pixel-choice-panel>div>button{grid-template-columns:31px 1fr}.pixel-concepts-page>div,.pixel-quiz-page>div,.pixel-theory-page,.pixel-theory-page>ul,.pixel-time-route{grid-template-columns:1fr}.pixel-theory-page>blockquote,.pixel-theory-page>ul{grid-column:1}.pixel-theory-main h3{font-size:15px}.pixel-concepts-page article{min-height:190px}.pixel-concepts-page article b{margin-bottom:20px}.pixel-sim-screen{min-height:350px;border-width:5px}.pixel-sim-world{min-height:230px;padding:18px}.pixel-scene-icon{width:68px;height:68px;font-size:35px}.pixel-sim-world>div{max-width:180px}.pixel-mission-page>div button{grid-template-columns:42px 1fr}.pixel-mission-page>div button small{grid-column:2}.pixel-navigation{grid-template-columns:88px 1fr 88px;gap:8px}.pixel-navigation>button{font-size:9px}.pixel-monitor-panel>header{align-items:flex-start;flex-direction:column}.pixel-monitor-actions{width:100%;justify-content:space-between}.pixel-monitor-tabs{flex-wrap:wrap}.pixel-monitor-tabs>button{flex:1 1}.pixel-monitor-tabs>aside{width:100%;margin-left:0;justify-content:flex-end}.pixel-monitor-grid{grid-template-columns:1fr 1fr}}@media (max-width:430px){.learning-room-heading{gap:5px}.learning-room-empty,.learning-room-heading{align-items:flex-start;flex-direction:column}.pixel-workspace-header>div:nth-child(2) strong{max-width:180px}.pixel-sync{font-size:7px}.pixel-workspace-tools .student-help-request .secondary-button{font-size:8px}.pixel-story-brief{min-height:330px}.pixel-story-brief>p{font-size:14px}.pixel-twist{grid-template-columns:1fr}.pixel-twist small{grid-column:1}.pixel-sim-world{align-items:flex-start;flex-direction:column}.pixel-sim-world>div{max-width:none}.pixel-step-console{padding:16px}.pixel-monitor-grid{grid-template-columns:1fr}}.entry-frame-wrap.read-only iframe{pointer-events:none;filter:saturate(.72)}.entry-frame-wrap.read-only.review-mode iframe{filter:none}.entry-readonly-overlay{position:absolute;right:16px;top:16px;z-index:3;display:grid;grid-template-columns:auto 1fr;grid-gap:2px 8px;gap:2px 8px;align-items:center;max-width:250px;padding:10px 12px;border:1px solid #d8d1f3;border-radius:11px;color:#695d96;background:rgba(250,249,255,.96);box-shadow:0 8px 24px rgba(72,59,122,.12)}.entry-readonly-overlay svg{grid-row:1/3}.entry-readonly-overlay strong{font-size:9px}.entry-readonly-overlay span{color:var(--muted);font-size:7px}.submission-lock-notice{display:flex;gap:9px;margin-top:13px;padding:11px;border:1px solid #ddd7f5;border-radius:11px;color:#6d609d;background:#f8f6ff}.submission-lock-notice p,.submission-lock-notice strong{display:block}.submission-lock-notice strong{font-size:9px}.submission-lock-notice p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.stop-code{color:#b24b5d!important;border-color:#e8bcc4!important;background:#fff5f7!important}.upload-button.disabled{opacity:.5;cursor:not-allowed}.python-code-editor.read-only .cm-editor{filter:saturate(.72);opacity:.82}.result-filter-bar{display:flex;align-items:center;gap:8px;margin:0 0 12px}.result-filter-bar input,.result-filter-bar select{min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;font:inherit;font-size:9px}.result-filter-bar input{min-width:210px}.result-filter-bar span{margin-left:auto;color:var(--muted);font-size:8px}.results-mode-tabs{width:-moz-fit-content;width:fit-content;display:flex;gap:5px;margin-bottom:16px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#f3f1f8}.results-mode-tabs button{min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 13px;border:0;border-radius:9px;color:var(--muted);background:transparent;cursor:pointer;font-size:9px;font-weight:700}.results-mode-tabs button.active{color:var(--violet);background:white;box-shadow:0 3px 12px rgba(50,40,95,.09)}.results-mode-tabs button b{min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;border-radius:10px;color:white;background:#cc655b;font-size:7px}.gradebook-title .secondary-button{align-self:center;display:inline-flex;align-items:center;gap:6px}.gradebook-overview{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:15px}.gradebook-overview>div{padding:16px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 7px 24px rgba(48,39,87,.04)}.gradebook-overview>div.attention{border-color:#efc8c0;background:#fff8f6}.gradebook-overview small,.gradebook-overview span,.gradebook-overview strong{display:block}.gradebook-overview span{color:var(--muted);font-size:8px}.gradebook-overview strong{margin-top:6px;font-size:18px}.gradebook-overview small{margin-top:4px;color:#8a8596;font-size:7px}.gradebook-overview .attention strong{color:#c25f55}.gradebook-filter-bar{display:flex;align-items:center;gap:8px;margin-bottom:11px}.gradebook-filter-bar input,.gradebook-filter-bar select{min-height:37px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;font:inherit;font-size:9px}.gradebook-filter-bar input{min-width:220px}.gradebook-filter-bar span{margin-left:auto;color:var(--muted);font-size:8px}.gradebook-panel{overflow:hidden}.gradebook-scroll{overflow:auto;max-height:calc(100vh - 350px);min-height:240px}.gradebook-scroll table{width:100%;border-collapse:separate;border-spacing:0}.gradebook-scroll td,.gradebook-scroll th{padding:8px;border-right:1px solid #eeeaf5;border-bottom:1px solid #eeeaf5;vertical-align:middle;background:white}.gradebook-scroll thead th{position:-webkit-sticky;position:sticky;top:0;z-index:2;height:76px;color:var(--muted);background:#f8f7fb;text-align:left}.gradebook-scroll thead th:first-child{left:0;z-index:4;min-width:165px}.gradebook-scroll thead th:nth-child(2){min-width:82px}.gradebook-scroll thead th span,.gradebook-scroll thead th strong{display:block}.gradebook-scroll thead th span{color:var(--violet);font-size:7px}.gradebook-scroll thead th strong{max-width:150px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:9px}.gradebook-scroll thead th .gradebook-assignment-summary{display:block;max-width:170px;margin-top:5px;overflow:hidden;color:#8b8697;font-size:6px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.gradebook-scroll tbody th{position:-webkit-sticky;position:sticky;left:0;z-index:1;text-align:left}.gradebook-student{display:flex;align-items:center;gap:8px}.gradebook-student>i{width:31px;height:31px;flex:none;display:grid;place-items:center;border-radius:9px;color:var(--violet);background:#eeeaff;font-size:10px;font-style:normal;font-weight:800}.gradebook-student small,.gradebook-student strong{display:block}.gradebook-student strong{font-size:9px}.gradebook-student small{margin-top:3px;color:var(--muted);font-size:7px;font-weight:500}.gradebook-average{text-align:center}.gradebook-average small,.gradebook-average strong{display:block}.gradebook-average strong{font-size:11px}.gradebook-average small{margin-top:3px;color:var(--muted);font-size:7px}.gradebook-cell{width:100%;min-height:67px;display:block;padding:8px 9px;border:1px solid var(--line);border-radius:10px;text-align:left;background:#faf9fd;cursor:pointer}.gradebook-cell:hover{border-color:#bfb5ee;box-shadow:0 5px 15px rgba(69,55,126,.08)}.gradebook-cell-head{display:flex;align-items:center;justify-content:space-between;gap:5px}.gradebook-cell em{padding:3px 6px;border-radius:10px;color:#777181;background:#efedf2;font-size:6px;font-style:normal;font-weight:800}.gradebook-cell>small,.gradebook-cell>strong{display:block}.gradebook-cell>strong{margin-top:6px;font-size:12px}.gradebook-cell>small{margin-top:3px;color:var(--muted);font-size:7px}.gradebook-cell.tone-done{border-color:#cbe7df;background:#f2faf7}.gradebook-cell.tone-done em{color:#247d69;background:#dbf3eb}.gradebook-cell.tone-done svg{color:#25846d}.gradebook-cell.tone-review{border-color:#efc9c1;background:#fff7f5}.gradebook-cell.tone-review em{color:#b8584e;background:#ffe6e1}.gradebook-cell.tone-waiting{border-color:#ead7ae;background:#fffaf0}.gradebook-cell.tone-waiting em{color:#936b25;background:#fff0cb}.gradebook-cell.tone-working{border-color:#d8d0ef;background:#f8f6ff}.gradebook-cell.tone-working em{color:#6b58b0;background:#e9e4fb}.review-queue-title{align-items:stretch}.review-queue-count{min-width:112px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-content:center;grid-column-gap:9px;column-gap:9px;padding:13px 16px;border:1px solid #d7e8e2;border-radius:14px;color:#27806c;background:#f4fbf8}.review-queue-count.attention{color:#b75a50;border-color:#efc9c1;background:#fff7f5}.review-queue-count svg{grid-row:1/3;align-self:center}.review-queue-count small,.review-queue-count strong{display:block}.review-queue-count strong{font-size:15px}.review-queue-count small{color:var(--muted);font-size:7px}.review-queue-overview{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:14px}.review-queue-overview>div{padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 7px 22px rgba(48,39,87,.04)}.review-queue-overview>div.waiting{border-color:#ead7ae;background:#fffaf0}.review-queue-overview>div.review{border-color:#efc9c1;background:#fff7f5}.review-queue-overview small,.review-queue-overview span,.review-queue-overview strong{display:block}.review-queue-overview span{color:var(--muted);font-size:8px}.review-queue-overview strong{margin-top:5px;font-size:17px}.review-queue-overview small{margin-top:4px;color:#8b8697;font-size:7px}.review-queue-overview .waiting strong{color:#936b25}.review-queue-overview .review strong{color:#b8584e}.review-queue-filters{display:flex;align-items:center;gap:8px;margin-bottom:11px}.review-queue-filters input,.review-queue-filters select{min-height:37px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;font:inherit;font-size:9px}.review-queue-filters input{min-width:210px}.review-queue-filters span{margin-left:auto;color:var(--muted);font-size:8px}.review-queue-panel{overflow:hidden}.review-queue-list{display:grid}.review-queue-item{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(125px,.8fr) minmax(230px,1.2fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:13px 15px;border-left:3px solid transparent;border-bottom:1px solid #eeeaf5}.review-queue-item:last-child{border-bottom:0}.review-queue-item.waiting{border-left-color:#d8ab52}.review-queue-item.review{border-left-color:#d46d63}.review-queue-student{min-width:0;display:flex;align-items:center;gap:9px}.review-queue-student>i{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;color:var(--violet);background:#eeeaff;font-size:10px;font-style:normal;font-weight:800}.review-queue-student small,.review-queue-student span,.review-queue-student strong{min-width:0;display:block}.review-queue-student strong{font-size:9px}.review-queue-student small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:7px}.review-queue-status em,.review-queue-status small{display:block}.review-queue-status em{width:-moz-fit-content;width:fit-content;padding:4px 7px;border-radius:10px;color:#b8584e;background:#ffe6e1;font-size:7px;font-style:normal;font-weight:800}.review-queue-item.waiting .review-queue-status em{color:#936b25;background:#fff0cb}.review-queue-status small{margin-top:4px;color:var(--muted);font-size:7px}.review-queue-scores{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.review-queue-scores>span{padding:7px 8px;border-radius:8px;background:#f7f6fa;text-align:center}.review-queue-scores small,.review-queue-scores strong{display:block}.review-queue-scores small{color:var(--muted);font-size:6px}.review-queue-scores strong{margin-top:3px;font-size:9px}.review-queue-item>button{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.review-queue-empty{display:grid;justify-items:center;padding:48px 20px;color:#27806c;text-align:center}.review-queue-empty strong{margin-top:10px;color:var(--ink);font-size:11px}.review-queue-empty p{margin:5px 0 0;color:var(--muted);font-size:8px}.growth-student-chip{min-width:160px;display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid #d8d1f3;border-radius:14px;background:#f8f6ff}.growth-student-chip>i{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:11px;color:white;background:linear-gradient(145deg,#7d67df,#9b84ec);font-size:12px;font-style:normal;font-weight:800}.growth-student-chip small,.growth-student-chip span,.growth-student-chip strong{display:block}.growth-student-chip strong{font-size:10px}.growth-student-chip small{margin-top:3px;color:var(--muted);font-size:7px}.growth-title-actions{display:flex;align-items:center;gap:8px}.growth-export-actions{display:grid;grid-gap:5px;gap:5px}.growth-export-actions button{min-height:31px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 9px;font-size:7px}.growth-layout{display:grid;grid-template-columns:215px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.growth-student-list{position:-webkit-sticky;position:sticky;top:14px;overflow:hidden}.growth-student-list>label{display:block;padding:14px;border-bottom:1px solid var(--line)}.growth-student-list>label span{display:block;margin-bottom:6px;color:var(--muted);font-size:7px;font-weight:700}.growth-student-list input{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:white;font:inherit;font-size:8px}.growth-student-list>div{max-height:calc(100vh - 320px);overflow-y:auto}.growth-student-list>div>button{width:100%;min-height:57px;display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid #f0edf5;color:var(--ink);background:white;text-align:left;cursor:pointer}.growth-student-list>div>button.active{color:var(--violet);background:#f5f2ff}.growth-student-list button>i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:var(--violet);background:#eeeaff;font-size:9px;font-style:normal;font-weight:800}.growth-student-list button small,.growth-student-list button span,.growth-student-list button strong{min-width:0;display:block}.growth-student-list button strong{font-size:8px}.growth-student-list button small{margin-top:3px;color:var(--muted);font-size:6px}.growth-student-list button b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:10px;color:#b8584e;background:#ffe6e1;font-size:7px}.growth-student-list>div>p{margin:0;padding:24px 12px;color:var(--muted);text-align:center;font-size:8px}.growth-report{min-width:0;display:grid;grid-gap:12px;gap:12px}.growth-overview{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:9px;gap:9px}.growth-overview>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 7px 22px rgba(48,39,87,.04)}.growth-overview small,.growth-overview span,.growth-overview strong{display:block}.growth-overview span{color:var(--muted);font-size:7px}.growth-overview strong{margin-top:5px;font-size:16px}.growth-overview small{margin-top:4px;color:#8b8697;font-size:6px}.growth-overview>div.positive strong{color:#21836e}.growth-overview>div.attention strong,.growth-overview>div.negative strong{color:#c44e62}.growth-overview>div.attention{border-color:#efc9c1;background:#fff7f5}.growth-chart-panel,.growth-history-panel{padding:16px}.growth-chart{min-width:480px;height:220px;display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:8px 5px 0;border-bottom:1px solid #ded9eb;background:repeating-linear-gradient(0deg,transparent 0,transparent 43px,#f0edf5 44px)}.growth-chart article{min-width:74px;flex:1 0 74px;display:grid;grid-template-rows:28px 1fr 35px;justify-items:center;min-height:0}.growth-chart-score{text-align:center}.growth-chart-score small,.growth-chart-score strong{display:inline}.growth-chart-score strong{font-size:9px}.growth-chart-score small{margin-left:2px;color:var(--muted);font-size:6px}.growth-bar-track{width:28px;height:100%;display:flex;align-items:flex-end;overflow:hidden;border-radius:7px 7px 0 0;background:#f1eef8}.growth-bar-track i{width:100%;display:block;border-radius:7px 7px 0 0;background:linear-gradient(0deg,#6e58d2,#9a85eb)}.growth-chart article.unconfirmed .growth-bar-track{border:1px dashed #c9c2d8;background:transparent}.growth-chart article.unconfirmed .growth-bar-track i{background:#d8d2e4}.growth-chart article>span{width:70px;padding-top:7px;overflow:hidden;color:var(--muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:6px}.growth-history-list{display:grid}.growth-history-list article{display:grid;grid-template-columns:72px minmax(130px,1fr) minmax(190px,auto) auto;align-items:center;grid-gap:11px;gap:11px;padding:11px 0;border-bottom:1px solid #eeeaf5}.growth-history-list article:last-child{border-bottom:0}.growth-history-status{width:-moz-fit-content;width:fit-content;padding:4px 7px;border-radius:10px;color:#777181;background:#efedf2;font-size:6px;font-weight:800}.growth-history-status.tone-done{color:#247d69;background:#dbf3eb}.growth-history-status.tone-review{color:#b8584e;background:#ffe6e1}.growth-history-status.tone-waiting{color:#936b25;background:#fff0cb}.growth-history-status.tone-working{color:#6b58b0;background:#e9e4fb}.growth-history-list article>div>small,.growth-history-list article>div>strong{display:block}.growth-history-list article>div>strong{font-size:8px}.growth-history-list article>div>small{margin-top:3px;color:var(--muted);font-size:6px}.growth-history-scores{display:flex;gap:5px}.growth-history-scores span{padding:5px 7px;border-radius:7px;color:var(--muted);background:#f7f6fa;font-size:6px}.growth-history-scores b{margin-left:3px;color:var(--ink)}.growth-history-list button{min-height:30px;padding:0 9px;white-space:nowrap;font-size:7px}.submission-version-list{display:grid;grid-gap:7px;gap:7px}.submission-version-list>div{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fbfbfd}.submission-version-list small,.submission-version-list span,.submission-version-list strong{display:block}.submission-version-list strong{font-size:9px}.submission-version-list small{margin-top:3px;color:var(--muted);font-size:7px}.submission-version-list b{color:var(--violet);font-size:12px}.submission-version-list button{display:inline-flex;align-items:center;gap:5px;min-height:29px;padding:0 9px;border:1px solid #d8d1f3;border-radius:8px;color:var(--violet);background:white;cursor:pointer;font-size:8px;font-weight:700}.submission-version-list button:disabled{cursor:wait;opacity:.55}.submission-version-actions{display:flex;align-items:center;gap:6px}.entry-submission-review-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px;padding:12px;border:1px solid #d8d1f3;border-radius:12px;background:#f8f6ff}.entry-submission-review-action>div{min-width:0}.entry-submission-review-action small,.entry-submission-review-action strong{display:block}.entry-submission-review-action strong{font-size:9px}.entry-submission-review-action small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.45}.entry-submission-review-action>p{margin:0;color:var(--muted);font-size:8px}.entry-submission-review-action button{flex:none;display:inline-flex;align-items:center;gap:5px}.entry-review-error{margin:9px 0 0;padding:9px 10px;border-radius:9px;color:#b84d5f;background:#fff0f1;font-size:8px}.entry-review-backdrop{position:fixed;inset:0;z-index:450;display:grid;place-items:center;padding:18px;background:rgba(24,21,46,.72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.entry-review-dialog{width:min(1500px,98vw);height:min(930px,calc(100vh - 36px));min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:20px;background:#f5f4f8;box-shadow:0 30px 100px rgba(16,13,38,.42)}.entry-review-dialog>header{min-height:76px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line);background:white}.entry-review-dialog>header>div{min-width:0;display:flex;align-items:center;gap:11px}.entry-review-dialog h2{margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.entry-review-dialog header p{margin:3px 0 0;color:var(--muted);font-size:8px}.entry-review-workspace{min-height:0;flex:1 1;display:flex}.final-review-section{border-color:#d7d1ef;background:linear-gradient(145deg,#fff,#f8f6ff)}.final-review-section.confirmed{border-color:#bfe5d9;background:linear-gradient(145deg,#fff,#f1faf7)}.final-review-section .engine-badge{display:inline-flex;align-items:center;gap:4px}.final-review-score{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;grid-gap:9px;gap:9px;align-items:center}.final-review-score>div{padding:12px;border:1px solid var(--line);border-radius:11px;background:white;text-align:center}.final-review-score>div.total{border-color:#cfc6f5;background:#f3f0ff}.final-review-section.confirmed .final-review-score>div.total{border-color:#b9dfd4;background:#eaf8f3}.final-review-score span,.final-review-score strong{display:block}.final-review-score span{color:var(--muted);font-size:7px}.final-review-score strong{margin-top:4px;font-size:14px}.final-review-score>b{color:#8d879b;font-size:13px}.final-review-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;padding:11px;border:1px dashed #d3cbea;border-radius:11px;background:rgba(255,255,255,.72)}.final-review-action>div{min-width:0;display:flex;align-items:center;gap:9px;color:var(--violet)}.final-review-action small,.final-review-action span,.final-review-action strong{display:block}.final-review-action strong{color:var(--ink);font-size:9px}.final-review-action small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.45}.final-review-action button{flex:none;display:inline-flex;align-items:center;gap:5px}.review-confirmation-history{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px}.review-confirmation-history>strong{margin-right:2px;color:var(--muted);font-size:8px}.review-confirmation-history>span{padding:6px 8px;border:1px solid #ded9eb;border-radius:8px;background:white}.review-confirmation-history b,.review-confirmation-history small{display:block}.review-confirmation-history b{font-size:8px}.review-confirmation-history small{margin-top:2px;color:var(--muted);font-size:6px}.comparison-backdrop{position:fixed;inset:0;z-index:460;display:grid;place-items:center;padding:18px;background:rgba(24,21,46,.76);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.comparison-dialog{width:min(930px,96vw);max-height:calc(100vh - 36px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:#f6f5f9;box-shadow:0 30px 100px rgba(16,13,38,.42)}.comparison-dialog>header{min-height:76px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border-bottom:1px solid var(--line);background:white}.comparison-dialog>header>div{min-width:0;display:flex;align-items:center;gap:11px}.comparison-dialog h2{margin:2px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.comparison-dialog header p{margin:3px 0 0;color:var(--muted);font-size:8px}.comparison-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;color:var(--violet);background:#eeeaff}.comparison-body{min-height:0;overflow-y:auto;padding:16px}.comparison-score-card{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid #cfc7f1;border-radius:14px;background:linear-gradient(130deg,#6f5bd9,#8d75e8);color:white}.comparison-score-card small,.comparison-score-card span,.comparison-score-card strong{display:block}.comparison-score-card span{font-size:8px;opacity:.82}.comparison-score-card strong{margin-top:3px;font-size:21px}.comparison-score-card small{margin-top:3px;font-size:7px;opacity:.8}.comparison-section{margin-top:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:white}.comparison-section h3{margin:0;font-size:11px}.comparison-section .detail-section-head{margin-bottom:11px}.comparison-metrics{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:7px;gap:7px}.comparison-metrics article{position:relative;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfbfd}.comparison-metrics span,.comparison-metrics strong{display:block}.comparison-metrics span{color:var(--muted);font-size:7px}.comparison-metrics strong{margin-top:4px;font-size:11px}.comparison-metrics b{position:absolute;top:8px;right:8px;font-size:7px}.positive{color:#21836e!important}.negative{color:#c44e62!important}.neutral{color:#8c8797!important}.named-change-list{display:grid;grid-gap:8px;gap:8px}.named-change-list article{display:grid;grid-template-columns:70px 1fr;grid-gap:8px;gap:8px;align-items:start}.named-change-list article>strong{padding-top:5px;font-size:8px}.named-change-list article>div{display:flex;flex-wrap:wrap;gap:5px}.named-change-list span,.source-change-summary span{padding:5px 7px;border-radius:7px;font-size:7px;font-weight:700}.named-change-list .added,.source-change-summary .added{color:#217c68;background:#e9f8f3}.named-change-list .removed,.source-change-summary .removed{color:#b7495c;background:#fff0f2}.named-change-list .changed{color:#795f25;background:#fff5df}.block-change-list{display:flex;flex-wrap:wrap;gap:7px}.block-change-list>span{display:grid;grid-template-columns:auto auto auto;grid-gap:7px;gap:7px;align-items:center;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#faf9fd}.block-change-list strong{font-size:8px}.block-change-list small{color:var(--muted);font-size:7px}.block-change-list b{font-size:8px}.source-change-summary{display:flex;gap:8px}.criterion-change-list{display:grid;grid-gap:7px;gap:7px}.criterion-change-list article{display:grid;grid-template-columns:28px 1fr auto;grid-gap:9px;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px}.criterion-change-list article>span{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;color:#696376;background:#f0eef5}.criterion-change-list article.added>span,.criterion-change-list article.improved>span{color:#21836e;background:#e9f8f3}.criterion-change-list article.declined>span,.criterion-change-list article.removed>span{color:#c44e62;background:#fff0f2}.criterion-change-list p,.criterion-change-list small,.criterion-change-list strong{display:block}.criterion-change-list strong{font-size:9px}.criterion-change-list p{margin:3px 0;color:var(--muted);font-size:7px}.criterion-change-list small{color:#8e899a;font-size:7px}.criterion-change-list>article>b{font-size:9px}.comparison-unchanged-note{margin:8px 0 0;color:var(--muted);font-size:7px}.student-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));grid-gap:14px;gap:14px}.student-approved-record{padding:20px}.student-approved-record header{display:flex;align-items:center;justify-content:space-between}.student-approved-record header span{display:inline-flex;align-items:center;gap:6px;color:#198965;font-size:8px;font-weight:800}.student-approved-record header small{color:var(--muted);font-size:7px}.student-approved-record h2{margin:15px 0 8px;font-size:14px}.student-approved-record>p{margin:0 0 14px;color:#555064;font-size:9px;line-height:1.8;white-space:pre-wrap}@media (max-width:760px){.assignment-template-picker{grid-template-columns:1fr}.code-preview-inputs,.code-preview-inputs:has(label+label){grid-template-columns:1fr}.grading-preview-head{align-items:flex-start;flex-direction:column}.grading-preview-head>button{width:100%;justify-content:center}.result-filter-bar{align-items:stretch;flex-direction:column}.result-filter-bar input{min-width:0}.result-filter-bar span{margin-left:0}.results-mode-tabs{width:100%}.results-mode-tabs button{flex:1 1;justify-content:center}.gradebook-overview{grid-template-columns:repeat(2,1fr)}.gradebook-filter-bar{align-items:stretch;flex-direction:column}.gradebook-filter-bar input{min-width:0}.gradebook-filter-bar span{margin-left:0}.gradebook-scroll{max-height:68vh}.review-queue-overview{grid-template-columns:1fr}.review-queue-filters{align-items:stretch;flex-direction:column}.review-queue-filters input{min-width:0}.review-queue-filters span{margin-left:0}.review-queue-item{grid-template-columns:1fr;gap:10px}.review-queue-scores{order:3}.review-queue-item>button{width:100%;justify-content:center}.growth-title-actions{width:100%;align-items:stretch;flex-direction:column}.growth-export-actions{grid-template-columns:repeat(2,1fr)}.growth-layout{grid-template-columns:1fr}.growth-student-list{position:static}.growth-student-list>div{max-height:220px}.growth-overview{grid-template-columns:repeat(2,1fr)}.growth-chart-panel{overflow-x:auto}.growth-history-list article{grid-template-columns:1fr}.growth-history-scores{order:3}.growth-history-list button{width:100%}.student-taskbar{height:auto;min-height:64px;gap:8px;padding:8px 12px}.student-taskbar>div{flex-wrap:wrap}.record-filter-bar{align-items:stretch;flex-direction:column}.record-filter-bar input{min-width:0}.record-filter-bar span{margin-left:0}}@media print{@page{margin:12mm}.growth-export-actions,.growth-student-list,.results-mode-tabs,.sidebar,.topbar{display:none!important}.main-area{margin-left:0!important}.content{width:100%!important;max-width:none!important;padding:0!important}.growth-title{margin-bottom:14px!important}.growth-layout{display:block!important}.growth-report{gap:10px}.growth-chart{overflow:visible}.growth-chart-panel,.growth-history-panel{page-break-inside:avoid;break-inside:avoid;box-shadow:none}}.preview-structure-help{margin:7px 0 0;color:var(--muted);font-size:8px}.preview-block-sequence{display:grid;align-items:stretch}.preview-block-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(135px,auto) 28px;align-items:center;grid-gap:8px;gap:8px;padding:7px 8px;border:1px solid #ece9f5;border-radius:9px;background:#faf9fd}.preview-block-row.nested{margin-left:18px;border-left:3px solid #8f7ce8;background:#f5f2ff}.preview-block-row>span:first-child{display:flex;align-items:center;gap:6px;color:#4f4773;font-size:8px;font-weight:700}.preview-block-row>label{display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--muted);font-size:7px}.preview-block-row select{min-width:108px;border:1px solid #d9d4ed;border-radius:7px;padding:4px 6px;background:white;color:#4f4773;font-size:7px}.preview-block-row>small{text-align:right;color:var(--muted);font-size:7px}.preview-block-sequence .preview-block-remove{width:26px;height:26px;display:grid;place-items:center;padding:0;background:#f0edf6;color:#706a82}.grading-preview-result>div:first-child .preview-structure-summary{margin-left:auto;padding:4px 7px;border-radius:12px;background:#edf8f4;color:#27836f;font-weight:700}.entry-server-evidence{margin:0 0 13px;padding:12px;border:1px solid #d9e9e4;border-radius:12px;background:#f2faf7}.entry-server-evidence.attention{border-color:#efd9bd;background:#fff8ec}.entry-server-evidence>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.entry-server-evidence strong{color:#277b69;font-size:9px}.entry-server-evidence.attention strong{color:#aa6c21}.entry-server-evidence small{color:var(--muted);font-size:7px}.entry-server-evidence dl{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;margin:10px 0 0}.entry-server-evidence dl div{padding:7px;border-radius:8px;background:rgba(255,255,255,.78);text-align:center}.entry-server-evidence dt{color:var(--muted);font-size:7px}.entry-server-evidence dd{margin:2px 0 0;color:#40395f;font-size:12px;font-weight:800}.entry-server-evidence p,.legacy-structure-note{margin:9px 0 0;color:#a16320;font-size:7px}.snapshot-blocks span.nested{border-left:3px solid #8f7ce8;background:#eeeaff}.snapshot-blocks em{padding:2px 4px;border-radius:5px;background:white;color:#7466bb;font-size:6px;font-style:normal;font-weight:700}@media (max-width:720px){.preview-block-row{grid-template-columns:1fr 28px}.preview-block-row>label,.preview-block-row>small{grid-column:1/-1;justify-content:flex-start;text-align:left}.preview-block-row.nested{margin-left:8px}.entry-server-evidence>div:first-child{display:grid}.entry-server-evidence dl{grid-template-columns:repeat(2,1fr)}.submission-version-list>div{align-items:flex-start}.submission-version-actions{width:100%;order:3;flex-wrap:wrap}.submission-version-actions button{flex:1 1;justify-content:center}.final-review-score{grid-template-columns:1fr}.final-review-score>b{text-align:center}.final-review-action{align-items:stretch;flex-direction:column}.final-review-action button{justify-content:center}.comparison-backdrop{padding:0}.comparison-dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.comparison-dialog>header{min-height:68px;padding:10px 12px}.comparison-dialog h2{max-width:68vw;font-size:12px}.comparison-body{padding:11px}.comparison-metrics{grid-template-columns:repeat(2,1fr)}.named-change-list article{grid-template-columns:1fr}}.curriculum-pack-picker{margin-bottom:14px;padding:14px;border:1px solid #d9d2ee;border-radius:14px;background:linear-gradient(145deg,#faf8ff,#f4f1ff)}.curriculum-pack-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.curriculum-pack-head small,.curriculum-pack-head strong{display:block}.curriculum-pack-head strong{color:#4b4167;font-size:10px}.curriculum-pack-head small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.5}.curriculum-pack-head select{min-width:96px;padding:7px 8px;border:1px solid #d8d1e8;border-radius:8px;background:white;color:#554b70;font-size:8px}.curriculum-pack-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;max-height:270px;margin-top:11px;overflow:auto;padding-right:3px}.curriculum-pack-list>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:9px;gap:9px;align-items:flex-start;padding:11px;border:1px solid #e0daee;border-radius:11px;background:white;color:inherit;text-align:left;cursor:pointer}.curriculum-pack-list>button:hover{border-color:#988bc6;box-shadow:0 6px 18px rgba(89,72,139,.09)}.curriculum-pack-list>button>span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#eeeaff;font-size:15px}.curriculum-pack-list p,.curriculum-pack-list small,.curriculum-pack-list strong{display:block}.curriculum-pack-list strong{color:#463d5d;font-size:9px}.curriculum-pack-list p{margin:4px 0;color:#6e657e;font-size:7px;line-height:1.45}.curriculum-pack-list small{color:#81768f;font-size:7px}.curriculum-pack-list em{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.curriculum-pack-list i{padding:3px 5px;border-radius:8px;background:#f1eef9;color:#6a5e8d;font-size:6px;font-style:normal}.curriculum-pack-list>button>svg{margin-top:6px;color:#9589b8}.curriculum-pack-empty{margin:11px 0 0;color:var(--muted);font-size:8px}@media (max-width:720px){.curriculum-pack-head{display:grid}.curriculum-pack-list{grid-template-columns:1fr}}.help-dialog{width:min(680px,calc(100vw - 30px));max-height:min(760px,calc(100vh - 30px));overflow:auto;border-radius:20px;background:white;box-shadow:0 24px 70px rgba(31,27,58,.24)}.help-dialog>footer,.help-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 21px;border-bottom:1px solid var(--line)}.help-dialog>header>div{display:flex;align-items:center;gap:11px}.help-dialog>header>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:var(--violet);background:#f0edff}.help-dialog h2,.help-dialog h3,.help-dialog p{margin:0}.help-dialog article p,.help-dialog footer small,.help-dialog header p{color:var(--muted);line-height:1.65}.help-dialog-body{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:18px 21px}.help-dialog article{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fcfbfe}.help-dialog article>svg{flex:0 0 auto;color:var(--violet)}.help-dialog article div{display:grid;grid-gap:6px;gap:6px}.help-dialog article h3{font-size:11px}.help-dialog article p{font-size:9px}.help-dialog article button{justify-self:start;margin-top:4px}.help-dialog article.service-health-card{grid-column:1/-1;background:#f7fbfa;border-color:#d8ece7}.service-health-head{display:flex!important;align-items:center;justify-content:space-between;gap:10px}.service-health-head>span{padding:4px 8px;border-radius:999px;font-size:8px;font-weight:800}.service-health-head>span.healthy{color:#167965;background:#e4f7f1}.service-health-head>span.checking{color:#72622b;background:#fff4d8}.service-health-head>span.degraded{color:#a53d50;background:#fdecef}.service-health-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px!important;gap:7px!important}.service-health-grid>span{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:8px 9px;border-radius:9px;font-size:8px;font-weight:800}.service-health-grid>span.healthy{color:#167965;background:#e4f7f1}.service-health-grid>span.degraded{color:#a53d50;background:#fdecef}.service-health-grid>span.checking{color:#6f647f;background:#f3f0f8}.service-health-grid small{font-size:7px;font-weight:700;opacity:.75}.service-health-card code{overflow-wrap:anywhere;color:#5d5870;font-size:8px}.help-dialog>footer{border-top:1px solid var(--line);border-bottom:0}.help-dialog>footer small{max-width:420px;font-size:8px}.account-dialog{width:min(720px,calc(100vw - 30px))}.app-recovery-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(29,27,47,.66);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-recovery-backdrop.page{background:linear-gradient(145deg,#f4f1ff,#eef7ff)}.app-recovery-card{width:min(520px,100%);padding:28px;border:1px solid #dcd7ec;border-radius:20px;background:white;box-shadow:0 28px 90px rgba(25,20,52,.28);text-align:center}.app-recovery-mark{width:46px;height:46px;display:grid;place-items:center;margin:0 auto 12px;border-radius:14px;color:white;background:#a94a5c;font-size:24px;font-weight:900}.app-recovery-eyebrow{margin:0;color:#6a57bd;font-size:9px;font-weight:800;letter-spacing:.08em}.app-recovery-card h1{margin:5px 0 8px;font-size:22px}.app-recovery-card>p:not(.app-recovery-eyebrow):not(.app-recovery-copy-error){margin:0;color:var(--muted);font-size:11px;line-height:1.7}.app-recovery-warning{margin:16px 0;padding:12px;border-radius:11px;color:#6b5526;background:#fff5da;font-size:9px;line-height:1.65;text-align:left}.app-recovery-card dl{display:grid;grid-template-columns:1fr 86px;grid-gap:8px;gap:8px;margin:0;text-align:left}.app-recovery-card dl>div{min-width:0;padding:10px;border:1px solid var(--line);border-radius:10px;background:#faf9fd}.app-recovery-card dt{color:var(--muted);font-size:8px}.app-recovery-card dd{margin:4px 0 0;overflow-wrap:anywhere;font-size:9px;font-weight:800}.app-recovery-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px}.app-recovery-actions button{min-height:39px}.app-recovery-card>small{display:block;margin-top:13px;color:var(--muted);font-size:8px;line-height:1.55}.app-recovery-copy-error{margin:10px 0 0;color:#a23f53;font-size:9px}.network-status-banner{position:fixed;z-index:900;left:50%;top:12px;width:min(620px,calc(100vw - 24px));min-height:48px;display:grid;grid-template-columns:27px auto 1fr;align-items:center;grid-gap:9px;gap:9px;padding:9px 13px;border:1px solid #d9a9b2;border-radius:13px;color:#6f2635;background:#fff0f3;box-shadow:0 12px 38px rgba(38,29,58,.2);transform:translateX(-50%)}.network-status-banner>span{width:25px;height:25px;display:grid;place-items:center;border-radius:8px;color:white;background:#9f3b50;font-size:13px;font-weight:900}.network-status-banner strong{font-size:10px}.network-status-banner small{color:#6a4050;font-size:8px;line-height:1.45}.network-status-banner.restored{border-color:#9dcfbe;color:#155f50;background:#e9f8f3}.network-status-banner.restored>span{background:#207762}.network-status-banner.restored small{color:#315e54}@media (max-width:620px){.network-status-banner{grid-template-columns:25px 1fr}.network-status-banner small{grid-column:1/-1}}.service-status-banner{position:fixed;z-index:890;left:50%;bottom:14px;width:min(660px,calc(100vw - 24px));min-height:58px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;grid-gap:11px;gap:11px;padding:10px 12px;border:1px solid #e4be91;border-radius:14px;color:#714515;background:#fff7e9;box-shadow:0 14px 42px rgba(38,29,58,.2);transform:translateX(-50%)}.service-status-banner>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:white;background:#b7772e}.service-status-banner small,.service-status-banner strong{display:block}.service-status-banner strong{font-size:10px}.service-status-banner small{margin-top:3px;color:#705d45;font-size:8px;line-height:1.45}.service-status-banner button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 11px;border:1px solid #e0bd93;border-radius:9px;color:#754a19;background:white;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.service-status-banner button:disabled{opacity:.65;cursor:wait}.service-status-banner.restored{border-color:#9dcfbe;color:#155f50;background:#e9f8f3}.service-status-banner.restored>span{background:#207762}.service-status-banner.restored small{color:#315e54}@media (max-width:620px){.service-status-banner{grid-template-columns:28px 1fr}.service-status-banner button{grid-column:1/-1;width:100%}.service-status-banner>span{width:28px;height:28px}}.auth-legal-unavailable{display:grid;grid-template-columns:34px 1fr;grid-gap:10px;gap:10px;align-items:start;padding:14px;border:1px solid #ebd29d;border-radius:12px;color:#6e521c;background:#fff9e9}.auth-legal-unavailable>svg{padding:7px;box-sizing:content-box;border-radius:10px;color:#9b6b19;background:#fff0c6}.auth-legal-unavailable strong{display:block;font-size:11px}.auth-legal-unavailable p{margin-top:5px;color:#756548;font-size:9px;line-height:1.6}.auth-policy-consents{display:grid;grid-gap:9px;gap:9px;margin:0;padding:12px;border:1px solid #ddd7f0;border-radius:11px;background:#faf9ff}.auth-policy-consents legend{padding:0 5px;color:#524879;font-size:9px;font-weight:800}.auth-policy-consents label{display:grid;grid-template-columns:16px 1fr;align-items:start;grid-gap:7px;gap:7px;line-height:1.5}.auth-policy-consents input{width:15px;height:15px;margin:0;accent-color:var(--violet)}.auth-policy-consents a{color:var(--violet);font-weight:800;text-decoration:underline;text-underline-offset:2px}.auth-policy-consents small{color:var(--muted);font-size:7px;line-height:1.55}.turnstile-challenge{display:grid;grid-gap:7px;gap:7px;min-width:0;padding:10px;border:1px solid #e1ddec;border-radius:11px;background:#fcfbff}.turnstile-widget{min-height:65px;overflow:hidden}.turnstile-widget iframe,.turnstile-widget>div{max-width:100%}.turnstile-challenge p{display:flex;align-items:center;gap:6px;color:#706b7d;font-size:8px;line-height:1.45}.turnstile-challenge.verified{border-color:#b8dfd0;background:#f2fbf7}.turnstile-challenge.verified p{color:#187355;font-weight:800}.turnstile-challenge.error{border-color:#ebc5bd;background:#fff6f3}.turnstile-challenge.error p{color:#a34f40}.onboarding-card .auth-policy-consents{margin-top:14px}.auth-submit.secondary{margin-top:14px;border:1px solid #d9d4e5;color:#625f70;background:#faf9fc}.mfa-page{grid-template-columns:minmax(0,430px);justify-content:center}.mfa-card{width:min(430px,calc(100vw - 28px))}.mfa-security-note{display:grid;grid-template-columns:34px 1fr;grid-gap:10px;gap:10px;align-items:start;padding:13px;border:1px solid #d9d1ee;border-radius:12px;color:#4b3e73;background:#f8f5ff}.mfa-security-note>svg{padding:7px;box-sizing:content-box;border-radius:10px;color:#604ba6;background:#eae4ff}.mfa-security-note strong{display:block;font-size:10px}.mfa-security-note p{margin:4px 0 0;color:#625e70;font-size:8px;line-height:1.55}.mfa-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:94px;color:#625e70;font-size:9px;font-weight:700}.mfa-code-row{display:grid;grid-template-columns:22px 1fr;align-items:center;grid-gap:7px;gap:7px;margin-top:6px;padding:0 10px;border:1px solid #d7d1e6;border-radius:10px;background:white}.mfa-code-row:focus-within{border-color:#7865bd;box-shadow:0 0 0 3px rgba(108,87,184,.12)}.mfa-code-row>svg{color:#6756a3}.mfa-code-row input{min-width:0;width:100%;border:0!important;outline:0;padding:11px 0!important;background:transparent!important;font-size:16px!important;font-weight:800;letter-spacing:.25em}.mfa-card form>small{display:block;margin-top:6px;color:#65616e;font-size:8px;line-height:1.5}.mfa-signout{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:10px;border:0;padding:8px;color:#5b5668;background:transparent;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.mfa-signout:disabled{opacity:.55;cursor:wait}.operator-page{display:grid;grid-gap:15px;gap:15px}.operator-title{margin-bottom:0}.operator-title .eyebrow{color:#5b489f}.operator-title .secondary-button{display:inline-flex;align-items:center;gap:7px}.operator-privacy-notice{display:grid;grid-template-columns:32px 1fr;align-items:start;grid-gap:10px;gap:10px;padding:13px 15px;border:1px solid #d9d1ee;border-radius:13px;color:#4e4177;background:#f8f5ff}.operator-privacy-notice>svg{padding:7px;box-sizing:content-box;border-radius:9px;color:#6954b0;background:#ebe5ff}.operator-privacy-notice strong{display:block;font-size:10px}.operator-privacy-notice p{margin:4px 0 0;color:#6f6980;font-size:8px;line-height:1.55}.operator-error{display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:14px;border:1px solid #e6bcc4;border-radius:13px;color:#87384a;background:#fff4f6}.operator-error strong{font-size:10px}.operator-error p{margin:3px 0 0;font-size:8px}.operator-error button{border:1px solid #e2b8c1;border-radius:8px;padding:8px 10px;color:#87384a;background:white;font-size:8px;font-weight:800;cursor:pointer}.operator-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.operator-status-card{min-width:0;display:grid;grid-template-columns:42px 1fr;align-items:center;grid-gap:11px;gap:11px;padding:15px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 5px 18px rgba(48,39,81,.045)}.operator-status-card>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px}.operator-status-card>span.ready{color:#147360;background:#e4f7f1}.operator-status-card>span.attention{color:#98651b;background:#fff2d6}.operator-status-card>span.neutral{color:#6450ac;background:#eeeaff}.operator-status-card p,.operator-status-card small,.operator-status-card strong{display:block;min-width:0}.operator-status-card small{color:var(--muted);font-size:7px}.operator-status-card strong{margin-top:2px;font-size:17px}.operator-status-card p{margin:3px 0 0;color:var(--muted);font-size:7px;line-height:1.45}.operator-capacity-panel>.panel-head>svg{color:#486eaa}.operator-capacity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px;margin:0;padding:0 18px 12px}.operator-capacity-grid>div{min-width:0;padding:10px;border:1px solid #e4e9f2;border-radius:10px;background:#f8faff}.operator-capacity-grid>div.attention{border-color:#ebcf9b;background:#fff8e9}.operator-capacity-grid dt{color:var(--muted);font-size:7px}.operator-capacity-grid dd{margin:3px 0;color:#354b6e;font-size:16px;font-weight:800;overflow-wrap:anywhere}.operator-capacity-grid .operator-capacity-detail{margin:0;color:var(--muted);font-size:7px;font-weight:400}.operator-capacity-note{display:flex;align-items:flex-start;gap:7px;margin:0 18px 18px;padding:9px 10px;border-radius:9px;color:#5d6677;background:#f3f5f9;font-size:7px;line-height:1.5}.operator-capacity-note svg{flex:0 0 auto;color:#486eaa}.operator-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:12px;gap:12px}.operator-grid.compact{grid-template-columns:1fr 1fr}.operator-page .panel{min-width:0}.operator-pending-badge,.operator-queue-count,.operator-ready-badge{padding:5px 8px;border-radius:999px;font-size:7px;font-weight:800;white-space:nowrap}.operator-ready-badge{color:#147360;background:#e4f7f1}.operator-pending-badge{color:#8b5e15;background:#fff1d3}.operator-queue-count{color:#625a78;background:#f1eef8}.operator-check-list{display:grid;grid-gap:7px;gap:7px;padding:0 18px 18px}.operator-check-list>div{display:grid;grid-template-columns:30px 1fr auto;align-items:center;grid-gap:9px;gap:9px;padding:9px 10px;border-radius:10px}.operator-check-list>div.ready{background:#f2faf7}.operator-check-list>div.pending{background:#fff8ec}.operator-check-list>div>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px}.operator-check-list>div.ready>span{color:#147360;background:#dff4ed}.operator-check-list>div.pending>span{color:#98651b;background:#ffedc7}.operator-check-list small,.operator-check-list strong{display:block}.operator-check-list strong{font-size:9px}.operator-check-list small{margin-top:2px;color:var(--muted);font-size:7px}.operator-check-list b{font-size:7px}.operator-check-list .ready b{color:#147360}.operator-check-list .pending b{color:#98651b}.operator-launch-proof{display:grid;grid-template-columns:30px 1fr;align-items:start;grid-gap:9px;gap:9px;margin:0 18px 18px;padding:11px 12px;border:1px solid #d9d1ee;border-radius:11px;color:#4e4177;background:#f8f5ff}.operator-launch-proof>svg{padding:6px;box-sizing:content-box;border-radius:8px;color:#6954b0;background:#ebe5ff}.operator-launch-proof code,.operator-launch-proof p,.operator-launch-proof strong{display:block}.operator-launch-proof strong{font-size:8px}.operator-launch-proof p{margin:4px 0 7px;color:#6f6980;font-size:7px;line-height:1.55}.operator-launch-proof code{overflow-wrap:anywhere;color:#51447a;font-size:6px}.operator-account-panel>.panel-head>svg{color:#6b59ad}.operator-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px;margin:0;padding:0 18px 13px}.operator-metric-grid>div{min-width:0;padding:10px;border:1px solid #ebe7f2;border-radius:10px;background:#fbfafe}.operator-metric-grid dt{color:var(--muted);font-size:7px}.operator-metric-grid dd{margin:3px 0;color:#3e3658;font-size:17px;font-weight:800}.operator-metric-grid .operator-metric-detail{margin:0;color:var(--muted);font-size:7px;font-weight:400}.operator-policy-summary{display:grid;grid-template-columns:30px 1fr;grid-gap:9px;gap:9px;align-items:start;margin:0 18px 18px;padding:11px;border-radius:11px;color:#4c4371;background:#f5f2fc}.operator-policy-summary>svg{color:#6b59ad}.operator-policy-summary strong{display:block;font-size:9px}.operator-policy-summary p{margin:3px 0 0;color:#5d5b6c;font-size:7px;line-height:1.45;overflow-wrap:anywhere}.operator-policy-summary span{display:flex;gap:8px;margin-top:6px}.operator-policy-summary a{color:#6651ad;font-size:7px;font-weight:800;text-decoration:underline;text-underline-offset:2px}.operator-deletion-panel .panel-head{align-items:flex-start}.operator-deletion-panel .panel-head p{max-width:670px}.operator-deletion-list{display:grid;grid-gap:7px;gap:7px;padding:0 18px 18px}.operator-deletion-row{min-width:0}.operator-deletion-list article{display:grid;grid-template-columns:76px minmax(150px,.75fr) minmax(210px,1fr) auto;align-items:center;grid-gap:11px;gap:11px;padding:11px;border:1px solid #ebe7f0;border-radius:11px;background:#fdfcfe}.operator-deletion-state{justify-self:start;padding:5px 8px;border-radius:999px;color:#82611c;background:#fff1d2;font-size:7px;font-weight:800}.operator-deletion-state.processing{color:#63408c;background:#eee7fa}.operator-deletion-state.ready{color:#9a4051;background:#fdecef}.operator-deletion-meta small,.operator-deletion-meta strong,.operator-deletion-person small,.operator-deletion-person strong{display:block;min-width:0;overflow-wrap:anywhere}.operator-deletion-meta strong,.operator-deletion-person strong{font-size:9px}.operator-deletion-meta small,.operator-deletion-person small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.45}.operator-impact-button{justify-self:end;white-space:nowrap}.operator-impact-review{display:grid;grid-gap:12px;gap:12px;margin-top:7px;padding:15px;border:1px solid #d9d1ee;border-radius:12px;background:#faf8ff}.operator-impact-review>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.operator-impact-review h3{margin:3px 0 0;font-size:12px}.operator-impact-warning{display:grid;grid-template-columns:28px 1fr;grid-gap:9px;gap:9px;align-items:start;padding:10px;border-radius:10px;color:#514379;background:#eee9fb}.operator-impact-warning svg{padding:5px;box-sizing:content-box;border-radius:8px;color:#6651ad;background:white}.operator-impact-warning p{margin:0;font-size:8px;line-height:1.55}.operator-impact-loading{display:flex;align-items:center;gap:8px;margin:0;padding:12px;color:#655c78;font-size:8px}.operator-impact-error{display:grid;grid-template-columns:24px 1fr auto;align-items:center;grid-gap:9px;gap:9px;color:#87384a}.operator-impact-error strong{font-size:9px}.operator-impact-error p{margin:3px 0 0;font-size:8px}.operator-impact-error button{border:1px solid #e2b8c1;border-radius:8px;padding:7px 9px;color:#87384a;background:white;font-size:8px;font-weight:800;cursor:pointer}.operator-impact-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.operator-impact-groups>section{min-width:0;padding:10px;border:1px solid #e8e3f1;border-radius:10px;background:white}.operator-impact-groups h4{margin:0 0 7px;color:#514379;font-size:8px}.operator-impact-groups dl{display:grid;grid-gap:5px;gap:5px;margin:0}.operator-impact-groups dl div{display:flex;justify-content:space-between;gap:8px}.operator-impact-groups dt{color:#6d6878;font-size:7px}.operator-impact-groups dd{margin:0;color:#3e3658;font-size:8px;font-weight:800}.operator-impact-review>footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);grid-gap:12px;gap:12px;align-items:end;padding-top:2px}.operator-impact-digest code,.operator-impact-digest p,.operator-impact-digest small{display:block}.operator-impact-digest small{color:var(--muted);font-size:7px}.operator-impact-digest code{margin-top:3px;color:#514379;font-size:8px}.operator-impact-digest p{margin:5px 0 0;color:#686173;font-size:8px;line-height:1.45}.operator-impact-approval{display:grid;justify-items:end;grid-gap:8px;gap:8px}.operator-impact-approval label{display:flex;align-items:flex-start;gap:7px;color:#5b5367;font-size:8px;line-height:1.4}.operator-impact-approval input{margin:1px 0 0;accent-color:var(--violet)}.operator-impact-approval button{min-width:120px}.operator-empty{display:flex;align-items:center;gap:10px;margin:0 18px 18px;padding:18px;border-radius:11px;color:#246e60;background:#f2faf7}.operator-empty>svg{flex:0 0 auto}.operator-empty strong{display:block;font-size:9px}.operator-empty p{margin:3px 0 0;color:#5e7771;font-size:7px}.operator-empty.small{margin:0;padding:11px}.operator-invite-panel dl{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px;margin:0;padding:0 18px 18px}.operator-invite-panel dl div{padding:11px;border-radius:10px;text-align:center;background:#f7f5fb}.operator-invite-panel dt{color:var(--muted);font-size:7px}.operator-invite-panel dd{margin:3px 0 0;font-size:16px;font-weight:800}.operator-audit-panel>div:last-child:not(.operator-empty){display:grid;grid-gap:6px;gap:6px;padding:0 18px 18px}.operator-audit-panel>div:last-child:not(.operator-empty) p{display:grid;grid-template-columns:38px 1fr auto;align-items:center;grid-gap:8px;gap:8px;margin:0;padding:8px 9px;border-radius:9px;background:#f8f6fb}.operator-audit-panel p span{color:#5d49a5;font-size:7px;font-weight:800}.operator-audit-panel code{color:#5e596d;font-size:7px}.operator-audit-panel p small{color:var(--muted);font-size:7px}@media (max-width:1120px){.operator-status-grid{grid-template-columns:repeat(2,1fr)}.operator-grid,.operator-grid.compact{grid-template-columns:1fr}.operator-capacity-grid,.operator-impact-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.operator-title{align-items:stretch;flex-direction:column}.operator-title .secondary-button{justify-content:center}.operator-status-grid{grid-template-columns:1fr}.operator-status-card{grid-template-columns:38px 1fr}.operator-status-card>span{width:38px;height:38px}.operator-metric-grid{grid-template-columns:repeat(2,1fr)}.operator-capacity-grid,.operator-deletion-list article{grid-template-columns:1fr}.operator-deletion-state,.operator-impact-button{justify-self:start}.operator-impact-review>footer,.operator-impact-review>header{grid-template-columns:1fr;flex-direction:column}.operator-impact-groups{grid-template-columns:1fr}.operator-impact-approval{justify-items:stretch}.operator-impact-approval button{width:100%}.operator-invite-panel dl{grid-template-columns:repeat(2,1fr)}.operator-error{grid-template-columns:24px 1fr}.operator-error button{grid-column:1/-1}}.account-dialog-body{display:grid;grid-gap:14px;gap:14px;padding:18px 21px}.account-summary{display:grid;grid-template-columns:48px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#faf9fd}.account-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:white;background:linear-gradient(145deg,#f3a16d,#ec725f);font-weight:800}.account-summary small,.account-summary strong{display:block}.account-summary p{margin:3px 0;color:var(--muted);font-size:10px}.account-summary small{color:var(--muted);font-size:9px}.account-summary i{padding:5px 8px;border-radius:20px;font-size:8px;font-style:normal}.account-summary i.verified{color:#167965;background:#e4f7f1}.account-summary i.unverified{color:#a66c17;background:#fff4d8}.account-session-details{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;margin:0}.account-session-details>div{padding:11px 12px;border:1px solid var(--line);border-radius:11px}.account-session-details dt{color:var(--muted);font-size:8px}.account-session-details dd{margin:4px 0 0;font-size:10px;font-weight:700;overflow-wrap:anywhere}.account-security-actions{display:grid;grid-gap:8px;gap:8px}.account-security-actions article{display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:13px;border:1px solid var(--line);border-radius:12px}.account-security-actions article>svg{color:var(--violet)}.account-security-actions h3{margin:0;font-size:11px}.account-security-actions p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.account-security-actions button{white-space:nowrap}.account-security-actions .account-danger-action{border-color:#f3d8dc;background:#fffafb}.account-danger-action>svg{color:#b45162!important}.account-danger-action>button{border:0;border-radius:9px;padding:9px 12px;color:#a53d50;background:#fdecef;font-size:9px;font-weight:700;cursor:pointer}.account-danger-action>button:disabled{opacity:.55;cursor:wait}.account-security-actions .account-deletion-action{border-color:#eadde0;background:#fffcfc}.account-deletion-action>svg{color:#9a4c5b!important}.account-deletion-action>div{min-width:0}.account-deletion-action>button{border:1px solid #efd7dc;border-radius:9px;padding:9px 12px;color:#9b4052;background:white;font-size:9px;font-weight:700;cursor:pointer}.account-deletion-action>button:disabled{opacity:.55;cursor:wait}.account-deletion-status{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;color:#5f5c6a;background:#f1eff3;font-size:8px!important;font-weight:700}.account-deletion-status.pending{color:#7a4e00;background:#fff2d3}.account-deletion-status.processing{color:#5f3b91;background:#eee7fa}.account-deletion-status.cancelled{color:#126754;background:#e4f7f1}.account-deletion-confirm{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding:14px;border:1px solid #efd7dc;border-radius:12px;background:#fffafb}.account-deletion-confirm h3,.account-deletion-confirm p,.account-deletion-confirm small{grid-column:1/-1;margin:0}.account-deletion-confirm h3{color:#8c3e4e;font-size:11px}.account-deletion-confirm p,.account-deletion-confirm small{color:var(--muted);font-size:8px;line-height:1.55}.account-deletion-confirm label{display:grid;grid-gap:5px;gap:5px;color:#5f5b68;font-size:8px;font-weight:700}.account-deletion-confirm input,.account-deletion-confirm select{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;color:var(--ink);background:white;font:inherit}.account-deletion-submit{grid-column:1/-1;justify-self:end;border:0;border-radius:9px;padding:9px 12px;color:white;background:#a53d50;font-size:9px;font-weight:800;cursor:pointer}.account-deletion-submit:disabled{opacity:.5;cursor:not-allowed}.account-security-note{display:flex;align-items:flex-start;gap:7px;margin:0;padding:10px 12px;border-radius:10px;color:#716e80;background:#f5f4f8;font-size:8px;line-height:1.55}.account-security-note svg{flex:0 0 auto}.account-security-actions .account-mfa-action{border-color:#d8d0ef;background:#faf8ff}.account-security-actions .account-mfa-action.enabled{border-color:#afd8ca;background:#f3fbf8}.account-mfa-action.enabled>svg{color:#16745f!important}.account-mfa-status{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;font-size:8px!important;font-weight:800}.account-mfa-status.enabled{color:#126754;background:#dff4ed}.account-mfa-status.disabled{color:#695a2a;background:#fff2d4}.mfa-enrollment{overflow:hidden;border:1px solid #d7d0ea;border-radius:13px;background:#fbf9ff}.mfa-enrollment>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e4deef}.mfa-enrollment>header>div{display:flex;align-items:center;gap:9px}.mfa-enrollment>header svg{color:#6652ad}.mfa-enrollment h3,.mfa-enrollment p{margin:0}.mfa-enrollment h3{font-size:11px}.mfa-enrollment p{margin-top:2px;color:#625e70;font-size:8px}.mfa-enrollment-body{display:grid;grid-template-columns:170px 1fr;grid-gap:15px;gap:15px;padding:15px}.mfa-qr{display:grid;place-items:center;align-self:start;padding:9px;border:1px solid #ded8e9;border-radius:12px;background:white}.mfa-qr img{display:block;width:150px;height:150px}.mfa-enrollment-steps{min-width:0;display:grid;align-content:start;grid-gap:9px;gap:9px}.mfa-enrollment-steps ol{margin:0;padding-left:18px;color:#575260;font-size:8px;line-height:1.7}.mfa-enrollment-steps label{color:#524c60;font-size:8px;font-weight:800}.mfa-enrollment-steps .primary-button{justify-self:start;display:inline-flex;align-items:center;gap:6px}.mfa-secret{min-width:0;display:grid;grid-template-columns:1fr auto;grid-gap:5px 7px;gap:5px 7px;padding:8px;border-radius:9px;color:#5f586b;background:#f0edf6}.mfa-secret span{grid-column:1/-1;display:flex;align-items:center;gap:5px;font-size:7px;font-weight:800}.mfa-secret code{min-width:0;overflow-wrap:anywhere;font-size:8px}.mfa-secret button{display:inline-flex;align-items:center;gap:4px;border:0;color:#594795;background:transparent;font:inherit;font-size:7px;font-weight:800;cursor:pointer}.mfa-settings-error{margin:0;padding:9px 11px;border-radius:9px;color:#8e3548;background:#fdecef;font-size:8px;line-height:1.5}@media (max-width:640px){.help-dialog-body,.service-health-grid{grid-template-columns:1fr}.help-dialog>footer,.teacher-invite-code{align-items:stretch;flex-direction:column}.account-summary{grid-template-columns:42px 1fr}.account-summary i{grid-column:1/-1;justify-self:start}.account-avatar{width:42px;height:42px}.account-session-details{grid-template-columns:1fr}.account-security-actions article{grid-template-columns:24px 1fr}.account-security-actions article button{grid-column:1/-1;width:100%}.mfa-enrollment-body{grid-template-columns:1fr}.mfa-qr{justify-self:center}.mfa-enrollment-steps .primary-button{width:100%;justify-content:center}.account-deletion-confirm{grid-template-columns:1fr}.account-deletion-confirm label,.account-deletion-submit{grid-column:1}.account-deletion-submit{width:100%}}.class-switcher{min-height:92px;margin-bottom:18px;padding:13px 11px;border-color:#d9d2ee;background:linear-gradient(145deg,#fbfaff,#f4f1ff);box-shadow:0 7px 20px rgba(80,62,146,.07);cursor:default}.class-switcher>div:nth-child(2){min-width:0}.class-switcher>div:nth-child(2)>small{display:block;margin-bottom:3px;color:#8b83a6;font-size:7px;font-weight:800;letter-spacing:.05em}.class-switcher strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.class-switcher select{display:block;width:100%;max-width:100%;margin-top:6px;border:1px solid #ded8ee;border-radius:8px;padding:6px 25px 6px 8px;color:#514873;background:white;font-size:9px;font-weight:700;cursor:pointer}.class-switcher>svg{color:#7464ba;pointer-events:none}.school-space-panel{grid-column:1/-1}.school-space-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:8px;gap:8px;padding:0 18px 14px}.school-space-list>button{display:flex;align-items:center;justify-content:space-between;gap:9px;min-width:0;padding:11px;border:1px solid #e5e0ef;border-radius:11px;color:#5d586b;background:#fcfbfe;font:inherit;cursor:pointer;text-align:left}.school-space-list>button.active,.school-space-list>button:hover{border-color:#bfb3ea;color:#584497;background:#f4f0ff}.school-space-list span{min-width:0;display:flex;align-items:center;gap:7px}.school-space-list strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.school-space-list i{padding:3px 5px;border-radius:999px;color:#5f4aa5;background:white;font-size:6px;font-style:normal;font-weight:800}.school-space-list small{flex:0 0 auto;color:var(--muted);font-size:7px}.school-rename-row{border-top:1px solid var(--line);padding-top:13px}.managed-class-list .managed-class-main{flex:1 1;justify-content:flex-start;min-width:0;border:0;padding:0;color:inherit;background:transparent;text-align:left}.managed-class-list .managed-class-main span{display:block}.support-center{display:grid;grid-gap:14px;gap:14px}.support-center .page-title{margin-bottom:0}.support-compose{padding-bottom:17px}.support-compose-grid label,.support-compose>label{display:grid;grid-gap:6px;gap:6px;color:#5d5869;font-size:8px;font-weight:800}.support-compose>label{margin:0 18px}.support-compose-grid{display:grid;grid-template-columns:180px 1fr;grid-gap:10px;gap:10px;margin:0 18px 10px}.support-compose input,.support-compose select,.support-compose textarea,.support-detail select,.support-reply textarea{width:100%;border:1px solid #ddd8e8;border-radius:10px;padding:9px 10px;color:var(--ink);background:white;font:inherit;font-size:9px;resize:vertical}.support-compose footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:11px 18px 0}.support-compose footer small{color:var(--muted);font-size:7px}.support-compose footer button{display:inline-flex;align-items:center;gap:6px}.support-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);grid-gap:12px;gap:12px;min-height:500px}.support-list{min-width:0;align-self:start}.support-list>div:last-child{display:grid;grid-gap:5px;gap:5px;padding:0 12px 12px}.support-list>div>button{display:grid;grid-template-columns:1fr auto;grid-gap:5px 8px;gap:5px 8px;width:100%;min-width:0;border:1px solid transparent;border-radius:10px;padding:10px;color:#5a5565;background:#f8f7fa;font:inherit;cursor:pointer;text-align:left}.support-list>div>button.active,.support-list>div>button:hover{border-color:#cfc5ed;color:#51417e;background:#f4f0ff}.support-list button>span{display:flex;align-items:center;gap:6px}.support-list button i,.support-status{display:inline-flex;padding:4px 6px;border-radius:999px;color:#875c12;background:#fff1d1;font-size:6px;font-style:normal;font-weight:800}.support-list button i.in_progress,.support-status.in_progress{color:#574390;background:#ece6ff}.support-list button i.resolved,.support-status.resolved{color:#176d5a;background:#e1f5ee}.support-list button i.closed,.support-status.closed{color:#6d6975;background:#ebe9ee}.support-list button span small{color:var(--muted);font-size:7px}.support-list button>strong{min-width:0;overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.support-list button time{grid-row:1/3;grid-column:2;align-self:center;color:var(--muted);font-size:6px}.support-detail{min-width:0;display:flex;flex-direction:column;overflow:hidden}.support-detail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px;border-bottom:1px solid var(--line)}.support-detail>header h2{margin:8px 0 0;font-size:15px}.support-detail>header small{margin-left:7px;color:var(--muted);font-size:7px}.support-detail>header label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:7px}.support-detail>header select{min-width:110px}.support-thread{flex:1 1;min-height:240px;display:grid;align-content:start;grid-gap:9px;gap:9px;max-height:520px;overflow:auto;padding:18px;background:#faf9fc}.support-thread article{max-width:78%;padding:11px 12px;border:1px solid #e3deea;border-radius:12px 12px 12px 3px;background:white}.support-thread article.operator{justify-self:end;border-color:#d1c7ef;border-radius:12px 12px 3px 12px;color:#4e417b;background:#f1edff}.support-thread strong{font-size:8px}.support-thread p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:9px;line-height:1.6}.support-thread small{color:var(--muted);font-size:6px}.support-reply{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:9px;gap:9px;padding:12px;border-top:1px solid var(--line)}.support-reply button{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.student-entry-focus .sidebar,.student-entry-focus .topbar{display:none}.student-entry-focus .main-area{margin-left:0}.student-entry-focus .entry-focus-page{height:100vh}.entry-focus-page{display:grid;grid-template-columns:310px minmax(0,1fr);overflow:hidden;background:#f3f1f7}.entry-goal-panel{min-height:0;overflow-y:auto;padding:20px 17px;border-right:1px solid #ded8e8;background:white}.entry-goal-panel>.back-chip{display:block;margin-bottom:22px;border:0;padding:0;color:#6552a8;background:transparent;font:inherit;font-size:9px;font-weight:800;cursor:pointer}.entry-goal-panel h1{margin:5px 0 8px;font-size:18px;line-height:1.25}.entry-goal-description{margin:0;color:#666170;font-size:9px;line-height:1.65}.entry-goal-meta{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0 17px}.entry-goal-meta span{padding:5px 7px;border-radius:999px;color:#655b78;background:#f1eef7;font-size:7px}.entry-goal-checklist{display:grid;grid-gap:7px;gap:7px}.entry-goal-checklist>header{display:flex;justify-content:space-between;margin-bottom:2px}.entry-goal-checklist>header strong{font-size:10px}.entry-goal-checklist>header small{color:var(--violet);font-size:8px;font-weight:800}.entry-goal-checklist article{display:grid;grid-template-columns:25px 1fr;grid-gap:8px;gap:8px;padding:9px;border:1px solid #e8e4ee;border-radius:10px;background:#fbfafc}.entry-goal-checklist article>span{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;color:#6b5baa;background:#ece7fb;font-size:8px;font-weight:800}.entry-goal-checklist article.passed{border-color:#bde0d4;background:#f3faf7}.entry-goal-checklist article.passed>span{color:#16715e;background:#dff3ec}.entry-goal-checklist article.failed{border-color:#ebc7ce;background:#fff8f9}.entry-goal-checklist article.failed>span{color:#a64c5d;background:#f9e8eb}.entry-goal-checklist article small,.entry-goal-checklist article strong{display:block}.entry-goal-checklist article strong{font-size:8px;line-height:1.45}.entry-goal-checklist article small{margin-top:3px;color:var(--muted);font-size:6px}.entry-goal-checklist article p{margin:5px 0 0;color:#696371;font-size:7px;line-height:1.45}.entry-goal-feedback,.entry-goal-materials{display:grid;grid-gap:6px;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.entry-goal-feedback>strong,.entry-goal-materials>strong{display:flex;align-items:center;gap:5px;font-size:9px}.entry-goal-materials button{min-width:0;display:grid;grid-template-columns:16px 1fr 14px;align-items:center;grid-gap:5px;gap:5px;border:1px solid #e4dfeb;border-radius:8px;padding:7px;color:#5d566b;background:#faf9fc;font:inherit;font-size:7px;cursor:pointer;text-align:left}.entry-goal-materials button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-goal-feedback{border:1px solid #e8d9a8;border-radius:10px;padding:10px;color:#65501d;background:#fff9e8}.entry-goal-feedback p{margin:0;font-size:8px;line-height:1.55}.entry-goal-feedback small{color:#8a7a51;font-size:6px}.entry-focus-main{min-width:0;min-height:0;display:flex;flex-direction:column}.entry-focus-main .student-taskbar{height:62px}.entry-focus-main .student-taskbar>div:first-child{min-width:0;display:block}.entry-focus-main .student-taskbar>div:first-child small,.entry-focus-main .student-taskbar>div:first-child strong{display:block}.entry-focus-main .student-taskbar>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-focus-main .student-taskbar>div:first-child small{margin-top:3px}.classroom-monitor-page{padding-bottom:52px}.monitor-title{margin-bottom:18px}.monitor-title .secondary-button{min-width:140px}.monitor-privacy-notice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:13px;gap:13px;padding:14px 17px;margin-bottom:16px;border:1px solid #d9d4f0;border-radius:15px;color:#554b83;background:#f6f4ff}.monitor-privacy-notice>svg{color:var(--violet)}.monitor-privacy-notice p,.monitor-privacy-notice strong{display:block}.monitor-privacy-notice strong{font-size:11px}.monitor-privacy-notice p{margin-top:3px;color:#756f8b;font-size:9px;line-height:1.55}.monitor-connection-state{display:inline-flex;align-items:center;gap:7px;min-width:132px;padding:7px 10px;border-radius:11px;color:#397a68;background:#e7f7f1;white-space:nowrap}.monitor-connection-state>svg{flex:none}.monitor-connection-state>span{min-width:0}.monitor-connection-state small,.monitor-connection-state strong{display:block}.monitor-connection-state strong{font-size:8px}.monitor-connection-state small{margin-top:2px;color:currentColor;opacity:.78;font-size:7px}.monitor-connection-state.connecting{color:#4d6f99;background:#eaf3fc}.monitor-connection-state.fallback{color:#8a651f;background:#fff2d7}.monitor-connection-state.offline{color:#a34b5d;background:#ffedf0}.monitor-summary{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}.monitor-summary article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:9px;gap:9px;padding:14px 15px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 7px 24px rgba(39,31,73,.04)}.monitor-summary article>svg{color:#5d91c7}.monitor-summary article>span{color:var(--muted);font-size:9px}.monitor-summary article>strong{font-size:19px}.monitor-summary article>strong small{margin-left:2px;color:var(--muted);font-size:8px;font-weight:500}.monitor-summary article.attention{border-color:#efca83;background:#fffaf0}.monitor-summary article.attention>svg{color:#d58c22}.monitor-summary article.warning{border-color:#efc6cd;background:#fff7f8}.monitor-summary article.warning>svg{color:#c95e70}.monitor-summary article.sharing{border-color:#acd9ca;background:#f2fbf8}.monitor-summary article.sharing>svg{color:#318873}.monitor-filters{display:flex;align-items:center;gap:9px;margin-bottom:15px}.monitor-filters>label{min-width:190px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:white}.monitor-filters>label svg{color:var(--muted)}.monitor-filters input{width:100%;border:0;outline:0;min-height:37px;font-size:9px}.monitor-filters>select{min-height:39px;max-width:240px;padding:0 32px 0 11px;border:1px solid var(--line);border-radius:10px;background:white;font-size:9px}.monitor-filters>div{margin-left:auto;display:flex;gap:4px;padding:3px;border-radius:10px;background:#efedf4}.monitor-filters>div button{min-height:31px;padding:0 10px;border:0;border-radius:8px;color:#777185;background:transparent;cursor:pointer;font-size:8px}.monitor-filters>div button.active{color:var(--violet);background:white;box-shadow:0 2px 8px rgba(37,29,67,.08);font-weight:700}.monitor-error{display:flex;align-items:center;gap:7px;padding:10px 12px;margin-bottom:12px;border-radius:10px;color:#a03f51;background:#fff0f2;font-size:9px}.monitor-empty,.monitor-loading{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px dashed #d9d5e2;border-radius:15px;color:var(--muted);background:#faf9fc;text-align:center}.monitor-empty strong,.monitor-loading strong{color:var(--ink);font-size:12px}.monitor-empty p{font-size:9px}.monitor-student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.monitor-student-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:white;box-shadow:0 7px 25px rgba(36,28,64,.045)}.monitor-student-card.needs-help{border-color:#eabb62;box-shadow:0 7px 25px rgba(200,139,30,.1)}.monitor-student-card>header{display:flex;align-items:center;gap:9px;padding:13px 14px;border-bottom:1px solid #efedf3}.monitor-avatar{width:34px;height:34px;flex:0 0 auto;display:grid;place-items:center;border-radius:11px;color:var(--violet);background:#efecff;font-size:12px;font-weight:800}.monitor-student-card>header>div{min-width:0;flex:1 1}.monitor-student-card>header strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.monitor-student-card>header div>span{display:inline-flex;align-items:center;gap:4px;margin-top:3px;font-size:8px}.monitor-student-card>header .online{color:#27826c}.monitor-student-card>header .offline{color:#9994a5}.monitor-student-card>header em{padding:5px 7px;border-radius:999px;color:#6e6780;background:#f1eff5;font-size:7px;font-style:normal;white-space:nowrap}.monitor-student-card>header em.activity-running{color:#2b7399;background:#e8f5fc}.monitor-student-card>header em.activity-submitted{color:#2d806b;background:#e8f7f2}.monitor-help-alert{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:9px;gap:9px;margin:11px 12px 0;padding:10px;border-radius:11px;color:#9b6513;background:#fff6e1}.monitor-help-alert>svg{align-self:start}.monitor-help-alert strong{display:block;font-size:9px}.monitor-help-alert p{margin-top:2px;color:#715a36;font-size:8px;line-height:1.4;word-break:break-word}.monitor-help-alert small{color:#aa8958;font-size:7px}.monitor-help-alert button{padding:6px 8px;border:0;border-radius:8px;color:white;background:#cc891f;cursor:pointer;font-size:7px;white-space:nowrap}.monitor-help-alert button:disabled{opacity:.55}.monitor-current-task{padding:12px 14px 8px}.monitor-current-task span{display:block;margin-bottom:3px;color:var(--violet);font-size:7px;font-weight:700}.monitor-current-task strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.monitor-saved-progress{display:flex;align-items:center;gap:8px;margin:0 14px 9px;padding:9px 10px;border:1px solid #e2ddf2;border-radius:10px;color:#5b5185;background:#f8f6ff}.monitor-saved-progress>svg{flex:none}.monitor-saved-progress>span{min-width:0;flex:1 1}.monitor-saved-progress small,.monitor-saved-progress strong{display:block}.monitor-saved-progress strong{font-size:7px}.monitor-saved-progress small{margin-top:2px;overflow:hidden;color:#706989;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.monitor-saved-progress em{flex:none;padding:3px 5px;border-radius:999px;color:#7a718f;background:#ece8f6;font-size:6px;font-style:normal}.monitor-student-card dl{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px;padding:0 14px 12px}.monitor-student-card dl>div{padding:8px;border-radius:9px;background:#f8f7fa}.monitor-student-card dt{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:7px}.monitor-student-card dd{margin:4px 0 0;color:#494454;font-size:8px;font-weight:700}.monitor-student-card dd.error{color:#b74d60}.monitor-student-card>footer{min-height:49px;display:flex;align-items:center;gap:8px;padding:9px 14px;border-top:1px solid #efedf3}.monitor-student-card>footer button{flex:1 1;justify-content:center}.monitor-student-card>footer>span{display:inline-flex;align-items:center;gap:4px;color:#25816b;font-size:7px;white-space:nowrap}.monitor-preview-backdrop{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:22px;background:rgba(27,23,43,.58)}.monitor-preview-dialog{width:min(1120px,96vw);height:min(820px,92vh);display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:white;box-shadow:0 28px 80px rgba(18,13,35,.35)}.monitor-preview-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid var(--line)}.monitor-preview-dialog>header h2{margin:4px 0;font-size:18px}.monitor-preview-dialog>header p{color:var(--muted);font-size:9px}.monitor-preview-actions{display:flex;align-items:center;gap:7px}.monitor-preview-actions .secondary-button{min-height:34px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.monitor-preview-live-state{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;border-bottom:1px solid #dcebe6;color:#2c7664;background:#f0faf7}.monitor-preview-live-state.paused{border-color:#eadfc9;color:#8b651f;background:#fff9ed}.monitor-preview-live-state>span{display:inline-flex;align-items:center;gap:6px}.monitor-preview-live-state strong{font-size:8px}.monitor-preview-live-state small{color:inherit;opacity:.78;font-size:7px;text-align:right}.monitor-preview-body{flex:1 1;min-height:0;padding:12px;background:#f5f3f7}.monitor-preview-state{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--violet)}.monitor-preview-state.error{color:#b64e60}.monitor-preview-inline-error{display:flex;align-items:center;gap:5px;margin:0 0 8px;padding:7px 9px;border-radius:8px;color:#a74557;background:#fff0f2;font-size:8px}.monitor-csv-preview{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.monitor-csv-preview>header{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid var(--line)}.monitor-csv-preview>header strong{font-size:9px}.monitor-csv-preview>header small{color:var(--muted);font-size:7px}.monitor-csv-preview>pre{max-height:180px;margin:0;padding:12px;overflow:auto;color:#3f3b4f;background:#fbfafc;font-size:8px;line-height:1.55}.workspace-visibility-inline{display:inline-flex;align-items:center;gap:4px;margin-right:10px;color:#3a7d6d}.monitor-entry-preview{height:100%;overflow:hidden;border-radius:12px;background:white}.monitor-entry-preview .entry-studio{height:100%}.monitor-code-preview{height:100%;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#1f2230}.monitor-code-preview>div{display:flex;align-items:center;gap:7px;padding:11px 14px;color:#e7e8ef;background:#2a2e3e}.monitor-code-preview>div small{margin-left:auto;color:#9da4b9;font-size:8px}.monitor-code-preview pre{flex:1 1;overflow:auto;margin:0;padding:18px;color:#e5ecf5;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;-moz-tab-size:4;tab-size:4}.student-help-request{position:relative;display:inline-flex;align-items:center}.student-help-request>button{min-height:32px;display:inline-flex;align-items:center;gap:5px}.student-help-request .help-share-live,.student-help-request .help-share-start{margin-left:5px;padding:7px 9px;border:0;border-radius:9px;cursor:pointer;font-size:8px;white-space:nowrap}.student-help-request .help-share-live{color:#247865;background:#e4f6ef}.student-help-request .help-share-start{color:#625292;background:#eeebf9}.student-help-request .help-resolved,.student-help-request .help-waiting{padding:7px 9px;border:0;border-radius:9px;cursor:pointer;font-size:8px}.student-help-request .help-waiting{color:#96620e;background:#fff1cd}.student-help-request .help-resolved{color:#247865;background:#e4f6ef}.student-help-popover{position:absolute;z-index:40;top:calc(100% + 8px);right:0;width:290px;padding:13px;border:1px solid #d7d2e5;border-radius:13px;color:var(--ink);background:white;box-shadow:0 17px 45px rgba(31,24,55,.18)}.student-help-popover>strong{display:block;font-size:11px}.student-help-popover>p{margin:5px 0 9px;color:var(--muted);font-size:8px;line-height:1.5}.student-help-popover textarea{width:100%;min-height:78px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:9px;font-size:9px}.student-help-popover>small{display:block;margin-top:3px;color:var(--muted);font-size:7px;text-align:right}.student-help-popover>div{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.student-help-error,.student-help-inline-error{color:#b5485b;font-size:8px}.student-help-inline-error{position:absolute;top:calc(100% + 3px);right:0;width:max-content;max-width:240px;padding:4px 6px;border-radius:5px;background:white}.help-share-consent{display:grid;grid-template-columns:auto 1fr;align-items:start;grid-gap:8px;gap:8px;margin-top:8px;padding:9px;border:1px solid #d8d1eb;border-radius:9px;background:#f8f6fd;cursor:pointer}.help-share-consent input{margin-top:2px;accent-color:var(--violet)}.help-share-consent span>strong{display:block;color:#504572;font-size:8px}.help-share-consent span>small{display:block;margin-top:2px;color:var(--muted);font-size:7px;line-height:1.45}@media (max-width:1050px){.monitor-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-summary{grid-template-columns:repeat(2,1fr)}.monitor-filters{align-items:stretch;flex-wrap:wrap}.monitor-filters>div{width:100%;margin-left:0;overflow-x:auto}.monitor-filters>div button{flex:1 1}}@media (max-width:640px){.monitor-privacy-notice{grid-template-columns:auto 1fr}.monitor-connection-state{grid-column:1/3;width:-moz-fit-content;width:fit-content}.monitor-student-grid,.monitor-summary{grid-template-columns:1fr}.monitor-filters>label,.monitor-filters>select{width:100%;max-width:none}.monitor-preview-backdrop{padding:0}.monitor-preview-dialog{width:100vw;height:100vh;border-radius:0}.monitor-preview-dialog>header{align-items:center}.monitor-preview-dialog>header p{display:none}.monitor-preview-actions .secondary-button{width:34px;padding:0;justify-content:center;font-size:0}.monitor-preview-live-state{align-items:flex-start;flex-direction:column;gap:3px}.monitor-preview-live-state small{text-align:left}.student-help-popover{position:fixed;top:76px;left:12px;right:12px;width:auto}}@media (max-width:900px){.support-grid{grid-template-columns:1fr}.support-detail{min-height:480px}.entry-focus-page{grid-template-columns:250px minmax(0,1fr)}.entry-goal-panel{padding:16px 12px}.entry-focus-main .starter-reset-button,.entry-focus-main .student-score-chip{display:none}}@media (max-width:640px){.support-compose-grid{grid-template-columns:1fr}.support-compose footer{align-items:stretch;flex-direction:column}.support-compose footer button{justify-content:center}.entry-focus-page{height:auto!important;min-height:100vh;overflow:auto;grid-template-columns:1fr}.entry-goal-panel{max-height:38vh;border-right:0;border-bottom:1px solid #ded8e8}.entry-focus-main{min-height:70vh}.entry-focus-main .student-taskbar{padding:0 10px}.entry-focus-main .student-taskbar>div:first-child{display:none}}.artifact-panel{margin:14px 0;padding:16px;border:1px solid #ddd9ee;border-radius:15px;background:#fbfaff;color:#3f3a52}.artifact-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.artifact-panel>header>div{display:flex;align-items:center;gap:9px}.artifact-panel>header small,.artifact-panel>header strong{display:block}.artifact-panel>header strong{font-size:11px}.artifact-panel>header small{margin-top:2px;color:var(--muted);font-size:8px}.artifact-icon{width:31px;height:31px;border-radius:9px;display:grid;place-items:center;color:#6253a4;background:#eeeaff}.artifact-count{padding:5px 8px;border-radius:20px;background:#f0edfb;color:#665a96;font-size:8px;font-weight:700;white-space:nowrap}.artifact-deliverable-list{display:grid;grid-gap:10px;gap:10px}.artifact-deliverable{padding:12px;border:1px solid #e6e2ef;border-radius:12px;background:white}.artifact-deliverable.complete{border-color:#bfe1d5;background:#fbfffd}.artifact-deliverable-head{display:grid;grid-template-columns:24px 1fr auto;align-items:start;grid-gap:8px;gap:8px}.artifact-deliverable-head>span{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#f1eef9;color:#65579b;font-size:9px;font-weight:800}.artifact-deliverable.complete .artifact-deliverable-head>span{background:#e3f5ee;color:#27816b}.artifact-deliverable-head strong{font-size:10px}.artifact-deliverable-head strong em{margin-left:5px;padding:2px 5px;border-radius:9px;background:#fff1ed;color:#b86550;font-size:7px;font-style:normal}.artifact-deliverable-head p{margin:3px 0 0;color:var(--muted);font-size:8px;line-height:1.5}.artifact-deliverable-head>small{color:#897fa0;font-size:7px;font-weight:700}.structured-report-editor{display:grid;grid-gap:9px;gap:9px;margin-top:12px}.structured-report-editor label span{display:block;margin-bottom:4px;color:#5f5775;font-size:8px;font-weight:700}.structured-report-editor textarea{width:100%;min-height:70px;resize:vertical;border:1px solid #ddd8e8;border-radius:9px;padding:9px;background:#fdfcff;color:#3f3a52;font:inherit;font-size:9px;line-height:1.55}.structured-report-editor textarea[readonly]{background:#f5f4f8}.structured-report-editor .secondary-button{justify-self:end}.artifact-file-area{margin-top:11px}.artifact-files{display:grid;grid-gap:6px;gap:6px}.artifact-files>div{display:flex;align-items:center;gap:8px;padding:8px;border-radius:9px;background:#f7f6fa}.artifact-files>div>span{min-width:0;flex:1 1}.artifact-files small,.artifact-files strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifact-files strong{font-size:8px}.artifact-files small{margin-top:2px;color:var(--muted);font-size:7px}.artifact-files button{border:0;background:transparent;color:#655b88;cursor:pointer}.artifact-upload{display:flex;align-items:center;gap:8px;margin-top:8px;padding:9px;border:1px dashed #bdb5d7;border-radius:10px;color:#665a96;cursor:pointer}.artifact-upload span{flex:1 1}.artifact-upload small,.artifact-upload strong{display:block}.artifact-upload strong{font-size:8px}.artifact-upload small{margin-top:2px;color:var(--muted);font-size:7px}.artifact-upload input{display:none}.artifact-error,.artifact-lock-note,.artifact-note,.artifact-warning{margin:8px 0 0;font-size:8px;line-height:1.5}.artifact-lock-note,.artifact-note{color:#756d88}.artifact-error,.artifact-warning{color:#b65350}.artifact-error{padding:8px;border-radius:8px;background:#fff0ef}.artifact-loading,.artifact-panel-empty{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:9px}.artifact-panel.compact{padding:12px}.entry-goal-panel .artifact-panel{padding:11px}.entry-goal-panel .artifact-panel>header{align-items:flex-start}.entry-goal-panel .artifact-count,.entry-goal-panel .artifact-panel>header small{display:none}.entry-goal-panel .artifact-deliverable-head{grid-template-columns:22px 1fr}.entry-goal-panel .artifact-deliverable-head>small{display:none}@media (max-width:760px){.artifact-panel>header{align-items:flex-start}.artifact-count{display:none}.artifact-deliverable-head{grid-template-columns:24px 1fr}.artifact-deliverable-head>small{grid-column:2}}.curriculum-picker,.deliverable-editor{margin:14px 0;padding:14px;border:1px solid #dfdaef;border-radius:13px;background:#fbfaff}.curriculum-picker-head,.deliverable-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.curriculum-picker-head small,.curriculum-picker-head strong,.deliverable-editor-head small,.deliverable-editor-head strong{display:block}.curriculum-picker-head strong,.deliverable-editor-head strong{font-size:10px}.curriculum-picker-head small,.deliverable-editor-head small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.5}.curriculum-picker-head>span{padding:5px 8px;border-radius:14px;background:#eeeaff;color:#65579b;font-size:8px;font-weight:800;white-space:nowrap}.curriculum-filter-row{display:grid;grid-template-columns:110px 150px 1fr;grid-gap:7px;gap:7px;margin:11px 0 8px}.curriculum-filter-row input,.curriculum-filter-row select{width:100%;padding:8px;border:1px solid #ddd8e9;border-radius:8px;background:white;color:#484159;font-size:8px}.curriculum-standard-list{max-height:210px;overflow:auto;display:grid;grid-gap:5px;gap:5px;padding-right:3px}.curriculum-standard-list label{display:flex;align-items:flex-start;gap:7px;padding:8px;border:1px solid #ebe8f1;border-radius:9px;background:white;cursor:pointer}.curriculum-standard-list label.selected{border-color:#9d91ca;background:#f5f2ff}.curriculum-standard-list input{margin-top:2px}.curriculum-standard-list small,.curriculum-standard-list strong{display:block}.curriculum-standard-list strong{color:#49405f;font-size:8px}.curriculum-standard-list strong em{margin-left:4px;color:#766d8d;font-size:7px;font-style:normal;font-weight:600}.curriculum-standard-list small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.45}.deliverable-editor-head>div:last-child{display:flex;gap:5px}.deliverable-editor-head button{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border:1px solid #d5cee9;border-radius:8px;background:white;color:#61558e;font-size:8px;cursor:pointer}.deliverable-editor-list{display:grid;grid-gap:6px;gap:6px;margin-top:11px}.deliverable-editor-list article{display:grid;grid-template-columns:23px 1fr auto auto;align-items:center;grid-gap:7px;gap:7px;padding:8px;border-radius:9px;background:white;border:1px solid #e8e4f0}.deliverable-editor-list article>span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#efeafb;color:#65579b;font-size:8px;font-weight:800}.deliverable-editor-list input[aria-label]{width:100%;border:0;background:transparent;color:#413a53;font-size:9px;font-weight:700}.deliverable-editor-list small{display:block;margin-top:2px;color:var(--muted);font-size:7px}.deliverable-editor-list label{display:flex;align-items:center;gap:3px;color:#6b627f;font-size:7px;white-space:nowrap}.deliverable-editor-list article>button{border:0;background:transparent;color:#9a6070;cursor:pointer}.deliverable-editor>p{margin:9px 0 0;color:#766d88;font-size:7px;line-height:1.5}.entry-goal-standards{display:grid;grid-gap:5px;gap:5px;margin-top:12px}.entry-goal-standards>strong{font-size:9px}.entry-goal-standards span{padding:6px 7px;border-radius:8px;background:#f4f1ff;color:#665a91;font-size:7px}.entry-goal-standards b{margin-right:5px}.student-portfolio-list{display:grid;grid-gap:15px;gap:15px}.student-portfolio-card>header{display:flex;justify-content:space-between;gap:12px;padding:16px 16px 0}.student-portfolio-card h2{margin:8px 0 3px;font-size:13px}.student-portfolio-card header p{margin:0;color:var(--muted);font-size:8px}.student-portfolio-card .artifact-panel{margin:14px 16px 16px}.standard-chip-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.standard-chip-list span{height:-moz-fit-content;height:fit-content;padding:4px 6px;border-radius:12px;background:#f0edfb;color:#63588d;font-size:7px;font-weight:700}@media (max-width:760px){.curriculum-filter-row{grid-template-columns:1fr}.curriculum-picker-head,.deliverable-editor-head,.student-portfolio-card>header{display:grid}.deliverable-editor-list article{grid-template-columns:23px 1fr auto}.deliverable-editor-list article>button{grid-column:3}.standard-chip-list{justify-content:flex-start}}.teacher-artifact-list{display:grid;grid-gap:10px;gap:10px}.teacher-artifact-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-gap:10px;gap:10px;align-items:center;padding:12px;border:1px solid #e3dfee;border-radius:13px;background:#fbfaff}.teacher-artifact-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#65579b;background:#eeeaff}.teacher-artifact-list article>div{min-width:0}.teacher-artifact-list code,.teacher-artifact-list small,.teacher-artifact-list strong{display:block}.teacher-artifact-list code,.teacher-artifact-list small{margin-top:3px;color:var(--muted);font-size:7px}.teacher-artifact-list b.valid{color:#087f5b}.teacher-artifact-list b.invalid{color:#c2410c}.teacher-artifact-list dl{grid-column:2/-1;display:grid;grid-gap:8px;gap:8px;margin:2px 0 0}.teacher-artifact-list dl div{padding:9px 10px;border-radius:9px;background:white}.teacher-artifact-list dt{margin-bottom:4px;color:var(--muted);font-size:7px;font-weight:800}.teacher-artifact-list dd{margin:0;white-space:pre-wrap;line-height:1.55}@media (max-width:720px){.teacher-artifact-list article{grid-template-columns:auto minmax(0,1fr) auto}.teacher-artifact-list article>button,.teacher-artifact-list dl{grid-column:1/-1}}.roster-import-dialog{width:min(880px,calc(100vw - 30px));max-height:min(820px,calc(100vh - 30px));display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 24px 80px rgba(29,27,47,.3)}.roster-import-dialog>footer,.roster-import-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line)}.roster-import-dialog>header h2{margin:4px 0 3px;font-size:15px}.roster-import-dialog>header p{margin:0;color:var(--muted);font-size:9px}.roster-import-dialog>footer{border-top:1px solid var(--line);border-bottom:0}.roster-import-dialog>footer>span{color:var(--muted);font-size:8px}.roster-import-dialog>footer>div{display:flex;gap:7px}.roster-import-body{min-height:0;overflow:auto;display:grid;grid-gap:13px;gap:13px;padding:18px 20px}.roster-import-guide{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:11px;gap:11px;padding:12px;border:1px solid #dcd4f5;border-radius:12px;color:#5d4aa8;background:#f8f6ff}.roster-import-guide strong{display:block;font-size:9px}.roster-import-guide p{margin:3px 0 0;color:#716989;font-size:8px;line-height:1.5}.roster-file-drop{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:16px;border:1.5px dashed #b9addf;border-radius:13px;color:var(--violet);background:#fcfbff;cursor:pointer}.roster-file-drop:focus-within{outline:3px solid rgba(109,89,201,.2);outline-offset:2px}.roster-file-drop.disabled{opacity:.65;cursor:wait}.roster-file-drop small,.roster-file-drop strong{display:block}.roster-file-drop strong{overflow:hidden;color:#50466b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.roster-file-drop small{margin-top:3px;color:var(--muted);font-size:8px}.roster-file-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.roster-import-error{display:flex;align-items:flex-start;gap:7px;margin:0;padding:10px 11px;border-radius:10px;color:#a23d47;background:#fff0f1;font-size:9px;line-height:1.5}.roster-import-summary{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:7px;gap:7px}.roster-import-summary span{display:grid;grid-gap:2px;gap:2px;padding:9px 10px;border:1px solid #e8e4ef;border-radius:10px;color:var(--muted);background:#faf9fc;font-size:7px}.roster-import-summary strong{color:#3f3951;font-size:14px}.roster-import-summary .ready{background:#eefbf5;border-color:#c4ead8}.roster-import-summary .ready strong{color:#087f5b}.roster-import-summary .warning{background:#fff8e9;border-color:#f2dfb0}.roster-import-summary .warning strong{color:#9a6811}.roster-import-summary .blocked{background:#fff3f3;border-color:#f1d4d7}.roster-import-summary .blocked strong{color:#ad4651}.roster-import-select-all{display:flex;align-items:center;justify-content:space-between;gap:10px}.roster-import-select-all label{display:flex;align-items:center;gap:6px;color:#554b70;font-size:8px;font-weight:700}.roster-import-select-all small{color:var(--muted);font-size:7px}.roster-import-table-wrap{max-height:350px;overflow:auto;border:1px solid #e6e2ec;border-radius:11px}.roster-import-table{width:100%;border-collapse:collapse}.roster-import-table th{position:-webkit-sticky;position:sticky;top:0;z-index:1;padding:8px 9px;color:#746b86;background:#f7f5fa;font-size:7px;text-align:left}.roster-import-table td{padding:9px;border-top:1px solid #eeeaf2;color:#4c455c;font-size:8px;vertical-align:middle}.roster-import-table td:first-child,.roster-import-table td:nth-child(2){width:46px}.roster-import-table td:nth-child(3){width:36%}.roster-import-table td small,.roster-import-table td strong{display:block}.roster-import-table td small{margin-top:3px;color:var(--muted);font-size:7px;overflow-wrap:anywhere}.roster-status{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;font-size:7px;font-weight:800}.roster-status.ready{color:#087f5b;background:#ddf7ea}.roster-status.warning{color:#94610a;background:#fff0c9}.roster-status.neutral{color:#645b76;background:#ece9f0}.roster-status.blocked{color:#a33f49;background:#fde3e6}.student-account-dialog{width:min(900px,calc(100vw - 30px));max-height:min(860px,calc(100vh - 30px));display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 24px 80px rgba(29,27,47,.3)}.student-account-dialog>footer,.student-account-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line)}.student-account-dialog>header h2{margin:4px 0 3px;font-size:15px}.student-account-dialog>footer>span,.student-account-dialog>header p{margin:0;color:var(--muted);font-size:8px}.student-account-dialog>footer{border-top:1px solid var(--line);border-bottom:0}.student-account-body{min-height:0;overflow:auto;display:grid;grid-gap:13px;gap:13px;padding:18px 20px}.student-account-guide{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:11px;gap:11px;padding:12px;border:1px solid #cbe7d9;border-radius:12px;color:#18725f;background:#f0fbf6}.student-account-guide strong{display:block;font-size:9px}.student-account-guide p{margin:3px 0 0;color:#597268;font-size:8px;line-height:1.5}.student-account-create{display:grid;grid-gap:7px;gap:7px}.student-account-create>label{color:#4c455c;font-size:8px;font-weight:800}.student-account-create textarea{width:100%;min-height:128px;resize:vertical;padding:11px;border:1px solid #dcd7e4;border-radius:11px;color:#332d40;background:#fff;font:inherit;font-size:9px;line-height:1.6}.student-account-create textarea:focus{border-color:#8b78d7;outline:3px solid #eee9ff}.student-account-create footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-account-create footer small,.student-account-create>small{color:var(--muted);font-size:8px}.student-account-create>small{line-height:1.5}.student-account-create .password-input-wrap{max-width:420px}.student-account-create .password-input-wrap input{width:100%;min-height:38px;padding:8px 42px 8px 10px;border:1px solid #dcd7e4;border-radius:10px;font:inherit;font-size:9px}.student-account-password-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-account-password-actions small{color:var(--muted);font-size:8px;line-height:1.5}.student-account-create>.roster-import-error{display:flex;align-items:center;gap:5px;margin:0;color:#b4483d}.student-credential-result{display:grid;grid-gap:9px;gap:9px;padding:12px;border:1px solid #bfe4d2;border-radius:12px;background:#f2fcf7}.student-credential-result>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-credential-result>header>div,.student-credential-result>header>div>span{display:flex;align-items:center;gap:7px}.student-credential-result>header>div>span{align-items:flex-start;flex-direction:column;gap:2px}.student-credential-result>header strong{color:#087f5b;font-size:9px}.student-credential-result>header small{color:#64776f;font-size:7px}.student-credential-result>header>span{display:flex;gap:6px}.student-credential-table{max-height:260px;overflow:auto;border:1px solid #d8ebe1;border-radius:9px;background:#fff}.student-credential-table table{width:100%;border-collapse:collapse}.student-credential-table td,.student-credential-table th{padding:8px 9px;border-bottom:1px solid #edf2ef;text-align:left;font-size:8px}.student-credential-table th{position:-webkit-sticky;position:sticky;top:0;color:#67746e;background:#f7faf8;font-size:7px}.student-account-list code,.student-credential-table code,.student-password-reset-result code{padding:2px 4px;border-radius:4px;color:#44347f;background:#f0edff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.student-password-reset-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:11px 12px;border:1px solid #ead9ab;border-radius:11px;color:#8b6412;background:#fff9e9}.student-password-reset-result strong{font-size:9px}.student-password-reset-result p{margin:3px 0;color:#5b5140;font-size:8px}.student-password-reset-result small{color:#7a6e59;font-size:7px}.student-account-list{display:grid;grid-gap:9px;gap:9px;padding-top:4px}.student-account-list>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-account-list>header>div{display:grid;grid-gap:2px;gap:2px}.student-account-list>header strong{font-size:9px}.student-account-list>header small{color:var(--muted);font-size:7px}.student-account-list>div{display:grid;grid-gap:6px;gap:6px}.student-account-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border:1px solid var(--line);border-radius:10px}.student-account-list article>span{min-width:0;display:grid;grid-gap:4px;gap:4px}.student-account-list article strong{font-size:9px}.student-account-list article small{color:var(--muted);font-size:7px}.student-account-empty{margin:0;padding:13px;border-radius:10px;color:var(--muted);background:#f8f7fa;text-align:center;font-size:8px}@media (max-width:700px){.roster-import-dialog{max-height:calc(100vh - 18px)}.roster-import-dialog>footer,.roster-import-dialog>header{align-items:flex-start;padding:14px}.roster-import-dialog>footer{display:grid}.roster-import-dialog>footer>div{justify-content:flex-end}.roster-import-body{padding:14px}.roster-file-drop,.roster-import-guide{grid-template-columns:auto 1fr}.roster-file-drop>.secondary-button,.roster-import-guide button{grid-column:1/-1;justify-content:center}.roster-import-summary{grid-template-columns:repeat(2,1fr)}.roster-import-select-all{align-items:flex-start;flex-direction:column}.roster-import-table{min-width:650px}.student-account-dialog{max-height:calc(100vh - 18px)}.student-account-dialog>footer,.student-account-dialog>header{align-items:flex-start;padding:14px}.student-account-dialog>footer{display:grid}.student-account-body{padding:14px}.student-account-password-actions{align-items:stretch;flex-direction:column}.student-account-password-actions button{align-self:flex-start}.student-account-list article,.student-account-list>header,.student-credential-result>header{align-items:stretch;flex-direction:column}.student-credential-result>header>span{flex-wrap:wrap}.student-password-reset-result{grid-template-columns:auto 1fr}.student-password-reset-result button{grid-column:1/-1}}.naver-roster-guide{border-color:#b9d8cc;color:#087f5b;background:#f1fbf7}.naver-scope-badge{justify-self:end;padding:5px 8px;border:1px solid #9bd1bc;border-radius:999px;color:#087f5b;background:#fff;font-size:7px;font-weight:800}.naver-roster-loading{display:flex;align-items:center;justify-content:center;gap:8px;min-height:110px;color:var(--muted);font-size:9px}.naver-roster-loading svg,.naver-roster-sync-button:disabled>svg:last-child{animation:spin 1s linear infinite}.naver-roster-setup{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:12px;gap:12px;padding:16px;border:1px solid #ecd59f;border-radius:13px;color:#9a6811;background:#fff9ea;outline:none}.naver-roster-setup strong{display:block;color:#79510b;font-size:10px}.naver-roster-setup p{margin:4px 0 7px;color:#75684c;font-size:8px;line-height:1.55}.naver-roster-setup small{color:#8b671e;font-size:7px;font-weight:700}.naver-roster-sync-button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:17px;border:1.5px dashed #93c9b4;border-radius:13px;color:#087f5b;background:#f7fdfa;cursor:pointer;text-align:left}.naver-roster-sync-button:hover:not(:disabled){border-color:#087f5b;background:#edfaf4}.naver-roster-sync-button small,.naver-roster-sync-button strong{display:block}.naver-roster-sync-button strong{color:#285e4a;font-size:10px}.naver-roster-sync-button small{margin-top:4px;color:#638072;font-size:8px}.naver-roster-sync-button:disabled{opacity:.7;cursor:wait}.naver-roster-notice{display:flex;align-items:flex-start;gap:7px;margin:0;padding:9px 10px;border-radius:10px;color:#8a5c0c;background:#fff5d9;font-size:8px;line-height:1.5}@media (max-width:700px){.naver-scope-badge{grid-column:1/-1;justify-self:start}.naver-roster-sync-button{grid-template-columns:auto 1fr}.naver-roster-sync-button>svg:last-child{display:none}}.student-review-wrap{padding-top:0;padding-bottom:0}.submission-review-panel{border:1px solid #dcd5ef;border-radius:14px;background:#fbfaff}.submission-review-panel>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;padding:13px;border-bottom:1px solid #e8e4f1}.submission-review-panel>header>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:#6553aa;background:#eee9ff}.submission-review-panel>header small,.submission-review-panel>header strong{display:block}.submission-review-panel>header strong{color:#423a59;font-size:10px}.submission-review-panel>header small{margin-top:2px;color:var(--muted);font-size:7px}.submission-review-panel>header>b{padding:5px 7px;border-radius:999px;color:#6553aa;background:#eee9ff;font-size:7px;white-space:nowrap}.submission-review-error,.submission-review-loading{display:flex;align-items:center;gap:6px;margin:0;padding:12px 13px;color:var(--muted);font-size:8px}.submission-review-error{color:#a23d47;background:#fff0f1}.student-review-compose{display:grid;grid-gap:10px;gap:10px;padding:13px}.student-review-compose>p{margin:0;color:#6e6680;font-size:8px;line-height:1.55}.student-review-compose label,.teacher-review-list label{display:grid;grid-gap:4px;gap:4px;color:#5f566f;font-size:7px;font-weight:800}.student-review-compose select,.student-review-compose textarea,.teacher-review-list textarea{width:100%;border:1px solid #d9d3e5;border-radius:9px;color:#41394f;background:white;font:inherit}.student-review-compose select{padding:8px}.student-review-compose textarea,.teacher-review-list textarea{min-height:78px;padding:9px;resize:vertical;line-height:1.5}.student-review-compose footer,.teacher-review-list footer{display:flex;align-items:center;justify-content:space-between;gap:9px}.student-review-compose footer small,.teacher-review-list footer small{color:var(--muted);font-size:7px;line-height:1.45}.student-review-compose footer button{display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:0;border-radius:9px;color:white;background:var(--violet);font-size:8px;font-weight:800;cursor:pointer}.student-review-compose footer button:disabled{opacity:.55;cursor:not-allowed}.student-review-current{display:grid;grid-gap:10px;gap:10px;padding:13px}.review-status-line{display:flex;align-items:center;justify-content:space-between;gap:10px}.review-status-line>small{color:var(--muted);font-size:7px}.review-status{width:-moz-fit-content;width:fit-content;display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:7px;font-weight:800}.review-status.status-open{color:#8a5b08;background:#fff0c9}.review-status.status-in_review{color:#3f65a2;background:#e6f0ff}.review-status.status-resolved{color:#087f5b;background:#ddf7ea}.review-status.status-closed{color:#655e70;background:#ece9f0}.student-review-current dl{display:grid;grid-gap:8px;gap:8px;margin:0}.student-review-current dl>div{padding:10px;border-radius:10px;background:white}.student-review-current dt{margin-bottom:5px;color:#655a79;font-size:7px;font-weight:800}.student-review-current dd{margin:0;color:#433c50;font-size:8px;line-height:1.55;white-space:pre-wrap}.student-review-current .teacher-review-answer{border:1px solid #c9eadb;background:#f0fbf6}.teacher-review-answer dt{display:flex;align-items:center;gap:4px;color:#087f5b}.review-event-timeline{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.review-event-timeline li{display:flex;align-items:center;gap:5px}.review-event-timeline li>span{width:6px;height:6px;border-radius:50%;background:#9d91c8}.review-event-timeline small,.review-event-timeline strong{display:block}.review-event-timeline strong{color:#615970;font-size:7px}.review-event-timeline small{margin-top:1px;color:var(--muted);font-size:6px}.teacher-review-panel{background:white}.teacher-review-list,.teacher-review-list>article{display:grid;grid-gap:10px;gap:10px}.teacher-review-list>article{padding:13px;border:1px solid #e2ddec;border-radius:12px;background:#fbfaff}.teacher-review-list article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.teacher-review-list article>header>div{display:flex;align-items:center;gap:7px}.teacher-review-list article>header strong{color:#494058;font-size:9px}.teacher-review-list article>header small{color:var(--muted);font-size:7px}.teacher-review-list blockquote{margin:0;padding:10px 11px;border-left:3px solid #a99ad9;border-radius:0 9px 9px 0;color:#4d455a;background:white;font-size:8px;line-height:1.55;white-space:pre-wrap}.teacher-review-list footer>div{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.entry-goal-panel .submission-review-panel{margin-top:12px}.entry-goal-panel .submission-review-panel>header{grid-template-columns:auto 1fr}.entry-goal-panel .submission-review-panel>header>b{grid-column:1/-1}@media (max-width:720px){.submission-review-panel>header{grid-template-columns:auto 1fr}.submission-review-panel>header>b{grid-column:1/-1;justify-self:start}.student-review-compose footer,.teacher-review-list footer{align-items:stretch;flex-direction:column}.student-review-compose footer button{justify-content:center}.teacher-review-list footer>div{justify-content:flex-start}}.teacher-regrade-panel{border-color:#c9d9f8;background:linear-gradient(180deg,#fbfdff,#f4f8ff)}.regrade-current-line{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;margin-top:14px;border:1px solid #d7e2f6;border-radius:14px;background:white}.regrade-current-line span{display:flex;flex-direction:column;gap:3px}.regrade-current-line strong{color:#203f72}.regrade-current-line small{color:#71819c}.regrade-current-line>b{color:#315fa5;font-size:18px}.regrade-compose{display:grid;grid-gap:12px;gap:12px;margin-top:12px;padding:14px;border:1px solid #d7e2f6;border-radius:14px;background:white}.regrade-compose label{display:grid;grid-gap:7px;gap:7px}.regrade-compose label>span{color:#50627e;font-size:8px;font-weight:800}.regrade-compose select,.regrade-compose textarea{width:100%;padding:10px 11px;border:1px solid #ccd8eb;border-radius:10px;color:#20304d;background:white;font:inherit}.regrade-compose textarea{min-height:88px;resize:vertical}.regrade-compose footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.regrade-compose footer small{color:#77849a;font-size:7px}.regrade-history{display:grid;grid-gap:9px;gap:9px;margin-top:14px}.regrade-history>strong{display:flex;align-items:center;gap:6px;color:#3c5274;font-size:9px}.regrade-history article{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,1.2fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:11px 13px;border:1px solid #dbe3f1;border-radius:12px;background:white}.regrade-history article.current{border-color:#92b3ea;box-shadow:inset 3px 0 #4e7dc7}.regrade-history article span{display:flex;flex-direction:column;gap:2px}.regrade-history article b{color:#354b6d;font-size:9px}.regrade-history article small{color:#78869b;font-size:7px}.regrade-history article p{margin:0;color:#4c5c73;font-size:8px;line-height:1.45}.regrade-history article code{color:#64738b;font-size:7px}.regrade-policy{display:flex;align-items:flex-start;gap:7px;margin:12px 0 0;color:#536987;font-size:8px;line-height:1.5}.regrade-policy svg{flex:0 0 auto;margin-top:2px}@media (max-width:760px){.regrade-history article{grid-template-columns:1fr}.regrade-compose footer{align-items:stretch}.regrade-compose footer button{width:100%;justify-content:center}}.physical-workspace-page{color:#17233d;background:#f4f7fb}.physical-workspace-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:18px;gap:18px;align-items:center;padding:16px 22px;border-bottom:1px solid #dce4ef;background:white}.physical-workspace-header>div{display:flex;gap:10px;align-items:center}.physical-workspace-header>div:nth-child(2){display:grid;grid-gap:2px;gap:2px}.physical-workspace-header small,.physical-workspace-header span{color:#71809a;font-size:12px}.physical-workspace-header strong{font-size:18px}.physical-workspace-grid{grid-template-columns:minmax(480px,1.2fr) minmax(360px,.8fr);grid-gap:18px;gap:18px;padding:20px}.physical-rule-builder,.physical-simulator{border:1px solid #dce4ef;border-radius:18px;background:white;box-shadow:0 10px 28px rgba(31,54,89,.06);overflow:hidden}.physical-rule-builder>header,.physical-simulator>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e5ebf3}.physical-rule-builder>header div,.physical-simulator>header div{display:grid;grid-gap:4px;gap:4px}.physical-rule-builder header small,.physical-simulator header small{color:#73819a}.physical-rule-builder header button{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #bfcde3;border-radius:9px;background:#f8faff;color:#304c79;font-weight:700}.physical-rules{grid-gap:10px;gap:10px;padding:16px 20px}.physical-rules article{grid-template-columns:28px minmax(140px,1fr) auto minmax(140px,1fr) minmax(0,.8fr) auto;grid-gap:9px;gap:9px;padding:12px;border:1px solid #dfe6f0;border-radius:12px;background:#fbfcfe}.physical-rules article>span{align-self:center;width:26px;height:26px;border-radius:50%;color:white;background:#496fd0}.physical-rules label{display:grid;grid-gap:4px;gap:4px}.physical-rules small{color:#6e7d95}.physical-rules input,.physical-rules select{min-width:0;padding:9px;border:1px solid #cfd9e8;background:white}.physical-rules article>b{color:#8290a5}.physical-rules article>button{align-self:center;padding:7px;border:0;background:transparent;color:#9b5360}.physical-empty{margin:20px;color:#75839a}.physical-scenario-check{padding:16px 20px 20px;border-top:1px solid #e6ebf2}.physical-scenario-check>div{grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;padding:9px 11px;border-radius:9px;background:#f7f9fc}.physical-scenario-check .passed{color:#21785b}.physical-scenario-check .failed{color:#9a4c57}.microbit-shell{width:min(310px,calc(100% - 40px));margin:24px auto 14px;padding:28px 34px 24px;border-radius:38px 38px 54px 54px;background:#20242b;box-shadow:inset 0 0 0 5px #30353d,0 14px 28px rgba(18,25,35,.22)}.microbit-led-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px;width:184px;margin:auto}.microbit-led-grid i{aspect-ratio:1;border-radius:50%;background:#4b2028;box-shadow:inset 0 0 5px #16070a}.microbit-led-grid i.on{background:#ff405d;box-shadow:0 0 10px #ff405d}.microbit-buttons{display:flex;justify-content:space-between;margin-top:22px}.microbit-buttons button{width:48px;height:48px;border:4px solid #8b929c;border-radius:50%;background:#d5d9df;color:#252a31;font-weight:900}.physical-sensor-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:0 16px}.physical-sensor-buttons button{display:flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid #cbd6e5;border-radius:999px;background:white}.physical-output-message{min-height:42px;margin:14px 20px;padding:12px;border-radius:10px;text-align:center;color:#2e4e7f;background:#eef4ff;font-weight:700}.physical-device-bridge{grid-gap:10px;gap:10px;margin:18px;padding:15px;border:1px solid #d8e1ee;border-radius:12px;background:#f8fafc}.physical-device-bridge p{margin:0;color:#57677e;line-height:1.55}.physical-device-bridge div{display:flex;gap:8px;flex-wrap:wrap}.physical-device-bridge a,.physical-device-bridge button,.physical-device-bridge span{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #c8d4e5;border-radius:8px;color:#315489;background:white;text-decoration:none}.physical-learning-flow{min-height:100vh;background:#f4f7fb}.physical-entry-workspace{display:grid;grid-gap:12px;gap:12px;padding:0 20px 28px}.physical-entry-intro{display:grid;grid-gap:5px;gap:5px;padding:16px 18px;border:1px solid #cddbef;border-radius:14px;background:#eef5ff}.physical-entry-intro strong{color:#263f6f;font-size:14px}.physical-entry-intro p{margin:0;color:#596d8c;font-size:12px;line-height:1.55}.physical-entry-workspace>.entry-studio{min-height:720px;overflow:hidden;border:1px solid #d6deeb;border-radius:18px;box-shadow:0 12px 32px rgba(31,54,89,.08)}@media (max-width:960px){.physical-workspace-grid,.physical-workspace-header{grid-template-columns:1fr}.physical-workspace-header>div:last-child{flex-wrap:wrap}.physical-rules article{grid-template-columns:28px 1fr auto}.physical-rules article input,.physical-rules article label{grid-column:2/-1}.physical-rules article>b{display:none}}.physical-target-picker{display:grid;grid-gap:12px;gap:12px;padding:15px;border:1px solid #d7e3f2;border-radius:14px;background:#f7faff}.physical-target-picker>div:first-child{display:grid;grid-gap:3px;gap:3px}.physical-target-picker>div:nth-child(2){display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.physical-target-picker button{display:flex;gap:8px;align-items:center;padding:11px;border:1px solid #cdd9ea;border-radius:10px;background:white;text-align:left}.physical-target-picker button.active{border-color:#507bd1;box-shadow:inset 0 0 0 1px #507bd1}.physical-target-picker button span{display:grid;grid-gap:2px;gap:2px}.physical-target-picker p{display:flex;gap:7px;margin:0;color:#536a8a;font-size:12px}.physical-preview-summary{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #d5e1f1;border-radius:13px;color:#35537f;background:#f5f9ff}.physical-preview-summary svg{flex:0 0 auto}.physical-preview-summary strong{display:block;color:#2c476e}.physical-preview-summary p{margin:5px 0 0;color:#61728c;font-size:12px;line-height:1.55}.material-manager{width:min(880px,calc(100vw - 28px))}.material-upload-form{display:grid;grid-gap:11px;gap:11px;padding:14px;border:1px solid #d7e2f0;border-radius:13px;background:#f8faff}.material-upload-form>div:first-child{display:grid;grid-gap:3px;gap:3px}.material-upload-form>label:not(.attachment-upload){display:grid;grid-gap:5px;gap:5px}.material-upload-form input,.material-upload-form textarea{padding:9px 10px;border:1px solid #ccd8e8;border-radius:9px;font:inherit}.material-upload-form textarea{min-height:62px;resize:vertical}.material-upload-actions{display:flex;justify-content:flex-end;gap:8px}.material-list>div{grid-template-columns:auto minmax(0,1fr) auto}.material-list em{color:#5575ac;font-style:normal;font-size:11px}.material-list>div>div:last-child{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.material-list .secondary-button{padding:6px 8px;font-size:11px}.material-history{padding:10px 12px;border:1px solid #e0e6ef;border-radius:10px}.material-history summary{cursor:pointer;font-weight:700}.material-history button{display:grid;grid-template-columns:auto 1fr minmax(100px,auto) auto;width:100%;grid-gap:8px;gap:8px;align-items:center;padding:8px;border:0;border-top:1px solid #edf0f5;color:#44546d;background:transparent;text-align:left}.entry-goal-materials>strong small{margin-left:auto;color:#827a8f;font-weight:500}.entry-goal-materials>div{display:grid;grid-gap:4px;gap:4px}.student-attachment-strip>strong small{margin-left:6px;color:#728099;font-weight:500}.student-attachment-strip>div{display:grid;grid-gap:8px;gap:8px}.student-attachment-strip article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #dce4ef;border-radius:11px;background:white}.student-attachment-strip article>div{display:flex;gap:8px;align-items:center}.student-attachment-strip article span{display:grid;grid-gap:2px;gap:2px}.student-attachment-strip article button{display:inline-flex;align-items:center;gap:4px;padding:7px 8px;border:1px solid #cfdae8;border-radius:8px;color:#365782;background:#f8faff}@media (max-width:720px){.material-list>div,.physical-target-picker>div:nth-child(2){grid-template-columns:1fr}.student-attachment-strip article{align-items:stretch;flex-direction:column}}.physical-teacher-review>div:nth-child(2){display:grid;grid-gap:8px;gap:8px}.physical-teacher-review article{display:grid;grid-template-columns:26px 1fr auto 1fr;grid-gap:9px;gap:9px;align-items:center;padding:10px 12px;border:1px solid #dce5f0;border-radius:10px;background:#f9fbfe}.physical-teacher-review article>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:white;background:#5376bd}.physical-teacher-review article>b{color:#8190a6}.physical-teacher-review>p{display:flex;gap:7px;margin:12px 0 0;color:#566b88}.assignment-table{overflow:visible}.assignment-table .assignment-row{position:relative;grid-template-columns:48px minmax(0,1fr) auto;min-height:104px;gap:14px;padding:16px;overflow:visible}.assignment-row>.assignment-badge,.assignment-row>.assignment-icon{align-self:start}.assignment-row.physical>.assignment-badge,.assignment-row.physical>.assignment-icon{color:#087f5b;background:#e7f8f0}.assignment-copy,.assignment-main{min-width:0;display:grid;grid-gap:8px;gap:8px}.assignment-actions,.assignment-meta,.assignment-progress,.assignment-title-line{display:flex;align-items:center}.assignment-title-line{min-width:0;gap:8px}.assignment-title-line strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.assignment-title-line .assignment-status,.assignment-title-line .status-chip{flex:0 0 auto}.assignment-status{padding:3px 7px;border-radius:999px;color:#5c6570;background:#edf0f3;font-size:9px;font-weight:750}.assignment-status.active{color:#087f5b;background:#e7f8f0}.assignment-status.scheduled{color:#8a5b00;background:#fff4d6}.assignment-meta{flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:11px}.assignment-meta span{display:inline-flex;align-items:center;gap:4px}.assignment-progress{gap:9px;max-width:360px}.assignment-progress>i{height:6px;flex:1 1;overflow:hidden;border-radius:999px;background:#eceaf3}.assignment-progress>i:after{content:"";display:block;width:var(--assignment-progress,0);height:100%;border-radius:inherit;background:var(--violet)}.assignment-progress small{flex:0 0 auto;color:var(--muted)}.assignment-actions{justify-content:flex-end;align-self:center;gap:6px}.assignment-actions>a,.assignment-actions>button{min-width:54px;justify-content:center}.assignment-actions>button.assignment-action.preview{min-width:132px;border-color:#9fd7dc;color:#126f79;background:#eaf9fa}.assignment-actions>button.assignment-action.preview:hover{border-color:#238f99;background:#dff5f7}.assignment-actions>button.assignment-action.test{min-width:112px;border-color:#c9c2ee;color:#5e4fb8;background:#f2f0ff}.assignment-actions>button.assignment-action.test:hover{border-color:#7766d6;background:#eae6ff}.teacher-assignment-test-shell{min-height:calc(100vh - 68px);background:#f6f7fb}.teacher-test-safety-rail{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto minmax(280px,1fr) auto;align-items:center;grid-gap:18px;gap:18px;padding:13px 22px;color:#302b4c;background:linear-gradient(100deg,#fff8df,#fffdf5 40%,#f0efff);border-bottom:1px solid #ded6ad;box-shadow:0 5px 18px rgba(61,52,103,.08)}.teacher-test-facts,.teacher-test-safety-rail>div:first-child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.teacher-test-safety-rail>div:nth-child(2) strong{display:block;margin-bottom:3px;font-size:14px}.teacher-test-safety-rail>div:nth-child(2) p{margin:0;color:#6a6479;font-size:10px;line-height:1.45}.teacher-test-mode-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;color:#755407;background:#ffe7a3;font-size:9px;font-weight:800}.teacher-test-facts{justify-content:flex-end;max-width:320px}.teacher-test-facts span{padding:6px 8px;border:1px solid #dcd7ef;border-radius:8px;color:#635a82;background:rgba(255,255,255,.76);font-size:8px;font-weight:700}.teacher-test-grade-panel{margin:16px 22px;overflow:hidden;border:1px solid #d9d5ec;border-radius:14px;background:white;box-shadow:0 8px 24px rgba(47,42,83,.06)}.teacher-test-grade-panel>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#f7f5ff;border-bottom:1px solid #e4e0f1}.teacher-test-grade-panel>header div{display:flex;align-items:baseline;gap:10px}.teacher-test-grade-panel>header span{color:#756d8b;font-size:9px;font-weight:700}.teacher-test-grade-panel>header strong{color:#5645b5;font-size:18px}.teacher-test-grade-panel>header small{color:#858095;font-size:8px}.teacher-test-grade-panel>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.teacher-test-grade-panel article{display:grid;grid-template-columns:26px 1fr auto;grid-gap:8px;gap:8px;align-items:start;padding:12px 14px;border-right:1px solid #eeeaf5;border-bottom:1px solid #eeeaf5}.teacher-test-grade-panel article>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%}.teacher-test-grade-panel article.passed>span{color:#15735e;background:#dff5ed}.teacher-test-grade-panel article.failed>span{color:#b04557;background:#fde6ea}.teacher-test-grade-panel article.manual>span{color:#946510;background:#fff0c8}.teacher-test-grade-panel article p,.teacher-test-grade-panel article small,.teacher-test-grade-panel article strong{display:block}.teacher-test-grade-panel article strong{font-size:10px}.teacher-test-grade-panel article p{margin:3px 0;color:#716c7f;font-size:8px;line-height:1.45}.teacher-test-grade-panel article small{color:#918ba1;font-size:7px}.teacher-test-grade-panel article b{color:#554c73;font-size:9px;white-space:nowrap}.teacher-test-grade-panel>footer{display:flex;align-items:center;gap:7px;padding:10px 14px;color:#765a1a;background:#fff9e9;font-size:8px}.student-score-chip.teacher-test{color:#5848b2;background:#ece9ff}.student-score-chip.teacher-test strong{color:#5848b2}@media (max-width:900px){.teacher-test-safety-rail{position:relative;grid-template-columns:1fr;gap:9px;padding:12px 15px}.teacher-test-facts{justify-content:flex-start;max-width:none}.teacher-test-grade-panel{margin:12px}}.assignment-more{position:relative}.assignment-more>summary{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);cursor:pointer;list-style:none}.assignment-more>summary::-webkit-details-marker{display:none}.assignment-more>summary:hover,.assignment-more[open]>summary{border-color:#b9b2d6;color:var(--violet);background:#faf9ff}.assignment-more>div{position:absolute;z-index:40;top:calc(100% + 7px);right:0;width:164px;display:grid;grid-gap:3px;gap:3px;padding:7px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 14px 34px rgba(39,31,69,.16)}.assignment-more>div button{width:100%;display:flex;align-items:center;gap:8px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#3d3850;text-align:left;cursor:pointer}.assignment-more>div button:hover{background:#f4f2fa}.assignment-more>div button.danger{color:#c92a2a}.assignment-creator{width:min(1080px,calc(100vw - 32px));max-height:min(900px,calc(100vh - 32px))}.assignment-creator .modal-body{padding-top:14px}.creator-summary-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:0 0 18px;padding:10px;border:1px solid #e3def3;border-radius:13px;background:#faf9fe}.creator-summary-bar span{min-width:0;display:grid;grid-gap:3px;gap:3px;padding:4px 8px;color:#403a55;font-size:12px}.creator-summary-bar span+span{border-left:1px solid #e7e2f2}.creator-summary-bar strong{color:var(--muted);font-size:10px;font-weight:650}.creator-section-title{display:flex;align-items:flex-start;gap:10px;margin:24px 0 12px;padding-top:20px;border-top:1px solid #ece9f3}.creator-section-title:first-of-type{margin-top:4px;padding-top:0;border-top:0}.creator-section-title>span{width:26px;height:26px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--violet);font-size:12px;font-weight:800}.creator-section-title>div{display:grid;grid-gap:3px;gap:3px}.creator-section-title strong{color:#29243a;font-size:15px}.creator-section-title small{color:var(--muted);line-height:1.45}.deliverable-preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:9px;gap:9px;margin-bottom:12px}.deliverable-preset-grid>button{min-height:74px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:9px;gap:9px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#353047;text-align:left;cursor:pointer}.deliverable-preset-grid>button:hover{border-color:#bbb3db;background:#fbfaff}.deliverable-preset-grid>button.selected{border-color:#7e70bd;background:#f3f0ff;box-shadow:inset 0 0 0 1px #7e70bd}.deliverable-preset-grid>button>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f0eef7}.deliverable-preset-grid>button>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.deliverable-preset-grid>button>div small{color:var(--muted);line-height:1.35}.deliverable-required-toggle{display:inline-flex;align-items:center;gap:7px;color:#4e4765;font-size:11px}.artifact-deliverable-head strong em.optional{margin-left:6px;padding:2px 6px;border-radius:999px;background:#eef7f3;color:#087f5b;font-size:9px;font-style:normal}.physical-workspace-page{min-height:100vh;background:#f5f7fa}.physical-workspace-grid{width:min(1440px,calc(100% - 32px));max-width:none;display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin:0 auto;padding:18px 0 40px}.physical-lab-guide{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;padding:10px;border:1px solid #e0e5ec;border-radius:15px;background:#fff}.physical-lab-guide>div{position:relative;display:flex;align-items:center;gap:9px;min-height:44px;padding:7px 10px;border-radius:10px;color:#7a8491;background:#f6f8fa}.physical-lab-guide>div+div:before{content:"";position:absolute;left:-8px;width:8px;height:2px;background:#dce2e9}.physical-lab-guide span{width:25px;height:25px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#dfe4ea;font-size:11px;font-weight:800}.physical-lab-guide .done{color:#087f5b;background:#eaf8f2}.physical-lab-guide .done span{color:#fff;background:#0ca678}.physical-lab-section{overflow:hidden;border:1px solid #dfe5eb;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(43,53,66,.04)}.physical-lab-section>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #edf0f3;background:#fbfcfd}.physical-lab-section>header>div{display:grid;grid-gap:4px;gap:4px}.physical-lab-section>header strong{color:#252c35;font-size:15px}.physical-lab-section>header small{max-width:760px;color:#697480;line-height:1.5}.physical-lab-section>header>span{flex:0 0 auto;padding:5px 9px;border-radius:999px;color:#087f5b;background:#e7f8f0;font-size:11px;font-weight:750}.component-library-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;padding:16px 18px 19px}.component-library-groups>div{min-width:0;display:grid;grid-gap:9px;gap:9px}.component-library-groups>div>strong{color:#59636f;font-size:11px}.component-library-groups>div>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px}.component-library-groups button{min-width:0;min-height:72px;display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;grid-gap:7px;gap:7px;padding:9px;border:1px solid #e0e5eb;border-radius:11px;background:#fff;color:#343c46;text-align:left;cursor:pointer}.component-library-groups button:hover:not(:disabled){border-color:#53b99a;background:#f3fbf8}.component-library-groups button:disabled{border-color:#b8dfd0;background:#eef9f5;cursor:default}.component-library-groups button>span{font-size:20px}.component-library-groups button>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.component-library-groups button strong{font-size:11px}.component-library-groups button small{overflow:hidden;color:#7b8490;font-size:9px;line-height:1.35}.physical-circuit-stage{position:relative;min-height:390px;display:grid;grid-template-columns:minmax(270px,1fr) 245px minmax(270px,1fr);align-items:start;grid-gap:42px;gap:42px;padding:22px 20px 16px;background:linear-gradient(#fff,#fbfcfd),linear-gradient(90deg,rgba(87,103,120,.06) 1px,transparent 0),linear-gradient(rgba(87,103,120,.06) 1px,transparent 0);background-size:auto,22px 22px,22px 22px}.physical-wire-layer{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none}.physical-wire-layer .wire{fill:none;stroke-width:.55;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;opacity:.88}.wire.signal{stroke:#f59f00}.wire.power{stroke:#e03131}.wire.ground{stroke:#343a40}.circuit-column,.controller-board{position:relative;z-index:1}.circuit-column{display:grid;align-content:start;grid-gap:8px;gap:8px}.circuit-column>strong{color:#697480;font-size:11px;text-align:center}.actuator-state-list>p,.circuit-column>p,.sensor-test-list>p{margin:0;padding:28px 14px;border:1px dashed #ccd4dc;border-radius:11px;color:#8a949f;background:rgba(255,255,255,.8);font-size:11px;line-height:1.5;text-align:center}.circuit-component{min-width:0;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:9px;border:1px solid #dce2e8;border-radius:11px;background:#fff;box-shadow:0 3px 10px rgba(36,47,58,.05)}.circuit-component.connected{border-color:#55b99b;box-shadow:inset 0 0 0 1px rgba(12,166,120,.18)}.circuit-component.active{border-color:#ffa94d;background:#fff9e8;box-shadow:0 0 0 3px rgba(255,169,77,.22)}.circuit-component-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#f0f3f6;font-size:19px}.circuit-component>div:nth-child(2){min-width:0;display:grid;grid-gap:2px;gap:2px}.circuit-component>div:nth-child(2) strong{font-size:11px}.circuit-component>div:nth-child(2) small{color:#858e98;font-size:9px}.circuit-component>div:nth-child(2) em{color:#087f5b;font-size:9px;font-style:normal;font-weight:700}.circuit-component-actions{display:flex;align-items:center;gap:3px}.circuit-component-actions button{min-height:29px;padding:6px 8px;border:1px solid #d9dfe5;border-radius:8px;background:#fff;color:#59636f;font-size:9px;cursor:pointer}.circuit-component-actions button:last-child{width:29px;padding:0;display:grid;place-items:center;color:#c92a2a}.controller-board{align-self:center;min-height:292px;display:grid;justify-items:center;align-content:start;grid-gap:7px;gap:7px;padding:22px 14px 16px;border:6px solid #263238;border-radius:28px 28px 42px 42px;color:#fff;background:#35434a;box-shadow:inset 0 0 0 2px #617078,0 12px 25px rgba(38,50,56,.18)}.controller-board>span{width:52px;height:52px;display:grid;place-items:center;border:2px solid #63747d;border-radius:10px;color:#88f7cd;background:#172126}.controller-board>strong{font-size:12px;letter-spacing:.08em}.controller-board>small{color:#a9b7bd;font-size:9px}.board-pins,.board-power{width:100%;display:grid;grid-gap:4px;gap:4px}.board-power{grid-template-columns:1fr 1fr;margin-top:8px}.board-pins{grid-template-columns:repeat(4,1fr)}.board-pins i,.board-power i{display:grid;place-items:center;min-height:25px;border-radius:5px;color:#c9d1d5;background:#1f2a30;font-size:9px;font-style:normal}.board-power i:first-child{color:#ff8787}.board-pins i.used{color:#fff3bf;background:#7c5f10}.controller-board>em{display:flex;align-items:center;gap:4px;margin-top:7px;color:#91e6c6;font-size:9px;font-style:normal}.wire-legend{display:flex;justify-content:center;gap:16px;padding:10px 16px 14px;border-top:1px solid #edf0f3;color:#6f7984;font-size:10px}.wire-legend span{display:flex;align-items:center;gap:5px}.wire-legend i{width:22px;height:3px;border-radius:999px}.wire-legend i.signal{background:#f59f00}.wire-legend i.power{background:#e03131}.wire-legend i.ground{background:#343a40}.physical-rule-builder>header button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:9px 11px;border:0;border-radius:9px;color:#fff;background:#087f5b;cursor:pointer}.physical-rules{display:grid;grid-gap:8px;gap:8px;padding:15px 18px}.physical-rules article{display:grid;grid-template-columns:28px minmax(0,1fr) 30px minmax(0,1fr) minmax(110px,.45fr) 32px;align-items:end;grid-gap:8px;gap:8px;padding:10px;border:1px solid #e1e6eb;border-radius:11px;background:#fbfcfd}.physical-rules article>span{width:27px;height:34px;display:grid;place-items:center;border-radius:8px;color:#087f5b;background:#e7f8f0;font-weight:800}.physical-rules article>label{min-width:0;display:grid;grid-gap:4px;gap:4px}.physical-rules article small{color:#707a85;font-size:9px}.physical-rules input,.physical-rules select{width:100%;height:36px;padding:0 9px;border:1px solid #d7dde4;border-radius:8px;background:#fff;font-size:10px}.physical-rules article>b{align-self:center;color:#929ba5;text-align:center}.physical-rules article>button{width:32px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #efc7c7;border-radius:8px;color:#c92a2a;background:#fff}.physical-empty{margin:0 18px 15px;padding:20px;border:1px dashed #cbd3db;border-radius:11px;color:#818b96;text-align:center}.physical-scenario-check{display:grid;grid-template-columns:auto repeat(2,minmax(0,1fr));align-items:center;grid-gap:8px;gap:8px;padding:13px 18px;border-top:1px solid #edf0f3;background:#fafbfc}.physical-scenario-check>strong{margin-right:6px;font-size:11px}.physical-scenario-check>div{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;grid-gap:5px;gap:5px;padding:8px;border-radius:8px;font-size:10px}.physical-scenario-check .passed{color:#087f5b;background:#e9f8f2}.physical-scenario-check .failed{color:#c92a2a;background:#fff0f0}.physical-test-bench{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-gap:15px;gap:15px;padding:16px 18px}.actuator-state-list,.sensor-test-list{display:grid;align-content:start;grid-gap:7px;gap:7px}.actuator-state-list>strong,.sensor-test-list>strong{color:#626d78;font-size:11px}.actuator-state-list article,.sensor-test-list button{min-height:54px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;border:1px solid #dfe5eb;border-radius:10px;background:#fff;text-align:left}.sensor-test-list button{color:#343c46;cursor:pointer}.sensor-test-list button:hover{border-color:#53b99a;background:#f4fbf8}.actuator-state-list span,.sensor-test-list span{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#f0f3f6;font-size:18px}.actuator-state-list div,.sensor-test-list div{min-width:0;display:grid;grid-gap:2px;gap:2px}.actuator-state-list small,.sensor-test-list small{color:#808a95;font-size:9px}.actuator-state-list article.active{border-color:#ffa94d;background:#fff9e8}.actuator-state-list em{min-width:42px;padding:4px 7px;border-radius:999px;color:#747e88;background:#edf0f3;font-size:9px;font-style:normal;font-weight:800;text-align:center}.actuator-state-list article.active em{color:#9c5600;background:#ffe8b5}.physical-output-message,.physical-simulator-message{margin:0 18px 15px;padding:11px 13px;border-radius:10px;color:#345f51;background:#edf8f4;font-size:11px;line-height:1.5}.physical-evaluation-summary,.physical-run-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;border-top:1px solid #e6ebef;background:#e6ebef}.physical-evaluation-summary>div,.physical-run-summary>span{display:grid;grid-gap:3px;gap:3px;padding:13px 16px;background:#fbfcfd}.physical-evaluation-summary strong,.physical-run-summary strong{color:#26313a;font-size:17px}.physical-evaluation-summary small,.physical-run-summary small{color:#78838e;font-size:9px}.physical-hardware-note{display:flex;align-items:center;gap:10px;padding:13px 18px;border-top:1px solid #e7ebef;color:#5d6873;background:#fafbfc}.physical-hardware-note>div{min-width:0;display:grid;grid-gap:3px;gap:3px}.physical-hardware-note small{color:#828c96;font-size:9px;line-height:1.4}.physical-hardware-note a,.physical-hardware-note button{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:8px 10px;border:1px solid #cfd6dc;border-radius:8px;color:#46515c;background:#fff;font-size:10px;text-decoration:none;cursor:pointer}.physical-hardware-note>em{flex:0 0 auto;margin-left:auto;color:#87919b;font-size:9px;font-style:normal}.physical-review-components,.teacher-physical-component-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px;margin-top:10px}.physical-review-components>span,.teacher-physical-component-summary>div{display:flex;align-items:center;gap:7px;padding:8px;border:1px solid #e1e6eb;border-radius:9px;background:#fbfcfd;font-size:10px}.physical-review-components>span>i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#eef1f5;font-size:16px;font-style:normal}.physical-review-components>span>small{margin-left:auto;color:#8b949e}.physical-review-components>span.connected{border-color:#9cd8c5;background:#f0faf6}.physical-review-components>span.connected>small{color:#087f5b}.physical-device-bridge{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr) auto;align-items:center;grid-gap:14px;gap:14px;margin:0;padding:16px 18px;border:1px solid #dfe5eb;border-radius:15px;background:#fff}.physical-device-bridge>strong{color:#303943;font-size:13px}.physical-device-bridge>strong small{margin-left:4px;color:#087f5b;font-size:9px}.physical-device-bridge>p{margin:0}.physical-device-bridge>div{justify-self:end}@media (max-width:1050px){.component-library-groups>div>div{grid-template-columns:repeat(2,minmax(0,1fr))}.physical-circuit-stage{grid-template-columns:minmax(230px,1fr) 210px minmax(230px,1fr);gap:25px}.physical-rules article{grid-template-columns:28px minmax(0,1fr) 24px minmax(0,1fr) 32px}.physical-rules article>input{grid-column:2/5}}@media (max-width:820px){.assignment-table .assignment-row{grid-template-columns:44px minmax(0,1fr)}.assignment-actions{grid-column:2;justify-content:flex-start}.creator-summary-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.creator-summary-bar span:nth-child(3){border-left:0}.component-library-groups,.deliverable-preset-grid,.physical-circuit-stage,.physical-test-bench{grid-template-columns:1fr}.physical-circuit-stage{gap:14px}.physical-wire-layer{display:none}.controller-board{width:min(280px,100%);min-height:270px;justify-self:center;order:2}.circuit-column.inputs{order:1}.circuit-column.outputs{order:3}.physical-scenario-check{grid-template-columns:1fr}.physical-rules article{grid-template-columns:28px minmax(0,1fr) 32px;align-items:end}.physical-rules article>b{display:none}.physical-rules article>input,.physical-rules article>label:nth-of-type(2){grid-column:2}.physical-rules article>button{grid-column:3;grid-row:1}.physical-device-bridge{grid-template-columns:1fr}.physical-device-bridge>div{justify-self:start}}@media (max-width:620px){.assignment-title-line{align-items:flex-start;flex-direction:column}.assignment-actions>a,.assignment-actions>button{min-width:42px;font-size:0}.assignment-actions svg{margin:0}.creator-summary-bar{grid-template-columns:1fr}.creator-summary-bar span+span{border-left:0;border-top:1px solid #e7e2f2;padding-top:8px}.physical-workspace-grid{width:min(100% - 18px,1440px)}.physical-lab-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.physical-lab-guide>div+div:before{display:none}.component-library-groups>div>div{grid-template-columns:1fr}.physical-lab-section>header{align-items:flex-start;flex-direction:column}.physical-evaluation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.physical-hardware-note{align-items:flex-start;flex-wrap:wrap}.physical-hardware-note>em{width:100%;margin-left:0}}.app-shell,.auth-page{font-size:12px}.app-shell :where(p,small,label,button,input,select,textarea,dt,dd,th,td,span),.auth-page :where(p,small,label,button,input,select,textarea,span){font-size:max(12px,1em)!important}.app-shell :where(button,input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea),.auth-page :where(button,input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){min-height:44px}.app-shell .cm-editor :where(button,input,select,textarea){min-height:auto}.icon-button,.password-toggle{width:44px;height:44px}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(89,66,192,.38);outline-offset:3px}.assignment-main span,.assignment-rate span,.brand small,.nav-label,.profile small,.stat-card small,.student-assignment-card>small{color:#5d596b}.help,.nav-list button,.settings-link{color:#5b586a}.activity-foot strong,.assignment-main strong,.assignment-rate strong,.dashboard-action-list b,.dashboard-action-list strong,.eyebrow,.nav-label,.profile strong,.quick-actions strong,.role-badge,.student-group-summary strong,.tip-card strong{font-size:12px!important}.tip-card p{color:#665723}.dashboard-data-badge,.eyebrow,.role-badge{color:#4e3ab2}.status-idle,.student-progress{color:#55515f}.student-progress.status-done{color:#116b58}.student-progress.status-working{color:#275f98}.activity-foot,.join-code-chip span{color:#5c586a}.activity-foot strong,.join-code-chip strong{color:#4b38ad}.dashboard-action-list>button>span.review{color:#8f3542}.dashboard-sync button{color:#4e3ab2}.naver-works-login strong{color:#08783b}.auth-card h1{margin:0 0 4px;font-size:19px}.quick-start-dialog{width:min(720px,calc(100vw - 30px));max-height:min(780px,calc(100vh - 30px));overflow:auto;border-radius:22px;background:#fff;box-shadow:0 26px 80px rgba(31,27,58,.27)}.quick-start-dialog>header{display:grid;grid-template-columns:48px minmax(0,1fr) 44px;align-items:start;grid-gap:13px;gap:13px;padding:22px 24px 18px;border-bottom:1px solid var(--line)}.quick-start-dialog>header>span{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,#7763dc,#5d49bd)}.quick-start-dialog header small{color:#4f3bad;font-weight:800}.quick-start-dialog h2{margin:3px 0 5px;font-size:21px}.quick-start-dialog footer p,.quick-start-dialog header p,.quick-start-dialog li p{margin:0;color:#5e5b6c;line-height:1.65}.quick-start-dialog ol{display:grid;grid-gap:9px;gap:9px;margin:0;padding:20px 24px;list-style:none}.quick-start-dialog li{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;grid-gap:12px;gap:12px;padding:12px 13px;border:1px solid #e6e2ef;border-radius:13px;background:#fcfbfe}.quick-start-dialog li>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#6551c8;font-weight:800}.quick-start-dialog li strong{display:block;margin-bottom:3px;font-size:14px}.quick-start-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 24px 21px;border-top:1px solid var(--line);background:#f8f6ff}.quick-start-dialog footer p{display:flex;align-items:flex-start;gap:7px;max-width:470px;color:#514775}.quick-start-dialog footer svg{flex:0 0 auto;margin-top:2px}.quick-start-dialog footer button{flex:0 0 auto}.quick-start-help{border-color:#d9d1f4!important;background:#f8f6ff!important}@media (max-width:760px){.top-actions{gap:4px}.help{width:44px;height:44px;display:inline-grid;place-items:center;padding:0;border-radius:10px}.help span{display:none}.profile{min-width:44px;padding-left:6px}.quick-start-dialog>header{grid-template-columns:42px minmax(0,1fr) 44px;padding:18px 16px 15px}.quick-start-dialog>header>span{width:42px;height:42px}.quick-start-dialog ol{padding:15px 16px}.quick-start-dialog>footer{align-items:stretch;flex-direction:column;padding:15px 16px 18px}.quick-start-dialog footer button{width:100%}}.pixel-mission-coach{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) 190px;align-items:center;grid-gap:14px;gap:14px;margin-top:13px;padding:13px 21px 13px 15px;border:2px solid var(--pixel-navy);color:#eaf8fb;background:linear-gradient(102deg,#17213a 0 70%,#202d49 100%);box-shadow:5px 5px 0 #c3cad5;-webkit-clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)}.pixel-mission-coach:after{content:"";position:absolute;right:0;top:0;width:16px;height:16px;background:var(--pixel-accent)}.pixel-mission-coach.is-ready{border-color:#2c9c78;background:linear-gradient(102deg,#173b39 0 70%,#205045 100%)}.pixel-coach-avatar{position:relative;width:48px;height:48px;display:grid;place-items:center;border:2px solid #83e4eb;background:#24314d;box-shadow:3px 3px 0 rgba(0,0,0,.28)}.pixel-coach-avatar i{position:absolute;right:-5px;top:-5px;width:10px;height:10px;border:2px solid #17213a;background:var(--pixel-accent);animation:pixelSignal 1.4s steps(2,jump-none) infinite}.pixel-mission-coach.is-ready .pixel-coach-avatar{border-color:#7fe2bc}.pixel-coach-copy{min-width:0}.pixel-coach-copy>span{display:block;color:#6fdce5;font:800 8px/1 ui-monospace,Consolas,monospace;letter-spacing:.9px}.pixel-coach-copy>strong{display:block;margin-top:5px;color:#fff;font-size:11px;line-height:1.45;word-break:keep-all}.pixel-coach-copy>small{display:block;margin-top:3px;color:#b9c5d7;font-size:8px;line-height:1.45}.pixel-energy{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:6px 8px;gap:6px 8px;padding-left:15px;border-left:1px solid #46536d}.pixel-energy>span{display:flex;align-items:center;gap:5px;color:#aeb9cc;font-size:8px;font-weight:800}.pixel-energy>div{grid-row:2;height:8px;overflow:hidden;border:1px solid #53617c;background:#10182b}.pixel-energy>div i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#22b8cf,#7fe2bc);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.pixel-energy>strong{grid-column:2;grid-row:1/3;color:#fff;font:800 17px/1 ui-monospace,Consolas,monospace}.pixel-energy>strong small{color:#7d8aa3;font-size:8px}@keyframes pixelSignal{50%{opacity:.35}}.pixel-route-ready{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;width:min(420px,100%);margin:24px auto 0;border:2px solid #17213a;color:#fff;background:#17213a;box-shadow:4px 4px 0 var(--pixel-accent);cursor:pointer;font-size:11px;font-weight:800;transition:transform .15s ease,box-shadow .15s ease}.pixel-route-ready:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--pixel-accent)}.pixel-route-ready.completed{border-color:#5ab891;color:#226e58;background:#effaf6;box-shadow:4px 4px 0 #c7e8da}.pixel-theory-decoder{grid-column:1/3;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px}.pixel-theory-decoder>button{min-height:122px;display:grid;grid-template-columns:34px 1fr;align-items:start;grid-gap:11px;gap:11px;padding:14px;border:1px solid #cbd3df;color:#59647a;background:#fff;box-shadow:3px 3px 0 #e0e5ec;cursor:pointer;text-align:left;transition:border-color .15s ease,transform .15s ease}.pixel-theory-decoder>button:hover{border-color:var(--pixel-accent);transform:translateY(-2px)}.pixel-theory-decoder>button.revealed{border-color:color-mix(in srgb,var(--pixel-accent) 72%,#fff);background:color-mix(in srgb,var(--pixel-accent) 8%,#fff)}.pixel-theory-decoder>button>span{width:32px;height:32px;display:grid;place-items:center;color:#fff;background:#17213a}.pixel-theory-decoder>button.revealed>span{background:var(--pixel-accent)}.pixel-theory-decoder small,.pixel-theory-decoder strong{display:block}.pixel-theory-decoder small{color:var(--pixel-accent);font:800 7px/1 ui-monospace,Consolas,monospace}.pixel-theory-decoder strong{margin-top:7px;color:#263149;font-size:10px}.pixel-theory-decoder p{margin:7px 0 0;color:#5f6a80;font-size:9px;line-height:1.55;word-break:keep-all}.pixel-concept-match{margin-bottom:18px;padding:20px;border:2px solid #17213a;color:#fff;background:#17213a;box-shadow:5px 5px 0 #c7ced9}.pixel-concept-match.solved{border-color:#3da980;background:#17473e;box-shadow-color:#bfe4d6}.pixel-concept-match.retry{border-color:#e5a64c}.pixel-concept-match>span{color:var(--pixel-accent);font:800 8px/1 ui-monospace,Consolas,monospace;letter-spacing:.8px}.pixel-concept-match h3{margin:8px 0 12px;color:#fff;font-size:17px}.pixel-concept-match blockquote{margin:0;padding:11px 13px;border-left:3px solid var(--pixel-accent);color:#dbe5f1;background:rgba(255,255,255,.06);font:400 12px/1.65 Gowun Dodum,sans-serif}.pixel-concept-options{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:13px}.pixel-concept-options button{min-height:52px;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #52607a;color:#e4ebf4;background:#25314c;cursor:pointer;text-align:left}.pixel-concept-options button:focus-visible,.pixel-concept-options button:hover{border-color:var(--pixel-accent)}.pixel-concept-options button.correct{border-color:#7fe2bc;color:#fff;background:#286b59}.pixel-concept-options button.wrong{border-color:#f1ae55;background:#5c4328}.pixel-concept-options b{width:29px;height:29px;flex:none;display:grid;place-items:center;border:1px solid;font:800 10px/1 ui-monospace,Consolas,monospace}.pixel-concept-options span{font-size:10px;font-weight:800}.pixel-concept-match>p{min-height:17px;margin:11px 0 0;color:#aebbd0;font-size:9px}.pixel-concept-match.solved>p{color:#a6ead0}.pixel-concept-grid article{transition:opacity .2s ease,transform .2s ease}.pixel-concept-grid article.dimmed{opacity:.55}.pixel-concept-grid article.active{border-color:var(--pixel-accent);transform:translateY(-2px)}.pixel-visual-page .pixel-sim-screen{align-self:start}.pixel-runner-track{display:flex;align-items:center;gap:19px;margin:0;padding:0;list-style:none}.pixel-runner-track li{position:relative;width:54px;height:54px;display:grid;place-items:center;border:3px solid rgba(255,255,255,.52);color:#dbe6ee;background:rgba(23,33,58,.58);font:800 13px/1 ui-monospace,Consolas,monospace}.pixel-runner-track li:not(:last-child):after{content:"";position:absolute;left:calc(100% + 3px);top:23px;width:16px;height:3px;background:rgba(255,255,255,.45)}.pixel-runner-track li.active{border-color:#fff;color:#fff;background:#17213a;box-shadow:4px 4px 0 rgba(23,33,58,.26)}.pixel-sim-screen.run-running .pixel-runner-track li.active:last-child{animation:pixelRun .65s steps(4) both}@keyframes pixelRun{0%{transform:translateX(-105px)}to{transform:translateX(0)}}.pixel-predict-run{margin-top:14px;padding:13px;border:1px solid #d7dde6;background:#f6f8fb}.pixel-predict-run>strong{display:block;color:#364158;font-size:10px}.pixel-predict-run>div{display:grid;grid-gap:6px;gap:6px;margin-top:9px}.pixel-predict-run>div button{min-height:42px;padding:8px 10px;border:1px solid #cfd6e1;color:#566178;background:#fff;cursor:pointer;font-size:9px;line-height:1.45;text-align:left}.pixel-predict-run>div button.selected{border-color:var(--pixel-accent);color:#17213a;background:color-mix(in srgb,var(--pixel-accent) 10%,white);box-shadow:inset 4px 0 0 var(--pixel-accent)}.pixel-run-button{min-height:40px;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:9px;border:0;color:#fff;background:#17213a;cursor:pointer;font-size:10px;font-weight:800}.pixel-run-button:disabled{color:#8b94a5;background:#e0e4ea;cursor:not-allowed}.pixel-run-button.done{background:#357e67}.pixel-predict-run>p{display:flex;align-items:center;gap:6px;margin:9px 0 0;color:#26705a;font-size:9px;font-weight:800}.pixel-demo-steps{display:grid;align-content:start;grid-gap:8px;gap:8px}.pixel-demo-steps>.pixel-lead{margin-bottom:5px}.pixel-demo-steps>button{min-height:74px;display:grid;grid-template-columns:42px 1fr 82px;align-items:center;grid-gap:12px;gap:12px;padding:11px 13px;border:1px solid #d3dae4;color:#69748a;background:#f5f7fa;cursor:not-allowed;text-align:left}.pixel-demo-steps>button.current{border:2px solid var(--pixel-accent);color:#253048;background:#fff;box-shadow:4px 4px 0 color-mix(in srgb,var(--pixel-accent) 27%,#dce2ea);cursor:pointer}.pixel-demo-steps>button.checked{border-color:#8acdb3;color:#326c5d;background:#eff9f5}.pixel-demo-steps>button>b{width:36px;height:36px;display:grid;place-items:center;color:#fff;background:#17213a;font:800 10px/1 ui-monospace,Consolas,monospace}.pixel-demo-steps>button.checked>b{background:#3ca67e}.pixel-demo-steps>button strong{font-size:11px}.pixel-demo-steps>button p{margin:4px 0 0;color:#70798c;font-size:9px;line-height:1.45}.pixel-demo-steps>button>span{display:flex;align-items:center;justify-content:center;min-height:27px;color:#798399;font-size:8px;font-weight:800}.pixel-demo-steps>button.current>span{color:var(--pixel-accent)}.pixel-demo-meter{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:8px;gap:8px;margin-top:18px}.pixel-demo-meter>span{color:#b8c4d6;font-size:8px}.pixel-demo-meter>i{grid-column:1;height:7px;overflow:hidden;background:#0f1728}.pixel-demo-meter>i b{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--pixel-accent),#7fe2bc);transform-origin:left;transition:transform .3s ease}.pixel-demo-meter>strong{grid-column:2;grid-row:1/3;color:#fff!important;font-size:15px!important}.pixel-stage-clear{position:fixed;z-index:80;top:92px;right:26px;display:flex;align-items:center;gap:10px;padding:13px 17px;border:2px solid #17213a;color:#17213a;background:#89ebc6;box-shadow:6px 6px 0 rgba(23,33,58,.32);animation:pixelClearIn .38s cubic-bezier(.34,1.56,.64,1) both}.pixel-stage-clear svg{flex:none}.pixel-stage-clear span,.pixel-stage-clear strong{display:block}.pixel-stage-clear strong{font:900 10px/1 ui-monospace,Consolas,monospace;letter-spacing:1px}.pixel-stage-clear span{margin-top:4px;font-size:8px}@keyframes pixelClearIn{0%{opacity:0;transform:translateX(22px) scale(.92)}to{opacity:1;transform:none}}.pixel-gate-status{min-height:38px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:13px;padding:8px 12px;border:1px solid #d2d8e2;color:#69748a;background:#f3f5f8;font-size:9px}.pixel-gate-status.ready{border-color:#a7dbc7;color:#256e58;background:#edf9f4}.pixel-gate-status.preview-pass{border-color:#9fd7dc;color:#126f79;background:#eaf9fa}.pixel-gate-status svg{flex:none}.pixel-city-workspace button:focus-visible{outline:3px solid color-mix(in srgb,var(--pixel-accent) 72%,#fff);outline-offset:3px}@media (max-width:760px){.pixel-mission-coach{grid-template-columns:42px minmax(0,1fr);padding:12px;-webkit-clip-path:none;clip-path:none}.pixel-coach-avatar{width:40px;height:40px}.pixel-energy{grid-column:1/3;padding:9px 0 0;border-top:1px solid #46536d;border-left:0}.pixel-concept-options,.pixel-theory-decoder{grid-template-columns:1fr}.pixel-theory-decoder{grid-column:1}.pixel-theory-decoder>button{min-height:88px}.pixel-runner-track{gap:15px}.pixel-runner-track li{width:44px;height:44px}.pixel-runner-track li:not(:last-child):after{top:18px;width:12px}.pixel-demo-steps>button{grid-template-columns:38px 1fr}.pixel-demo-steps>button>span{grid-column:2;justify-content:flex-start}.pixel-stage-clear{top:78px;right:12px}}@media (max-width:430px){.pixel-mission-coach{gap:9px}.pixel-coach-copy>strong{font-size:10px}.pixel-energy>strong{font-size:14px}.pixel-concept-match{padding:15px}.pixel-concept-match h3{font-size:15px}.pixel-runner-track{width:100%;justify-content:center;gap:9px}.pixel-runner-track li{width:38px;height:38px}.pixel-runner-track li:not(:last-child):after{display:none}.pixel-stage-clear{left:12px;right:12px;justify-content:center}}@media (prefers-reduced-motion:reduce){.pixel-coach-avatar i,.pixel-sim-screen.run-running .pixel-runner-track li.active:last-child,.pixel-stage-clear{animation:none}.pixel-concept-grid article,.pixel-demo-meter>i b,.pixel-energy>div i,.pixel-route-ready,.pixel-theory-decoder>button{transition:none}}