:root{--primary:#4c6ef5;--primary-dark:#3b5bdb;--primary-soft:#edf2ff;--bg:#f4f6fb;--surface:#fff;--text:#1f2430;--muted:#6b7280;--border:#e3e7ef;--danger:#e03131;--danger-soft:#fff0f0;--ok:#2f9e44;--radius:.875rem;--radius-sm:.5rem;--shadow-sm:0 1px 2px #1018280f;--shadow-md:0 8px 20px #1018281f;--header-height:3.5rem;--sidebar-width:15.5rem;--content-max:70rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}body{background:var(--bg);min-height:100dvh;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,sans-serif;line-height:1.5}#root{min-height:100dvh}h1,h2,h3,h4,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.4rem;min-height:2.6rem;padding:.45rem 1rem;font-size:1rem;line-height:1.2;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:#c92a2a}.btn-soft{background:var(--primary-soft);color:var(--primary-dark);border-color:#0000}.btn-soft:hover{background:#dbe4ff}.btn-block{width:100%}.icon-btn{border-radius:var(--radius-sm);width:2.4rem;height:2.4rem;color:var(--muted);border:1px solid #0000;justify-content:center;align-items:center;font-size:1.1rem;line-height:1;display:inline-flex}.icon-btn:hover{background:var(--bg);color:var(--text)}.icon-btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.input,.select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:2.6rem;padding:.45rem .75rem;font-size:1rem}.input:focus,.select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4c6ef526}.field{flex-direction:column;gap:.35rem;margin-bottom:.9rem;display:flex}.field-label{color:var(--muted);font-size:.875rem;font-weight:500}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.section-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem}.section-title{margin-bottom:.25rem;font-size:1.15rem;font-weight:600}.section-desc{color:var(--muted);margin-bottom:1rem;font-size:.9rem}.badge{background:var(--primary-soft);color:var(--primary-dark);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.8rem;display:inline-flex}.badge-muted{background:var(--bg);color:var(--muted)}.page-header{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.page-header h1{flex:auto;font-size:1.5rem;font-weight:700}.page-header .page-desc{width:100%;color:var(--muted);margin-top:-.75rem;font-size:.95rem}.modal-backdrop{z-index:100;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);width:100%;max-width:23rem;max-height:88vh;box-shadow:var(--shadow-md);animation:.16s modal-in;overflow:auto}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-head{justify-content:space-between;align-items:center;padding:1rem 1.25rem .5rem;display:flex}.modal-head h2{font-size:1.15rem;font-weight:600}.modal-body{padding:.75rem 1.25rem 1.25rem}.modal-actions{justify-content:flex-end;gap:.6rem;margin-top:.5rem;display:flex}.empty-state{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.empty-state .emoji{font-size:2.4rem}.empty-state .text{max-width:24rem;font-size:.95rem}.empty-state .action{margin-top:.6rem}.form-error{color:var(--danger);margin:0 0 .6rem;font-size:.875rem}.subject-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:.65rem;display:flex}.subject-chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;min-height:2.5rem;padding:.35rem .85rem;font-size:.95rem}.subject-chip:hover{border-color:var(--primary);color:var(--primary-dark)}.subject-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.subject-chip-hint{color:var(--muted);margin:-.4rem 0 .65rem;font-size:.8rem}@media (width<=640px){.layout-main{padding:.7rem .6rem 5rem}.layout-content{min-width:0}.section-card{min-width:0;padding:.85rem .7rem}.page-header h1{font-size:1.5rem}.page-desc{font-size:.88rem;line-height:1.5}.hw-batch-bar,.data-actions,.seat-dim-row,.rw-batch-row,.rc-actions,.timer-actions,.trade-actions{flex-wrap:wrap;gap:.4rem}.input,.select,.btn{max-width:100%}.grd-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.sqr-row{flex-wrap:wrap}.sqr-info{flex:8rem;min-width:0}.sqr-name,.rw-name,.rc-picked-name,.grd-name-btn{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.seat-toolbar .field:first-child{flex-basis:100%}}.floating-menu{z-index:55;width:0;height:0;position:fixed;top:0;left:0}.floating-menu-fab{background:var(--primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-md);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex;position:fixed}.floating-menu-fab:active{cursor:grabbing}.floating-menu-fab:hover{background:var(--primary-dark)}.floating-menu-fab-icon{pointer-events:none;font-size:22px;line-height:1}.floating-menu-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);touch-action:none;border-radius:14px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.floating-menu-head{border-bottom:1px solid var(--border);background:var(--bg);flex:none;justify-content:space-between;align-items:center;padding:.6rem .8rem;display:flex}.floating-menu-title{font-weight:700}.floating-menu-close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.floating-menu-close:hover{background:var(--primary-soft);color:var(--primary-dark)}.floating-menu-body{flex:auto;padding:.7rem .8rem;overflow:auto}.floating-menu-home{flex-direction:column;gap:.5rem;display:flex}.floating-menu-tool{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;align-items:center;gap:.6rem;padding:.8rem .9rem;font-size:.98rem;font-weight:600;display:flex}.floating-menu-tool:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark)}.floating-menu-resize{cursor:nwse-resize;touch-action:none;width:16px;height:16px;position:absolute;bottom:2px;right:2px}.floating-menu-resize:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);opacity:.55;border-radius:2px;width:10px;height:10px;position:absolute;bottom:2px;right:2px}.floating-menu-resize:hover:after{border-color:var(--primary);opacity:1}.float-tool{flex-direction:column;gap:.5rem;display:flex}.float-tool-head{align-items:center;gap:.5rem;display:flex}.float-back{color:var(--muted);cursor:pointer;font-size:.85rem}.float-back:hover{color:var(--primary-dark)}.float-time{font-variant-numeric:tabular-nums;color:var(--primary-dark);text-align:center;letter-spacing:.03em;font-size:2rem;font-weight:800}.float-time.is-ended{color:var(--danger)}.float-chips{flex-wrap:wrap;gap:.3rem;display:flex}.float-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:.25rem .6rem;font-size:.82rem}.float-chip:hover{background:var(--primary-soft);color:var(--primary-dark)}.float-hms{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.float-hms label{flex-direction:column;align-items:center;gap:.1rem;display:flex}.float-hms label span{color:var(--muted);font-size:.75rem}.float-hms input{text-align:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:3.6rem;min-height:2.1rem}.float-mini-btn{min-height:2.1rem;padding:0 .6rem}.float-err{color:var(--danger);margin:0;font-size:.8rem}.float-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.float-act{flex:none;min-height:2.4rem;padding:.3rem .9rem}.float-note{color:var(--muted);margin:0;font-size:.8rem}.float-volume{align-items:center;gap:.4rem;display:flex}.float-volume span{color:var(--muted);font-size:.85rem}.float-volume input{min-width:60px;accent-color:var(--primary);flex:auto}.float-field{flex-direction:column;gap:.2rem;display:flex}.float-field label{color:var(--muted);font-size:.85rem}.float-stepper{align-items:center;gap:.25rem;display:inline-flex}.float-stepper button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;width:2rem;height:2rem}.float-stepper input{text-align:center;width:4rem;min-height:2rem}.float-feedback{color:var(--ok);margin:0;font-size:.82rem}.float-results{flex-direction:column;gap:.4rem;display:flex;overflow:auto}.float-result{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);align-items:center;gap:.5rem;padding:.45rem .5rem;display:flex}.float-result-name{font-weight:600}.float-result-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.75rem;overflow:hidden}.float-result-ops{flex:none;gap:.3rem;display:flex}.float-point{border-radius:var(--radius-sm);cursor:pointer;min-height:1.9rem;padding:0 .5rem;font-size:.85rem}.float-point.plus{background:var(--primary-soft);color:var(--primary-dark)}.float-point.minus{background:var(--danger-soft);color:var(--danger)}@media (width<=860px){.floating-menu-fab{width:50px;height:50px}.floating-menu-fab-icon{font-size:20px}}@media (width<=480px){.floating-menu-fab{width:48px;height:48px}.floating-menu-fab-icon{font-size:19px}}.float-tool{align-items:center}.float-tool-head{align-self:stretch}.float-chips,.float-hms,.float-actions,.float-volume,.float-duration{justify-content:center;width:100%}.float-chips,.float-hms{flex-wrap:wrap}.float-volume{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.float-volume-label,.float-volume-value{color:var(--muted);font-size:.85rem}.float-range{min-width:90px;max-width:220px;accent-color:var(--primary);flex:120px}.float-duration{flex-direction:column;gap:.3rem}.float-duration-label{color:var(--muted);font-size:.85rem}.float-dur{flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;width:100%;display:flex}.float-dur-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap;border-radius:999px;flex:none;padding:.25rem .6rem;font-size:.82rem}.float-dur-chip:hover{background:var(--primary-soft);color:var(--primary-dark)}.float-dur-chip.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark);font-weight:600}.float-custom-dur{color:var(--muted);align-items:center;gap:.3rem;font-size:.85rem;display:inline-flex}.float-custom-dur-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:center;width:4rem;min-height:2rem;padding:.2rem .35rem}.float-field{align-items:center}.float-field .select{width:100%;max-width:260px}.float-stepper{justify-content:center;margin:0 auto}.float-err,.float-note,.float-feedback{text-align:center;width:100%}.float-results{width:100%}.floating-menu-panel{container-type:inline-size}.float-duration{white-space:nowrap;flex-flow:row;justify-content:center;align-items:center;gap:.5rem;width:100%}.float-duration-label{white-space:nowrap;flex:none}.float-dur{white-space:nowrap;flex-wrap:nowrap;flex:0 auto;justify-content:center}.float-dur-chip{white-space:nowrap;flex:none;padding:.22rem .5rem;font-size:.8rem}.float-custom-dur{white-space:nowrap}.float-custom-dur-input{width:3.6rem}.float-roll-top{white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.float-inline-field{align-items:center;gap:.25rem;display:inline-flex}.float-inline-field>span{color:var(--muted);white-space:nowrap;font-size:.85rem}.float-stepper{white-space:nowrap;flex-wrap:nowrap}.float-stepper-label{color:var(--muted);white-space:nowrap;font-size:.85rem}.float-stepper-input{width:3rem}.float-roll-btns{flex:none;gap:.3rem;display:flex}.float-roll-btns .float-act{min-height:2.2rem;padding:.2rem .55rem;font-size:.82rem}@container (width<=430px){.float-duration{gap:.3rem}.float-duration-label{font-size:.8rem}.float-dur-chip{padding:.18rem .4rem;font-size:.75rem}.float-custom-dur-input{width:3.2rem;font-size:.85rem}.float-roll-top{gap:.35rem}.float-inline-field>span,.float-stepper-label{font-size:.8rem}.float-roll-class{min-width:5.5rem;max-width:7rem}}.float-roll-controls{flex-direction:column;justify-content:center;align-items:center;gap:.65rem;width:100%;display:flex}.float-class-row,.float-count-row,.float-action-row{white-space:nowrap;flex-wrap:nowrap;justify-content:center;align-items:center;width:100%;display:flex}.float-class-row{gap:.35rem}.float-count-row{gap:.3rem}.float-action-row{gap:.5rem}.float-ctrl-label{color:var(--muted);white-space:nowrap;font-size:.85rem}.float-roll-class{width:auto;min-width:8rem;max-width:12rem}.float-count-row button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;flex:none;width:2.1rem;height:2.1rem}.float-stepper-input{text-align:center;width:3.2rem;min-height:2rem}.float-action-row .float-act{flex:none;min-height:2.3rem;padding:.25rem .7rem}.float-stepper-input{-moz-appearance:textfield;width:4.2rem;min-width:4.2rem;padding:.15rem .25rem}.float-stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.float-stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.layout{min-height:100dvh}.layout-topbar{z-index:20;height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:0 .75rem;display:flex;position:sticky;top:0}.layout-menu-btn{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;font-size:1.5rem;line-height:1}.layout-menu-btn:hover{background:var(--bg)}.layout-topbar-title{font-size:1.05rem;font-weight:600}.layout-sync-status{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;color:var(--muted);margin-left:auto;font-size:.72rem;overflow:hidden}.layout-sync-status.is-synced{color:var(--ok)}.layout-sync-status.is-error{color:#b7791f}.layout-sidebar{display:none}.layout-sidebar .layout-sync-status{text-align:left;max-width:none;margin:auto 0 0;padding:.75rem .75rem 0}.layout-version{color:var(--muted);padding:.25rem .75rem .75rem;font-size:.8rem}@media (width>=860px){.layout-topbar{display:none}.layout-sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;padding:1rem .75rem;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.layout-brand{padding:.4rem .6rem;font-size:1.1rem;font-weight:700}}.layout-nav{flex-direction:column;gap:.15rem;margin-top:1rem;display:flex}.layout-sidebar .layout-nav{flex:none}.nav-link{border-radius:var(--radius-sm);color:var(--text);align-items:center;gap:.65rem;min-height:2.6rem;padding:.55rem .75rem;font-size:.95rem;display:flex}.nav-link .nav-icon{text-align:center;flex:none;width:1.5rem}.nav-link:hover{background:var(--bg)}.nav-link.is-active{background:var(--primary-soft);color:var(--primary-dark);font-weight:600}.nav-link.is-placeholder{color:var(--muted)}.layout-main{padding:.9rem}.layout-content{max-width:var(--content-max);margin:0 auto}@media (width>=860px){.layout-main{margin-left:var(--sidebar-width);padding:1.6rem 2rem 3rem}}.drawer-backdrop{z-index:60;background:#0f172a66;position:fixed;inset:0}.drawer{background:var(--surface);flex-direction:column;width:min(84vw,19rem);animation:.18s drawer-in;display:flex;position:fixed;top:0;bottom:0;left:0}@keyframes drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.drawer-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.9rem .9rem .9rem 1.1rem;display:flex}.drawer-nav{flex-direction:column;gap:.2rem;padding:.75rem;display:flex;overflow-y:auto}.drawer-nav .nav-link{min-height:3rem;font-size:1.02rem}.home-stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.home-stat{align-items:center;gap:.8rem;padding:1rem 1.1rem;display:flex}.home-stat-icon{font-size:1.8rem}.home-stat-value{font-size:1.6rem;font-weight:700;line-height:1.2}.home-stat-label{color:var(--muted);font-size:.9rem}.home-quick{margin-bottom:1rem}.home-links{flex-wrap:wrap;gap:.6rem;display:flex}.home-link{min-height:2.8rem;padding:.6rem 1.1rem;font-size:1rem}.home-class-list{flex-direction:column;display:flex}.home-class-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;min-height:3rem;padding:.7rem .25rem;display:flex}.home-class-item:last-child{border-bottom:none}.home-class-item:hover{color:var(--primary)}.go{color:var(--muted);font-size:.9rem}.classes-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.9rem;display:grid}.class-card{flex-direction:column;gap:.9rem;padding:1rem 1.1rem;display:flex}.class-card-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.class-name{overflow-wrap:anywhere;font-size:1.2rem}.class-meta{color:var(--muted);font-size:.88rem}.class-card-actions{align-items:center;gap:.3rem;display:flex}.class-enter{flex:1}.class-sections-block{margin-top:1rem}.class-sections-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.student-grid{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;display:grid}.group-add-form{gap:.6rem;margin-bottom:1rem;display:flex}.group-add-form .input{flex:1}.group-list{flex-direction:column;gap:.75rem;display:flex}.group-panel{padding:.85rem 1rem}.group-panel-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.group-name{flex:auto;font-size:1.02rem}.group-actions{gap:.1rem;display:flex}.group-members{flex-wrap:wrap;gap:.45rem;margin-top:.6rem;display:flex}.member-chip{background:var(--bg);border:1px solid var(--border);border-radius:999px;align-items:center;gap:.35rem;padding:.28rem .7rem;font-size:.88rem;display:inline-flex}.member-chip em{color:var(--muted);font-size:.78rem;font-style:normal}.group-empty{color:var(--muted);font-size:.88rem}.ungrouped-panel{background:var(--bg);border-style:dashed}.ungrouped-panel .group-name{color:var(--muted)}.student-card{flex-direction:column;gap:.7rem;padding:.85rem;display:flex}.student-top{align-items:center;gap:.7rem;min-width:0;display:flex}.student-avatar{background:var(--primary-soft);width:2.75rem;height:2.75rem;color:var(--primary-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.student-head{min-width:0}.student-name{overflow-wrap:anywhere;font-size:1.05rem;font-weight:600}.student-meta{color:var(--muted);margin-top:.1rem;font-size:.85rem}.student-foot{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.student-actions{gap:.1rem;display:flex}.back-link-wrap{width:100%}.class-picker{grid-template-columns:auto 1fr;align-items:end;gap:.75rem;margin-bottom:.5rem;padding:1rem 1.1rem;display:grid}.class-picker .field-label{white-space:nowrap;padding-bottom:.55rem}.pick-tip{margin:.25rem .1rem 0}.back-link{color:var(--muted);font-size:.88rem}.back-link:hover{color:var(--primary)}@media (width<=480px){.class-picker{grid-template-columns:1fr}}.homework-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.9rem;display:grid}.homework-card{flex-direction:column;gap:.85rem;padding:1rem 1.1rem;display:flex}.homework-card-main{flex-direction:column;gap:.3rem;min-width:0;display:flex}.homework-subject{background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;align-self:flex-start;padding:.1rem .6rem;font-size:.82rem;display:inline-flex}.homework-title{overflow-wrap:anywhere;font-size:1.15rem}.homework-meta{color:var(--muted);flex-direction:column;gap:.15rem;font-size:.85rem;display:flex}.homework-card-actions{align-items:center;gap:.3rem;display:flex}.homework-enter{flex:1}.hw-stats{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.6rem;margin-bottom:1rem;display:grid}.hw-stat{flex-direction:column;align-items:center;gap:.1rem;padding:.7rem .5rem;display:flex}.hw-stat-value{font-size:1.5rem;font-weight:700;line-height:1.15}.hw-stat-label{color:var(--muted);font-size:.85rem}.hw-stat-unsubmitted{background:var(--danger-soft)}.hw-stat-unsubmitted .hw-stat-value{color:var(--danger)}.hw-stat-to_correct{background:#fff4e6}.hw-stat-to_correct .hw-stat-value{color:#e8590c}.hw-stat-completed{background:#ebfbee}.hw-stat-completed .hw-stat-value{color:var(--ok)}.hw-stat-excellent{background:#fff9db}.hw-stat-excellent .hw-stat-value{color:#b08400}.hw-batch-bar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.8rem 1rem;display:flex}.hw-select-all{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;min-height:2.4rem;font-size:.95rem;display:inline-flex}.hw-select-all input{width:1.15rem;height:1.15rem;accent-color:var(--primary)}.hw-selected-count{color:var(--muted);font-size:.9rem}.btn-text{color:var(--primary)}.btn-text:hover{text-decoration:underline}.hw-batch-actions{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.hw-chip-action{min-height:2.6rem}.hw-student-list{overflow:hidden}.hw-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.6rem;padding:.7rem .9rem;display:flex}.hw-row:last-child{border-bottom:none}.hw-student-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.hw-student-name{overflow-wrap:anywhere;align-items:center;gap:.3rem;font-size:1.05rem;font-weight:600;display:inline-flex}.hw-attention{font-size:1rem;line-height:1}.hw-student-no{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.hw-chips{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.hw-chip{border:1px solid var(--border);background:var(--surface);white-space:nowrap;border-radius:999px;min-height:2.5rem;padding:.3rem .65rem;font-size:.88rem}.hw-chip:active{transform:translateY(1px)}.hw-status-unsubmitted{color:var(--danger)}.hw-chip-unsubmitted{border-color:#ffc9c9}.hw-chip-unsubmitted.is-current{background:var(--danger);border-color:var(--danger);color:#fff}.hw-chip-unsubmitted:not(.is-current):hover{background:var(--danger-soft)}.hw-status-to_correct{color:#e8590c}.hw-chip-to_correct{border-color:#ffd8a8}.hw-chip-to_correct.is-current{color:#fff;background:#f76707;border-color:#f76707}.hw-chip-to_correct:not(.is-current):hover{background:#fff4e6}.hw-status-completed{color:var(--ok)}.hw-chip-completed{border-color:#b2f2bb}.hw-chip-completed.is-current{background:var(--ok);border-color:var(--ok);color:#fff}.hw-chip-completed:not(.is-current):hover{background:#ebfbee}.hw-status-excellent{color:#b08400}.hw-chip-excellent{border-color:#ffe066}.hw-chip-excellent.is-current{color:#fff;background:#f59f00;border-color:#f59f00}.hw-chip-excellent:not(.is-current):hover{background:#fff9db}.hw-row-select{cursor:pointer}.hw-row-select:hover{background:var(--bg)}.hw-row-select.is-checked{background:var(--primary-soft)}.hw-checkbox{border:2px solid var(--border);background:var(--surface);color:#fff;border-radius:.35rem;flex:none;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:1rem;display:inline-flex}.hw-checkbox.is-checked{background:var(--primary);border-color:var(--primary)}.hw-status-badge{border-radius:999px;flex:none;padding:.2rem .7rem;font-size:.9rem;font-weight:600}@media (width<=640px){.hw-row{flex-direction:column;align-items:stretch;gap:.55rem;padding:.8rem .9rem}.hw-chips{justify-content:flex-start}.hw-chip{text-align:center;flex:1 1 0}.hw-row-select{flex-direction:row;align-items:center}.hw-batch-actions{width:100%;margin-left:0}.hw-batch-actions .hw-chip-action{flex:40%}}.homework-header-actions{width:100%;margin-top:.2rem}.homework-header-actions .btn{min-height:3rem;padding:.6rem 1.2rem}.homework-note{color:var(--muted);margin-top:.35rem;font-size:.85rem}.hw-header-actions-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.qr-controls{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.qr-controls .field{margin-bottom:0}.qr-status-field{flex-direction:column;justify-content:flex-end;gap:.35rem;display:flex}.qr-status-chips{flex-wrap:wrap;gap:.5rem;display:flex}.qr-status-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:5.5rem;min-height:3rem;padding:.4rem 1rem;font-size:1rem;font-weight:500}.qr-status-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.qr-scan-card{margin-bottom:1rem}.qr-scan-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.qr-big-btn{min-height:3.2rem;padding:.6rem 1.4rem;font-size:1.05rem}.qr-viewport{border-radius:var(--radius-sm);background:#0b1020;margin-top:1rem;position:relative;overflow:hidden}.qr-video{object-fit:contain;width:100%;max-height:60vh;display:block}.qr-scanning-tip{color:#fff;text-align:center;background:#00000073;padding:.4rem;font-size:.9rem;position:absolute;bottom:0;left:0;right:0}.qr-error{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);margin-top:.8rem;padding:.7rem .9rem;font-size:.95rem}.qr-message{background:var(--primary-soft);color:var(--primary-dark);border-radius:var(--radius-sm);margin-top:.8rem;padding:.6rem .9rem;font-size:.95rem}.qr-stats{flex-wrap:wrap;gap:1.5rem;margin-top:.9rem;font-size:1rem;display:flex}.qr-stats strong{color:var(--primary-dark)}.qr-scanned-list{flex-wrap:wrap;gap:.45rem;margin-top:.8rem;display:flex}.qr-scanned-chip{background:var(--ok);color:#fff}.qr-manual-list{flex-direction:column;display:flex}.qr-manual-row{border-bottom:1px solid var(--border);text-align:left;align-items:center;gap:.8rem;width:100%;min-height:3.6rem;padding:.7rem .3rem;display:flex}.qr-manual-row:hover{background:var(--bg)}.qr-manual-name{flex:none;min-width:5rem;font-size:1.05rem;font-weight:600}.qr-manual-meta{color:var(--muted);flex:auto;font-size:.85rem}.qr-manual-action{background:var(--primary-soft);color:var(--primary-dark);border-radius:999px;flex:none;padding:.5rem .9rem;font-size:.95rem;font-weight:600}@media (width<=560px){.qr-manual-row{flex-wrap:wrap}.qr-manual-action{text-align:center;width:100%}}.qr-registered{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);margin-top:.9rem;overflow:hidden}.qr-registered-head{text-align:left;justify-content:space-between;align-items:center;gap:.6rem;width:100%;min-height:3.2rem;padding:.6rem .9rem;font-size:1rem;font-weight:600;display:flex}.qr-registered-head:hover{background:var(--bg)}.qr-registered-arrow{color:var(--muted)}.qr-registered-list{border-top:1px solid var(--border)}.qr-registered-empty{color:var(--muted);padding:.9rem;font-size:.92rem}.qr-registered-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem .9rem;display:flex}.qr-registered-row:last-child{border-bottom:none}.qr-registered-main{flex-direction:column;gap:.05rem;min-width:0;display:flex}.qr-registered-name{overflow-wrap:anywhere;font-size:1.02rem;font-weight:600}.qr-registered-no{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.qr-registered-status{color:var(--primary-dark);flex:none;font-size:.95rem}@media (width<=560px){.qr-registered-row{flex-wrap:wrap}}.qr-choose{flex-direction:column;gap:1rem;display:flex}.qr-choose-student{text-align:center}.qr-choose-name{font-size:1.5rem;font-weight:700}.qr-choose-no{color:var(--muted);margin-top:.2rem;font-size:.95rem}.qr-choose-hint{text-align:center;color:var(--muted);font-size:.92rem}.qr-choose-statuses{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.qr-choose-status{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:3.6rem;font-size:1.15rem;font-weight:600}.qr-choose-status:active{transform:translateY(1px)}.qr-choose-status:hover{border-color:var(--primary);color:var(--primary-dark)}.sqr-top{flex-wrap:wrap;align-items:flex-end;gap:.7rem;margin-bottom:.8rem;padding:1rem 1.1rem;display:flex}.sqr-top .field-label{padding-bottom:.5rem}.sqr-class-select{flex:12rem;min-width:10rem}.sqr-top .btn{min-height:2.8rem}.sqr-notice{color:var(--ok);margin:0 0 .6rem;font-size:.9rem}.sqr-list{overflow:hidden}.sqr-row{border-bottom:1px solid var(--border);align-items:center;gap:.8rem;min-height:4.2rem;padding:.7rem .9rem;display:flex}.sqr-row:last-child{border-bottom:none}.sqr-preview{flex:none}.sqr-preview img{border:1px solid var(--border);border-radius:.3rem;display:block}.qr-loading{border:1px dashed var(--border);color:var(--muted);border-radius:.3rem;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.sqr-info{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.sqr-name{overflow-wrap:anywhere;font-size:1.05rem;font-weight:600}.sqr-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.sqr-single{flex-direction:column;align-items:center;gap:1rem;display:flex}.sqr-single-img{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem}.sqr-single-img img{display:block}.sqr-single-info{flex-direction:column;gap:.45rem;width:100%;display:flex}.sqr-single-info>div{align-items:baseline;gap:1rem;display:flex}.sqr-info-label{color:var(--muted);flex:0 0 3.5rem;font-size:.9rem}.qr-print-backdrop{z-index:300;background:#0f172a8c;padding:1rem;position:fixed;inset:0;overflow:auto}.qr-print-toolbar{background:var(--surface);border-radius:var(--radius);z-index:2;flex-wrap:wrap;align-items:center;gap:.8rem;max-width:60rem;margin:0 auto .8rem;padding:.8rem 1rem;display:flex;position:sticky;top:0}.qr-print-tip{color:var(--muted);flex:auto;font-size:.88rem}.qr-print-sheet{color:#000;border-radius:var(--radius);background:#fff;max-width:60rem;margin:0 auto;padding:1.2rem}.qr-print-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.qr-print-item{text-align:center;break-inside:avoid;page-break-inside:avoid;border:1px dashed #bbb;border-radius:.3rem;padding:.6rem .4rem}.qr-print-item img{width:100%;max-width:150px;height:auto;margin:0 auto;display:block}.qr-print-name{overflow-wrap:anywhere;margin-top:.3rem;font-weight:600}.qr-print-no{color:#444;overflow-wrap:anywhere;font-size:.85rem}@media (width<=560px){.qr-print-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body.qr-printing .layout{display:none!important}body.qr-printing .qr-print-backdrop{background:0 0;padding:0;position:static;inset:auto;overflow:visible}.qr-print-toolbar{display:none!important}.qr-print-sheet{max-width:none;box-shadow:none;border-radius:0;padding:0}.qr-print-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.qr-print-item{border:1px solid #999}}.rc-controls{flex-direction:column;gap:.9rem;margin-bottom:1rem;display:flex}.rc-total{color:var(--muted);margin:0;font-size:1rem}.rc-total strong{color:var(--primary-dark);font-size:1.15rem}.rc-count-row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.rc-count-row .field-label{margin:0}.rc-stepper{align-items:center;gap:.4rem;display:inline-flex}.rc-step-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);width:3rem;height:3rem;font-size:1.6rem;font-weight:700;line-height:1}.rc-step-btn:hover{border-color:var(--primary);color:var(--primary-dark)}.rc-count-input{text-align:center;width:5rem;min-height:3rem;font-size:1.2rem}.rc-count-unit{color:var(--muted);font-size:1rem}.rc-range-hint{width:100%;color:var(--muted);margin:0;font-size:.85rem}.rc-actions{flex-wrap:wrap;gap:.6rem;display:flex}.rc-big-btn{min-height:3.2rem;padding:.6rem 1.3rem;font-size:1.05rem}.rc-feedback{color:var(--ok);margin:0 0 .8rem;font-weight:600}.rc-rolling{text-align:center;padding:2rem 1rem}.rc-rolling-label{color:var(--muted);margin-bottom:.8rem}.rc-rolling-name{color:var(--primary-dark);font-size:2.6rem;font-weight:800;animation:.6s infinite alternate rc-blink}@keyframes rc-blink{0%{opacity:.45;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}.rc-results{margin-bottom:1rem}.rc-result-list{flex-direction:column;gap:.7rem;display:flex}.rc-picked{align-items:center;gap:.8rem;min-height:4.4rem;padding:.9rem 1rem;display:flex}.rc-rank{background:var(--primary-soft);width:1.9rem;height:1.9rem;color:var(--primary-dark);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.rc-picked-info{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.rc-picked-name{overflow-wrap:anywhere;font-size:1.25rem;font-weight:700}.rc-picked-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.88rem}.rc-points{font-size:.95rem}.rc-points.is-negative{color:var(--danger);font-weight:600}.rc-point-actions{flex:none;gap:.5rem;display:flex}.rc-point-btn{border-radius:var(--radius-sm);color:#fff;min-width:4rem;min-height:3.2rem;padding:.5rem .9rem;font-size:1.15rem;font-weight:700}.rc-plus{background:var(--ok)}.rc-plus:hover{background:#2b8a3e}.rc-minus{background:var(--danger)}.rc-minus:hover{background:#c92a2a}@media (width<=560px){.rc-picked{flex-wrap:wrap}.rc-point-actions{justify-content:flex-end;width:100%}.rc-point-btn{flex:40%}}.rw-search{flex:12rem;min-width:9rem}.rw-batch-panel{margin-bottom:1rem}.rw-batch-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.4rem;display:flex}.rw-batch-row .select{flex:14rem}.rw-message{color:var(--ok);margin:0 0 .8rem;font-weight:600}.rw-student-list{overflow:hidden}.rw-row{border-bottom:1px solid var(--border);text-align:left;background:var(--surface);align-items:center;gap:.7rem;width:100%;min-height:3.8rem;padding:.7rem .9rem;display:flex}.rw-row:last-child{border-bottom:none}.rw-row-btn:hover{background:var(--bg)}.rw-row-btn.is-active,.rw-row.is-checked{background:var(--primary-soft)}.rw-name{overflow-wrap:anywhere;flex:none;min-width:4.5rem;font-size:1.05rem;font-weight:600}.rw-meta{color:var(--muted);overflow-wrap:anywhere;flex:auto;font-size:.85rem}.rw-arrow{color:var(--muted);flex:none}.rw-student-detail{margin-top:1rem}.rw-reward-list{flex-direction:column;gap:.6rem;display:flex}.rw-reward{flex-wrap:wrap;align-items:center;gap:.8rem;padding:.8rem 1rem;display:flex}.rw-reward-info{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.rw-reward-name{font-size:1.05rem;font-weight:600}.rw-reward-cost{color:var(--primary-dark);font-weight:600}.rw-reward-desc{color:var(--muted);font-size:.85rem}.rw-redeem-btn{flex:none;min-width:5rem;min-height:3rem}.rw-insufficient{color:var(--muted);background:#f1f3f5;border-radius:999px;flex:none;padding:.5rem 1rem;font-size:.95rem}.rw-confirm-list{flex-direction:column;gap:.3rem;margin:0 0 .8rem;padding:0;list-style:none;display:flex}.rw-confirm-list li{justify-content:space-between;gap:.8rem;font-size:.95rem;display:flex}.rw-ok{color:var(--ok)}.rw-bad{color:var(--danger)}.rw-history-block{margin-top:.5rem}.rw-history-list{overflow:hidden}.rw-history-row{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.rw-history-row:last-child{border-bottom:none}.rw-history-main{flex:auto;min-width:0}.rw-history-top{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.98rem;display:flex}.rw-history-name{font-weight:600}.rw-history-cost{color:var(--danger);font-weight:600}@media (width<=560px){.rw-row,.rw-reward{flex-wrap:wrap}}.rw-reward-img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:4.5rem;height:4.5rem}.rw-student-item{width:100%}.rw-student-item .rw-row{border-bottom:1px solid var(--border)}.rw-student-item:last-child .rw-row{border-bottom:none}.rw-student-detail-inline{border-top:1px solid var(--border);background:var(--bg);border-radius:0;margin:0}.grd-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.7rem;margin-bottom:.8rem;padding:1rem 1.1rem;display:flex}.grd-toolbar .field{flex:12rem;margin-bottom:0}.grd-notice{color:var(--ok);margin:0 0 .7rem;font-weight:600}.grd-upload{margin-bottom:1rem}.grd-upload-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.grd-file-btn{cursor:pointer}.grd-stats{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;margin-bottom:1rem;display:grid}.grd-stat{flex-direction:column;align-items:center;gap:.1rem;padding:.7rem .5rem;display:flex}.grd-stat b{font-size:1.5rem}.grd-stat span{color:var(--muted);font-size:.85rem}.grd-list-card{margin-bottom:1rem}.grd-table-wrap{overflow-x:auto}.grd-table{border-collapse:collapse;width:100%;min-width:42rem;font-size:.95rem}.grd-table th,.grd-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.55rem .6rem}.grd-table th{color:var(--muted);background:var(--bg);font-size:.88rem;font-weight:600}.grd-name-btn{color:var(--primary-dark);font-weight:600}.grd-name-btn:hover{text-decoration:underline}.grd-score{font-weight:700}.grd-up{color:var(--ok);font-weight:600}.grd-down{color:var(--danger);font-weight:600}.grd-mini{min-height:2.2rem;margin-right:.3rem;padding:.2rem .55rem;font-size:.85rem}.grd-preview-modal{max-width:40rem}.grd-history-list{flex-direction:column;display:flex}.grd-history-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.55rem 0;display:flex}.grd-history-row:last-child{border-bottom:none}.grd-history-name{font-weight:600}.grd-history-time{color:var(--muted);font-size:.8rem}.grd-history-right{align-items:baseline;gap:.6rem;display:flex}.grd-history-right b{font-size:1.15rem}.grd-list-head{flex-wrap:wrap;align-items:center;gap:.6rem .9rem;margin-bottom:.7rem;display:flex}.grd-list-head .section-title{margin-bottom:0}.grd-sort-field{flex-direction:row;align-items:center;gap:.4rem;margin:0 0 0 auto;display:flex}.grd-sort-field .field-label{white-space:nowrap}.grd-sort-select{width:auto;min-width:8.5rem}.grd-rank{color:var(--muted);min-width:2.4rem;font-weight:600}@media (width<=640px){.grd-sort-field{width:100%;margin-left:0}.grd-sort-select{flex:auto}}.grd-export-modal{max-width:30rem}.grd-export-form{grid-template-columns:1fr 1fr;gap:.4rem .9rem;display:grid}.grd-export-form .field{margin-bottom:0}.grd-export-students{grid-column:1/-1}.grd-student-search{min-height:2.4rem}.grd-student-toolbar{align-items:center;gap:.6rem;margin:.4rem 0 .35rem;display:flex}.grd-student-toolbar .grd-mini{margin:0}.grd-student-count{color:var(--muted);font-size:.85rem}.grd-student-check-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-height:13rem;overflow-y:auto}.grd-student-check{cursor:pointer;border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.42rem .6rem;display:flex}.grd-student-check:last-child{border-bottom:none}.grd-student-check:hover{background:var(--bg)}.grd-student-check.is-checked{background:#4c6ef514}.grd-student-check input{cursor:pointer;flex:none;width:1rem;height:1rem;margin:0}.grd-student-check-name{font-weight:600}.grd-student-check-no{color:var(--muted);margin-left:auto;font-size:.85rem}.grd-student-empty{color:var(--muted);margin:0;padding:.6rem;font-size:.85rem}.grd-export-students>.grd-mini{margin-top:.4rem}.grd-export-dates{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:.4rem .9rem;display:grid}.grd-group-head-tr td{background:var(--bg);padding:0}.grd-group-head{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .6rem;font-size:.95rem;display:flex}.grd-group-head:hover{color:var(--primary-dark)}.grd-group-name{white-space:nowrap;font-weight:700}.grd-group-meta{color:var(--muted);white-space:nowrap;font-size:.85rem}.grd-group-arrow{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.85rem}.grd-item-field,.grd-item-search{position:relative}.grd-item-search-btn{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.5rem;width:100%;display:flex}.grd-item-search-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grd-item-search-arrow{color:var(--muted);flex:none;font-size:.75rem}.grd-item-search-panel{z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:.4rem;position:absolute;top:calc(100% + .35rem);left:0;right:0}.grd-item-search-input{min-height:2.4rem}.grd-item-search-list{max-height:14rem;margin-top:.35rem;overflow-y:auto}.grd-item-search-option{text-align:left;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;width:100%;padding:.45rem .5rem;font-size:.95rem;display:block}.grd-item-search-option:hover{background:var(--bg)}.grd-item-search-option.is-active{color:var(--primary-dark);background:#4c6ef51a;font-weight:600}.grd-item-search-empty{color:var(--muted);padding:.5rem .4rem;font-size:.9rem}.grd-new-wrap{align-items:center;gap:.5rem;display:inline-flex}.grd-shortcut-hint{color:var(--muted);white-space:nowrap;font-size:.82rem}.pts-tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);gap:.5rem;width:fit-content;max-width:100%;margin:.9rem 0 1rem;padding:.35rem;display:flex;overflow-x:auto}.pts-tab{border-radius:calc(var(--radius-sm) - .15rem);white-space:nowrap;min-height:2.6rem;color:var(--muted);padding:.4rem 1.1rem;font-size:.98rem}.pts-tab.is-active{background:var(--primary);color:#fff;font-weight:600}.pts-student-list{overflow:hidden}.pts-row{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;min-height:3.9rem;padding:.7rem .9rem;display:flex}.pts-row:last-child{border-bottom:none}.pts-info{flex-direction:column;flex:auto;gap:.1rem;min-width:0;display:flex}.pts-name{overflow-wrap:anywhere;font-size:1.08rem;font-weight:600}.pts-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.82rem}.pts-points{flex:none;font-size:1.25rem;font-weight:700}.pts-points.is-negative{color:var(--danger)}.pts-actions{flex:none;gap:.5rem;display:flex}.pts-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:3rem;height:3rem;font-size:1.6rem;font-weight:700;line-height:1}.pts-btn-plus{background:var(--ok);border-color:var(--ok);color:#fff}.pts-btn-plus:hover{background:#2b8a3e}.pts-btn-minus{background:var(--danger);border-color:var(--danger);color:#fff}.pts-btn-minus:hover{background:#c92a2a}.pts-row-select{cursor:pointer}.pts-row-select:hover{background:var(--bg)}.pts-row-select.is-checked{background:var(--primary-soft)}.pts-batch-panel{margin-bottom:1rem}.pts-batch-title{margin-bottom:.6rem;font-size:.95rem;font-weight:600}.pts-batch-amounts{flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;display:flex}.pts-batch-reasons{flex-wrap:wrap;gap:.5rem;margin-bottom:.7rem;display:flex}.pts-batch-custom{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.pts-batch-custom .input{flex:14rem;min-width:10rem}.pts-custom-reason{margin-top:.7rem}.pts-modal-label{color:var(--muted);margin:.2rem 0 .5rem;font-size:.85rem;font-weight:600}.pts-history-block{margin-top:1rem}.pts-history-current{margin:.6rem 0 .8rem;font-size:1.02rem}.pts-history-current strong{color:var(--primary-dark)}.pts-history-list{overflow:hidden}.pts-history-row{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.7rem .9rem;display:flex}.pts-history-row:last-child{border-bottom:none}.pts-history-main{flex:auto;min-width:0}.pts-history-top{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pts-delta{font-size:1.1rem;font-weight:700}.pts-delta.is-plus{color:var(--ok)}.pts-delta.is-minus{color:var(--danger)}.pts-reason{overflow-wrap:anywhere;font-size:.98rem}.pts-time{color:var(--muted);margin-top:.15rem;font-size:.8rem}.badge-reversed{color:var(--muted);background:#f1f3f5}.btn-danger-soft{background:var(--danger-soft);color:var(--danger);border-color:#0000}.btn-danger-soft:hover{background:#ffe3e3}.pts-undo{min-height:2.6rem}.pts-ranking-block{margin-top:1rem}.pts-range-label{font-size:.95rem;font-weight:600}.pts-custom-range{flex-wrap:wrap;gap:1rem;margin-bottom:.8rem;padding:.9rem 1rem;display:flex}.pts-custom-range .field{flex:12rem;margin-bottom:0}.pts-range-note{color:var(--muted);margin:0 0 .8rem;font-size:.88rem}.pts-ranking-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.pts-ranking-title{margin-bottom:.7rem;font-size:1.05rem}.pts-rank-list{flex-direction:column;display:flex}.pts-rank-row{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;min-height:3.1rem;padding:.5rem .1rem;display:flex}.pts-rank-row:last-child{border-bottom:none}.pts-rank-no{background:var(--bg);width:1.8rem;height:1.8rem;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.pts-rank-row:first-child .pts-rank-no{color:#6f5400;background:#ffe066}.pts-rank-row:nth-child(2) .pts-rank-no{color:#495057;background:#e9ecef}.pts-rank-row:nth-child(3) .pts-rank-no{color:#9c4a00;background:#ffd8a8}.pts-rank-info{flex-direction:column;flex:auto;gap:.05rem;min-width:0;display:flex}.pts-rank-name{overflow-wrap:anywhere;font-weight:600}.pts-rank-meta{color:var(--muted);font-size:.8rem}.pts-rank-points{flex:none;font-weight:700}.pts-rank-points.is-negative{color:var(--danger)}@media (width<=560px){.pts-row{flex-wrap:wrap}.pts-actions{margin-left:auto}.pts-points{font-size:1.15rem}}.pts-history-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.8rem;margin-bottom:.9rem;display:grid}.pts-history-controls .field{margin-bottom:0}.pts-history-controls .input{min-height:2.7rem}.pts-student-history-list{flex-direction:column;gap:.7rem;display:flex}.pts-student-history{overflow:hidden}.pts-student-toggle{text-align:left;background:var(--surface);align-items:center;gap:.8rem;width:100%;min-height:3.6rem;padding:.7rem 1rem;display:flex}.pts-student-toggle:hover{background:var(--bg)}.pts-student-toggle-main{flex-direction:column;flex:auto;gap:.05rem;min-width:0;display:flex}.pts-student-name{overflow-wrap:anywhere;font-size:1.05rem;font-weight:600}.pts-student-no{color:var(--muted);font-size:.82rem}.pts-arrow{color:var(--muted);flex:none;font-size:1rem}.pts-history-list{border-top:1px solid var(--border)}.pts-history-empty{color:var(--muted);padding:1rem;font-size:.92rem}@media (width<=560px){.pts-history-controls{grid-template-columns:1fr}.pts-history-row{flex-wrap:wrap}}.pts-reason-hint{color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.pts-value-custom{margin-bottom:.7rem}.pts-value-custom .field-label{margin-bottom:.3rem;display:block}.pts-value-custom .input{min-height:2.7rem}.pts-direction-label{color:var(--primary-dark);margin-bottom:.5rem;font-weight:700}.pts-batch-direction{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.pts-batch-direction .field-label{margin:0}.settings-block{margin-bottom:1rem}.zoom-options{flex-wrap:wrap;gap:.6rem;display:flex}.zoom-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-width:4.2rem;min-height:3rem;padding:.4rem .9rem;font-size:1rem;font-weight:500}.zoom-option.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.current-scale{color:var(--muted);margin-top:.9rem;font-size:.9rem}.about-list{flex-direction:column;display:flex}.about-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.95rem;display:flex}.about-list li:last-child{border-bottom:none}.about-list li span:first-child{color:var(--muted);flex:none}.about-list li span:last-child{text-align:right}.subject-manage-form{gap:.6rem;margin-bottom:.6rem;display:flex}.subject-manage-form .input{flex:1}.subject-list{flex-direction:column;display:flex}.subject-item{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;min-height:3.2rem;padding:.5rem .1rem;display:flex}.subject-item:last-child{border-bottom:none}.subject-item-order{color:var(--muted);flex:none;width:1.6rem;font-size:.85rem}.subject-item-name{overflow-wrap:anywhere;flex:auto;font-weight:500}.subject-item-actions{gap:.1rem;display:flex}.subject-empty{color:var(--muted);margin:.4rem 0 0;font-size:.9rem}@media (width<=480px){.subject-manage-form{flex-direction:column}}.rule-list{flex-direction:column;gap:.5rem;margin-bottom:.9rem;display:flex}.rule-row{align-items:center;gap:.8rem;display:flex}.rule-label{flex:0 0 5rem;font-weight:500}.rule-input-wrap{align-items:center;gap:.4rem;display:flex}.rule-input{text-align:right;width:6.5rem}.rule-unit{color:var(--muted);font-size:.9rem}.rule-actions{flex-wrap:wrap;gap:.6rem;display:flex}@media (width<=480px){.rule-row{flex-wrap:wrap}}.rule-hint{color:var(--muted);margin:0 0 .7rem;font-size:.82rem}.reward-add{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.reward-add .input{flex:10rem;min-width:8rem}.reward-cost-input{max-width:7.5rem}.reward-desc-input{flex:2 14rem}.reward-enabled-label{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.3rem;min-height:2.6rem;font-size:.95rem;display:inline-flex}.reward-list{flex-direction:column;display:flex}.reward-item{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.55rem .1rem;display:flex}.reward-item-name{overflow-wrap:anywhere;font-weight:600}.reward-item-cost{color:var(--primary-dark);white-space:nowrap;font-weight:600}.reward-item-desc{color:var(--muted);flex:100%;font-size:.85rem}.reward-item-actions{align-items:center;gap:.3rem;margin-left:auto;display:flex}.reward-item-img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:2.4rem;height:2.4rem}.reward-image-field{flex-direction:column;gap:.4rem;margin:.4rem 0 .8rem;display:flex}.reward-image-box{display:flex}.reward-image-preview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:6rem;height:6rem}.reward-image-empty{color:var(--muted);padding:.4rem 0;font-size:.88rem}.reward-image-actions{align-items:center;gap:.6rem;display:flex}.reward-file-btn{cursor:pointer}.reward-image-inline{flex:none;align-items:center;gap:.4rem;display:flex}.reward-image-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:2.75rem;height:2.75rem}.reward-image-inline-actions{align-items:center;gap:.3rem;display:flex}.reward-small-btn{min-height:2.3rem;padding:.25rem .55rem;font-size:.88rem}@media (width<=560px){.reward-add .input{min-width:0}.reward-add{align-items:center}}.reward-grid{grid-template-columns:7rem minmax(5rem,1fr) 5.5rem minmax(7rem,1.4fr) 11.5rem;align-items:center;gap:.5rem .6rem;display:grid}.reward-add.reward-grid{margin:0 0 .6rem}.reward-add.reward-grid .input{width:100%;min-width:0}.reward-item.reward-grid{border-bottom:1px solid var(--border);padding:.55rem 0}.rw-col-img{align-items:center;min-width:0;display:flex}.rw-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:2.75rem;height:2.75rem}.rw-thumb-wrap{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.rw-thumb-actions{flex-wrap:wrap;gap:.25rem;display:flex}.rw-mini{min-height:2rem;padding:.15rem .45rem;font-size:.8rem}.rw-col-name{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:flex}.rw-name-text{overflow-wrap:anywhere;font-weight:600}.rw-cost-text{color:var(--primary-dark);white-space:nowrap;font-weight:600}.rw-desc-text{color:var(--muted);overflow-wrap:anywhere;font-size:.9rem;display:block}.rw-col-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.3rem;display:flex}.rw-act-btn{white-space:nowrap;min-height:2.2rem;padding:.2rem .55rem;font-size:.85rem}.rw-add-actions{justify-content:flex-end}@media (width<=760px){.reward-grid{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.reward-add.reward-grid{margin-bottom:.6rem}.reward-item.reward-grid{border-bottom:1px solid var(--border);padding:.6rem 0}.rw-col-actions{justify-content:flex-start}.rw-thumb-wrap{flex-direction:row;align-items:center}}.reward-item{border-bottom:1px solid var(--border);align-items:center;gap:.8rem;padding:.7rem .2rem;display:flex}.reward-item:last-child{border-bottom:none}.ri-status{text-align:center;white-space:nowrap;border-radius:999px;flex:none;min-width:3.4rem;padding:.18rem .5rem;font-size:.82rem}.ri-status.is-on{background:var(--primary);color:#fff;font-weight:600}.ri-status.is-off{color:var(--muted);background:#f1f3f5}.ri-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:2.75rem;height:2.75rem}.ri-info{flex-direction:column;flex:auto;align-self:center;gap:.15rem;min-width:0;display:flex}.ri-title-line{flex-wrap:wrap;align-items:baseline;gap:.6rem;display:flex}.ri-name{overflow-wrap:anywhere;font-size:1.02rem;font-weight:600}.ri-cost{color:var(--primary-dark);white-space:nowrap;font-size:1rem;font-weight:700}.ri-desc{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.ri-actions{flex:none;align-self:center;align-items:center;gap:.3rem;margin-left:auto;display:flex}.reward-add-image{flex:none;align-items:center;gap:.4rem;display:inline-flex}.reward-add-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);flex:none;width:2.4rem;height:2.4rem}@media (width<=760px){.reward-item{flex-wrap:wrap;gap:.5rem .6rem}.ri-status{min-width:2.8rem}.ri-actions{margin-left:auto}.reward-add-image{flex-wrap:wrap}}.rc-delta-row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.rc-delta-row .rule-label{margin:0}.rc-delta-row .btn{min-height:2.8rem}.data-type-card{margin-top:1rem}.data-type-list{border-top:1px solid var(--border);flex-direction:column;display:flex}.data-type-row{border-bottom:1px solid var(--border);align-items:center;gap:1rem;padding:.75rem 0;display:flex}.data-type-main{flex:auto;min-width:0}.data-type-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.data-type-title span{color:var(--muted);font-size:.82rem}.data-type-main p{color:var(--muted);margin-top:.15rem;font-size:.84rem;line-height:1.4}.data-type-actions{flex:none;align-items:center;gap:.5rem;display:flex}.cloud-reset-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.9rem;display:flex}.cloud-connection-status{color:var(--primary-dark)!important}.cloud-reset-panel h3{margin-bottom:.2rem;font-size:1rem}.cloud-reset-panel p{color:var(--muted);font-size:.84rem;line-height:1.45}.data-type-clear-note{color:var(--muted);margin-top:.7rem;font-size:.88rem;line-height:1.5}@media (width<=640px){.data-type-row{flex-direction:column;align-items:stretch;gap:.55rem}.data-type-actions{width:100%}.data-type-actions .btn{flex:1 1 0}.cloud-reset-panel{flex-direction:column;align-items:stretch}.cloud-reset-panel .btn{width:100%}}.data-notice{color:var(--ok);margin:0 0 .7rem;font-weight:600}.data-stat-grid{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.6rem;display:grid}.data-stat{flex-direction:column;align-items:center;gap:.1rem;padding:.7rem .5rem;display:flex}.data-stat b{font-size:1.4rem}.data-stat span{color:var(--muted);font-size:.85rem}.data-actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.4rem;display:flex}.data-tip{margin-bottom:0}.data-preview-list{border:1px solid var(--border);border-radius:var(--radius-sm);max-height:16rem;margin:.6rem 0;padding:.2rem .7rem;overflow-y:auto}.data-preview-row{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.92rem;display:flex}.data-preview-row:last-child{border-bottom:none}.data-server-field{flex:18rem;margin-bottom:0}.sync-status-row{align-items:flex-start;gap:.6rem;padding:.5rem 0 .7rem;display:flex}.sync-dot{background:var(--muted);border-radius:50%;flex:none;width:.75rem;height:.75rem;margin-top:.25rem}.sync-dot-synced{background:var(--ok)}.sync-dot-connecting{background:#f5a623}.sync-dot-error{background:var(--danger)}.sync-status-main{flex:auto;min-width:0}.sync-space-name{font-size:1.05rem;font-weight:700}.sync-meta{color:var(--muted);word-break:break-all;margin-top:.15rem;font-size:.9rem}code{background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-size:.9em}.data-preview-row span{color:var(--muted)}@media (width<=560px){.data-stat-grid{grid-template-columns:repeat(3,1fr)}}.data-migrate-card{border-color:var(--primary)}.data-migrate-steps{flex-direction:column;gap:.35rem;margin:.4rem 0 .6rem;padding-left:1.2rem;display:flex}.data-migrate-steps li{color:var(--text);line-height:1.55}.data-recover-cloud{flex-direction:column;gap:.6rem;margin-top:.8rem;display:flex}.data-remote-list{flex-direction:column;gap:.5rem;display:flex}.data-remote-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;align-items:center;gap:.7rem;padding:.55rem .7rem;display:flex}.data-remote-count{color:var(--muted);flex:auto;min-width:0;font-size:.85rem}.data-remote-row .btn{flex:none}.data-lan-row{flex-wrap:wrap;align-items:flex-start;gap:1rem;display:flex}.data-lan-qr{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;width:200px;height:200px}.data-lan-info{flex-direction:column;flex:260px;gap:.35rem;min-width:0;display:flex}.data-lan-primary{color:var(--primary-dark);word-break:break-all;font-size:1.02rem;font-weight:700}.data-lan-list{flex-direction:column;gap:.2rem;margin:0;padding:0;list-style:none;display:flex}.data-lan-list a{color:var(--primary-dark);word-break:break-all}.data-portable-note{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;margin-top:.6rem;padding-top:.6rem;display:flex}.seat-notice{color:var(--ok);margin:0 0 .7rem;font-weight:600}.seat-toolbar{flex-wrap:wrap;align-items:flex-end;gap:.8rem 1rem;margin-bottom:.8rem;padding:1rem 1.1rem;display:flex}.seat-toolbar .field{margin-bottom:0}.seat-toolbar .field:first-child{flex:12rem}.seat-chips{flex-wrap:wrap;gap:.4rem;display:flex}.seat-delta-row{align-items:center;gap:.4rem;display:flex}.seat-delta-input{width:5rem}.seat-layout-card{margin-bottom:1rem}.seat-layout-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.seat-dim-hint{color:var(--muted);margin-left:auto;font-size:.9rem}.seat-grid{gap:.5rem;display:grid}.seat-cell{border-radius:var(--radius-sm);border:1px dashed var(--border);background:var(--bg);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-height:4.6rem;padding:.4rem;font-size:.9rem;display:flex;overflow:hidden}.seat-no{color:var(--muted);align-self:flex-start;font-size:.72rem}.seat-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.seat-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;overflow:hidden}.seat-ops-list{flex-direction:column;gap:.5rem;display:flex}.seat-ops{align-items:center;gap:.6rem;padding:.6rem .8rem;display:flex}.seat-ops-main{flex:auto;min-width:0}.seat-ops-name{font-weight:700}.seat-ops-meta{color:var(--muted);font-size:.85rem}.seat-ops-points{font-size:.9rem;font-weight:600}.seat-ops-btns{flex:none;gap:.4rem;display:flex}.seat-rank{margin-bottom:1rem}.seat-rank .seat-chips{margin-bottom:.6rem}.seat-rank-dates{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.seat-rank-dates input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:.35rem .5rem}.seat-rank-list{margin:0;padding:0;list-style:none}.seat-rank-list li{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;padding:.45rem .2rem;display:flex}.seat-rank-list li:last-child{border-bottom:none}.seat-rank-no{background:var(--bg);width:1.8rem;height:1.8rem;color:var(--muted);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.seat-rank-name{flex:auto}.seat-rank-points{font-weight:700}.seat-batch-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.seat-batch-delta{width:6rem}.seat-batch-count{color:var(--muted);font-size:.9rem}.seat-batch-list{max-height:16rem;overflow-y:auto}.seat-batch-row{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.seat-batch-row:hover{background:var(--bg)}.seat-batch-row.is-checked{background:#4c6ef514}.seat-batch-name{font-weight:600}.seat-batch-no{color:var(--muted);margin-left:auto;font-size:.85rem}.seat-pick-info{margin-bottom:.7rem}.seat-pick-list{max-height:16rem;margin-top:.6rem;overflow-y:auto}.seat-pick-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:.6rem;width:100%;padding:.5rem .4rem;font-size:.95rem;display:flex}.seat-pick-item:hover{background:var(--bg)}.seat-pick-item:last-child{border-bottom:none}.seat-history{max-height:20rem;overflow-y:auto}.seat-history-row{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;padding:.5rem 0;display:flex}.seat-history-row:last-child{border-bottom:none}.seat-history-main{flex-wrap:wrap;flex:auto;align-items:center;gap:.6rem;min-width:0;display:flex}.seat-history-reason{color:var(--muted)}.seat-up{color:var(--ok);font-weight:700}.seat-down{color:var(--danger);font-weight:700}.sync-meta{color:var(--muted);font-size:.85rem}.seat-tip{color:var(--muted);margin:0 0 .7rem;font-size:.85rem}.seat-cell-ops{gap:.2rem;margin-top:.15rem;display:flex}.seat-ops-btns-sm .btn{min-height:1.7rem;padding:.05rem .4rem;font-size:.8rem}.seat-ops-btns .btn{min-height:2.2rem;padding:.2rem .55rem;font-size:.85rem}.seat-table{border-collapse:collapse;width:100%;min-width:40rem;font-size:.95rem}.seat-table th,.seat-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:.55rem .6rem}.seat-table th{color:var(--muted);background:var(--bg);font-size:.88rem;font-weight:600}.seat-table-points{font-weight:700}.seat-batch-subject{max-width:9rem}.seat-batch-reason{flex:10rem;min-width:8rem}.seat-modal-score{flex-direction:column;gap:.4rem;margin:.6rem 0;display:flex}.seat-modal-delta{max-width:8rem}.seat-list-card{margin-bottom:1rem}.seat-name{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;word-wrap:normal;writing-mode:horizontal-tb;width:100%;max-width:100%;display:block;overflow:hidden}.seat-cell{min-width:0}.seat-cell .seat-sub,.seat-cell .seat-points{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}@media (width<=640px){.seat-cell{gap:.05rem;min-height:3.6rem;padding:.25rem}.seat-name{font-size:.8rem}}.seat-dim-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.7rem;display:flex}.seat-dim-label{font-size:.9rem;font-weight:600}.seat-dim-sep{color:var(--muted);margin:0 .2rem}.seat-dim-input{text-align:center;width:4rem;min-height:2.4rem}.seat-dim-row .btn{min-height:2.4rem;padding:.2rem .6rem}.seat-dim-hint{color:var(--muted);font-size:.9rem}.seat-group{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-bottom:.6rem;overflow:hidden}.seat-group-head{text-align:left;background:var(--bg);cursor:pointer;border:none;align-items:center;gap:.5rem;width:100%;padding:.6rem .7rem;font-size:.95rem;display:flex}.seat-group-head:hover{color:var(--primary-dark)}.seat-group-arrow{color:var(--muted);font-size:.8rem}.seat-group-name{font-weight:700}.seat-group-meta{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.85rem}.seat-group .grd-table-wrap{border-top:1px solid var(--border)}.seat-student-panel{flex-direction:column;gap:.9rem;display:flex}.seat-panel-info{background:var(--bg);border-radius:var(--radius-sm);flex-direction:column;gap:.25rem;padding:.7rem .8rem;display:flex}.seat-panel-name{font-size:1.1rem}.seat-info-line{color:var(--muted);font-size:.92rem}.seat-panel-title{margin-bottom:.4rem;font-weight:700}.seat-panel-actions{gap:.6rem;display:flex}.seat-panel-actions .btn{flex:1 1 0;min-height:2.9rem;font-size:1.05rem}.seat-panel-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:.6rem;padding-top:.8rem;display:flex}.seat-picker-modal{max-width:34rem}.seat-student-modal{max-width:32rem}.seat-picker-modal .seat-pick-list{max-height:18rem}.seat-pick-item{white-space:normal;align-items:center;gap:.8rem;width:100%;display:flex}.seat-pick-item>span:first-child{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;writing-mode:horizontal-tb;flex:0 auto;min-width:4.5rem;font-weight:600;overflow:hidden}.seat-pick-item>span:last-child{text-align:right;white-space:normal;flex:auto;min-width:0}.seat-pick-item>span:last-child:before{content:none}.seat-panel-name{white-space:nowrap;text-overflow:ellipsis;word-break:keep-all;writing-mode:horizontal-tb;width:100%;display:block;overflow:hidden}@media (width<=560px){.seat-picker-modal,.seat-student-modal{max-width:calc(100vw - 1.5rem)}.seat-pick-item{flex-wrap:wrap;row-gap:.15rem}.seat-pick-item>span:last-child{text-align:left}.seat-cell{min-height:4rem}.seat-ops{flex-wrap:wrap}}.seat-grid-scroll{--seat-min:128px;scrollbar-width:thin;padding:.15rem .1rem;overflow-x:auto}.seat-grid{grid-template-columns:repeat(var(--seat-cols,8), minmax(var(--seat-min,128px), 1fr));align-items:stretch;gap:.55rem;width:100%;display:grid}.seat-cell{text-align:center;justify-content:flex-start;align-items:stretch;min-height:7rem;padding:.45rem .5rem}.seat-cell .seat-no{text-align:left;align-self:flex-start}.seat-cell .seat-cell-ops{justify-content:center;margin-top:auto}.seat-cell-group{color:var(--muted)}@media (width>=901px) and (width<=1240px){.seat-grid-scroll{--seat-min:116px}}@media (width<=700px){.seat-grid-scroll{--seat-min:104px}.seat-grid{gap:.4rem}.seat-cell{min-height:6.2rem;padding:.3rem .35rem}.seat-cell .seat-name{font-size:.88rem}.seat-cell .seat-ops-btns .btn{min-height:1.7rem;padding:.05rem .3rem;font-size:.78rem}}.seat-grid{grid-auto-rows:auto}.seat-cell{aspect-ratio:1;flex-direction:column;justify-content:flex-start;align-items:center;gap:.1rem;height:auto;min-height:0;padding:.4rem .45rem;display:flex;overflow:hidden}.seat-cell .seat-no{line-height:1}.seat-cell .seat-name{margin:.1rem 0 .05rem;font-size:.95rem;line-height:1.2}.seat-cell .seat-sub{font-size:.72rem;line-height:1.15}.seat-cell .seat-cell-ops{margin-top:auto;padding-top:.1rem}@media (width<=700px){.seat-cell{padding:.25rem .3rem}.seat-cell .seat-name{font-size:.82rem}.seat-cell .seat-sub{font-size:.66rem}.seat-cell .seat-ops-btns .btn{min-height:1.6rem;padding:.04rem .26rem;font-size:.72rem}}.classroom-layout{padding:.2rem 0}.teacher-platform{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:min(300px,58%);min-height:2.4rem;box-shadow:var(--shadow-sm);color:var(--muted);justify-content:center;align-items:center;gap:.4rem;margin:0 auto .8rem;font-size:.95rem;display:flex}.platform-icon{font-size:1.15rem}.classroom-main{align-items:stretch;gap:.6rem;display:flex}.classroom-main .seat-grid-scroll{flex:auto;min-width:0}.classroom-doors{flex-direction:column;flex:0 0 2.6rem;justify-content:space-between;gap:.4rem;display:flex}.door{min-height:3rem;color:var(--muted);border:1px dashed var(--border);border-radius:var(--radius-sm);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:.1rem;font-size:.72rem;display:flex}.door-icon{font-size:1.2rem;line-height:1}@media (width<=700px){.classroom-doors{flex-basis:2.2rem}.door{min-height:2.4rem;font-size:.66rem}.door-icon{font-size:1rem}}.seating-content{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1rem;display:grid}.seating-main{min-width:0}.seating-sidebar{flex-direction:column;gap:1rem;min-width:0;display:flex}.seating-sidebar .section-card{width:100%}.seating-sidebar .seat-dim-row{margin-bottom:0}.seating-sidebar .seat-ops-list{max-height:24rem;overflow-y:auto}@media (width<=980px){.seating-content{grid-template-columns:1fr}}.seat-grid{grid-template-columns:repeat(var(--seat-cols,8), minmax(0, 1fr))}.seat-grid.is-wide{grid-template-columns:repeat(var(--seat-cols,8), minmax(var(--seat-min,128px), 1fr))}.seat-cell .seat-ops-btns .btn{padding:.05rem .2rem;font-size:.74rem}@media (width<=700px){.seat-grid,.seat-grid.is-wide{grid-template-columns:repeat(var(--seat-cols,8), minmax(var(--seat-min,104px), 1fr))}}.seat-settings{flex-direction:column;gap:.6rem;display:flex}.seat-dim-field{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.seat-stepper{align-items:center;gap:.35rem;display:inline-flex}.seat-stepper .seat-dim-input{text-align:center;width:3.6rem}.seat-stepper .btn{width:2.2rem;min-height:2.2rem;padding:0}.seat-apply{width:100%}.seat-dim-hint{color:var(--muted);text-align:center;font-size:.85rem}.seat-grid-scroll{justify-content:center;align-items:flex-start;display:flex;overflow:hidden}.seat-grid{width:auto!important;margin:0!important}.seat-cell{font-size:calc(var(--seat-size,70px) * .15);line-height:1.2}.seat-cell .seat-name{font-size:1.05em}.seat-cell .seat-ops-btns{gap:.08em}.seat-cell .seat-ops-btns .btn{min-height:1.5em;padding:.02em .18em;font-size:.9em}.seat-grid{gap:5px!important}.seat-cell{font-size:.82rem}.seat-cell .seat-name{font-size:1.02em;line-height:1.2}.seat-cell .seat-sub{font-size:.78em}.seat-cell .seat-ops-btns .btn{font-size:1.05rem!important}.seat-big-btn{min-width:2rem;min-height:2rem;padding:.1rem .3rem!important}.seat-cell .seat-cell-ops{gap:.25rem}.seat-unassigned-card{margin-top:1rem}.seat-unassigned-toggle{background:var(--bg);border-radius:var(--radius-sm)}.seat-grid-scroll{display:block!important;overflow:auto visible!important}.seat-grid-scroll .seat-grid{margin:0 auto}@media (width<=700px){.seat-cell{font-size:.72rem}.seat-cell .seat-name{font-size:.98em}.seat-big-btn{min-width:1.8rem;min-height:1.8rem}}.seat-grid-scroll{justify-content:center;align-items:flex-start;padding:.1rem 0;display:flex!important;overflow:hidden!important}.seat-grid{place-items:stretch stretch;gap:5px;display:grid;width:auto!important;margin:0 auto!important}.seat-cell{box-sizing:border-box;border-radius:var(--radius-sm);border:1px dashed var(--border);background:var(--bg);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;width:100%;min-width:0;height:100%;min-height:0;padding:1px 2px;display:flex;overflow:hidden}.seat-cell.is-occupied{border-style:solid;border-color:var(--primary);background:var(--primary-soft)}.seat-cell:hover{border-color:var(--primary)}.seat-cell.is-empty{justify-content:center}.seat-cell.is-drop-zone{border-color:var(--primary);background:var(--primary-soft)}.seat-cell.is-drag-target{outline:2px solid var(--primary)}.seat-cell .seat-no{text-align:left;max-width:100%;color:var(--muted);font-size:calc(var(--nfs,10px) * .54);line-height:calc(var(--nfs,10px) * .62);white-space:nowrap;flex:none;align-self:stretch;overflow:hidden}.seat-cell .seat-name{width:100%;max-width:100%;font-size:var(--nfs,12px);line-height:calc(var(--nfs,12px) * 1.16);white-space:nowrap;writing-mode:horizontal-tb;word-break:keep-all;word-wrap:normal;text-overflow:clip;flex:none;font-weight:700;display:block;overflow:visible}.seat-cell .seat-sub{width:100%;max-width:100%;font-size:calc(var(--nfs,10px) * .52);line-height:calc(var(--nfs,10px) * .62);color:var(--muted);white-space:nowrap;writing-mode:horizontal-tb;flex:none;display:block;overflow:visible}.seat-cell .seat-line{color:var(--text);font-weight:600}.seat-cell .seat-cell-ops{justify-content:center;align-items:center;gap:calc(var(--nfs,10px) * .22);padding-top:calc(var(--nfs,10px) * .05);flex:none;max-width:100%;display:flex}.seat-cell .seat-big-btn{border-radius:calc(var(--nfs,10px) * .2);flex:none;justify-content:center;align-items:center;font-size:calc(var(--nfs,10px) * .68)!important;height:calc(var(--nfs,10px) * 1.22)!important;min-width:calc(var(--nfs,10px) * 1.22)!important;min-height:calc(var(--nfs,10px) * 1.22)!important;padding:0 .18em!important;line-height:1!important;display:inline-flex!important}.timer-card{text-align:center;max-width:36rem;margin:0 auto}.timer-display{font-variant-numeric:tabular-nums;letter-spacing:.04em;color:var(--primary-dark);padding:.4rem 0 1rem;font-size:clamp(3rem,14vw,5.5rem);font-weight:800;line-height:1.1}.timer-display.is-ended{color:var(--danger)}.timer-quick{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:.8rem;display:flex}.timer-quick .btn{min-height:2.4rem}.timer-custom{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.9rem;display:flex}.timer-input{width:min(100%,22rem)}.timer-actions{justify-content:center;gap:.7rem;margin-bottom:.5rem;display:flex}.timer-actions .btn{min-width:7rem;min-height:3rem}.timer-hint{color:var(--muted);margin:0;font-size:.85rem}@media (width<=480px){.timer-custom{flex-direction:column;align-items:stretch}.timer-input{width:100%}}.timer-hms{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.timer-hms-field{flex-direction:column;align-items:center;gap:.2rem;display:flex}.timer-hms-field>span{color:var(--muted);font-size:.8rem}.timer-hms-input{text-align:center;-moz-appearance:textfield;width:4.6rem}.timer-hms-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.timer-hms-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.timer-custom-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.timer-preview{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.timer-custom-error{color:var(--danger);font-size:.85rem}.timer-custom{flex-direction:column;align-items:center}.timer-hms{flex-wrap:nowrap;align-items:center}.timer-apply{flex:none;min-height:2.6rem}.timer-alert-settings{background:var(--bg);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;margin:.1rem 0 .9rem;padding:.7rem .9rem;display:flex}.timer-alert-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.timer-alert-label{min-width:5.4rem;font-size:.9rem;font-weight:600}.timer-range{min-width:8rem;accent-color:var(--primary);flex:10rem}.timer-alert-value{font-variant-numeric:tabular-nums;min-width:3.2rem;color:var(--muted)}.timer-duration-chips{flex-wrap:wrap;gap:.35rem;display:flex}.timer-duration-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:999px;padding:.3rem .7rem;font-size:.85rem}.timer-duration-chip.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-dark);font-weight:600}@media (width<=560px){.timer-hms{flex-wrap:wrap}.timer-hms-input{width:4rem}.timer-alert-label{min-width:0}}.timer-hms{align-items:flex-end}.timer-hms-field{justify-content:flex-end}.timer-hms-input,.timer-apply{box-sizing:border-box;height:2.6rem;min-height:2.6rem}.timer-hms-input{width:4.8rem}.timer-apply{padding:.45rem 1rem}.timer-custom-dur{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.timer-custom-dur-input{text-align:center;width:6rem}.timer-dur-unit{color:var(--muted);font-weight:600}.timer-alert-row{flex-wrap:nowrap}.timer-alert-label{white-space:nowrap}.timer-duration-chips{flex-wrap:nowrap}.timer-duration-chip{padding:.24rem .55rem;font-size:.8rem}.timer-custom-dur{flex:none;align-items:center;gap:.3rem;display:inline-flex}@media (width<=700px){.timer-alert-row,.timer-duration-chips{flex-wrap:wrap}}.timer-alert-row{justify-content:flex-start}.timer-alert-label{text-align:left;flex:0 0 6.6rem}.timer-alert-row{gap:.5rem}.timer-alert-label{flex:0 0 6rem;font-size:.9rem}.timer-duration-chips{flex-wrap:nowrap;align-items:center;gap:.3rem}.timer-duration-chip{white-space:nowrap;flex:none;padding:.22rem .5rem;font-size:.8rem;line-height:1.2}.timer-custom-dur{gap:.25rem}.timer-custom-dur-input{width:3.8rem;min-height:2.2rem;padding:.3rem .4rem}.timer-dur-unit{white-space:nowrap;font-size:.9rem}.silence-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1rem;display:grid}@media (width<=860px){.silence-grid{grid-template-columns:1fr}}.silence-error{background:var(--danger-soft);color:var(--danger)}.silence-error-sub{color:var(--muted);margin-top:.35rem;font-size:.88rem}.silence-stage-card{flex-direction:column;gap:1rem;display:flex}.silence-stage{border-radius:var(--radius);border:1px solid var(--border);text-align:center;background:linear-gradient(#eef2ff 0%,#f8f9fc 100%);flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:230px;transition:background .3s,border-color .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.silence-stage.silence-tone-sleeping{background:linear-gradient(#eef2ff,#f8f9fc)}.silence-stage.silence-tone-awake{background:linear-gradient(#fff4e0 0%,#fdf8ee 100%);border-color:#f0b429;box-shadow:0 0 0 4px #f0b4291f}.silence-stage.silence-tone-alarm{border-color:var(--danger);background:linear-gradient(#ffe3e3 0%,#fff5f5 100%);box-shadow:0 0 0 5px #e0313124}.silence-tiger-area{justify-content:center;align-items:center;width:150px;height:130px;display:flex;position:relative}.silence-tiger{filter:saturate(.9);-webkit-user-select:none;user-select:none;font-size:6.2rem;line-height:1}.silence-tone-sleeping .silence-tiger{transform:rotate(-4deg)}.silence-tone-awake .silence-tiger{animation:1.1s ease-in-out infinite tiger-bounce}.silence-tone-alarm .silence-tiger{animation:.45s linear infinite tiger-shake}.silence-eyes{filter:drop-shadow(0 1px 2px #0003);font-size:1.35rem;animation:2.6s step-end infinite blink;position:absolute;top:12px;right:18px}.silence-eyes.wide{animation:none}.silence-zzz{color:#7d93e0;font-weight:800;position:absolute;top:0;right:6px}.silence-zzz span{opacity:0;animation:2.2s ease-in infinite zzz-float;position:absolute}.silence-zzz span:first-child{font-size:1.3rem;animation-delay:0s;top:6px;left:0}.silence-zzz span:nth-child(2){font-size:1.7rem;animation-delay:.7s;top:-6px;left:26px}.silence-zzz span:nth-child(3){font-size:2.1rem;animation-delay:1.4s;top:-22px;left:52px}@keyframes zzz-float{0%{opacity:0;transform:translateY(8px)scale(.7)}25%{opacity:.9}to{opacity:0;transform:translateY(-34px)scale(1.25)}}@keyframes tiger-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes tiger-shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-6px)rotate(-3deg)}40%{transform:translate(5px)rotate(3deg)}60%{transform:translate(-5px)rotate(-2deg)}80%{transform:translate(6px)rotate(2deg)}}@keyframes blink{0%,46%,52%,to{opacity:1}48%,50%{opacity:0}}.silence-live{flex-direction:column;gap:.5rem;display:flex}.silence-live-head{justify-content:space-between;align-items:center;display:flex}.silence-live-title{font-weight:600}.silence-live-value{font-variant-numeric:tabular-nums;font-weight:800}.silence-meter{background:var(--bg);border:1px solid var(--border);border-radius:999px;height:14px;position:relative;overflow:visible}.silence-meter-fill{background:linear-gradient(90deg, var(--ok), #f0b429 55%, var(--danger));border-radius:999px;height:100%;transition:width .12s linear}.silence-marker{pointer-events:none;background:#1f24308c;width:2px;position:absolute;top:-3px;bottom:-3px}.silence-marker-awake{background:#b7791f}.silence-marker-alarm{background:var(--danger)}.silence-threshold-legend{color:var(--muted);flex-wrap:wrap;gap:.35rem 1rem;font-size:.85rem;display:flex}.silence-meta{color:var(--muted);flex-wrap:wrap;gap:.35rem 1.2rem;font-size:.9rem;display:flex}.silence-actions{justify-content:center;gap:.6rem;display:flex}.silence-settings-card{flex-direction:column;gap:.8rem;display:flex}.silence-field{flex-direction:column;gap:.25rem;display:flex}.silence-field-hint{color:var(--muted);font-size:.8rem}.silence-settings-actions{gap:.6rem;display:flex}.silence-settings-actions .btn{flex:1 1 0;min-height:2.6rem}@media (width<=480px){.silence-stage{min-height:190px}.silence-tiger{font-size:5rem}}.silence-db-input{align-items:center;gap:.45rem;display:flex}.silence-db-input .input{flex:auto;min-width:0}.silence-db-unit{color:var(--muted);flex:none;font-weight:600}.silence-marker-recover{background:var(--ok)}.silence-grid{gap:.8rem}.silence-stage-card{gap:.6rem}.silence-stage{min-height:150px;padding:.5rem .5rem .6rem}.silence-eyes{font-size:1.15rem;top:6px;right:12px}.silence-live{gap:.3rem}.silence-meter{height:12px}.silence-threshold-legend{gap:.2rem 1rem}.silence-meta{gap:.2rem 1.2rem}.silence-actions{margin-top:.25rem}.silence-actions .btn{min-height:2.6rem;padding:.3rem 1.2rem}.silence-settings-card{gap:.45rem}.silence-settings-card .section-title{margin:0 0 .15rem}.silence-settings-card .section-desc{margin:0 0 .25rem}.silence-field-hint{line-height:1.25}@media (width<=480px){.silence-stage{min-height:150px}.silence-tiger{font-size:4.2rem}}.silence-settings-card .section-title{margin:0 0 .1rem;font-size:1.02rem}.silence-settings-card .section-desc{margin:0 0 .1rem;font-size:.8rem;line-height:1.35}.silence-field .field-label{margin:0;font-size:.88rem;line-height:1.2}.silence-db-input .input{min-height:2.2rem;padding:.3rem .55rem}.silence-db-unit{font-size:.9rem}.silence-field-hint{margin:0;font-size:.74rem;line-height:1.2}.silence-settings-actions .btn{min-height:2.3rem;padding:.3rem .6rem}.silence-field .field-label{font-size:.85rem}.silence-settings-actions{margin-top:.05rem}.silence-page .page-header{margin-bottom:.4rem}.silence-grid{align-items:stretch}@media (width<=1120px){.silence-grid{grid-template-columns:1fr}}.silence-page .page-desc{font-size:.88rem;line-height:1.4}.silence-settings-card .section-title{font-size:1.05rem}.silence-settings-card .section-desc{font-size:.82rem}.silence-field{gap:.12rem}.silence-settings-card{gap:.4rem;padding:.7rem .9rem}.silence-settings-card .section-desc{margin:0 0 .1rem;font-size:.78rem}.silence-db-input .input{min-height:2.2rem}.silence-field-hint{font-size:.72rem}.silence-settings-actions .btn{min-height:2.4rem}.silence-grid{grid-template-columns:minmax(0,1fr) minmax(320px,36%)}.silence-zzz span:first-child{font-size:1.8rem}.silence-zzz span:nth-child(2){font-size:2.2rem}.silence-zzz span:nth-child(3){font-size:2.6rem}.silence-grid{grid-template-columns:minmax(0,1fr) 360px;gap:1rem}.silence-settings-card{width:100%}.silence-grid{grid-template-columns:minmax(0,1fr) 350px;align-items:flex-start}.silence-stage-card{height:auto}.silence-stage{flex:none;min-height:170px}.silence-settings-card{height:auto}.silence-zzz{top:6px;right:10px}.silence-tiger-area{width:170px;height:150px}.silence-tiger{font-size:8.6rem}.silence-stage{min-height:200px}@media (width<=430px){.silence-grid,.silence-stage-card,.silence-settings-card{min-width:0}.silence-settings-card{padding:.7rem .6rem}.silence-threshold-legend,.silence-meta{gap:.2rem .6rem}}@media (width<=860px){.silence-grid{grid-template-columns:minmax(0,1fr);gap:.75rem}.silence-stage-card,.silence-settings-card{width:100%;min-width:0}}@media (width<=430px){.silence-page,.silence-grid,.silence-stage-card,.silence-settings-card{width:100%;max-width:100%}.silence-settings-card{padding:.7rem .6rem}.silence-settings-card .section-title,.silence-settings-card .section-desc,.silence-field .field-label,.silence-field-hint{overflow-wrap:break-word;word-break:normal;min-width:0}.silence-settings-actions{flex-wrap:wrap}.silence-settings-actions .btn{flex:8rem}}
