@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@600;700&display=swap";.course-cards,.score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-cards>button,.score-grid>article{position:relative;border:1px solid var(--line);background:#fffdf8;color:var(--ink)}.course-cards>button{min-height:210px;padding:24px;text-align:left;transition:.2s}.course-cards>button:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#b99483}.course-cards h3{font:700 22px "Noto Serif SC",serif;margin:18px 0 8px}.course-cards p{min-height:40px;color:var(--muted);font-size:12px;line-height:1.6}.course-cards>button>div{display:flex;gap:14px;margin-top:22px;color:var(--muted);font-size:10px}.course-cards>button>div span{display:flex;align-items:center;gap:4px}.course-cards svg{width:13px}.course-cards>button>svg{position:absolute;right:18px;top:22px}.course-type{font-size:9px;letter-spacing:.12em;color:var(--rust)}.join-course,.create-strip{display:flex;align-items:center;gap:12px;padding:18px 20px;margin-bottom:22px;background:#eee7dc;border-left:3px solid var(--rust)}.join-course>div{margin-right:auto}.join-course strong,.join-course small{display:block}.join-course small{margin-top:5px;color:var(--muted);font-size:10px}.join-course input,.create-strip input,.quick-create input,.assignment-builder input,.assignment-builder select,.score-filters input,.score-filters select,.score-upload input{height:40px;border:1px solid var(--line);background:#fffdf8;padding:0 12px;color:var(--ink)}.back-inline{margin-bottom:18px}.course-hero{display:grid;grid-template-columns:1fr 250px;background:#39352f;color:#f5eee3;padding:34px 38px;margin-bottom:20px}.course-hero h1{font:700 34px "Noto Serif SC",serif;margin:8px 0}.course-hero p{color:#bdb4a8}.course-hero aside{border-left:1px solid #5c554d;padding-left:28px;display:flex;flex-direction:column;justify-content:center}.course-hero aside strong{font:700 26px Georgia,serif;letter-spacing:.12em;margin:8px 0}.course-hero aside span,.course-hero aside small{font-size:10px;color:#bdb4a8}.manage-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;margin-bottom:18px}.approval-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.approval-row strong,.approval-row small{display:block}.approval-row small{color:var(--muted);font-size:9px}.quick-create{display:flex;flex-direction:column;gap:10px}.assignment-builder{display:grid;grid-template-columns:1.4fr 1fr 1.3fr 100px 180px auto;gap:10px;align-items:end;margin-bottom:20px}.assignment-builder>div{grid-column:1/-1}.assignment-builder h3{margin:2px 0 8px}.unit-list{display:flex;flex-direction:column;gap:16px}.unit-block{display:grid;grid-template-columns:56px 250px 1fr;gap:20px;align-items:start}.unit-number{font:italic 22px Georgia,serif;color:var(--rust)}.unit-copy h2{font:700 20px "Noto Serif SC",serif;margin:4px 0}.unit-copy p,.unit-copy span{font-size:9px;color:var(--muted)}.unit-tasks{border-left:1px solid var(--line)}.unit-tasks>button{width:100%;min-height:58px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:34px 1fr auto;align-items:center;text-align:left;padding:10px 14px}.unit-tasks>button:hover{background:#f0ebe2}.unit-tasks strong,.unit-tasks small{display:block}.unit-tasks small{font-size:9px;color:var(--muted);margin-top:5px}.unit-tasks small svg{width:11px;vertical-align:middle;margin-right:4px}.score-filters{display:flex;gap:10px;margin-bottom:20px}.score-filters label{flex:1;display:flex;align-items:center;border:1px solid var(--line);background:#fffdf8;padding-left:12px}.score-filters label svg{width:16px;color:var(--muted)}.score-filters label input{border:0;flex:1}.score-filters button,.score-upload button,.create-strip button{padding:0 18px}.score-upload{display:flex;gap:10px;margin-bottom:20px;align-items:center}.score-paper{height:210px;background:#f4ede0;overflow:hidden;display:grid;place-items:center;cursor:pointer;border-bottom:1px solid var(--line)}.score-paper>svg{width:42px;height:42px;color:var(--rust)}.score-cover{width:100%;height:100%;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--rust);letter-spacing:.14em;font-size:9px}.score-cover-mark{font:500 46px Georgia,serif;line-height:1}.score-meta{padding:18px}.score-meta>span{font-size:9px;color:var(--rust)}.score-meta h3{font:700 20px "Noto Serif SC",serif;margin:8px 0}.score-meta p{font-size:10px;color:var(--muted)}.score-meta>div{display:flex;justify-content:space-between;margin:16px 0;font-size:10px}.score-meta b.ok{color:var(--green)}.score-meta b.warn{color:var(--rust)}.score-meta button{width:100%}.osmd-score{width:100%;height:100%;overflow:auto;background:#fffdf8;padding:10px}.osmd-score.compact{pointer-events:none;overflow:hidden}.score-sheet>.osmd-score{height:calc(100vh - 190px);min-height:460px;margin-top:18px}.score-preview-modal{position:fixed;inset:0;z-index:80;background:#191713cc;display:grid;place-items:center;padding:24px}.score-preview-modal>section{width:min(1000px,96vw);height:min(820px,94vh);background:#f5efe5;display:grid;grid-template-rows:auto 1fr auto}.score-preview-modal header,.score-preview-modal footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--line)}.score-preview-modal footer{border:0;border-top:1px solid var(--line)}.score-preview-modal h2{margin:3px 0}.score-preview-modal header span,.score-preview-modal footer span{font-size:9px;color:var(--muted)}.score-preview-modal header button{border:0;background:transparent;font-size:24px}.score-reader{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:44px minmax(0,1fr);background:#fffdf8;overflow:hidden;position:relative}.score-reader-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 10px;border-bottom:1px solid var(--line);background:#eee7dc;color:var(--ink)}.score-reader-toolbar button{width:32px;height:30px;padding:0;display:grid;place-items:center}.score-reader-toolbar button svg{width:16px}.score-reader-toolbar label{display:flex;align-items:center;gap:7px;font-size:9px;color:var(--muted)}.score-reader-toolbar select{height:30px;border:1px solid var(--line);background:#fffdf8;padding:0 24px 0 8px;color:var(--ink)}.score-reader-toolbar>span{font-size:9px;min-width:150px;text-align:center}.following-dot{font-size:8px;color:var(--green);font-style:normal;white-space:nowrap}.following-dot:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:5px}.score-sheet>.score-reader{height:calc(100vh - 190px);min-height:460px;margin-top:18px}.score-preview-modal .score-reader{min-height:0}.score-reader.scroll-mode .osmd-score{scroll-behavior:smooth}.osmd-score{scrollbar-width:none;-ms-overflow-style:none}.osmd-score::-webkit-scrollbar{display:none}.score-turn-zone{position:absolute;z-index:6;top:44px;bottom:0;width:clamp(76px,12vw,150px);border:0;background:transparent;color:#6f6559;display:flex;align-items:center;justify-content:center;gap:4px;opacity:.16;transition:opacity .18s,background .18s}.score-turn-zone.previous{left:0}.score-turn-zone.next{right:0}.score-turn-zone:hover,.score-turn-zone:focus-visible{opacity:1;background:linear-gradient(90deg,#eee7dcaa,transparent)}.score-turn-zone.next:hover,.score-turn-zone.next:focus-visible{background:linear-gradient(270deg,#eee7dcaa,transparent)}.score-turn-zone svg{width:44px;height:44px;stroke-width:1.5}.score-turn-zone span{position:absolute;bottom:18px;font-size:9px;font-weight:700}.score-turn-zone:disabled{opacity:0;pointer-events:none}.immersive-reader .osmd-score{overflow:hidden;padding:6px 12px}.immersive-reader.scroll-mode .osmd-score{overflow-y:auto}.immersive-reader .score-reader-toolbar{background:#e9e2d6}@media(max-width:980px){.course-cards,.score-grid{grid-template-columns:repeat(2,1fr)}.assignment-builder{grid-template-columns:1fr 1fr}.unit-block{grid-template-columns:45px 190px 1fr}.course-hero{grid-template-columns:1fr 200px}}@media(max-width:640px){.course-cards,.score-grid,.manage-grid{grid-template-columns:1fr}.join-course,.create-strip,.score-upload,.score-filters{align-items:stretch;flex-direction:column}.join-course>div{margin:0}.course-hero{grid-template-columns:1fr;padding:24px}.course-hero aside{border-left:0;border-top:1px solid #5c554d;padding:18px 0 0;margin-top:18px}.assignment-builder{grid-template-columns:1fr}.unit-block{grid-template-columns:38px 1fr}.unit-tasks{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}.score-sheet>.osmd-score,.score-sheet>.score-reader{min-height:390px;height:auto}.score-reader-toolbar{gap:5px}.score-reader-toolbar label{font-size:0}.score-reader-toolbar>span{min-width:105px}.score-preview-modal{padding:8px}}.course-progress-panel{padding:0;margin-top:20px;overflow:hidden}.progress-view-tabs{display:flex;gap:6px}.progress-view-tabs button{height:30px;border:1px solid var(--line);background:#fffdf8;padding:0 10px;font-size:10px}.progress-view-tabs button.active{background:#403a34;color:#fff;border-color:#403a34}.progress-task-list,.progress-student-list{padding:0 22px}.progress-task-list article,.progress-student-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.progress-task-list strong,.progress-task-list small,.progress-student-list strong,.progress-student-list small{display:block}.progress-task-list small,.progress-student-list small{font-size:10px;color:var(--muted);margin-top:4px}.progress-student-list{border-top:8px solid #f5efe7}.progress-student-list article{grid-template-columns:minmax(0,1fr) auto auto}.progress-student-list b{font:700 18px Georgia,serif;color:var(--rust)}.progress-matrix-wrap{overflow:auto;padding:0 22px 18px}.progress-matrix{width:100%;min-width:620px;border-collapse:collapse;font-size:10px}.progress-matrix th,.progress-matrix td{border:1px solid var(--line);padding:8px;text-align:center;white-space:nowrap}.progress-matrix th:first-child{text-align:left;min-width:150px}.matrix-cell{border:0;padding:5px 7px;font-size:9px;background:#eee9e2;color:var(--muted)}.matrix-cell.reviewed{background:#e3eee7;color:var(--green)}.matrix-cell.submitted{background:#f2e2c8;color:#8b5d25}.matrix-cell.processing{background:#e6e2ec;color:#62557c}.matrix-cell.overdue{background:#f6e3db;color:var(--rust)}@media(max-width:640px){.progress-view-tabs{width:100%}.progress-view-tabs button{flex:1}.progress-task-list,.progress-student-list,.progress-matrix-wrap{padding-inline:16px}.progress-student-list article{grid-template-columns:minmax(0,1fr) auto}.progress-student-list b{grid-column:2;grid-row:1}.progress-student-list article>span{grid-column:1;grid-row:2}}.free-share-panel{margin-top:20px}.free-share-panel select{height:36px;border:1px solid var(--line);background:#fffdf8;padding:0 10px}.free-share-row{display:flex;align-items:center;gap:16px;padding:12px 0;border-top:1px solid var(--line)}.free-share-row>div{margin-right:auto}.free-share-row strong,.free-share-row small{display:block}.free-share-row small{font-size:9px;color:var(--muted);margin-top:4px}.free-share-row button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fffdf8;padding:8px 12px;color:var(--rust)}.free-share-row button svg{width:14px}.static-score-viewer{height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr;background:#191815;color:#eee8df;overflow:hidden;position:relative}.static-score-toolbar{height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;background:#282620;border-bottom:1px solid #ffffff18;z-index:6}.static-score-toolbar>div{display:flex;align-items:baseline;gap:9px;margin-right:auto}.static-score-toolbar span{font-size:10px;color:#bfb6aa}.static-score-toolbar label,.static-score-toolbar button{height:30px;display:flex;align-items:center;gap:6px;border:1px solid #ffffff20;background:#36332d;color:#eee8df;padding:0 9px;font-size:10px}.static-score-toolbar select,.static-score-toolbar input{height:24px;border:0;background:#eee8df;color:#292620;padding:0 5px}.static-score-toolbar input{width:48px}.static-score-toolbar svg{width:14px;height:14px}.static-page-stage{position:relative;min-height:0;display:grid;place-items:center;overflow:hidden;padding:10px 54px 14px}.static-turn-zone{position:absolute;top:0;bottom:0;width:clamp(72px,12vw,160px);border:0;background:transparent;color:#f2ede6;display:grid;place-items:center;z-index:4;opacity:.35}.static-turn-zone:hover,.static-turn-zone:focus-visible{opacity:1;background:linear-gradient(90deg,#0008,transparent)}.static-turn-zone.next:hover,.static-turn-zone.next:focus-visible{background:linear-gradient(270deg,#0008,transparent)}.static-turn-zone.previous{left:0}.static-turn-zone.next{right:0}.static-turn-zone:disabled{opacity:.08;cursor:default}.static-turn-zone svg{width:48px;height:48px;filter:drop-shadow(0 2px 5px #000)}.static-turn-countdown{position:absolute;left:50%;bottom:13px;transform:translate(-50%);width:min(280px,50vw);height:24px;background:#171511dd;border:1px solid #ffffff25;overflow:hidden;z-index:5}.static-turn-countdown span{position:absolute;inset:0 auto 0 0;background:#8b422fcc}.static-turn-countdown b{position:relative;display:grid;place-items:center;height:100%;font-size:9px;font-weight:500}.static-score-loading,.static-score-error{height:100%;display:grid;place-items:center;background:#201e1a;color:#d6cec2}.static-score-error{color:#e1997f}@media(max-width:700px),(orientation:portrait){.static-score-toolbar{position:absolute;left:10px;right:10px;bottom:10px;height:auto;min-height:48px;border:1px solid #ffffff20;border-radius:5px;flex-wrap:wrap;padding:7px;z-index:8}.static-score-toolbar>div{display:none}.static-score-toolbar button span{display:none}.static-page-stage{padding:8px 24px 64px}.static-turn-zone{width:24vw}.static-turn-zone svg{width:38px;height:38px}.static-turn-countdown{bottom:66px}}.static-score-upload{display:grid;gap:14px;margin-bottom:18px}.static-score-upload>header{display:flex;justify-content:space-between;align-items:center}.score-type-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.score-type-tabs button{min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d3c9bb;background:#f5f0e8}.score-type-tabs button.active{background:#382f29;color:#fff;border-color:#382f29}.score-type-tabs svg{width:17px}.static-upload-fields{display:grid;grid-template-columns:1fr 1fr 2fr;gap:8px}.static-page-sort{max-height:230px;overflow:auto;border:1px solid #d7cdbf}.static-page-sort article{display:grid;grid-template-columns:34px 1fr 30px 30px 30px;align-items:center;gap:6px;padding:7px 9px;border-bottom:1px solid #ded5c9}.static-page-sort article>span{font:italic 13px Georgia;color:#8b422f}.static-page-sort strong,.static-page-sort small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.static-page-sort small{font-size:9px;color:#887d72}.static-page-sort button{height:28px;padding:0;display:grid;place-items:center}.static-page-sort svg{width:13px}.static-upload-submit{justify-self:end}.static-preview-body{height:min(72vh,780px);min-height:420px;overflow:hidden}.score-paper{width:100%;border:0}.score-paper>svg{width:54px;height:54px}@media(max-width:700px){.score-type-tabs,.static-upload-fields{grid-template-columns:1fr}.static-preview-body{height:70vh;min-height:0}}.half-page-stage{background:#f7f3ec}.static-page-paper{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);background:#fff;box-shadow:0 6px 28px #0005}.static-half{position:relative;overflow:hidden;min-height:0;display:flex;justify-content:center;background:#fff}.static-half img{width:100%;height:200%;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.static-half.top img{object-position:center top}.static-half.bottom img{transform:translateY(-50%)}.composer-inline.composer-schedule{grid-template-columns:130px minmax(190px,1fr) minmax(190px,1fr) auto;align-items:end}.composer-reset-due{height:40px;white-space:nowrap}.task-calendar-panel{overflow:hidden}.task-calendar-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:#fffaf3}.calendar-navigation{display:flex;align-items:center;gap:8px;min-width:0}.calendar-navigation strong{min-width:156px;text-align:center;font:700 17px "Noto Serif SC",serif;color:var(--ink)}.calendar-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.calendar-toggle{display:inline-flex;align-items:center;max-width:100%;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f2ede5}.calendar-toggle button{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:30px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:700 11px inherit;white-space:nowrap}.calendar-toggle button svg{width:13px;height:13px}.calendar-toggle button.active{background:#fffdf8;color:var(--rust);box-shadow:0 1px 3px #342b2024}.task-calendar-grid{min-width:0}.calendar-week-labels,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-week-labels{border-bottom:1px solid var(--line);background:#f4eee4}.calendar-week-labels span{padding:9px 4px;text-align:center;color:var(--muted);font-size:11px;font-weight:700}.calendar-days{min-height:500px}.task-calendar-grid.week .calendar-days{min-height:390px}.task-calendar-grid.day .calendar-week-labels{display:none}.task-calendar-grid.day .calendar-days{grid-template-columns:1fr;min-height:172px}.task-calendar-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;min-height:84px;padding:9px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffdf8;color:var(--ink);text-align:left;cursor:pointer}.task-calendar-cell:hover{background:#faf2e8}.task-calendar-cell.muted-day{background:#f7f3ec;color:#aaa198}.task-calendar-cell.today .calendar-date{background:var(--rust);color:#fff}.calendar-date{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;font-size:12px;font-weight:700}.calendar-chips{display:grid;gap:4px;width:100%;min-width:0}.calendar-chip{display:block;overflow:hidden;padding:3px 5px;border-radius:4px;background:#f1e5da;color:#74503d;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.calendar-chip.submitted{background:#e5efe9;color:var(--green)}.calendar-chip b{margin-right:3px;font-size:9px}.calendar-count{margin:auto 0;align-self:center;padding:6px 9px;border-radius:999px;background:#eee2d4;color:var(--rust);font-size:11px;font-weight:700}.calendar-day-detail{padding:20px}.calendar-task-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.calendar-task-card:first-of-type{border-top:0}.calendar-task-copy{display:grid;gap:4px;min-width:0}.calendar-task-copy strong{font-size:15px}.calendar-task-copy small{color:var(--muted);font-size:12px}.calendar-task-copy .status{justify-self:start}.calendar-task-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.task-calendar-list{padding:6px 20px 20px}.calendar-list-group{padding-top:18px}.calendar-list-group>header{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:2px solid #e9dfd2;color:var(--ink)}.calendar-list-group>header span{color:var(--muted);font-size:12px}.student-score-empty{min-height:420px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted);text-align:center;padding:40px}.static-score-processing{height:100%;min-height:320px;display:grid;place-items:center;padding:28px;background:#201e1a;color:#eee8df}.static-score-progress{width:min(480px,100%);padding:28px;border:1px solid #ffffff1f;border-radius:14px;background:#2a2721;box-shadow:0 12px 32px #0003}.static-score-progress-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:16px;border-radius:12px;background:#b9d4c422;color:#b9d4c4}.static-score-progress-icon svg{width:22px;height:22px}.static-score-progress-icon .spinning{animation:static-score-spin 1.2s linear infinite}.static-score-progress strong{display:block;font-size:18px}.static-score-progress p{margin:8px 0 18px;color:#bfb6aa;font-size:12px;line-height:1.6}.static-score-progress-bar{height:10px;overflow:hidden;border-radius:999px;background:#ffffff18}.static-score-progress-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b9d4c4,#d6b77c);transition:width .35s ease}.static-score-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:#d6cec2;font-size:12px}.static-score-progress-meta small{color:#a79e92;text-align:right}.static-score-progress-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.static-score-progress-actions button{flex:1 1 130px;justify-content:center}.static-score-processing .outline,.static-score-error .outline{border-color:#8f8579;background:#3a3630;color:#fff4e6;box-shadow:none}.static-score-processing .outline:hover,.static-score-error .outline:hover{border-color:#d8b39d;background:#50463d;color:#fff}.static-score-processing .outline:focus-visible,.static-score-error .outline:focus-visible{outline-color:#f0a583}.static-score-processing .outline:disabled{border-color:#5d574f;background:#302d29;color:#968d83;opacity:1}.static-score-inline-error{display:block;margin-top:12px;color:#e1997f;line-height:1.5}.static-score-processing.failed .static-score-progress-icon{background:#e1997f22;color:#e1997f}@keyframes static-score-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.static-score-processing{padding:18px;min-height:280px}.static-score-progress{padding:20px;border-radius:12px}.static-score-progress-actions{display:grid;grid-template-columns:1fr}.static-score-progress-actions button{width:100%}.static-score-progress-meta{align-items:flex-start;flex-direction:column;gap:4px}.static-score-progress-meta small{text-align:left}}.course-composer-entry{margin:0 0 16px}.composer-form{display:grid;gap:14px;max-width:980px}.composer-form label{display:grid;gap:6px;color:var(--muted);font-size:13px}.composer-form textarea{min-height:82px;resize:vertical}.composer-inline{display:grid;grid-template-columns:160px 1fr;gap:12px}.composer-upload{border:1px dashed var(--line);padding:16px;background:#faf6ef}.composer-upload span{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:700}.composer-upload small{margin-top:6px;color:var(--muted)}.recipient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.recipient-grid label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);padding:12px;background:#fffdf8;border-radius:10px}.recipient-grid label.selected{border-color:var(--rust);background:#fff7f0}.recipient-grid label span{flex:1;min-width:0}.recipient-grid strong,.recipient-grid small{display:block}.recipient-grid small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis}.composer-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}@media(max-width:700px){.recipient-grid,.composer-inline{grid-template-columns:1fr}.composer-actions{position:sticky;bottom:0;background:var(--paper);padding:12px 0}.composer-actions button{flex:1}}.calendar-chip.submitted{background:#e7edf4;color:#315b78}.calendar-chip.reviewed{background:#e5efe9;color:var(--green)}.task-calendar-grid.day{display:none}.week-cell .calendar-chips{gap:5px}.week-cell .calendar-chip{padding:4px 6px;font-size:12px;line-height:1.25}.week-cell .calendar-chip b{font-size:10px}.status-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.status-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border:1px solid var(--line);border-left:3px solid var(--tile-color, var(--rust));background:#fffdf8b3;cursor:pointer;transition:border-color .2s,background .2s;text-align:center}.status-tile:hover{border-color:#b99483;background:#f0ebe2}.status-tile strong{font:700 24px Georgia,serif;color:var(--tile-color, var(--rust))}.status-tile span{font-size:11px;color:var(--muted)}.task-list-view{padding:0;overflow:hidden}.task-list-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid var(--line);background:#fffaf3}.task-list-title{min-width:0}.task-list-title .back-inline{margin:0 0 18px}.task-list-title .eyebrow{margin:0;color:var(--rust)}.task-list-title h2{margin:5px 0 7px;font:700 25px/1.3 "Noto Serif SC",serif;color:var(--ink)}.task-list-title>p:last-child{display:flex;align-items:center;gap:8px;margin:0;color:var(--muted);font-size:12px}.task-list-filters{display:grid;grid-template-columns:minmax(190px,1fr) auto auto;align-items:end;gap:8px;flex:0 1 600px}.task-list-filters label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:700}.task-list-filters input{box-sizing:border-box;width:100%;height:38px;border:1px solid var(--line);border-radius:7px;background:#fffdf8;color:var(--ink);font:inherit;font-size:12px;padding:0 10px}.task-list-search{display:flex!important;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;background:#fffdf8;padding:0 10px}.task-list-search svg{width:16px;color:var(--muted);flex:0 0 auto}.task-list-search input{border:0;padding:0;outline:0}.task-list-items{display:grid;gap:0}.task-list-item{display:grid;grid-template-columns:40px minmax(0,1fr) auto 20px;align-items:center;gap:13px;width:100%;min-height:76px;border:0;border-bottom:1px solid var(--line);background:#fffdf8;color:var(--ink);padding:14px 22px;text-align:left;cursor:pointer;transition:background .16s}.task-list-item:hover{background:#f7f0e7}.task-list-item:last-child{border-bottom:0}.task-list-item .task-index{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#f1e6da;color:var(--rust)}.task-list-item .task-index svg{width:18px}.task-list-copy{min-width:0}.task-list-copy strong,.task-list-copy small{display:block}.task-list-copy strong{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.task-list-copy small{display:flex;align-items:center;gap:5px;margin-top:6px;color:var(--muted);font-size:11px}.task-list-copy small svg{width:13px}.task-list-item>svg{color:var(--muted)}.task-list-status{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:700;white-space:nowrap}.task-list-status.pending{background:#f6e3db;color:var(--rust)}.task-list-status.submitted{background:#e7edf4;color:#315b78}.task-list-status.reviewed{background:#e5efe9;color:var(--green)}.task-list-empty{display:grid;place-items:center;align-content:center;min-height:240px;gap:7px;padding:28px;color:var(--muted);text-align:center}.task-list-empty svg{width:30px;height:30px;color:#b8afa3}.task-list-empty strong{color:var(--ink);font-size:15px}.task-list-empty span{font-size:12px}.task-list-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:16px 22px;border-top:1px solid var(--line);background:#fffaf3}.task-list-pagination button{height:34px;border:1px solid var(--line);border-radius:7px;background:#fffdf8;color:var(--ink);padding:0 13px;font:700 12px inherit;cursor:pointer}.task-list-pagination button:not(:disabled):hover{border-color:#b99483;background:#f7f0e7}.task-list-pagination button:disabled{opacity:.45;cursor:default}.task-list-pagination span{color:var(--muted);font-size:12px}@media(max-width:820px){.task-list-header{align-items:stretch;flex-direction:column}.task-list-filters{width:100%;flex:none}}@media(max-width:560px){.status-summary{grid-template-columns:1fr}.task-list-header{padding:18px}.task-list-title h2{font-size:22px}.task-list-filters{grid-template-columns:1fr 1fr}.task-list-search{grid-column:1/-1}.task-list-item{grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;padding:14px 16px}.task-list-item .task-index{width:32px;height:32px}.task-list-item .task-list-status{grid-column:2;grid-row:2;justify-self:start;margin-top:-1px}.task-list-copy small{font-size:10px}.task-list-item>svg{grid-column:3;grid-row:1}.task-list-pagination{gap:10px;padding:14px 16px}.task-list-pagination button{padding-inline:10px}.task-list-pagination span{font-size:11px}}.score-filters label{min-width:0}.score-filters label input{min-width:0;height:38px}.score-filters button,.score-upload button,.create-strip button{min-height:40px;min-width:88px;display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.score-paper{width:100%;border:0;border-bottom:1px solid var(--line);padding:0}.score-grid>article{display:flex;flex-direction:column;min-width:0}.score-meta{display:flex;flex:1;flex-direction:column;min-width:0}.score-meta h3{overflow-wrap:anywhere}.score-meta p{margin:0}.score-meta>div{gap:12px}.score-meta button{min-height:40px;margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:7px}.static-score-upload>header{gap:12px}.static-score-upload>header button{min-height:36px;min-width:72px}.score-type-tabs button{padding-inline:12px;text-align:center}.static-page-sort article{grid-template-columns:34px minmax(0,1fr) 30px 30px 30px}.static-page-sort button{width:30px;height:28px;padding:0}.static-upload-submit{min-width:140px}@media(max-width:700px){.score-filters button,.score-upload button{width:100%}.score-upload{align-items:stretch}.static-upload-submit{width:100%}}.teacher-queue-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);background:#fffdf8;margin-bottom:20px}.teacher-queue-stats article{padding:18px 22px;border-right:1px solid var(--line);position:relative}.teacher-queue-stats article:last-child{border-right:0}.teacher-queue-stats article:first-child:before,.teacher-queue-stats article.free:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--rust)}.teacher-queue-stats article.free:before{background:#a8793d}.teacher-queue-stats span,.teacher-queue-stats small{display:block;color:var(--muted);font-size:10px}.teacher-queue-stats strong{display:block;font:700 26px Georgia,serif;margin:7px 0}.teacher-submission-panel{padding:0;overflow:hidden}.teacher-queue-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px 14px}.teacher-queue-head h3{font:700 20px "Noto Serif SC",serif;margin:0}.teacher-queue-head>div>span{display:block;color:var(--muted);font-size:9px;margin-top:4px}.teacher-queue-head label{width:min(360px,42%);height:38px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fffdf8;padding:0 11px}.teacher-queue-head label svg{width:15px;color:var(--muted);flex:none}.teacher-queue-head input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:11px}.teacher-queue-tabs{display:flex;gap:6px;padding:0 22px 14px;border-bottom:1px solid var(--line);overflow-x:auto}.teacher-queue-tabs button{height:34px;display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;border:1px solid var(--line);background:#fffdf8;color:var(--muted);padding:0 12px;font-size:10px}.teacher-queue-tabs button.active{border-color:#403a34;background:#403a34;color:#fff}.teacher-queue-tabs b{min-width:18px;padding:2px 5px;background:#eee6dc;color:var(--rust);font-size:8px;text-align:center}.teacher-queue-tabs button.active b{background:#ffffff20;color:#fff}.teacher-submission-row{width:100%;margin:0;padding:15px 22px;grid-template-columns:42px minmax(0,1fr) 84px 18px}.teacher-submission-row.free{background:#fffaf1;box-shadow:inset 3px 0 #b48750}.teacher-submission-row.free:hover{background:#f7eddd}.teacher-submission-main{min-width:0}.teacher-submission-title{display:flex;align-items:center;gap:8px}.teacher-submission-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-submission-title em{font-style:normal;font-size:8px;padding:4px 7px;white-space:nowrap}.teacher-submission-title em.assignment{background:#e5ece8;color:var(--green)}.teacher-submission-title em.free{background:#f2e2c8;color:#8b5d25}.teacher-submission-main p{display:flex;align-items:center;gap:8px;min-width:0;margin:6px 0 0;font-size:11px}.teacher-submission-main p b{font-weight:700;white-space:nowrap}.teacher-submission-main p span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5f5850}.teacher-submission-main p span:before{content:"/";margin-right:8px;color:#b2a99d}.teacher-submission-row.free .avatar{background:#a8793d}.teacher-submission-row .status{min-width:72px}.teacher-load-more{width:100%;height:44px;border:0;border-top:1px solid var(--line);background:#f6f1e9;color:var(--rust);display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px}.teacher-load-more span{color:var(--muted);font-size:9px}.teacher-queue-empty{min-height:230px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted)}.teacher-queue-empty svg{width:34px;height:34px;color:#b8afa3}.teacher-queue-empty strong{color:var(--ink);margin:12px 0 5px}.teacher-queue-empty span{font-size:10px}@media(max-width:760px){.teacher-queue-stats{grid-template-columns:1fr 1fr}.teacher-queue-stats article:nth-child(2){border-right:0}.teacher-queue-stats article.free{grid-column:1/-1;border-top:1px solid var(--line)}.teacher-queue-head{align-items:stretch;flex-direction:column}.teacher-queue-head label{width:100%}.teacher-submission-row{grid-template-columns:36px minmax(0,1fr) auto;padding:13px 18px}.teacher-submission-row>svg{display:none}.teacher-submission-title{align-items:flex-start;flex-direction:column;gap:5px}.teacher-submission-main p{align-items:flex-start;flex-direction:column;gap:3px}.teacher-submission-main p span:before{display:none}.teacher-submission-row .status{min-width:64px}}@media(max-width:480px){.teacher-queue-stats{grid-template-columns:1fr}.teacher-queue-stats article,.teacher-queue-stats article:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.teacher-queue-stats article.free{grid-column:auto;border-top:0;border-bottom:0}.teacher-queue-tabs,.teacher-queue-head{padding-inline:16px}.teacher-submission-row{grid-template-columns:34px minmax(0,1fr)}.teacher-submission-row .status{grid-column:2;justify-self:start;margin-top:3px}.teacher-submission-row>svg{display:none}}.guidance-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px}.guidance-toolbar label{display:flex;align-items:center;gap:8px;flex:1;min-width:240px;height:40px;padding:0 12px;border:1px solid var(--line);background:#fffdf8}.guidance-toolbar label svg{width:16px;color:var(--muted)}.guidance-toolbar input{border:0;outline:0;background:transparent;width:100%;font-size:11px}.guidance-toolbar select,.guidance-toolbar>button{height:40px;border:1px solid var(--line);background:#fffdf8;padding:0 12px;font-size:11px}.guidance-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.5fr);gap:18px}.guidance-student-list,.guidance-detail{padding:0;overflow:hidden}.guidance-student-row{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:14px 18px;border:0;border-top:1px solid var(--line);background:#fffdf8;text-align:left}.guidance-student-row:hover,.guidance-student-row.active{background:#f5eee5}.guidance-student-row .avatar{width:34px;height:34px;display:grid;place-items:center}.guidance-student-row strong,.guidance-student-row small,.guidance-student-row p{display:block;margin:0}.guidance-student-row small{font-size:10px;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guidance-student-row p{display:flex;gap:10px;margin-top:7px;color:var(--muted);font-size:10px}.guidance-student-row em{font-style:normal;font-size:9px;padding:5px 7px;background:#e6eee9;color:var(--green);white-space:nowrap}.guidance-student-row em.overdue{background:#f6e3db;color:var(--rust)}.guidance-student-row em.pending_review{background:#f2e2c8;color:#8b5d25}.guidance-student-row em.no_tasks{background:#eee9e2;color:var(--muted)}.guidance-detail{min-height:540px}.guidance-detail-head{display:flex;justify-content:space-between;align-items:flex-start;padding:22px;border-bottom:1px solid var(--line)}.guidance-detail-head h2{font:700 24px Georgia,serif;margin:5px 0}.guidance-detail-head small{color:var(--muted);font-size:10px}.guidance-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.guidance-metrics div{padding:14px 18px;border-right:1px solid var(--line)}.guidance-metrics div:last-child{border-right:0}.guidance-metrics span{display:block;color:var(--muted);font-size:10px}.guidance-metrics strong{display:block;font:700 22px Georgia,serif;margin-top:5px}.guidance-assign{padding:18px 22px;border-bottom:1px solid var(--line)}.guidance-assign .panel-head{padding:0 0 12px}.guidance-mode{display:flex;gap:6px}.guidance-mode button{height:30px;border:1px solid var(--line);background:#fffdf8;padding:0 9px;font-size:10px}.guidance-mode button.active{background:#403a34;color:#fff;border-color:#403a34}.guidance-assign select,.guidance-custom-form input,.guidance-custom-form select{height:38px;border:1px solid var(--line);background:#fffdf8;padding:0 10px;font-size:11px}.guidance-assign>select{width:100%;margin-bottom:10px}.guidance-custom-form{display:grid;grid-template-columns:1.3fr 1.3fr .5fr 1fr;gap:8px;margin-bottom:10px}.guidance-assign>.primary{height:38px}.guidance-task-list{padding:18px 22px}.guidance-task-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.guidance-task-list article strong,.guidance-task-list article small{display:block}.guidance-task-list article small{color:var(--muted);font-size:10px;margin-top:4px}.guidance-task-list article button{height:30px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:#fffdf8;padding:0 9px;font-size:10px}.guidance-task-list article button svg{width:13px}.guidance-empty{min-height:360px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:var(--muted);gap:7px}.guidance-empty svg{width:34px;height:34px;color:#b8afa3}.guidance-empty strong{color:var(--ink)}@media(max-width:900px){.guidance-grid{grid-template-columns:1fr}.guidance-detail{min-height:0}.guidance-custom-form{grid-template-columns:1fr 1fr}.guidance-toolbar{flex-wrap:wrap}.guidance-toolbar label{flex-basis:100%}}@media(max-width:560px){.guidance-toolbar>*{width:100%}.guidance-toolbar label{min-width:0}.guidance-metrics{grid-template-columns:1fr 1fr}.guidance-metrics div:nth-child(2){border-right:0}.guidance-metrics div:nth-child(n+3){border-top:1px solid var(--line)}.guidance-custom-form{grid-template-columns:1fr}.guidance-detail-head,.guidance-assign,.guidance-task-list{padding-inline:16px}.guidance-task-list article{grid-template-columns:minmax(0,1fr) auto}.guidance-task-list article button{grid-column:2;grid-row:1}.guidance-task-list article .status{grid-column:1;justify-self:start}}.teacher-course-hierarchy{display:grid;gap:20px}.course-filter-tabs{display:flex;gap:4px;width:fit-content;max-width:100%;padding:4px;border:1px solid var(--line);border-radius:12px;background:#eee8de;overflow:auto}.course-filter-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:130px;border:0;border-radius:9px;background:transparent;color:var(--muted);padding:11px 16px;font:inherit;white-space:nowrap;cursor:pointer}.course-filter-tab b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:99px;background:#e1d8cc;color:var(--ink);font-size:11px}.course-filter-tab.active{background:#332e29;color:#fff}.course-filter-tab.active b{background:#d96543;color:#fff}.course-content-list{display:grid;gap:12px}.course-summary-list{grid-template-columns:repeat(2,minmax(0,1fr))}.course-summary-card{display:flex;justify-content:space-between;gap:18px;min-width:0;border:1px solid var(--line);border-radius:14px;background:#fffdf8;padding:22px;cursor:pointer;transition:.2s}.course-summary-card:hover,.course-content-row:hover{border-color:#b99483;box-shadow:var(--shadow);transform:translateY(-1px)}.course-summary-main{min-width:0}.course-summary-main h2{margin:8px 0 7px;font:700 23px "Noto Serif SC",serif}.course-summary-main p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.course-type-badge{display:inline-flex;align-items:center;border-radius:99px;background:#f3e5d8;color:var(--rust);padding:5px 9px;font-size:11px}.course-summary-meta{display:flex;flex-wrap:wrap;gap:13px;margin-top:18px;color:var(--muted);font-size:12px}.course-summary-meta span{display:inline-flex;align-items:center;gap:5px}.course-summary-meta svg{width:14px}.course-summary-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.course-summary-actions>svg{color:var(--muted)}.course-layer-header{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.course-layer-header h1{margin:9px 0 7px;font:700 32px "Noto Serif SC",serif}.course-layer-header p{margin:0;color:var(--muted)}.course-invite-aside{text-align:right}.course-invite-aside small{display:block;color:var(--muted);font-size:11px}.course-invite-aside strong{display:block;margin:3px 0 5px;font:700 20px monospace;color:var(--rust)}.course-invite-aside span{color:var(--muted);font-size:11px}.course-layer-actions{display:flex;gap:8px;flex-wrap:wrap}.course-list-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:4px}.course-list-heading h2{margin:4px 0 0;font:700 21px "Noto Serif SC",serif}.course-list-heading>span{color:var(--muted);font-size:12px}.course-content-row{display:grid;grid-template-columns:46px minmax(240px,1fr) minmax(220px,auto) auto;align-items:center;gap:16px;border:1px solid var(--line);border-radius:14px;background:#fffdf8;padding:18px 20px;cursor:pointer;transition:.2s}.course-content-index{font:700 22px Georgia,serif;color:#b99483}.course-content-copy{min-width:0}.course-content-copy h3{margin:0 0 5px;font:700 19px "Noto Serif SC",serif}.course-content-copy p{margin:0 0 7px;color:var(--muted);font-size:12px}.course-content-copy small{color:#8a8176;font-size:11px}.course-content-stats{display:grid;gap:6px;color:var(--muted);font-size:12px;white-space:nowrap}.course-content-actions{display:flex;align-items:center;gap:8px}.large-action{padding:13px 20px;font-size:15px}.unit-task-panel{padding:22px}.unit-assignment-list{display:grid;gap:8px}.unit-assignment-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,auto) auto 20px;align-items:center;gap:14px;width:100%;border:1px solid transparent;border-bottom-color:var(--line);background:transparent;padding:15px 4px;text-align:left;color:var(--ink);cursor:pointer}.unit-assignment-row:hover{background:#faf5ed}.unit-assignment-row strong,.unit-assignment-row small{display:block}.unit-assignment-row small{margin-top:6px;color:var(--muted);font-size:11px}.unit-assignment-metrics{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:11px}.unit-assignment-row>svg{color:var(--muted)}.manage-section{padding:22px}.manage-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.manage-form-grid label{display:grid;gap:7px;color:var(--muted);font-size:12px}.manage-form-grid .wide{grid-column:1/-1}.manage-form-grid textarea{min-height:90px;resize:vertical}.unit-manage-list{display:grid;gap:8px}.unit-manage-row{display:grid;grid-template-columns:42px minmax(0,1fr) 100px;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:8px 0}.unit-manage-row>span{color:var(--rust);font-weight:700}.unit-manage-row small{color:var(--muted)}.manage-inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:16px}.roster-manage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.roster-manage-grid label{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;padding:11px;background:#fffdf8}.roster-manage-grid span{display:grid;gap:3px;min-width:0}.roster-manage-grid small{overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:11px}.text-danger{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--rust);cursor:pointer}.compact{display:inline-flex;align-items:center;gap:5px}.compact svg{width:14px}@media(max-width:900px){.course-summary-list{grid-template-columns:1fr}.course-content-row{grid-template-columns:38px minmax(0,1fr) auto}.course-content-stats{grid-column:2/-1;display:flex;flex-wrap:wrap}.course-content-actions{grid-column:2/-1;justify-content:flex-start}.unit-assignment-row{grid-template-columns:minmax(0,1fr) auto}.unit-assignment-metrics{grid-column:1/-1}.unit-assignment-row>.status{grid-column:1}.roster-manage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.course-filter-tabs{width:100%;border-radius:10px}.course-filter-tab{min-width:120px;padding:10px 12px}.course-layer-header{align-items:flex-start;flex-direction:column}.course-layer-header h1{font-size:27px}.course-invite-aside{text-align:left;padding:6px 0 0}.course-layer-actions{width:100%}.course-layer-actions button,.large-action{flex:1;justify-content:center}.course-summary-card{padding:18px;display:grid}.course-summary-actions{justify-content:space-between}.course-summary-actions .compact{flex:1;justify-content:center}.course-content-row{padding:16px;gap:11px}.course-content-copy h3{font-size:17px}.manage-form-grid,.manage-inline-form{grid-template-columns:1fr}.manage-form-grid .wide{grid-column:auto}.roster-manage-grid{grid-template-columns:1fr}.unit-manage-row{grid-template-columns:32px minmax(0,1fr)}.unit-manage-row small{grid-column:2}}@media(max-width:640px){.course-filter-tabs{scrollbar-width:none;overflow-x:auto;overscroll-behavior-inline:contain}.course-filter-tabs::-webkit-scrollbar{display:none}.course-summary-card{grid-template-columns:minmax(0,1fr);gap:16px}.course-summary-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;width:100%}.course-summary-actions .compact{width:100%;min-width:0;white-space:nowrap;word-break:keep-all;line-height:1.2}.course-summary-actions:not(:has(.outline)) .compact{grid-column:1/-1}.course-summary-actions>svg{display:none}.course-summary-meta{gap:8px 14px;margin-top:14px}.course-summary-meta span{white-space:nowrap}.course-content-row{grid-template-columns:32px minmax(0,1fr);position:relative;align-items:start;border-radius:12px}.course-content-index{font-size:19px;padding-top:2px}.course-content-copy{padding-right:22px}.course-content-copy h3{line-height:1.4}.course-content-copy p{line-height:1.5}.course-content-copy small{display:block;line-height:1.6}.course-content-stats{grid-column:2;display:flex;flex-wrap:wrap;gap:6px 12px;white-space:normal;line-height:1.5}.course-content-actions{grid-column:1/-1;width:100%;padding-top:3px}.course-content-actions .compact{width:100%;justify-content:center;white-space:nowrap;word-break:keep-all}.course-content-actions>svg{display:none}.course-list-heading{align-items:flex-start;flex-direction:column;gap:3px}.course-list-heading>span{font-size:11px}.unit-assignment-row{grid-template-columns:minmax(0,1fr);gap:9px;padding:15px 0}.unit-assignment-row strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.45}.unit-assignment-row small{line-height:1.5}.unit-assignment-metrics{grid-column:auto;gap:5px 10px;line-height:1.5}.unit-assignment-row>.status{grid-column:auto;width:max-content;max-width:100%;white-space:normal}.unit-assignment-row>svg{display:none}}@media(max-width:430px){.course-filter-tab{min-width:112px;padding-inline:10px}.course-summary-main h2{font-size:21px}.course-summary-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.course-summary-actions .compact{padding-inline:8px;font-size:12px}.course-content-row{padding:14px}.course-content-stats{font-size:11px}.large-action{width:100%}}.course-manage-shell{width:100%;max-width:1040px;margin:0 auto;gap:16px;min-width:0}.course-manage-breadcrumb{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px;min-width:0}.course-manage-breadcrumb svg{width:13px;height:13px;flex:none}.course-manage-breadcrumb strong{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-manage-back{width:max-content;height:40px;padding:0 13px}.course-manage-back svg{width:16px}.course-manage-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;padding:8px 0 12px;border-bottom:1px solid var(--line)}.course-manage-title{min-width:0}.course-manage-title>div{display:flex;align-items:center;gap:8px}.course-manage-title h1{margin:10px 0 6px;font:700 clamp(28px,3.2vw,38px)/1.25 "Noto Serif SC",serif;letter-spacing:-.02em;text-wrap:pretty}.course-manage-title p{margin:0;color:var(--muted);font-size:13px}.course-manage-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700}.course-manage-status.active{background:#dfe9e2;color:var(--green)}.course-manage-status.archived{background:#e8e2d8;color:#756c62}.course-manage-summary{display:flex;align-items:center;border:1px solid var(--line);background:#fffdf89e;min-width:310px}.course-manage-summary span{display:flex;align-items:baseline;justify-content:center;gap:4px;min-width:102px;padding:14px 16px;border-right:1px solid var(--line);color:var(--muted);font-size:11px;white-space:nowrap}.course-manage-summary span:last-child{border-right:0}.course-manage-summary b{font:700 21px Georgia,serif;color:var(--ink)}.course-manage-readonly{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #d9c4a5;background:#f7efe2;color:#6d5333}.course-manage-readonly svg{width:18px;flex:none;margin-top:1px}.course-manage-readonly strong,.course-manage-readonly span{display:block}.course-manage-readonly strong{font-size:13px}.course-manage-readonly span{margin-top:3px;font-size:12px;line-height:1.55}.course-manage-error{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0}.course-manage-error button{display:grid;place-items:center;width:28px;height:28px;border:0;background:transparent;color:inherit;flex:none}.course-manage-error svg{width:15px}.course-manage-tabs{display:flex;align-items:stretch;gap:0;border:1px solid var(--line);background:#eee8de;padding:4px;width:100%}.course-manage-tabs>button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-width:150px;height:44px;border:0;background:transparent;color:var(--muted);font-weight:700;white-space:nowrap}.course-manage-tabs>button.active{background:var(--ink);color:#fff}.course-manage-tabs>button>b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#ded5c8;color:var(--ink);font-size:10px}.course-manage-tabs>button.active>b{background:#c36a4e;color:#fff}.course-manage-tabs>button>i{position:absolute;right:10px;top:8px;width:6px;height:6px;border-radius:50%;background:#d96543}.course-manage-body{min-width:0}.course-manage-profile{display:grid;gap:16px}.course-manage-section{min-width:0;border:1px solid var(--line);background:#fffdf8b8;padding:24px}.course-manage-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.course-manage-section-head h2,.course-status-zone h2,.course-danger-zone h2{margin:0;font:700 22px/1.35 "Noto Serif SC",serif}.course-manage-section-head>div>span{display:block;margin-top:6px;color:var(--muted);font-size:12px;line-height:1.55}.course-manage-section-head>em{font-style:normal;color:var(--rust);font-size:12px;white-space:nowrap}.course-manage-form-section{padding-bottom:0}.course-manage-form{display:grid;gap:18px;width:min(720px,100%)}.course-manage-field{display:grid;gap:7px;min-width:0;color:var(--ink);font-size:12px;font-weight:700}.course-manage-field>span b{color:var(--rust)}.course-manage-field input,.course-manage-field textarea{width:100%;min-width:0;border:1px solid #cfc5b7;border-radius:4px;background:var(--white);color:var(--ink);padding:0 13px;appearance:none;transition:border-color .15s,box-shadow .15s}.course-manage-field input{height:44px}.course-manage-field textarea{min-height:116px;padding-block:11px;resize:vertical;line-height:1.65}.course-manage-field input:hover,.course-manage-field textarea:hover{border-color:#a99b8a}.course-manage-field input:focus,.course-manage-field textarea:focus{border-color:var(--rust);box-shadow:0 0 0 3px #8b39281a;outline:0}.course-manage-field input:disabled,.course-manage-field textarea:disabled{background:#eee9e1;color:#6f685f;cursor:not-allowed}.course-manage-field small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.45}.course-manage-field textarea+small{text-align:right}.course-manage-readonly-value{display:flex;align-items:center;height:44px;border:1px solid var(--line);background:#eee9e1;padding:0 13px;color:var(--muted);font-weight:400}.course-manage-actions{position:static;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px -24px 0;padding:14px 24px;border-top:1px solid var(--line);background:#fffdf8f7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.course-manage-actions>span{color:var(--muted);font-size:12px;line-height:1.5}.course-manage-actions>span b{color:var(--ink)}.course-manage-actions>div{display:flex;gap:8px;flex:none}.course-manage-actions button{min-width:112px;height:42px;padding:0 16px}.course-manage-actions svg{width:16px}.course-manage-actions button:disabled,.course-manage-section button:disabled,.course-manage-dialog button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.course-status-zone,.course-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:32px}.course-status-zone>div,.course-danger-zone>div{max-width:700px}.course-status-zone p:not(.eyebrow),.course-danger-zone p:not(.eyebrow){margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.course-status-zone>button{min-width:126px;height:42px;flex:none}.course-danger-zone{border-color:#dcb8ae;background:#fff8f4}.course-danger-zone ul{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;list-style:none;color:#9b4937;font-size:11px}.course-danger-zone li:before{content:"·";margin-right:5px}.course-danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:126px;height:42px;border:1px solid #a43d2d;border-radius:3px;background:#a43d2d;color:#fff;padding:0 16px;font-weight:700;white-space:nowrap}.course-danger-button:hover:not(:disabled){background:#842f23}.course-danger-button svg{width:16px}.course-unit-manage-head{align-items:center}.course-unit-manage-head>button{height:42px;flex:none}.course-unit-manage-list{display:grid;border-top:1px solid var(--line)}.course-unit-manage-row{display:grid;grid-template-columns:32px 42px minmax(220px,1fr) 72px auto;align-items:center;gap:12px;min-width:0;padding:16px 4px;border-bottom:1px solid var(--line);background:transparent;transition:background .15s,opacity .15s}.course-unit-manage-row:hover{background:#faf5ed}.course-unit-manage-row.dragging{opacity:.45}.course-unit-drag,.course-unit-move{display:grid;place-items:center;border:0;background:transparent;color:#a09990}.course-unit-drag{width:30px;height:36px;cursor:grab}.course-unit-drag:active{cursor:grabbing}.course-unit-drag svg{width:18px}.course-unit-index{font:700 18px Georgia,serif;color:#aa8879}.course-unit-copy{min-width:0}.course-unit-copy strong,.course-unit-copy p,.course-unit-copy small{display:block}.course-unit-copy strong{font:700 16px "Noto Serif SC",serif}.course-unit-copy p{margin:4px 0;color:var(--muted);font-size:12px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-unit-copy small{color:#948b80;font-size:10px}.course-unit-status{width:max-content;padding:5px 8px;background:#dfe9e2;color:var(--green);font-size:10px;font-weight:700;white-space:nowrap}.course-unit-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.course-unit-actions>.outline{height:36px;padding:0 11px;font-size:11px}.course-unit-actions svg{width:14px}.course-unit-move{width:32px;height:34px;border:1px solid var(--line);background:var(--white)}.course-unit-more{position:relative}.course-unit-more summary{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);background:var(--white);cursor:pointer;list-style:none}.course-unit-more summary::-webkit-details-marker{display:none}.course-unit-more>div{position:absolute;right:0;top:39px;z-index:8;width:142px;padding:5px;border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow)}.course-unit-more>div button{display:flex;align-items:center;gap:8px;width:100%;height:36px;border:0;background:transparent;color:var(--rust);padding:0 9px;text-align:left;font-size:11px}.course-order-actions{margin-bottom:-24px}.course-unit-archived{margin-top:22px;border-top:1px solid var(--line)}.course-unit-archived>button{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;border:0;background:transparent;color:var(--muted);padding:0;text-align:left;font-weight:700}.course-unit-archived>button b{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;border-radius:99px;background:#e5ded3;color:var(--ink);font-size:10px}.course-unit-archived>button svg{width:16px;transition:transform .15s}.course-unit-archived>button svg.open{transform:rotate(180deg)}.course-unit-archived>div{display:grid;gap:1px;background:var(--line)}.course-unit-archived article{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f1ece4;padding:12px 14px}.course-unit-archived strong,.course-unit-archived small{display:block}.course-unit-archived small{margin-top:3px;color:var(--muted);font-size:10px}.course-unit-archived article button{height:34px;padding:0 10px;font-size:11px}.course-manage-empty{display:grid;justify-items:center;gap:8px;padding:48px 20px;color:var(--muted);text-align:center}.course-manage-empty>svg{width:30px;height:30px;color:#a79888}.course-manage-empty strong{color:var(--ink)}.course-manage-empty span{font-size:12px;line-height:1.55}.course-manage-empty button{margin-top:8px}.course-roster-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.course-roster-toolbar>label{display:flex;align-items:center;gap:8px;width:min(360px,100%);height:42px;border:1px solid #cfc5b7;background:var(--white);padding:0 10px}.course-roster-toolbar>label:focus-within{border-color:var(--rust);box-shadow:0 0 0 3px #8b39281a}.course-roster-toolbar>label>svg{width:16px;color:var(--muted);flex:none}.course-roster-toolbar input{width:100%;min-width:0;border:0;background:transparent;outline:0}.course-roster-toolbar label button{display:grid;place-items:center;width:26px;height:26px;border:0;background:transparent;color:var(--muted)}.course-roster-toolbar label button svg{width:14px}.course-roster-toolbar>div{display:flex;border:1px solid var(--line);padding:3px;background:#eee8de}.course-roster-toolbar>div button{height:34px;min-width:70px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.course-roster-toolbar>div button.active{background:var(--white);color:var(--ink)}.course-roster-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.course-roster-row{display:grid;grid-template-columns:22px 38px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;border:1px solid var(--line);background:var(--white);padding:12px;cursor:pointer}.course-roster-row.selected{border-color:#b5c9bd;background:#f6faf7}.course-roster-row input{width:17px;height:17px;margin:0;accent-color:var(--green)}.course-roster-row input:disabled{cursor:not-allowed}.course-roster-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#ded2c4;color:#5c5148;font:700 15px "Noto Serif SC",serif}.course-roster-avatar svg{width:17px}.course-roster-copy{min-width:0}.course-roster-copy strong,.course-roster-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-roster-copy strong{font-size:13px}.course-roster-copy small{margin-top:4px;color:var(--muted);font-size:10px}.course-roster-row>em{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px;font-style:normal;white-space:nowrap}.course-roster-row.selected>em{color:var(--green);font-weight:700}.course-roster-row>em svg{width:13px}.course-roster-list>.course-manage-empty{grid-column:1/-1}.course-roster-actions{margin-bottom:-24px}.course-roster-note{margin:18px 0 0;padding:12px 0 0;border-top:1px dashed #cfc5b7;color:var(--muted);font-size:11px;line-height:1.65}.course-manage-dialog-backdrop{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:24px;background:#1e1b17a3}.course-manage-dialog{width:min(470px,100%);max-height:min(760px,92vh);overflow:auto;border:1px solid var(--line);background:var(--paper);padding:28px;box-shadow:0 24px 80px #1e181247}.course-manage-dialog-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:50%;background:#f1dfd1;color:var(--rust)}.course-manage-dialog-icon.danger{background:#f3d8d0;color:#a43d2d}.course-manage-dialog-icon svg{width:20px}.course-manage-dialog h2{margin:0;font:700 23px "Noto Serif SC",serif}.course-manage-dialog>p{margin:10px 0 22px;color:var(--muted);font-size:12px;line-height:1.7}.course-manage-dialog>footer{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.course-manage-dialog>footer button{min-width:104px;height:42px;padding:0 14px}.course-manage-dialog>footer svg{width:15px}.course-unit-editor{width:min(560px,100%)}.course-unit-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:24px}.course-unit-editor>header h2{margin-top:0}.course-unit-editor>header>button{display:grid;place-items:center;width:36px;height:36px;border:0;background:transparent;color:var(--muted)}.course-unit-editor>header svg{width:18px}.course-delete-dialog strong{color:var(--ink)}@media(max-width:760px){.course-manage-header{grid-template-columns:1fr;gap:18px}.course-manage-summary{width:100%;min-width:0}.course-manage-summary span{flex:1;min-width:0}.course-unit-manage-row{grid-template-columns:28px 34px minmax(0,1fr);align-items:start}.course-unit-status{grid-column:3}.course-unit-actions{grid-column:1/-1;justify-content:flex-start;padding-left:62px}.course-roster-list{grid-template-columns:1fr}}@media(max-width:640px){.course-manage-shell{gap:12px;width:100%;max-width:none;padding-bottom:8px}.course-manage-breadcrumb{display:none}.course-manage-back{width:100%;justify-content:flex-start;border-color:transparent;padding-left:0}.course-manage-header{padding-top:0;gap:14px}.course-manage-title h1{font-size:28px;margin-top:8px}.course-manage-title p{line-height:1.55}.course-manage-summary span{padding:11px 6px;font-size:10px}.course-manage-summary b{font-size:18px}.course-manage-readonly{padding:12px}.course-manage-tabs{position:sticky;top:70px;z-index:9;width:calc(100% + 36px);margin-inline:-18px;border-left:0;border-right:0;overflow-x:auto;scrollbar-width:none}.course-manage-tabs::-webkit-scrollbar{display:none}.course-manage-tabs>button{flex:0 0 auto;min-width:126px;height:42px}.course-manage-section{padding:18px}.course-manage-section-head{display:grid;gap:14px;margin-bottom:20px}.course-manage-section-head>em{white-space:normal}.course-manage-form-section{padding-bottom:0}.course-manage-actions{display:grid;gap:10px;margin:22px -18px 0;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}.course-manage-actions.is-dirty{position:sticky;bottom:0;z-index:4}.course-manage-actions>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.course-manage-actions button{min-width:0;width:100%;padding-inline:10px;white-space:nowrap}.course-status-zone,.course-danger-zone{display:grid;gap:18px}.course-status-zone>button,.course-danger-zone>button{width:100%}.course-unit-manage-head>button{width:100%}.course-unit-manage-row{grid-template-columns:28px 30px minmax(0,1fr);gap:8px;padding:15px 0}.course-unit-copy p{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.course-unit-status{grid-column:3;margin-top:2px}.course-unit-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 38px 38px 38px;gap:6px;padding:5px 0 0}.course-unit-actions>.outline{width:100%;justify-content:center}.course-unit-move,.course-unit-more summary{width:38px;height:36px}.course-unit-more>div{right:0}.course-order-actions{margin-bottom:-18px}.course-unit-archived article{align-items:flex-start}.course-roster-toolbar{display:grid;gap:10px}.course-roster-toolbar>label{width:100%}.course-roster-toolbar>div{width:100%}.course-roster-toolbar>div button{flex:1;min-width:0}.course-roster-row{grid-template-columns:20px 36px minmax(0,1fr);padding:11px 10px}.course-roster-avatar{width:36px;height:36px}.course-roster-row>em{grid-column:3;justify-self:start}.course-roster-actions{margin-bottom:-18px}.course-manage-dialog-backdrop{align-items:end;padding:0}.course-manage-dialog{width:100%;max-height:94dvh;border-width:1px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}.course-manage-dialog>footer{display:grid;grid-template-columns:1fr;margin-top:22px}.course-manage-dialog>footer button{width:100%}.course-manage-dialog>footer .primary,.course-manage-dialog>footer .course-danger-button{grid-row:1}.course-unit-editor{min-height:min(520px,88dvh)}}@media(max-width:430px){.course-manage-tabs>button{min-width:116px;font-size:12px}.course-manage-tabs>button>i{right:6px}.course-manage-summary span{gap:3px}.course-manage-section{padding-inline:15px}.course-manage-actions{margin-inline:-15px;padding-inline:15px}.course-unit-actions{grid-template-columns:minmax(0,1fr) 36px 36px 36px}.course-unit-move,.course-unit-more summary{width:36px}.course-roster-copy strong{font-size:12px}}.teacher-assignment-detail{display:grid;gap:18px;min-width:0}.assignment-back{display:inline-flex;align-items:center;gap:7px}.assignment-recipient-list,.assignment-submission-list{display:grid;min-width:0}.assignment-recipient-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line);min-width:0}.assignment-recipient-main{display:grid;gap:4px;min-width:0;flex:1}.assignment-recipient-main strong,.assignment-recipient-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-recipient-main small{color:var(--muted);font-size:11px}.assignment-recipient-status{flex:0 0 auto;color:var(--green);font-size:12px}.assignment-empty{margin:0;padding:18px 0;color:var(--muted);font-size:13px}.assignment-submission-row{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:14px;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:15px 0;text-align:left;color:var(--ink);cursor:pointer;min-width:0}.assignment-submission-row:hover{background:#faf5ed}.assignment-submission-main{display:grid;gap:5px;min-width:0}.assignment-submission-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-submission-main small{color:var(--muted);font-size:11px}.assignment-submission-status{display:inline-flex;align-items:center;justify-content:center;min-width:62px;padding:6px 8px;border-radius:6px;background:#ead8cf;color:var(--rust);font-size:11px;white-space:nowrap}.assignment-submission-status.reviewed{background:#dce9e0;color:var(--green)}.assignment-submission-status.processing{background:#e6e2ec;color:#62557c}.assignment-submission-row>svg{color:var(--muted)}@media(max-width:640px){.teacher-assignment-detail{gap:14px}.assignment-back{width:100%;justify-content:flex-start}.assignment-detail-heading{margin-bottom:0}.assignment-detail-heading h1{font-size:25px;line-height:1.35;overflow-wrap:anywhere}.assignment-recipient-panel,.assignment-submission-panel,.assignment-requirements{padding:18px}.assignment-recipient-row{padding:13px 0}.assignment-submission-row{grid-template-columns:minmax(0,1fr) auto 16px;gap:8px;padding:14px 0}.assignment-submission-status{min-width:56px;padding-inline:6px;font-size:10px}.assignment-submission-main small{font-size:10px}.assignment-recipient-status{font-size:11px}}@media(max-width:430px){.assignment-detail-heading h1{font-size:23px}.assignment-submission-row{grid-template-columns:minmax(0,1fr) auto}.assignment-submission-row>svg{display:none}.assignment-submission-status{align-self:start}.assignment-recipient-row{gap:8px}.assignment-recipient-main small{max-width:210px}}.notification-center-v2{display:grid;gap:18px;min-width:0}.notification-page-heading>div:last-child{display:flex;gap:8px}.notification-layout{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(0,1.35fr);gap:16px;min-height:620px}.notification-master,.notification-detail{padding:0;overflow:hidden;min-width:0}.notification-filter-tabs{display:flex;gap:3px;padding:8px;border-bottom:1px solid var(--line);background:#eee8de;overflow:auto;scrollbar-width:none}.notification-filter-tabs::-webkit-scrollbar{display:none}.notification-filter-tabs button{flex:1;min-width:78px;height:36px;border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:700;white-space:nowrap}.notification-filter-tabs button.active{background:var(--ink);color:#fff}.notification-items{max-height:720px;overflow:auto}.notification-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) 8px 18px;align-items:center;gap:11px;width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:16px;text-align:left}.notification-card:hover,.notification-card.active{background:#f5efe6}.notification-card.read{opacity:.72}.notification-card.active{box-shadow:inset 3px 0 var(--rust);opacity:1}.notification-card>div{min-width:0}.notification-card>div>span{display:block;color:var(--muted);font-size:9px}.notification-card strong{display:block;margin-top:5px;font:700 14px "Noto Serif SC",serif}.notification-card p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.45;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-card>i{width:7px;height:7px;border-radius:50%;background:var(--rust)}.notification-card>svg{width:16px;color:#958b80}.notification-type-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e8ddd0;color:var(--rust)}.notification-type-icon svg{width:17px}.notification-empty{display:grid;place-items:center;align-content:center;gap:8px;min-height:260px;padding:30px;color:var(--muted);text-align:center}.notification-empty svg{width:32px}.notification-empty strong{color:var(--ink)}.notification-empty span{font-size:11px}.notification-detail{padding:28px}.notification-mobile-back{display:none}.notification-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.notification-detail-head>div>span{color:var(--rust);font-size:11px;font-weight:700}.notification-detail-head h2{margin:7px 0;font:700 27px/1.35 "Noto Serif SC",serif;text-wrap:pretty}.notification-detail-head p{margin:0;color:var(--muted);font-size:10px}.notification-read-state{display:flex;align-items:center;gap:5px;color:var(--green);font-size:11px;white-space:nowrap}.notification-read-state svg{width:14px}.notification-notice-detail,.notification-business-detail{display:grid;gap:20px;padding-top:22px}.notification-sender{display:flex;justify-content:space-between;align-items:center;gap:12px}.notification-sender strong{font-size:13px}.notification-sender span{padding:5px 8px;background:#eee3d7;color:var(--rust);font-size:10px}.notification-body,.notification-business-detail>p{margin:0;white-space:pre-wrap;font-size:14px;line-height:1.85}.notification-deadline{display:flex;align-items:center;gap:7px;padding:11px 12px;background:#f1ece4;color:var(--muted);font-size:11px}.notification-deadline svg{width:15px}.notification-assets h3,.notification-response-box h3{margin:0 0 10px;font:700 16px "Noto Serif SC",serif}.notification-assets{display:grid;gap:7px}.notification-assets>a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:11px;text-decoration:none}.notification-assets>a>svg{width:19px;color:var(--rust)}.notification-assets span,.notification-assets small{display:block}.notification-assets small{margin-top:3px;color:var(--muted);font-size:9px}.notification-response-box{border-top:1px solid var(--line);padding-top:20px}.notification-response-box label{display:grid;gap:7px;color:var(--muted);font-size:11px}.notification-response-box textarea{min-height:86px;border:1px solid var(--line);background:var(--white);padding:10px;resize:vertical}.notification-response-box>div{display:flex;gap:8px;margin-top:12px}.notification-response-box>small{display:block;margin-top:10px;color:var(--muted);font-size:10px}.notification-current-response{margin:0 0 12px;color:var(--green);font-size:11px}.notification-business-detail button{width:max-content}.notification-invitation-actions{display:flex;gap:8px}.notification-invitation-result{width:max-content!important;padding:9px 12px;border-radius:999px;background:#dceade;color:var(--green);font-size:11px!important;font-weight:700;line-height:1!important}@media(max-width:900px){.notification-layout{grid-template-columns:1fr}.notification-detail,.notification-center-v2.detail-route .notification-master{display:none}.notification-center-v2.detail-route .notification-detail{display:block}.notification-items{max-height:none}.notification-mobile-back{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--ink);padding:0 0 18px}.notification-mobile-back svg{width:16px}}@media(max-width:640px){.notification-page-heading{display:grid}.notification-page-heading>div:last-child{width:100%}.notification-page-heading>div:last-child button{flex:1;padding-inline:8px}.notification-detail{padding:18px}.notification-detail-head h2{font-size:23px}.notification-card{grid-template-columns:36px minmax(0,1fr) 7px;padding:14px 10px}.notification-card>svg{display:none}.notification-card p{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notification-response-box>div,.notification-invitation-actions{display:grid;grid-template-columns:1fr 1fr}.notification-response-box button,.notification-invitation-actions button{width:100%;white-space:nowrap}}.organization-notice-page{display:grid;gap:18px;width:100%;max-width:1180px;margin:0 auto;min-width:0}.organization-notice-page *{box-sizing:border-box}.organization-notice-context{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:4px 0 18px;border-bottom:1px solid var(--line)}.organization-notice-context>div{min-width:0}.organization-notice-context h1{margin:4px 0 6px;font:700 clamp(26px,3vw,38px)/1.25 "Noto Serif SC",serif}.organization-notice-context>div>span{color:var(--muted);font-size:12px}.organization-notice-context>label{display:grid;gap:6px;min-width:220px;color:var(--muted);font-size:10px}.organization-notice-context select,.notice-list-toolbar select,.notice-field input,.notice-field textarea,.notice-time-grid input,.notice-time-grid select,.notice-response-head input,.notice-response-head select{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);font:inherit;outline:none}.organization-notice-context select,.notice-list-toolbar select,.notice-field input,.notice-time-grid input,.notice-time-grid select,.notice-response-head input,.notice-response-head select{height:44px;padding:0 12px}.organization-notice-context select:focus,.notice-list-toolbar select:focus,.notice-field input:focus,.notice-field textarea:focus,.notice-time-grid input:focus,.notice-time-grid select:focus,.notice-response-head input:focus,.notice-response-head select:focus{border-color:var(--rust);box-shadow:0 0 0 3px #9c48311f}.organization-notice-actions{display:flex;justify-content:flex-end;gap:8px}.organization-notice-actions button,.notice-page-back,.notice-editor-actions button,.notice-detail-hero button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px}.organization-notice-actions svg,.notice-page-back svg,.notice-editor-actions svg,.notice-detail-hero button svg{width:16px}.notice-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}.notice-summary-grid article{display:grid;gap:8px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#ffffffb3}.notice-summary-grid span{color:var(--muted);font-size:10px}.notice-summary-grid strong{font:700 24px "Noto Serif SC",serif}.notice-list-panel{padding:0;overflow:hidden}.notice-list-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 130px 130px 150px 150px;gap:10px;padding:14px;border-bottom:1px solid var(--line);background:#f3eee6}.notice-list-toolbar>label{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--white);padding-left:12px}.notice-list-toolbar>label>svg{width:16px;color:var(--muted)}.notice-list-toolbar input{min-width:0;border:0;background:transparent;outline:none;font:inherit}.notice-list-toolbar label button{align-self:stretch;border:0;border-left:1px solid var(--line);background:transparent;color:var(--rust);padding:0 14px;font-weight:700}.notice-date-filter{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;height:44px;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:0 10px}.notice-date-filter span{color:var(--muted);font-size:9px;white-space:nowrap}.notice-date-filter input{width:100%;min-width:0;color:var(--ink);font-size:10px}.notice-table-head,.notice-list-row{display:grid;grid-template-columns:minmax(250px,1.5fr) minmax(150px,.8fr) minmax(120px,.65fr) 90px 22px;align-items:center;gap:16px}.notice-table-head{padding:10px 18px;background:#e8e0d5;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:.08em}.notice-list-row{width:100%;min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:16px 18px;text-align:left;transition:.18s ease}.notice-list-row:hover{background:#f6f0e8}.notice-list-row>div,.notice-list-row>span{min-width:0}.notice-list-row>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:center}.notice-list-row em{grid-row:1/3;padding:4px 7px;border-radius:999px;background:#efe0d5;color:var(--rust);font-size:9px;font-style:normal}.notice-list-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 14px "Noto Serif SC",serif}.notice-list-row small{display:block;color:var(--muted);font-size:9px}.notice-list-row>span{font-size:11px}.notice-list-row>span small{margin-top:3px}.notice-list-row>svg{width:17px;color:var(--muted)}.notice-status{justify-self:start;padding:5px 8px;border-radius:999px;background:#e8e2d9;color:var(--muted);font-size:9px;font-style:normal;font-weight:700;white-space:nowrap}.notice-status.published{background:#dceade;color:#356d49}.notice-status.scheduled{background:#f3e4c8;color:#8d5f18}.notice-status.closed,.notice-status.cancelled{background:#e6e2df;color:#766d66}.notice-status.draft{background:#eaded4;color:#8f523d}.notice-empty{display:grid;place-items:center;align-content:center;gap:8px;min-height:260px;padding:30px;color:var(--muted);text-align:center}.notice-empty svg{width:34px}.notice-empty strong{color:var(--ink)}.notice-empty span{font-size:11px}.notice-page-back{width:max-content}.notice-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:16px}.notice-editor-form{display:grid;gap:22px;padding:24px;min-width:0}.notice-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.notice-editor-heading h2{margin:4px 0 0;font:700 24px "Noto Serif SC",serif}.notice-editor-heading>span{padding:7px 10px;border-radius:999px;background:#e8eee4;color:var(--green);font-size:10px;white-space:nowrap}.notice-kind-tabs,.notice-scope-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;border-radius:10px;background:#e9e2d8}.notice-kind-tabs button,.notice-scope-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:700}.notice-kind-tabs button.active,.notice-scope-tabs button.active{background:var(--ink);color:#fff;box-shadow:0 4px 12px #332b2524}.notice-kind-tabs svg{width:16px}.notice-scope-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:12px}.notice-field{position:relative;display:grid;gap:7px;color:var(--ink);font-size:12px;font-weight:700}.notice-field textarea{min-height:180px;padding:12px;resize:vertical;line-height:1.75}.notice-field small{justify-self:end;color:var(--muted);font-size:9px;font-weight:400}.notice-editor-section{display:grid;gap:12px;padding-top:20px;border-top:1px solid var(--line)}.notice-editor-section h3{margin:0;font:700 17px "Noto Serif SC",serif}.notice-editor-section>p{margin:-5px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.notice-file-picker{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;min-height:42px;border:1px dashed var(--rust);border-radius:8px;background:#faf4ed;color:var(--rust);padding:0 14px;font-size:11px;font-weight:700;cursor:pointer}.notice-file-picker svg{width:16px}.notice-file-picker input{display:none}.notice-file-row{display:grid;grid-template-columns:22px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.notice-file-row>svg{width:19px;color:var(--rust)}.notice-file-row span,.notice-file-row small{display:block;min-width:0}.notice-file-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.notice-file-row small{margin-top:2px;color:var(--muted);font-size:9px}.notice-file-row button{display:grid;place-items:center;width:30px;height:30px;border:0;background:transparent;color:var(--muted)}.notice-file-row button svg{width:15px}.notice-role-checks{display:flex;gap:8px}.notice-role-checks label,.notice-select-grid label{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;background:var(--white);padding:10px 12px;font-size:11px}.notice-role-checks label{min-width:120px}.notice-role-checks input,.notice-select-grid input,.notice-switch input{accent-color:var(--rust)}.notice-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:300px;overflow:auto}.notice-select-grid label{min-width:0}.notice-select-grid span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-select-grid small{display:block;margin-top:3px;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis}.notice-switch{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#f7f2eb}.notice-switch input{margin-top:3px}.notice-switch strong,.notice-switch small{display:block}.notice-switch strong{font-size:12px}.notice-switch small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.55}.notice-time-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.notice-time-grid label{display:grid;gap:6px;color:var(--muted);font-size:10px}.notice-editor-actions{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;gap:8px;margin:0 -24px -24px;padding:14px 24px;background:#f7f3edf2;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.notice-editor-summary{position:sticky;top:82px;padding:20px}.notice-editor-summary h3{margin:0 0 14px;font:700 17px "Noto Serif SC",serif}.notice-editor-summary dl{display:grid;gap:0;margin:0}.notice-editor-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.notice-editor-summary dt{color:var(--muted);font-size:10px}.notice-editor-summary dd{margin:0;text-align:right;font-size:11px;font-weight:700}.notice-editor-summary>p{margin:16px 0 0;color:var(--muted);font-size:9px;line-height:1.7}.notice-preview-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#261f1bad;padding:20px}.notice-preview{width:min(640px,100%);max-height:85vh;overflow:auto;border-radius:14px;background:#fbf8f3;padding:24px;box-shadow:0 24px 80px #00000052}.notice-preview header,.notice-preview footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.notice-preview header{padding-bottom:18px;border-bottom:1px solid var(--line)}.notice-preview header span{color:var(--rust);font-size:10px;font-weight:700}.notice-preview h2{margin:5px 0 0;font:700 24px "Noto Serif SC",serif}.notice-preview header button{display:grid;place-items:center;width:34px;height:34px;border:0;background:transparent}.notice-preview header svg{width:18px}.notice-preview>p{min-height:160px;margin:20px 0;white-space:pre-wrap;line-height:1.85}.notice-preview footer{align-items:center;color:var(--muted);font-size:10px}.notice-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px;border-radius:14px;background:linear-gradient(135deg,#332b25,#59453a);color:#fff}.notice-detail-hero>div:first-child{min-width:0}.notice-detail-hero>div:first-child>span{color:#e8bda7;font-size:10px}.notice-detail-hero h2{margin:8px 0;font:700 clamp(24px,3vw,34px) "Noto Serif SC",serif}.notice-detail-hero p{margin:0;color:#d8cec7;font-size:10px}.notice-detail-hero>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.notice-detail-hero .outline{border-color:#ffffff59;color:#fff;background:transparent}.notice-detail-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.notice-detail-stats article{display:grid;gap:7px;padding:15px;border:1px solid var(--line);border-radius:10px;background:#ffffffb8}.notice-detail-stats span{color:var(--muted);font-size:9px}.notice-detail-stats strong{font:700 22px "Noto Serif SC",serif}.notice-detail-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr);align-items:start;gap:16px}.notice-detail-content,.notice-response-panel{padding:22px;min-width:0}.notice-detail-content h3,.notice-response-panel h3{margin:0 0 14px;font:700 17px "Noto Serif SC",serif}.notice-detail-content>p{margin:0;white-space:pre-wrap;line-height:1.85}.notice-detail-content>div{display:flex;align-items:center;gap:7px;margin-top:16px;color:var(--muted);font-size:10px}.notice-detail-content>div>svg{width:16px}.notice-detail-assets{display:grid!important;align-items:stretch!important;gap:7px!important}.notice-detail-assets h3{margin:4px 0}.notice-detail-assets a{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);padding:10px;text-decoration:none;font-size:10px}.notice-detail-assets a svg{width:17px;flex:0 0 auto;color:var(--rust)}.notice-response-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.notice-response-head h3{margin-bottom:4px}.notice-response-head>div:first-child>span{color:var(--muted);font-size:9px}.notice-response-head>div:last-child{display:grid;grid-template-columns:minmax(170px,1fr) 100px 110px;gap:7px}.notice-response-head label{position:relative;display:block}.notice-response-head label svg{position:absolute;left:10px;top:13px;width:15px;color:var(--muted)}.notice-response-head label input{padding-left:32px}.notice-response-list{display:grid;border-top:1px solid var(--line)}.notice-response-list article{display:grid;grid-template-columns:38px minmax(0,1fr) 50px 72px;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid var(--line)}.notice-person-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e9ded2;color:var(--rust);font-weight:700}.notice-response-list article>div{min-width:0}.notice-response-list strong,.notice-response-list small{display:block}.notice-response-list strong{font-size:11px}.notice-response-list small{margin-top:3px;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice-response-list p{margin:5px 0 0;color:var(--ink);font-size:10px}.notice-response-list article>span:not(.notice-person-avatar){color:var(--muted);font-size:9px}.notice-response-list i{justify-self:end;padding:5px 7px;border-radius:999px;font-size:9px;font-style:normal;white-space:nowrap}.notice-response-list i.done{background:#dceade;color:#356d49}.notice-response-list i.pending{background:#eee5db;color:#8f5b43}@media(max-width:980px){.notice-summary-grid,.notice-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.notice-editor-layout,.notice-detail-layout{grid-template-columns:1fr}.notice-editor-summary{position:static}.notice-list-toolbar{grid-template-columns:1fr 1fr}.notice-list-toolbar>label{grid-column:1/-1}.notice-table-head,.notice-list-row{grid-template-columns:minmax(210px,1.5fr) minmax(130px,.8fr) minmax(110px,.65fr) 82px 18px}.notice-response-head{display:grid}.notice-response-head>div:last-child{grid-template-columns:minmax(0,1fr) 110px 120px}}@media(max-width:640px){.organization-notice-page{gap:14px}.organization-notice-context{display:grid;align-items:start;padding-bottom:14px}.organization-notice-context>label{width:100%;min-width:0}.organization-notice-actions{display:grid;grid-template-columns:1fr 1fr}.organization-notice-actions button{width:100%}.notice-summary-grid,.notice-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-summary-grid article,.notice-detail-stats article{padding:13px}.notice-list-toolbar{grid-template-columns:1fr;padding:10px}.notice-list-toolbar>label{grid-column:auto}.notice-table-head{display:none}.notice-list-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px}.notice-list-row>div{grid-column:1/-1;padding-right:24px}.notice-list-row strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.notice-list-row>span{display:grid;gap:2px}.notice-list-row>span:nth-of-type(2){text-align:right}.notice-list-row>.notice-status{grid-column:1}.notice-list-row>svg{position:absolute;right:13px;top:18px}.notice-editor-form{padding:16px}.notice-editor-heading{display:grid}.notice-kind-tabs,.notice-scope-tabs{overflow:auto;grid-auto-flow:column;grid-auto-columns:minmax(112px,1fr);grid-template-columns:none}.notice-field textarea{min-height:150px}.notice-select-grid,.notice-time-grid{grid-template-columns:1fr}.notice-role-checks{display:grid;grid-template-columns:1fr 1fr}.notice-role-checks label{min-width:0}.notice-file-picker{width:100%}.notice-editor-actions{display:grid;grid-template-columns:1fr 1fr;margin:0 -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.notice-editor-actions .primary{grid-column:1/-1;grid-row:1}.notice-editor-actions button{width:100%;min-width:0;padding-inline:8px;white-space:nowrap}.notice-preview{padding:18px}.notice-preview footer{display:grid}.notice-preview footer button{width:100%}.notice-detail-hero{display:grid;padding:18px}.notice-detail-hero>div:last-child{display:grid;grid-template-columns:1fr 1fr;width:100%}.notice-detail-hero button{width:100%;padding-inline:7px}.notice-detail-content,.notice-response-panel{padding:16px}.notice-response-head>div:last-child{grid-template-columns:1fr}.notice-response-list article{grid-template-columns:36px minmax(0,1fr) auto}.notice-response-list article>span:not(.notice-person-avatar){grid-column:2}.notice-response-list i{grid-column:3;grid-row:1/3}.notice-page-back{width:100%}}@media(max-width:430px){.organization-notice-context h1{font-size:25px}.notice-summary-grid article:last-child:nth-child(odd),.notice-detail-stats article:last-child:nth-child(odd){grid-column:1/-1}.notice-detail-hero>div:last-child{grid-template-columns:1fr}.notice-editor-actions{grid-template-columns:1fr}.notice-editor-actions .primary{grid-column:auto}.notice-role-checks{grid-template-columns:1fr}.notice-list-row{padding-inline:12px}}.organization-course-shell{display:grid;gap:24px;min-width:0;max-width:1120px;margin:0 auto}.org-course-context{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.org-course-context>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;min-width:0}.org-course-context p{width:100%;margin:0}.org-course-context strong{font:700 24px/1.3 "Noto Serif SC",Georgia,serif}.org-course-context span{color:var(--muted);font-size:13px}.org-course-context label{display:grid;gap:5px;min-width:240px}.org-course-context select{height:44px;border:1px solid var(--line);background:var(--white);color:var(--ink);padding:0 12px;font:inherit}.org-course-error{display:flex;align-items:center;justify-content:space-between;gap:16px}.org-course-error button{border:0;background:transparent;color:inherit;padding:4px}.org-course-error svg{width:18px}.org-course-page,.org-course-overview,.org-course-unit-page,.org-course-create-page,.org-course-manage{display:grid;gap:22px;min-width:0}.org-course-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.org-course-page-heading h1,.org-course-create-page>header h1,.org-course-unit-page>header h1,.org-course-hero h1,.org-course-manage-header h1{margin:0;font:700 clamp(30px,4vw,46px)/1.2 "Noto Serif SC",Georgia,serif}.org-course-page-heading p,.org-course-create-page>header p,.org-course-unit-page>header p{margin:8px 0 0;color:var(--muted)}.org-course-page-heading button,.org-course-create-actions button{min-height:44px}.org-course-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.org-course-toolbar>label,.org-course-picker-toolbar>label{display:flex;align-items:center;gap:8px;min-width:260px;height:44px;border:1px solid var(--line);background:var(--white);padding:0 12px}.org-course-toolbar label svg,.org-course-picker-toolbar label svg{width:17px;color:var(--muted);flex:0 0 auto}.org-course-toolbar input,.org-course-picker-toolbar input{width:100%;min-width:0;border:0;background:transparent;outline:0;font:inherit;color:var(--ink)}.org-course-toolbar label button,.org-course-picker-toolbar label button{border:0;background:transparent;padding:3px;color:var(--muted)}.org-course-filter-tabs{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);background:#eee8de;overflow:auto;scrollbar-width:none}.org-course-filter-tabs::-webkit-scrollbar{display:none}.org-course-filter-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:100px;height:38px;border:0;background:transparent;color:var(--muted);font:600 13px/1 inherit;white-space:nowrap}.org-course-filter-tabs button b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#3f383017;font-size:11px}.org-course-filter-tabs button.active{background:var(--ink);color:#fff}.org-course-filter-tabs button.active b{background:#ffffff2e}.org-course-list{display:grid;gap:12px}.org-course-row{display:grid;grid-template-columns:minmax(250px,1.4fr) minmax(310px,1fr) auto;gap:24px;align-items:center;border:1px solid var(--line);background:var(--white);padding:20px;cursor:pointer;transition:border-color .15s,transform .15s}.org-course-row:hover{border-color:#a99987;transform:translateY(-1px)}.org-course-row.archived{background:#f0ece5}.org-course-row-main{min-width:0}.org-course-row-main>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.org-course-instrument,.org-course-state{font-size:12px;line-height:1;padding:6px 8px;border-radius:999px}.org-course-instrument{background:#eee7dc;color:var(--rust)}.org-course-state.active{background:#e3eee4;color:#256238}.org-course-state.incomplete{background:#f5e7d2;color:#8b541b}.org-course-state.archived{background:#e2ded8;color:#6e675f}.org-course-row h2{margin:10px 0 5px;font:700 22px/1.35 "Noto Serif SC",Georgia,serif}.org-course-row p{margin:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-course-row-main small{display:block;margin-top:10px;color:#5e574f}.org-course-row-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px;min-width:0}.org-course-row-metrics span{font-size:13px;color:var(--muted);white-space:nowrap}.org-course-row-metrics span b{color:var(--ink);font-size:16px;margin-right:3px}.org-course-row-metrics span.warn,.org-course-row-metrics span.warn b{color:#a24732}.org-course-row-metrics small{grid-column:1/-1;color:var(--muted)}.org-course-row-actions{display:flex;align-items:center;gap:8px;position:relative}.org-course-row-actions>button{height:40px;white-space:nowrap}.org-course-row-actions>svg{width:18px;color:var(--muted)}.org-course-row-actions details{position:relative}.org-course-row-actions summary{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:var(--white);list-style:none;cursor:pointer}.org-course-row-actions summary::-webkit-details-marker{display:none}.org-course-row-actions details>div{position:absolute;right:0;top:44px;z-index:8;min-width:145px;padding:5px;border:1px solid var(--line);background:var(--white);box-shadow:0 14px 34px #312a2329}.org-course-row-actions details button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:transparent;padding:10px;text-align:left;white-space:nowrap}.org-course-row-actions details svg{width:16px}.org-course-empty{display:grid;place-items:center;gap:9px;min-height:220px;border:1px dashed #cfc4b6;background:#faf7f1;text-align:center;padding:28px;color:var(--muted)}.org-course-empty>svg{width:32px;height:32px;color:#9b8e7e}.org-course-empty strong{color:var(--ink);font-size:18px}.org-course-empty button{margin-top:8px}.org-course-breadcrumb{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.org-course-breadcrumb svg{width:14px}.org-course-breadcrumb strong{color:var(--ink)}.org-course-hero,.org-course-manage-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}.org-course-hero>div:first-child,.org-course-manage-header>div{min-width:0}.org-course-hero>div>span,.org-course-manage-header>div>span{color:var(--rust);font-size:13px}.org-course-hero i,.org-course-manage-header i{display:inline-flex;margin-left:8px;padding:5px 8px;border-radius:999px;font-style:normal;font-size:12px}.org-course-hero i.active,.org-course-manage-header i.active{background:#e3eee4;color:#256238}.org-course-hero i.incomplete,.org-course-manage-header i.incomplete{background:#f5e7d2;color:#8b541b}.org-course-hero i.archived,.org-course-manage-header i.archived{background:#e2ded8;color:#6e675f}.org-course-hero h1,.org-course-manage-header h1{margin-top:10px}.org-course-hero p,.org-course-manage-header p{max-width:650px;margin:8px 0;color:var(--muted)}.org-course-hero small{color:#5e574f}.org-course-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.org-course-hero-actions button{height:42px;white-space:nowrap}.org-course-overview-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--white)}.org-course-overview-stats article{display:grid;gap:5px;padding:18px 20px;border-right:1px solid var(--line)}.org-course-overview-stats article:last-child{border-right:0}.org-course-overview-stats span{color:var(--muted);font-size:13px}.org-course-overview-stats strong{font:700 28px/1.1 "Noto Serif SC",Georgia,serif}.org-course-overview-stats .warn strong{color:#a24732}.org-course-unit-panel,.org-course-task-panel,.org-course-create-panel,.org-course-manage-section{border:1px solid var(--line);background:var(--white);padding:24px;min-width:0}.org-course-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.org-course-section-title p,.org-course-section-title h2,.org-course-section-title span{margin:0}.org-course-section-title h2{margin:4px 0 5px;font:700 22px/1.35 "Noto Serif SC",Georgia,serif}.org-course-section-title span{color:var(--muted)}.org-course-section-title>strong{white-space:nowrap;color:var(--muted);font-size:13px}.org-course-unit-list{display:grid}.org-course-unit-list>button{display:grid;grid-template-columns:46px minmax(0,1fr) auto 20px;gap:16px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:18px 0;text-align:left;color:inherit}.org-course-unit-list>button:hover{background:#faf7f1}.org-course-unit-index{font:700 18px/1 Georgia,serif;color:#9b8e7e}.org-course-unit-list strong{font-size:17px}.org-course-unit-list p{margin:5px 0;color:var(--muted)}.org-course-unit-list small{color:#6b635a}.org-course-unit-metrics{display:flex;gap:18px}.org-course-unit-metrics span{display:grid;gap:4px;color:var(--muted);font-size:12px;text-align:right}.org-course-unit-metrics b{color:var(--ink);font-size:16px}.org-course-unit-list svg{width:18px;color:var(--muted)}.org-course-unit-page>header{padding:16px 0}.org-course-unit-page>header span{color:var(--rust);font-size:13px}.org-course-task-list{display:grid}.org-course-task-list article{display:grid;grid-template-columns:minmax(250px,1fr) minmax(410px,1.2fr);gap:24px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}.org-course-task-main{display:grid;gap:6px;min-width:0}.org-course-task-main strong{font-size:17px}.org-course-task-main small{color:var(--muted)}.org-course-task-main span{font-size:12px;color:var(--rust)}.org-course-task-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.org-course-task-metrics span{display:grid;gap:4px;padding:9px;background:#f6f1e9;color:var(--muted);font-size:11px;text-align:center}.org-course-task-metrics b{color:var(--ink);font-size:15px}.org-course-task-metrics .warn,.org-course-task-metrics .warn b{color:#a24732}.org-course-create-page{max-width:930px;width:100%;margin:0 auto}.org-course-create-page>header{padding-top:4px}.org-course-stepper{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none}.org-course-stepper li{display:flex;align-items:center;gap:10px;position:relative;color:var(--muted)}.org-course-stepper li:not(:last-child):after{content:"";position:absolute;left:38px;right:12px;top:17px;height:1px;background:var(--line)}.org-course-stepper b{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--white);z-index:1}.org-course-stepper b svg{width:16px}.org-course-stepper li.active{color:var(--ink);font-weight:700}.org-course-stepper li.active b{border-color:var(--rust);background:var(--rust);color:#fff}.org-course-stepper li.done b{border-color:#4f7a58;background:#4f7a58;color:#fff}.org-course-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.org-course-form label,.org-course-dialog label{display:grid;gap:7px;min-width:0}.org-course-form label.wide{grid-column:1/-1}.org-course-form label>span,.org-course-dialog label>span{font-weight:650;font-size:13px}.org-course-form label>span b{color:var(--rust)}.org-course-form input,.org-course-form textarea,.org-course-dialog input{width:100%;min-width:0;border:1px solid #cfc5b7;background:var(--white);color:var(--ink);padding:0 13px;font:inherit;outline:0}.org-course-form input,.org-course-dialog input{height:44px}.org-course-form textarea{min-height:120px;padding-top:12px;resize:vertical}.org-course-form input:focus,.org-course-form textarea:focus,.org-course-dialog input:focus{border-color:var(--rust);box-shadow:0 0 0 3px #8b39281a}.org-course-form input:disabled,.org-course-form textarea:disabled{background:#eee9e1;color:#6f685f}.org-course-form small{color:var(--muted);text-align:right}.org-course-create-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:2px}.org-course-picker-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.org-course-picker-toolbar>div{display:flex;gap:4px;padding:3px;border:1px solid var(--line);background:#eee8de}.org-course-picker-toolbar>div button{height:34px;min-width:76px;border:0;background:transparent;color:var(--muted)}.org-course-picker-toolbar>div button.active{background:var(--white);color:var(--ink);font-weight:700}.org-course-picker-list{display:grid;max-height:440px;overflow:auto;border-top:1px solid var(--line)}.org-course-picker-row{display:grid;grid-template-columns:24px 38px minmax(0,1fr) auto auto;align-items:center;gap:12px;min-width:0;padding:13px 8px;border-bottom:1px solid var(--line);cursor:pointer}.org-course-picker-row:hover,.org-course-picker-row.selected{background:#faf7f1}.org-course-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e7ded1;color:var(--rust);font-weight:700}.org-course-avatar svg{width:18px}.org-course-person{display:grid;gap:3px;min-width:0}.org-course-person small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.org-course-count{color:var(--muted);font-size:12px;white-space:nowrap}.org-course-picker-row>button{min-width:76px;height:34px;border:1px solid var(--line);background:var(--white);color:var(--muted)}.org-course-picker-row>button.lead{border-color:#4f7a58;background:#e3eee4;color:#256238}.org-course-picker-row em{display:inline-flex;align-items:center;gap:5px;font-style:normal;font-size:12px;color:var(--muted);white-space:nowrap}.org-course-picker-row em svg{width:14px}.org-course-picker-empty{display:grid;place-items:center;gap:7px;padding:38px;color:var(--muted)}.org-course-picker-empty svg{width:28px}.org-course-picker-empty strong{color:var(--ink)}.org-course-manage{max-width:1040px;width:100%;margin:0 auto}.org-course-manage-header aside{display:flex;border:1px solid var(--line);background:var(--white)}.org-course-manage-header aside span{display:grid;gap:3px;min-width:100px;padding:14px;text-align:center;border-right:1px solid var(--line);color:var(--muted);font-size:12px}.org-course-manage-header aside span:last-child{border-right:0}.org-course-manage-header aside b{color:var(--ink);font-size:20px}.org-course-readonly{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #d8c8ad;background:#f7eddb;color:#76511f}.org-course-readonly>svg{width:20px;flex:0 0 auto}.org-course-readonly div{display:grid;gap:3px}.org-course-readonly span{font-size:13px}.org-course-manage-tabs{display:flex;border-bottom:1px solid var(--line);overflow:auto;scrollbar-width:none}.org-course-manage-tabs::-webkit-scrollbar{display:none}.org-course-manage-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;min-width:150px;height:48px;border:0;background:transparent;color:var(--muted);font-weight:650;white-space:nowrap}.org-course-manage-tabs button.active{color:var(--ink)}.org-course-manage-tabs button.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--rust)}.org-course-manage-tabs button>i{width:7px;height:7px;border-radius:50%;background:var(--rust)}.org-course-manage-tabs button>b{display:grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#ece5db;font-size:11px}.org-course-manage-body{min-width:0}.org-course-profile{display:grid;gap:18px}.org-course-readonly-value{display:flex;align-items:center;height:44px;border:1px solid var(--line);background:#eee9e1;padding:0 13px;color:#6f685f}.org-course-manage-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted)}.org-course-manage-actions.dirty{color:var(--rust)}.org-course-manage-actions>div{display:flex;gap:8px}.org-course-manage-actions button{height:42px}.org-course-status-zone,.org-course-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--line);background:var(--white);padding:22px}.org-course-status-zone h2,.org-course-danger-zone h2{margin:4px 0;font:700 20px/1.35 "Noto Serif SC",Georgia,serif}.org-course-status-zone p,.org-course-danger-zone p{margin:0;color:var(--muted)}.org-course-status-zone button{white-space:nowrap}.org-course-danger-zone{border-color:#d9b8af;background:#fff9f7}.org-course-danger-zone ul{margin:10px 0 0;padding-left:18px;color:#9a3e2d}.org-course-danger-zone>button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid #a24732;background:#a24732;color:#fff;padding:0 15px;white-space:nowrap}.org-course-danger-zone>button:disabled,.danger-button:disabled{opacity:.42;cursor:not-allowed}.org-course-history-note{position:relative;z-index:1;margin:14px 0 0;padding:12px 14px;border:1px solid #d8c8ad;background:#f7eddb;color:#76511f;font-size:13px;line-height:1.6}.org-course-dialog-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:#1c1814ad}.org-course-dialog{display:grid;gap:14px;width:min(500px,100%);border:1px solid var(--line);background:var(--white);padding:26px;box-shadow:0 24px 70px #14100d47}.org-course-dialog>svg{width:30px;height:30px;color:#9a5c25}.org-course-dialog.danger>svg{color:#a24732}.org-course-dialog h2,.org-course-dialog p{margin:0}.org-course-dialog h2{font:700 24px/1.3 "Noto Serif SC",Georgia,serif}.org-course-dialog p{color:var(--muted);line-height:1.7}.org-course-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.org-course-dialog footer button{min-height:42px}@media(max-width:900px){.org-course-row{grid-template-columns:1fr auto}.org-course-row-metrics{grid-column:1/-1;grid-row:2}.org-course-task-list article{grid-template-columns:1fr}.org-course-manage-header{align-items:stretch;flex-direction:column}.org-course-manage-header aside{align-self:flex-start}.org-course-unit-metrics{display:grid}.org-course-hero{align-items:flex-start;flex-direction:column}.org-course-hero-actions{justify-content:flex-start}}@media(max-width:640px){.organization-course-shell{gap:18px}.org-course-context{align-items:stretch;flex-direction:column;gap:12px}.org-course-context label{min-width:0}.org-course-page-heading{align-items:stretch;flex-direction:column}.org-course-page-heading>button{width:100%}.org-course-toolbar{align-items:stretch;flex-direction:column}.org-course-toolbar>label{min-width:0;width:100%}.org-course-filter-tabs{width:100%;margin:0;overflow-x:auto}.org-course-filter-tabs button{min-width:96px}.org-course-row{grid-template-columns:minmax(0,1fr);gap:15px;padding:17px}.org-course-row p{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.org-course-row-metrics{grid-column:auto;grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.org-course-row-metrics span{white-space:normal}.org-course-row-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto}.org-course-row-actions>button{width:100%;min-width:0;padding-left:8px;padding-right:8px}.org-course-row-actions>svg{display:none}.org-course-row-actions details{justify-self:end}.org-course-breadcrumb{display:none}.org-course-hero,.org-course-manage-header{padding:12px 0 20px}.org-course-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.org-course-hero-actions .primary{grid-column:1/-1}.org-course-hero-actions button{width:100%;min-width:0}.org-course-overview-stats{grid-template-columns:repeat(2,1fr)}.org-course-overview-stats article:nth-child(2){border-right:0}.org-course-overview-stats article:nth-child(-n+2){border-bottom:1px solid var(--line)}.org-course-unit-panel,.org-course-task-panel,.org-course-create-panel,.org-course-manage-section{padding:17px}.org-course-section-title{align-items:flex-start;flex-direction:column;gap:8px}.org-course-unit-list>button{grid-template-columns:34px minmax(0,1fr) 16px;gap:10px}.org-course-unit-metrics{grid-column:2/4;grid-row:2;display:flex;justify-content:flex-start}.org-course-unit-metrics span{text-align:left}.org-course-task-list article{gap:14px}.org-course-task-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.org-course-task-metrics span:last-child{grid-column:1/-1}.org-course-stepper span{font-size:12px}.org-course-stepper li{gap:6px}.org-course-stepper li:not(:last-child):after{left:30px;right:8px}.org-course-stepper b{width:30px;height:30px}.org-course-form{grid-template-columns:1fr}.org-course-form label.wide{grid-column:auto}.org-course-create-actions{position:sticky;bottom:0;z-index:10;margin:0 -8px;padding:12px 8px max(12px,env(safe-area-inset-bottom));background:#f7f3ecf5;border-top:1px solid var(--line)}.org-course-create-actions button{flex:1}.org-course-picker-toolbar{align-items:stretch;flex-direction:column}.org-course-picker-toolbar>label{min-width:0;width:100%}.org-course-picker-toolbar>div{overflow:auto}.org-course-picker-row{grid-template-columns:22px 36px minmax(0,1fr) auto;gap:9px}.org-course-count{grid-column:3;grid-row:2}.org-course-picker-row>button,.org-course-picker-row>em{grid-column:4;grid-row:1/3}.org-course-manage-header aside{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.org-course-manage-header aside span{min-width:0;padding:11px 6px}.org-course-manage-tabs{position:sticky;top:0;z-index:15;margin:0 -16px;padding:0 16px;background:var(--paper)}.org-course-manage-tabs button{min-width:125px}.org-course-manage-actions{align-items:stretch;flex-direction:column}.org-course-manage-actions>div{display:grid;grid-template-columns:1fr 1fr}.org-course-manage-actions button{width:100%;min-width:0}.org-course-status-zone,.org-course-danger-zone{align-items:stretch;flex-direction:column}.org-course-status-zone button,.org-course-danger-zone>button{width:100%}.org-course-dialog-backdrop{align-items:end;padding:0}.org-course-dialog{width:100%;max-height:92vh;overflow:auto;padding:22px 18px max(22px,env(safe-area-inset-bottom))}.org-course-dialog footer{display:grid;grid-template-columns:1fr 1fr}.org-course-dialog footer .primary,.org-course-dialog footer .danger-button{grid-column:1/-1;grid-row:1}.org-course-dialog footer button{width:100%;min-width:0}.org-course-history-note{margin-bottom:4px}}@media(max-width:430px){.org-course-row-actions{grid-template-columns:1fr 1fr 38px}.org-course-row-actions button{font-size:12px}.org-course-overview-stats article{padding:15px}.org-course-picker-row{padding-left:2px;padding-right:2px}.org-course-person strong{font-size:14px}.org-course-picker-row>button{min-width:68px;padding:0 6px;font-size:12px}.org-course-unit-panel,.org-course-task-panel,.org-course-create-panel,.org-course-manage-section{padding:14px}.org-course-stepper li:not(:last-child):after{display:none}.org-course-manage-tabs{margin-left:-12px;margin-right:-12px;padding-left:12px}.org-course-manage-tabs button{min-width:118px}}.feedback-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:18px}.feedback-form{display:grid;gap:15px;padding:22px}.feedback-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--muted)}.feedback-form input,.feedback-form textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:#fffdf8;color:var(--ink);font:inherit;padding:10px}.feedback-form textarea{min-height:150px;resize:vertical}.feedback-form .primary{justify-self:start}.feedback-kind{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.feedback-kind button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:42px;border:1px solid var(--line);border-radius:7px;background:#fffdf8;color:var(--muted);font-weight:700}.feedback-kind button.active{border-color:var(--rust);background:#fff1e9;color:var(--rust)}.feedback-kind svg{width:16px}.feedback-files{display:grid;gap:7px}.feedback-upload{display:inline-flex!important;justify-self:start;align-items:center;gap:7px;padding:9px 11px;border:1px dashed #bda998;border-radius:7px;color:var(--rust)!important;cursor:pointer}.feedback-upload input{display:none}.feedback-files small{color:var(--muted)}.feedback-files ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.feedback-files li{display:flex;justify-content:space-between;gap:8px;padding:7px 9px;background:#f7f1e9;font-size:12px}.feedback-files li button{border:0;background:transparent;color:var(--rust)}.feedback-history{padding:20px}.feedback-history article{display:grid;grid-template-columns:1fr auto;gap:8px;padding:15px 0;border-top:1px solid var(--line)}.feedback-history article:first-of-type{border-top:0}.feedback-history strong,.feedback-history small{font-size:12px;color:var(--muted)}.feedback-history h4{margin:5px 0;font-size:15px}.feedback-history blockquote{grid-column:1/-1;margin:4px 0 0;padding:9px 11px;border-left:3px solid var(--rust);background:#fff7ef;font-size:13px;line-height:1.55}.feedback-images{display:flex;gap:7px;grid-column:1/-1;overflow:auto}.feedback-images img{width:86px;height:64px;object-fit:cover;border:1px solid var(--line);border-radius:5px}.feedback-status{align-self:start}.feedback-status.in_progress{background:#e8eef7;color:#315b78}.feedback-status.resolved{background:#e5efe9;color:var(--green)}.feedback-status.closed{background:#eeeae4;color:var(--muted)}@media(max-width:800px){.feedback-layout,.feedback-kind{grid-template-columns:1fr}.feedback-form .primary{width:100%;justify-content:center}}.breadcrumbs{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:11px}.breadcrumbs strong{color:var(--ink)}.route-bar{display:flex;align-items:center;gap:18px;margin-bottom:18px}.route-form{max-width:720px;display:grid;gap:16px}.route-form label{display:grid;gap:7px;color:var(--muted);font-size:12px}.route-form input,.route-form select,.report-period select{height:42px;border:1px solid var(--line);background:#fffdf8;padding:0 12px;color:var(--ink)}.course-page-actions{display:flex;gap:10px;flex-wrap:wrap}.student-progress-block{margin-bottom:18px}.progress-student-row{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;width:100%;padding:14px 0;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--ink)}.progress-student-row strong,.progress-student-row small{display:block}.progress-student-row small{margin-top:5px;color:var(--muted);font-size:11px}.progress-student-row b{font-size:18px;color:var(--rust)}.course-task-progress-row{display:grid;grid-template-columns:minmax(180px,1fr) repeat(5,auto);gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line);font-size:11px}.course-task-progress-row strong,.course-task-progress-row small{display:block}.course-task-progress-row small{margin-top:5px;color:var(--muted)}.status-neutral{background:#eee7dc;color:var(--muted)}.status-info{background:#dfe8ed;color:#3e6374}.status-success{background:#dce9e0;color:var(--green)}.status-warning{background:#f2e7c9;color:#8a641a}.status-danger{background:#ead8cf;color:var(--rust)}.report-period{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px}.report-grid{margin-top:18px}.practice-bars{height:220px;display:flex;align-items:flex-end;gap:9px;padding:20px 0 4px}.practice-bars>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.practice-bars i{width:100%;min-height:8px;background:var(--rust);display:block}.practice-bars span{font-size:10px;color:var(--muted)}.quality-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quality-metrics>div{padding:16px;background:#f4eee5}.quality-metrics span{display:block;color:var(--muted);font-size:11px}.quality-metrics strong{display:block;margin-top:8px;font:700 24px Georgia,serif}.report-insight{display:flex;gap:12px;align-items:flex-start;margin-top:18px}.report-insight p{margin:6px 0 0;color:var(--muted);font-size:12px}.report-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.report-row strong,.report-row small{display:block}.report-row small{margin-top:4px;color:var(--muted);font-size:11px}.report-row i{font-style:normal;font-size:11px;white-space:nowrap}.report-row i.ok{color:var(--green)}.report-row i.warn{color:var(--rust)}.profile-route .guidance-toolbar,.profile-route .guidance-student-list{display:none}.profile-route .guidance-grid{grid-template-columns:1fr}.profile-route .guidance-detail-head{border-bottom:1px solid var(--line);padding-bottom:16px}.workspace-task-panel{overflow:hidden}.workspace-task-row{grid-template-columns:42px minmax(0,1fr) auto auto 20px;min-height:86px;padding:18px 24px}.workspace-task-row .task-main{min-width:0}.workspace-task-row .task-main strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-task-row .task-main small{display:flex;align-items:center;gap:5px;white-space:nowrap}.workspace-task-row .task-main small svg{width:14px;height:14px}.workspace-task-row>.status{white-space:nowrap;min-width:56px;text-align:center}.workspace-task-row>b{font-size:12px;color:var(--rust);white-space:nowrap;font-weight:700}.workspace-task-row>svg{width:18px;height:18px;flex:none}.notification-button{position:relative}.notification-button b{position:absolute;right:-3px;top:-4px;min-width:16px;height:16px;border-radius:50%;background:var(--rust);color:#fff;font-size:9px;line-height:16px;text-align:center}.student-workspace .workspace-task-row{display:grid!important;width:100%;min-width:0;writing-mode:horizontal-tb}.student-workspace .workspace-task-row>*{writing-mode:horizontal-tb;min-width:0}.student-workspace .workspace-task-row .task-index{display:grid;place-items:center}.student-workspace .workspace-task-row .task-main{overflow:hidden}.student-workspace .workspace-task-row .task-main small{overflow:hidden;text-overflow:ellipsis}.course-hero~.unit-list .unit-tasks>button{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;min-width:0}.course-hero~.unit-list .unit-tasks>button>div{min-width:0;overflow:hidden}.course-hero~.unit-list .unit-tasks>button strong,.course-hero~.unit-list .unit-tasks>button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-hero~.unit-list .unit-tasks>button>svg{width:18px;height:18px;flex:none}.course-hero~.unit-list .unit-tasks .status{white-space:nowrap;min-width:54px;text-align:center}.student-workspace .workspace-task-row{display:flex!important;align-items:center;gap:16px;padding:18px 22px;min-height:82px;position:relative;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink)}.student-workspace .workspace-task-row:hover{background:#f0ebe2}.workspace-task-icon{width:38px;flex:0 0 38px;color:var(--rust);display:grid;place-items:center}.workspace-task-icon svg{width:22px;height:22px}.workspace-task-content{min-width:0;flex:1;display:grid;gap:5px}.workspace-task-content strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-task-content small{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workspace-task-content small svg{width:14px;height:14px;flex:none}.workspace-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex:0 0 auto;white-space:nowrap}.workspace-task-actions .status{min-width:56px;text-align:center}.workspace-task-actions b{font-size:12px;color:var(--rust);font-weight:700}.workspace-task-actions>svg{width:18px;height:18px;flex:none;color:var(--ink)}.workspace-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.workspace-heading-actions button{white-space:nowrap}.workspace-submitted-row{display:flex;align-items:center;gap:18px;min-width:0;padding:18px 22px;border-top:1px solid var(--line);background:transparent;color:var(--ink)}.workspace-submitted-row:hover{background:#f6f1e9}.workspace-submitted-main{display:flex;align-items:center;gap:16px;min-width:0;flex:1}.workspace-submitted-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.workspace-submitted-actions button{min-width:92px;height:36px;padding:0 14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:12px;font-weight:700;white-space:nowrap}.workspace-feedback-action{background:#fffaf2;color:var(--rust)}.workspace-feedback-action.reviewed{background:#e5efe9;border-color:#b9d4c4;color:var(--green)}.workspace-feedback-action:disabled{cursor:not-allowed;opacity:.55;color:var(--muted);background:#f1ede6}.workspace-practice-action{background:var(--rust);border-color:var(--rust)!important;color:#fff}.task-calendar-grid.week{overflow-x:auto}.task-calendar-grid.week .calendar-week-labels,.task-calendar-grid.week .calendar-days{min-width:700px}@media(max-width:900px){.task-calendar-toolbar{display:grid}.calendar-controls{justify-content:flex-start}.calendar-days{min-height:420px}.composer-inline.composer-schedule{grid-template-columns:1fr 1fr}.composer-reset-due{grid-column:1/-1;justify-self:start}}@media(max-width:640px){.task-calendar-panel{margin-inline:-2px}.task-calendar-toolbar{padding:14px}.calendar-navigation{display:grid;grid-template-columns:auto 1fr auto auto;width:100%}.calendar-navigation strong{min-width:0;font-size:15px}.calendar-controls{gap:6px}.calendar-toggle{overflow-x:auto}.calendar-toggle button{padding-inline:7px;font-size:10px}.calendar-week-labels span{font-size:10px}.calendar-days{min-height:390px}.task-calendar-cell{min-height:66px;padding:6px}.calendar-chip{display:none}.calendar-count{font-size:10px;padding:5px}.calendar-task-card{align-items:flex-start;flex-direction:column}.calendar-task-actions{width:100%}.calendar-task-actions button{flex:1}.calendar-day-detail,.task-calendar-list{padding:14px}.composer-inline.composer-schedule{grid-template-columns:1fr}.composer-reset-due{width:100%}}.app-toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%);padding:12px 18px;border-radius:6px;background:#302d28;color:#fff;box-shadow:0 10px 30px #2d24194d;font-size:13px;animation:toast-in .18s ease-out}.free-share-row>.status{min-width:64px;text-align:center;white-space:nowrap}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:640px){.student-workspace .workspace-task-row{align-items:flex-start;gap:11px;padding:15px 16px;min-height:0}.workspace-task-icon{width:28px;flex-basis:28px}.workspace-task-icon svg{width:20px;height:20px}.workspace-task-content{padding-right:4px}.workspace-task-content strong{font-size:14px}.workspace-task-content small{font-size:10px;white-space:normal;line-height:1.45}.workspace-task-actions{flex-direction:column;align-items:flex-end;gap:7px}.workspace-task-actions b{font-size:11px}.workspace-task-actions>svg{display:none}.workspace-heading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.workspace-heading-actions button{width:100%;justify-content:center}.workspace-submitted-row{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;padding:15px 16px}.workspace-submitted-main{align-items:flex-start;gap:11px}.workspace-submitted-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.workspace-submitted-actions button{width:100%;min-width:0;padding-inline:8px}}@media(max-width:430px){.workspace-heading-actions{grid-template-columns:1fr}.workspace-submitted-actions button{font-size:11px;height:38px}}@media(max-width:980px){.course-task-progress-row{grid-template-columns:1fr 1fr 1fr}.course-task-progress-row strong{grid-column:1/-1}.breadcrumbs{display:none}.route-bar{margin-bottom:12px}.quality-metrics{grid-template-columns:1fr 1fr}}@media(max-width:640px){.route-bar{position:sticky;top:0;z-index:2;background:var(--paper);padding:8px 0}.course-page-actions{width:100%}.course-page-actions button{flex:1}.progress-student-row{grid-template-columns:1fr auto}.progress-student-row b{grid-column:2;grid-row:1}.course-task-progress-row{grid-template-columns:1fr 1fr;gap:9px}.course-task-progress-row .status{justify-self:start}.report-period{width:100%;justify-content:space-between}.report-period select{flex:1}.quality-metrics{grid-template-columns:1fr}.practice-bars{height:170px}.teacher-course-page .page-heading{display:block}.teacher-course-page .page-heading>div{margin-bottom:14px}}.teacher-course-page .route-form{max-width:760px;padding:28px;border:1px solid #ddd1c3;box-shadow:0 12px 30px #3c2d2010}.teacher-course-page .route-form label{gap:8px;font-size:13px;font-weight:700}.teacher-course-page .route-form input,.teacher-course-page .route-form select{height:46px;border-radius:7px;font-size:14px}.teacher-course-page .route-form .primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;margin-top:4px;border-radius:7px;padding:0 18px;font-weight:700}.teacher-course-page .route-form .primary svg{width:17px}@media(max-width:640px){.teacher-course-page .route-form{padding:18px}.teacher-course-page .route-form .primary{width:100%}}.real-video{height:auto!important;min-height:360px;background:#111;display:flex!important;align-items:center}.real-video video{width:100%;max-height:62vh;display:block;background:#111}.real-studio .camera-view video{width:100%;height:100%;object-fit:cover}.countdown{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:96px;font-weight:800;background:#0007;z-index:5}.error-box{padding:10px 12px;border-radius:8px;color:#a53d29;background:#fff0eb;font-size:13px}.beat-lights{display:flex;gap:10px;margin-top:12px}.beat-lights i{width:12px;height:12px;border-radius:50%;background:#d9d5cf}.beat-lights i.active{background:#d96543;box-shadow:0 0 0 6px #d9654322}.upload-progress{position:relative;height:34px;overflow:hidden;border-radius:8px;background:#eee;color:#333}.upload-progress i{position:absolute;inset:0 auto 0 0;background:#b9d4c4;transition:width .2s}.upload-progress span{position:relative;z-index:1;display:grid;place-items:center;height:100%;font-size:12px}.evaluation-list{display:grid;gap:6px;max-height:240px;overflow:auto}.evaluation-list button{display:grid;grid-template-columns:58px 1fr auto;gap:12px;align-items:center;border:0;background:#f7f5f1;padding:9px;border-radius:7px;text-align:left}.evaluation-list b.ok{color:#2e7d5b}.evaluation-list b.warn{color:#b75238}.report-under-video{margin-top:18px}.comment-list img,.feedback-item img{display:block;width:100%;margin-top:8px;border-radius:8px}.feedback-item{display:block;width:100%;border:0;border-bottom:1px solid #eee;background:#fff;text-align:left;padding:14px}.drawing-preview{position:absolute;left:25%;top:20%;width:50%;height:55%;border:3px solid #d96543;pointer-events:none}.comment-compose button.active{color:#fff;background:#d96543}.real-timeline{margin-top:14px}.submission-row:disabled{opacity:.55;cursor:not-allowed}:root{--paper:#f4f0e8;--paper-2:#ebe5da;--ink:#22201d;--muted:#746e65;--line:#d9d1c4;--rust:#8b3928;--rust-dark:#6e2b1e;--green:#416b58;--white:#fffdf8;--shadow:0 18px 60px rgba(45,35,25,.09);font-family:PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.eyebrow{margin:0 0 7px;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:700;color:var(--rust)}.muted{color:var(--muted)}.primary,.outline,.ghost{border:0;border-radius:3px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700}.primary{background:var(--rust);color:#fff;box-shadow:0 8px 18px #8b392833}.primary:hover{background:var(--rust-dark)}.primary.small{padding:9px 14px}.outline{background:transparent;border:1px solid var(--line);color:var(--ink)}.ghost{background:transparent;color:var(--muted)}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:38px;height:38px;border:1px solid currentColor;display:grid;place-items:center;transform:rotate(45deg)}.brand-mark span{font-family:"Noto Serif SC",serif;font-size:19px;font-weight:700;transform:rotate(-45deg)}.brand strong{display:block;font-family:"Noto Serif SC",serif;font-size:20px;letter-spacing:.14em}.brand small{display:block;font-size:7px;letter-spacing:.22em;opacity:.65;margin-top:2px}.login-page{min-height:100vh;display:grid;grid-template-columns:1.12fr .88fr}.login-story{position:relative;overflow:hidden;padding:42px 5vw;color:#f8f0e3;background:#302d28;display:flex;flex-direction:column}.login-story:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 52%,rgba(183,102,75,.17),transparent 32%),linear-gradient(120deg,rgba(255,255,255,.025),transparent);pointer-events:none}.story-copy{position:relative;margin:auto 0;max-width:640px}.story-copy h1{font-family:"Noto Serif SC",serif;font-size:clamp(46px,5.4vw,82px);line-height:1.18;margin:12px 0 24px;letter-spacing:-.03em}.story-copy h1 em{font-style:normal;color:#cf846a}.story-copy>p:last-child{font-size:16px;color:#c9c0b4;line-height:1.85;max-width:460px}.story-foot{position:relative;margin:0;font-size:12px;letter-spacing:.16em;color:#a49b8e}.sound-rings{position:absolute;width:390px;height:390px;right:-80px;bottom:-85px;display:grid;place-items:center}.sound-rings i{position:absolute;border:1px solid rgba(224,166,142,.2);border-radius:50%}.sound-rings i:nth-child(1){inset:0}.sound-rings i:nth-child(2){inset:55px}.sound-rings i:nth-child(3){inset:110px}.sound-rings i:nth-child(4){inset:155px;background:#8b392829}.sound-rings span{z-index:1;font-family:Georgia,serif;font-size:38px}.sound-rings small{display:block;font:8px sans-serif;letter-spacing:.18em;text-align:center}.login-panel{display:grid;place-items:center;padding:40px;background:#f7f4ee}.login-card{width:min(420px,100%)}.mobile-brand{display:none}.login-card h2{font-family:"Noto Serif SC",serif;font-size:36px;margin:6px 0}.login-card>.muted{margin:0 0 28px}.role-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin-bottom:26px}.role-tabs button{border:0;background:transparent;padding:12px;color:var(--muted);font-weight:700;position:relative}.role-tabs button.active{color:var(--rust)}.role-tabs button.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;background:var(--rust)}.field{display:block;margin:16px 0}.field span{display:block;font-size:12px;font-weight:700;margin-bottom:7px}.field input{width:100%;height:48px;border:1px solid var(--line);background:var(--white);padding:0 14px;border-radius:3px;color:var(--ink)}.login-submit{width:100%;margin-top:10px}.demo-note{display:flex;gap:8px;align-items:center;margin-top:20px;padding:12px;background:#eee8de;color:var(--muted);font-size:12px}.demo-note svg{color:var(--rust);flex:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:236px 1fr}.sidebar{background:#2e2b27;color:#eee7dc;padding:26px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:236px;z-index:20}.sidebar-top{display:flex;justify-content:space-between;align-items:center;padding:0 7px}.mobile-close{display:none}.role-chip{margin:28px 5px 18px;padding:10px 12px;border:1px solid #4c4740;display:flex;align-items:center;justify-content:space-between;font-size:12px}.role-chip small{background:var(--rust);padding:2px 6px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav button,.sidebar-bottom button{border:0;background:transparent;color:#bdb5aa;padding:12px;border-radius:3px;text-align:left;display:flex;align-items:center;gap:11px}.sidebar nav button:hover,.sidebar nav button.active{background:#403b35;color:#fff}.sidebar nav button.active{box-shadow:inset 2px 0 var(--rust)}.sidebar-bottom{margin-top:auto;border-top:1px solid #48423c;padding-top:12px;display:flex;flex-direction:column}.main-wrap{grid-column:2;min-width:0}.topbar{height:70px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#f4f0e8f0;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.menu-btn{display:none}.topbar-search{display:flex;align-items:center;gap:9px;color:#948c81;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:20px}.icon-btn{border:0;background:transparent;position:relative;color:var(--ink)}.icon-btn i{position:absolute;width:6px;height:6px;background:var(--rust);border-radius:50%;right:1px;top:1px}.profile{display:flex;gap:9px;align-items:center}.profile>span,.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d8cabb;font-family:"Noto Serif SC",serif;font-weight:700}.profile strong,.profile small{display:block;font-size:12px}.profile small{font-size:9px;color:var(--muted);margin-top:2px}.page-content{padding:34px;max-width:1500px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px}.page-heading h1{font-family:"Noto Serif SC",serif;font-size:32px;margin:0 0 7px}.page-heading>div>p:last-child{margin:0;color:var(--muted);font-size:14px}.hero-practice{min-height:250px;background:#39352f;color:#f4ede1;display:grid;grid-template-columns:1fr 1.1fr;padding:36px 42px;margin-bottom:20px;overflow:hidden;position:relative}.hero-practice:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-130px;top:-100px}.hero-practice h2{font:700 30px "Noto Serif SC",serif;margin:12px 0 6px}.hero-practice p{color:#bdb4a8}.kicker{display:inline-block;color:#dca58e;font-size:11px;letter-spacing:.16em}.hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin:26px 0;color:#d3cabe;font-size:12px}.hero-meta span{display:flex;align-items:center;gap:6px}.hero-practice button,.metronome button{border:1px solid #6a6157;background:transparent;color:#fff;padding:10px 14px;display:inline-flex;align-items:center;gap:8px}.score-mini{position:relative;margin:25px 0 10px;min-height:150px;background:#f7f0e2;color:#2c2925;transform:rotate(-1.5deg);box-shadow:var(--shadow);overflow:hidden}.staff-lines,.music-lines{position:absolute;inset:42px 5% auto;height:48px;display:flex;flex-direction:column;justify-content:space-between}.staff-lines i,.music-lines i{height:1px;background:#787168}.score-mini .clef{position:absolute;font-size:55px;left:6%;top:35px}.score-mini b{position:absolute;font-size:13px;top:50%;font-weight:400}.score-mini b em{display:block;width:1px;height:28px;background:#403b35;position:absolute;left:9px;bottom:5px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);margin-bottom:20px;background:#fffdf87a}.stat{padding:20px 22px;border-right:1px solid var(--line);position:relative}.stat:last-child{border-right:0}.stat>span,.stat small{display:block;color:var(--muted);font-size:11px}.stat strong{font:700 26px Georgia,serif;display:block;margin:8px 0}.stat.accent:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--rust)}.two-col{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-bottom:20px}.two-col.wide-left{grid-template-columns:1.35fr .65fr}.panel{background:#fffdf8b3;border:1px solid var(--line);padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel-head h3{font:700 20px "Noto Serif SC",serif;margin:0}.text-btn{border:0;background:transparent;color:var(--rust);font-size:12px}.task-list{margin:0 -24px -24px}.task-row{width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:16px 22px;display:grid;grid-template-columns:42px 1fr auto 20px;gap:12px;align-items:center;text-align:left}.task-row:hover,.submission-row:hover{background:#f0ebe2}.task-index{font:italic 13px Georgia,serif;color:var(--rust)}.task-main strong,.task-main small{display:block}.task-main small{color:var(--muted);font-size:11px;margin-top:5px}.progress{height:2px;background:#ddd5c9;margin-top:10px}.progress i{display:block;height:100%;background:var(--rust)}.task-due{text-align:right}.task-due small,.task-due strong{display:block;font-size:10px}.task-due strong{font-size:12px;margin-top:3px}.feedback-panel blockquote{font:600 17px/1.75 "Noto Serif SC",serif;margin:24px 0;padding-left:18px;border-left:2px solid var(--rust)}.new-dot{font-size:8px;background:var(--rust);color:#fff;padding:4px 6px}.teacher-sign{display:flex;gap:10px;align-items:center}.teacher-sign>span{width:34px;height:34px;border-radius:50%;background:#d9cbbb;display:grid;place-items:center}.teacher-sign strong,.teacher-sign small{display:block;font-size:11px}.teacher-sign small{color:var(--muted);margin-top:3px}.feedback-score{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin:22px -24px -24px}.feedback-score div{padding:16px;border-right:1px solid var(--line)}.feedback-score div:last-child{border:0}.feedback-score span,.feedback-score strong{display:block;font-size:10px;color:var(--muted)}.feedback-score strong{font:700 20px Georgia,serif;color:var(--ink);margin-top:5px}.submission-row{width:calc(100% + 48px);margin:0 -24px;border:0;border-top:1px solid var(--line);padding:15px 24px;display:grid;grid-template-columns:42px 1fr auto auto 18px;gap:14px;align-items:center;background:transparent;text-align:left}.avatar.rust{background:#a95d48;color:#fff}.avatar.small{display:inline-grid;width:28px;height:28px;margin-right:8px}.submission-row strong,.submission-row small{display:block}.submission-row small{color:var(--muted);font-size:10px;margin-top:4px}.duration{display:flex;gap:5px;align-items:center;font-size:11px;color:var(--muted)}.status{font-size:9px;padding:5px 8px;background:#ead8cf;color:var(--rust);font-weight:700}.status.done{background:#dce9e0;color:var(--green)}.big-percent{font:700 28px Georgia,serif;color:var(--rust)}.week-bars{height:190px;display:flex;align-items:flex-end;gap:11px;padding-top:15px}.week-bars div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.week-bars i{width:100%;background:#9d6958;min-height:10px}.week-bars span{font-size:9px;color:var(--muted)}.chart-note{display:flex;gap:8px;color:var(--muted);font-size:11px;line-height:1.5;margin-top:20px}.chart-note svg{color:var(--rust);flex:none}.course-strip{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:30px}.course-strip h3{font:700 21px "Noto Serif SC",serif;margin:5px 0}.course-strip p{margin:3px 0;color:var(--muted);font-size:11px}.course-numbers{display:flex;gap:28px}.course-numbers span{font-size:10px;color:var(--muted)}.course-numbers strong{display:block;font:700 23px Georgia,serif;color:var(--ink);margin-bottom:4px}.course-strip>button{border:0;background:var(--ink);color:#fff;padding:11px 14px;display:flex;gap:6px;align-items:center}.studio-page,.review-page{min-height:100vh;background:#282622;color:#eee7dc}.studio-head{height:68px;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid #49443d;background:#302d28}.studio-head>div{text-align:center}.studio-head p,.studio-head strong{display:block;margin:0;font-size:9px;letter-spacing:.08em}.studio-head strong{font:600 15px "Noto Serif SC",serif;margin-top:3px}.back-btn{justify-self:start;border:0;background:transparent;color:#cfc6ba}.record-status{justify-self:end;font-size:10px;display:flex;align-items:center;gap:7px;color:#9b9389}.record-status i,.camera-rec i{width:7px;height:7px;border-radius:50%;background:#817a70}.record-status.live{color:#e7a08a}.record-status.live i,.camera-rec i{background:#e15e45;box-shadow:0 0 0 5px #e15e451f}.studio-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100vh - 68px)}.score-sheet{background:#f4ede0;color:#282622;padding:35px 5vw;overflow:hidden}.score-title{display:flex;justify-content:space-between;border-bottom:1px solid #bfb5a6;padding-bottom:18px}.score-title h2{font:700 25px "Noto Serif SC",serif;margin:0}.score-title p{margin:5px 0 0;color:#756e64;font-size:10px}.score-title>span{font:italic 17px Georgia,serif}.music-row{height:160px;position:relative;margin:18px 0}.music-lines{inset:46px 2% auto 6%;height:55px}.bass-clef{position:absolute;left:2%;top:34px;font-size:58px}.music-note{position:absolute;border:0;background:transparent;width:22px;height:45px}.music-note b{display:block;font-size:17px;transform:rotate(-17deg)}.music-note>i{position:absolute;width:1px;height:32px;background:#282622;left:15px;top:1px}.music-note.current b{color:var(--rust);filter:drop-shadow(0 0 5px rgba(139,57,40,.4))}.music-note.current:after{content:"";position:absolute;width:32px;height:32px;border-radius:50%;border:1px solid var(--rust);left:-3px;top:-6px}.music-row>small{position:absolute;left:1%;top:2px;color:#9d958a}.score-legend{display:flex;gap:22px;border-top:1px solid #cbc2b6;padding-top:16px;font-size:10px;color:#756e64}.score-legend span{display:flex;align-items:center;gap:6px}.score-legend i{width:7px;height:7px;border-radius:50%}.score-legend .ok{background:var(--green)}.score-legend .warn{background:#c98946}.score-legend .now{background:var(--rust)}.record-pane{background:#302d28;padding:18px;display:flex;flex-direction:column;gap:14px}.camera-view{height:220px;background:#1e1d1a;position:relative;overflow:hidden}.camera-view video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8e877e;text-align:center}.camera-empty strong{color:#ddd5c9;margin-top:10px}.camera-empty p{font-size:10px}.camera-empty button{border:1px solid #615a52;background:transparent;color:#ddd5c9;padding:8px 12px}.camera-rec{position:absolute;top:12px;left:12px;background:#0000008c;padding:6px 8px;font-size:9px;display:flex;align-items:center;gap:6px}.camera-rec span{margin-left:5px;font-variant-numeric:tabular-nums}.live-analysis,.metronome{border:1px solid #4c4740;padding:14px}.analysis-head{display:flex;justify-content:space-between;font-size:11px}.analysis-head small{color:#948c82}.pitch-gauge{text-align:center}.pitch-scale{height:42px;margin:14px 10px 0;border-top:1px solid #5a544d;display:flex;justify-content:space-between;position:relative}.pitch-scale span{font-size:7px;color:#817a71;margin-top:5px}.pitch-scale i{position:absolute;left:50%;top:-9px;width:2px;height:18px;background:#e39a80;transition:transform .4s}.pitch-gauge strong{font:600 18px "Noto Serif SC",serif}.pitch-gauge small{display:block;color:#9f978d;font-size:9px;margin-top:3px}.metronome>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:11px}.metronome strong{font:700 25px Georgia,serif}.metronome strong small{font:7px sans-serif;margin-left:4px;color:#948c82}.beats{display:flex!important;gap:8px;margin:10px 0}.beats i{height:3px;flex:1;background:#575149}.beats i.on{background:#d87d60}.metronome input{width:100%;accent-color:var(--rust)}.metronome button{width:100%;justify-content:center;margin-top:8px}.metronome button.active{border-color:#d87d60;color:#e9a48d}.record-main{height:52px;border:0;background:var(--rust);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;font-weight:700}.record-main.stop{background:#e5ded3;color:#61291f}.modal-back{position:fixed;inset:0;background:#151311b8;display:grid;place-items:center;z-index:50;padding:20px}.result-modal{width:min(430px,100%);background:#f5efe5;color:var(--ink);padding:34px;text-align:center;position:relative;box-shadow:var(--shadow)}.modal-x{position:absolute;right:14px;top:14px;border:0;background:transparent}.result-check{width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 18px}.result-modal h2{font:700 25px "Noto Serif SC",serif}.result-modal>p:not(.eyebrow){font-size:12px;line-height:1.7;color:var(--muted)}.result-scores{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin:22px 0}.result-scores div{padding:16px;border-right:1px solid var(--line)}.result-scores div:last-child{border:0}.result-scores strong{display:block;font:700 25px Georgia,serif}.result-scores span{font-size:9px;color:var(--muted)}.result-modal>.primary,.result-modal>.ghost{width:100%;margin-top:8px}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;height:calc(100vh - 68px)}.video-review{padding:24px;overflow:auto}.video-stage{height:min(52vh,560px);background:#1b1a18;display:grid;place-items:center;position:relative}.performer-silhouette{color:#625c54;text-align:center}.performer-silhouette span{display:block;font-size:10px;margin-top:8px}.video-play{position:absolute;width:58px;height:58px;border-radius:50%;border:1px solid #817970;background:#ffffff14;color:#fff;display:grid;place-items:center}.video-caption{position:absolute;left:15px;bottom:13px;font-size:9px;color:#9a9288}.transport{height:48px;display:flex;align-items:center;gap:12px}.transport button{border:0;background:transparent;color:#fff}.transport span{font-size:9px;font-variant-numeric:tabular-nums}.transport input{flex:1;accent-color:var(--rust)}.timeline{height:205px;border:1px solid #4d4841;position:relative;overflow:hidden;padding-top:25px}.timeline-ruler{position:absolute;left:76px;right:0;top:6px}.timeline-ruler span{position:absolute;font-size:7px;color:#777068}.track{height:50px;border-top:1px solid #403c36;position:relative;margin-left:76px}.track label{position:absolute;right:100%;width:76px;padding:18px 13px;font-size:9px;color:#9e978d}.track-line{position:absolute;left:0;right:0;top:25px;height:1px;background:#575149}.track>span{position:absolute;top:15px;height:21px;font-size:7px;padding:6px}.track .issue{background:#7e3c2d;color:#f4d9ce}.track .good{background:#345343;color:#d6e7db}.comment-track button{position:absolute;top:15px;border:0;width:21px;height:21px;border-radius:50%;display:grid;place-items:center;transform:translate(-50%);background:#ded5c8;color:#3a3631}.comment-track button.pitch{background:#476c5b;color:#fff}.comment-track button.rhythm{background:#9d593e;color:#fff}.playhead{position:absolute;top:20px;bottom:0;width:1px;background:#e08a6b;pointer-events:none}.playhead:before{content:"";position:absolute;top:0;left:-3px;width:7px;height:7px;border-radius:50%;background:#e08a6b}.comment-panel{background:#f3ede3;color:var(--ink);display:flex;flex-direction:column;min-height:0}.student-summary{display:flex;gap:10px;padding:18px;border-bottom:1px solid var(--line)}.student-summary strong,.student-summary small{display:block}.student-summary small{font-size:9px;color:var(--muted);margin-top:4px}.score-trio{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.score-trio div{padding:13px;text-align:center;border-right:1px solid var(--line)}.score-trio div:last-child{border:0}.score-trio span,.score-trio strong{display:block;font-size:8px;color:var(--muted)}.score-trio strong{font:700 21px Georgia,serif;color:var(--ink);margin-top:4px}.comment-list{padding:16px;overflow:auto;flex:1}.comment-list .panel-head{margin-bottom:8px}.comment-list .panel-head h3{font-size:15px}.comment-list .panel-head span{font-size:10px;color:var(--muted)}.comment-list>button{width:100%;border:1px solid transparent;border-bottom-color:var(--line);background:transparent;text-align:left;padding:12px;display:grid;grid-template-columns:38px 1fr;gap:4px 8px}.comment-list>button.active{border-color:#b78b79;background:#eee2d8}.comment-list time{font:italic 10px Georgia,serif;color:var(--rust)}.comment-list p{font-size:11px;line-height:1.55;margin:0}.comment-list button>span{grid-column:2;font-size:8px;color:var(--muted)}.comment-compose{border-top:1px solid var(--line);padding:14px;background:#ece5da}.comment-compose>div{display:flex;gap:6px;align-items:center;margin-bottom:8px}.comment-compose>div button{border:0;background:#ded5c9;padding:6px;color:#5e574f}.comment-compose>div span{margin-left:auto;font-size:8px;color:var(--muted)}.comment-compose textarea{width:100%;height:70px;resize:none;border:1px solid var(--line);background:#fffdf8;padding:9px;font-size:11px}.comment-compose>.primary{width:100%;margin-top:8px;padding:9px}.org-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-bottom:20px}.legend{font-size:9px;color:var(--muted);display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;background:var(--rust)}.org-chart{height:240px;display:flex;align-items:flex-end;gap:18px;border-bottom:1px solid var(--line);padding:20px 15px 0}.org-chart div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.org-chart i{width:70%;background:#93503c;min-height:10px}.org-chart span{font:italic 9px Georgia,serif;margin-bottom:5px}.org-chart small{font-size:8px;color:var(--muted);margin:8px 0}.ai-report{background:#38342f;color:#eee7dc;border-color:#38342f}.ai-report .panel-head h3{color:#fff}.ai-report .panel-head svg{color:#d58e75}.insight{display:grid;grid-template-columns:30px 1fr;gap:8px;border-top:1px solid #514b44;padding:15px 0}.insight>span{font:italic 12px Georgia,serif;color:#cf846a}.insight p{margin:0;font-size:10px;line-height:1.55;color:#aaa299}.insight strong{display:block;color:#eee7dc;font-size:11px;margin-bottom:4px}.teacher-table{min-width:700px}.table-head,.table-row{display:grid;grid-template-columns:1.3fr 1.6fr .5fr .7fr .7fr .7fr;gap:12px;align-items:center}.table-head{padding:9px 12px;color:var(--muted);font-size:9px;border-bottom:1px solid var(--line)}.table-row{padding:13px 12px;border-bottom:1px solid var(--line);font-size:11px}.table-row>span:first-child{display:flex;align-items:center}.empty-state{min-height:420px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.empty-state svg{color:var(--rust)}.empty-state h2{font:700 26px "Noto Serif SC",serif}.empty-state p{max-width:500px;color:var(--muted);line-height:1.7}@media(max-width:980px){.login-page{grid-template-columns:1fr}.login-story{display:none}.mobile-brand{display:block;margin-bottom:60px}.app-shell{display:block}.sidebar{transform:translate(-100%);transition:.25s}.sidebar.open{transform:none;box-shadow:20px 0 60px #00000040}.mobile-close{display:block;border:0;background:transparent;color:#fff}.main-wrap{grid-column:auto}.menu-btn{display:grid;border:0;background:transparent}.topbar-search{display:none}.page-content{padding:24px}.hero-practice{grid-template-columns:1fr}.score-mini{display:none}.stats-row{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.two-col,.two-col.wide-left,.org-grid,.studio-grid{grid-template-columns:1fr}.record-pane{display:grid;grid-template-columns:1fr 1fr}.camera-view{grid-row:span 2}.record-main{grid-column:2}.review-layout{grid-template-columns:1fr;height:auto}.comment-panel{min-height:620px}.course-strip{grid-template-columns:1fr}.teacher-table,.panel{overflow:auto}}@media(max-width:640px){.login-panel{padding:24px}.mobile-brand{margin-bottom:45px}.login-card h2{font-size:30px}.topbar{padding:0 16px}.profile>div{display:none}.page-content{padding:18px}.page-heading{align-items:flex-start;gap:18px}.page-heading h1{font-size:26px}.page-heading>button{padding:10px 12px}.hero-practice{padding:26px 22px}.hero-meta{gap:10px}.stats-row{grid-template-columns:1fr 1fr}.stat{padding:16px}.task-row{grid-template-columns:30px 1fr 18px}.task-due{display:none}.submission-row{grid-template-columns:36px 1fr auto}.submission-row .duration,.submission-row>svg{display:none}.feedback-panel blockquote{font-size:15px}.studio-head{grid-template-columns:1fr 1.5fr 1fr;padding:0 10px}.studio-grid{display:flex;flex-direction:column}.score-sheet{padding:20px 12px}.music-row{height:125px}.music-row:nth-of-type(4){display:none}.record-pane{display:flex}.camera-view{height:210px}.review-layout{display:block}.video-review{padding:12px}.video-stage{height:300px}.timeline{height:190px}.comment-panel{min-height:560px}.org-chart{gap:6px;padding-inline:4px}.teacher-table{min-width:650px}.course-numbers{gap:16px}.role-tabs button{padding-inline:4px}.score-title h2{font-size:20px}}.real-video{height:min(52vh,560px)!important;min-height:360px;justify-content:center}.real-video video{width:100%;height:100%;max-height:none;object-fit:contain}.track>span{overflow:hidden;white-space:nowrap}.record-pane .upload-progress{flex:0 0 34px}.metro-hint{display:block;color:#918a80;font-size:8px;line-height:1.45;margin-top:8px}.metronome button{display:flex;align-items:center;gap:7px;height:34px}.metronome button svg{width:14px;height:14px}.review-publish{justify-self:end;width:auto!important;height:38px;padding:0 18px!important;font-size:12px;gap:7px}.review-publish svg{width:14px;height:14px}.comment-track button{box-sizing:border-box;padding:0;overflow:hidden;isolation:isolate}.comment-track button svg{display:block;width:11px;height:11px;min-width:11px;stroke-width:2}.comment-track button.voice{background:#9d593e;color:#fff}.comment-track button.snapshot{background:#476c5b;color:#fff}.comment-track button.text{background:#ded5c8;color:#3a3631}.comment-entry{border-bottom:1px solid var(--line);padding:12px;display:grid;grid-template-columns:38px 1fr;gap:5px 8px;cursor:pointer}.comment-entry:hover{background:#eee7dd}.comment-entry time{font:italic 10px Georgia,serif;color:var(--rust)}.comment-entry p{font-size:11px;line-height:1.55;margin:0}.comment-entry img,.comment-entry audio{grid-column:1/-1;width:100%;margin-top:5px}.feedback-item audio{display:block;width:100%;margin-top:9px}.comment-compose>div button.recording{color:#fff;background:#b34231;animation:voicePulse 1s infinite}.voice-recording{margin:5px 0 9px;color:#9b3d2d;font-size:9px;display:flex;align-items:center;gap:6px}.voice-recording i{width:7px;height:7px;border-radius:50%;background:#d94d39}.compose-asset,.compose-audio{position:relative!important;display:block!important;margin:0 0 8px!important}.compose-asset img{display:block;width:100%;max-height:110px;object-fit:cover}.compose-asset button,.compose-audio button{position:absolute;right:5px;top:5px!important;font-size:8px;padding:5px 8px!important;background:#282622dd!important;color:#fff!important}.compose-audio audio{width:100%;height:34px}.annotation-modal{position:fixed;inset:0;z-index:100;background:#161410e8;display:grid;place-items:center;padding:24px}.annotation-editor{width:min(1040px,96vw);height:min(760px,94vh);background:#eee7dc;color:#282622;display:grid;grid-template-rows:auto auto 1fr auto;box-shadow:0 24px 90px #0008}.annotation-editor>header{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-bottom:1px solid #d2c8ba}.annotation-editor>header strong,.annotation-editor>header small{display:block}.annotation-editor>header small{font-size:9px;color:#786f65;margin-top:3px}.annotation-editor>header button{border:0;background:transparent}.annotation-toolbar{display:flex;gap:7px;padding:10px 18px;border-bottom:1px solid #d2c8ba}.annotation-toolbar button{display:flex;align-items:center;gap:5px;border:1px solid #c9beb0;background:#f9f5ee;padding:7px 11px;font-size:10px}.annotation-toolbar button.active{background:#8b3928;color:#fff;border-color:#8b3928}.annotation-toolbar svg{width:14px;height:14px}.annotation-canvas-wrap{min-height:0;display:grid;place-items:center;background:#1c1a17;padding:14px;overflow:hidden}.annotation-canvas-wrap canvas{display:block;max-width:100%;max-height:100%;touch-action:none;cursor:crosshair;box-shadow:0 0 0 1px #fff2}.annotation-editor>footer{display:flex;justify-content:flex-end;gap:9px;padding:12px 18px}.annotation-editor>footer button{width:auto;height:36px;padding:0 16px;display:flex;align-items:center;gap:6px}.annotation-editor>footer svg{width:14px;height:14px}@keyframes voicePulse{50%{box-shadow:0 0 0 5px #b3423130}}@media(max-width:640px){.annotation-modal{padding:8px}.annotation-editor{height:96vh}.annotation-toolbar{overflow:auto;padding:8px}.annotation-toolbar button{flex:0 0 auto}.review-publish{padding:0 10px!important}.review-publish svg{display:none}}.immersive-studio{height:100dvh;min-height:0;overflow:hidden}.immersive-studio .studio-grid{height:calc(100dvh - 68px);min-height:0;grid-template-columns:minmax(0,1fr) 340px;transition:grid-template-columns .26s ease}.immersive-studio .studio-grid.tools-closed{grid-template-columns:minmax(0,1fr) 0}.immersive-studio .score-sheet{height:100%;min-width:0;min-height:0;padding:12px;display:flex;overflow:hidden}.immersive-studio .score-title,.immersive-studio .score-legend{display:none}.immersive-studio .score-sheet>.score-reader{flex:1;width:100%;height:100%;min-height:0;margin:0}.immersive-studio .record-pane{width:340px;min-width:340px;height:100%;transition:opacity .2s,transform .26s,padding .26s;overflow-y:auto}.immersive-studio .tools-closed>.record-pane{opacity:0;transform:translate(100%);pointer-events:none;padding-inline:0}.practice-rail{position:fixed;z-index:45;right:12px;top:50%;transform:translateY(-50%);display:grid;gap:8px;transition:right .26s}.practice-rail.open{right:352px}.practice-rail button{width:58px;height:62px;border:1px solid #625c53;background:#302d28e8;color:#eee7dc;box-shadow:0 8px 24px #0003;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:5px}.practice-rail button:hover{background:#473f37}.practice-rail svg{width:22px;height:22px}.practice-rail span{font-size:8px}.immersive-studio:fullscreen{background:#282622}.immersive-studio:fullscreen .studio-head{height:58px}.immersive-studio:fullscreen .studio-grid{height:calc(100dvh - 58px)}@media(max-width:980px){.immersive-studio .studio-grid,.immersive-studio .studio-grid.tools-closed{display:grid;grid-template-columns:minmax(0,1fr) 0}.immersive-studio .record-pane{position:fixed;z-index:40;right:0;top:68px;bottom:0;width:min(360px,88vw);min-width:0}.immersive-studio .tools-open>.record-pane{transform:none;opacity:1}.practice-rail.open{right:min(372px,calc(88vw + 12px))}}@media(max-width:640px){.immersive-studio .score-sheet{padding:6px}.practice-rail{right:6px}.practice-rail button{width:52px;height:56px}.practice-rail.open{right:calc(88vw + 6px)}}.metro-tool{padding:13px;background:#2b2925}.metro-tool .metro-heading{display:flex;align-items:center;justify-content:space-between}.metro-tool .metro-heading>div{display:block}.metro-tool .metro-heading span,.metro-tool .metro-heading small{display:block}.metro-tool .metro-heading span{font-weight:700;color:#eee7dc}.metro-tool .metro-heading small{margin-top:3px;color:#9e968b;font-size:8px}.metro-tool .metro-reset{width:28px;height:28px;margin:0;padding:0;border:0;color:#aaa298}.metro-tool .tempo-control{display:grid!important;grid-template-columns:32px 1fr 32px 48px;gap:6px;margin-top:11px;align-items:stretch}.metro-tool .tempo-control button{width:32px;height:39px;margin:0;padding:0;justify-content:center;border-color:#555047}.metro-tool .tempo-control .tap-tempo{width:48px;font:700 9px/1 sans-serif;letter-spacing:.08em}.metro-tool .tempo-control label{height:39px;border:1px solid #5a544c;display:flex;align-items:center;justify-content:center;background:#25231f}.metro-tool .tempo-control input{width:55px;border:0;background:transparent;color:#f2eade;text-align:right;font:700 22px Georgia,serif;outline:0;appearance:textfield}.metro-tool .tempo-control input::-webkit-inner-spin-button{appearance:none}.metro-tool .tempo-control small{font-size:7px;color:#90887e;margin-left:4px}.metro-tool .tempo-slider{display:block;width:100%;margin:9px 0 8px}.metro-tool .metro-settings{display:grid!important;grid-template-columns:1fr 1.45fr;gap:7px}.metro-tool .metro-settings label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;color:#9d958b;font-size:8px}.metro-tool select{width:100%;height:28px;border:1px solid #514c44;background:#25231f;color:#ddd5ca;padding:0 5px;font-size:9px;outline:0}.metro-tool .beats{gap:5px;margin:11px 0 8px}.metro-tool .beats i{height:18px;display:grid;place-items:center;background:#45413a;border-radius:2px;color:#857e74;font-style:normal;font-size:7px;transition:background .05s,color .05s,transform .05s}.metro-tool .beats i.on{background:#b86549;color:#fff;transform:translateY(-2px)}.metro-tool .beats i.on.accent{background:#e18b6b;box-shadow:0 0 0 2px #e18b6b22}.metro-tool .metro-audio{display:grid!important;grid-template-columns:48px 14px 1fr;gap:7px;align-items:center}.metro-tool .metro-audio button{width:48px;height:27px;margin:0;padding:0;justify-content:center;font-size:8px;color:#9c9489}.metro-tool .metro-audio button.active{background:#4b4039;color:#efb39e;border-color:#7b5548}.metro-tool .metro-audio svg{width:13px;color:#938b80}.metro-tool .metro-audio input{min-width:0}.metro-tool .metro-start{width:100%;height:35px;margin-top:9px;justify-content:center;background:#3b3731}.metro-tool .metro-start.active{background:#5a3328;border-color:#ba6a50;color:#ffd9cb}.metro-tool .metro-hint{margin-top:7px}@media(max-width:900px){.record-pane{overflow:auto}.metro-tool .metro-settings{grid-template-columns:1fr}}@media(min-width:981px){html,body,#root{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:0;overflow:hidden}.main-wrap{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}.topbar{flex:0 0 70px}.page-content{width:100%;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.studio-page{height:100dvh;min-height:0;overflow:hidden}.studio-grid{height:calc(100dvh - 68px);min-height:0}.score-sheet,.record-pane{min-height:0}.score-sheet>.osmd-score,.score-sheet>.score-reader{height:calc(100dvh - 225px);min-height:0}.record-pane{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}}@media(min-width:981px)and (max-height:900px){.page-content{padding:22px 28px}.page-heading{margin-bottom:18px}.page-heading h1{font-size:28px}.stats-row,.two-col{margin-bottom:14px}.stat{padding:14px 18px}.panel{padding:18px}.panel-head{margin-bottom:12px}.submission-row{width:calc(100% + 36px);margin-inline:-18px;padding:12px 18px}.record-pane{padding:12px;gap:10px}.camera-view{height:clamp(150px,22vh,205px)}.live-analysis{padding:10px}.pitch-scale{height:30px;margin-top:10px}.record-main{height:44px}.metro-tool{padding:10px}.metro-tool .tempo-control{margin-top:8px}.metro-tool .beats{margin:8px 0 6px}.metro-tool .metro-start{margin-top:7px}}.compose-audio small{display:block;margin:3px 0;color:#756e64;font-size:8px}.comment-entry{position:relative}.comment-entry .comment-delete{position:absolute;right:7px;top:7px;width:25px;height:25px;border:0;background:transparent;color:#9a8f83;display:grid;place-items:center;padding:0}.comment-entry .comment-delete:hover{background:#e3d4c8;color:#9b3d2d}.comment-entry .comment-delete svg{width:13px;height:13px}.comment-entry>p{padding-right:25px}.clickable-timeline{cursor:crosshair}.draggable-timeline{touch-action:none;-webkit-user-select:none;user-select:none}.clickable-timeline .timeline-ruler,.clickable-timeline .track>span,.clickable-timeline .track>label,.clickable-timeline .track-line{pointer-events:none}.comment-error{margin:0 0 8px;padding:7px 9px;background:#fff0eb;color:#a53d29;font-size:9px;line-height:1.45}.student-feedback-panel .comment-list{flex:1}.student-feedback-panel .score-trio strong{font-size:18px}.submission-row .status{white-space:nowrap;text-align:center;min-width:76px}.score-sheet.static-practice-sheet{padding:0!important;overflow:hidden!important;display:block!important;min-height:0}.score-sheet.static-practice-sheet>.static-score-viewer{width:100%;height:100%}.student-score-dialog-mask{position:fixed;z-index:90;inset:0;background:#2a1f178f;display:grid;place-items:center;padding:18px}.student-score-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;background:#fffaf2;border:1px solid #ddcfc0;box-shadow:0 22px 60px #281a104d;padding:22px}.student-score-dialog header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #e7ddd1;padding-bottom:15px}.student-score-dialog header h2,.student-score-dialog header p{margin:0}.student-score-dialog header small{display:block;margin-top:6px;color:#76695e}.student-score-dialog header>button{height:32px;width:32px;border:0;background:#f0e7dd;color:#493d33}.student-score-dialog header svg{width:17px}.student-score-draft-state{display:flex;justify-content:space-between;gap:10px;padding:13px 0;color:#64564a;font-size:13px}.student-score-draft-state b{color:#3d6252}.student-score-add{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;border:1px dashed #a8846e;background:#f5eee5;color:#7b3f2e;padding:14px;font-weight:700}.student-score-add svg{width:17px}.student-score-pages{display:grid;gap:7px;margin:14px 0}.student-score-pages article{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;border:1px solid #e2d7ca;background:#fff;padding:10px}.student-score-pages article>span{display:grid;place-items:center;width:26px;height:26px;background:#efe4d7;color:#7b3f2e;font-size:12px;font-weight:700}.student-score-pages strong,.student-score-pages small{display:block}.student-score-pages small{font-size:11px;color:#786d62;margin-top:3px}.student-score-pages article>div:last-child{display:flex;gap:5px}.student-score-pages button{border:1px solid #d8ccbf;background:#fff;padding:5px 7px;font-size:11px}.student-score-pages button:last-child{color:#a14130}.student-score-pages button svg{width:14px}.student-score-dialog footer{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #e7ddd1;padding-top:15px}.student-score-dialog footer button{display:flex;align-items:center;gap:6px;padding:10px 14px}.student-score-dialog footer svg{width:15px}@media(max-width:560px){.student-score-dialog{padding:16px}.student-score-pages article{grid-template-columns:28px 1fr}.student-score-pages article>div:last-child{grid-column:2}.student-score-dialog footer{display:grid;grid-template-columns:1fr}.student-score-dialog footer button{justify-content:center}}.static-review-note{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#ede6dc;border-bottom:1px solid #d6cbbd}.static-review-note svg{width:20px;color:#8b422f}.static-review-note strong,.static-review-note small{display:block}.static-review-note small{margin-top:3px;font-size:9px;color:#786f65}.static-comment-timeline{min-height:104px!important}.static-comment-timeline .comment-track{margin-top:24px}.review-page.read-only .review-publish,.review-page.read-only .comment-compose,.review-page.read-only .comment-delete{display:none!important}.review-page.read-only .studio-head:after{content:"涔愬洟鍙鐩戠";color:#d8c5b8;border:1px solid #6d5a4f;padding:7px 12px;font-size:12px;letter-spacing:.08em}.review-recorder-preview{position:fixed;right:24px;bottom:24px;z-index:140;width:min(330px,calc(100vw - 32px));display:grid;background:#24211d;color:#eee7dc;border:1px solid #6a5d50;box-shadow:0 22px 70px #0009;overflow:hidden}.review-recorder-preview>header{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid #4d463f}.review-recorder-preview .record-dot{width:9px;height:9px;border-radius:50%;background:#d94d39;box-shadow:0 0 0 5px #d94d3922;animation:voicePulse 1s infinite}.review-recorder-preview header div{display:grid;gap:3px;min-width:0}.review-recorder-preview header strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-recorder-preview header small{font-size:10px;color:#b7ada0;font-variant-numeric:tabular-nums}.review-recorder-preview header button{display:inline-flex;align-items:center;gap:6px;height:34px;border:1px solid #b34231;background:#b34231;color:#fff;padding:0 12px;font-size:12px;white-space:nowrap}.review-recorder-preview header button svg{width:13px;height:13px}.recorder-preview-video{position:relative;height:190px;background:#111;display:grid;place-items:center;overflow:hidden}.recorder-preview-video video{width:100%;height:100%;object-fit:cover;display:block}.recorder-preview-video span{position:absolute;left:10px;bottom:9px;padding:5px 8px;background:#171511cc;color:#eee7dc;font-size:9px;letter-spacing:.08em}.recorder-preview-voice{height:190px;display:grid;place-items:center;align-content:center;gap:13px;background:#1b1916;padding:20px}.voice-mic-badge{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#4b2c24;color:#f4d2c8;border:1px solid #7c4a3c}.voice-mic-badge svg{width:20px;height:20px}.voice-level-bars{display:flex;align-items:center;gap:5px;height:70px}.voice-level-bars i{display:block;width:5px;border-radius:99px;background:#5b534a;transition:height .12s,background .12s}.voice-level-bars i.active{background:#df8064;box-shadow:0 0 10px #df806455}.recorder-preview-voice>span{font-size:11px;color:#b7ada0}.review-recorder-preview>footer{display:grid;gap:8px;padding:11px 14px 13px;border-top:1px solid #4d463f}.review-recorder-preview footer>div{height:3px;background:#575047;overflow:hidden}.review-recorder-preview footer>div i{display:block;height:100%;background:#df8064;transition:width .2s linear}.review-recorder-preview footer small{font-size:9px;color:#9f9488;line-height:1.45}@media(max-width:900px){.review-recorder-preview{right:16px;bottom:16px;width:min(310px,calc(100vw - 32px))}.recorder-preview-video,.recorder-preview-voice{height:170px}}@media(max-width:640px){.review-recorder-preview{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));width:auto}.review-recorder-preview>header{padding:11px 12px}.review-recorder-preview header strong{font-size:12px}.review-recorder-preview header button{height:32px;padding:0 10px}.recorder-preview-video,.recorder-preview-voice{height:148px}.voice-mic-badge{width:34px;height:34px}.voice-level-bars{height:46px}}.sidebar-scrim{display:none}.menu-btn{width:38px;height:38px;place-items:center;border:0;background:transparent;color:var(--ink)}.menu-btn svg,.mobile-close svg{width:21px}.profile-link:focus-visible{outline:2px solid var(--rust);outline-offset:4px}.profile-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.profile-edit-grid label{display:grid;gap:6px;color:var(--muted);font-size:13px}.profile-edit-grid input{width:100%}@media(max-width:700px){.profile-edit-grid{grid-template-columns:1fr}.profile-edit-grid button{width:100%}}.account-back{display:inline-flex}.account-storage-card{margin-bottom:20px}.account-storage-card>.panel-head>svg{width:21px;color:var(--rust)}.account-storage-total{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}.account-storage-total strong,.account-storage-total small{display:block}.account-storage-total strong{font:700 25px Georgia;color:var(--ink)}.account-storage-total small,.account-storage-total>span{font-size:11px;color:var(--muted)}.account-storage-progress{height:7px;margin:13px 0;background:#e7ddd0;overflow:hidden;border-radius:999px}.account-storage-progress i{display:block;height:100%;background:var(--rust);border-radius:inherit}.account-storage-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}.account-storage-breakdown span{padding:12px 10px 0;border-right:1px solid var(--line)}.account-storage-breakdown span:last-child{border-right:0}.account-storage-breakdown b,.account-storage-breakdown small{display:block}.account-storage-breakdown b{font-size:11px;font-weight:600}.account-storage-breakdown small{margin-top:4px;color:var(--muted);font-size:10px}.account-wallet-card{margin-bottom:20px}.account-wallet-total{display:flex;align-items:end;justify-content:space-between;gap:16px}.account-wallet-total strong,.account-wallet-total small{display:block}.account-wallet-total strong{font-size:28px;color:var(--rust)}.account-wallet-total small,.account-wallet-total>span{font-size:11px;color:var(--muted)}.account-wallet-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:15px;padding-top:14px;border-top:1px solid var(--line)}.account-wallet-grid>div{display:grid;gap:7px;align-content:start}.account-wallet-grid b{font-size:12px}.account-wallet-grid small{font-size:11px;color:var(--muted)}.account-wallet-grid button{width:max-content;max-width:100%;border:1px solid var(--line);background:#fff8ef;color:var(--rust);border-radius:7px;padding:7px 10px;font-size:11px}.account-wallet-grid button:disabled{opacity:.5}.account-avatar{width:72px;height:72px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--rust);color:#fff;font:700 30px "Noto Serif SC",serif}.account-profile-main p{margin:0 0 12px;color:var(--muted)}.account-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--muted);font-size:11px}.account-cert-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--muted)}.account-cert-empty svg{width:42px;height:42px;color:var(--green)}.account-cert-empty strong{color:var(--ink)}@media(max-width:640px){.account-route-bar{margin-bottom:10px}.breadcrumbs{display:none}.account-back{width:100%;justify-content:flex-start}.account-profile-card{align-items:flex-start;padding:18px}.account-avatar{width:56px;height:56px;font-size:24px}.account-profile-main h2{font-size:20px}.account-meta{display:grid;gap:6px}.account-role-cards{grid-template-columns:1fr}.account-role-cards .stat{border-right:0}.account-identity-grid{gap:14px}.account-storage-total{align-items:flex-start;flex-direction:column}.account-storage-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.account-storage-breakdown span:nth-child(2){border-right:0}.account-storage-breakdown span:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:12px}}@media(max-width:980px){.sidebar-scrim{display:block;position:fixed;inset:0;z-index:19;border:0;background:#1513107a}.sidebar{overflow-y:auto}.topbar{gap:10px}}.organization-workspace{display:grid;gap:24px}.org-context{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.org-context h1{margin:4px 0 8px;font-family:Georgia,serif;font-size:clamp(28px,3vw,44px)}.org-context p,.org-context span{margin:0}.org-context>div>span{color:var(--muted)}.org-context label{display:grid;gap:6px;min-width:270px}.org-context label span{font-size:12px;color:var(--muted)}.org-context select,.monitor-filters select,.people-tabs+.panel select,.settings-members select{border:1px solid var(--line);background:#fffdf8;padding:10px 12px;color:var(--ink)}.org-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.org-section-head h2{margin:0 0 6px;font-family:Georgia,serif;font-size:28px}.org-section-head p{margin:0;color:var(--muted)}.period-tabs,.people-tabs{display:flex;gap:6px;padding:4px;background:#eae6dd;width:max-content}.period-tabs button,.people-tabs button{border:0;background:transparent;padding:9px 14px;display:inline-flex;align-items:center;gap:7px}.period-tabs button.active,.people-tabs button.active{color:#fff;background:var(--rust)}.people-tabs svg{width:16px}.org-stats{grid-template-columns:repeat(6,minmax(0,1fr))}.org-stats .stat{min-height:142px}.org-stats strong small{font-size:.45em;color:var(--muted)}.org-stats em{font-style:normal;font-size:12px;color:var(--muted)}.org-stats em.positive{color:#4f715c}.org-stats em.negative{color:var(--rust)}.org-dashboard-grid,.report-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);gap:20px}.trend-panel{min-height:330px}.trend-bars{height:230px;display:flex;align-items:end;gap:5px;padding-top:20px;overflow:hidden}.trend-bars>div{flex:1;height:100%;min-width:7px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:7px}.trend-bars i{width:100%;max-width:24px;min-height:4px;background:linear-gradient(#a65b40,#713a2b)}.trend-bars small{font-size:9px;color:var(--muted);transform:rotate(-45deg);min-height:26px;white-space:nowrap}.rank-row,.report-row,.person-row,.directory-result,.invitation-row{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid var(--line)}.rank-row:first-of-type,.report-row:first-of-type,.person-row:first-of-type{border-top:0}.rank-row b{font-family:Georgia,serif;color:var(--rust)}.rank-row>div,.report-row>div,.person-row>div,.directory-result>div,.invitation-row>div{flex:1;min-width:0;display:grid;gap:4px}.rank-row small,.report-row small,.person-row small,.directory-result small,.invitation-row small{color:var(--muted);overflow:hidden;text-overflow:ellipsis}.report-row i,.person-row i{font-style:normal}.report-row .warn{color:var(--rust)}.report-row .ok{color:#4f715c}.directory-search{display:flex;align-items:center;gap:14px}.directory-search>div:first-child{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--line);padding-left:12px;background:#fffdf8}.directory-search input{flex:1;border:0;background:transparent;min-width:160px;padding:11px 0}.directory-search>div:first-child>button{align-self:stretch;border:0;border-left:1px solid var(--line)}.directory-result{width:100%}.people-list .status,.invitation-history .status{min-width:72px;text-align:center}.icon-danger{width:34px;height:34px;border:1px solid #d4b5aa;color:var(--rust);background:transparent;display:grid;place-items:center}.icon-danger svg{width:15px}.invitation-inbox{margin-bottom:22px;border-left:3px solid var(--rust)}.invitation-row .primary{width:auto}.course-create-form{display:grid;grid-template-columns:1fr 1fr 1.4fr auto auto;gap:10px}.course-create-form input{border:1px solid var(--line);padding:11px;background:#fffdf8}.org-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.org-course-card{display:grid;gap:13px}.org-course-card.archived{opacity:.58}.org-course-card>span{color:var(--rust);font-size:12px;text-transform:uppercase}.org-course-card h3,.org-course-card p{margin:0}.org-course-card p{color:var(--muted);min-height:44px}.org-course-card>div{display:flex;flex-wrap:wrap;gap:14px}.org-course-card small{display:inline-flex;gap:5px;align-items:center}.org-course-card svg{width:14px}.org-course-card footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px}.text-danger{color:var(--rust)}.org-modal{position:fixed;inset:0;z-index:120;background:#181613ad;display:grid;place-items:center;padding:24px}.org-modal>section{width:min(900px,94vw);max-height:86vh;overflow:auto}.org-modal header,.org-modal footer{display:flex;justify-content:space-between;align-items:center}.org-modal header h2{margin:4px 0 18px}.org-modal header>button{font-size:26px;border:0;background:transparent}.relation-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:12px 0 22px}.relation-columns>div{border:1px solid var(--line);padding:16px;max-height:430px;overflow:auto}.relation-columns h3,.relation-columns p{margin-top:0}.relation-columns p{color:var(--muted);font-size:12px}.relation-columns label{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:11px 0}.relation-columns label span{display:grid;gap:3px}.relation-columns label small{color:var(--muted)}.monitor-filters{display:flex;gap:10px}.org-submission-row>span:nth-last-of-type(2){color:var(--muted);font-size:12px}.report-grid{grid-template-columns:1fr 1fr}.settings-members .person-row select{min-width:120px}@media(max-width:1280px){.org-stats{grid-template-columns:repeat(3,1fr)}.org-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-create-form{grid-template-columns:1fr 1fr}}@media(max-width:860px){.org-context,.org-section-head{align-items:stretch;flex-direction:column}.org-context label{min-width:0}.org-stats{grid-template-columns:repeat(2,1fr)}.org-dashboard-grid,.report-grid,.org-course-grid,.relation-columns{grid-template-columns:1fr}.directory-search{align-items:stretch;flex-direction:column}.directory-search>div:first-child{width:100%}.people-tabs{width:100%;overflow-x:auto}.people-tabs button{white-space:nowrap}.person-row{flex-wrap:wrap}}@media(max-width:520px){.org-stats{grid-template-columns:1fr}.period-tabs{width:100%}.period-tabs button{flex:1}.course-create-form{grid-template-columns:1fr}.org-modal{padding:8px}.trend-bars small{display:none}}.identity-login-card{max-width:470px}.access-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#eee8de;padding:4px;margin-bottom:22px}.access-tabs button{border:0;background:transparent;padding:10px;color:#6f685f}.access-tabs button.active{background:#fff;color:#8b432f;box-shadow:0 2px 10px #2d241914}.sms-row{display:grid;grid-template-columns:1fr 118px;gap:8px;align-items:end}.sms-row>button{height:44px;border:1px solid #9a4c36;background:#fff;color:#8b432f}.dev-code{padding:8px 10px;background:#fff3cc;color:#755b12;font-size:12px}.terms{display:flex!important;align-items:center;gap:8px;font-size:12px}.terms input{width:auto!important}.identity-center{max-width:1400px;margin:0 auto}.identity-center>.page-heading>svg{width:48px;height:48px;color:#90442f}.identity-role-cards .stat strong{font-size:26px}.identity-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:20px}.certification-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.certification-form .panel-head,.certification-form .cert-type-tabs,.certification-form .cert-file,.certification-form .error-box,.certification-form .notice-box,.certification-form>button{grid-column:1/-1}.certification-form label{display:grid;gap:6px;font-size:12px;color:#72695f}.certification-form input,.certification-form select,.certification-form textarea{width:100%;border:1px solid #d8d0c5;background:#fffdfa;padding:11px}.certification-form textarea{min-height:88px;resize:vertical}.cert-type-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cert-type-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:1px solid #d5ccc1;background:#f5f0e8}.cert-type-tabs button.active{background:#332e29;color:#fff}.cert-file{border:1px dashed #baa899;padding:14px}.cert-file input{border:0;padding:8px 0}.certification-history article{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid #e5ded5}.certification-history article strong,.certification-history article small{display:block}.certification-history article small{color:#857c72;margin-top:5px}.certification-history article p{margin:8px 0 0;color:#8b432f}.cert-status{display:flex;align-items:center;gap:5px;font-size:12px}.cert-status svg{width:16px}.cert-status.approved{color:#37705a}.cert-status.pending{color:#9b7030}.cert-status.rejected{color:#a23e31}@media(max-width:900px){.identity-grid{grid-template-columns:1fr}.identity-role-cards{grid-template-columns:1fr 1fr 1fr}}@media(max-width:560px){.account-access .login-story{display:none}.account-access .login-panel{width:100%;padding:18px}.sms-row,.identity-role-cards,.certification-form{grid-template-columns:1fr}.certification-form>*{grid-column:1}.cert-type-tabs{grid-template-columns:1fr 1fr}}.account-access .access-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.claim-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.claim-heading h2{margin:0}.claim-back,.claim-entry button{border:0;background:transparent;color:#8b432f;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.claim-back{padding:5px 0;font-size:12px;white-space:nowrap}.claim-entry{margin:-2px 0 4px;color:#72695f;font-size:12px}.claim-entry button{margin-left:5px;padding:0}.claim-back:hover,.claim-entry button:hover{color:#653020}.claim-back:focus-visible,.claim-entry button:focus-visible,.reg-method-tabs button:focus-visible{outline:2px solid #8b432f;outline-offset:2px}.reg-method-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 0 16px;padding:4px;border:1px solid #ddd4c8;background:#eee8de}.reg-method-tabs button{min-height:42px;border:0;background:transparent;color:#6f685f;font:inherit;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.reg-method-tabs button:hover{color:#8b432f;background:#f8f4ed}.reg-method-tabs button.active{background:#fff;color:#8b432f;font-weight:700;box-shadow:0 2px 10px #2d241914}@media(max-width:560px){.claim-heading{align-items:baseline}.reg-method-tabs{margin-bottom:14px}.reg-method-tabs button{min-height:44px;font-size:13px}}.identity-card{cursor:pointer;text-align:left;position:relative;transition:transform .15s,box-shadow .15s}.identity-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.identity-card-title{display:flex;align-items:center;gap:8px;font-size:13px;color:#72695f}.identity-card-title .verified-icon{color:#37705a;width:18px;height:18px}.identity-card-title .unverified-icon{color:#9b7030;width:18px;height:18px}.identity-card-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#b5ada4;width:18px;height:18px}.identity-card strong{font-size:22px}.realname-options{display:grid;gap:12px;margin-top:8px}.realname-option{display:flex;align-items:center;gap:16px;padding:18px 20px;border:1px solid #e5ded5;border-radius:10px;background:#fffdfa;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.realname-option:hover{border-color:#9a4c36;background:#fdf8f3}.realname-option-icon{display:flex;align-items:center;gap:10px;font-weight:600;color:#2d2419;min-width:140px}.realname-option-icon svg{width:22px;height:22px;color:#8b432f}.realname-option p{flex:1;margin:0;color:#857c72;font-size:13px}.realname-option>svg:last-child{color:#b5ada4;width:18px;height:18px}.realname-note{margin-top:20px;padding:14px 16px;background:#f7f5f1;border-radius:8px}.realname-note p{margin:0;font-size:12px}.account-route-bar{display:flex;align-items:center;gap:18px;margin-bottom:18px}.account-back{display:inline-flex;align-items:center;gap:6px}.account-profile-card{display:flex;align-items:center;gap:18px;margin-bottom:20px}.account-avatar{width:72px;height:72px;flex:none;border-radius:50%;display:grid;place-items:center;background:#8b432f;color:#fff;font:700 30px "Noto Serif SC",serif}.account-profile-main h2{margin:0 0 6px;font:700 24px "Noto Serif SC",serif}.account-profile-main p{margin:0 0 12px;color:#857c72}.account-meta{display:flex;flex-wrap:wrap;gap:8px 18px;color:#857c72;font-size:11px}.account-cert-empty{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#857c72}.account-cert-empty svg{width:42px;height:42px;color:#37705a}.account-cert-empty strong{color:#2d2419}.profile-link{cursor:pointer;-webkit-user-select:none;user-select:none}.profile-link:hover{background:#ebe4da}.profile-link:focus-visible{outline:2px solid #8b432f;outline-offset:4px}@media(max-width:640px){.account-route-bar{margin-bottom:10px}.breadcrumbs{display:none}.account-back{width:100%;justify-content:flex-start}.account-profile-card{align-items:flex-start;padding:18px}.account-avatar{width:56px;height:56px;font-size:24px}.account-profile-main h2{font-size:20px}.account-meta{display:grid;gap:6px}.account-role-cards{grid-template-columns:1fr}.account-role-cards .stat{border-right:0}.account-identity-grid{gap:14px}.identity-card{padding-right:40px}.realname-option{flex-direction:column;align-items:flex-start;gap:8px}.realname-option>svg:last-child{display:none}}.cert-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.cert-badge.verified{background:#e8f5e9;color:#37705a}.cert-badge.unverified{background:#fff3e0;color:#9b7030}.cert-badge svg{width:16px;height:16px}.identity-card-title{display:flex;align-items:center;gap:10px;font-size:13px;color:#72695f}.identity-card-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 20px}.identity-card-grid .identity-card{appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:154px;margin:0;padding:20px 46px 18px 20px;position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;border:1px solid var(--line);border-radius:3px;background:var(--white);color:var(--ink);box-shadow:none;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.identity-card-grid .identity-card:hover{border-color:#b99482;background:#fffdfa;box-shadow:0 8px 20px #2d231914;transform:translateY(-1px)}.identity-card-grid .identity-card:focus-visible{outline:2px solid var(--rust);outline-offset:2px}.identity-card-grid .identity-card.verified{border-color:#b8cdbf}.identity-card-grid .identity-card .identity-card-title{min-height:30px;display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:12px;line-height:1.3}.identity-card-grid .identity-card strong{display:block;margin:14px 0 5px;color:var(--ink);font:700 24px/1.1 "Noto Serif SC",serif}.identity-card-grid .identity-card small{display:block;max-width:100%;color:var(--muted);font-size:11px;line-height:1.5;white-space:normal}.identity-card-grid .identity-card .identity-card-arrow{right:18px;top:50%;width:18px;height:18px;color:#b5ada4}.identity-card-grid .identity-card .cert-badge{width:30px;height:30px;border:1px solid currentColor;border-radius:50%}.identity-card-grid .identity-card .cert-badge svg{width:17px;height:17px}@media(max-width:640px){.identity-card-grid{grid-template-columns:1fr;gap:12px}.identity-card-grid .identity-card{min-height:132px;padding:17px 44px 16px 17px}.identity-card-grid .identity-card strong{margin-top:10px;font-size:22px}}.report-tabs{display:flex;gap:8px;align-items:center;margin:0 0 18px;flex-wrap:wrap}.report-tabs button,.report-tabs select{min-height:38px;padding:0 14px;border:1px solid var(--line);background:var(--white);border-radius:10px;color:var(--ink)}.report-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.recorder-dialog-backdrop{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:#17130fb8;padding:18px}.recorder-dialog{width:min(540px,100%);background:#f8f3ea;color:var(--ink);border-radius:14px;box-shadow:0 26px 90px #000b;overflow:hidden;display:grid}.recorder-dialog>header{display:flex;align-items:baseline;gap:10px;padding:13px 16px;border-bottom:1px solid #e3d9c7}.recorder-dialog>header strong{font-size:15px}.recorder-dialog>header small{color:#8a7f70;font-size:10px}.recorder-dialog-close{margin-left:auto;border:0;background:transparent;color:#6b6156;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;border-radius:6px}.recorder-dialog-close:hover{background:#e9e0cf}.recorder-dialog-close svg{width:16px}.recorder-dialog-body{padding:18px 16px;display:grid;gap:12px;min-height:170px;place-items:center}.recorder-idle{display:grid;place-items:center;gap:10px;text-align:center;color:#6b6156}.recorder-idle-icon{width:56px;height:56px;border-radius:50%;background:#d9654318;color:#c14f2f;display:grid;place-items:center}.recorder-idle-icon svg{width:24px;height:24px}.recorder-idle p{margin:0;font-size:12px;line-height:1.7;max-width:340px}.recorder-wave-wrap{position:relative;width:100%;background:#1b1916;border-radius:10px;overflow:hidden}.recorder-wave-wrap canvas{display:block;width:100%;height:120px}.recorder-live-video{position:relative;width:100%;background:#111;border-radius:10px;overflow:hidden}.recorder-live-video video{display:block;width:100%;max-height:46vh}.recorder-live-tag{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:6px;background:#17130fd9;color:#f5ede1;font-size:10px;padding:4px 9px;border-radius:999px}.recorder-live-tag i{width:8px;height:8px;border-radius:50%;background:#d94d39;animation:voicePulse 1s infinite}.recorder-playback{width:100%;display:grid;gap:8px}.recorder-playback audio{width:100%;height:38px}.recorder-playback video{display:block;width:100%;max-height:46vh;background:#111;border-radius:10px}.recorder-playback small{color:#8a7f70;font-size:10px;text-align:center}.recorder-dialog>footer{display:flex;gap:10px;padding:13px 16px;border-top:1px solid #e3d9c7;background:#f3ecdf}.recorder-dialog>footer button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px}.recorder-dialog>footer button svg{width:15px}.recorder-dialog>footer .recorder-cancel{flex:0 0 auto;border:0;background:transparent;color:#6b6156;padding:0 12px;cursor:pointer}.recorder-stop{background:#c14f2f!important;color:#fff!important}.compose-audio video{display:block;width:100%;max-height:200px;background:#111;border-radius:8px}.comment-entry video{grid-column:1/-1;width:100%;max-height:240px;margin-top:5px;background:#111;border-radius:6px}.media-transfer-progress{display:grid;grid-template-columns:1fr auto;gap:5px 9px;align-items:center}.media-transfer-progress i{grid-column:1/-1}.media-transfer-progress span{min-width:0}.media-transfer-progress small{color:var(--muted);font-size:10px;white-space:nowrap}.practice-media-actions{display:grid;gap:8px}.practice-media-actions .record-main{width:100%}.practice-media-actions .outline,.practice-media-actions .practice-submit{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px}.practice-file-upload svg,.practice-submit svg{width:15px}.compose-audio small.comment-error{display:block;margin:4px 0 0}.comment-compose .primary:disabled{cursor:not-allowed;opacity:.58}@media(max-width:640px){.practice-media-actions{grid-template-columns:1fr}.media-transfer-progress small{font-size:9px}}.practice-media-actions:has(.practice-submit) .record-main{display:none}.overall-review-section{display:grid;gap:12px;padding:16px 14px;border-bottom:1px solid var(--line);background:#f7f1e8}.overall-review-heading{margin:0}.overall-review-heading>div{min-width:0}.overall-review-heading h3{font-size:18px}.overall-review-heading small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.overall-review-list,.student-overall-reviews{display:grid;gap:10px}.overall-review-card{display:grid;gap:9px;padding:13px;border:1px solid #d8c9b8;background:#fffaf2;box-shadow:0 7px 20px #432f1f0d}.overall-review-card.is-draft{border-color:#b5765d;background:#fff7ec}.overall-review-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.overall-review-card header strong,.overall-review-card header small{display:block}.overall-review-card header strong{font-size:13px}.overall-review-card header small{margin-top:3px;color:var(--muted);font-size:9px}.overall-review-card header>span{flex:none;padding:4px 7px;background:#ead6c7;color:#8b3928;font-size:9px;font-weight:700}.overall-review-card p{margin:0;color:#3d352d;font-size:12px;line-height:1.7;white-space:pre-wrap}.overall-review-card figure{margin:0}.overall-review-card figure a{display:block}.overall-review-card figure img{display:block;width:100%;max-height:220px;object-fit:contain;border-radius:5px;background:#24211d;cursor:zoom-in}.overall-review-card figcaption{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.45}.overall-review-card audio,.overall-review-card video{display:block;width:100%}.overall-review-card video{max-height:230px;background:#111;border-radius:5px}.overall-review-compose{display:grid;gap:9px;padding-top:3px}.overall-review-compose textarea{width:100%;min-height:96px;resize:vertical;border:1px solid #cfc1b1;background:#fffdf8;color:var(--ink);padding:11px 12px;line-height:1.6}.overall-review-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.overall-review-tools button{min-height:34px;border:1px solid #cdbdac;background:#fffaf2;color:#5c4437;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px}.overall-review-tools button:hover,.overall-review-tools button.active{border-color:#98533d;background:#8b3928;color:#fff}.overall-review-tools svg{width:14px;height:14px}.overall-review-compose .compose-asset small{display:block;margin-top:4px;color:var(--muted);font-size:9px}.overall-review-note{margin:0;padding:8px 9px;background:#eee3d5;color:#6e5b4d;font-size:9px;line-height:1.5}.overall-review-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.overall-review-actions button{min-height:36px}.overall-review-discard{border:0;background:transparent;color:#9b3d2d;padding:8px;font-size:10px;text-decoration:underline;text-underline-offset:3px}.student-overall-reviews{padding:15px 14px;border-bottom:1px solid var(--line);background:#f7f1e8}.student-overall-reviews .panel-head{margin:0 0 2px}.student-overall-reviews .panel-head h3{font-size:18px}.student-feedback-panel .overall-review-card{box-shadow:none}@media(max-width:640px){.overall-review-section,.student-overall-reviews{padding:14px 12px}.overall-review-tools{grid-template-columns:1fr 1fr}.overall-review-card figure img{max-height:280px}.overall-review-actions{display:grid;grid-template-columns:1fr}.overall-review-actions button{width:100%;justify-content:center}.student-feedback-panel .overall-review-card p{font-size:13px}}.record-pane .practice-file-upload{width:100%;min-height:38px;border:0;background:transparent;color:#e8d9c8;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.record-pane .practice-file-upload:hover{color:#fff;background:#ffffff12}.record-pane .practice-file-upload:disabled{cursor:not-allowed;color:#837a70;text-decoration:none}.practice-upload-state{display:grid;gap:8px;padding:13px;border:1px solid #71685d;background:#272521;color:#efe6da}.practice-upload-state strong{font-size:13px}.practice-upload-state small{color:#b7ada1;font-size:10px;line-height:1.5}.practice-resume{width:100%;min-height:42px;border:1px solid #cd8268;background:#b95f44;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700}.practice-resume:hover{background:#cf7458}.practice-resume svg{width:15px}.practice-discard{border:0;background:transparent;color:#dfb5a5;padding:7px 4px;font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.practice-discard:hover{color:#ffd8ca}.practice-processing-note{margin:0;padding:11px 12px;border:1px solid #5b564f;background:#272521;color:#d9d1c7;font-size:11px;line-height:1.45}.comment-track button{width:32px;height:32px;top:9px;box-shadow:0 0 0 2px #28262247}.comment-track button svg{width:16px;height:16px;min-width:16px}.review-page.review-locked .comment-compose,.review-page.review-locked .comment-delete{pointer-events:none;opacity:.45;filter:grayscale(.35)}.review-page.review-locked .comment-compose{cursor:not-allowed}.review-reopen{background:#f3ecdf;border-color:#9f8877;color:#6e2b1e;box-shadow:none}.review-head-actions{justify-self:end;display:flex;align-items:center;gap:8px}.review-head-actions .review-score-toggle{display:inline-flex;align-items:center;gap:6px;background:#39352f;border-color:#75695d;color:#f4eadc}.review-head-actions .review-score-toggle:hover{background:#4a443c}.review-head-actions button{white-space:nowrap}.review-score-toggle svg{width:15px;height:15px}.real-video{position:relative}.real-video video{cursor:pointer}.real-video video:focus-visible{outline:3px solid #df8064;outline-offset:3px}.video-toggle-hint{position:absolute;z-index:1;left:12px;top:12px;padding:6px 8px;border-radius:5px;background:#1d1a16b8;color:#f5eee5;font-size:10px;letter-spacing:.02em;pointer-events:none;opacity:0;transform:translateY(-3px);transition:opacity .18s ease,transform .18s ease}.real-video:hover .video-toggle-hint,.real-video:focus-within .video-toggle-hint{opacity:1;transform:translateY(0)}.review-score-drawer{position:fixed;z-index:125;top:0;right:0;bottom:0;width:min(620px,92vw);display:grid;grid-template-rows:auto minmax(0,1fr);background:#f4ede0;color:#282622;border-left:1px solid #988e80;box-shadow:-18px 0 46px #0007}.review-score-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #cfc4b6;background:#fffaf1}.review-score-drawer header p,.review-score-drawer header strong,.review-score-drawer header small{display:block;margin:0}.review-score-drawer header p{font-size:10px;letter-spacing:.08em;color:#8b422f}.review-score-drawer header strong{margin-top:4px;font-size:17px}.review-score-drawer header small{margin-top:4px;font-size:11px;color:#786f65}.review-score-drawer header button{display:grid;place-items:center;flex:none;width:34px;height:34px;border:1px solid #d3c7b8;background:#f2e8db;color:#4e4035}.review-score-drawer header button:hover{background:#e9dbcc}.review-score-drawer header svg{width:17px;height:17px}.review-score-drawer-body{position:relative;min-height:0;overflow:hidden;background:#ede4d7}.review-score-drawer-body>.static-score-viewer{height:100%}.review-score-drawer-body>.score-view{height:100%;overflow:auto;padding:18px}.review-score-error{margin:18px;padding:11px 12px;background:#fff0eb;color:#a53d29;font-size:12px;line-height:1.5}@media(max-width:760px){.studio-head{height:auto;min-height:68px;grid-template-columns:1fr auto;gap:8px;padding:10px 14px}.studio-head>div:nth-child(2){grid-column:1/-1;grid-row:2;text-align:left;order:3}.review-head-actions{grid-column:2;grid-row:1}.review-head-actions .review-score-toggle{width:34px;padding:0;justify-content:center}.review-head-actions .review-score-toggle{font-size:0}.review-score-toggle svg{width:17px;height:17px}.review-score-drawer{width:100%;top:48px;border-left:0;border-top:1px solid #988e80}.video-toggle-hint{display:none}}.honors-fullwidth .sidebar{display:none}.honors-fullwidth{grid-template-columns:1fr!important}.honors-fullwidth .main-wrap{grid-column:1}.honors-fullwidth .topbar{display:none}.honors-fullwidth .page-content{padding:0;max-width:none}.honor-room-immersive{position:fixed;inset:0;z-index:30;background:#1a1817;overflow-y:auto;overflow-x:hidden}.honor-room-immersive:before{content:"";position:fixed;top:-120px;left:50%;transform:translate(-50%);width:900px;height:500px;background:radial-gradient(ellipse at 50% 0%,rgba(200,160,110,.12) 0%,transparent 70%);pointer-events:none;z-index:0}.honor-room-inner{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:80px 40px 60px}.honor-back{position:absolute;top:28px;left:32px;z-index:2;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(184,147,110,.3);background:transparent;color:#b8936e;padding:8px 16px;font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}.honor-back:hover{border-color:#b8936e;background:#b8936e14}.honor-hero{text-align:center;margin-bottom:56px}.honor-hero h1{font:700 46px "Noto Serif SC",serif;color:#d4b896;margin:0;letter-spacing:.06em;text-shadow:0 0 60px rgba(200,160,110,.15)}.honor-hero .honor-divider{width:120px;height:1px;margin:22px auto 0;background:linear-gradient(90deg,transparent,#b8936e,transparent);border:0}.honor-hero p{color:#8a7b68;font-size:14px;margin-top:14px}.honor-wall-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:28px}.honor-medal{position:relative;background:#231f1c;border:1px solid rgba(184,147,110,.35);border-radius:14px;padding:40px 28px 32px;text-align:center;cursor:pointer;transition:border-color .3s,transform .3s,box-shadow .3s;box-shadow:0 1px #b8936e14 inset,0 4px 24px #0006;overflow:hidden}.honor-medal:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(175deg,transparent,transparent 1px,rgba(184,147,110,.02) 1px,rgba(184,147,110,.02) 2px);pointer-events:none;border-radius:14px}.honor-medal:hover{border-color:#b8936eb3;transform:translateY(-3px);box-shadow:0 1px #b8936e1f inset,0 8px 36px #00000080,0 0 40px #b8936e0f}.honor-laurel-wrap{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:12px}.honor-laurel-left,.honor-laurel-right{width:52px;flex-shrink:0;color:#d4b896;display:flex;align-items:center}.honor-laurel-left img,.honor-laurel-right img{display:block;width:100%;height:auto}.honor-laurel-right{transform:scaleX(-1)}.honor-laurel-center{text-align:center;padding:0 4px}.honor-medal-year{font:700 15px Georgia,"Noto Serif SC",serif;color:#d4b896;letter-spacing:.12em;margin-bottom:10px}.honor-medal-title{font:700 18px "Noto Serif SC",serif;color:#d4b896;line-height:1.4;margin:0}.honor-medal-desc{font-size:12px;color:#8a7b68;margin-top:10px;line-height:1.5}.honor-add-card{display:flex;align-items:center;justify-content:center;min-height:200px;background:transparent;border:1px dashed rgba(184,147,110,.3);border-radius:14px;cursor:pointer;transition:border-color .3s,background .3s}.honor-add-card:hover{border-color:#b8936e99;background:#b8936e0a}.honor-add-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border:1px solid #b8936e;border-radius:999px;background:#b8936e0f;color:#d4b896;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s}.honor-add-btn:hover{background:#b8936e24}.honor-add-btn svg{width:18px;height:18px}.honor-modal-backdrop{position:fixed;inset:0;z-index:70;background:#0a0908d9;display:grid;place-items:center;padding:24px}.honor-modal{width:min(560px,100%);max-height:90vh;overflow-y:auto;background:#1f1c1a;border:1px solid rgba(184,147,110,.3);border-radius:14px;box-shadow:0 24px 80px #0009}.honor-modal-head{display:flex;align-items:center;justify-content:space-between;padding:22px 28px 14px;border-bottom:1px solid rgba(184,147,110,.12)}.honor-modal-head h3{font:700 20px "Noto Serif SC",serif;color:#d4b896;margin:0}.honor-modal-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(184,147,110,.25);background:transparent;color:#8a7b68;border-radius:50%;cursor:pointer;transition:border-color .2s,color .2s}.honor-modal-close:hover{border-color:#d4b896;color:#d4b896}.honor-modal-body{padding:22px 28px}.honor-modal-foot{display:flex;gap:10px;padding:0 28px 24px}.honor-modal-foot button{padding:10px 24px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}.honor-modal-foot .btn-primary{border:none;background:#b8936e;color:#1a1817}.honor-modal-foot .btn-primary:hover{background:#c9a57e}.honor-modal-foot .btn-cancel{border:1px solid rgba(184,147,110,.3);background:transparent;color:#8a7b68}.honor-modal-foot .btn-cancel:hover{border-color:#b8936e;color:#d4b896}.honor-create-fields{display:grid;grid-template-columns:1fr 120px;gap:12px}.honor-create-fields input,.honor-create-fields textarea{width:100%;padding:11px 14px;border:1px solid rgba(184,147,110,.25);border-radius:6px;background:#151312;color:#f0e6d3;font-size:14px;outline:none;transition:border-color .2s}.honor-create-fields input:focus,.honor-create-fields textarea:focus{border-color:#b8936e}.honor-create-fields textarea{grid-column:1 / -1;min-height:80px;resize:vertical}.honor-create-fields input::placeholder,.honor-create-fields textarea::placeholder{color:#5a5148}.honor-upload-group{display:flex;gap:6px;margin-top:16px}.honor-upload-group .honor-upload-row{margin-bottom:0;flex:1}.honor-file-label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px dashed rgba(184,147,110,.35);border-radius:8px;color:#b8936e;font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}.honor-file-label:hover{border-color:#d4b896;background:#b8936e0f}.honor-file-input{display:none}.honor-file-count{display:inline-block;margin-left:10px;padding:4px 10px;background:#b8936e1a;color:#d4b896;border-radius:999px;font-size:12px}.honor-detail-overlay{position:fixed;inset:0;z-index:60;background:#0a0908eb;display:grid;place-items:center;padding:40px;overflow-y:auto}.honor-detail-content{position:relative;width:min(900px,100%);max-height:90vh;overflow-y:auto;background:#1a1817;border:1px solid rgba(184,147,110,.25);border-radius:12px}.honor-detail-close{position:absolute;top:16px;right:16px;z-index:2;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(184,147,110,.3);background:#1a1817e6;color:#d4b896;cursor:pointer;border-radius:50%;transition:border-color .2s,background .2s}.honor-detail-close:hover{border-color:#d4b896;background:#b8936e1a}.honor-detail-body{padding:36px}.honor-detail-header{text-align:center;margin-bottom:24px}.honor-detail-year{font:700 14px Georgia,serif;color:#b8936e;letter-spacing:.12em}.honor-detail-title{font:700 28px "Noto Serif SC",serif;color:#d4b896;margin:8px 0 0}.honor-detail-desc{color:#8a7b68;font-size:15px;line-height:1.7;text-align:center;max-width:600px;margin:0 auto}.honor-detail-gallery{margin-top:36px;border-top:1px solid rgba(184,147,110,.15);padding-top:24px}.honor-detail-gallery h3{font:700 16px "Noto Serif SC",serif;color:#b8936e;margin:0 0 16px}.honor-detail-media{display:grid;gap:16px}.honor-detail-image{width:100%;border-radius:8px;border:1px solid rgba(184,147,110,.15)}.honor-detail-video{width:100%;border-radius:8px;border:1px solid rgba(184,147,110,.15);background:#000}.honor-detail-actions{margin-top:28px;text-align:center}.honor-edit-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:1px solid rgba(184,147,110,.35);border-radius:8px;background:transparent;color:#d4b896;font-size:13px;cursor:pointer;transition:border-color .2s,background .2s}.honor-edit-btn:hover{border-color:#d4b896;background:#b8936e14}.honor-edit-btn svg{width:16px;height:16px}@media(max-width:700px){.honor-room-inner{padding:60px 20px 40px}.honor-hero h1{font-size:32px}.honor-wall-grid{grid-template-columns:1fr;gap:20px}.honor-create-fields{grid-template-columns:1fr}.honor-back{top:16px;left:16px;padding:6px 12px;font-size:12px}.honor-detail-overlay{padding:0}.honor-detail-content{border-radius:0;max-height:100vh}.honor-detail-body{padding:24px}.honor-detail-title{font-size:22px}}.honor-medal{width:100%;color:inherit;font:inherit}.honor-medal:focus-visible,.honor-add-card:focus-visible{outline:2px solid #d4b896;outline-offset:4px}.honor-empty{grid-column:1 / -1;margin:0;padding:48px 20px;border:1px dashed rgba(184,147,110,.25);color:#8a7b68;text-align:center}.honor-modal-close:disabled,.honor-modal-foot button:disabled{cursor:not-allowed;opacity:.55}.honor-upload-group .honor-upload-row{display:flex}.honor-file-label{justify-content:center;width:100%}.honor-file-label:has(input:disabled){cursor:not-allowed;opacity:.55}.honor-upload-help{margin:10px 0 0;color:#786d62;font-size:11px;line-height:1.5}.honor-upload-list{display:grid;gap:7px;margin-top:14px}.honor-upload-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(184,147,110,.18);background:#171412}.honor-upload-item div{min-width:0}.honor-upload-item strong,.honor-upload-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.honor-upload-item strong{color:#e8d8c5;font-size:12px}.honor-upload-item small{margin-top:3px;color:#776c62;font-size:10px}.honor-upload-item>span{color:#ad9378;font-size:11px;white-space:nowrap}.honor-upload-item>button{border:0;background:transparent;color:#c88773;padding:4px;font-size:11px;cursor:pointer}.honor-upload-item.is-succeeded{border-color:#6f9c7059}.honor-upload-item.is-succeeded>span{color:#91bf91}.honor-upload-item.is-failed{border-color:#bf5b428c}.honor-upload-item.is-failed>span,.honor-upload-item.is-failed small{color:#e09a85}.honor-upload-item.is-uploading>span{color:#dfba8c}.honor-upload-message,.honor-upload-error{margin:12px 0 0;padding:9px 11px;font-size:11px;line-height:1.5}.honor-upload-message{border:1px solid rgba(111,156,112,.3);background:#6f9c7014;color:#a9c6a9}.honor-upload-error{border:1px solid rgba(191,91,66,.45);background:#bf5b421a;color:#edaa95}.honor-detail-banner{position:relative;height:clamp(190px,32vw,340px);overflow:hidden;background:radial-gradient(circle at 50% 10%,rgba(212,184,150,.2),transparent 55%),linear-gradient(135deg,#26211d,#151311)}.honor-detail-banner:after{content:"荣耀时刻";position:absolute;inset:0;display:grid;place-items:center;color:#d4b89642;font:700 clamp(24px,5vw,54px) "Noto Serif SC",serif;letter-spacing:.18em}.honor-detail-banner.has-cover:after{display:none}.honor-detail-banner img{display:block;width:100%;height:100%;object-fit:cover}.honor-detail-banner-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(26,24,23,.75));pointer-events:none}.honor-detail-image-wrap{position:relative;margin:0}.honor-detail-image{display:block;max-height:620px;object-fit:contain;background:#12100f}.honor-detail-image-wrap button{position:absolute;right:10px;bottom:10px;border:1px solid rgba(212,184,150,.55);background:#1a1817e6;color:#d4b896;padding:7px 11px;font-size:11px;cursor:pointer}.honor-detail-image-wrap button.is-cover{border-color:#6f9c708c;color:#b3d2b3;cursor:default}.honor-detail-video{display:block;max-height:620px}@media(max-width:700px){.honor-modal-backdrop{padding:0;align-items:end}.honor-modal{width:100%;max-height:92dvh;border-radius:14px 14px 0 0}.honor-modal-head,.honor-modal-body{padding-left:18px;padding-right:18px}.honor-modal-foot{position:sticky;bottom:0;padding:12px 18px max(18px,env(safe-area-inset-bottom));background:#1f1c1a;border-top:1px solid rgba(184,147,110,.15)}.honor-modal-foot button{flex:1;min-height:42px}.honor-upload-group{display:grid;grid-template-columns:1fr 1fr}.honor-upload-item{grid-template-columns:minmax(0,1fr) auto}.honor-upload-item>button{grid-column:2}.honor-detail-content{max-height:100dvh;min-height:100dvh}.honor-detail-banner{height:220px}.honor-detail-body{padding:24px 18px max(30px,env(safe-area-inset-bottom))}}.info-edit-inline{display:flex;align-items:center;gap:8px}.teacher-comment-panel{overflow:hidden}.review-panel-tabs{position:relative;z-index:2;flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:6px;gap:5px;border-bottom:1px solid var(--line);background:#e9e0d4}.review-panel-tabs button{min-width:0;min-height:38px;border:1px solid transparent;border-radius:3px;background:transparent;color:#6f665d;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:700}.review-panel-tabs button:hover{background:#f4ede3;color:var(--ink)}.review-panel-tabs button[aria-selected=true]{border-color:#cdb9a7;background:#fffaf2;color:var(--rust);box-shadow:0 4px 12px #432f1f12}.review-panel-tabs b{min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#d8cbbd;color:#5f554c;display:inline-grid;place-items:center;font-size:9px;font-variant-numeric:tabular-nums}.review-panel-tabs button[aria-selected=true] b{background:var(--rust);color:#fff}.review-panel-body{flex:1 1 auto;min-height:0;overflow:hidden}.review-tab-panel{height:100%;min-height:0}.review-tab-panel[hidden]{display:none}.review-panel-body.is-readonly,.review-panel-body.is-readonly>.review-tab-panel{display:contents}.overall-review-tab-panel{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.overall-review-tab-panel .overall-review-section{min-height:100%;align-content:start;border-bottom:0}.timeline-review-tab-panel{display:flex;flex-direction:column;overflow:hidden}.teacher-comment-panel .timeline-review-tab-panel .comment-list{flex:1 1 auto;min-height:96px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.teacher-comment-panel .timeline-review-tab-panel .comment-compose{flex:0 0 auto;max-height:min(58%,430px);overflow-y:auto;overscroll-behavior:contain}.teacher-comment-panel .overall-review-tab-panel .overall-review-card figure img,.teacher-comment-panel .overall-review-tab-panel .overall-review-compose .compose-asset img{max-height:160px;object-fit:contain;background:#24211d}.teacher-comment-panel .overall-review-tab-panel .overall-review-card video,.teacher-comment-panel .overall-review-tab-panel .overall-review-compose .compose-audio video{max-height:180px;object-fit:contain;background:#111}@media(max-width:980px){.teacher-comment-panel{height:min(720px,calc(100dvh - 24px));min-height:560px}}@media(max-width:640px){.teacher-comment-panel{height:min(760px,calc(100dvh - 16px))}.review-panel-tabs{position:sticky;top:0}.review-panel-tabs button{min-height:42px;font-size:12px}.teacher-comment-panel .timeline-review-tab-panel .comment-compose{max-height:62%}}.info-edit-inline input{padding:6px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px;background:var(--bg);color:var(--fg);max-width:200px}.change-password-btn{display:inline-block;margin-top:4px;font-size:13px;color:var(--muted)}.change-password-btn:hover{color:var(--rust)}.camera-rec.paused{color:#f4e4ce;background:#2d2822e0}.practice-simple-progress{padding:12px;border:1px solid #5b564f;background:#272521;color:#f1e8dc}.practice-simple-progress i{display:block;height:4px;border-radius:999px;background:#d96f52;transition:width .2s ease}.practice-recording-controls,.practice-preview-actions{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.record-pane .practice-pause{min-height:52px;border:1px solid #8d8275;background:#f0e7da;color:#332f2a;font-weight:700}.record-pane .practice-pause:hover{background:#fff7eb}.practice-local-preview{display:grid;gap:12px;padding:12px;border:1px solid #625b52;background:#25231f}.practice-local-preview video{width:100%;max-height:240px;background:#111;object-fit:contain}.practice-local-preview>div:not(.practice-preview-actions){display:grid;gap:3px}.practice-local-preview strong,.practice-ready-state strong{color:#f4ece1;font-size:13px}.practice-local-preview small{color:#b9afa3;font-size:10px}.practice-preview-loading{min-height:120px;place-items:center;color:#b9afa3}.practice-preview-actions .practice-discard{min-height:42px;border:1px solid #8d8275;color:#f1ddd4;text-decoration:none}.practice-confirm-upload{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px}.practice-ready-state{display:grid;gap:10px;padding:13px;border:1px solid #627a63;background:#242c24}.practice-ready-state strong{display:flex;align-items:center;justify-content:center;gap:7px;color:#d9ecd9}.practice-ready-state strong svg{width:17px}@media(max-width:640px){.practice-recording-controls,.practice-preview-actions{grid-template-columns:1fr}.practice-local-preview video{max-height:200px}}
