:root{--background:#f6f7f9;--foreground:#1d2433;--muted:#657085;--panel:#fff;--line:#d9dee8;--accent:#2f6fed;--accent-strong:#194fb0;--danger:#b42318;--warning:#9a6700}.subject-teacher-workspace{max-width:1180px;margin:0 auto}.teacher-assignment-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;display:grid}.teacher-assignment-card{border:1px solid var(--line);min-height:96px;color:inherit;background:var(--panel);border-radius:14px;gap:6px;padding:16px;text-decoration:none;transition:border-color .16s,background-color .16s;display:grid}.teacher-assignment-card:hover,.teacher-assignment-card.active{border-color:var(--line-strong);background:var(--accent-soft)}.teacher-assignment-card:focus-visible{outline-offset:2px;outline:3px solid #0969c7}.teacher-assignment-card span,.subject-selected-count{color:var(--muted)}.teacher-assignment-card small{color:var(--accent-strong);align-self:end;font-weight:700}.subject-entry-form,.subject-student-picker,.subject-custom-event{gap:16px;display:grid}.subject-student-picker{border:1px solid var(--line);background:var(--accent-soft);border-radius:14px;min-width:0;margin:0;padding:16px}.subject-student-picker legend{padding:0 6px;font-weight:800}.subject-picker-toolbar{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:14px;display:grid}.subject-picker-actions,.subject-event-mode{flex-wrap:wrap;gap:10px;display:flex}.subject-student-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;max-height:330px;display:grid;overflow:auto}.subject-student-option{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:center;gap:10px;min-height:48px;padding:12px;display:flex}.subject-student-option span{gap:3px;display:grid}.subject-student-option small{color:var(--muted)}.subject-event-mode{border:0;padding:14px 0}.subject-event-mode legend{margin-bottom:10px;font-weight:700}.subject-event-mode label{flex-direction:row;align-items:center;gap:8px;display:inline-flex}.subject-reward-grid{grid-template-columns:repeat(5,minmax(90px,1fr));gap:10px;display:grid}.subject-teacher-heading .lead{max-width:72ch}.subject-current-workspace{justify-content:space-between;align-items:center;gap:20px;display:flex}.subject-current-workspace h2,.subject-current-workspace p,.subject-custom-entry h2{margin-top:0}.subject-current-workspace p{color:var(--muted);margin-bottom:0}.subject-custom-entry{border:1px solid var(--line);background:var(--panel);border-radius:14px}.subject-task-page{padding-bottom:40px}.subject-task-heading{align-items:center}.subject-task-heading h1,.subject-task-heading p,.subject-task-publish h2,.subject-task-definitions h2,.subject-task-item h3,.subject-task-item p,.subject-task-empty h2,.subject-task-empty h3,.subject-task-empty p{margin-top:0}.subject-task-heading .lead,.subject-task-item header p,.subject-task-field-note,.subject-task-submit small{color:var(--muted)}.subject-task-form textarea{resize:vertical;min-height:104px}.subject-task-student-picker{border:1px solid var(--line);background:var(--accent-soft);border-radius:12px;gap:14px;min-width:0;margin:0;padding:16px;display:grid}.subject-task-student-picker legend{padding:0 6px;font-weight:800}.subject-task-all-students,.subject-task-student-option{cursor:pointer;align-items:center;gap:10px;min-height:48px;display:flex}.subject-task-all-students>span,.subject-task-student-option>span{gap:2px;display:grid}.subject-task-all-students small,.subject-task-student-option small{color:var(--muted)}.subject-task-picker-toolbar{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;display:grid}.subject-task-picker-actions,.subject-task-item-actions{flex-wrap:wrap;gap:10px;display:flex}.subject-task-picker-status{color:var(--muted);font-variant-numeric:tabular-nums;margin:0}.subject-task-student-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;max-height:340px;display:grid;overflow:auto}.subject-task-student-option{border:1px solid var(--line);background:var(--panel);border-radius:9px;padding:10px 12px}.subject-task-student-option:has(input:checked){border-color:var(--accent);background:#f4f8ff}.subject-task-student-option:focus-within,.subject-task-all-students:focus-within{outline-offset:2px;outline:3px solid #0969c7}.subject-task-field-note{align-self:end;margin:0 0 4px;line-height:1.6}.subject-task-submit{align-content:end;gap:6px;display:grid}.subject-task-total{color:var(--accent-strong);font-variant-numeric:tabular-nums}.subject-task-list{gap:12px;display:grid}.subject-task-item{border:1px solid var(--line);background:var(--panel);overflow-wrap:anywhere;border-radius:12px;gap:14px;padding:16px;display:grid}.subject-task-item>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.subject-task-item>header>div{min-width:0}.subject-task-item header p{margin-bottom:0}.subject-task-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.subject-task-meta>div{gap:3px;display:grid}.subject-task-meta dt{color:var(--muted);font-size:13px}.subject-task-meta dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.subject-task-item-actions details{border-top:1px solid var(--line);flex:280px}.subject-task-item-actions summary{min-height:44px;color:var(--accent-strong);cursor:pointer;padding:12px 2px;font-weight:800}.subject-task-item-actions summary:focus-visible{outline-offset:2px;outline:3px solid #0969c7}.subject-task-edit-form,.subject-task-mode-form{padding-top:8px}.subject-task-empty{padding-block:24px}.submission-source{color:#8fdcff}@media (max-width:760px){.teacher-assignment-grid,.subject-picker-toolbar,.subject-reward-grid,.subject-task-picker-toolbar,.subject-task-meta{grid-template-columns:1fr}.subject-student-list{grid-template-columns:1fr;min-width:0}.subject-current-workspace{flex-direction:column;align-items:stretch}.subject-current-workspace .actions,.subject-current-workspace .button{width:100%}.subject-task-heading,.subject-task-item>header{flex-direction:column;align-items:stretch}.subject-task-heading .button,.subject-task-picker-actions,.subject-task-picker-actions .button,.subject-task-submit .button{width:100%}.subject-task-student-list{grid-template-columns:1fr;max-height:420px}.subject-task-item{padding:14px}}.student-portal-page{position:relative}.student-portal-hero{background:linear-gradient(135deg,#112a4ef5,#2b1d57eb);border:1px solid #6fe2ff40;box-shadow:0 18px 50px #050e2347}.student-portal-readonly{color:#b9efff;background:#0818378a;border:1px solid #8be5ff52;border-radius:999px;align-self:flex-start;padding:8px 14px;font-size:13px}.student-portal-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-portal-summary-card{background:linear-gradient(145deg,#0f274af5,#121938f5);border:1px solid #7fd6ff38;border-radius:24px;min-height:154px;padding:22px;box-shadow:0 16px 38px #040c1e3d}.student-portal-summary-card span,.student-portal-summary-card small{color:var(--muted);display:block}.student-portal-summary-card strong{color:#effcff;margin:12px 0 8px;font-size:clamp(30px,4vw,48px);display:block}.student-portal-summary-card.star strong{color:#ffd76d}.student-portal-summary-card.rank strong{color:#a9e9ff}.student-portal-summary-card.streak strong{color:#d3b8ff}.student-portal-section{overflow:hidden}.student-portal-dimensions{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-portal-dimension{background:#102040ad;border:1px solid #8ad1ff2e;border-radius:18px;padding:16px}.student-portal-dimension>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.student-portal-dimension p{background:#ffffff14;border-radius:999px;height:8px;margin:12px 0 0;overflow:hidden}.student-portal-dimension p span{border-radius:inherit;background:linear-gradient(90deg,#5bc8ff,#9e8dff);height:100%;display:block}.student-portal-dimension.willpower p span{background:linear-gradient(90deg,#ffc95f,#ff8d68)}.student-portal-dimension.teamwork p span{background:linear-gradient(90deg,#5ee7b7,#45bfe8)}.student-portal-dimension.honor p span{background:linear-gradient(90deg,#d59cff,#ff9fd2)}.student-portal-lower-grid{grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:18px;display:grid}.student-latest-star{color:#ffd76d;margin:12px 0;font-size:36px;display:block}.student-latest-growth .button,.student-portal-archive-card .button{margin-top:14px}.student-portal-archive-card>strong{color:#d7c1ff;margin-top:18px;font-size:52px;display:block}.student-title-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.student-title-card{background:linear-gradient(145deg,#3a2b59e6,#171f43f2);border:1px solid #ffd47047;border-radius:22px;gap:10px;min-height:150px;padding:22px;display:grid}.student-title-card>span{color:#ffd76d;font-size:28px}.student-title-card strong{font-size:20px}.student-title-card small{color:var(--muted)}.student-history-list{gap:18px;display:grid}.student-history-card header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.student-history-card header span,.student-history-card header strong{display:block}.student-history-card header strong{color:#ffd76d;margin-top:6px;font-size:30px}.student-history-rewards{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.student-history-rewards div,.student-history-changes p{background:#0f2244b8;border-radius:16px;padding:14px}.student-history-rewards span,.student-history-changes span{color:var(--muted);font-size:13px;display:block}.student-history-rewards strong,.student-history-changes strong{margin-top:5px;display:block}.student-history-dimensions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.student-history-dimensions span{background:#162b4fa8;border:1px solid #84d7ff2e;border-radius:999px;padding:8px 12px}.student-history-changes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-history-changes p{margin:0}.student-portal-empty{text-align:center;padding:36px}.student-portal-empty strong{margin-bottom:8px;font-size:22px;display:block}@media (max-width:760px){.student-portal-summary-grid,.student-portal-dimensions,.student-portal-lower-grid,.student-history-rewards,.student-history-changes{grid-template-columns:1fr}.student-history-card header{display:grid}}*{box-sizing:border-box}body{background:var(--background);color:var(--foreground);margin:0;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif}.app-shell{width:100%;margin:0;padding:24px clamp(12px,1.5vw,24px) 48px}.portal-admin{--portal-accent:#285bb5}.portal-teacher{--portal-accent:#16726a}.portal-student{--portal-accent:#7148a8}.portal-shell .brand{color:var(--portal-accent)}.portal-entry-list{gap:10px;margin-top:24px;display:grid}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.brand{color:var(--foreground);font-size:18px;font-weight:800;text-decoration:none}.nav-links{flex-wrap:wrap;gap:8px;display:flex}.nav-links a,.button{min-height:38px;color:var(--foreground);font:inherit;letter-spacing:0;cursor:pointer;background:linear-gradient(#fffffffa,#f2f9fdf0);border:1px solid #4e8ec657;border-radius:6px;justify-content:center;align-items:center;padding:9px 13px;font-weight:700;text-decoration:none;transition:border-color .15s,box-shadow .15s,color .15s,transform .15s;display:inline-flex;box-shadow:0 5px 12px #225b870f,inset 0 1px #ffffffe6}.nav-links a:hover,.button:hover:not(:disabled){color:#155b8c;border-color:#258ed394;transform:translateY(-1px);box-shadow:0 8px 18px #1e6ba31f,inset 0 1px #fffffff2}.nav-links a:active,.button:active:not(:disabled){transform:translateY(0)}.nav-links a:focus-visible,.button:focus-visible{outline-offset:2px;outline:3px solid #2aaee83d}.button.primary{color:#fff;background:linear-gradient(135deg,#38bde8 0%,#247fe0 48%,#225fcb 100%);border-color:#2177d4;box-shadow:0 9px 20px #2470cf38,inset 0 1px #ffffff52}.button.primary:hover:not(:disabled){color:#fff;border-color:#1c6cc7;box-shadow:0 12px 24px #2470cf47,0 0 0 1px #53cef629}.nav-links a.active{color:var(--accent-strong);background:linear-gradient(#edf9ff,#dfefff);border-color:#217fcb80;box-shadow:inset 0 -3px #2a91df,0 6px 16px #1f75b51a}.button.danger{color:#a42c39;background:linear-gradient(#fffafafa,#ffedeff0);border-color:#cf404b61;box-shadow:0 6px 14px #8b253214,inset 0 1px #ffffffe6}.button.danger:hover:not(:disabled){color:#8f202d;border-color:#c22a389e;box-shadow:0 9px 18px #97202f24}.button:disabled{opacity:.52;cursor:not-allowed;box-shadow:none;filter:saturate(.5)}.compact-button{min-height:34px;padding:6px 10px}.page-stack{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.page-title,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:32px}.page-title{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{color:var(--accent-strong);margin:0 0 10px;font-size:14px;font-weight:700}h1{margin:0;font-size:36px;line-height:1.2}.lead{max-width:680px;color:var(--muted);margin:16px 0 0;font-size:17px;line-height:1.7}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px}.metric-card span,.status-grid span{color:var(--muted);font-size:13px;display:block}.metric-card strong,.status-grid strong{margin-top:8px;font-size:24px;display:block}.metric-card small{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.5;display:block}.compact-button{width:fit-content;margin-top:12px;padding:7px 10px;font-size:13px}.change-highlight{color:var(--accent);font-weight:800}.mini-badge{color:var(--accent);white-space:nowrap;background:#eef5ff;border:1px solid #b9d3ff;border-radius:999px;margin-left:6px;padding:2px 6px;font-size:12px;font-weight:800;display:inline-block}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;display:grid}.status-grid div{border:1px solid var(--line);border-radius:8px;min-height:88px;padding:16px}.simple-page-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.simple-page-summary div{border:1px solid var(--line);background:#fff;border-radius:8px;gap:6px;padding:14px 16px;display:grid}.simple-page-summary span{color:var(--muted);font-size:13px;font-weight:800}.simple-page-summary strong{font-size:24px}.workbench-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.simple-home-grid{grid-template-columns:minmax(0,2fr) minmax(220px,1fr);align-items:stretch;gap:16px;display:grid}.simple-next-action{min-height:190px}.simple-home-summary{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:center;gap:10px;padding:18px;display:grid}.simple-home-summary span{border-bottom:1px solid var(--line);color:var(--muted);padding-bottom:10px;font-weight:800}.simple-home-summary span:last-child{border-bottom:0;padding-bottom:0}.core-action-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.core-action-card{border:1px solid var(--line);min-height:180px;color:var(--text);background:#fff;border-radius:8px;gap:10px;padding:18px;text-decoration:none;display:grid}.core-action-card:hover{box-shadow:var(--shadow);border-color:#9bbcf4}.core-action-card span,.core-action-card small{color:var(--muted);font-size:13px;font-weight:700;line-height:1.5}.core-action-card span{color:var(--accent-strong)}.core-action-card strong{font-size:22px}.core-action-card b{color:var(--accent);align-self:end;font-size:14px}.core-action-card.recommended{background:#f4f8ff;border-color:#9bbcf4}.command-home{position:relative}.command-home:before{z-index:-1;pointer-events:none;content:"";background:linear-gradient(135deg,#2f6fed1c,#0000 34%),linear-gradient(315deg,#13b8a61a,#0000 28%),radial-gradient(circle at 72% 14%,#f5b52b1f,#0000 24%);position:fixed;inset:0}.command-hero,.command-stat-card,.command-next-panel,.command-status-panel,.command-flow-panel{background:linear-gradient(#fffffff5,#eff7ffeb),#fff;border-color:#b8d7ff;position:relative;overflow:hidden;box-shadow:0 18px 45px #2f6fed1f,inset 0 0 0 1px #ffffffbf}.command-hero:after,.command-stat-card:after,.command-next-panel:after,.command-status-panel:after,.command-flow-panel:after{pointer-events:none;content:"";clip-path:polygon(0 0,76px 0,96px 12px,100% 12px,100% 100%,0 100%);border:1px solid #52b2ff3d;position:absolute;inset:0}.command-hero{border:1px solid #a9ceff;border-radius:8px;grid-template-columns:minmax(0,1.5fr) minmax(260px,.65fr);align-items:stretch;gap:20px;padding:34px;display:grid}.command-hero-main{align-content:center;gap:16px;display:grid}.command-hero h1{color:#102a56;text-shadow:0 0 20px #2f6fed29}.command-hero .lead{max-width:760px}.command-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.command-primary{box-shadow:0 10px 24px #2f6fed42}.command-secondary{color:#194fb0;background:#f6fbff;border-color:#a9ceff}.command-rank-panel{background:linear-gradient(160deg,#ecf6ffe6,#ffffffb8),#fff;border:1px solid #a9ceff;border-radius:8px;align-content:center;gap:10px;min-height:180px;padding:20px;display:grid}.command-rank-panel span,.command-stat-card span{color:#5c6c85;font-size:13px;font-weight:800}.command-rank-panel strong{color:#194fb0;font-size:30px}.command-rank-panel small,.command-status-panel p,.command-next-panel p{color:var(--muted);line-height:1.7}.command-chip-link{color:#1166b7;background:#eaf7ff;border:1px solid #9bd6ff;border-radius:999px;width:fit-content;padding:7px 12px;font-weight:800;text-decoration:none}.command-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.command-stat-card{border:1px solid #b8d7ff;border-radius:8px;gap:8px;min-height:116px;padding:18px;display:grid}.command-stat-card strong{color:#102a56;font-size:28px}.command-stat-card.blue{border-color:#80b8ff}.command-stat-card.silver{border-color:#bfc8d8}.command-stat-card.gold{border-color:#f2c45b}.command-stat-card.green{border-color:#81d4b5}.command-main-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:16px;display:grid}.command-next-panel,.command-status-panel{align-content:space-between;gap:16px;display:grid}.command-next-panel h2,.command-status-panel h2{color:#102a56;margin:0;font-size:24px}.command-action-card{background:linear-gradient(#fffffffa,#f1f8fff2),#fff;border-color:#b8d7ff}.command-action-card.recommended{border-color:#2f6fed;box-shadow:0 16px 32px #2f6fed29,inset 0 0 0 1px #2f6fed24}.settlement-command-page{position:relative}.settlement-command-page:before{z-index:-1;pointer-events:none;content:"";background:radial-gradient(circle at 20% 12%,#2f6fed1f,#0000 30%),radial-gradient(circle at 84% 18%,#f2c45b21,#0000 24%),linear-gradient(#eff7ff85,#0000 42%);position:fixed;inset:0}.settlement-ceremony-panel,.settlement-empty-panel{background:linear-gradient(#fffffff7,#eff7fff0),#fff;border:1px solid #a9ceff;position:relative;overflow:hidden;box-shadow:0 18px 45px #2f6fed1f,inset 0 0 0 1px #ffffffbf}.settlement-ceremony-panel:after,.settlement-empty-panel:after{pointer-events:none;content:"";clip-path:polygon(0 0,82px 0,106px 12px,100% 12px,100% 100%,0 100%);border:1px solid #52b2ff3b;position:absolute;inset:0}.settlement-stage-card{background:linear-gradient(160deg,#ecf6ffeb,#ffffffbd),#fff;border:1px solid #a9ceff;border-radius:8px;align-content:center;gap:10px;min-height:180px;padding:20px;display:grid}.settlement-stage-card span,.settlement-stage-card small{color:var(--muted);font-size:13px;font-weight:800}.settlement-stage-card strong{color:#194fb0;font-size:28px}.settlement-stage-card.gold{background:linear-gradient(160deg,#fff9e6f0,#ffffffc7),#fff;border-color:#f2c45b}.settlement-stage-card.silver{border-color:#bfc8d8}.settlement-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settlement-summary-grid div{background:linear-gradient(#fffffffa,#f1f8fff2),#fff;border-color:#b8d7ff}.settlement-summary-grid .warning-item{background:linear-gradient(#fffaf0fa,#fff6dbeb),#fffaf0;border-color:#f2c45b}.settlement-energy-console,.settlement-ceremony-map{background:linear-gradient(#fffffff2,#e7f5ffd6),#fff;border:1px solid #58b2ffb8;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 18px 42px #2f6fed21,inset 0 0 30px #5abeff1f}.settlement-energy-console:after,.settlement-ceremony-map:after{pointer-events:none;content:"";clip-path:polygon(0 0,34% 0,38% 10px,62% 10px,66% 0,100% 0,100% 100%,0 100%);border:1px solid #1fd8ff4d;position:absolute;inset:0}.settlement-energy-console{gap:14px;padding:18px;display:grid}.settlement-energy-orb{background:radial-gradient(circle at 50% 42%, #fff 0 27%, transparent 28%), conic-gradient(#2f6fed 0 64%, #f2c45b 64% 78%, #dce8f7 78% 100%);border:2px solid #7dd3ff;border-radius:50%;align-content:center;justify-self:center;place-items:center;width:164px;height:164px;display:grid;box-shadow:0 0 34px #2f6fed57,inset 0 0 28px #7dd3ff33}.settlement-energy-orb strong{color:#102a56;font-size:40px}.settlement-energy-orb span{color:#385375;font-size:12px;font-weight:900}.settlement-energy-track{background:#ffffffd1;border:1px solid #9bd6ff;border-radius:999px;height:18px;overflow:hidden}.settlement-energy-track span{border-radius:inherit;background:linear-gradient(90deg,#1fd8ff,#2f6fed 58%,#f2b12f);height:100%;display:block;box-shadow:0 0 24px #2f6fed73}.settlement-hud-counters{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.settlement-hud-counter{background:#ffffffb8;border:1px solid #2f6fed29;border-radius:8px;gap:5px;padding:10px;display:grid}.settlement-hud-counter span{color:#6c7f99;font-size:12px;font-weight:900}.settlement-hud-counter strong{color:#102a56;font-size:20px}.settlement-hud-counter.gold{border-color:#f2b12f6b}.settlement-hud-counter.crystal{border-color:#8038c74d}.settlement-broadcast-strip{gap:10px;display:grid}.settlement-broadcast-card{background:linear-gradient(90deg,#1fd8ff1a,#0000 58%),#ffffffc7;border:1px solid #2f6fed29;border-radius:8px;grid-template-columns:minmax(96px,.72fr) 64px minmax(0,1.28fr);align-items:center;gap:10px;padding:10px 12px;display:grid;position:relative;overflow:hidden}.settlement-broadcast-card:before{content:"";background:linear-gradient(#1fd8ff,#2f6fed);width:8px;position:absolute;inset:0 auto 0 0;box-shadow:0 0 16px #1fd8ff75}.settlement-broadcast-card.gold:before{background:linear-gradient(#fff0a3,#f2b12f)}.settlement-broadcast-card.crystal:before{background:linear-gradient(#8bf0ff,#8038c7)}.settlement-broadcast-card span,.settlement-broadcast-card small{color:#6c7f99;font-size:12px;font-weight:900}.settlement-broadcast-card strong{color:#102a56;font-size:18px}.settlement-ceremony-map{gap:12px;padding:18px;display:grid}.settlement-ceremony-node{background:linear-gradient(90deg,#eff7fff5,#ffffffd1),#fff;border:1px solid #2f6fed2e;border-radius:8px;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:12px;min-height:86px;padding:12px;display:grid;position:relative}.settlement-ceremony-node:not(:last-child):after{content:"";background:linear-gradient(#7dd3ff,#2f6fed);width:2px;height:20px;position:absolute;bottom:-17px;left:52px;box-shadow:0 0 14px #2f6fed57}.settlement-ceremony-node>span{color:#fff;border-radius:8px;place-items:center;width:72px;height:50px;font-size:12px;font-weight:900;display:grid;box-shadow:0 0 18px #2f6fed3d}.settlement-ceremony-node.blue>span{background:linear-gradient(135deg,#1fd8ff,#2f6fed)}.settlement-ceremony-node.gold>span{background:linear-gradient(135deg,#fff0a3,#f2b12f 52%,#b96b00)}.settlement-ceremony-node.crystal>span{background:linear-gradient(135deg,#8bf0ff,#7b5cff 58%,#8038c7)}.settlement-ceremony-node strong{color:#102a56;font-size:18px;display:block}.settlement-ceremony-node small{color:#6c7f99;margin-top:4px;font-weight:800;line-height:1.5;display:block}.settlement-finalize-zone{background:#f6fbff;border:1px solid #b8d7ff;border-radius:8px;gap:12px;padding:16px;display:grid}.settlement-finalize-zone p{color:var(--muted);margin:0;line-height:1.7}.report-recap-panel,.report-detail-panel,.report-empty-panel{background:linear-gradient(#fffffff7,#eff7fff0),#fff;border:1px solid #a9ceff;position:relative;overflow:hidden;box-shadow:0 18px 45px #2f6fed1f,inset 0 0 0 1px #ffffffbf}.report-recap-panel:after,.report-detail-panel:after,.report-empty-panel:after{pointer-events:none;content:"";clip-path:polygon(0 0,82px 0,106px 12px,100% 12px,100% 100%,0 100%);border:1px solid #52b2ff38;position:absolute;inset:0}.submission-command-page{position:relative}.submission-command-page:before{z-index:-1;pointer-events:none;content:"";background:radial-gradient(circle at 18% 10%,#2f6fed1f,#0000 28%),radial-gradient(circle at 82% 16%,#f2c45b1f,#0000 24%),linear-gradient(#eff7ff85,#0000 44%);position:fixed;inset:0}.submission-entry-panel,.submission-review-panel,.submission-bulk-panel{background:linear-gradient(#fffffff7,#eff7fff0),#fff;border:1px solid #a9ceff;position:relative;overflow:hidden;box-shadow:0 18px 45px #2f6fed1f,inset 0 0 0 1px #ffffffbf}.submission-entry-panel:after,.submission-review-panel:after,.submission-bulk-panel:after{pointer-events:none;content:"";clip-path:polygon(0 0,82px 0,106px 12px,100% 12px,100% 100%,0 100%);border:1px solid #52b2ff38;position:absolute;inset:0}.submission-stage-card{background:linear-gradient(160deg,#ecf6ffeb,#ffffffbd),#fff;border:1px solid #a9ceff;border-radius:8px;align-content:center;gap:10px;min-height:180px;padding:20px;display:grid}.submission-stage-card span,.submission-stage-card small{color:var(--muted);font-size:13px;font-weight:800}.submission-stage-card strong{color:#194fb0;font-size:28px}.submission-stage-card.gold{background:linear-gradient(160deg,#fff9e6f0,#ffffffc7),#fff;border-color:#f2c45b}.submission-stage-card.silver{border-color:#bfc8d8}.submission-entry-panel h2,.submission-review-panel h2{color:#102a56}.submission-mission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.submission-mission-card{background:linear-gradient(#fffffff2,#e7f5ffd6),#fff;border:1px solid #58b2ffb8;border-radius:8px;gap:8px;min-height:138px;padding:18px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 42px #2f6fed21,inset 0 0 30px #5abeff1f}.submission-mission-card:before{content:"";background:radial-gradient(circle,#2f6fed47,#0000 66%);border-radius:50%;width:120px;height:120px;position:absolute;top:-44px;right:-32px}.submission-mission-card.active{background:linear-gradient(#fffbebf5,#eff7ffe0),#fff;border-color:#f2c45b}.submission-mission-card span{color:#1166b7;border:1px solid #9bd6ff;border-radius:999px;width:fit-content;padding:4px 9px;font-size:12px;font-weight:900}.submission-mission-card strong{color:#102a56;font-size:20px}.submission-mission-card small{color:var(--muted);font-weight:700;line-height:1.6}.submission-mission-map,.submission-reward-preview{background:linear-gradient(#fffffff0,#e7f5ffd6),#fff;border:1px solid #58b2ffb8;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 18px 42px #2f6fed21,inset 0 0 30px #5abeff1f}.submission-mission-map:after,.submission-reward-preview:after{pointer-events:none;content:"";clip-path:polygon(0 0,34% 0,38% 10px,62% 10px,66% 0,100% 0,100% 100%,0 100%);border:1px solid #1fd8ff4d;position:absolute;inset:0}.submission-mission-map{gap:12px;padding:18px;display:grid}.submission-mission-node{background:linear-gradient(90deg,#eff7fff5,#ffffffd1),#fff;border:1px solid #2f6fed2e;border-radius:8px;grid-template-columns:58px minmax(0,1fr) 72px;align-items:center;gap:12px;min-height:82px;padding:12px;display:grid;position:relative}.submission-mission-node:not(:last-child):after{content:"";background:linear-gradient(#7dd3ff,#2f6fed);width:2px;height:20px;position:absolute;bottom:-17px;right:92px;box-shadow:0 0 14px #2f6fed57}.submission-mission-node>span{clip-path:polygon(50% 0,92% 18%,82% 78%,50% 100%,18% 78%,8% 18%);color:#fff;place-items:center;width:48px;height:48px;font-size:12px;font-weight:900;display:grid;box-shadow:0 0 20px #2f6fed3d}.submission-mission-node.blue>span{background:linear-gradient(135deg,#1fd8ff,#2f6fed)}.submission-mission-node.gold>span{background:linear-gradient(135deg,#fff0a3,#f2b12f 52%,#b96b00)}.submission-mission-node.silver>span{background:linear-gradient(135deg,#fff,#8aa0bd)}.submission-mission-node strong{color:#102a56;font-size:18px;display:block}.submission-mission-node small{color:#6c7f99;margin-top:3px;font-weight:800;display:block}.submission-mission-node em{color:#0d8f83;background:#dbfff8c2;border:1px solid #55d5c4;border-radius:999px;justify-self:end;padding:6px 9px;font-size:12px;font-style:normal;font-weight:900}.submission-reward-preview{align-content:start;gap:14px;padding:18px;display:grid}.submission-progress-track{background:#ffffffd1;border:1px solid #9bd6ff;border-radius:999px;height:18px;overflow:hidden}.submission-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#1fd8ff,#2f6fed 58%,#f2b12f);height:100%;display:block;box-shadow:0 0 24px #2f6fed73}.submission-loot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.submission-loot-card{text-align:center;background:#ffffffbd;border:1px solid #7dd3ff8a;border-radius:8px;justify-items:center;gap:6px;min-height:128px;padding:14px 10px;display:grid}.submission-loot-card span{color:#fff;place-items:center;width:52px;height:52px;font-size:11px;font-weight:900;display:grid}.submission-loot-card.coin span{background:radial-gradient(circle at 35% 25%,#fff6bb,#f2b12f 42%,#b96b00);border-radius:50%}.submission-loot-card.exp span{clip-path:polygon(50% 0,92% 22%,92% 76%,50% 100%,8% 76%,8% 22%);background:linear-gradient(135deg,#1fd8ff,#2f6fed)}.submission-loot-card.crystal span{clip-path:polygon(50% 0,100% 32%,76% 100%,24% 100%,0 32%);background:linear-gradient(135deg,#8bf0ff,#7b5cff 58%,#d94cff)}.submission-loot-card strong{color:#102a56}.submission-loot-card small{color:#385375;font-weight:900}.submission-broadcast-strip{gap:10px;display:grid}.submission-broadcast-card{background:linear-gradient(90deg,#1fd8ff1a,#0000 58%),#ffffffc7;border:1px solid #2f6fed29;border-radius:8px;grid-template-columns:minmax(92px,.7fr) 64px minmax(0,1.3fr);align-items:center;gap:10px;padding:10px 12px;display:grid;position:relative;overflow:hidden}.submission-broadcast-card:before{content:"";background:linear-gradient(#1fd8ff,#2f6fed);width:8px;position:absolute;inset:0 auto 0 0;box-shadow:0 0 16px #1fd8ff75}.submission-broadcast-card.gold:before{background:linear-gradient(#fff0a3,#f2b12f)}.submission-broadcast-card.silver:before{background:linear-gradient(#fff,#8aa0bd)}.submission-broadcast-card span,.submission-broadcast-card small{color:#6c7f99;font-size:12px;font-weight:900}.submission-broadcast-card strong{color:#102a56;font-size:18px}.submission-event-card{background:linear-gradient(90deg,#eff7ffe6,#fffffff5),#fff;border-color:#58b2ff70}.submission-event-card.pending{border-color:#f2c45bb8;box-shadow:inset 4px 0 #f2c45b}.submission-event-card.approved{border-color:#81d4b5b8;box-shadow:inset 4px 0 #30b979}.submission-event-card.rejected{border-color:#f4968c9e;box-shadow:inset 4px 0 #d64545}.game-side-nav,.game-hero-stage,.game-data-card,.game-rank-route,.game-reward-card{background:linear-gradient(#ffffffdb,#e6f4ffb8),#ffffffc7;border:1px solid #58b2ffb8;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 22px 55px #2566c72e,inset 0 0 0 1px #ffffffb8,inset 0 0 36px #5abeff1f}.game-side-nav:after,.game-hero-stage:after,.game-data-card:after,.game-rank-route:after,.game-reward-card:after{pointer-events:none;content:"";clip-path:polygon(0 0,72px 0,92px 12px,100% 12px,100% 100%,0 100%);border:1px solid #7dd3ff61;position:absolute;inset:0}.game-side-nav{align-content:start;gap:18px;min-height:calc(100vh - 48px);padding:18px;display:grid}.game-logo-mark{background:#edf7ffbd;border:1px solid #2f6fed42;border-radius:8px;place-items:center;gap:8px;padding:14px 10px;display:grid}.game-logo-mark span{color:#fff;background:linear-gradient(135deg,#1fd8ff,#2f6fed 56%,#163a91);border:2px solid #7dd3ff;border-radius:50%;place-items:center;width:58px;height:58px;font-weight:900;display:grid;box-shadow:0 0 24px #2f6fed8c}.game-logo-mark strong{color:#102a56;font-size:15px}.game-side-nav nav{gap:10px;display:grid}.game-nav-link{color:#25415f;background:#ffffff9e;border:1px solid #2f6fed2e;border-radius:8px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:12px;text-decoration:none;display:grid}.game-nav-link span{color:#2f6fed;font-weight:900}.game-nav-link.active{background:linear-gradient(135deg,#2f6fed2e,#7dd3ff38);border-color:#2f6fed;box-shadow:0 0 22px #2f6fed33}.game-streak-box{background:linear-gradient(#fffae6db,#ffffffad);border:1px solid #f2c45b94;border-radius:8px;gap:5px;padding:14px;display:grid}.game-streak-box span,.game-streak-box small{color:var(--muted);font-size:12px;font-weight:800}.game-streak-box strong{color:#9a6700;font-size:22px}.game-topbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.game-topbar h1{color:#102a56;text-shadow:0 0 22px #2f6fed33}.game-week-pill{color:#194fb0;background:#ffffffc7;border:1px solid #9bd6ff;border-radius:8px;padding:13px 18px;font-weight:900;box-shadow:0 0 18px #2f6fed26}.game-hero-stage{grid-template-columns:minmax(260px,.95fr) minmax(0,1.05fr) minmax(260px,.8fr);gap:18px;min-height:475px;padding:18px;display:grid}.game-character-panel{background:linear-gradient(#154ea02e,#ffffff2e),radial-gradient(circle at 50% 26%,#2f6fed47,#0000 42%);border:1px solid #7dd3ff94;border-radius:8px;align-items:end;min-height:438px;display:grid;position:relative}.game-character-aura{filter:blur(4px);background:radial-gradient(circle,#7dd3ff9e,#2f6fed1f,#0000 68%);border-radius:999px;position:absolute;inset:50px 26px 80px}.game-character{z-index:1;object-fit:contain;filter:drop-shadow(0 24px 34px #194fb057);place-self:end center;width:min(100%,370px);max-height:360px;position:relative}.game-character-caption{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5fbffdb;border:1px solid #7dd3ff9e;border-radius:8px;gap:4px;padding:10px;display:grid;position:absolute;bottom:16px;left:16px;right:16px}.game-character-caption span,.game-character-caption small{color:var(--muted);font-size:12px;font-weight:800}.game-character-caption strong{color:#194fb0;font-size:26px}.game-center-panel,.game-mission-panel{background:#ffffff94;border:1px solid #7dd3ff94;border-radius:8px;align-content:center;gap:16px;padding:22px;display:grid}.game-center-panel h2{color:#102a56;margin:0;font-size:40px}.game-center-panel p,.game-mission-panel p{color:var(--muted);margin:0;line-height:1.7}.game-energy-card{background:#edf7ffd1;border:1px solid #2f6fed3d;border-radius:8px;gap:10px;padding:14px;display:grid}.game-energy-head{color:#102a56;justify-content:space-between;gap:12px;font-weight:900;display:flex}.game-energy-track{background:#ffffffd1;border:1px solid #9bd6ff;border-radius:999px;height:18px;overflow:hidden}.game-energy-track span{border-radius:inherit;background:linear-gradient(90deg,#1fd8ff,#2f6fed 58%,#f7c948);height:100%;display:block;box-shadow:0 0 24px #2f6fed8c}.game-hero-actions{flex-wrap:wrap;gap:12px;display:flex}.game-primary-button,.game-secondary-button{border-radius:8px;min-height:42px;padding:11px 18px;font-weight:900;text-decoration:none}.game-primary-button{color:#fff;background:linear-gradient(135deg,#1fd8ff,#2f6fed 62%,#173b91);border:1px solid #7dd3ff;box-shadow:0 0 24px #2f6fed73}.game-secondary-button{color:#194fb0;background:#ffffffbd;border:1px solid #9bd6ff}.game-mission-list{gap:10px;display:grid}.game-mission-item{background:#ffffffad;border:1px solid #2f6fed33;border-radius:8px;grid-template-columns:72px minmax(0,1fr);gap:4px 10px;padding:11px;display:grid}.game-mission-item span{color:#1166b7;text-align:center;border:1px solid #9bd6ff;border-radius:999px;grid-row:span 2;align-self:center;padding:5px 8px;font-size:12px;font-weight:900}.game-mission-item strong{color:#102a56}.game-mission-item small{color:var(--muted);font-weight:700}.game-data-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.game-data-card{gap:7px;min-height:112px;padding:18px;display:grid}.game-data-card span{color:var(--muted);font-size:13px;font-weight:900}.game-data-card strong{color:#102a56;font-size:30px}.game-rank-route{gap:18px;padding:20px;display:grid}.game-rank-track{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.game-rank-node{color:var(--muted);justify-items:center;gap:8px;font-weight:900;display:grid}.game-rank-node span{background:linear-gradient(135deg,#f8fbff,#dce6f5);border:2px solid #bfc8d8;border-radius:50%;width:62px;height:62px;box-shadow:inset 0 0 18px #2f6fed14}.game-rank-node.active{color:#194fb0}.game-rank-node.active span{background:linear-gradient(135deg,#fff,#7dd3ff 42%,#2f6fed);border-color:#7dd3ff;box-shadow:0 0 26px #2f6fed73}.game-reward-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.game-reward-card{gap:7px;padding:18px;display:grid}.game-reward-card span{color:#1166b7;border:1px solid #9bd6ff;border-radius:999px;width:fit-content;padding:5px 9px;font-size:12px;font-weight:900}.game-reward-card strong{color:#102a56;font-size:20px}.game-reward-card small{color:var(--muted);font-weight:700}.game-topbar{grid-template-columns:minmax(230px,.7fr) 180px minmax(260px,1fr) 180px;align-items:center;display:grid}.game-class-select,.game-leaderboard-pill,.game-search-box,.game-profile-chip{background:linear-gradient(#ffffffeb,#e6f4ffc7),#fff;border:1px solid #7dd3ff9e;border-radius:8px;min-height:54px;box-shadow:inset 0 0 0 1px #ffffffb8,0 12px 26px #2f6fed1f}.game-class-select,.game-leaderboard-pill,.game-profile-chip{align-items:center;gap:12px;padding:10px 16px;display:flex}.game-class-select strong{color:#102a56;font-size:20px}.game-class-select span{color:#194fb0;margin-left:auto;font-weight:900}.game-leaderboard-pill{color:#385375;justify-content:center;font-weight:900;text-decoration:none}.game-cup-mark{background:linear-gradient(135deg,#fff6bb,#f2b12f);border:3px solid #f2b12f;border-top-width:5px;border-radius:4px 4px 10px 10px;width:24px;height:20px;position:relative;box-shadow:0 0 14px #f2b12f85}.game-cup-mark:before,.game-cup-mark:after{content:"";border:2px solid #f2b12f;border-radius:50%;width:8px;height:10px;position:absolute;top:2px}.game-cup-mark:before{left:-10px}.game-cup-mark:after{right:-10px}.game-search-box{color:#8aa0bd;align-items:center;padding:10px 18px;font-weight:800;display:flex}.game-search-box:after{content:"";border:2px solid #6c8ebd;border-radius:50%;width:18px;height:18px;margin-left:auto;box-shadow:8px 8px 0 -6px #6c8ebd}.game-profile-chip img{object-fit:cover;object-position:top;background:#eef8ff;border:2px solid #9bd6ff;border-radius:50%;width:42px;height:42px;box-shadow:0 0 18px #2f6fed47}.game-profile-chip div{gap:2px;display:grid}.game-profile-chip strong{color:#102a56}.game-profile-chip span{color:#6c7f99;font-size:12px;font-weight:800}.game-logo-mark small{color:#6c8ebd;letter-spacing:0;font-size:10px;font-weight:900}.game-logo-shield{clip-path:polygon(50% 0,92% 18%,82% 78%,50% 100%,18% 78%,8% 18%)}.game-nav-link{position:relative}.game-nav-link span{background:#edf7ffd1;border-radius:8px;place-items:center;width:32px;height:32px;font-size:18px;display:grid;box-shadow:inset 0 0 12px #2f6fed24}.game-nav-link.active{color:#fff;background:linear-gradient(100deg,#1fd8ff70,#2f6fedc7),#2f6fed;transform:translate(4px)}.game-nav-link.active span,.game-nav-link.active strong{color:#fff}.game-streak-box{text-align:center;place-content:center;min-height:126px}.game-streak-box:before{content:"";background:radial-gradient(circle at 50% 28%,#fff6bb 0 15%,#0000 16%),linear-gradient(135deg,#ff8f1f,#f2c45b);border-radius:50% 50% 46% 46%;justify-self:center;width:44px;height:44px;box-shadow:0 0 18px #f2b12f7a}.game-hero-stage{grid-template-columns:minmax(240px,.78fr) minmax(300px,.92fr) minmax(290px,1fr);align-items:start;gap:14px;min-height:0;padding:14px}.game-character-panel{background:linear-gradient(90deg,#1244943d,#ffffff0a),linear-gradient(#6fc2ff2e,#ffffff2e),repeating-linear-gradient(90deg,#2f6fed1f 0 1px,#0000 1px 42px),radial-gradient(circle at 50% 26%,#2f6fed47,#0000 42%);min-height:420px}.game-character-panel:before{pointer-events:none;content:"";clip-path:polygon(0 0,80% 0,100% 22%,100% 100%,18% 100%,0 82%);filter:drop-shadow(0 0 10px #1fd8ff73);border:1px solid #1fd8ffad;position:absolute;inset:10px}.game-star-row{gap:5px;display:flex}.game-star-row span,.game-star-row i{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 35%);width:16px;height:16px}.game-star-row span{background:linear-gradient(135deg,#fff4a4,#f2b12f)}.game-star-row i{background:#c6d2e2}.game-center-panel,.game-ascend-panel,.game-growth-board,.game-board-card,.game-assistant-bar{background:linear-gradient(#ffffffe6,#ebf7ffc2),#fffc;border:1px solid #7dd3ffa8;border-radius:8px;position:relative;overflow:hidden;box-shadow:0 22px 55px #2566c729,inset 0 0 0 1px #ffffffbd,inset 0 0 36px #5abeff24}.game-center-panel:before,.game-ascend-panel:before,.game-growth-board:before,.game-board-card:before,.game-assistant-bar:before{pointer-events:none;content:"";clip-path:polygon(0 0,34% 0,38% 9px,62% 9px,66% 0,100% 0,100% 100%,0 100%);border:1px solid #1fd8ff57;position:absolute;inset:0}.game-center-panel,.game-ascend-panel{align-content:start;gap:12px;padding:16px;display:grid}.game-mission-item{background:linear-gradient(90deg,#edf7fff5,#ffffffd1),#fff;grid-template-columns:44px minmax(0,1fr) 66px;align-items:center;min-height:62px}.game-mission-icon{border-radius:50%;width:38px;height:38px;box-shadow:0 0 18px #2f6fed42}.game-mission-icon.mission-1{background:linear-gradient(90deg,#fff 0 16%,#0000 17%),linear-gradient(135deg,#4fc3ff,#2f6fed);border-radius:12px}.game-mission-icon.mission-2{background:radial-gradient(circle at 50% 36%,#fff 0 12%,#0000 13%),linear-gradient(135deg,#a771ff,#5a3bd8)}.game-mission-icon.mission-3{clip-path:polygon(50% 0,92% 18%,82% 78%,50% 100%,18% 78%,8% 18%);background:linear-gradient(135deg,#ff8f1f,#8038c7)}.game-mission-item em{color:#0d8f83;background:#dbfff8c2;border:1px solid #55d5c4;border-radius:999px;justify-self:end;padding:6px 9px;font-size:12px;font-style:normal;font-weight:900}.game-mission-item strong{white-space:nowrap}.game-ascend-panel .game-rank-track{align-items:start;gap:4px}.game-rank-node{position:relative}.game-rank-node:not(:last-child):after{content:"";background:linear-gradient(90deg,#8ab7ff,#2f6fed);width:calc(100% - 24px);height:2px;position:absolute;top:25px;left:calc(50% + 30px)}.game-rank-node span{clip-path:polygon(50% 0,92% 18%,82% 78%,50% 100%,18% 78%,8% 18%);border-radius:16px;width:50px;height:50px}.game-rank-node:first-child span{background:linear-gradient(135deg,#9d6a48,#f2d2b6)}.game-rank-node:nth-child(2) span{background:linear-gradient(135deg,#d7e4f4,#7b91ae)}.game-rank-node:nth-child(3) span{background:linear-gradient(135deg,#fff,#f2b12f)}.game-rank-node:nth-child(4) span{background:linear-gradient(135deg,#d7f6ff,#2f8df0)}.game-rank-node:nth-child(5) span{background:linear-gradient(135deg,#f1dcff,#8038c7)}.game-rank-node.active span{outline-offset:5px;outline:2px solid #1fd8ffd6;transform:scale(1.15)}.game-current-rank{background:#ffffffb3;border:1px solid #2f6fed2e;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px 12px;display:grid}.game-current-rank div{gap:5px;display:grid}.game-current-rank span{color:#8aa0bd;font-size:12px;font-weight:900}.game-current-rank strong{color:#102a56;font-size:19px}.game-reward-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.game-loot-card{text-align:center;background:#ffffffb8;border:1px solid #7dd3ff8a;border-radius:8px;justify-items:center;gap:4px;min-height:92px;padding:10px 8px;display:grid}.game-loot-card span{clip-path:polygon(50% 0,92% 22%,92% 76%,50% 100%,8% 76%,8% 22%);color:#fff;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid}.game-loot-card.blue span{background:linear-gradient(135deg,#1fd8ff,#2f6fed)}.game-loot-card.gold span{clip-path:none;background:radial-gradient(circle at 35% 25%,#fff6bb,#f2b12f 42%,#b96b00);border-radius:50%}.game-loot-card.crystal span{background:linear-gradient(135deg,#8bf0ff,#7b5cff 58%,#d94cff)}.game-loot-card.chest span{clip-path:none;background:linear-gradient(135deg,#8b4f26,#f2b12f 52%,#5c2d18);border-radius:10px}.game-loot-card strong{color:#102a56;font-size:13px}.game-loot-card small{color:#385375;font-size:12px;font-weight:900}.game-dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);gap:14px;display:grid}.game-growth-board{gap:16px;padding:18px;display:grid}.game-mini-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.game-mini-metrics .game-data-card{min-height:86px;padding:14px}.game-chart-area{grid-template-columns:minmax(0,1fr) 190px minmax(220px,.8fr);gap:12px;display:grid}.game-bars,.game-completion-ring,.game-radar-card{background:#ffffff9e;border:1px solid #2f6fed24;border-radius:8px;min-height:205px}.game-bars{justify-content:space-around;align-items:end;padding:24px 18px;display:flex}.game-bars span{background:linear-gradient(#3d8cff,#9bd6ff);border-radius:999px 999px 4px 4px;width:26px;box-shadow:0 0 16px #2f6fed38}.game-completion-ring{background:radial-gradient(circle, #fff 0 44%, transparent 45%), conic-gradient(#2f6fed 0 72%, #dce8f7 72% 100%);align-content:center;place-items:center;gap:8px;display:grid}.game-completion-ring strong{color:#102a56;font-size:42px}.game-completion-ring span{color:#385375;font-weight:900}.game-radar-card{grid-template-columns:repeat(2,minmax(0,1fr));align-content:end;gap:8px;padding:18px;display:grid;position:relative}.game-radar-shape{clip-path:polygon(50% 0,94% 38%,78% 96%,22% 96%,6% 38%);background:#2f6fed38;border:2px solid #2f6fed7a;width:116px;height:116px;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 26px #2f6fed2e}.game-radar-card p{color:#385375;justify-content:space-between;gap:8px;margin:0;font-size:12px;font-weight:900;display:flex}.game-side-boards{gap:14px;display:grid}.game-board-card{gap:10px;padding:18px;display:grid}.game-rank-row{border-bottom:1px solid #2f6fed1f;grid-template-columns:34px minmax(0,1fr) 54px 70px;align-items:center;gap:8px;padding:8px 0;display:grid}.game-rank-row span{color:#7a4c00;background:linear-gradient(135deg,#fff6bb,#f2b12f);border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.game-rank-row strong{color:#102a56}.game-rank-row em{color:#6c7f99;font-size:12px;font-style:normal;font-weight:900}.game-rank-row small{color:#b87700;font-weight:900}.game-unlock-row{border-bottom:1px solid #2f6fed1f;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;display:grid}.game-unlock-row>span{clip-path:polygon(50% 0,92% 18%,82% 78%,50% 100%,18% 78%,8% 18%);width:44px;height:44px;box-shadow:0 0 18px #2f6fed33}.game-unlock-row.silver>span{background:linear-gradient(135deg,#fff,#8aa0bd)}.game-unlock-row.blue>span{background:linear-gradient(135deg,#8bf0ff,#2f6fed)}.game-unlock-row.gold>span{background:linear-gradient(135deg,#fff6bb,#f2b12f)}.game-unlock-row strong{color:#102a56}.game-unlock-row small{color:#6c7f99;margin-top:2px;font-size:12px;font-weight:800;display:block}.game-assistant-bar{grid-template-columns:78px minmax(0,1fr) 150px 72px;align-items:center;gap:14px;min-height:78px;padding:12px 18px;display:grid}.game-bot-avatar{background:radial-gradient(circle at 34% 42%,#112a56 0 9%,#0000 10%),radial-gradient(circle at 66% 42%,#112a56 0 9%,#0000 10%),linear-gradient(#fff,#9bd6ff);border:2px solid #9bd6ff;border-radius:24px 24px 18px 18px;width:64px;height:50px;box-shadow:0 0 22px #2f6fed4d}.game-assistant-bar p{color:#385375;margin:0;font-weight:800}.game-assistant-bar p strong{color:#194fb0}.game-assistant-bar a{color:#194fb0;background:linear-gradient(135deg,#fff,#e7f6ff);border:1px solid #7dd3ff;border-radius:8px;justify-self:center;padding:10px 16px;font-weight:900;text-decoration:none}.game-orb{background:radial-gradient(circle at 45% 35%,#fff 0 8%,#0000 9%),radial-gradient(circle,#8bf0ff,#2f6fed 62%,#1c2c89);border:2px solid #7dd3ff;border-radius:50%;justify-self:end;width:52px;height:52px;box-shadow:0 0 26px #2f6fed75}.next-action-panel,.status-panel{align-content:start;gap:14px;display:grid}.next-action-panel h2,.status-panel h2{margin:0;font-size:24px}.next-action-panel p:not(.eyebrow){color:var(--muted);margin:0;line-height:1.7}.actions.left{justify-content:flex-start}.status-list{gap:8px;display:grid}.status-list span{border:1px solid var(--line);background:#fbfcff;border-radius:8px;padding:10px 12px;font-weight:700}.week-tabs{flex-wrap:wrap;gap:8px;display:flex}.dimension-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dimension-grid div{border:1px solid var(--line);background:#fbfcff;border-radius:8px;padding:16px}.dimension-grid span{color:var(--muted);font-size:13px;font-weight:700;display:block}.dimension-grid strong{margin-top:8px;font-size:24px;display:block}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h2,.panel h2{margin:0;font-size:20px}.section-heading a,.notice a,.text-link{color:var(--accent-strong);font-weight:700}.text-link{text-decoration:none}.text-link:hover{text-decoration:underline}.notice{color:#674b05;background:linear-gradient(100deg,#fffbe8fa,#fff6ccd6),repeating-linear-gradient(135deg,#0000 0 10px,#be8e190a 10px 12px);border:1px solid #d1a53480;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-width:0;min-height:54px;padding:14px 18px 14px 52px;display:flex;position:relative;overflow:hidden;box-shadow:inset 4px 0 #ddb13d,0 8px 22px #664e0f0f}.notice:before{content:"";background:#fffadeeb;border:1px solid #af801466;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:50%;left:19px;transform:translateY(-50%)rotate(45deg)}.notice:after{color:#a87912;content:"!";text-align:center;width:22px;font-size:13px;font-weight:900;position:absolute;top:50%;left:19px;transform:translateY(-50%)}.notice.compact{margin:16px 0;display:block}.alert{border-radius:8px;align-items:center;min-width:0;min-height:54px;padding:14px 18px 14px 52px;font-weight:800;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 24px #204d7012}.alert:before{border-radius:50%;place-items:center;width:24px;height:24px;font-size:14px;font-weight:900;display:grid;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.alert.error{color:#992735;background:linear-gradient(105deg,#fff3f4fa,#fffbfbe6);border:1px solid #d2414c61;box-shadow:inset 4px 0 #d54653,0 10px 24px #7a232f12}.alert.error:before{color:#b32f3d;content:"!";background:#ffe6e9f2;border:1px solid #d2414c57}.alert.success{color:#17664f;background:linear-gradient(105deg,#edfdf8fa,#f8fffde6);border:1px solid #29a48757;box-shadow:inset 4px 0 #31b694,0 10px 24px #1a755c12}.alert.success:before{color:#168064;content:"✓";background:#daf9f0f5;border:1px solid #29a48757}.table-wrap{overscroll-behavior-inline:contain;scrollbar-color:#3299d294 #e2f1f8b8;scrollbar-width:thin;background:#ffffffd1;border:1px solid #4591c638;border-radius:6px;max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #4884b129;padding:12px 10px}th{color:#3b617c;background:#ebf7fcb8;font-size:13px;font-weight:800}tbody tr{transition:background-color .14s,box-shadow .14s}tbody tr:hover{background:#ebf7fca8;box-shadow:inset 3px 0 #2b99d385}tr:last-child td{border-bottom:0}.inline-form,.form-grid,.filter-bar,.stacked-form{gap:12px;margin-top:16px;display:grid}.inline-form{grid-template-columns:minmax(220px,1fr) auto;align-items:end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{background:linear-gradient(105deg,#f8fdfff5,#edf8fee0),repeating-linear-gradient(90deg,#0000 0 31px,#268bcd09 32px);border:1px solid #4596cd4d;border-radius:8px;grid-template-columns:minmax(160px,220px) minmax(200px,1fr) auto auto;align-items:end;margin-bottom:18px;padding:16px;position:relative;overflow:hidden;box-shadow:inset 3px 0 #2aaae0b8}.students-filter-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f1faff94;border:1px solid #559fd333;border-radius:14px;grid-template-columns:minmax(220px,1.5fr) minmax(140px,.7fr) auto;align-items:end;gap:12px;margin:16px 0;padding:14px;display:grid}.students-filter-actions{align-items:center;gap:8px;padding-bottom:1px;display:flex}.students-export-actions{color:var(--muted);background:#f8fdffa8;border:1px solid #559fd329;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:-4px 0 16px;padding:10px 14px;font-size:13px;font-weight:800;display:flex}.student-roster-export-buttons{flex-wrap:wrap;gap:8px;display:flex}.student-roster-export .alert{margin-top:8px}.student-excel-import{gap:14px;display:grid}.student-import-preview{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4faffb8;border:1px solid #7db2e257;border-radius:14px;gap:10px;padding:14px;display:grid}.student-import-preview-summary{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-import-preview-summary strong{margin-right:auto}.student-import-issue-export{color:#3f5799;background:#eff3ffd1;border-color:#7e97d757}.preview-count,.preview-status{border-radius:999px;align-items:center;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.preview-count{padding:7px 10px}.preview-status{padding:5px 8px}.preview-count.ready,.preview-status.ready{color:#176c58;background:#74dcb933}.preview-count.duplicate,.preview-status.duplicate{color:#866319;background:#f4cb6938}.preview-count.error,.preview-status.error{color:#a13e52;background:#f0869e2e}.student-import-preview-table{max-height:320px}.bulk-student-edit{background:#f6fbffb3;border:1px solid #7db2e24d;border-radius:14px;padding:14px}.bulk-student-heading{align-items:flex-start}.bulk-student-heading>div{gap:4px;display:grid}.bulk-student-heading strong{color:#2c68bb;background:#ffffffb8;border:1px solid #71a5de38;border-radius:999px;padding:7px 11px;font-size:.86rem}.bulk-student-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bulk-student-toolbar .text-link{cursor:pointer;background:0 0;border:0}.bulk-student-toolbar .text-link:disabled{cursor:not-allowed;opacity:.45}.bulk-student-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;max-height:220px;display:grid;overflow-y:auto}.bulk-student-option{background:#ffffffb3;border:1px solid #8bb4dc42;border-radius:10px;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:flex}.bulk-student-option input{flex:none;width:auto}.bulk-student-controls{grid-template-columns:repeat(2,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.bulk-student-controls .confirm-line,.bulk-student-controls .button{min-height:42px}.audit-log-list{gap:8px;display:grid}.audit-log-item{background:#ffffffb8;border:1px solid #8bb4dc3d;border-radius:12px;justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.audit-log-item strong{color:#173a69;font-size:.94rem}.audit-log-item span{color:var(--muted);white-space:nowrap}.quick-filter-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.form-grid .wide{grid-column:1/-1}label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.field-label{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:700}.student-picker-toolbar{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.student-picker-toolbar span{border:1px solid var(--line);min-height:40px;color:var(--muted);background:#f9fafc;border-radius:8px;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.checkbox-tile{min-height:58px;color:var(--foreground);background:linear-gradient(145deg,#fbfefffa,#eff8fce6);border:1px solid #4c91c33d;border-radius:6px;align-items:flex-start;gap:10px;padding:10px;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex}.checkbox-tile:hover,.checkbox-tile:focus-within{border-color:#2b97d385;transform:translateY(-1px);box-shadow:0 7px 16px #1e699917,inset 3px 0 #2da7dc9e}.checkbox-tile input{width:auto;min-height:auto;margin-top:3px}.checkbox-tile span{gap:3px;display:grid}.checkbox-tile small{color:var(--muted);font-size:12px;font-weight:600;line-height:1.4}.bulk-action-bar{border:1px solid var(--line);color:var(--muted);background:#f9fafc;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:13px;font-weight:700;display:flex}.secondary-panel{background:#fbfcff}.template-forge-panel{background:radial-gradient(circle at 86% 12%,#ffd86a47,#0000 34%),linear-gradient(135deg,#ebf7fff0,#ffffffd1);border:1px solid #58b2ffb8;border-radius:8px;gap:16px;padding:22px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 40px #2f6fed1f}.template-forge-panel:after{pointer-events:none;content:"";background-image:linear-gradient(#2f6fed0f 1px,#0000 1px),linear-gradient(90deg,#2f6fed0f 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 78%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 78%,#0000)}.template-forge-head{z-index:1;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:16px;display:grid;position:relative}.template-forge-head h2,.template-lane-panel h3,.template-featured-panel h3{color:#102a56;margin:0}.template-forge-head p:not(.eyebrow){color:#385375;margin:8px 0 0;font-weight:800;line-height:1.7}.template-forge-orb{aspect-ratio:1;color:#194fb0;text-transform:uppercase;background:radial-gradient(circle at 32% 28%,#fff,#8bf0ffc7 34%,#2f6fed33 72%),#ffffffd1;border:1px solid #1fd8ffb3;border-radius:50%;place-items:center;font-size:13px;font-weight:1000;display:grid;box-shadow:inset 0 0 20px #fffc,0 0 26px #1fd8ff5c}.template-forge-stats,.template-featured-cards{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid;position:relative}.template-forge-stat,.template-card,.template-lane-panel,.template-featured-panel{background:#ffffffc7;border:1px solid #2f6fed29;border-radius:8px}.template-forge-stat,.template-card{gap:7px;padding:14px;display:grid}.template-forge-stat span,.template-forge-stat small,.template-card span,.template-card small{color:#6c7f99;font-size:12px;font-weight:900}.template-forge-stat strong{color:#102a56;font-size:26px}.template-forge-stat.gold,.template-card.gold{background:#fff9e8d6;border-color:#f2b12f6b}.template-forge-stat.crystal,.template-card.crystal{background:#f8f4ffdb;border-color:#8038c73d}.template-forge-grid{z-index:1;grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);gap:12px;display:grid;position:relative}.template-lane-panel,.template-featured-panel{gap:12px;padding:16px;display:grid}.template-lane-list{gap:10px;display:grid}.template-lane{grid-template-columns:54px 42px minmax(0,1fr);align-items:center;gap:10px;display:grid}.template-lane span,.template-lane strong{color:#102a56;font-weight:1000}.template-lane i{background:linear-gradient(90deg,#1fd8ff,#2f6fed);border-radius:999px;height:9px;display:block;box-shadow:0 0 14px #1fd8ff47}.template-lane.gold i,.template-card.gold b{background:linear-gradient(90deg,#fff0a3,#f2b12f)}.template-lane.green i{background:linear-gradient(90deg,#b5f2d0,#30b981)}.template-lane.crystal i,.template-card.crystal b{background:linear-gradient(90deg,#8bf0ff,#8038c7)}.template-card{align-content:space-between;min-height:152px;position:relative;overflow:hidden}.template-card:before{content:"";clip-path:polygon(50% 0,92% 22%,92% 76%,50% 100%,8% 76%,8% 22%);opacity:.18;background:linear-gradient(135deg,#1fd8ff,#2f6fed);width:44px;height:44px;position:absolute;inset:10px 10px auto auto}.template-card strong{color:#102a56;font-size:18px}.template-card b{color:#102a56;background:#dcefffe6;border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px}.secondary-tools{gap:12px;display:grid}.secondary-tools summary{cursor:pointer;color:var(--accent);font-weight:800}.secondary-tools-body{gap:12px;margin-top:12px;display:grid}.compact-secondary-tools{border:1px solid var(--line);background:#fbfcff;border-radius:8px;padding:12px}.compact-secondary-tools .bulk-action-bar{margin-top:12px}.bulk-reject-controls{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.bulk-reject-reason{min-width:220px}.bulk-review-status{color:var(--muted)}.bulk-selection-stack{gap:4px;display:grid}.select-all-line{color:var(--foreground);align-items:center;gap:8px;font-weight:800;display:inline-flex}.select-all-line input{width:auto;min-height:auto}.select-line{min-width:72px;color:var(--foreground);align-self:flex-start;align-items:center;gap:8px;display:inline-flex}.select-line input{width:auto;min-height:auto}input,select,textarea{width:100%;color:var(--foreground);font:inherit;letter-spacing:0;background:#fcfefff5;border:1px solid #4a8bbe57;border-radius:6px;padding:8px 11px;transition:border-color .14s,box-shadow .14s,background-color .14s;box-shadow:inset 0 1px 2px #1f4b6b0b}input:hover,select:hover,textarea:hover{border-color:#278bcb80}input:focus,select:focus,textarea:focus{background:#fff;border-color:#269fdb;outline:none;box-shadow:0 0 0 3px #2aa6e024,inset 0 1px 2px #1f4b6b0a}input::placeholder,textarea::placeholder{color:#8497a6}input:disabled,select:disabled,textarea:disabled{color:#788995;cursor:not-allowed;background:#edf2f4}input,select{min-height:40px}.compact-input{min-width:72px;min-height:34px;padding:6px 8px}textarea{resize:vertical;min-height:132px;line-height:1.6}input[type=checkbox],input[type=radio]{accent-color:#238fd4}.submission-list{gap:12px;display:grid}.list-item{border:1px solid var(--line);border-radius:8px;justify-content:space-between;gap:18px;padding:16px;display:flex}.list-item p{margin:6px 0 0}.meta-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.badge{color:#17618f;background:linear-gradient(#effafffa,#dcf0fceb);border:1px solid #4297d557;border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:12px;font-weight:800;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffffe0,0 3px 8px #2266970f}.warning-badge{color:#715007;background:linear-gradient(#fffbed,#ffefbd);border-color:#cf9f236b;box-shadow:inset 0 1px #ffffffe6,0 3px 9px #8e650c14}.muted-badge{color:#647685;box-shadow:none;background:linear-gradient(#f6f9fa,#e9eff2);border-color:#738b9d47}.event-detail-group{gap:8px;margin-bottom:12px;display:grid}.event-detail-group:last-child{margin-bottom:0}.chip-list{flex-wrap:wrap;gap:6px;display:flex}.event-chip{color:var(--foreground);background:#f7faff;border:1px solid #d6e0f2;border-radius:8px;gap:2px;padding:6px 8px;font-size:12px;font-weight:700;display:inline-grid}.event-chip small{color:var(--warning);font-weight:700}.muted-chip{background:#fffaf0;border-color:#ead8a4}.star-breakdown{grid-template-columns:repeat(2,minmax(80px,1fr));gap:8px;display:grid}.star-breakdown span{border:1px solid var(--line);background:#fbfcff;border-radius:8px;gap:3px;padding:8px;display:grid}.star-breakdown small{color:var(--muted);font-size:12px;font-weight:700}.star-breakdown strong{font-size:18px}.title-choice{gap:6px;min-width:180px;display:grid}.title-choice small{font-size:12px;font-weight:700}.title-conflict-summary{gap:10px;display:grid}.title-conflict-summary .event-chip{max-width:360px}.preflight-checklist{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.preflight-item{border:1px solid var(--line);background:#fbfcff;border-radius:8px;gap:4px;padding:10px;display:grid}.preflight-item span,.preflight-item small{color:var(--muted);font-size:12px;font-weight:700}.preflight-item strong{font-size:20px}.warning-item{background:linear-gradient(145deg,#fffdf2f5,#fff7d8d6);border-color:#d5a9376b}.cap-warning-summary{background:linear-gradient(110deg,#fffdf0fa,#fff6d1d1),repeating-linear-gradient(135deg,#0000 0 12px,#b9840f09 12px 14px);border:1px solid #d5a93780;border-radius:8px;gap:12px;padding:18px 18px 18px 22px;display:grid;position:relative;overflow:hidden;box-shadow:inset 4px 0 #d9ad3c}.cap-warning-summary:after{content:"";border:8px solid #be8c1914;width:74px;height:74px;position:absolute;top:-24px;right:22px;transform:rotate(45deg)}.cap-warning-summary p{margin:4px 0 0}.cap-warning-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.draft-refresh-prompt{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.draft-refresh-prompt p{margin:4px 0 0}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.table-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.deactivate-student-form{align-items:center;gap:8px;display:flex}.reject-form{gap:8px;display:flex}.confirm-line{color:var(--foreground);grid-template-columns:none;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.confirm-line:not(.compact-confirm){background:#f4fbfedb;border:1px solid #448fc13b;border-radius:6px;min-height:46px;padding:10px 12px}.confirm-line:focus-within{border-color:#2697d380;box-shadow:0 0 0 3px #2aa6e01a}.confirm-line input{width:auto;min-height:0;box-shadow:none}.compact-confirm{white-space:nowrap;min-height:38px}.compact-form{margin-top:0}.muted{color:var(--muted)}.warning{color:var(--warning)}.empty-state p{color:var(--muted);margin:10px 0 0}.empty-state.compact{background:linear-gradient(105deg,#f4fcfff5,#ffffffd6);border:1px dashed #3793c66b;border-radius:8px;min-height:68px;padding:20px 20px 20px 58px;position:relative;overflow:hidden}.empty-state.compact:before{content:"";border:2px solid #2a8cbe6b;width:20px;height:20px;position:absolute;top:50%;left:22px;transform:translateY(-50%)rotate(45deg);box-shadow:0 0 0 6px #2d9ed40f}.empty-state.compact p{margin:0}@media (max-width:720px){.app-shell{width:100%;margin:0;padding:24px 12px}.topbar,.page-title,.list-item,.notice{display:grid}.page-title,.panel{padding:22px}h1{font-size:28px}.metric-grid,.simple-page-summary,.status-grid,.workbench-grid,.simple-home-grid,.command-hero,.command-stat-grid,.command-main-grid,.template-forge-head,.template-forge-stats,.template-forge-grid,.template-featured-cards,.core-action-grid,.dimension-grid,.form-grid,.inline-form,.filter-bar,.students-filter-bar,.student-picker-toolbar,.bulk-action-bar{grid-template-columns:1fr}.students-filter-actions{flex-wrap:wrap}.students-export-actions{flex-direction:column;align-items:flex-start}.reject-form{display:grid}.game-hero-stage,.game-data-grid,.game-dashboard-grid,.game-chart-area,.game-assistant-bar,.game-rank-track,.game-reward-grid,.submission-loot-grid,.settlement-hud-counters,.submission-mission-grid{grid-template-columns:1fr}.game-side-nav{min-height:auto}.game-side-nav nav{grid-template-columns:repeat(2,minmax(0,1fr))}.game-topbar{grid-template-columns:1fr;display:grid}.game-topbar,.game-hero-stage,.game-dashboard-grid,.game-growth-board,.game-side-boards,.game-board-card,.game-assistant-bar{min-width:0;max-width:100%}.submission-mission-map,.submission-reward-preview,.settlement-energy-console,.settlement-ceremony-map,.template-forge-panel,.template-lane-panel,.template-featured-panel,.template-card{min-width:0}.template-forge-orb{justify-self:start;width:96px}.template-lane{grid-template-columns:48px 36px minmax(0,1fr)}.submission-mission-node{grid-template-columns:46px minmax(0,1fr)}.submission-mission-node em{grid-column:2;justify-self:start}.submission-broadcast-card,.settlement-broadcast-card{grid-template-columns:1fr}.game-mini-metrics,.game-reward-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.game-ascend-panel .game-rank-track{grid-template-columns:repeat(5,minmax(0,1fr))}.game-rank-node:not(:last-child):after{display:none}.game-assistant-bar{justify-items:start}.game-orb{justify-self:start}.game-center-panel h2{font-size:30px}.game-character-panel{min-height:390px}.game-character{max-height:360px}}.nav-badge{color:#241500;background:#ffcf4a;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.fast-entry-workspace{gap:16px;padding-bottom:88px;display:grid}.fast-entry-student-search{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.fast-entry-template-tools{border:1px solid var(--line);background:var(--panel);border-radius:12px;gap:14px;padding:16px;display:grid}.fast-entry-student-search label{min-width:min(260px,100%)}.fast-entry-roster{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.fast-entry-student-choice{border:1px solid var(--line);min-height:68px;color:var(--foreground);text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:30px 1fr;align-items:center;gap:4px 8px;padding:10px;display:grid}.fast-entry-student-choice small{color:var(--muted);grid-column:2}.fast-entry-student-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.fast-entry-summary{z-index:40;border:1px solid var(--line-strong);box-shadow:var(--shadow-soft);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;bottom:12px;left:clamp(12px,1.5vw,24px);right:clamp(12px,1.5vw,24px)}@media (max-width:720px){.fast-entry-heading{padding:18px}.fast-entry-template-tools{padding:12px}.fast-entry-summary{flex-direction:column;align-items:stretch}.fast-entry-summary .button{min-height:44px}}@media (prefers-reduced-motion:reduce){.fast-entry-workspace *,.fast-entry-workspace :before,.fast-entry-workspace :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.fast-review-workspace,.fast-review-groups,.fast-review-records{gap:14px;display:grid}.fast-review-summary{z-index:30;border:1px solid var(--line-strong);box-shadow:var(--shadow-soft);background:#fff;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid;position:sticky;top:88px}.fast-review-summary>div{min-width:84px;display:grid}.fast-review-summary strong{color:var(--accent-strong);font-size:28px}.fast-review-summary span,.fast-review-summary p{color:var(--muted)}.fast-review-summary p{margin:0}.fast-review-group{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:16px;display:grid}.fast-review-group>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.fast-review-group h2,.fast-review-group p{margin:0}.fast-review-group p{color:var(--muted);margin-top:4px}.fast-review-group summary{min-height:44px;color:var(--accent-strong);cursor:pointer;padding:10px 0;font-weight:800}.fast-review-record{border:1px solid var(--line);background:#fbfdff;border-radius:8px;grid-template-columns:auto minmax(150px,.8fr) minmax(220px,1.2fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.fast-review-record>input{width:20px;min-height:20px}.fast-review-student{display:grid}.fast-review-student small,.fast-review-note{color:var(--muted)}.fast-review-reward{font-weight:800}.fast-review-note{grid-column:2/-1}.fast-review-record:not(:has(input:checked)){opacity:.72;background:#f3f5f7}@media (max-width:720px){.fast-review-summary{grid-template-columns:1fr;position:static}.fast-review-summary .button{width:100%;min-height:44px}.fast-review-group{padding:12px}.fast-review-group>header{flex-direction:column;align-items:stretch}.fast-review-record{grid-template-columns:auto minmax(0,1fr) auto}.fast-review-reward,.fast-review-note{grid-column:2/-1}}.subject-teacher-workspace input[type=checkbox],.subject-teacher-workspace input[type=radio]{flex:0 0 20px;width:20px;min-height:20px;margin:0;padding:0}.subject-task-form>.form-span-2{grid-column:1/-1}.exam-create-details>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;list-style:none;display:flex}.exam-create-details>summary::-webkit-details-marker{display:none}.exam-create-details>summary:after{content:"展开";color:var(--accent-strong);font-size:14px;font-weight:800}.exam-create-details[open]>summary:after{content:"收起"}.exam-create-details>summary>span{gap:2px;display:grid}.exam-create-details>summary strong{font-size:18px}.exam-create-details>summary small{color:var(--muted);font-size:14px;font-weight:600}.exam-create-details-body{border-top:1px solid var(--line);gap:16px;margin-top:16px;padding-top:16px;display:grid}.exam-create-details-body>p{margin:0}.exam-create-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.exam-preset-tools,.exam-preset-message,.exam-create-actions,.exam-create-clear-confirmation{grid-column:1/-1}.exam-preset-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.exam-preset-tools>span{color:var(--muted);font-size:14px;font-weight:700}.exam-create-actions{flex-wrap:wrap;gap:8px;display:flex}.exam-assessment-list,.student-exam-list,.exam-score-entry{gap:14px;display:grid}.exam-assessment-filters{flex-wrap:wrap;gap:8px;display:flex}.exam-assessment-filters .button[aria-current=page]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.exam-assessment-card{gap:14px;display:grid}.exam-assessment-card>header,.student-exam-card>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.exam-assessment-card h3,.student-exam-card h3{margin:6px 0 3px}.exam-assessment-card{scroll-margin-top:16px}.exam-assessment-card header p,.student-exam-card header p{color:var(--muted);margin:0}.exam-assessment-meta{flex-wrap:wrap;gap:2px 14px;display:flex}.exam-assessment-card details>summary,.exam-goal-picker>summary{min-height:44px;color:var(--accent-strong);cursor:pointer;padding:10px 0;font-weight:800}.exam-goal-picker>summary small{color:var(--muted);margin-top:3px;font-weight:600;display:block}.exam-result-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;display:grid}.exam-result-summary div{border:1px solid var(--line);background:#fbfdff;border-radius:10px;padding:12px}.exam-result-summary dt{color:var(--muted);font-size:13px}.exam-result-summary dd{margin:3px 0 0;font-size:20px;font-weight:900}.exam-import-tools{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exam-import-tools span{color:var(--muted);font-size:13px}.exam-draft-clear{justify-items:start;gap:10px;display:grid}.exam-clear-draft-confirmation{background:var(--danger-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 14px;width:100%;padding:11px 12px;display:flex}.exam-clear-draft-confirmation p{flex:280px;margin:0}.exam-clear-draft-actions{flex-wrap:wrap;gap:8px;display:flex}.exam-score-progress{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:6px 16px;margin:0;font-size:14px;display:flex}.exam-score-progress strong{color:var(--foreground)}.exam-score-entry-link{justify-self:start}.exam-edit-details,.exam-delete-details{border-top:1px solid var(--line);padding-top:4px}.exam-edit-details[open]{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:0 12px 12px}.exam-edit-shell{gap:12px;display:grid}.exam-edit-shell>p{margin:0}.exam-edit-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;max-width:760px}.exam-create-error,.exam-edit-error{grid-column:1/-1;margin:0}.exam-edit-actions{grid-column:1/-1}.exam-delete-details[open]{background:var(--danger-soft);border:1px solid #d2414c4d;border-radius:10px;padding:0 12px 12px}.exam-delete-details form{max-width:520px}.exam-delete-details form>p{margin:0}.exam-score-entry-shell{border-top:1px solid var(--line);gap:14px;padding-top:14px;display:grid}.exam-score-entry-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.exam-score-entry-heading>div{gap:2px;display:grid}.exam-score-entry-heading small{color:var(--muted)}.exam-score-view-switch{flex-wrap:wrap;gap:8px;display:flex}.exam-score-view-switch .button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.exam-file-button{position:relative;overflow:hidden}.exam-file-button input{opacity:0;width:1px;height:1px;position:absolute}.exam-score-table th small{color:var(--muted);font-weight:400;display:block}.exam-score-table input[type=number]{min-width:110px}.form-field-error,.exam-score-error{color:var(--danger);margin-top:4px;font-weight:700;display:block}.exam-score-table input[type=checkbox]{width:22px;min-height:22px;margin:0}.exam-score-empty-row td{text-align:center;color:var(--muted);padding:20px}.exam-publish-confirmation{border:1px solid var(--line);background:var(--panel);border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.exam-publish-confirmation input{flex:0 0 22px;width:22px;min-height:22px;margin:1px 0 0}.exam-publish-confirmation span{gap:2px;display:grid}.exam-publish-confirmation small{color:var(--muted)}.student-exam-challenges{gap:14px;display:grid}.student-exam-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:10px;padding:15px;display:grid}.student-exam-card header>div>span{color:var(--accent-strong);font-size:12px;font-weight:900}.exam-baseline,.exam-goal-copy,.exam-score-copy{margin:0}.exam-baseline{color:var(--muted)}.exam-goal-copy,.exam-score-copy{background:var(--accent-soft);border-radius:8px;padding:9px 11px}.exam-goal-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.exam-goal-options form{border:1px solid var(--line);background:#fbfdff;border-radius:10px;justify-content:space-between;align-items:end;gap:10px;padding:11px;display:flex}.exam-goal-options form.is-current{border-color:var(--accent);background:var(--accent-soft)}.exam-goal-options label,.exam-goal-options form>div{flex:1;gap:5px;display:grid}.exam-goal-options small{color:var(--muted)}.exam-current-choice{width:max-content;color:var(--accent-strong);font-size:12px;font-weight:900}@media (max-width:720px){.exam-create-form,.exam-edit-form,.exam-goal-options,.exam-result-summary{grid-template-columns:1fr}.exam-assessment-card>header,.student-exam-card>header,.exam-goal-options form{flex-direction:column;align-items:stretch}.exam-goal-options .button{min-height:44px}}.student-task-map,.student-task-list{gap:14px;display:grid}.student-task-map{border-left:3px solid #ffcf4a73;padding-left:22px}.student-task-node{border:1px solid var(--line);background:var(--panel);border-radius:18px;align-items:center;gap:14px;padding:16px;display:flex}.task-node-index{color:#241500;background:#ffcf4a;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.student-task-side-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;display:grid}.goal-progress,.task-reminder{border-bottom:1px solid var(--line);gap:10px;padding:10px 0;display:flex}.goal-progress{flex-direction:column}.goal-progress progress{width:100%}.task-reminder span,.task-reminder small{display:block}@media (max-width:800px){.student-task-side-grid{grid-template-columns:1fr}.student-task-node{flex-direction:column;align-items:flex-start}.student-task-map{margin-left:8px}}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ds-canvas:#f7f5ff;--ds-canvas-student:#f2f0ff;--ds-surface:#fff;--ds-surface-subtle:#f0edf9;--ds-surface-strong:#e4e2ff;--ds-ink:#18172a;--ds-ink-soft:#4a4763;--ds-text-secondary:#4a4763;--ds-text-tertiary:#625e7c;--ds-line:#cbc5e1;--ds-line-strong:#978eb8;--ds-action:#4f46e5;--ds-action-hover:#3730a3;--ds-action-soft:#e4e2ff;--ds-focus:#4f46e5;--ds-role:#7c3aed;--ds-role-strong:#5b21b6;--ds-role-soft:#eadfff;--ds-energy:#e11d68;--ds-energy-soft:#ffe0ec;--ds-starlight:#9a4b00;--ds-starlight-soft:#ffe8b5;--ds-success:#087f6d;--ds-success-soft:#cff5e9;--ds-info-soft:#d9eeff;--ds-warning:#8a4700;--ds-warning-soft:#ffe8b5;--ds-danger:#c52233;--ds-danger-soft:#ffe1e4;--ds-radius-control:12px;--ds-radius-compact:12px;--ds-radius-surface:16px;--ds-radius-prominent:20px;--ds-motion-fast:.12s;--ds-motion-normal:.18s;--ds-motion-slow:.26s;--ds-ease-out:cubic-bezier(.16, 1, .3, 1);--z-sticky:20;--z-dropdown:30;--z-backdrop:40;--z-dialog:50;--z-toast:60;--z-tooltip:70;--background:var(--ds-canvas);--foreground:var(--ds-ink);--text:var(--ds-ink);--muted:var(--ds-text-tertiary);--panel:var(--ds-surface);--line:var(--ds-line);--line-strong:var(--ds-line-strong);--accent:var(--ds-focus);--accent-strong:var(--ds-action);--accent-soft:var(--ds-action-soft);--electric:#2563eb;--gold:var(--ds-starlight);--gold-soft:var(--ds-starlight-soft);--success:var(--ds-success);--success-soft:var(--ds-success-soft);--danger:var(--ds-danger);--danger-soft:var(--ds-danger-soft);--warning:var(--ds-warning);--warning-soft:var(--ds-warning-soft);--rejected:#8b4d57;--rejected-soft:#f7eef0;--shadow:0 6px 0 #d7d1eb, inset 0 1px 0 #ffffffdb;--shadow-soft:0 3px 0 #ddd8ee, inset 0 1px 0 #ffffffd1;--focus-ring:0 0 0 3px var(--ds-focus)}.guardian-contact-search{align-items:center;gap:10px;padding:12px 14px;display:flex}.guardian-contacts-page{gap:12px;width:100%;max-width:none}.guardian-contacts-heading{padding:20px 24px}.guardian-contacts-heading .eyebrow{margin-bottom:4px}.guardian-contacts-heading h1{font-size:28px;line-height:36px}.guardian-contacts-heading .lead{margin-top:4px}.guardian-contacts-privacy{margin:0}.guardian-contact-search-field{flex:1;align-items:center;min-width:260px;max-width:420px;display:flex;position:relative}.guardian-contact-search-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.guardian-contact-search-field svg{z-index:1;color:var(--ds-ink-soft);pointer-events:none;position:absolute;left:13px}.guardian-contact-search-field input{width:100%;min-height:44px;padding-left:42px}.guardian-contact-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.guardian-contact-card{border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:14px;flex-direction:column;gap:9px;min-width:0;min-height:154px;padding:14px 14px 11px;display:flex;box-shadow:0 3px 8px #3656440f}.guardian-contact-card-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.guardian-contact-student{align-items:center;gap:7px;min-width:0;display:flex}.guardian-contact-student strong{color:var(--ds-ink);text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.guardian-contact-student span{color:#35739a;background:#e3f1f8;border-radius:999px;flex:none;padding:3px 7px;font-size:11px;font-weight:750}.guardian-contact-call{background:var(--ds-action-soft);width:42px;height:42px;color:var(--ds-action);transition:background var(--ds-motion-normal) var(--ds-ease-out), color var(--ds-motion-normal) var(--ds-ease-out);border-radius:12px;flex:0 0 42px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.guardian-contact-call:hover{background:var(--ds-action);color:#fff}.guardian-contact-summary{gap:3px;margin:0;display:grid}.guardian-contact-summary>div{grid-template-columns:38px minmax(0,1fr);gap:5px;min-width:0;font-size:13px;line-height:18px;display:grid}.guardian-contact-summary :where(dt,dd){min-width:0;margin:0}.guardian-contact-summary dt{color:var(--ds-ink-soft)}.guardian-contact-summary dd{color:#5d7467;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guardian-contact-editor{border-top:1px solid #e1ece6;margin-top:auto;padding-top:7px}.guardian-contact-editor summary{min-height:32px;color:var(--ds-action);cursor:pointer;align-items:center;gap:5px;font-size:12px;font-weight:800;list-style:none;display:inline-flex}.guardian-contact-editor summary::-webkit-details-marker{display:none}.guardian-contact-editor form{gap:8px;padding-top:8px;display:grid}.guardian-contact-editor label{color:var(--ds-ink-soft);gap:4px;font-size:12px;font-weight:700;display:grid}.guardian-contact-editor input{min-height:40px;padding:8px 10px}.guardian-contact-address{min-width:0}.guardian-contact-count{color:var(--ds-ink-soft);margin:-2px 2px 0;font-size:13px}@media (max-width:1100px){.guardian-contact-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}@media (max-width:620px){.guardian-contact-search{grid-template-columns:1fr;display:grid}.guardian-contact-search-field{width:100%;min-width:0;max-width:none}.guardian-contact-search .button{width:100%}.guardian-contact-list{grid-template-columns:1fr}}.seat-plan-summary,.seat-plan-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.seat-plan-summary h2,.seat-plan-summary p{margin:0}.seat-plan-summary p{margin-top:4px}.seat-plan-toolbar{grid-template-columns:100px 100px minmax(260px,1fr) auto;align-items:end;gap:14px;display:grid}.seat-plan-toolbar p{color:var(--muted);align-self:center;margin:0}.seat-plan-classroom{overflow-x:auto}.seat-plan-front{border:1px solid var(--line-strong);background:var(--ds-surface-subtle);width:min(420px,70%);color:var(--muted);text-align:center;border-radius:10px;margin:0 auto 24px;padding:9px 18px}.seat-plan-grid{gap:10px;min-width:max-content;display:grid}.seat-plan-seat{border:1px dashed var(--line-strong);background:var(--ds-surface-subtle);min-height:72px;color:var(--muted);cursor:pointer;border-radius:12px;padding:8px}.seat-plan-seat.is-readonly{cursor:default}.seat-plan-seat span,.seat-plan-seat small{font-size:.72rem;display:block}.seat-plan-seat strong{color:var(--foreground);margin:3px 0;display:block}.seat-plan-seat.is-occupied{border-style:solid;border-color:var(--ds-action);background:var(--ds-action-soft)}.seat-plan-seat.is-selected,.seat-plan-unseated .event-chip.is-selected{outline:3px solid var(--ds-starlight);outline-offset:2px}.seat-plan-unseated .event-chip{cursor:pointer}.seat-plan-seat[draggable=true],.seat-plan-unseated .event-chip[draggable=true]{cursor:grab}.seat-plan-seat.is-dragging,.seat-plan-unseated .event-chip.is-dragging{cursor:grabbing;opacity:.48}.seat-plan-seat.is-drag-over{border-color:#287f67;transform:translateY(-2px);box-shadow:0 0 0 3px #287f672e}.seat-plan-unseated.is-drag-over{outline-offset:-8px;background:#eefaf5;outline:2px dashed #287f67}.seat-plan-drag-hint{margin:-.2rem 0 .75rem}@media (max-width:800px){.seat-plan-summary,.seat-plan-actions{flex-direction:column;align-items:stretch}.seat-plan-summary .button,.seat-plan-actions .button{width:100%}.seat-plan-toolbar{grid-template-columns:1fr 1fr}.seat-plan-toolbar p,.seat-plan-toolbar .button{grid-column:1/-1}}.duty-week-switcher,.duty-schedule-toolbar,.duty-schedule-footer{align-items:center;gap:12px;display:flex}.duty-week-switcher{justify-content:center}.duty-week-switcher strong{text-align:center;min-width:90px}.duty-week-switcher .is-disabled{pointer-events:none;opacity:.45}.duty-schedule-toolbar>div{flex:1}.duty-schedule-toolbar p{color:var(--muted);margin:4px 0 0}.duty-week-grid{grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.duty-day-card{min-width:210px}.duty-day-card h2{text-align:center;margin:0 0 12px;font-size:1.08rem}.duty-period-card{border-top:1px solid var(--line);gap:9px;padding:12px 0;display:grid}.duty-period-heading{justify-content:space-between;gap:8px;display:flex}.duty-period-heading button{color:var(--danger);cursor:pointer;background:0 0;border:0;font-size:.76rem}.duty-student-chips{flex-wrap:wrap;gap:6px;min-height:28px;display:flex}.duty-student-chips button{border:1px solid var(--ds-action);background:var(--ds-action-soft);color:var(--foreground);cursor:pointer;border-radius:999px;padding:4px 8px}.duty-period-card label{font-size:.82rem}.duty-schedule-footer label{flex:1}@media (max-width:760px){.duty-schedule-toolbar,.duty-schedule-footer{flex-direction:column;align-items:stretch}.duty-schedule-toolbar>*,.duty-schedule-footer>*{width:100%}}.class-committee-page{gap:12px;width:100%;max-width:none}.class-committee-heading{justify-content:space-between;align-items:center;gap:24px;padding:20px 24px;display:flex}.class-committee-heading-copy{min-width:0}.class-committee-heading .eyebrow{margin-bottom:4px}.class-committee-heading h1{font-size:28px;line-height:36px}.class-committee-heading .lead{margin-top:4px}.class-committee-overview{background:var(--ds-action-soft);min-height:40px;color:var(--ds-ink-soft);border-radius:12px;flex:none;align-items:center;gap:6px;margin:0;padding:8px 12px;font-size:13px;display:inline-flex}.class-committee-overview svg,.class-committee-overview strong{color:var(--ds-action-hover)}.class-committee-create{border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:14px}.class-committee-create>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:54px;padding:10px 14px;list-style:none;display:flex}.class-committee-create>summary::-webkit-details-marker{display:none}.class-committee-create>summary>span{color:var(--ds-action-hover);align-items:center;gap:8px;font-weight:800;display:inline-flex}.class-committee-create>summary>small{color:var(--ds-ink-soft);font-size:12px}.class-committee-create[open]>summary{border-bottom:1px solid var(--ds-line);background:var(--ds-action-soft)}.class-committee-create-body{padding:14px}.class-committee-create-form{grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) 100px minmax(240px,1.5fr) auto;align-items:end;gap:10px;display:grid}.class-committee-create-form label,.class-committee-tile-form label{min-width:0;color:var(--ds-ink-soft);gap:5px;font-size:12px;font-weight:700;display:grid}.class-committee-create-duty{min-width:0}.class-committee-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.class-committee-tile{border:1px solid var(--ds-line);background:var(--ds-surface);border-radius:14px;min-width:0}.class-committee-tile-summary{cursor:pointer;min-height:150px;transition:background var(--ds-motion-fast) var(--ds-ease-out);flex-direction:column;gap:10px;padding:13px 14px 11px;list-style:none;display:flex}.class-committee-tile-summary::-webkit-details-marker{display:none}.class-committee-tile-summary:hover{background:var(--ds-action-soft)}.class-committee-tile-summary:focus-visible,.class-committee-create>summary:focus-visible{outline:3px solid var(--ds-focus);outline-offset:-3px}.class-committee-tile[open]>.class-committee-tile-summary{border-bottom:1px solid var(--ds-line);background:var(--ds-action-soft);min-height:0}.class-committee-tile-head{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.class-committee-role{color:var(--ds-action-hover);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.class-committee-student{align-items:center;gap:9px;min-width:0;display:flex}.class-committee-avatar{background:var(--ds-action-soft);width:34px;height:34px;color:var(--ds-action-hover);border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:inline-flex}.class-committee-student>span:last-child{gap:1px;min-width:0;display:grid}.class-committee-student strong{color:var(--ds-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.class-committee-student small{color:var(--ds-ink-soft);font-size:12px}.class-committee-duty{color:var(--ds-ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:auto;font-size:13px;line-height:20px;display:-webkit-box;overflow:hidden}.class-committee-edit-icon{width:36px;height:36px;color:var(--ds-action);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.class-committee-tile-editor{background:var(--ds-surface-subtle);padding:12px 14px 14px}.class-committee-tile-form{gap:8px;display:grid}.class-committee-tile-form label{color:var(--ds-ink-soft);gap:4px;font-size:12px;font-weight:700;display:grid}.class-committee-tile-form :where(input,select),.class-committee-create-form :where(input,select){min-height:42px;padding:8px 10px}.class-committee-delete-form{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}@media (max-width:1100px){.class-committee-create-form{grid-template-columns:1fr 1fr}.class-committee-create-duty{grid-column:1/-1}.class-committee-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}@media (max-width:720px){.class-committee-heading{flex-direction:column;align-items:flex-start;gap:12px}.class-committee-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}}@media (max-width:560px){.class-committee-create-form,.class-committee-tile-form{grid-template-columns:1fr}.class-committee-create-duty{grid-column:1}.class-committee-create>summary>small{display:none}.class-committee-grid{grid-template-columns:1fr}.class-committee-delete-form{flex-direction:column;align-items:stretch}}.class-timetable-view,.class-timetable-editor,.class-timetable-section{min-width:0}.class-timetable-section>summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.class-timetable-section>summary small{color:var(--muted);font-size:.82rem;font-weight:600}.class-timetable-empty-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.class-timetable-table{table-layout:fixed;min-width:1080px}.class-timetable-table th,.class-timetable-table td{text-align:center;vertical-align:middle}.class-timetable-table th:first-child{width:72px}.class-timetable-table th:nth-child(2){width:92px}.class-timetable-table th:nth-child(3){width:128px}.class-timetable-view tbody th{color:var(--foreground);font-weight:800}.timetable-editor-table{min-width:1420px}.timetable-editor-table th:last-child{width:126px}.timetable-editor-table :where(input,select){width:100%;min-width:0}.timetable-editor-table select{cursor:pointer;font-weight:700}.class-timetable-view tbody td:not(:nth-child(3)){color:#174b72;font-weight:750}.class-timetable-period-group{background:color-mix(in srgb, var(--brand-soft) 70%, white);color:#176c59!important;font-weight:900!important}.class-timetable-weekend{background:#eef7f3b8}.timetable-week-summary{border:1px solid var(--line);background:color-mix(in srgb, var(--brand-soft) 45%, white);border-radius:12px;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 14px;display:flex}.timetable-week-summary strong{color:#125f50;font-size:1.05rem}.timetable-week-summary span{color:var(--muted);font-size:.86rem}.class-timetable-course-manager,.class-timetable-excel-section{min-width:0}.timetable-course-add-form,.timetable-course-rename-form,.timetable-course-delete-form,.timetable-excel-actions{align-items:end;gap:10px;display:flex}.timetable-course-add-form label,.timetable-course-rename-form{flex:1}.timetable-course-add-form input,.timetable-course-rename-form input{width:100%}.timetable-course-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.timetable-course-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:8px;padding:10px;display:flex}.timetable-course-delete-form{align-items:center}.timetable-excel-actions{justify-content:space-between}.timetable-excel-preview{margin-top:14px}.timetable-whole-delete-form{justify-content:flex-end;display:flex}.timetable-row-actions{justify-content:center;gap:4px;display:flex}.timetable-row-actions button{border:1px solid var(--line);background:var(--surface);min-width:32px;color:var(--foreground);cursor:pointer;border-radius:8px;padding:6px}.timetable-row-actions button:disabled{cursor:not-allowed;opacity:.4}.timetable-editor-footer{align-items:center;gap:12px;display:flex}.timetable-read-actions{justify-content:flex-end;display:flex}.timetable-editor-footer span{color:var(--muted);flex:1;font-size:.86rem}@media (max-width:640px){.class-timetable-section>summary,.class-timetable-empty-row,.timetable-editor-footer{flex-direction:column;align-items:stretch}.timetable-course-list{grid-template-columns:1fr}.timetable-course-item,.timetable-course-add-form,.timetable-course-rename-form,.timetable-course-delete-form,.timetable-excel-actions,.timetable-whole-delete-form{flex-direction:column;align-items:stretch}}html{background:var(--ds-canvas);min-width:320px}body{background:var(--ds-canvas);min-width:320px;min-height:100vh;color:var(--foreground);font-family:Nunito,DM Sans,PingFang SC,Microsoft YaHei,system-ui,sans-serif;line-height:1.55;overflow-x:hidden}.portal-shell{background:var(--ds-canvas);min-height:100vh}.portal-student{--ds-canvas-student:#f3f7ff;--ds-surface:#fbfdff;--ds-ink:#142b59;--ds-ink-soft:#526b91;--ds-text-secondary:#526b91;--ds-text-tertiary:#61779a;--ds-line:#c8d7ee;--ds-line-strong:#91a9d0;--ds-action:#3156c8;--ds-action-hover:#183a9b;--ds-action-soft:#e7efff;--ds-focus:#3156c8;--ds-role:#7054b8;--ds-role-strong:#553d95;--ds-role-soft:#eee9ff;--ds-energy:#7054b8;--ds-energy-soft:#eee9ff;--ds-starlight:#7a5814;--ds-starlight-soft:#fff2c8;--ds-info-soft:#e0f1ff;background:var(--ds-canvas-student)}.portal-teacher{--ds-canvas:#f4f8f6;--ds-surface-subtle:#edf5f0;--ds-surface-strong:#dcece3;--ds-ink:#21352a;--ds-ink-soft:#50685a;--ds-text-secondary:#50685a;--ds-text-tertiary:#62766b;--ds-line:#cbded3;--ds-line-strong:#91ae9e;--ds-action:#347a55;--ds-action-hover:#265f40;--ds-action-soft:#e2f0e8;--ds-focus:#347a55;--ds-role-soft:#dcf7ef}.portal-admin{--ds-canvas:#eef0f8;--ds-surface-subtle:#e7e9f2;--ds-action:#3730a3;--ds-action-hover:#25206f}.portal-teacher .brand:before{background:var(--ds-success)}.teacher-workspace-shell{background:var(--ds-canvas);min-height:100vh;transition:grid-template-columns var(--ds-motion-normal) var(--ds-ease-out);grid-template-columns:232px minmax(0,1fr);display:grid}.teacher-workspace-shell.is-collapsed{grid-template-columns:76px minmax(0,1fr)}.teacher-sidebar{z-index:45;border-right:1px solid var(--ds-line);background:#f0f7f3;flex-direction:column;min-width:0;height:100vh;display:flex;position:sticky;top:0}.teacher-sidebar-brand{border-bottom:1px solid var(--ds-line);align-items:center;gap:8px;padding:18px 14px 15px;display:flex}.teacher-sidebar-brand>a{min-width:0;color:var(--ds-ink);flex:1;align-items:center;gap:10px;text-decoration:none;display:flex}.teacher-sidebar-logo{color:#fff;background:linear-gradient(135deg,#5fa77e,#5b9bc8);border-radius:12px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.teacher-sidebar-brand-copy,.teacher-sidebar-account{gap:2px;min-width:0;display:grid}.teacher-sidebar-brand-copy strong,.teacher-sidebar-account span{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-style:normal;font-weight:850;overflow:hidden}.teacher-sidebar-brand-copy small,.teacher-sidebar-account small{color:var(--ds-ink-soft);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.teacher-sidebar-nav{flex:1;align-content:start;gap:4px;padding:12px 10px;display:grid;overflow-y:auto}.teacher-sidebar-nav a,.teacher-sidebar-footer button{min-height:44px;color:var(--ds-ink-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:720;line-height:1.25;text-decoration:none;display:flex}.teacher-sidebar-nav a.has-divider{margin-top:12px;position:relative}.teacher-sidebar-nav a.has-divider:before{background:var(--ds-line);content:"";height:1px;position:absolute;top:-9px;left:2px;right:2px}.teacher-sidebar-nav a:hover,.teacher-sidebar-footer button:hover{border-color:var(--ds-line);background:var(--ds-action-soft);color:var(--ds-action-hover)}.teacher-sidebar-nav a.active,.teacher-sidebar-nav a[aria-current=page]{border-color:var(--ds-line);color:var(--ds-action);background:#fff;box-shadow:0 3px #d8e6de}.teacher-sidebar-nav svg,.teacher-sidebar-footer svg{flex:none}.teacher-sidebar-footer{border-top:1px solid var(--ds-line);gap:7px;padding:12px 10px 14px;display:grid}.teacher-sidebar-account{padding:4px 10px 7px}.teacher-sidebar-footer form,.teacher-sidebar-footer form button{width:100%}.teacher-sidebar-mobile-close,.teacher-workspace-mobile-bar,.teacher-sidebar-mask{display:none}.teacher-workspace-main{min-width:0}.teacher-workspace-main>main{width:100%;min-width:0;padding:24px 32px 48px}.teacher-workspace-shell.is-collapsed .teacher-sidebar-brand-copy,.teacher-workspace-shell.is-collapsed .teacher-sidebar-nav span,.teacher-workspace-shell.is-collapsed .teacher-sidebar-account,.teacher-workspace-shell.is-collapsed .teacher-sidebar-footer button span{display:none}.teacher-workspace-shell.is-collapsed .teacher-sidebar-brand,.teacher-workspace-shell.is-collapsed .teacher-sidebar-nav a,.teacher-workspace-shell.is-collapsed .teacher-sidebar-footer button{justify-content:center;padding-inline:10px}.class-tools-section{gap:12px;display:grid}.class-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.class-tool-card{color:#2c3a33;background:#fff;border:1px solid #e0e9e3;border-radius:14px;align-items:flex-start;gap:14px;min-height:112px;padding:16px;text-decoration:none;display:flex;box-shadow:0 3px 12px #2c3a330f}.class-tool-card>span{gap:7px;display:grid}.class-tool-card strong{font-size:16px}.class-tool-card small{color:#6b7a71;line-height:1.55}a.class-tool-card:hover{background:#f8fcf9;border-color:#83b79a;transform:translateY(-1px)}.teacher-supporting-tools{flex-wrap:wrap;gap:8px 18px;padding:2px 4px;display:flex}.teacher-supporting-tools a{color:var(--muted);font-size:14px;font-weight:700;text-decoration:none}.teacher-supporting-tools a:hover{color:var(--accent-strong);text-underline-offset:3px;text-decoration:underline}.teacher-supporting-tools small{color:var(--muted);margin-left:6px;font-weight:500}.portal-admin .topbar{color:#fff;background:var(--ds-ink);box-shadow:0 4px #4f46e5}.portal-admin .brand,.portal-admin .admin-session{color:#fff}.portal-admin .brand:before{background:#fb7185}.portal-admin .nav-links a{color:#f7f5ff;background:#29263f;border-color:#625e7c;box-shadow:0 2px #080711}.portal-admin .nav-links a:hover{color:#fff;background:#3b3756;border-color:#aaa4da}a,button,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}.app-shell{width:100%;min-width:0;margin:0;padding:18px clamp(12px,1.5vw,24px) 52px}.skip-link{z-index:100;color:#fff;background:#0b3267;border-radius:7px;padding:10px 14px;font-weight:800;text-decoration:none;position:fixed;top:8px;left:12px;transform:translateY(calc(-100% - 16px))}.skip-link:focus-visible{outline-offset:2px;outline:3px solid #fff;transform:translateY(0)}.topbar{z-index:var(--z-sticky);border:2px solid var(--ds-ink);border-radius:var(--ds-radius-surface);background:var(--ds-surface);min-width:0;box-shadow:0 4px 0 var(--ds-ink);justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:10px 12px 10px 16px;display:flex;position:sticky;top:12px}.brand{overflow-wrap:anywhere;min-width:0;min-height:44px;color:var(--ds-ink);letter-spacing:0;align-items:center;font-size:18px;font-weight:900;line-height:1.35;text-decoration:none;display:inline-flex}.brand:before{content:"";background:var(--ds-energy);border-radius:4px;width:10px;height:20px;margin-right:10px;display:inline-block}.nav-links{flex-wrap:wrap;justify-content:flex-end;gap:6px;min-width:0;display:flex}.nav-more{position:relative}.nav-more>summary{border:1px solid var(--line);color:#29415f;cursor:pointer;background:#ffffffdb;border-radius:7px;justify-content:center;align-items:center;min-height:38px;padding:8px 12px;font-weight:800;line-height:1.25;list-style:none;display:inline-flex}.nav-more>summary::-webkit-details-marker{display:none}.nav-more>summary:after{content:"⌄";margin-left:7px}.nav-more>summary:hover,.nav-more>summary.active{border-color:var(--line-strong);background:var(--accent-soft);color:var(--accent-strong)}.nav-more>summary:focus-visible{outline-offset:2px;outline:3px solid #0969c7}.nav-more-menu{z-index:60;border:1px solid var(--line-strong);background:#fff;border-radius:10px;gap:4px;min-width:190px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.nav-more-menu a{box-shadow:none;border-color:#0000;justify-content:flex-start}.nav-links a,.button{border:2px solid var(--ds-line-strong);border-radius:var(--ds-radius-control);overflow-wrap:anywhere;background:var(--ds-surface);max-width:100%;min-height:44px;box-shadow:0 2px 0 var(--ds-line-strong);color:var(--ds-ink);font:inherit;text-align:center;cursor:pointer;touch-action:manipulation;transition:border-color var(--ds-motion-normal) var(--ds-ease-out), background-color var(--ds-motion-normal) var(--ds-ease-out), color var(--ds-motion-normal) var(--ds-ease-out), transform var(--ds-motion-fast) var(--ds-ease-out);justify-content:center;align-items:center;padding:8px 12px;font-weight:800;line-height:1.25;text-decoration:none;display:inline-flex}.nav-links a:hover,.button:hover:not(:disabled){border-color:var(--ds-action);background:var(--ds-action-soft);color:var(--ds-action)}.nav-links a:active,.button:active:not(:disabled){transform:translateY(2px);box-shadow:0 0 #0000}.nav-links a.active,.nav-links a[aria-current=page]{border-color:var(--ds-action-hover);background:var(--ds-action);box-shadow:0 2px 0 var(--ds-action-hover), inset 0 1px 0 #ffffff47;color:#fff}.button.primary{border-color:var(--ds-action-hover);background:var(--ds-action);box-shadow:0 3px 0 var(--ds-action-hover), inset 0 1px 0 #ffffff4d;color:#fff}.button.primary:hover{border-color:var(--ds-action-hover);background:var(--ds-action-hover);color:#fff}.button.danger{background:var(--danger-soft);color:var(--danger);border-color:#b4232c75}.button.danger:hover{border-color:var(--danger);color:#8d1821;background:#ffe4e7}button:disabled,.button[aria-disabled=true]{cursor:not-allowed;opacity:.55;transform:none}:where(a,button,input,select,textarea,summary):focus-visible{box-shadow:var(--focus-ring);outline:2px solid #0000}.button.primary:focus-visible,.nav-links a.active:focus-visible,.nav-links a[aria-current=page]:focus-visible{outline-offset:2px;outline:3px solid #0969c7}.panel,.page-title{border:2px solid var(--ds-line);border-radius:var(--ds-radius-surface);background:var(--ds-surface);min-width:0;box-shadow:var(--shadow-soft)}.panel{overflow-wrap:anywhere}.page-title{position:relative;overflow:hidden}.simple-page-summary{min-width:0}.simple-page-summary>div,.simple-home-summary,.status-grid>div,.metric-card{overflow-wrap:anywhere;border-radius:var(--ds-radius-surface);background:var(--ds-info-soft);border:2px solid #b8b2d0;min-width:0;box-shadow:0 3px #b8b2d0,inset 0 1px #fffc}.simple-page-summary>div:nth-child(3n+2){background:var(--ds-success-soft);border-color:#94cdbd;box-shadow:0 3px #94cdbd,inset 0 1px #fffc}.simple-page-summary>div:nth-child(3n){background:var(--ds-starlight-soft);border-color:#d8b66a;box-shadow:0 3px #d8b66a,inset 0 1px #fffc}form,fieldset,.form-grid,.inline-form,.filter-bar,.stacked-form{min-width:0}fieldset{border-color:var(--line);max-width:100%;margin:0}input,select,textarea{border:2px solid var(--ds-line);border-radius:var(--ds-radius-control);background:var(--ds-surface);min-width:0;max-width:100%;color:var(--foreground);transition:border-color .16s,background-color .16s,box-shadow .16s;box-shadow:inset 0 1px 2px #0d36600d}input,select{min-height:44px}input:hover,select:hover,textarea:hover{border-color:#087ee880}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--accent);box-shadow:var(--focus-ring);background:#fff;outline:none}input::placeholder,textarea::placeholder{color:#566a84}label,.field-label{color:#526680}.badge{overflow-wrap:anywhere;background:var(--accent-soft);max-width:100%;color:var(--accent-strong);border-color:#087ee84d}.warning-badge,.badge.pending{background:var(--warning-soft);color:var(--warning);border-color:#b8790861}.badge.approved{background:var(--success-soft);color:var(--success);border-color:#087f7357}.muted-badge,.badge.rejected{background:var(--rejected-soft);color:var(--rejected);border-color:#8b4d5740}.alert,.notice{overflow-wrap:anywhere;min-width:0;box-shadow:var(--shadow-soft);border-radius:8px}.notice,.notice.warning{background:linear-gradient(135deg, var(--gold-soft), #ffffffe6);color:#6f4b08;border-color:#b8790861}.alert.success{background:var(--success-soft);color:#07665d;border-color:#087f7357}.alert.error{background:var(--danger-soft);color:var(--danger);border-color:#b4232c61}:where(.list-item,.submission-stage-card).pending{background:linear-gradient(135deg, var(--warning-soft), #ffffffe6);border-color:#b879086b;box-shadow:inset 3px 0 #d79a1c}:where(.list-item,.submission-stage-card).approved{background:linear-gradient(135deg, var(--success-soft), #ffffffe6);border-color:#087f735c;box-shadow:inset 3px 0 #129b8d}:where(.list-item,.submission-stage-card).rejected{background:linear-gradient(135deg, var(--rejected-soft), #ffffffe6);border-color:#8b4d574d;box-shadow:inset 3px 0 #9b5964}.empty-state{overflow-wrap:anywhere;background:#fafdffc7;border-color:#4885be52;min-width:0}.empty-state.compact{border-style:dashed;border-radius:8px}details{min-width:0}details>summary{overflow-wrap:anywhere;color:var(--accent-strong);cursor:pointer;border-radius:6px;transition:color .16s,background-color .16s,box-shadow .16s}details>summary:hover{color:var(--accent);background:#e6f4ffad}details[open]>summary{color:#0b657d}.table-wrap{scrollbar-color:#8ec9ee #edf7fd;background:#ffffffc2;border:1px solid #327fc833;border-radius:8px;max-width:100%;overflow-x:auto}.table-wrap table{margin:0}table{color:var(--foreground)}th,td{overflow-wrap:anywhere;border-bottom-color:#327fc82e;max-width:34rem}th{color:#405a78;background:#e5f3fdd1}tbody tr{transition:background-color .14s}tbody tr:hover{background:#e4f4ff94}@media (max-width:900px){.teacher-workspace-shell,.teacher-workspace-shell.is-collapsed{grid-template-columns:208px minmax(0,1fr)}.teacher-workspace-shell.is-collapsed .teacher-sidebar-brand-copy,.teacher-workspace-shell.is-collapsed .teacher-sidebar-nav span,.teacher-workspace-shell.is-collapsed .teacher-sidebar-account,.teacher-workspace-shell.is-collapsed .teacher-sidebar-footer button span{display:initial}.teacher-workspace-shell.is-collapsed .teacher-sidebar-nav a,.teacher-workspace-shell.is-collapsed .teacher-sidebar-footer button{justify-content:flex-start}.teacher-sidebar-collapse{display:none!important}.class-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{align-items:flex-start;position:static}.brand{flex:220px}.nav-links{flex:100%}}@media (max-width:720px){.teacher-workspace-shell,.teacher-workspace-shell.is-collapsed{min-height:100vh;display:block}.teacher-sidebar{width:min(86vw,288px);height:100dvh;transition:transform var(--ds-motion-normal) var(--ds-ease-out);position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.teacher-workspace-shell.is-mobile-open .teacher-sidebar{transform:translate(0)}.teacher-sidebar-mask{z-index:40;background:#1e282357;border:0;position:fixed;inset:0}.teacher-workspace-shell.is-mobile-open .teacher-sidebar-mask{display:block}.teacher-sidebar-mobile-close{color:#5e6f65;background:0 0;border:0;border-radius:9px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.teacher-workspace-mobile-bar{z-index:35;border-bottom:1px solid var(--ds-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4f8f6f0;align-items:center;gap:12px;min-height:58px;padding:8px 14px;display:flex;position:sticky;top:0}.teacher-workspace-mobile-bar button{background:var(--ds-action-soft);width:42px;height:42px;color:var(--ds-action);border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.teacher-workspace-main>main{padding:14px 12px 36px}.class-tools-grid{grid-template-columns:1fr}.app-shell{width:100%;margin:0;padding:12px 12px 36px}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;gap:10px;padding:12px;display:grid;overflow:hidden}.brand{white-space:nowrap;text-overflow:ellipsis;width:100%;overflow:hidden}.nav-links{overscroll-behavior-inline:contain;scrollbar-color:#2991cf8f #e1f0f8b3;scrollbar-width:thin;scroll-snap-type:x proximity;flex-wrap:nowrap;justify-content:flex-start;width:100%;max-width:100%;padding:1px 1px 5px;overflow-x:auto}.nav-links a{overflow-wrap:normal;white-space:nowrap;scroll-snap-align:start;flex:none;min-height:36px;padding:7px 11px}.nav-more{flex:none}.nav-more>summary{min-height:44px}.nav-more-menu{overscroll-behavior:contain;max-height:min(70vh,520px);padding-bottom:calc(8px + env(safe-area-inset-bottom));position:fixed;inset:auto 12px 12px;overflow-y:auto}.nav-more-menu a{min-height:44px}}@media (max-width:420px){.app-shell{width:100%;padding-bottom:28px}.topbar{margin-bottom:14px;padding:10px}.brand{font-size:16px}.brand:before{height:16px;margin-right:7px}.page-stack{gap:12px}.page-title,.panel{padding:16px}.lead{margin-top:12px;font-size:15px;line-height:1.65}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
