:root{--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: #eff6ff;--accent-border: #bfdbfe;--on-accent: #ffffff;--ok: #15803d;--ok-soft: #f0fdf4;--ok-border: #bbf7d0;--warn: #b45309;--warn-soft: #fffbeb;--warn-border: #fde68a;--danger: #dc2626;--danger-hover: #b91c1c;--danger-soft: #fef2f2;--danger-border: #fecaca;--text-1: #0f172a;--text-2: #475569;--text-3: #94a3b8;--border: #e2e8f0;--border-strong: #cbd5e1;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f5f9;--bg: #eef1f5;--shadow-card: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 1px rgba(15, 23, 42, .03);--sidebar-w: 220px;--sidebar-w-collapsed: 56px;--topbar-h: 48px;--control-h: 34px;--label-w: 6em;--control-h-sm: 28px;--nav-h: 34px;--field-font: 14px;--gap: 12px;--section-gap: 16px;--card-pad: 16px;--block-pad: 12px;--page-pad-y: 20px;--page-pad-x: 24px;--radius: 6px;--radius-sm: 4px;--radius-pill: 999px;--z-topbar: 20;--z-bulk-bar: 25;--z-scrim: 30;--z-sidebar: 40;--z-modal: 50;--z-tip: 60;--font-xs: 11px;--font-sm: 12px;--font-md: 13px;--font-lg: 15px;--font: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--mono: ui-monospace, "Cascadia Code", Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font);color:var(--text-1);background:var(--bg);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:600}h1{font-size:18px;letter-spacing:-.01em}h2{font-size:14px}h3{font-size:13px;color:var(--text-2)}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,pre,.mono{font-family:var(--mono)}.page{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--section-gap);align-content:start}.page>*{min-width:0}.contents{display:contents}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--gap);flex-wrap:wrap;padding-bottom:2px;min-width:0}.page-head>*{min-width:0}.page-head p{margin-top:2px;font-size:13px;color:var(--text-3)}.page-actions{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.page-head>:first-child{flex:1 1 20em}.page-head>.page-actions{margin-left:auto;justify-content:flex-end;flex:0 1 auto}.split{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:var(--section-gap);align-items:start}.detail{display:grid;gap:var(--section-gap);align-content:start;min-width:0}.grid-2,.grid-3{display:grid;gap:var(--gap);align-items:start}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.split>*,.grid-2>*,.grid-3>*,.detail>*{min-width:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--card-pad);box-shadow:var(--shadow-card)}.card-accent{border-left:4px solid var(--accent)}.card-accent>.card-head:first-child{background:var(--accent-soft);border-radius:0 var(--radius) 0 0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);flex-wrap:wrap;margin-bottom:var(--gap)}.card-head p{font-size:12px;color:var(--text-3)}.card>.card-head h2{font-size:var(--font-lg)}.card.welcome{background:var(--accent-soft)}.welcome-line{margin:0;font-size:var(--font-lg);color:var(--text-1)}.welcome .hint{margin:6px 0 0}.card>.card-head:first-child{margin:calc(var(--card-pad) * -1) calc(var(--card-pad) * -1) var(--gap);padding:10px var(--card-pad);border-bottom:1px solid var(--border)}.card>.card-head:first-child:last-child{border-bottom:0;margin-bottom:calc(var(--card-pad) * -1)}.card>.card-head:not(:first-child){padding-top:var(--gap);border-top:1px solid var(--border)}.card-flush{margin:0 calc(var(--card-pad) * -1)}:is(.grid-2,.grid-3)>*>.card-flush{margin-left:0;margin-right:0}.card>.card-flush:last-child,.card>:last-child:not(.block)>.card-flush:last-child{margin-bottom:calc(var(--card-pad) * -1)}.card>.card-flush:first-child,.card>:first-child:not(.block)>.card-flush:first-child{margin-top:calc(var(--card-pad) * -1)}.card>.card-flush+.pager:last-child{margin:0 calc(var(--card-pad) * -1) calc(var(--card-pad) * -1)}.chapter-block+.chapter-block{margin-top:var(--gap);padding-top:var(--gap);border-top:1px solid var(--border)}.card-foot{margin-top:var(--gap)}.checks{display:grid;gap:2px}.dialog-body{display:grid;gap:var(--gap)}.dialog-text{line-height:1.6;color:var(--text-1);overflow-wrap:anywhere}.dialog-details{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2, var(--bg))}.dialog-detail{display:flex;justify-content:space-between;gap:var(--gap);font-size:var(--font-sm)}.dialog-detail dt{color:var(--text-2)}.dialog-detail dd{font-variant-numeric:tabular-nums;font-weight:500;text-align:right}.dialog-list{max-height:40vh;overflow-y:auto;padding-left:1.2em;font-size:var(--font-sm);color:var(--text-2)}.dialog-list li+li{margin-top:2px}.tip-bubble{position:fixed;z-index:var(--z-tip);max-width:min(320px,calc(100vw - 24px));padding:6px 10px;border-radius:var(--radius);background:var(--text-1);color:var(--surface);font-size:var(--font-sm);line-height:1.5;white-space:pre-line;overflow-wrap:anywhere;pointer-events:none;transform:translate(-50%,-100%);box-shadow:0 4px 16px #0f172a2e}.tip-bubble.is-below{transform:translate(-50%)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:var(--z-scrim)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--control-h);height:var(--control-h);flex:0 0 auto;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-1);cursor:pointer}.icon-btn:hover{background:var(--surface-3)}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--gap);background:#0f172a73}.modal-panel{display:flex;flex-direction:column;width:min(640px,92vw);max-height:88vh;max-height:88dvh;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.modal-panel.wide{width:min(880px,94vw)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);flex:0 0 auto;padding:var(--card-pad);border-bottom:1px solid var(--border)}.modal-head h2{margin:0;font-size:var(--font-lg)}.modal-body{flex:1 1 auto;overflow-y:auto;padding:var(--card-pad)}.modal-foot{flex:0 0 auto;padding:var(--card-pad);border-top:1px solid var(--border)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:calc(var(--card-pad) * -1) calc(var(--card-pad) * -1) 0;padding:0 var(--card-pad);flex-wrap:wrap;row-gap:0}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.tab{padding:0 10px}}.tab{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:calc(var(--nav-h) + 8px);padding:0 12px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;color:var(--text-2);font:inherit;font-size:var(--font-md);white-space:nowrap;cursor:pointer}.tab:hover{color:var(--text-1)}.tab.active{color:var(--accent-hover);border-bottom-color:var(--accent);font-weight:600}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:6px;height:var(--control-h);padding:0 12px;font-size:13px;font-family:inherit;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-1);cursor:pointer}.btn:hover:not(:disabled){background:var(--surface-3)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text-1)}.btn-danger{border-color:var(--danger-border);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-sm{height:var(--control-h-sm);padding:0 8px;font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.action-sep{width:1px;align-self:stretch;min-height:20px;background:var(--border);margin:0 4px}.tag-row{display:inline-flex;flex-wrap:wrap;gap:4px}.seat-line{display:block}.bulk-bar{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap;padding:10px var(--card-pad);border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft);min-width:0}.bulk-count{display:inline-flex;align-items:center;flex:0 0 auto;min-height:var(--control-h-sm);font-size:13px;font-weight:500;line-height:1.2;color:var(--accent-hover);white-space:nowrap}.bulk-bar>.actions{margin-left:auto}.bulk-hint{flex:1 1 16em;min-width:0;font-size:var(--font-sm);color:var(--text-2);line-height:1.4}.bulk-bar>.actions>:is(.select,.input){width:auto;flex:0 0 auto}.link-btn{display:inline-flex;align-items:center;min-height:var(--control-h-sm);padding:0;border:0;background:none;font:inherit;color:var(--accent);text-align:left;cursor:pointer}.link-btn:hover{text-decoration:underline}.link-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:768px){.bulk-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bulk-bar);border-radius:0;border-left:0;border-right:0;border-bottom:0;background:var(--surface);box-shadow:0 -2px 12px #0f172a1f;flex-wrap:nowrap;align-items:center;gap:8px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.bulk-bar>.actions{margin-left:0;width:auto;flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.bulk-bar>.actions::-webkit-scrollbar{display:none}.bulk-bar>.actions>.btn{flex:0 0 auto;min-width:max(5.5em,44px)}.bulk-bar>.actions>:is(.select,.input,.check){flex:0 0 auto;max-width:12em}.bulk-bar:has(>.bulk-hint){flex-wrap:wrap}.bulk-bar>.bulk-hint{flex:1 1 0}.bulk-bar:has(>.bulk-hint)>.actions{flex:1 1 100%}.page.has-bulk-bar{padding-bottom:88px}.page.has-bulk-bar:has(.bulk-hint){padding-bottom:136px}}.field{display:grid;grid-template-columns:var(--label-w) minmax(0,1fr);column-gap:10px;row-gap:4px;align-items:center;min-width:0}.field>label:first-child:not(.file-drop,.check,.sr-only){grid-column:1;display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:9em;min-height:var(--control-h);font-size:12px;font-weight:500;color:var(--text-2);line-height:1.3}.field>label:first-child:not(.file-drop,.check,.sr-only)~*{grid-column:2;min-width:0}.field:not(:has(>label:first-child:not(.file-drop,.check,.sr-only))){grid-template-columns:minmax(0,1fr)}.dialog-body>.field{grid-template-columns:minmax(0,1fr);row-gap:6px}.dialog-body>.field>label:first-child:not(.file-drop,.check,.sr-only){max-width:none;min-height:0;white-space:nowrap;font-size:var(--font-sm)}.dialog-body>.field>label:first-child:not(.file-drop,.check,.sr-only)~*{grid-column:1}.field:not(:has(>label:first-child:not(.file-drop,.check,.sr-only)))>*{grid-column:1;min-width:0}.field:has(>textarea,>.chip-select,>.file-drop,>.roles,>.actions,>.opt-row,>.editor-wrap){align-items:start}.field:has(>.file-drop,>.editor-wrap){grid-template-columns:minmax(0,1fr)}.field:has(>.file-drop,>.editor-wrap)>*{grid-column:1!important}.field:has(>.file-drop,>.editor-wrap)>label:first-child{min-height:0;max-width:none}@media(max-width:480px){.field.opts{grid-template-columns:minmax(0,1fr)}.field.opts>*{grid-column:1!important}.field.opts>label:first-child{min-height:0;max-width:none}}.hint{margin:0;font-size:12px;color:var(--text-3);overflow-wrap:anywhere}.readonly-value{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:var(--control-h);margin:0;font-size:var(--field-font);color:var(--text-1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.input,.select,.textarea{width:100%;height:var(--control-h);padding:0 10px;font-size:var(--field-font);font-family:inherit;color:var(--text-1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface)}.select{padding-right:6px}.textarea{height:auto;min-height:84px;padding:8px 10px;line-height:1.6;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled,.select:disabled,.textarea:disabled{background:var(--surface-3);color:var(--text-2);cursor:not-allowed}.file-drop{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:56px;padding:10px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);cursor:pointer;min-width:0}.file-drop:hover{border-color:var(--accent);background:var(--accent-soft)}.file-drop:focus-within{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.file-drop.dragging{border-color:var(--accent);border-style:solid;background:var(--accent-soft)}.file-drop.picked{border-style:solid;border-color:var(--ok-border);background:var(--ok-soft)}.file-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-drop-icon{flex:0 0 auto;color:var(--text-3);display:flex}.file-drop-body{flex:1 1 auto;min-width:0;display:grid;gap:2px}.file-drop-name{font-size:13px;font-weight:500;color:var(--text-1);overflow-wrap:anywhere}.file-drop-hint{font-size:12px;color:var(--text-3)}.file-drop>.actions{flex:0 0 auto}@media(max-width:768px){.file-drop>.actions{width:100%}.file-drop>.actions>.btn{flex:1 1 0}}.btn-file{position:relative;overflow:hidden;cursor:pointer;flex:0 0 auto}.btn-file>input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.toolbar{display:flex;flex-wrap:wrap;gap:var(--gap) 28px;align-items:center}.toolbar>.field{flex:0 1 auto;grid-template-columns:auto minmax(0,1fr);column-gap:6px}.toolbar+*{margin-top:var(--gap)!important}.toolbar>.field>.select{width:auto;min-width:6em;max-width:14em}.toolbar>.field.toolbar-more>.select{max-width:9em}.toolbar>.field>.input{width:12em}.toolbar>.field>.input[type=number]{width:6em}.range{display:inline-flex;align-items:center;gap:6px;min-width:0}.date-span{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.range>.input{width:10em;min-width:0}.toolbar>.field.wide{flex:0 1 auto}.toolbar>.field.wide>.input{width:15em;min-width:9em}.toolbar>.field.wide>.select{min-width:10em;max-width:20em}.toolbar>.field>.chip-select{min-width:16em;max-width:28em}.toolbar>.actions{flex:0 0 auto}.grid-2>.actions,.grid-3>.actions{align-self:end}.field>.btn{justify-self:start}.toolbar-scope{display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap) 28px;padding:10px 12px;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-2)}.toolbar-scope>*{min-width:0}.toolbar-scope>.field{grid-template-columns:auto minmax(0,1fr);column-gap:6px}.toolbar-scope-title{font-size:var(--font-sm);font-weight:600;color:var(--text-2)}.toolbar-scope>.field>.select{width:auto;min-width:8em;max-width:24em}.toolbar-scope>.field>.hint{grid-column:2}.toolbar>.toolbar-count{margin-left:auto;padding:2px 10px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);font-size:var(--font-sm);white-space:nowrap}.toolbar>.toolbar-count strong{color:var(--text-1);font-variant-numeric:tabular-nums}.toolbar-toggle{display:none}.inline{display:flex;gap:6px;align-items:center;min-width:0}.inline>.input,.inline>.select{min-width:0}.check{display:inline-flex;align-items:center;gap:7px;min-height:var(--control-h);font-size:13px;color:var(--text-2);cursor:pointer}.check input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.list{display:flex;flex-direction:column;list-style:none;margin-block:0;padding:0}.list:not(.card-flush){margin-inline:0}.list-row{display:flex;align-items:center;gap:10px;min-height:var(--control-h);padding:9px var(--card-pad);border-top:1px solid var(--border);font-size:13px;min-width:0}.list-row:first-child{border-top:0}.list-row:hover{background:var(--surface-2)}.list-row>.grow{flex:1;min-width:0}.list-row .actions{margin-left:auto}.pick-list{display:flex;flex-direction:column}.pick{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--nav-h);padding:6px var(--card-pad);border:0;border-top:1px solid var(--border);border-left:2px solid transparent;background:transparent;font:inherit;font-size:13px;color:var(--text-1);text-align:left;cursor:pointer}.pick:first-child{border-top:0}.pick:hover{background:var(--surface-2)}.pick.active{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent-hover);font-weight:500}.pick>.grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick.pick-q{align-items:flex-start;padding-top:8px;padding-bottom:8px}.pick-q-no{flex:0 0 2em;color:var(--text-3);font-variant-numeric:tabular-nums;text-align:right}.pick-q-body{flex:1;min-width:0;display:grid;gap:4px}.pick-q-stem{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;line-height:1.5}.pick-q-meta{display:flex;flex-wrap:wrap;gap:4px}.chip-select{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);max-height:180px;overflow-y:auto;min-width:0}.chip-select:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chip{display:inline-flex;align-items:center;gap:5px;min-height:var(--control-h-sm);padding:2px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);font:inherit;font-size:var(--font-md);color:var(--text-2);cursor:pointer;white-space:nowrap;max-width:100%}.chip>span{overflow:hidden;text-overflow:ellipsis}.chip:hover{border-color:var(--border-strong);background:var(--surface-2)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-hover);font-weight:500}.chip-lead{font-size:var(--font-xs);padding:0 4px;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent)}@media(hover:none){.chip:hover:not(.active){background:var(--surface)}}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th,.table td{padding:8px 10px;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.table th{font-size:12px;font-weight:500;color:var(--text-2);background:var(--surface-2);white-space:nowrap}.table td{white-space:nowrap}.table th.col-text,.table td.col-text{white-space:normal;overflow-wrap:anywhere;min-width:14rem}.table td.shrink{white-space:nowrap;overflow-wrap:normal}.table th.col-note,.table td.col-note{white-space:normal;overflow-wrap:anywhere;min-width:7rem;max-width:12rem}.table tbody tr:hover{background:var(--surface-2)}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .shrink{width:auto;white-space:nowrap}.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:var(--gap) var(--card-pad);border-top:1px solid var(--border)}.pager-info{font-size:var(--font-md);color:var(--text-2);white-space:nowrap}.pager-total{white-space:nowrap}.pager-size{width:auto;margin-left:auto}.pager-nav,.pager-jump{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pager-jump{font-size:var(--font-md);color:var(--text-2);white-space:nowrap}.pager-jump-input{width:5em}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text-1)}.table th.sortable .sort-arrow{margin-left:4px;color:var(--text-3)}.table th.sortable[aria-sort] .sort-arrow{color:var(--accent)}.table .col-actions{width:1%;white-space:nowrap}.select-inline{width:auto;height:var(--control-h-sm);padding:0 6px;font-size:var(--font-sm)}.table .col-actions>.actions{flex-wrap:nowrap}.table .col-actions>.actions>.btn{flex:0 0 auto}.cell-tags{display:grid;gap:4px;justify-items:start}.cell-tags>.tag+.tag{margin-left:0}.card-sort{display:none}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.card-sort{display:flex;gap:var(--gap);align-items:center;flex-wrap:wrap}.card-sort .select{flex:1;min-width:0}}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.table-cards thead{display:none}.table-cards,.table-cards tbody,.table-cards tr,.table-cards td{display:block;width:auto}.table-cards tr{padding:10px var(--card-pad);border-bottom:1px solid var(--border)}.table-cards tr:last-child{border-bottom:0}.table-cards td{display:flex;gap:10px;align-items:baseline;padding:3px 0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere;min-width:0}.table-cards td:before{content:attr(data-label);flex:0 0 5.5em;color:var(--text-3);font-size:12px}.table-cards tr{position:relative}.table-cards tr:has(>td>.check:only-child){padding-right:calc(var(--card-pad) + var(--control-h))}.table-cards td:has(>.check:only-child){position:absolute;top:4px;right:var(--card-pad);padding:0}.table-cards td:has(>.check:only-child):before{content:none}.table-cards td.cell-primary{font-weight:500}.table-cards td:not(.cell-primary):has(>:is(div,p,.exam-line)){display:block;position:relative;padding-left:calc(5.5em + 10px)}.table-cards td:not(.cell-primary):has(>:is(div,p,.exam-line)):before{position:absolute;left:0;top:3px;width:5.5em}.table-cards td:not(.cell-primary):has(>:is(div,p,.exam-line))>:is(div,p,.exam-line)+:is(div,p,.exam-line){margin-top:2px}.table-cards td.cell-primary{flex-wrap:wrap;row-gap:2px}.table-cards td.cell-primary>:is(div,p,.exam-line){flex:1 0 100%;min-width:0}.table-cards td.cell-primary:before{content:none}.table-cards td:empty{display:none}.table-cards td:not([data-label]):before{content:none;flex:0}.table-cards td.num{text-align:left}.table-cards td.col-text{min-width:0}.table-cards td{width:auto!important;max-width:none}.table-cards td>:is(input:not([type=checkbox]):not([type=radio]),select,textarea,.input,.select):only-of-type,.table-cards td>:is(.input-wrap,.field-control){flex:1 1 auto;width:auto;min-width:0}.table-cards td.shrink,.table-cards td.col-actions{width:auto;white-space:normal}.table-cards td.shrink .btn{flex:1}.table-cards td.col-actions>.actions{flex-wrap:wrap}.table-cards td.col-actions>.actions>.btn,.table-cards td.col-actions>.actions>.select-inline{flex:1 1 auto;min-width:5.5em}.table-cards td.col-actions>.actions>.select-inline{height:var(--control-h-sm)}}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.table-cards-grid3 tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--gap)}.table-cards-grid3 td.cell-primary,.table-cards-grid3 td.col-text,.table-cards-grid3 td.col-actions{grid-column:1 / -1}.table-cards-grid3 td.shrink{flex-direction:column;align-items:stretch;gap:2px}.table-cards-grid3 td.shrink:before{flex:0 0 auto}}.empty{padding:32px 12px;text-align:center;font-size:13px;color:var(--text-3)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gap)}.stat{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.stat dt{font-size:12px;color:var(--text-3)}.stat-link{position:relative;transition:border-color .15s,background .15s}.stat-link:hover{border-color:var(--accent);background:var(--surface-2)}.stat-link:focus-within{outline:2px solid var(--accent);outline-offset:2px}.stat-cover{color:inherit;text-decoration:none}.stat-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.stat-cover:focus-visible{outline:none}.stat-link dd:first-of-type{color:var(--accent)}.stat dd{margin:2px 0 0;font-size:22px;font-weight:600;line-height:1.2;font-variant-numeric:tabular-nums}.stat dd.stat-note{margin-top:4px;font-size:var(--text-xs, 12px);font-weight:400;line-height:1.4;color:var(--text-3)}:is(a,span,strong,.link-btn)+.tag{margin-left:6px}.tag{display:inline-flex;align-items:center;height:20px;padding:0 8px;font-size:12px;border-radius:var(--radius-pill);background:var(--surface-3);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}.tag+.tag{margin-left:4px}.tag-accent{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent-border)}.tag-ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-border)}.tag-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.tag-danger{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.ai-flag{display:inline-flex;align-items:center;height:18px;padding:0 6px;margin-left:4px;font-size:11px;font-weight:600;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);border:1px solid var(--warn-border);white-space:nowrap}.alert{padding:9px 12px;border-radius:var(--radius-sm);font-size:13px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);white-space:pre-line;overflow-wrap:anywhere}.toast-host{position:fixed;top:var(--gap);left:var(--gap);right:var(--gap);z-index:calc(var(--z-modal) + 1);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;width:100%;max-width:560px;margin:0;padding-right:4px;box-shadow:0 4px 16px #0f172a2e;pointer-events:auto}.toast-text{flex:1;min-width:0;overflow-wrap:anywhere}.toast-close{flex:0 0 auto;width:var(--control-h-sm);height:var(--control-h-sm);border:0;background:transparent;color:inherit;font-size:var(--font-lg);line-height:1;cursor:pointer;opacity:.7}.toast-close:hover{opacity:1}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.toast-host{top:calc(var(--topbar-h) + 6px)}}.alert-info{background:var(--accent-soft);color:var(--accent-hover);border-color:var(--accent-border)}.alert-ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-border)}.alert-error{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.alert-warn{background:var(--warn-soft);color:var(--warn);border-color:var(--warn-border)}.muted{color:var(--text-3)}.text-sm{font-size:13px}.text-xs{font-size:12px}.pre-wrap{white-space:pre-wrap;overflow-wrap:anywhere}.clamp,.clamp-1{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp{-webkit-line-clamp:2}.clamp-1{-webkit-line-clamp:1;margin-top:2px}.col-stem{min-width:220px}.ok-text{color:var(--ok)}.err{color:var(--danger)}.warn-text{color:var(--warn)}.stat dd.small-value{font-size:16px}.rich{line-height:1.75;word-break:break-word;min-width:0;overflow-wrap:anywhere}.rich pre,.rich table{max-width:100%;overflow-x:auto}.rich pre{margin:6px 0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2);font-size:.92em;line-height:1.55;white-space:pre;-moz-tab-size:4;tab-size:4}.rich pre code{font-size:inherit;background:none;padding:0}.rich p+p{margin-top:2px}.rich>:first-child{margin-top:0}.rich>:last-child{margin-bottom:0}.rich table{border-collapse:collapse;margin:8px 0}.rich td,.rich th{border:1px solid var(--border);padding:4px 8px}.rich img{max-width:100%}.rich math{font-size:1.05em}.q-stem{font-size:14px}.q-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--text-3)}.opt-list{display:grid;gap:6px}.opts{margin:var(--gap) 0}.opt{display:flex;align-items:flex-start;gap:8px;width:100%;min-height:var(--control-h);padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:13px;color:var(--text-1);text-align:left;cursor:pointer}.opt:hover:not(:disabled){border-color:var(--accent-border);background:var(--surface-2)}.opt:disabled{cursor:default}.opt>.opt-label{flex:0 0 auto;font-weight:600;color:var(--text-2)}.opt.picked{border-color:var(--accent);background:var(--accent-soft)}.opt.picked>.opt-label{color:var(--accent-hover)}.opt.correct{border-color:var(--ok-border);background:var(--ok-soft)}.opt.wrong{border-color:var(--danger-border);background:var(--danger-soft)}.bars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;gap:8px 10px;align-items:center}.bars li{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;font-size:13px}.bar-label{color:var(--text-2);white-space:nowrap}.bar-label-clip{max-width:16em;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.bar-label-clip{max-width:9em}}@media(max-width:768px){.bars.bars-long-value{grid-template-columns:max-content minmax(0,1fr);row-gap:2px}.bars.bars-long-value .bar-value{grid-column:1 / -1;text-align:left;margin-bottom:6px}}.bar-track{flex:1;height:8px;min-width:0;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.bar-fill{display:block;height:100%;background:var(--accent)}.bar-track-marked{position:relative;overflow:visible}.bar-track-marked>.bar-fill{border-radius:var(--radius-pill)}.bar-mark{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px}.bar-value{min-width:2em;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-2)}.answer{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 12px;margin:0;font-size:13px}.answer{align-items:baseline}.answer dt{font-size:12px;color:var(--text-3);white-space:nowrap}.answer dd{margin:0;min-width:0}.answer dd .list-row{padding-left:0;padding-right:0}.answer dd .list-row:hover{background:transparent}.props{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 16px;margin:0;align-items:baseline;font-size:var(--font-md)}.props dt{font-size:var(--font-sm);color:var(--text-3);white-space:nowrap}.props dd{margin:0;min-width:0;overflow-wrap:anywhere}.segmented{display:inline-flex;max-width:100%;overflow-x:auto;scrollbar-width:none;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface)}.segmented::-webkit-scrollbar{display:none}.segmented>button{flex:0 0 auto;min-height:var(--control-h);padding:0 12px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--text-2);font:inherit;font-size:var(--font-md);white-space:nowrap;cursor:pointer}.segmented>button:first-child{border-left:0}.segmented.segmented-fill{display:flex;width:100%}.segmented.segmented-fill>button{flex:1 1 0;text-align:center;justify-content:center}.segmented>button:hover:not(:disabled){color:var(--text-1);background:var(--surface-2)}.segmented>button[aria-pressed=true]{color:var(--accent-hover);background:var(--accent-soft);font-weight:600}.segmented>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.segmented>button:disabled{cursor:not-allowed;opacity:.6}.preview-box{margin-top:var(--gap)}.preview-warn,.preview-meta{margin-bottom:var(--gap)}.preview-body{min-width:0}.q-preview{font-size:14px;line-height:1.8;word-break:break-word}.q-preview p{margin:4px 0}.q-preview>:first-child>:first-child{margin-top:0}.q-preview img{max-width:100%}.q-preview table{border-collapse:collapse;margin:8px 0}.q-preview td,.q-preview th{border:1px solid var(--border);padding:4px 8px}.q-preview [data-align=center]{text-align:center}.q-preview [data-align=right]{text-align:right}.q-preview [data-align=justify]{text-align:justify}.q-preview [data-image-missing]{padding:1px 6px;border:1px dashed var(--danger-border);border-radius:var(--radius-sm);color:var(--danger);font-size:12px}.q-options{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px}.q-option{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px}.q-option-label{color:var(--text-2)}.q-option-body>p{margin:0}.q-student{padding:var(--card-pad);border:1px dashed var(--accent-border);border-radius:var(--radius);background:var(--surface-2)}.q-student .q-options{gap:6px;margin-top:var(--gap)}.q-student .q-option{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.q-student .q-option-label{font-weight:600}.q-student:not(:has(.q-options)):after{content:"作答区";display:block;margin-top:var(--gap);padding:24px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-3);font-size:var(--font-sm);text-align:center}.q-preview>section+section{margin-top:var(--gap)}.q-answer,.q-analysis,.q-rubric,.q-pitfalls{display:grid;align-items:baseline;grid-template-columns:4em minmax(0,1fr);gap:4px 10px;font-size:13px}.q-answer>.q-label,.q-analysis>.q-label,.q-rubric>.q-label,.q-pitfalls>.q-label{color:var(--text-3);font-size:12px;white-space:nowrap}.q-answer .q-body>p:first-child,.q-analysis .q-body>p:first-child,.q-rubric .q-body>p:first-child,.q-pitfalls .q-body>p:first-child{margin-top:0}.form{display:grid;gap:var(--gap)}.form-gap,.form-block{margin-top:var(--gap)}.progress{height:6px;min-width:70px;border-radius:var(--radius-pill);background:var(--surface-3);overflow:hidden}.progress-fill{display:block;height:100%;background:var(--accent);transition:width .3s ease}.progress-fill.bad{background:var(--danger)}.detail-cell{background:var(--surface-2)}@media(max-width:768px){.detail-cell{padding:8px var(--card-pad)}.table-cards td.detail-cell{display:block}.table-cards td.detail-cell:before{content:none}}.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--page-pad-x)}.auth-panel{display:grid;gap:var(--gap);width:min(400px,100%)}.quote{margin:0;padding:10px 14px;border-left:3px solid var(--accent);background:var(--surface-2);border-radius:var(--radius);font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.auth-panel-head{display:grid;gap:2px;text-align:center;justify-items:center}.auth-logo{display:block;width:72px;height:72px;margin:0 auto var(--gap)}@media(max-width:768px){.auth-page{place-items:start center;padding-top:12vh}.auth-panel .field{grid-template-columns:minmax(0,1fr)}.auth-panel .field>*{grid-column:1!important}.auth-panel .field>label:first-child{min-height:0}}.auth-panel>.actions>.btn{flex:1}.auth-panel>.auth-hint{margin:0;line-height:1.6}@media(max-width:1024px){.split{grid-template-columns:minmax(0,1fr)}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(pointer:coarse){:root{--control-h: 44px;--control-h-sm: 44px;--nav-h: 44px;--field-font: 16px}.table th.sortable{height:var(--control-h)}.check:has(>input:only-child){min-width:var(--control-h);min-height:var(--control-h);display:inline-flex;align-items:center;justify-content:center}.props dd a{display:inline-flex;align-items:center;min-height:var(--control-h-sm);min-width:var(--control-h-sm)}.select-inline{font-size:var(--field-font)}button.tag{min-height:var(--control-h-sm)}.table td>a:first-child{display:inline-flex;align-items:center;min-height:var(--control-h-sm)}.list-row{flex-wrap:wrap}}.card>*+*,.modal-body>*+*,[role=tabpanel]>*+*{margin-top:var(--gap)}.card>.card-head+*{margin-top:0}.card>.tabs+*{margin-top:calc(var(--gap) + 4px)}.card>*+.hint,.modal-body>*+.hint,[role=tabpanel]>*+.hint{margin-top:4px}.card>.check+.check,[role=tabpanel]>.check+.check{margin-top:2px}.block{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--block-pad);min-width:0}.block .block{background:var(--surface)}.block>*+*{margin-top:var(--gap)}.block>*+.hint{margin-top:4px}.block>.check+.check{margin-top:2px}.block-head,.block>.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);flex-wrap:wrap;margin:0 0 var(--gap);padding:0;border:0;min-height:0}.block>.block-head+*,.block>.card-head+*{margin-top:0}.block-head>*,.block>.card-head>*{min-width:0}.block-head h3,.block>.card-head h3{margin:0;padding-left:8px;border-left:3px solid var(--accent);font-size:var(--font-md);line-height:1.3;color:var(--text-1)}.block-head p,.block>.card-head p{margin-top:4px;font-size:var(--font-sm);color:var(--text-3)}.block .card-flush{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.block .table .select,.block .table .input{width:100%;min-width:0}@media(hover:none){.btn:hover:not(:disabled){background:var(--surface)}.btn-primary:hover:not(:disabled){background:var(--accent)}.btn-ghost:hover:not(:disabled){background:transparent}.btn-danger:hover:not(:disabled){background:var(--surface)}.nav-link:hover:not(.active),.pick:hover:not(.active){background:transparent}.segmented>button:hover:not(:disabled):not([aria-pressed=true]){background:transparent}.list-row:hover,.table tbody tr:hover{background:transparent}.opt:hover:not(:disabled):not(.picked):not(.correct):not(.wrong){border-color:var(--border-strong);background:var(--surface)}}@media(max-width:768px){:root{--card-pad: 14px;--section-gap: 12px;--block-pad: 10px;--page-pad-y: 14px;--page-pad-x: 14px}h1{font-size:17px}.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.card-head>.field,.block-head>.field{flex:1 1 100%}.toolbar{gap:10px}.toolbar>.field,.toolbar>.field.wide{flex:1 1 100%}.toolbar>.field>.select,.toolbar>.field>.input,.toolbar>.field.wide>.select,.toolbar>.field.wide>.input,.toolbar>.field>.chip-select{width:100%;min-width:0;max-width:none}.toolbar .range{display:flex;width:100%}.toolbar.is-expanded>.toolbar-more:has(>.range){flex-basis:100%}.toolbar .range>.input{flex:1 1 0;width:auto}.field{--label-w: 5.5em;column-gap:8px}.field:has(>.chip-select){grid-template-columns:minmax(0,1fr)}.field:has(>.chip-select)>*{grid-column:1!important}.field:has(>.chip-select)>label:first-child{min-height:0;max-width:none}.field>.chip-select{max-height:260px}.field>label:first-child{max-width:none}.toolbar:has(>.toolbar-toggle)>.field.wide{flex:1 1 0;min-width:8em}.toolbar:has(>.toolbar-toggle)>.field.wide{grid-template-columns:minmax(0,1fr)}.toolbar:has(>.toolbar-toggle)>.field.wide>label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.toolbar:has(>.toolbar-toggle)>.field.wide>:not(label){grid-column:1}.toolbar-toggle{display:inline-flex;flex:0 0 auto}.toolbar:not(.is-expanded)>.toolbar-more{display:none}.toolbar.is-expanded>.toolbar-more{flex:1 1 calc(50% - 5px);min-width:0;--label-w: 4em;column-gap:6px}.toolbar.is-expanded:has(>.toolbar-toggle)>.field.wide{flex:1 1 60%}.toolbar.is-expanded>.toolbar-more{order:1}.toolbar.is-expanded>.toolbar-count,.toolbar.is-expanded>.actions{order:2}.toolbar-scope{padding:10px}.toolbar-scope-title{flex:1 1 100%}.toolbar-scope>.field{flex:1 1 100%}.toolbar-scope>.field>.select{width:100%;max-width:none}.toolbar>.toolbar-count{margin-left:0}.toolbar>.actions,.page-actions{width:100%}.toolbar>.actions>.btn,.page-actions>.btn{flex:1 1 0;min-width:0}.page-actions>.btn{min-width:fit-content;white-space:nowrap}.toolbar:has(>.toolbar-toggle):not(.is-expanded)>.actions{width:auto;flex:0 0 auto;order:0}.toolbar:has(>.toolbar-toggle):not(.is-expanded)>.hint:not(.toolbar-count){display:none}.table-cards td:has(input[type=checkbox]){justify-content:flex-start;align-items:center}.table-cards .check{min-height:var(--control-h);min-width:var(--control-h);display:inline-flex;align-items:center}.list-row{flex-wrap:wrap}.answer{grid-template-columns:minmax(0,1fr);gap:2px}.answer dd{margin-bottom:6px}.props{grid-template-columns:minmax(0,1fr);gap:2px}.props dd{margin-bottom:6px}.modal-scrim{align-items:flex-end;padding:0}.modal-panel,.modal-panel.wide{width:100%;max-height:88vh;max-height:88dvh;border-radius:var(--radius) var(--radius) 0 0;border-bottom:0}.modal-foot{padding-bottom:calc(var(--card-pad) + env(safe-area-inset-bottom,0px))}.modal-panel:has([data-dialog-confirm]) .modal-foot .actions{display:flex;gap:8px}.modal-panel:has([data-dialog-confirm]) .modal-foot .actions>.btn{flex:1 1 0}}button.nav-link{width:100%;border:0;background:transparent;font:inherit;text-align:left;cursor:pointer}.chapter-card{border:1px solid var(--border-strong);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface);overflow:hidden}.chapter-card+.chapter-card{margin-top:var(--gap)}.chapter-card-sub{margin-left:var(--gap);border-left-color:var(--accent-border)}.chapter-card-head{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--gap);padding:var(--gap);background:var(--surface-3);border-bottom:1px solid var(--border)}.chapter-card-head>*{min-width:0}.chapter-card-head>.field{grid-template-columns:max-content minmax(0,1fr)}.chapter-card-no{flex:0 0 9.5em}.chapter-card-title{flex:1 1 16rem}.chapter-card-weight{flex:0 0 12em}.chapter-card-moves{flex:0 0 auto;flex-wrap:nowrap}.chapter-card-body{border:0;border-radius:0}@media(max-width:768px){.chapter-card-no,.chapter-card-title,.chapter-card-weight{flex:1 1 100%}.chapter-card-head>.field{grid-template-columns:var(--label-w) minmax(0,1fr)}.chapter-card-moves{flex:1 1 100%}.chapter-card-sub{margin-left:calc(var(--gap) / 2)}}.wizard-steps{display:flex;gap:8px;margin:0 0 var(--gap);padding:0;list-style:none;counter-reset:wstep}.wizard-steps li{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-3);font-size:13px;counter-increment:wstep}.wizard-steps li:before{content:counter(wstep);flex:none;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--border);color:var(--surface);font-size:12px;font-weight:600}.wizard-steps li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-steps li.is-current{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent);font-weight:600}.wizard-steps li.is-current:before{background:var(--accent)}.wizard-steps li.is-done{color:var(--text-2)}.wizard-steps li.is-done:before{content:"✓";background:var(--accent)}.wizard-sources{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap)}.wizard-source{display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.wizard-source.is-filled{border-color:var(--accent-border)}.wizard-source h3{margin:0;font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.wizard-source>p{margin:0;font-size:12px;color:var(--text-3)}.wizard-source .textarea{min-height:180px}.wizard-facts{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;font-size:13px}.wizard-facts div{display:flex;gap:6px;min-width:0}.wizard-facts dt{color:var(--text-3);white-space:nowrap}.wizard-facts dd{margin:0;overflow-wrap:anywhere}.wizard-actions{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:var(--gap);padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:0 -2px 8px #0000000a}.wizard-actions .hint{flex:1 1 200px;margin:0}@media(max-width:768px){.wizard-steps{gap:4px}.wizard-steps li{padding:8px;font-size:12px;gap:6px}.wizard-steps li:before{width:18px;height:18px;font-size:11px}.wizard-actions{margin-left:calc(-1 * var(--gap));margin-right:calc(-1 * var(--gap));border-radius:0;border-width:1px 0 0}.wizard-actions .btn{flex:1 1 auto}}.kp-pick{max-height:min(55vh,480px);overflow:auto;display:flex;flex-direction:column;gap:var(--gap)}.kp-pick-group h3{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text-2)}.kp-pick-group .check{display:flex;padding:4px 0}.ai-compare{margin:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:48px;overflow-wrap:anywhere}.table tbody tr.picked,.table tbody tr.picked:hover{background:var(--accent-soft)}@media(pointer:coarse)and (max-height:500px){.card-head>.page-actions,.block-head>.page-actions{width:100%}.card-head>.page-actions>.btn,.block-head>.page-actions>.btn{flex:1 1 0;min-width:fit-content}}.shell[data-v-5c9bbd48]{min-height:100vh;background:var(--bg)}.topbar[data-v-5c9bbd48]{display:none;align-items:center;gap:10px;height:var(--topbar-h);padding:0 12px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-topbar)}.topbar-title[data-v-5c9bbd48]{flex:1;min-width:0;font-size:var(--font-lg)}.sidebar[data-v-5c9bbd48]{position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;width:var(--sidebar-w);display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border);z-index:var(--z-sidebar);transition:width .16s ease}.brand[data-v-5c9bbd48]{display:flex;align-items:center;gap:9px;height:56px;padding:0 14px;border-bottom:1px solid var(--border);flex:0 0 auto;overflow:hidden}.brand-mark[data-v-5c9bbd48]{display:block;width:26px;height:26px;flex:0 0 auto;border-radius:var(--radius-sm)}.brand-text[data-v-5c9bbd48]{display:grid;min-width:0;line-height:1.3}.brand-text strong[data-v-5c9bbd48]{font-size:var(--font-md);white-space:nowrap}.brand-text small[data-v-5c9bbd48]{font-size:var(--font-xs);white-space:nowrap}.nav[data-v-5c9bbd48]{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:10px 8px}.nav-group+.nav-group[data-v-5c9bbd48]{margin-top:12px}.nav-title[data-v-5c9bbd48]{padding:0 8px 4px;font-size:var(--font-xs);font-weight:500;color:var(--text-3);letter-spacing:.04em;white-space:nowrap}.nav-link[data-v-5c9bbd48]{display:flex;align-items:center;gap:9px;height:var(--nav-h);padding:0 8px;border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-2);font-size:var(--font-md);white-space:nowrap;overflow:hidden}.nav-link[data-v-5c9bbd48]:hover{background:var(--surface-3);color:var(--text-1);text-decoration:none}.nav-link.active[data-v-5c9bbd48]{background:var(--accent-soft);border-left-color:var(--accent);color:var(--accent-hover);font-weight:500}.nav-icon[data-v-5c9bbd48]{width:17px;height:17px;flex:0 0 auto}.nav-text[data-v-5c9bbd48]{min-width:0;overflow:hidden;text-overflow:ellipsis}.sidebar-foot[data-v-5c9bbd48]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--border);flex:0 0 auto;overflow:hidden}.who[data-v-5c9bbd48]{flex:1;min-width:0;font-size:var(--font-sm);color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collapse-btn[data-v-5c9bbd48]{display:flex;align-items:center;gap:9px;height:var(--nav-h);padding:0 10px;flex:0 0 auto;border:0;border-top:1px solid var(--border);background:transparent;color:var(--text-3);font:inherit;font-size:var(--font-sm);text-align:left;white-space:nowrap;overflow:hidden;cursor:pointer}.collapse-btn[data-v-5c9bbd48]:hover{background:var(--surface-3);color:var(--text-1)}.collapse-btn svg[data-v-5c9bbd48]{flex:0 0 auto}.main[data-v-5c9bbd48]{margin-left:var(--sidebar-w);padding:var(--page-pad-y) var(--page-pad-x);min-width:0;transition:margin-left .16s ease}.crumbs[data-v-5c9bbd48]{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:var(--gap);font-size:var(--font-sm);color:var(--text-3)}.crumbs strong[data-v-5c9bbd48]{font-weight:500;color:var(--text-2)}.crumbs .sep[data-v-5c9bbd48]{color:var(--border-strong)}@media(min-width:769px)and (not ((pointer:coarse)and (max-height:500px))){.shell.collapsed .sidebar[data-v-5c9bbd48]{width:var(--sidebar-w-collapsed)}.shell.collapsed .main[data-v-5c9bbd48]{margin-left:var(--sidebar-w-collapsed)}.shell.collapsed .brand[data-v-5c9bbd48]{justify-content:center;padding:0}.shell.collapsed .brand-text[data-v-5c9bbd48],.shell.collapsed .nav-text[data-v-5c9bbd48],.shell.collapsed .collapse-text[data-v-5c9bbd48],.shell.collapsed .who[data-v-5c9bbd48]{display:none}.shell.collapsed .nav[data-v-5c9bbd48]{padding:10px 6px}.shell.collapsed .nav-title[data-v-5c9bbd48]{height:1px;padding:0;margin:0 6px 6px;overflow:hidden;background:var(--border);color:transparent}.shell.collapsed .nav-group:first-child .nav-title[data-v-5c9bbd48]{display:none}.shell.collapsed .nav-link[data-v-5c9bbd48]{justify-content:center;padding:0;gap:0;border-left-width:0;border-radius:var(--radius-sm)}.shell.collapsed .nav-link.active[data-v-5c9bbd48]{background:var(--accent-soft);color:var(--accent-hover)}.shell.collapsed .sidebar-foot[data-v-5c9bbd48]{justify-content:center;padding:8px 6px}.shell.collapsed .nav-logout[data-v-5c9bbd48]{padding:0 6px}.shell.collapsed .collapse-btn[data-v-5c9bbd48]{justify-content:center;padding:0}}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.topbar[data-v-5c9bbd48]{display:flex}.sidebar[data-v-5c9bbd48]{width:min(272px,84vw);transform:translate(-100%);transition:transform .18s ease}.sidebar.open[data-v-5c9bbd48]{transform:none}.main[data-v-5c9bbd48]{margin-left:0}.collapse-btn[data-v-5c9bbd48],.crumbs[data-v-5c9bbd48]{display:none}.sidebar-foot[data-v-5c9bbd48]{padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}}@media(min-width:769px)and (max-height:480px)and (pointer:fine){.brand[data-v-5c9bbd48]{height:44px}.brand-text small[data-v-5c9bbd48]{display:none}.nav[data-v-5c9bbd48]{padding:6px 8px}.nav-group+.nav-group[data-v-5c9bbd48]{margin-top:6px}.nav-title[data-v-5c9bbd48]{padding-bottom:2px}.sidebar-foot[data-v-5c9bbd48]{padding:4px 10px}}.notice-read[data-v-8000dabe]{color:var(--text-2);font-weight:400}.notice-body[data-v-b83eb332]{white-space:pre-wrap;word-break:break-word;line-height:1.75}.ai-repair[data-v-bb2aaf28]{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px)}.rewrite-block[data-v-629db926]{margin-top:var(--gap)}.col-kp[data-v-76862206]{min-width:120px}.kn-tree[data-v-aa8ee59b]{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap)}.kn-chapter[data-v-aa8ee59b]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0}.kn-chapter>.kn-head[data-v-aa8ee59b]{background:var(--surface-2);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0}.kn-head[data-v-aa8ee59b]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px var(--card-pad);min-width:0}.kn-head>.actions[data-v-aa8ee59b]{margin-left:auto}.kn-toggle[data-v-aa8ee59b]{display:inline-flex;align-items:center;gap:6px;min-height:var(--control-h);padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left;flex:1 1 12em;min-width:0}.kn-caret[data-v-aa8ee59b]{color:var(--text-3);width:1em;flex:none}.kn-title[data-v-aa8ee59b]{font-weight:600;overflow-wrap:anywhere;min-width:0}.kn-section .kn-title[data-v-aa8ee59b]{font-weight:500;flex:1 1 12em}.kn-meta[data-v-aa8ee59b]{display:inline-flex;flex-wrap:wrap;gap:4px}.kn-meta>.tag+.tag[data-v-aa8ee59b]{margin-left:0}.kn-body[data-v-aa8ee59b]{padding:4px 0 var(--gap)}.kn-points[data-v-aa8ee59b]{list-style:none;margin:0;padding:0}.kn-point[data-v-aa8ee59b]{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding:6px var(--card-pad) 6px calc(var(--card-pad) + 1.25em);border-top:1px solid var(--border);min-width:0}.kn-points>.kn-point[data-v-aa8ee59b]:first-child{border-top:0}.kn-point[data-v-aa8ee59b]:hover{background:var(--surface-2)}.kn-point-title[data-v-aa8ee59b]{flex:1 1 10em;min-width:0;overflow-wrap:anywhere}.kn-point>.actions[data-v-aa8ee59b]{margin-left:auto}.kn-none[data-v-aa8ee59b]{padding:6px var(--card-pad) 6px calc(var(--card-pad) + 1.25em)}.kn-section[data-v-aa8ee59b]{margin:var(--gap) var(--card-pad) 0 calc(var(--card-pad) + 1.25em);border-left:2px solid var(--accent-border);background:var(--surface);min-width:0}.kn-section>.kn-head[data-v-aa8ee59b]{padding-left:12px}.kn-section .kn-point[data-v-aa8ee59b],.kn-section .kn-none[data-v-aa8ee59b]{padding-left:12px}.refine-section+.refine-section[data-v-aa8ee59b]{margin-top:var(--gap)}.refine-section-title[data-v-aa8ee59b]{display:flex;align-items:center;gap:8px;font-weight:600}.refine-row[data-v-aa8ee59b]{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:start;margin-top:8px}.refine-main[data-v-aa8ee59b]{display:grid;gap:4px;min-width:0}.kn-point-desc[data-v-aa8ee59b]{display:block}@media(max-width:768px){.kn-head>.actions[data-v-aa8ee59b],.kn-point>.actions[data-v-aa8ee59b]{margin-left:0;width:100%}.kn-section[data-v-aa8ee59b]{margin-left:10px;margin-right:10px}.kn-point[data-v-aa8ee59b],.kn-none[data-v-aa8ee59b]{padding-left:var(--card-pad)}}.cb-summary[data-v-7215fcb3]{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.cb-kps summary[data-v-7215fcb3]{cursor:pointer;font-weight:600}.cb-kp-group[data-v-7215fcb3]{margin-top:10px}.cb-kp-list[data-v-7215fcb3]{display:flex;flex-wrap:wrap;gap:4px 16px;padding-left:22px}.cb-actions[data-v-7215fcb3]{flex-wrap:wrap}.col-value[data-v-e21481a8]{width:40%;min-width:220px}.key-cell[data-v-e21481a8]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.editor-wrap[data-v-77e720ce]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.editor-bar[data-v-77e720ce]{gap:4px;padding:6px 8px;border-bottom:1px solid var(--border);background:var(--surface-2)}.editor-sep[data-v-77e720ce]{width:1px;align-self:stretch;margin:4px 2px;background:var(--border)}@media(max-width:768px){.editor-sep[data-v-77e720ce]{display:none}}.editor[data-v-77e720ce]{padding:10px 12px;min-height:200px}.editor-foot[data-v-77e720ce]{padding:6px 12px;border-top:1px solid var(--border);background:var(--surface-2)}.busy[data-v-77e720ce]{margin-left:8px;color:var(--accent)}.editor .tiptap{outline:none;line-height:1.8}.editor .tiptap table{border-collapse:collapse}.editor .tiptap td,.editor .tiptap th{border:1px solid var(--border-strong);padding:4px 8px}.editor .tiptap pre{background:var(--surface-3);padding:10px 12px;border-radius:var(--radius-sm);overflow-x:auto}.editor .tiptap img{max-width:100%}.mathml-node{display:inline-block;padding:0 2px;background:var(--accent-soft);border-radius:var(--radius-sm)}.mathml-node math{font-size:1.05em}.editor .tiptap [data-align=center],.rich [data-align=center]{text-align:center}.editor .tiptap [data-align=right],.rich [data-align=right]{text-align:right}.editor .tiptap [data-align=justify],.rich [data-align=justify]{text-align:justify}[data-image-missing]{display:inline-block;padding:1px 8px;font-size:12px;color:var(--warn);background:var(--warn-soft);border:1px dashed var(--warn-border);border-radius:var(--radius-sm);cursor:help}.exam-line[data-v-4b9c406e]{display:grid;gap:2px;justify-items:start}.exam-line+.exam-line[data-v-4b9c406e]{margin-top:2px}.pq-opts[data-v-b2fc4f1e]{list-style:none;padding:0}.pq-opt[data-v-b2fc4f1e]{display:flex;align-items:flex-start;gap:8px}.pq-text[data-v-b2fc4f1e]{white-space:pre-wrap}.bp-list[data-v-30259a4d]{list-style:none;margin:0;padding:0;display:grid;gap:8px}.bp-row[data-v-30259a4d]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.bp-pick[data-v-30259a4d]{flex:1 1 16em;min-width:0}.bp-picked[data-v-30259a4d]{border-color:var(--accent)}.drop[data-v-8b9ca08c]{min-height:80px;padding:14px;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);font-size:var(--field-font);color:var(--text-3)}.drop[data-v-8b9ca08c]:focus{outline:none;border-style:solid;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--text-1)}.preview+.preview[data-v-8b9ca08c]{margin-top:6px}.preview>summary[data-v-8b9ca08c]{cursor:pointer;padding:3px 0;color:var(--text-2)}.preview>pre[data-v-8b9ca08c]{margin:6px 0 0;padding:10px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);white-space:pre-wrap;word-break:break-all;max-height:220px;overflow:auto}.feedback-box[data-v-071d304d]{margin-top:var(--gap);border-top:1px dashed var(--border-strong);padding-top:var(--gap)}.feedback-toggle[data-v-071d304d]{display:flex;align-items:center;gap:8px;width:100%;min-height:var(--control-h);padding:0;border:0;background:transparent;color:var(--text-2);font:inherit;font-size:var(--font-md);text-align:left;cursor:pointer}.feedback-caret[data-v-071d304d]{color:var(--text-3)}.feedback-body[data-v-071d304d]{display:grid;gap:var(--gap);margin-top:6px}.feedback-kinds[data-v-071d304d]{flex-wrap:wrap}.feedback-mine .list-row[data-v-071d304d]{align-items:flex-start;padding-left:0;padding-right:0}.feedback-text[data-v-071d304d]{margin:4px 0 0;overflow-wrap:anywhere}.feedback-reply[data-v-071d304d]{margin:4px 0 0;font-size:var(--font-sm);color:var(--text-2)}.sheet[data-v-18311d7e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--control-h),1fr));gap:6px}.sheet-done[data-v-18311d7e]{background:var(--accent-soft);border-color:var(--accent-border)}.table td .tag+.tag[data-v-18311d7e]{margin-left:6px}.q-option[data-v-5a043f9d]{grid-template-columns:max-content minmax(0,1fr) auto;align-items:center;padding:6px 8px}.opt-picked[data-v-5a043f9d]{outline:2px solid var(--accent-border);border-radius:var(--radius)}.opt-correct[data-v-5a043f9d]{background:var(--ok-soft);border-radius:var(--radius)}.opt-tags[data-v-5a043f9d]{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:480px){.q-option[data-v-5a043f9d]{grid-template-columns:max-content minmax(0,1fr)}.opt-tags[data-v-5a043f9d]{grid-column:2;justify-content:flex-start}}.opt-stats[data-v-6d1feb67]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.opt-stats li[data-v-6d1feb67]{display:grid;grid-template-columns:7em minmax(0,1fr) 7.5em;gap:4px 10px;align-items:center}.opt-stats-label[data-v-6d1feb67]{display:inline-flex;gap:6px;align-items:center;white-space:nowrap}.opt-stats-bar[data-v-6d1feb67]{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden}.opt-stats-bar>span[data-v-6d1feb67]{display:block;height:100%;background:var(--text-3)}.opt-stats li.is-correct .opt-stats-bar>span[data-v-6d1feb67]{background:var(--ok)}.opt-stats-num[data-v-6d1feb67]{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}.opt-stats-names[data-v-6d1feb67]{grid-column:1 / -1}.bar-chart[data-v-15756f1b]{position:relative;margin:0;padding-bottom:18px}svg[data-v-15756f1b]{display:block;width:100%}.grid line[data-v-15756f1b]{stroke:var(--border);stroke-width:1;vector-effect:non-scaling-stroke}.bar[data-v-15756f1b]{fill:var(--accent)}.bar[data-v-15756f1b]:hover{fill:var(--accent-hover)}.y-ticks[data-v-15756f1b]{position:absolute;left:0;top:0;width:32px;pointer-events:none}.y-ticks span[data-v-15756f1b]{position:absolute;right:0;transform:translateY(-50%);font-size:var(--font-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.x-labels[data-v-15756f1b]{position:absolute;left:0;right:0;bottom:0;height:16px;pointer-events:none}.x-labels span[data-v-15756f1b]{position:absolute;transform:translate(-50%);white-space:nowrap;font-size:var(--font-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.empty-note[data-v-15756f1b]{position:absolute;top:0;right:0;bottom:18px;left:36px;display:flex;align-items:center;justify-content:center;margin:0}.perf-qlist[data-v-96b841f0]{list-style:none;margin:0;padding:0;display:grid;gap:8px}.perf-qlist li[data-v-96b841f0]{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;min-width:0}@media(max-width:768px),(pointer:coarse)and (max-height:500px){.perf-table[data-v-96b841f0] .table-cards tr{display:flex;flex-wrap:wrap;gap:2px 16px}.perf-table[data-v-96b841f0] .table-cards td{flex:0 0 auto}.perf-table[data-v-96b841f0] .table-cards td.col-text{flex-basis:100%;order:-1;font-weight:500}.perf-table[data-v-96b841f0] .table-cards td.col-text:before{content:none}}.quiz-stage[data-v-43f43b83]{display:flex;flex-direction:column;gap:var(--gap);font-size:var(--quiz-fs);min-width:0}.quiz-stage[data-v-43f43b83] .rich,.quiz-stage[data-v-43f43b83] .q-option,.quiz-stage[data-v-43f43b83] .q-option-label,.quiz-stage[data-v-43f43b83] .answer,.quiz-stage[data-v-43f43b83] .answer dt,.quiz-stage[data-v-43f43b83] .table,.quiz-stage[data-v-43f43b83] .opt-stats,.quiz-stage[data-v-43f43b83] .stat dd,.quiz-stage[data-v-43f43b83] .list-row{font-size:var(--quiz-fs)}.quiz-stage[data-v-43f43b83] .text-sm,.quiz-stage[data-v-43f43b83] .text-xs,.quiz-stage[data-v-43f43b83] .tag,.quiz-stage[data-v-43f43b83] .stat dt,.quiz-stage[data-v-43f43b83] .stat-note,.quiz-stage[data-v-43f43b83] .hint,.quiz-stage[data-v-43f43b83] .card-head p{font-size:calc(var(--quiz-fs) * .75)}.quiz-stage[data-v-43f43b83] h2,.quiz-stage[data-v-43f43b83] h3{font-size:calc(var(--quiz-fs) * 1.15)}.quiz-stage[data-v-43f43b83] .opt-stats-bar{height:calc(var(--quiz-fs) * .5)}@media(max-width:768px){.quiz-stage[data-v-43f43b83] .opt-stats li{grid-template-columns:max-content minmax(0,1fr)}.quiz-stage[data-v-43f43b83] .opt-stats-num{grid-column:1 / -1;text-align:left;white-space:normal}}.quiz-head[data-v-43f43b83]{display:flex;gap:var(--gap);align-items:flex-start;flex-wrap:wrap}.quiz-q[data-v-43f43b83]{flex:1 1 28em;min-width:0}.quiz-qr[data-v-43f43b83]{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.quiz-qr img[data-v-43f43b83]{width:clamp(220px,calc(var(--quiz-fs) * 10),360px);height:auto;aspect-ratio:1;image-rendering:pixelated}.quiz-roster[data-v-43f43b83]{display:grid;grid-template-columns:repeat(auto-fill,minmax(8em,1fr));gap:6px;list-style:none;margin:0;padding:0}.quiz-roster li[data-v-43f43b83]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:6px}.quiz-roster li.is-done[data-v-43f43b83]{background:var(--surface-2)}.quiz-roster-name[data-v-43f43b83]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quiz-pick-bar[data-v-43f43b83]{display:flex;flex-wrap:wrap;gap:var(--gap);align-items:center}.quiz-pick[data-v-43f43b83]{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--gap);justify-content:center;text-align:center}.quiz-pick-name[data-v-43f43b83]{font-size:calc(var(--quiz-fs) * 2.4);line-height:1.2}.quiz-steps[data-v-43f43b83]{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.quiz-steps li[data-v-43f43b83]{min-width:2.2em;padding:2px 8px;text-align:center;border:1px solid var(--border);border-radius:6px}.quiz-steps li.is-closed[data-v-43f43b83]{background:var(--surface-2);color:var(--text-3)}.quiz-steps li.is-live[data-v-43f43b83]{border-color:var(--accent);color:var(--accent);font-weight:600}.quiz-list[data-v-d84f8d15],.quiz-now[data-v-902e718f]{padding-top:var(--gap)}.quiz-submit[data-v-902e718f]{display:flex;flex-direction:column;align-items:stretch;gap:6px}@media(min-width:769px){.quiz-submit[data-v-902e718f]{flex-direction:row;align-items:center}}.opt-static[data-v-b6312fd5]:hover{border-color:var(--border);background:var(--surface)}.opt-static.correct[data-v-b6312fd5]:hover{border-color:var(--ok-border);background:var(--ok-soft)}.opt-static.wrong[data-v-b6312fd5]:hover{border-color:var(--danger-border, var(--border));background:var(--danger-soft, var(--surface))}.teacher-list[data-v-cd7646f5],.ended-list[data-v-cd7646f5]{list-style:none;margin:0;padding:0;display:grid;gap:8px}.teacher-list li[data-v-cd7646f5],.ended-list li[data-v-cd7646f5]{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.trend[data-v-1fe17845]{display:flex;align-items:flex-end;gap:2px;height:88px;margin:0;padding:0 0 var(--pad);list-style:none}.trend li[data-v-1fe17845]{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;height:100%}.trend-bar[data-v-1fe17845]{flex:1;width:100%;display:flex;align-items:flex-end;background:var(--surface-3);border-radius:2px 2px 0 0}.trend-fill[data-v-1fe17845]{width:100%;background:var(--accent);border-radius:2px 2px 0 0;min-height:0}.trend-day[data-v-1fe17845]{font-size:var(--font-xs);color:var(--text-3);margin-top:4px;min-height:1.2em;white-space:nowrap}.card-head>.field[data-v-3d572b88]{flex:0 0 auto;min-width:180px}@media(max-width:768px){.card-head>.field[data-v-3d572b88]{width:100%}}.version-select[data-v-f81ae811]{width:auto;min-width:120px}.issues[data-v-f81ae811]{list-style:none;margin:0;padding:0}.issue[data-v-f81ae811]{display:flex;gap:10px;align-items:flex-start;padding:8px var(--card-pad);border-top:1px solid var(--border);font-size:var(--font-md)}.issue[data-v-f81ae811]:first-child{border-top:0}.issue>.grow[data-v-f81ae811]{flex:1;min-width:0}.issue-file[data-v-f81ae811]{margin-right:6px}@media(max-width:768px){.version-select[data-v-f81ae811]{width:100%}}.term+.term[data-v-d4a97534]{margin-top:var(--gap)}.term-title[data-v-d4a97534]{padding:6px var(--card-pad);margin:0 calc(var(--card-pad) * -1);background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:var(--font-sm);font-weight:600;color:var(--text-2)}.term:first-child .term-title[data-v-d4a97534]{border-top:0}.attention-list[data-v-73bf494c]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.attention-list li[data-v-73bf494c]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.qf-list[data-v-daafaab9]>*+*{margin-top:var(--gap)}.qf-text[data-v-daafaab9]{white-space:pre-wrap;overflow-wrap:anywhere}.qf-opt-row[data-v-daafaab9]{display:grid;grid-template-columns:5rem 1fr auto;gap:var(--gap);margin-bottom:var(--gap)}.qf-opt-row[data-v-daafaab9]>*{min-width:0}.audit-failed[data-v-c359f2e2]{color:var(--danger)}.page-url[data-v-c359f2e2]{overflow-wrap:anywhere}.kp-cell[data-v-c5e50d3b]{padding-left:1.5em}.merge-row[data-v-c9f2f7b2]{align-items:flex-start}.merge-detail[data-v-c9f2f7b2]{display:block}.indent-1[data-v-c9f2f7b2]{padding-left:16px}.indent-2[data-v-c9f2f7b2]{padding-left:32px}.indent-3[data-v-c9f2f7b2]{padding-left:48px}.indent-4[data-v-c9f2f7b2]{padding-left:64px}.opt-row[data-v-7db3e5c9]{display:grid;grid-template-columns:5rem 1fr auto;gap:var(--gap);margin-bottom:var(--gap)}.opt-row[data-v-7db3e5c9]>*{min-width:0}.opt-label[data-v-7db3e5c9]{text-align:center}.proposal[data-v-7db3e5c9]{margin-bottom:var(--gap)}.filemgr[data-v-0f24e4af]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap)}.filemgr[data-v-0f24e4af]>*{min-width:0}.upload-row[data-v-0f24e4af]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr) auto;gap:var(--gap);align-items:center}.upload-row.no-kind[data-v-0f24e4af]{grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}.upload-row[data-v-0f24e4af]>*{min-width:0}@media(max-width:768px){.upload-row[data-v-0f24e4af],.upload-row.no-kind[data-v-0f24e4af]{grid-template-columns:minmax(0,1fr)}.upload-btn[data-v-0f24e4af]{width:100%}}.overview[data-v-888f7a6d]{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap)}.overview[data-v-888f7a6d]>*{min-width:0}.seat-list[data-v-bd32e83b]{margin-left:calc(var(--card-pad) * -1);margin-right:calc(var(--card-pad) * -1)}.composer[data-v-0ad76dbb]{display:grid;gap:var(--gap)}.composer-kinds[data-v-0ad76dbb]{flex-wrap:wrap}.msg-list[data-v-01701b61]{display:grid;gap:var(--gap);margin:0;padding:0;list-style:none}.msg-item[data-v-01701b61]{display:grid;gap:6px;min-width:0;padding:var(--gap);border:1px solid var(--border);border-radius:var(--radius)}.msg-head[data-v-01701b61]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.msg-head>.grow[data-v-01701b61]{flex:1}.msg-source[data-v-01701b61]{margin:0;overflow-wrap:anywhere;color:var(--text-2)}.msg-content[data-v-01701b61]{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.msg-item>.alert[data-v-01701b61],.msg-item>.actions[data-v-01701b61]{margin:0}
