.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{color-scheme:light;font-family:Inter,Segoe UI,Microsoft YaHei,PingFang SC,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #f6f7f9;--panel: #ffffff;--panel-border: #d8dee8;--text: #172033;--muted: #647084;--accent: #167c80;--accent-strong: #0f686c;--blue: #3366cc;--green: #2f855a;--red: #b42318;--shadow: 0 12px 32px rgb(25 36 56 / 10%);--param-label: #566175;--param-text: #172033;--param-surface: #f8fafc;--param-surface-strong: #eef2f7;--control-bg: #ffffff;--control-border: #cbd5e1;--control-border-focus: #6f84a3;--control-radius: 7px;--control-height: 34px;--control-pad-x: 9px;--control-font-size: 13px;--label-font-size: 12px;--micro-font-size: 11px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{color:var(--text);background:var(--bg)}button,input,select,textarea{font:inherit;letter-spacing:0}button{cursor:pointer}.platform-shell{display:grid;grid-template-rows:72px 1fr;height:100%;min-height:0}.product-header{display:flex;align-items:center;gap:24px;padding:0 28px;background:#fff;border-bottom:1px solid var(--panel-border);box-shadow:0 6px 24px #1924380d;z-index:20}.brand-lockup{display:inline-flex;align-items:center;gap:11px;min-width:220px;padding:0;color:var(--text);background:transparent;border:0;text-decoration:none;text-align:left}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:#fff;background:#176d73;border-radius:8px;font-size:20px;font-weight:800}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup strong{font-size:16px;line-height:1.25}.brand-lockup small{margin-top:2px;color:var(--muted);font-size:11px;font-weight:700}.product-nav{display:flex;align-items:center;justify-content:center;flex:1;gap:2px;min-width:0}.product-nav a{min-height:38px;padding:0 13px;color:#4f5b70;background:transparent;border:0;border-radius:7px;font-size:13px;font-weight:800;line-height:38px;text-decoration:none;white-space:nowrap}.product-nav a:hover,.product-nav a.active{color:#0f4045;background:#eef6f6}.account-area{display:flex;justify-content:flex-end;min-width:132px;position:relative}.account-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 13px;color:var(--text);background:#fff;border:1px solid var(--panel-border);border-radius:8px;font-size:13px;font-weight:800}.account-button.primary{color:#fff;background:#176d73;border-color:#176d73}.user-menu-wrap{position:relative}.user-menu-panel{position:absolute;top:calc(100% + 9px);right:0;z-index:40;width:220px;padding:10px;background:#fff;border:1px solid var(--panel-border);border-radius:8px;box-shadow:var(--shadow)}.user-menu-panel div{padding:6px 8px 10px;border-bottom:1px solid #eef2f7}.user-menu-panel strong,.user-menu-panel span{display:block}.user-menu-panel strong{font-size:14px}.user-menu-panel span{margin-top:3px;color:var(--muted);font-size:12px}.user-menu-panel button{width:100%;min-height:34px;margin-top:6px;padding:0 8px;color:var(--text);background:transparent;border:0;border-radius:6px;text-align:left;font-size:13px;font-weight:800}.user-menu-panel button:hover{background:#f3f6f8}.module-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--panel-border)}.module-header h1,.module-page-header h2{margin:0;letter-spacing:0}.module-header h1{font-size:19px;line-height:1.25}.module-header p,.module-page-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.module-tabs{display:inline-flex;gap:4px;padding:4px;background:#eef2f7;border:1px solid #d8dee8;border-radius:8px}.module-tabs button{min-height:34px;padding:0 13px;color:var(--muted);background:transparent;border:0;border-radius:6px;font-size:13px;font-weight:700}.module-tabs button.active{color:var(--text);background:#fff;box-shadow:0 1px 4px #1924381f}.module-content{min-height:0;overflow:hidden}.module-page{height:100%;min-height:0;overflow:auto;padding:18px}.online-exam-page{--online-action-height: 34px;--online-action-font-size: 13px}.home-page{height:100%;overflow:auto;padding:44px 28px 28px;background:linear-gradient(180deg,#ffffffb8,#f7fafc9e 54%,#eef5f7c2),url(/assets/home-cloud-bg-BneqXBKC.png) center bottom / cover no-repeat,#f7fafc}.landing-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);align-items:center;gap:48px;max-width:1180px;margin:0 auto;min-height:min(680px,calc(100vh - 144px))}.landing-hero-copy h1{margin:0;color:#10202f;font-size:58px;line-height:1.08;font-weight:850}.landing-hero-copy p{max-width:660px;margin:22px 0 0;color:#516074;font-size:17px;line-height:1.85}.landing-actions,.landing-role-row{display:flex;align-items:center;flex-wrap:wrap}.landing-actions{gap:12px;margin-top:28px}.landing-primary-action,.landing-secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 17px;border-radius:8px;font-size:14px;font-weight:850}.landing-primary-action{color:#fff;background:#176d73;border:1px solid #176d73}.landing-secondary-action{color:#183846;background:#fff;border:1px solid #cfd8e3}.landing-role-row{gap:10px;margin-top:22px}.landing-role-row span{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 10px;color:#415169;background:#fff;border:1px solid #dde5ed;border-radius:8px;font-size:12px;font-weight:800}.landing-product-visual{min-height:500px;padding:16px;background:#fff;border:1px solid #d9e1ea;border-radius:8px;box-shadow:0 24px 60px #19243821}.visual-topbar{display:flex;align-items:center;gap:7px;min-height:40px;padding-bottom:10px;color:#657185;border-bottom:1px solid #eef2f7;font-size:12px;font-weight:850}.visual-window-dot{width:9px;height:9px;background:#cfd8e3;border-radius:50%}.visual-topbar strong{margin-left:8px;margin-right:auto;white-space:nowrap}.visual-slider-window{overflow:hidden}.visual-slider-track{display:flex;transition:transform .24s ease}.visual-slide{flex:0 0 100%;min-width:0;padding-top:18px}.visual-slide-header{display:grid;gap:5px}.visual-slide-header>span{color:#176d73;font-size:11px;font-weight:900;text-transform:uppercase}.visual-slide-header>strong{color:#10202f;font-size:20px}.visual-slide-header>p{max-width:560px;margin:0;color:#5f6d80;font-size:13px;font-weight:700;line-height:1.65}.visual-workflow{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:20px}.visual-workflow:before{content:"";position:absolute;top:27px;left:8%;right:8%;height:2px;background:#b7c9cf}.visual-node{position:relative;z-index:1;display:grid;gap:10px;min-height:94px;padding:12px;background:#f8fafc;border:1px solid #d8e2ea;border-radius:8px}.visual-node span{display:grid;place-items:center;width:30px;height:30px;color:#fff;background:#176d73;border-radius:7px;font-size:12px;font-weight:900}.visual-node strong{align-self:end;color:#253143;font-size:13px}.visual-exam-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(190px,1.1fr);gap:18px;align-items:center;margin-top:22px;padding:18px;background:#f4f8f7;border:1px solid #d7e4e2;border-radius:8px}.visual-exam-card strong,.visual-exam-card span{display:block}.visual-exam-card strong{color:#10202f;font-size:18px}.visual-exam-card span{margin-top:8px;color:#5f6d80;font-size:13px;font-weight:750}.visual-question-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.visual-question-grid span{display:grid;place-items:center;aspect-ratio:1;margin:0;color:#607086;background:#e4eaf1;border-radius:7px;font-size:12px;font-weight:900}.visual-question-grid span.answered{color:#fff;background:#2f855a}.visual-paper-card{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(0,1fr);gap:18px;align-items:center;margin-top:22px;padding:18px;background:#f6f8fc;border:1px solid #dbe4ef;border-radius:8px}.visual-paper-card strong,.visual-paper-card span{display:block}.visual-paper-card strong{color:#10202f;font-size:18px}.visual-paper-card>div:last-child>span{margin-top:8px;color:#5f6d80;font-size:13px;font-weight:750}.visual-paper-sheet{display:grid;gap:8px;width:132px;min-height:176px;padding:14px 12px;background:#fff;border:1px solid #d5e0ec;border-radius:7px;box-shadow:0 10px 24px #1924381a}.visual-paper-title{width:70%;height:12px;margin:0 auto 2px;background:#176d73;border-radius:999px}.visual-paper-line,.visual-paper-section{height:7px;background:#dfe7f0;border-radius:999px}.visual-paper-line.wide{width:100%}.visual-paper-line.short{width:58%}.visual-paper-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.visual-paper-grid span{height:24px;background:#eef3f7;border:1px solid #d9e3ec;border-radius:6px}.visual-paper-section{height:34px;background:linear-gradient(135deg,#eef7f7,#edf2fb);border:1px solid #d5e3ed}.visual-paper-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.visual-paper-tags span{padding:5px 8px;color:#23535f;background:#eef7f7;border:1px solid #c8dde0;border-radius:7px;font-size:12px;font-weight:850}.visual-slide-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}.visual-slide-dots span{width:18px;height:4px;background:#d4dde8;border-radius:999px}.visual-slide-dots span.active{background:#176d73}.login-page-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#eef3f3}.login-dialog{position:relative;display:grid;grid-template-rows:auto 1fr auto;width:min(430px,calc(100vw - 32px));min-height:570px;background:#fff;border:1px solid #d9e5e4;box-shadow:0 18px 50px #0f55591a}.login-dialog.register{min-height:705px}.login-dialog.password-reset{min-height:500px}.login-brand{display:grid;justify-items:center;gap:22px;padding:72px 32px 0}.login-brand strong{color:#0f172a;font-size:16px;font-weight:800}.login-brand-mark{display:grid;place-items:center;width:76px;height:76px;color:#fff;background:#176d73;border-radius:18px;box-shadow:0 12px 28px #176d733d;font-size:35px;font-weight:900;letter-spacing:0}.login-form{display:grid;gap:12px;align-content:start;padding:28px 34px 0}.login-input-wrap{display:flex;align-items:center;height:44px;padding:0 12px;color:#7c9293;background:#edf6f5;border:1px solid #d9e9e7;border-radius:6px}.login-input-wrap input{flex:1;min-width:0;height:100%;padding:0 10px;color:var(--text);background:transparent;border:0;outline:none;font-size:14px;font-weight:700}.login-input-wrap:focus-within{background:#f5fbfa;border-color:#94c6c2}.login-input-wrap input::placeholder{color:#9fb0bf}.password-visibility-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:0;color:#7c9293;background:transparent;border:0;border-radius:6px;cursor:pointer}.password-visibility-button:hover{color:#176d73;background:#176d7314}.password-visibility-button:focus-visible{outline:2px solid #94c6c2;outline-offset:1px}.login-code-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:10px}.login-send-code-button{height:44px;color:#fff;background:#176d73;border:1px solid #176d73;border-radius:6px;font-size:14px;font-weight:800;cursor:pointer}.login-send-code-button:hover:not(:disabled){background:#0f5559;border-color:#0f5559}.login-send-code-button:disabled{cursor:not-allowed;opacity:.62}.login-terms-row{display:flex;align-items:center;gap:8px;color:#4b5563;font-size:13px}.login-terms-row input{width:15px;height:15px;accent-color:#176d73}.login-error{padding:9px 11px;color:#9f1d14;background:#fff1f0;border:1px solid #f2bfbb;border-radius:8px;font-size:13px;font-weight:800}.login-dialog-actions{margin-top:6px}.login-dialog-actions .preview-confirm-button{width:100%;height:40px;color:#fff;background:#176d73;border-color:#176d73;border-radius:4px;font-size:15px}.login-dialog-actions .preview-confirm-button:hover:not(:disabled){background:#0f5559;border-color:#0f5559}.login-footer{display:flex;align-items:center;justify-content:flex-start;min-height:48px;padding:0 34px;color:#64748b;background:#f7f8fa;font-size:13px}.login-footer div{display:flex;align-items:center;gap:5px}.login-footer button{display:inline-flex;align-items:center;gap:4px;padding:0;color:#64748b;background:transparent;border:0;font:inherit;cursor:pointer}.login-footer button:hover{color:#176d73}.take-exam-page,.docs-page,.admin-page{background:#f6f8fb}.admin-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.admin-overview-card{display:grid;gap:6px}.admin-overview-card span{color:var(--muted);font-size:13px;font-weight:800}.admin-overview-card strong{color:var(--text);font-size:26px}.admin-section{margin-top:14px}.admin-user-table,.admin-contribution-list{display:grid;gap:8px;margin-top:12px}.admin-user-row{display:grid;grid-template-columns:minmax(220px,1.3fr) 150px 130px 110px 90px;gap:10px;align-items:center;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.admin-user-row.header{color:var(--muted);background:#eef2f6;font-size:12px;font-weight:800}.admin-user-row span,.admin-contribution-row span{display:grid;gap:3px;min-width:0}.admin-user-row strong,.admin-contribution-row strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.admin-user-row small,.admin-contribution-row small{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.admin-user-row select,.admin-user-row input,.admin-contribution-row select,.admin-contribution-row input{height:34px;padding:0 8px;color:var(--text);background:#fff;border:1px solid var(--control-border);border-radius:8px;outline:none}.admin-mini-toggle{height:34px;color:var(--muted);background:#fff;border:1px solid var(--control-border);border-radius:8px;font-size:12px;font-weight:800;cursor:pointer}.admin-mini-toggle.active{color:#0f5559;background:#eef6f6;border-color:#9bc7c5}.admin-token-input{width:100%}.admin-contribution-row{display:grid;grid-template-columns:minmax(220px,1fr) 150px 120px;gap:10px;align-items:center;padding:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.take-exam-shell{display:grid;grid-template-columns:minmax(0,.95fr) minmax(340px,.75fr);gap:18px;max-width:1040px;margin:42px auto 0}.take-exam-copy,.exam-waiting-panel,.docs-card,.docs-cta-band{background:#fff;border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 22px #1924380f}.take-exam-copy{padding:24px}.take-exam-copy h2,.docs-header h2{margin:0;font-size:28px}.take-exam-copy p,.docs-header p{margin:10px 0 0;color:var(--muted);line-height:1.75}.exam-key-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:22px}.exam-key-form label{display:grid;gap:7px;color:var(--param-label);font-size:13px;font-weight:800}.exam-key-form input{height:42px;padding:0 12px;color:var(--text);background:#fff;border:1px solid var(--control-border);border-radius:8px;outline:none}.exam-key-form input:focus{border-color:#176d73;box-shadow:0 0 0 3px #176d7321}.take-exam-status{min-height:24px;font-size:13px;font-weight:750}.exam-waiting-panel{display:grid;align-content:center;min-height:320px;padding:24px;background:#183846;color:#fff}.exam-waiting-panel span{color:#b7d9dc;font-size:12px;font-weight:900}.exam-waiting-panel h3{margin:12px 0 0;font-size:24px}.exam-waiting-panel p{margin:10px 0 0;color:#d6e1e7;font-size:14px;line-height:1.7}.exam-waiting-meta{display:grid;gap:6px;margin-top:12px}.exam-waiting-meta p{margin:0;color:#d6e1e7;font-size:14px;font-weight:750;line-height:1.55}.exam-waiting-panel strong{display:block;margin-top:0;font-size:14px;line-height:1.7}.exam-start-countdown{display:inline-flex;align-items:baseline;gap:8px;width:fit-content;margin-top:14px;padding:8px 10px;background:#ffffff1f;border:1px solid rgb(255 255 255 / 16%);border-radius:8px}.exam-start-countdown span{margin:0;color:#b7d9dc}.exam-start-countdown strong{color:#fff;font-size:18px;line-height:1}.waiting-placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.waiting-placeholder-grid span{height:48px;background:#ffffff24;border:1px solid rgb(255 255 255 / 18%);border-radius:8px}.docs-header{max-width:980px;margin:24px auto 0}.docs-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:1180px;margin:20px auto 0}.docs-card{min-height:166px;padding:16px}.docs-card svg{color:#176d73}.docs-card strong{display:block;margin-top:14px;font-size:15px}.docs-card p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.docs-cta-band{display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1180px;margin:16px auto 0;padding:18px}.docs-cta-band strong,.docs-cta-band span{display:block}.docs-cta-band strong{font-size:17px}.docs-cta-band span{margin-top:5px;color:var(--muted);font-size:13px}.module-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.module-page-header h2{font-size:20px;line-height:1.25}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.bank-header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.bank-header-action-block{display:grid;justify-items:end;gap:6px}.question-bank-view-switch{display:inline-flex;flex-wrap:wrap;gap:8px;padding:4px;background:#eef4f8;border:1px solid #dce6ef;border-radius:8px}.question-bank-view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;color:var(--muted);background:transparent;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:850}.question-bank-view-switch button.active{color:#0f4045;background:#fff;border-color:#bfd3dc;box-shadow:0 5px 12px #19243812}.question-bank-view-switch button span{min-width:22px;padding:2px 7px;color:#176d73;background:#e7f6f4;border-radius:999px;font-size:12px}.question-bank-selection-hint{color:var(--muted);font-size:12px;font-weight:700}.bank-upload-input{display:none}.bank-upload-button{cursor:pointer}.bank-upload-button input{display:none}.question-bank-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.question-bank-task-guide{position:relative;display:grid;grid-template-columns:minmax(210px,.45fr) minmax(0,1.55fr);gap:12px;align-items:stretch;margin-bottom:12px;padding:10px 44px 10px 12px;background:#fff;border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 22px #1924380d}.question-bank-task-guide-toggle{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--muted);background:#f8fafc;border:1px solid #dfe7ef;border-radius:7px}.question-bank-task-guide-toggle:hover{color:var(--text);background:#fff;border-color:#c8d2df}.question-bank-task-guide-collapsed{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-bottom:14px;padding:10px 12px;color:var(--text);text-align:left;background:#fff;border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 22px #1924380d}.question-bank-task-guide-collapsed span{color:#b45309;font-size:12px;font-weight:850}.question-bank-task-guide-collapsed strong{margin-right:auto;font-size:13px}.question-bank-task-guide-copy{display:grid;align-content:center;gap:4px;min-width:0}.question-bank-task-guide-copy span{color:#b45309;font-size:12px;font-weight:850}.question-bank-task-guide-copy strong{color:var(--text);font-size:16px;line-height:1.3}.question-bank-task-guide-copy p{max-width:360px;margin:0;color:var(--muted);font-size:12px;line-height:1.45}.question-bank-task-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.question-bank-task-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:5px;min-width:0;min-height:96px;padding:10px;color:var(--text);text-align:left;background:#f8fafc;border:1px solid #dbe4ee;border-radius:8px}.question-bank-task-card>button{text-align:left}.question-bank-task-card svg{color:#176d73}.question-bank-task-card strong{font-size:14px;line-height:1.25}.question-bank-task-card span{color:var(--muted);font-size:12px;line-height:1.35}.question-bank-task-card:hover{background:#fff;border-color:#a9bfca;box-shadow:0 8px 18px #19243812}.question-bank-task-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.question-bank-task-card-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px;padding:0 8px;color:#0f4045;background:#fff;border:1px solid #a7dcc9;border-radius:7px;font-size:12px;font-weight:850}.question-bank-task-card-actions button:hover{background:#f4fbfb;border-color:#70c7ae}.question-bank-list-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.question-bank-list-panel-head .panel-title{margin-bottom:4px}.question-bank-list-panel-head .management-status{margin-bottom:0}.bank-list-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.question-bank-list-hint{margin:-2px 0 10px}.question-bank-operation-status{margin:-2px 0 10px;padding:9px 10px;color:#0f4045;background:#f4fbfb;border:1px solid #cce3e5;border-radius:7px;font-size:12px;font-weight:750;line-height:1.45}.question-bank-operation-status.error{color:#9f1d1d;background:#fff5f5;border-color:#f3c2c2}.question-bank-list-panel.is-guided{animation:question-bank-list-guide 1.2s ease-in-out}@keyframes question-bank-list-guide{0%,to{border-color:var(--panel-border);box-shadow:0 8px 22px #1924380f}22%,72%{border-color:#0f9f8f;box-shadow:0 0 0 3px #14b8a62e,0 12px 28px #14b8a624}}.question-bank-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:10px 12px;color:var(--muted);background:#fff;border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 22px #1924380d;font-size:13px;font-weight:700}.question-bank-selection-bar button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:1100px){.platform-shell{grid-template-rows:auto 1fr}.product-header{align-items:flex-start;flex-wrap:wrap;gap:12px;padding:12px 16px}.brand-lockup{min-width:0}.product-nav{order:3;justify-content:flex-start;width:100%;overflow-x:auto}.account-area{margin-left:auto}.landing-hero,.take-exam-shell{grid-template-columns:1fr}.landing-hero{gap:24px;min-height:0}.landing-hero-copy h1{font-size:42px}.docs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.docs-cta-band{align-items:flex-start;flex-direction:column}.question-bank-section-grid{grid-template-columns:1fr}.bank-header-actions{justify-content:flex-start}.bank-header-action-block{justify-items:start}.question-bank-view-switch{justify-content:flex-start}.question-bank-task-guide{grid-template-columns:1fr}.question-bank-task-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.question-bank-list-panel-head{align-items:stretch;flex-direction:column}.bank-list-actions{justify-content:flex-start}.question-bank-selection-bar{align-items:flex-start;flex-direction:column}}@media(max-width:720px){.home-page{padding:28px 14px 18px}.landing-hero-copy h1{font-size:34px}.landing-hero-copy p{font-size:15px}.landing-product-visual{min-height:0}.visual-topbar{align-items:flex-start;flex-wrap:wrap}.visual-workflow,.visual-exam-card,.visual-paper-card,.docs-grid,.exam-key-form{grid-template-columns:1fr}.visual-workflow:before{display:none}.take-exam-shell{margin-top:10px}.module-page-header{align-items:flex-start;flex-direction:column}.question-bank-task-actions{grid-template-columns:1fr}.question-bank-view-switch,.question-bank-view-switch button,.bank-list-actions,.bank-list-actions .workflow-file-button{width:100%}.product-nav a{padding:0 10px}}.management-panel{padding:14px;background:#fff;border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 8px 22px #1924380f}.management-panel label{display:grid;gap:6px;color:var(--param-label);font-size:var(--label-font-size);font-weight:700}.file-upload-card{min-height:98px;place-items:center;padding:18px;color:var(--text);text-align:center;background:#f8fafc;border:1px dashed #b8c5d6;border-radius:8px}.file-upload-card input{display:none}.file-upload-card span{font-size:14px;font-weight:800}.file-upload-card small{max-width:340px;color:var(--muted);font-size:12px;font-weight:500;line-height:1.45}.management-status{margin:0 0 10px;color:var(--muted);font-size:12px}.management-status.retention-note{margin-top:-3px;color:#6b7b8f}.question-bank-table{display:grid;overflow:hidden;border:1px solid #e2e8f0;border-radius:7px}.question-bank-table-header,.question-bank-row{display:grid;grid-template-columns:minmax(220px,1fr) 90px 120px 150px;gap:10px;align-items:center;padding:10px 12px}.question-bank-table-header{color:var(--param-label);font-size:12px;font-weight:800;background:#eef4f8}.question-bank-row{width:100%;text-align:left;background:#fff;border:0;color:var(--text);font-size:13px;border-top:1px solid #e7edf5}.question-bank-row:hover,.question-bank-row.active{background:#f3f8f8}.question-bank-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-bank-row span{color:var(--muted)}.question-bank-empty{padding:16px 12px;color:var(--muted);font-size:13px;border-top:1px solid #e7edf5}.question-bank-empty p{margin:0}.question-bank-empty-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.question-bank-empty-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 10px;color:#0f4045;background:#f4fbfb;border:1px solid #b9d9dc;border-radius:7px;font-size:12px;font-weight:800}.question-bank-empty-actions button:hover{background:#ecfdf5;border-color:#8fd5c1}.question-editor-panel{margin-top:14px}.question-editor-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.question-editor-header .panel-title{margin-bottom:4px}.question-editor-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(420px,1.4fr);gap:14px;min-height:0}.question-list{display:grid;align-content:start;max-height:620px;overflow:auto;border:1px solid #e2e8f0;border-radius:7px}.question-list-search{position:sticky;top:0;z-index:1;display:grid;gap:8px;padding:9px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.question-list-search-row,.question-list-filter-row{display:grid;gap:7px;align-items:center}.question-list-search-row{grid-template-columns:minmax(0,1fr) auto}.question-list-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr) auto auto}.question-list-search input,.question-list-search select{min-width:0;height:34px;padding:0 10px;color:var(--param-text);background:#fff;border:1px solid var(--control-border);border-radius:7px;font-size:13px;outline:none}.question-list-search input:focus,.question-list-search select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a6f7a1a}.question-list-search button{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:34px;padding:0 9px;color:var(--text);background:#fff;border:1px solid #d7e0ea;border-radius:7px;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap}.question-list-search button:hover{background:#f2f7f8;border-color:#b9cbd2}.question-list-search span{color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}@media(max-width:1180px){.question-list-filter-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.question-list-row{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:9px 10px;text-align:left;background:#fff;border:0;border-bottom:1px solid #e7edf5}.question-list-row:hover,.question-list-row.active{background:#f3f8f8}.question-list-row span{color:var(--muted);font-size:12px;font-weight:800}.question-list-row strong{overflow:hidden;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.question-list-row small{color:var(--muted);font-size:11px}.question-form,.question-form-empty{min-height:320px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px}.question-form{display:grid;gap:11px}.question-form-empty{display:grid;place-items:center;color:var(--muted);font-size:13px}.question-form label{display:grid;gap:5px;color:var(--param-label);font-size:var(--label-font-size);font-weight:700}.subquestion-editor{display:grid;gap:10px;padding:11px;background:#fff;border:1px solid #dbe4ef;border-radius:7px}.subquestion-editor-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.subquestion-editor-header div{display:grid;gap:2px}.subquestion-editor-header strong{color:var(--text);font-size:13px}.subquestion-editor-header span,.subquestion-empty{color:var(--muted);font-size:12px}.subquestion-empty{padding:10px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:7px}.subquestion-item-list{display:grid;gap:9px}.subquestion-item{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:9px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:7px}.subquestion-item-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.subquestion-item-header span{display:inline-flex;align-items:center;justify-content:center;min-width:82px;height:28px;padding:0 10px;color:var(--accent);background:#eef8fa;border:1px solid #b8dce2;border-radius:999px;font-size:12px;font-weight:800}.question-form input,.question-form select,.question-form textarea{width:100%;min-height:var(--control-height);padding:7px var(--control-pad-x);color:var(--param-text);background:#fff;border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:var(--control-font-size)}.question-form textarea{min-height:74px;resize:vertical;line-height:1.45}.question-form input:disabled{color:#8b95a5;background:#eef2f7;cursor:not-allowed}.stem-editor{display:grid;gap:9px;padding:10px;background:#fff;border:1px solid var(--control-border);border-radius:var(--control-radius)}.stem-editor-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--param-label);font-size:var(--label-font-size);font-weight:700}.stem-rich-editor{width:100%;min-height:130px;padding:9px var(--control-pad-x);overflow:auto;color:var(--param-text);background:#fbfdff;border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:var(--control-font-size);font-weight:500;line-height:1.55;outline:none}.compact-rich-editor{gap:7px;padding:8px;background:#fff}.compact-rich-editor .stem-rich-editor{min-height:92px}.compact-rich-editor .stem-editor-header{align-items:start}.compact-rich-editor .stem-editor-toolbar{flex-wrap:wrap;justify-content:flex-end}.stem-rich-editor:empty:before{color:#9aa5b4;content:attr(data-placeholder)}.stem-rich-editor:focus{border-color:#87bfca;box-shadow:0 0 0 2px #0579861a}.stem-rich-editor .stem-inline-image{display:block;max-width:100%;max-height:180px;margin:8px 0;object-fit:contain;border:1px solid #dbe4ef;border-radius:6px}.stem-rich-editor .stem-table-block{margin:10px 0;padding:8px;background:#fff;border:1px solid #dbe4ef;border-radius:7px}.stem-rich-editor .stem-table-controls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.stem-rich-editor .stem-table-controls button{padding:4px 8px;color:var(--accent);background:#f7fbfc;border:1px solid #a8d4dc;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700}.stem-rich-editor .stem-table{width:100%;margin:8px 0;border-collapse:collapse;table-layout:fixed}.stem-rich-editor .stem-table th,.stem-rich-editor .stem-table td{position:relative;min-width:80px;padding:6px 8px;border:1px solid #cbd5e1;outline:none;vertical-align:top}.stem-rich-editor .stem-table th{background:#f1f3f5}.stem-rich-editor .stem-column-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize}.stem-rich-editor .stem-column-resizer:after{position:absolute;top:20%;right:3px;width:2px;height:60%;background:#87bfca;border-radius:999px;content:""}.stem-rich-editor .stem-code-block{position:relative;margin:8px 0;padding:34px 10px 9px;overflow:auto;color:#dbeafe;background:#1f2937;border-radius:7px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.55;outline:none;white-space:pre-wrap}.stem-rich-editor .stem-code-block pre{margin:0;font:inherit;white-space:pre-wrap}.stem-code-toolbar{position:absolute;top:7px;right:7px;display:inline-flex;gap:5px}.stem-code-label{position:absolute;top:7px;left:8px;display:inline-flex;align-items:center;height:22px;padding:0 7px;color:#bfdbfe;background:#ffffff14;border:1px solid rgba(219,234,254,.22);border-radius:5px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:11px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:0}.stem-code-toolbar button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;color:#dbeafe;background:#ffffff14;border:1px solid rgba(219,234,254,.28);border-radius:5px;cursor:pointer;font-size:14px;font-weight:800;line-height:1}.stem-code-toolbar button:hover{background:#ffffff29}.stem-editor-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.stem-color-menu{position:relative}.stem-tool-button.active{color:var(--accent);background:#eef8fa;border-color:#a8d4dc}.stem-color-palette{position:absolute;top:calc(100% + 6px);right:0;z-index:6;display:grid;grid-template-columns:repeat(5,18px);gap:6px;padding:8px;background:#fff;border:1px solid #d5e0ea;border-radius:7px;box-shadow:0 10px 28px #0f172a24}.stem-color-swatch{width:18px;height:18px;padding:0;border:1px solid rgba(15,23,42,.22);border-radius:999px;cursor:pointer}.stem-tool-button{display:inline-flex;align-items:center;justify-content:center;width:28px;min-width:28px;min-height:28px;padding:0;color:var(--accent);background:#f7fbfc;border:1px solid #a8d4dc;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700}.question-form label.stem-tool-button{display:inline-flex;gap:0;color:var(--accent);font-size:12px;font-weight:700}.latex-toggle-button{color:#94a3b8;background:#f8fafc;border-color:#cbd5e1}.latex-toggle-button:hover{color:var(--accent)}.latex-toggle-button.active{color:var(--accent);background:#eef8fa;border-color:#a8d4dc}.stem-tool-button:hover{background:#eef8fa}.stem-tool-button input{display:none}.latex-rendered{display:inline-flex;align-items:center;min-height:24px;margin:0 2px;padding:1px 5px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:5px;font-family:Times New Roman,serif}.latex-frac{display:inline-grid;grid-template-rows:auto auto;align-items:center;text-align:center;line-height:1.05}.latex-frac span:first-child{padding:0 4px 2px;border-bottom:1px solid currentColor}.latex-frac span:last-child{padding:2px 4px 0}.question-image-empty{display:grid;min-height:60px;place-items:center;color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:var(--control-radius);font-size:12px}.question-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.question-image-card{display:grid;gap:7px;padding:8px;background:#f8fafc;border:1px solid #dbe4ef;border-radius:var(--control-radius)}.question-image-card img{width:100%;height:118px;object-fit:contain;background:#fff;border:1px solid #edf2f7;border-radius:6px}.question-image-card div{display:flex;align-items:center;justify-content:space-between;gap:8px}.question-image-card span{min-width:0;overflow:hidden;color:var(--param-text);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.question-image-card button{flex:0 0 auto;padding:5px 8px;color:#a94442;background:#fff5f5;border:1px solid #f1c7c4;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700}.question-form-grid,.question-option-grid{display:grid;gap:10px}.question-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-form-grid.single-column{grid-template-columns:minmax(0,1fr)}.question-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.short-answer-subquestion-toggle{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:center;min-height:var(--control-height);padding:8px 10px;color:var(--param-text)!important;background:#f8fafc;border:1px solid #dbe4ef;border-radius:var(--control-radius);font-size:var(--label-font-size);font-weight:800!important}.short-answer-subquestion-toggle input{min-height:auto}.short-answer-option-stack{display:flex;flex-wrap:wrap;gap:10px}.question-option-label{align-content:start}.option-input-shell{position:relative;display:block}.option-input-shell input{padding-right:38px}.option-image-button{position:absolute;top:50%;right:5px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0;transform:translateY(-50%);color:var(--accent);background:transparent;border:0;border-radius:6px;cursor:pointer;line-height:1}.option-image-button:hover{background:#eef8fa}.option-image-button.disabled{color:#9aa5b4;background:transparent;cursor:not-allowed}.option-image-button input{display:none}.option-image-strip{display:flex;flex-wrap:wrap;gap:6px}.option-image-chip{display:flex;align-items:center;gap:5px;max-width:100%;padding:4px;background:#f8fafc;border:1px solid #dbe4ef;border-radius:6px}.option-image-chip img{width:38px;height:30px;object-fit:cover;background:#fff;border-radius:4px}.option-image-chip button{padding:3px 6px;color:#a94442;background:#fff5f5;border:1px solid #f1c7c4;border-radius:5px;cursor:pointer;font-size:11px;font-weight:700}.code-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:24px;background:#0f172a47}.code-dialog{display:grid;width:min(680px,100%);gap:12px;padding:14px;background:#fff;border:1px solid #dbe4ef;border-radius:8px;box-shadow:0 22px 60px #0f172a38}.bank-create-dialog{display:grid;width:min(440px,100%);gap:12px;padding:14px;background:#fff;border:1px solid #dbe4ef;border-radius:8px;box-shadow:0 22px 60px #0f172a38}.bank-create-dialog label{display:grid;gap:6px;color:var(--param-label);font-size:var(--label-font-size);font-weight:700}.bank-create-dialog input{min-height:var(--control-height);padding:0 var(--control-pad-x);color:var(--param-text);background:#fff;border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:var(--control-font-size)}.unsaved-draft-dialog{display:grid;width:min(460px,100%);gap:16px;padding:16px;background:#fff;border:1px solid #dbe4ef;border-radius:8px;box-shadow:0 22px 60px #0f172a38}.unsaved-draft-dialog-header{display:grid;gap:5px}.unsaved-draft-dialog-header strong{color:var(--text);font-size:16px}.unsaved-draft-dialog-header span{color:var(--muted);font-size:13px;line-height:1.45}.unsaved-draft-dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.code-dialog-header,.code-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.code-dialog-header strong{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-size:15px}.code-dialog-header button{padding:5px 8px;color:var(--muted);background:#f8fafc;border:1px solid #dbe4ef;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700}.code-dialog textarea{min-height:260px;padding:10px;color:#dbeafe;background:#1f2937;border:1px solid #334155;border-radius:7px;font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:13px;line-height:1.55;resize:vertical}.code-dialog-actions{justify-content:flex-end}.question-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.app-shell{position:relative;display:grid;grid-template-rows:72px 1fr;height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--panel-border)}.topbar h1{margin:0;font-size:20px;line-height:1.25;letter-spacing:0}.topbar p{margin:4px 0 0;color:var(--muted);font-size:13px}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.cloud-workflow-panel{position:absolute;top:82px;right:18px;z-index:25;width:min(520px,calc(100vw - 36px));max-height:calc(100vh - 118px);padding:14px;overflow:hidden;color:var(--text);background:#fff;border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 18px 46px #0f172a24}.cloud-workflow-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid #e7edf5}.cloud-workflow-panel-head strong{display:block;font-size:15px;line-height:1.35}.cloud-workflow-panel-head p{margin:4px 0 0;color:var(--muted);font-size:12px}.cloud-workflow-list{display:grid;gap:8px;max-height:calc(100vh - 190px);overflow:auto;padding-top:10px}.cloud-workflow-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}.cloud-workflow-open{display:grid;gap:3px;min-width:0;padding:9px 10px;text-align:left;background:#f8fafc;border:1px solid #dfe6ef;border-radius:7px}.cloud-workflow-open span{overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.cloud-workflow-open small{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.cloud-workflow-row.active .cloud-workflow-open{background:#eef8f8;border-color:#9ed8d6}.cloud-workflow-empty{padding:18px;color:var(--muted);text-align:center;background:#f8fafc;border:1px dashed #cbd7e4;border-radius:8px}.icon-button,.run-button,.workflow-file-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border-radius:7px;border:1px solid transparent}.icon-button{width:38px}.icon-button.secondary{color:var(--text);background:#f3f5f8;border-color:#dfe5ee}.workflow-file-button{padding:0 11px;color:var(--text);background:#fff;border-color:#dfe5ee;font-size:13px;font-weight:700}.workflow-file-button:hover{background:#f7f9fc;border-color:#c8d2df}.workflow-file-button:disabled{opacity:.55;cursor:not-allowed}.danger-lite-button{color:#a94442;background:#fff7f7;border-color:#efc7c3}.danger-lite-button:hover{background:#fff1f0;border-color:#e4aaa5}.primary-lite-button{color:#0f766e;background:#ecfdf5;border-color:#a7f3d0}.primary-lite-button:hover{background:#dffbed;border-color:#6ee7b7}.hidden-file-input{display:none}.run-button{padding:0 15px;color:#fff;background:var(--accent);border-color:var(--accent-strong)}.run-button.running{background:var(--red);border-color:#8f1d14}.workbench{display:grid;grid-template-columns:260px minmax(0,1fr) 520px;min-height:0}.palette,.inspector{min-height:0;overflow:auto;padding:14px;background:#fbfcfd}.palette{border-right:1px solid var(--panel-border)}.inspector{border-left:1px solid var(--panel-border)}.canvas-wrap{min-width:0;min-height:0}.react-flow{background:#f8fafc}.panel-title{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-weight:700;font-size:14px}.palette-list,.form-grid,.score-grid{display:grid;gap:9px}.palette-item{--node-accent: #7b8794;--node-bg: #ffffff;--node-border: var(--panel-border);position:relative;display:grid;gap:5px;overflow:hidden;width:100%;padding:11px 11px 11px 16px;text-align:left;background:var(--node-bg);border:1px solid var(--node-border);border-radius:8px;cursor:grab}.palette-item:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:var(--node-accent);opacity:.72}.palette-item:active{cursor:grabbing}.palette-item:hover{border-color:#9aa9c2;box-shadow:0 6px 18px #19243814}.palette-item.disabled{cursor:not-allowed;opacity:.55}.palette-item.disabled:hover{border-color:var(--panel-border);box-shadow:none}.palette-item span{font-weight:700}.palette-item small{color:var(--muted);line-height:1.45}.status-card,.config-card{padding:13px;margin-bottom:13px;color:var(--param-text);font-size:var(--control-font-size);background:var(--panel);border:1px solid var(--panel-border);border-radius:8px;box-shadow:0 2px 8px #1924380d}.status-ok,.status-error,.muted{margin:0;font-size:13px;line-height:1.5}.status-ok{color:var(--green)}.status-error{color:var(--red)}.workflow-next-step-actions{display:grid;gap:7px;margin-top:11px}.workflow-next-step-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;padding:0 12px;color:#fff;font-size:13px;font-weight:800;background:#0f766e;border:1px solid #0d5f59;border-radius:7px}.workflow-next-step-button:hover{background:#0d665f}.workflow-next-step-actions span{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.muted{color:var(--muted)}.workflow-node{--node-accent: #7b8794;--node-bg: #ffffff;--node-border: #cfd7e3;position:relative;overflow:visible;width:190px;padding:12px;background:var(--node-bg);border:1px solid var(--node-border);border-radius:8px;box-shadow:var(--shadow);outline:0 solid transparent;outline-offset:0;transition:border-color .12s ease,box-shadow .12s ease,outline-color .12s ease,outline-offset .12s ease;will-change:transform;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none}.workflow-node:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--node-accent);border-radius:8px 0 0 8px;opacity:.72;pointer-events:none}.workflow-node:active{cursor:grabbing}.workflow-node.has-result{border-color:var(--node-border);box-shadow:0 0 0 2px #77b8a538,var(--shadow)}.react-flow__node.selected .workflow-node{border-color:var(--node-accent);outline:3px solid var(--node-accent);outline-offset:3px;box-shadow:0 0 0 7px #ffffffdb,0 10px 28px #19243829}.react-flow__node.selected .workflow-node.has-result{box-shadow:0 0 0 7px #ffffffdb,0 10px 28px #19243829,0 0 0 10px #77b8a529}.workflow-node.preview-node{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-width:760px;min-height:320px;width:100%;height:100%}.preview-resize-handle{width:13px!important;height:13px!important;border:2px solid #ffffff!important;box-shadow:0 2px 8px #19243838}.preview-resize-line{border-width:1.5px!important}.node-kicker{position:relative;z-index:1;margin-bottom:5px;color:var(--muted);font-size:11px}.node-title{position:relative;z-index:1;overflow-wrap:anywhere;font-size:15px;font-weight:800}.node-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:12px}.workflow-node .react-flow__handle{background:var(--node-accent)}.node-type-questionSetInput{--node-accent: #5f8f7b;--node-bg: #f3f8f5;--node-border: #bdd6ca}.node-type-searchFilter,.node-type-countSelect,.node-type-ratioSelect,.node-type-typeScoring,.node-type-randomize,.node-type-previewAdjust{--node-accent: #6f84a3;--node-bg: #f4f7fb;--node-border: #c7d2e2}.node-type-publishSpec,.node-type-exportPlaceholder{--node-accent: #8b7aa2;--node-bg: #f7f4fa;--node-border: #d7cce2}.react-flow__edge-path.comfy-edge{stroke:#6f84a3;stroke-width:3;filter:drop-shadow(0 2px 2px rgb(70 86 115 / 18%))}.react-flow__edge-path.comfy-edge.selected{stroke:#8b7aa2;stroke-width:4;filter:drop-shadow(0 3px 4px rgb(105 83 132 / 22%))}.react-flow__connection-path{stroke:#5f8f7b;stroke-width:3;filter:drop-shadow(0 2px 2px rgb(76 115 99 / 18%))}.react-flow__handle{width:17px;height:17px;border:3px solid #ffffff;background:#4f65c8;box-shadow:0 2px 8px #2a37784d;cursor:crosshair;z-index:2}.react-flow__handle:hover{background:#167c80;transform:scale(1.14)}.react-flow__handle-left{left:-9px}.react-flow__handle-right{right:-9px}.form-grid label,.score-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scoring-panel{display:grid;gap:12px}.scoring-summary{display:grid;gap:8px}.scoring-section-title{color:var(--param-label);font-size:var(--label-font-size);font-weight:800}.scoring-empty{padding:10px;color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:12px;font-weight:700;line-height:1.45}.scoring-type-block{display:grid;gap:7px}.scoring-type-row{display:grid;grid-template-columns:48px 44px minmax(0,1fr) 56px;align-items:center;gap:8px;padding:9px;background:#f8fafc;border:1px solid #e1e7f0;border-radius:8px;font-size:12px}.scoring-type-name{color:var(--param-text);font-weight:800}.scoring-type-row label{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:5px;color:var(--muted)}.scoring-type-row input,.score-override-row input{width:100%;min-height:32px;padding:6px 8px;color:var(--text);background:#fff;border:1px solid #cad3df;border-radius:7px}.scoring-type-row strong{color:var(--green);text-align:right}.auto-subscore-editor{display:grid;gap:8px;margin-left:12px;padding:9px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.auto-subscore-title{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.4}.auto-subscore-title strong{color:var(--param-label);font-weight:800}.auto-subscore-title span{color:var(--muted);font-weight:700}.auto-subscore-block{display:grid;gap:7px;padding:8px;background:#fff;border:1px solid #e6ebf2;border-radius:7px}.auto-subscore-question{display:flex;align-items:center;justify-content:space-between;gap:8px}.auto-subscore-question span{color:var(--param-text);font-size:12px;font-weight:800}.auto-subscore-question strong{color:var(--green);font-size:12px}.auto-subscore-question.mismatch strong{color:var(--red)}.subscore-warning{padding:6px 8px;color:var(--red);background:#fff7f5;border:1px solid #f2c8be;border-radius:6px;font-size:12px;font-weight:700;line-height:1.35}.scoring-total{display:flex;align-items:center;justify-content:space-between;padding:10px;background:#effaf3;border:1px solid #cbe8d5;border-radius:8px}.scoring-total span{color:var(--green);font-size:13px;font-weight:800}.scoring-total strong{color:var(--green)}.score-overrides{display:grid;gap:8px;padding-top:12px;border-top:1px solid #edf0f5}.score-overrides-legacy{display:none}.type-score-overrides{margin-left:12px;padding:9px;background:#fff;border:1px solid #e1e7f0;border-radius:8px}.type-score-overrides-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.type-score-overrides-header strong,.scoring-type-candidates{color:var(--param-label);font-size:var(--label-font-size);font-weight:800}.scoring-type-candidates{margin-left:12px;padding:7px 9px;color:var(--accent-strong);background:#eef7f7;border:1px solid #c8dddd;border-radius:7px;line-height:1.4}.score-overrides-title{color:var(--muted);font-size:12px;font-weight:800}.score-override-block{display:grid;gap:8px}.score-override-row{display:grid;grid-template-columns:minmax(0,1fr) 76px auto 30px;align-items:center;gap:8px}.score-override-question{display:grid;min-width:0;gap:3px}.score-override-question strong{color:var(--param-text);font-size:12px}.score-override-question span,.score-overrides-empty{overflow:hidden;color:var(--muted);font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.score-overrides-empty{padding:8px;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:7px;font-weight:700}.subscore-editor{display:grid;gap:7px;margin-left:10px;padding:8px;background:#f8fafc;border:1px solid #e1e7f0;border-radius:8px}.subscore-row{display:grid;grid-template-columns:86px minmax(0,1fr) 72px;align-items:center;gap:8px}.subscore-row span{color:var(--param-text);font-size:12px;font-weight:800}.subscore-row p{min-width:0;margin:0;overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.publish-config,.export-config,.paper-specs,.question-type-order-section,.publish-common,.conditional-config{display:grid;gap:10px}.publish-common label,.export-config label,.conditional-config label{display:grid;gap:5px;color:var(--muted);font-size:12px}.paper-specs,.question-type-order-section{padding-bottom:12px;border-bottom:1px solid #edf0f5}.paper-specs-title{color:var(--muted);font-size:12px;font-weight:800}.paper-spec-row{display:grid;grid-template-columns:28px minmax(0,1fr) 30px;align-items:center;gap:8px}.paper-spec-row span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6b5a9a;background:#f7f4fa;border:1px solid #d7cce2;border-radius:999px;font-size:12px;font-weight:800}.question-type-order-list{display:grid;gap:7px;position:relative}.question-type-order-row,.question-type-order-lifted{display:grid;grid-template-columns:18px 28px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:36px;padding:7px 9px;color:var(--param-text);text-align:left;background:#f8fafc;border:1px solid #dfe6ef;border-radius:8px}.question-type-order-row{width:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease}.question-type-order-row:active{cursor:grabbing}.question-type-order-row:hover{border-color:#b8c6d8;background:#fff}.question-type-order-row.drag-placeholder{background:#edf3f7;border-color:#b8c6d8;border-style:dashed;box-shadow:inset 0 0 0 1px #23667014}.question-type-order-row.drag-placeholder>*{visibility:hidden}.question-type-order-lifted{position:fixed;z-index:80;color:var(--param-text);background:#fff;border-color:#9db5bd;box-shadow:0 16px 36px #15263338,0 3px 10px #1526331f;pointer-events:none;transform:scale(1.025);will-change:left,top,transform}.question-type-order-row svg,.question-type-order-lifted svg{color:var(--muted)}.question-type-order-row span,.question-type-order-lifted span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#6b5a9a;background:#f7f4fa;border:1px solid #d7cce2;border-radius:999px;font-size:11px;font-weight:800}.question-type-order-row strong,.question-type-order-lifted strong{min-width:0;overflow:hidden;color:var(--text);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.question-type-order-row small,.question-type-order-lifted small{color:var(--muted);font-size:12px;font-weight:700}.duration-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;overflow:hidden;background:#fff;border:1px solid #cad3df;border-radius:7px}.duration-input-wrap input{border:0!important;border-radius:0!important}.duration-input-wrap span{color:var(--muted);font-size:12px;font-weight:800;text-align:center}.form-grid input,.form-grid select,.score-grid input,.publish-config input,.publish-config select,.export-config input,.export-config select{width:100%;min-height:34px;padding:7px 9px;color:var(--text);background:#fff;border:1px solid #cad3df;border-radius:7px}.fielded-search,.count-select-config,.question-extract-config,.allocation-config{display:grid;gap:12px}.fielded-search-row{display:grid;gap:8px;padding:10px;background:#f8fafc;border:1px solid #e1e7f0;border-radius:8px}.fielded-row-controls{display:grid;grid-template-columns:84px minmax(0,1fr) 30px;gap:8px;align-items:center}.count-row-controls{grid-template-columns:84px minmax(0,1fr)}.count-options-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto);gap:10px;align-items:end}.count-options-row label{display:grid;gap:5px;color:var(--param-label);font-size:var(--label-font-size);font-weight:700;line-height:1.35}.fielded-row-controls select,.fielded-search-row input,.fielded-search-row>select{width:100%;min-height:34px;padding:7px 8px;color:var(--text);background:#fff;border:1px solid #cad3df;border-radius:7px}.fielded-search-row input,.fielded-search-row>select{min-height:38px}.condition-value-row{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:8px;align-items:center}.condition-value-row input,.condition-value-row select{width:100%;min-height:38px;padding:7px 8px;color:var(--text);background:#fff;border:1px solid #cad3df;border-radius:7px}.knowledge-combobox{position:relative;width:100%}.knowledge-combobox input{width:100%;padding-right:34px!important}.knowledge-combobox-toggle{position:absolute;top:50%;right:4px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--muted);background:transparent;border:0;border-radius:6px;transform:translateY(-50%)}.knowledge-combobox-toggle:hover{color:var(--accent-strong);background:#eef5f6}.knowledge-combobox-menu{position:absolute;z-index:70;top:calc(100% + 5px);left:0;display:grid;width:100%;max-height:190px;overflow:auto;padding:5px;background:#fff;border:1px solid #cad3df;border-radius:8px;box-shadow:0 12px 30px #16223324}.knowledge-combobox-menu button,.knowledge-combobox-menu span{min-height:30px;padding:6px 8px;color:var(--text);text-align:left;background:transparent;border:0;border-radius:6px;font-size:12px}.knowledge-combobox-menu button:hover{background:#eef5f6}.knowledge-combobox-menu button:disabled{color:var(--muted);cursor:not-allowed;opacity:.45}.knowledge-combobox-menu span{color:var(--muted)}.question-picker-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:var(--control-height);padding:0 9px;color:var(--accent-strong);background:#fff;border:1px solid #b8d2d4;border-radius:var(--control-radius);font-size:12px;font-weight:800;white-space:nowrap}.question-picker-button:hover{background:#f1f8f8}.question-picker-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:20px;background:#0f172a3d}.question-picker-dialog{display:grid;grid-template-rows:auto auto minmax(180px,1fr) auto;gap:10px;width:min(760px,calc(100vw - 40px));max-height:min(720px,calc(100vh - 40px));padding:12px;background:#fff;border:1px solid #cad3df;border-radius:8px;box-shadow:0 18px 52px #0f172a3d}.question-picker-header,.question-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.question-picker-header strong{color:var(--text);font-size:15px}.question-picker-filters{display:grid;grid-template-columns:minmax(180px,1fr) 110px 110px 150px;gap:8px}.question-picker-filters input,.question-picker-filters select{min-width:0;min-height:var(--control-height);padding:7px var(--control-pad-x);color:var(--param-text);background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--control-radius);font-size:var(--control-font-size)}.question-picker-results{display:grid;align-content:start;gap:7px;min-height:0;overflow:auto;padding:8px;background:#f8fafc;border:1px solid #e1e7f0;border-radius:8px}.question-picker-result{display:grid;gap:4px;width:100%;padding:9px;color:var(--text);text-align:left;background:#fff;border:1px solid #e1e7f0;border-radius:7px}.question-picker-result:hover,.question-picker-result.active{border-color:var(--accent);background:#f3f8f8}.question-picker-result:disabled{cursor:not-allowed;opacity:.5}.question-picker-result span{display:flex;align-items:center;gap:6px}.question-picker-result strong{font-size:12px}.question-picker-result em{padding:2px 6px;color:var(--accent-strong);background:#eef7f7;border:1px solid #c8dddd;border-radius:999px;font-size:10px;font-style:normal;font-weight:800}.question-picker-result small{color:var(--muted);font-size:11px;font-weight:800}.question-picker-result p{display:-webkit-box;margin:0;overflow:hidden;color:var(--param-text);font-size:12px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.question-picker-empty{padding:14px;color:var(--muted);text-align:center;font-size:12px;font-weight:800}.question-picker-footer span{color:var(--muted);font-size:12px;font-weight:800}@media(max-width:720px){.question-picker-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.question-picker-dialog{width:calc(100vw - 24px)}.question-picker-filters{grid-template-columns:1fr}}.logic-select{color:var(--accent-strong)!important;font-weight:700}.logic-anchor{display:inline-flex;align-items:center;min-height:34px;padding:0 8px;color:var(--muted);font-size:12px;font-weight:800}.fielded-remove-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#6b5a9a;background:transparent;border:0;border-radius:999px}.fielded-remove-button:hover{color:var(--red);background:#fff1ed}.condition-clear-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#667085;background:transparent;border:0;border-radius:999px}.condition-clear-button:hover:not(:disabled){color:var(--accent-strong);background:#eef4ff}.condition-clear-button:disabled{opacity:.34;cursor:not-allowed}.add-row-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:36px;color:#6b5a9a;background:#fff;border:1px solid #cfc7e8;border-radius:999px;font-weight:700}.add-row-button:hover{background:#f8f6ff}.required-question-section{display:grid;gap:10px;padding:10px;background:var(--param-surface);border:1px solid #e1e7f0;border-radius:8px}.required-question-header strong{color:var(--param-label);font-size:var(--label-font-size);font-weight:800}.required-question-list{display:grid;gap:8px}.required-question-row{display:grid;grid-template-columns:minmax(0,1fr) auto 30px;gap:8px;align-items:center}.required-question-row input{width:100%;min-height:var(--control-height);padding:7px var(--control-pad-x);color:var(--param-text);font-size:var(--control-font-size);line-height:1.35;background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--control-radius)}.ratio-select-config{display:grid;gap:12px}.ratio-count-row{display:grid}.ratio-count-row label{display:grid;gap:5px;color:var(--param-label);font-size:var(--label-font-size);font-weight:700;line-height:1.35}.ratio-select-config label{display:grid;gap:5px;color:var(--muted);font-size:12px}.ratio-select-config>label input,.ratio-select-config>label select{width:100%;min-height:34px;padding:7px 8px;color:var(--text);background:#fff;border:1px solid #cad3df;border-radius:7px}.ratio-rules{display:grid;gap:8px}.ratio-rule-row,.allocation-rule-row{display:grid;grid-template-columns:minmax(0,1fr) 86px 30px 30px;gap:8px;align-items:center;padding:10px;background:#f8fafc;border:1px solid #e1e7f0;border-radius:8px}.count-allocation-rule-row{grid-template-columns:minmax(128px,1fr) max-content max-content 26px 26px;gap:6px;padding:8px}.ratio-rule-row input,.ratio-rule-row select,.allocation-rule-row input,.allocation-rule-row select{width:100%;min-height:34px;padding:7px 8px;color:var(--text);background:#fff;border:1px solid #cad3df;border-radius:7px}.percent-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:3px}.number-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:3px}.allocation-total-badge{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 7px;color:var(--muted);background:#eef4f7;border:1px solid #d7e3e8;border-radius:7px;font-size:11px;font-weight:800;white-space:nowrap}.extract-count-control{display:grid;grid-template-columns:auto 48px 14px;align-items:center;gap:4px;min-height:32px;color:var(--muted);font-size:11px;font-weight:800;white-space:nowrap}.count-allocation-rule-row input,.count-allocation-rule-row select{min-height:32px;padding-inline:7px}.count-allocation-rule-row .condition-clear-button,.count-allocation-rule-row .fielded-remove-button{width:26px;height:26px}@media(max-width:1280px){.workbench{grid-template-columns:240px minmax(0,1fr) 480px}.count-allocation-rule-row{grid-template-columns:minmax(118px,1fr) max-content max-content 26px 26px}}.percent-input-wrap span,.number-input-wrap span{color:var(--muted);font-size:12px;font-weight:700}.extract-options-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:center}.ratio-total{padding:7px 10px;border-radius:7px;font-size:12px;font-weight:700}.ratio-total.ok{color:var(--green);background:#effaf3;border:1px solid #cbe8d5}.ratio-total.warn{color:#9a5b00;background:#fff7e8;border:1px solid #f3d49b}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;padding:3px;background:#eef2f7;border:1px solid #d7dee9;border-radius:8px}.segmented-control button{min-height:32px;color:var(--muted);background:transparent;border:0;border-radius:6px}.segmented-control button.active{color:var(--text);background:#fff;box-shadow:0 1px 4px #1924381f}.danger-action-row{display:grid;margin-top:14px;padding-top:12px;border-top:1px solid #edf0f5}.danger-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;color:var(--red);background:#fff5f3;border:1px solid #f0c8c0;border-radius:7px}.danger-action-button:hover{background:#ffe8e2}.edge-detail{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:8px;padding:10px;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:7px}.edge-detail div:not(.edge-direction){display:grid;gap:4px;min-width:0}.edge-detail-label,.edge-detail small{color:var(--muted);font-size:11px}.edge-detail strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.edge-direction{color:var(--accent);font-weight:800;text-align:center}.toggle-row{grid-template-columns:18px 1fr;align-items:center;color:var(--text)!important}.toggle-row input{min-height:auto}.node-preview-empty{margin-top:10px;padding:10px;color:var(--muted);font-size:12px;background:#f7f9fc;border:1px dashed #cbd5e1;border-radius:7px}.upload-status{display:grid;gap:5px;padding:9px 10px;color:var(--muted);font-size:12px;line-height:1.45;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:7px}.inline-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.inline-create-row button{min-height:var(--control-height);padding:0 12px;color:#fff;background:var(--accent);border:1px solid var(--accent-strong);border-radius:var(--control-radius);font-size:var(--control-font-size);font-weight:700}.node-sheet-preview{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:7px;min-height:0;margin-top:10px;padding-top:10px;border-top:1px solid #edf0f5}.node-sheet-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.dynamic-preview-notice{padding:8px 10px;color:var(--accent-strong);background:#eef7f7;border:1px solid #c8dddd;border-radius:7px;font-size:12px;font-weight:700;line-height:1.5}.node-sheet-table{min-height:0;overflow:auto;background:#f7f9fc;border:1px solid #e2e8f0;border-radius:7px}.node-sheet-header,.node-sheet-edit-row{display:grid;grid-template-columns:58px 72px minmax(180px,1fr) repeat(6,86px) 140px 62px 32px;align-items:center;gap:7px;min-width:1120px}.node-sheet-header{padding:7px 8px;color:var(--muted);font-size:11px;font-weight:800;background:#eef4f8;border-bottom:1px solid #e2e8f0}.node-sheet-body{display:grid;max-height:none;overflow:visible}.node-sheet-edit-row{padding:7px 8px;border-bottom:1px solid #e7edf5}.node-sheet-edit-row:last-child{border-bottom:0}.node-sheet-edit-row input,.node-sheet-edit-row select,.node-sheet-edit-row textarea{width:100%;min-height:28px;padding:5px 7px;color:var(--text);font:inherit;font-size:11px;background:#fff;border:1px solid #cfd7e3;border-radius:6px}.node-sheet-edit-row input:disabled{color:#8b95a5;background:#eef2f7;border-color:#d7dee9;cursor:not-allowed}.node-sheet-edit-row textarea{min-height:38px;resize:vertical;line-height:1.35}.answer-edit-cell{display:grid;gap:4px;min-width:0}.answer-detail{overflow:hidden;color:var(--green);font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.preview-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.preview-commit-actions{display:inline-flex;gap:8px}.preview-secondary-button,.preview-confirm-button{min-height:34px;padding:0 12px;border-radius:7px;font-weight:700}.preview-secondary-button{color:var(--muted);background:#fff;border:1px solid #cad3df}.preview-confirm-button{color:#fff;background:#5f8f7b;border:1px solid #4f7c6b}.preview-secondary-button:disabled,.preview-confirm-button:disabled{cursor:not-allowed;opacity:.48}.form-grid label,.score-grid label,.scoring-type-row label,.ratio-select-config label,.publish-common label,.export-config label,.conditional-config label{color:var(--param-label);font-size:var(--label-font-size);font-weight:700;line-height:1.35}.score-overrides-title,.paper-specs-title,.node-sheet-summary,.logic-anchor,.edge-detail-label,.edge-detail small{color:var(--param-label);font-size:var(--label-font-size);font-weight:700}.form-grid input:not([type=checkbox]),.form-grid select,.form-grid textarea,.score-grid input:not([type=checkbox]),.scoring-type-row input,.score-override-row input,.subscore-row input,.publish-config input:not([type=checkbox]),.publish-config select,.export-config input:not([type=checkbox]),.export-config select,.fielded-row-controls select,.fielded-search-row input,.fielded-search-row>select,.condition-value-row input,.condition-value-row select,.ratio-select-config input:not([type=checkbox]),.ratio-select-config select,.ratio-count-row input,.ratio-rule-row input,.ratio-rule-row select,.allocation-rule-row input,.allocation-rule-row select,.count-options-row input:not([type=checkbox]){min-height:var(--control-height);padding:7px var(--control-pad-x);color:var(--param-text);font-size:var(--control-font-size);line-height:1.35;background:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--control-radius)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus,.score-grid input:focus,.scoring-type-row input:focus,.score-override-row input:focus,.subscore-row input:focus,.publish-config input:focus,.publish-config select:focus,.export-config input:focus,.export-config select:focus,.fielded-row-controls select:focus,.fielded-search-row input:focus,.fielded-search-row>select:focus,.condition-value-row input:focus,.condition-value-row select:focus,.ratio-select-config input:focus,.ratio-select-config select:focus,.ratio-count-row input:focus,.ratio-rule-row input:focus,.ratio-rule-row select:focus,.allocation-rule-row input:focus,.allocation-rule-row select:focus,.required-question-row input:focus,.count-options-row input:focus,.node-sheet-edit-row input:focus,.node-sheet-edit-row select:focus,.node-sheet-edit-row textarea:focus{border-color:var(--control-border-focus);box-shadow:0 0 0 3px #6f84a329;outline:none}.fielded-search-row,.ratio-rule-row,.allocation-rule-row,.scoring-type-row{background:var(--param-surface);border:1px solid #e1e7f0;border-radius:8px}.segmented-control{background:var(--param-surface-strong);border-color:#d7dee9}.segmented-control button,.add-row-button,.danger-action-button,.preview-secondary-button,.preview-confirm-button{font-size:var(--control-font-size);line-height:1.2}.fielded-remove-button{color:var(--accent-strong)}.add-row-button{color:var(--accent-strong);border-color:#b8d2d4}.add-row-button:hover{background:#f1f8f8}.toggle-row input{width:16px!important;height:16px;min-height:16px;padding:0;accent-color:var(--accent)}.node-sheet-header{color:var(--param-label);font-size:var(--micro-font-size);font-weight:800}.node-sheet-edit-row input,.node-sheet-edit-row select,.node-sheet-edit-row textarea{color:var(--param-text);font-size:var(--micro-font-size);line-height:1.35;background:var(--control-bg);border-color:var(--control-border);border-radius:6px}.node-question-id,.node-question-type,.node-question-answer{font-size:11px;font-weight:700}.node-question-type{color:var(--blue)}.node-question-stem{display:-webkit-box;overflow:hidden;color:var(--text);font-size:11px;line-height:1.45;-webkit-line-clamp:2;-webkit-box-orient:vertical}.node-question-answer{color:var(--green);text-align:right}.node-warnings{display:grid;gap:5px;padding-top:8px;color:var(--red);font-size:12px}.online-flow-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.online-flow-step{display:flex;align-items:center;gap:10px;min-width:0;padding:12px;background:#fbfdff;border:1px solid #dfe6ef;border-radius:8px}.online-flow-step.active{border-color:#8fb9bd;background:#f5fbfc;box-shadow:inset 0 -3px #0080892e}.online-flow-step.complete{border-color:#a8c9b9;background:#f7fbf8}.online-flow-step.locked{color:var(--muted);background:#f8fafc}.online-flow-step-index{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;color:var(--param-label);background:#eef4f8;border:1px solid #d3dde8;border-radius:999px;font-size:13px;font-weight:900}.online-flow-step.active .online-flow-step-index{color:#fff;background:var(--accent);border-color:var(--accent)}.online-flow-step.complete .online-flow-step-index{color:#fff;background:var(--green);border-color:var(--green)}.online-flow-step-text{min-width:0;display:grid;gap:3px}.online-flow-step-text strong{overflow:hidden;color:var(--text);font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.online-flow-step-text span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.online-exam-layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:14px;align-items:start}.online-draft-list-panel,.online-draft-detail-panel{min-height:360px}.online-draft-list{display:grid;gap:5px;margin-top:5px}.online-draft-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center}.online-draft-card{display:grid;gap:2px;width:100%;min-height:0;padding:7px 9px;color:var(--muted);line-height:1.3;text-align:left;background:#fbfdff;border:1px solid #dfe6ef;border-radius:7px}.online-draft-card:hover{border-color:#a8c4c7;background:#f7fbfc}.online-draft-item.active .online-draft-card{color:var(--text);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.online-draft-delete-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:0;color:var(--red);background:snow;border:1px solid #efc2c2;border-radius:7px;font-size:12px;font-weight:800}.online-draft-delete-button span{display:none}.online-draft-delete-button:hover:not(:disabled){background:#fff1f1;border-color:#e8a5a5}.online-draft-delete-button:disabled{cursor:not-allowed;opacity:.5}.online-draft-title{color:var(--text);font-size:13px;font-weight:800}.online-draft-card>span:not(.online-draft-title){overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.online-draft-empty{padding:14px;color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:13px;line-height:1.6}.detail-empty{min-height:250px;display:grid;place-items:center;text-align:center}.detail-empty div{display:grid;gap:6px}.detail-empty strong{color:var(--text);font-size:15px;font-weight:900}.detail-empty span{color:var(--muted);font-size:13px;font-weight:700}.online-stage-panel{display:grid;align-content:start;gap:12px;min-height:420px}.online-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:var(--online-action-height, 34px);min-height:var(--online-action-height, 34px);width:auto;max-width:100%;overflow:hidden;padding:0 12px;border:1px solid #cbd5e1;border-radius:7px;font-size:var(--online-action-font-size, 13px);font-weight:800;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}.online-button svg{flex:0 0 auto}.online-button.primary{color:#fff;background:var(--accent);border-color:var(--accent-strong)}.online-button.primary:hover:not(:disabled){background:var(--accent-strong)}.online-button.secondary{color:var(--param-label);background:#fff;border-color:#cbd5e1}.online-button.secondary:hover:not(:disabled){color:var(--accent-strong);background:#f7fbfc;border-color:#a8c4c7}.online-button.danger{color:var(--red);background:snow;border-color:#efc2c2}.online-button.danger:hover:not(:disabled){background:#fff1f1;border-color:#e8a5a5}.online-button:disabled{cursor:not-allowed;opacity:.52}.online-stage-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #e1e7f0}.online-stage-header div{min-width:0;display:grid;gap:4px}.online-stage-header h3{margin:0;color:var(--text);font-size:18px;line-height:1.3}.online-stage-header p{margin:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.5}.online-draft-stage-grid{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;align-items:start}.online-draft-list-pane,.online-draft-confirm-pane{display:grid;gap:12px}.online-draft-list-pane{gap:6px;align-self:start;padding-right:12px;border-right:1px solid #e1e7f0}.online-draft-confirm-pane{gap:10px;min-width:0;min-height:300px}.online-draft-list-pane .panel-title{margin-bottom:3px;font-size:13px}.online-draft-list-pane .management-status{margin-bottom:5px;font-size:11px;line-height:1.45}.online-action-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.online-action-row.left{justify-content:flex-start}.online-action-row.inline{flex:0 0 auto;justify-content:flex-end}.online-stage-note{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-stage-note div{min-width:0;display:grid;gap:4px}.online-stage-note .online-action-row{flex:0 0 auto}.online-stage-note strong{color:var(--text);font-size:14px;font-weight:900}.online-stage-note span{color:var(--muted);font-size:12px;font-weight:700;line-height:1.5}.online-flow-stack{display:grid;gap:12px}.online-flow-section{display:grid;gap:12px;padding:14px;background:#fff;border:1px solid #e1e7f0;border-left:4px solid #cbd5e1;border-radius:8px}.online-flow-section.active{border-left-color:var(--accent);background:#fbfefe}.online-flow-section.complete{border-left-color:var(--green)}.online-flow-section.locked{background:#f8fafc;border-left-color:#cbd5e1}.online-flow-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.online-flow-section-header>button{flex:0 0 auto}.online-flow-section-header div{min-width:0;display:grid;gap:4px}.online-flow-section-header h3{margin:0;overflow-wrap:anywhere;color:var(--text);font-size:17px;line-height:1.3}.online-flow-section-header p{margin:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.5}.online-flow-section-eyebrow{color:var(--accent-strong);font-size:12px;font-weight:900}.online-flow-count-badge{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;color:var(--param-label);background:#eef4f8;border:1px solid #d9e3ec;border-radius:999px;font-size:12px;font-weight:900}.online-flow-hint{padding:10px 12px;color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:12px;font-weight:700;line-height:1.6}.online-flow-status{margin:0;padding:8px 10px;background:#f8fafc;border:1px solid #e1e7f0;border-radius:8px}.online-draft-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.online-draft-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.online-draft-meta-item{display:grid;gap:4px;min-width:0;overflow:hidden;min-height:48px;padding:8px 10px;color:var(--param-text);background:var(--param-surface);border:1px solid #e1e7f0;border-radius:7px}.online-draft-meta-item span,.online-draft-meta-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-draft-meta-item span{color:var(--param-label);font-size:12px;font-weight:800}.online-draft-meta-item strong{color:var(--param-text);font-size:13px;font-weight:800}.online-question-overview-cell{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:8px;align-items:center;min-width:0}.online-question-overview-cell strong{min-width:0}.online-question-summary-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(1120px,100%);height:min(760px,calc(100vh - 48px));max-height:min(760px,calc(100vh - 48px));gap:12px;min-height:0;padding:14px;background:#fff;border:1px solid #dbe4ef;border-radius:8px;box-shadow:0 22px 60px #0f172a38}.online-question-summary-dialog .code-dialog-header>div{display:grid;gap:3px;min-width:0}.online-question-summary-dialog .code-dialog-header span{overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.online-question-summary-dialog-table{min-height:0;max-height:none;overflow-x:auto;overflow-y:auto;scrollbar-gutter:stable}.online-question-summary-dialog-table .online-question-summary-header,.online-question-summary-dialog-table .online-question-summary-row{grid-template-columns:110px 90px minmax(280px,1fr) minmax(150px,.7fr) 90px 80px;min-width:900px}.online-question-summary-list{min-width:0;overflow-x:auto;overflow-y:hidden;border:1px solid #e1e7f0;border-radius:8px}.online-question-summary-list.online-question-summary-dialog-table{height:100%;min-height:0;overflow-x:auto;overflow-y:auto;scrollbar-gutter:stable}.online-question-summary-disclosure{min-width:0;overflow:hidden;background:#fff;border:1px solid #e1e7f0;border-radius:8px}.online-question-summary-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;cursor:pointer;list-style:none}.online-question-summary-disclosure summary::-webkit-details-marker{display:none}.online-question-summary-disclosure summary div{display:grid;gap:3px}.online-question-summary-disclosure summary strong{color:var(--text);font-size:13px;font-weight:900}.online-question-summary-disclosure summary span{color:var(--muted);font-size:12px;font-weight:700}.online-question-summary-disclosure[open] summary{border-bottom:1px solid #edf1f6}.online-question-summary-icon{flex:0 0 auto;color:var(--muted);transition:transform .16s ease}.online-question-summary-disclosure[open] .online-question-summary-icon{transform:rotate(180deg)}.online-question-summary-disclosure .online-question-summary-list{border:0;border-radius:0}.online-question-summary-disclosure .online-draft-empty{margin:10px}.online-question-summary-header,.online-question-summary-row{display:grid;grid-template-columns:120px 90px minmax(0,1fr) 90px;gap:8px;align-items:center;min-width:0;padding:9px 11px}.online-question-summary-header span,.online-question-summary-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-question-summary-header{color:var(--param-label);background:#f1f3f5;font-size:12px;font-weight:800}.online-question-summary-row{color:var(--text);background:#fff;border-top:1px solid #edf1f6;font-size:12px}.online-publish-section{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e1e7f0}.online-publish-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.online-publish-header div,.online-student-preview-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.online-publish-header strong,.online-student-preview-title strong{color:var(--text);font-size:14px;font-weight:900}.online-publish-header span,.online-student-preview-title span{color:var(--muted);font-size:12px;font-weight:700}.online-import-workbench{display:grid;gap:12px;padding:12px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-import-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.online-import-toolbar>span{flex:0 1 auto;overflow:hidden;color:var(--muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.online-manual-student-editor{display:grid;gap:9px;padding-top:10px;border-top:1px solid #edf1f6}.online-manual-student-table{max-height:300px;overflow:auto;border:1px solid #e1e7f0;border-radius:8px}.online-manual-student-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(160px,1.2fr) 42px;gap:8px;align-items:center;min-width:420px;padding:8px 10px;color:var(--text);background:#fff;border-top:1px solid #edf1f6;font-size:12px;font-weight:700}.online-manual-student-row.header{position:sticky;top:0;z-index:1;color:var(--param-label);background:#f1f3f5;border-top:0;font-weight:900}.online-manual-student-row input,.online-candidate-cell{width:100%;min-width:0;height:32px;display:flex;align-items:center;padding:0 9px;color:var(--param-text);background:#fff;border:1px solid var(--control-border);border-radius:7px;font-size:13px;outline:none}.online-candidate-cell{overflow:hidden;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.online-manual-student-row input:focus{border-color:var(--control-border-focus);box-shadow:0 0 0 3px #6f84a329}.online-manual-student-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;color:var(--param-label);background:#fff;border:1px solid #cbd5e1;border-radius:7px;cursor:pointer}.online-icon-button.danger{color:var(--red);background:snow;border-color:#efc2c2}.online-icon-button.danger:hover:not(:disabled){background:#fff1f1;border-color:#e8a5a5}.online-inline-error{margin:0;color:var(--red);font-size:12px;font-weight:700;line-height:1.5}.online-student-preview{display:grid;gap:9px}.online-latest-release{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#f7fbf8;border:1px solid #b9d5c4;border-radius:8px}.online-latest-release div{min-width:0;display:grid;gap:4px}.online-latest-release strong{overflow-wrap:anywhere;color:var(--text);font-size:14px;font-weight:900}.online-latest-release span{color:var(--muted);font-size:12px;font-weight:700}.online-latest-release button{flex:0 0 auto}.online-release-history-pane{gap:6px}.online-release-main-pane{display:grid;gap:12px}.online-release-config-panel{display:grid;gap:12px;padding:12px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-draft-release-settings{margin-top:0}.online-release-config-grid{display:grid;grid-template-columns:minmax(260px,1fr) repeat(2,minmax(160px,.45fr));gap:10px;align-items:end}.online-release-config-grid label{display:grid;gap:6px;min-width:0;color:var(--param-label);font-size:12px;font-weight:800}.online-release-config-grid input[type=datetime-local]{width:100%;height:var(--online-action-height, 34px);min-width:0;padding:0 10px;color:var(--param-text);background:#fff;border:1px solid var(--control-border);border-radius:7px;font-size:13px;outline:none}.online-release-config-grid input[type=datetime-local]:focus{border-color:var(--control-border-focus);box-shadow:0 0 0 3px #6f84a329}.online-toggle-row{grid-template-columns:17px minmax(0,1fr);align-items:center;height:var(--online-action-height, 34px);padding:0 10px;background:#fff;border:1px solid #dfe6ef;border-radius:7px}.online-toggle-row input{width:15px;height:15px;accent-color:var(--accent)}.online-toggle-row span{overflow:hidden;color:var(--param-label);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.online-release-side-list{display:grid;gap:5px;margin-top:5px}.online-release-records-panel{display:grid;gap:9px;padding:12px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-release-records-pane{gap:6px}.online-release-records-list{max-height:360px;overflow:auto;padding-right:2px}.online-release-side-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:5px;align-items:center}.online-release-side-card{display:grid;gap:2px;min-width:0;padding:7px 9px;color:var(--muted);line-height:1.3;background:#fbfdff;border:1px solid #dfe6ef;border-radius:7px}.online-release-side-item.active .online-release-side-card{color:var(--text);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.online-release-side-title{overflow:hidden;color:var(--text);font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.online-release-side-card>span:not(.online-release-side-title){overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.online-release-export-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-width:30px;padding:0;color:var(--accent-strong);background:#f7fbfc;border:1px solid #b8d2d4;border-radius:7px;cursor:pointer}.online-release-export-button span{display:none}.online-release-export-button:hover:not(:disabled){background:#eef7f7;border-color:#8fb9bd}.online-release-export-button:disabled{cursor:not-allowed;opacity:.5}.online-grading-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px}.online-grading-release-pane,.online-grading-workbench{min-width:0}.online-grading-release-list{display:grid;gap:7px;max-height:680px;overflow:auto;padding-right:2px}.online-grading-release-item{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:6px;align-items:stretch}.online-grading-release-card{display:grid;gap:4px;width:100%;padding:10px 11px;color:var(--muted);text-align:left;background:#fbfdff;border:1px solid #dfe6ef;border-radius:7px;cursor:pointer}.online-grading-release-card:hover,.online-grading-release-item.active .online-grading-release-card{color:var(--text);border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.online-grading-release-actions{display:grid;gap:6px;align-content:start}.online-grading-release-actions .online-icon-button{width:32px;height:32px}.online-grading-release-card strong,.online-grading-release-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-grading-release-card strong{color:var(--text);font-size:13px}.online-grading-release-card span{font-size:12px}.online-grading-workbench{display:grid;gap:14px;align-content:start}.online-grading-workbench-header,.online-grading-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.online-grading-workbench-header h3,.online-grading-detail-header h3{margin:2px 0 4px;color:var(--text);font-size:18px}.online-grading-workbench-header p,.online-grading-detail-header p{margin:0;color:var(--muted);font-size:13px}.online-grading-summary-strip,.online-grading-score-breakdown{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.online-grading-summary-strip span,.online-grading-score-breakdown span{padding:5px 8px;color:var(--accent-strong);font-size:12px;font-weight:700;background:#eef7f7;border:1px solid #c8dde0;border-radius:7px;white-space:nowrap}.online-grading-filters{display:grid;grid-template-columns:minmax(160px,1.4fr) repeat(3,minmax(120px,.8fr)) auto;gap:8px;align-items:end}.online-grading-filters label,.online-grading-manual-row label{display:grid;gap:4px;color:var(--muted);font-size:12px;font-weight:700}.online-grading-filters input,.online-grading-filters select,.online-grading-manual-row input{height:34px;min-width:0;padding:0 9px;color:var(--text);background:#fff;border:1px solid #ccd7e2;border-radius:7px}.online-grading-filters input:focus,.online-grading-filters select:focus,.online-grading-manual-row input:focus{border-color:var(--control-border-focus);outline:none;box-shadow:0 0 0 3px #6f84a329}.online-grading-attempt-table{display:grid;gap:5px;overflow-x:auto;padding-bottom:2px}.online-grading-attempt-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(100px,.9fr) 78px 122px 54px 54px 66px 92px 92px;gap:8px;align-items:center;min-width:960px;padding:8px 10px;color:var(--text);text-align:left;background:#fff;border:1px solid #e1e7f0;border-radius:7px}button.online-grading-attempt-row{cursor:pointer}button.online-grading-attempt-row:hover,button.online-grading-attempt-row.active{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.online-grading-attempt-row.header{color:var(--muted);font-size:12px;font-weight:800;background:#f6f9fc;cursor:default}.online-grading-attempt-row span{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.online-grading-attempt-row strong,.online-grading-attempt-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-grading-attempt-row small{color:var(--muted);font-size:11px}.online-grading-workbench-footer{display:flex;justify-content:flex-end}.online-grading-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;color:#5c6d82;font-size:12px;font-weight:800;background:#f1f5f9;border:1px solid #d8e2ed;border-radius:999px}.online-grading-status-badge.partial{color:#8a5a00;background:#fff7df;border-color:#f1d28c}.online-grading-status-badge.graded{color:#11644c;background:#eaf7f1;border-color:#b7dfd1}.online-grading-detail-panel{display:grid;gap:12px;padding-top:14px;border-top:1px solid #e1e7f0}.online-grading-detail-panel.empty{padding-top:0}.online-grading-taking-shell .online-runner{max-width:var(--exam-content-max);margin:16px auto 0}.online-grading-detail-page{padding:0}.online-grading-taking-shell{height:auto;min-height:100%;overflow:visible;padding-bottom:96px}.online-grading-taking-shell .online-runner-shell{grid-template-columns:minmax(0,1fr) clamp(320px,22vw,400px);gap:20px}.online-grading-taking-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px}.online-grading-taking-actions .preview-confirm-button,.online-grading-question-panel .preview-confirm-button,.online-grading-question-panel .preview-secondary-button{display:inline-flex;align-items:center;gap:6px}.online-grading-runner .online-runner-header div{flex-wrap:wrap}.online-grading-runner-toolbar{display:inline-flex;flex-wrap:wrap;justify-content:flex-end}.online-grading-next-student-button{display:inline-flex;align-items:center;gap:6px}.online-grading-question-panel{min-height:560px}.online-grading-side-panel{top:18px}.online-grading-side-card{padding:12px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-grading-side-title{margin-bottom:10px;color:var(--param-label);font-size:12px;font-weight:900}.online-grading-total-panel strong{display:block;color:var(--accent-strong);font-size:26px;line-height:1.1}.online-grading-total-panel p{margin:8px 0 0;color:var(--muted);font-size:13px;font-weight:800}.online-grading-side-stats{display:grid;gap:8px}.online-grading-side-stats span{display:block;padding:8px 9px;color:var(--accent-strong);font-size:12px;font-weight:800;background:#eef7f7;border:1px solid #c8dde0;border-radius:7px}.online-grading-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:20px;background:#0f172a47;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.online-grading-modal{display:grid;gap:18px;width:min(460px,100%);padding:20px;background:#fff;border:1px solid #d8e2ed;border-radius:8px;box-shadow:0 20px 52px #19243838}.online-grading-modal h3{margin:4px 0 6px;color:var(--text);font-size:20px}.online-grading-modal p{margin:0;color:var(--muted);font-size:13px;font-weight:700;line-height:1.6}.online-grading-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.online-grading-modal-actions button{display:inline-flex;align-items:center;gap:6px}.online-grading-total-box{display:grid;gap:2px;min-width:150px;padding:10px 12px;text-align:right;background:#fbfdff;border:1px solid #dfe6ef;border-radius:7px}.online-grading-total-box span,.online-grading-total-box small{color:var(--muted);font-size:12px;font-weight:700}.online-grading-total-box strong{color:var(--accent-strong);font-size:22px}.online-grading-question-list{display:grid;gap:10px}.online-grading-question-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-grading-question-counter{min-width:96px;color:var(--text);font-size:13px;font-weight:900;text-align:center;white-space:nowrap}.online-grading-question-grid{padding:10px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-grading-question-item{display:grid;gap:10px;padding:12px;background:#fff;border:1px solid #e1e7f0;border-radius:8px}.online-grading-question-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.online-grading-question-header div{min-width:0}.online-grading-question-header span{display:block;color:var(--muted);font-size:12px;font-weight:700}.online-grading-question-header strong{display:block;overflow:hidden;color:var(--text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.online-grading-stem{min-height:auto;padding:10px;background:#fbfdff;border:1px solid #e6edf5;border-radius:7px}.online-grading-answer-stack,.online-grading-subquestion-list{display:grid;gap:9px}.online-grading-answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start}.online-grading-answer-block{display:grid;gap:6px;min-width:0}.online-grading-answer-block>span{color:var(--muted);font-size:12px;font-weight:800}.online-grading-answer-block>pre,.online-grading-rich-value{margin:0;padding:9px;overflow:visible;color:var(--text);font:13px/1.55 SFMono-Regular,Consolas,Liberation Mono,monospace;white-space:pre-wrap;word-break:break-word;background:#f7fafc;border:1px solid #e1e7f0;border-radius:7px}.online-grading-rich-value .stem-code-block pre{min-height:0;padding:0;color:inherit;background:transparent;border:0;border-radius:0}.online-grading-rich-value{font-family:inherit}.online-grading-choice-review{gap:8px}.online-grading-choice-row{grid-template-columns:20px 28px minmax(0,1fr);align-items:flex-start;min-height:auto}.online-grading-choice-row strong{min-width:0;overflow:visible;line-height:1.55;white-space:normal;overflow-wrap:anywhere}.online-grading-choice-row.student-selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.online-grading-choice-row.reference-selected{color:#14532d;background:#f0fdf4;border-color:#bbf7d0}.online-grading-choice-row.student-selected.reference-selected{background:#ecfdf5}.online-grading-choice-row.wrong-selected{background:#fff7f7;border-color:#f4b4b4;box-shadow:inset 3px 0 0 var(--red)}.online-grading-choice-marker{display:inline-flex;align-items:center;justify-content:center;color:#94a3b8;font-size:14px}.online-grading-choice-row.reference-selected .online-grading-choice-marker{color:#16a34a}.online-grading-choice-row.wrong-selected .online-grading-choice-marker{color:var(--red)}.online-grading-manual-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:9px}.online-grading-auto-note{padding:8px 10px;color:var(--muted);font-size:13px;background:#f7fafc;border:1px dashed #cbd7e4;border-radius:7px}.online-grading-subquestion-item{display:grid;gap:9px;padding:10px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:7px}.exam-taking-shell{--exam-content-max: 1800px;min-height:100vh;padding:18px clamp(12px,3vw,34px) 28px;background:#f4f7fb}.exam-taking-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:var(--exam-content-max);margin:0 auto;padding:12px 0 16px;border-bottom:1px solid #dce5ef}.exam-taking-title-block{min-width:0}.exam-taking-title-block span{display:block;margin-bottom:4px;color:var(--accent-strong);font-size:12px;font-weight:900}.exam-taking-title-block h1{margin:0;overflow-wrap:anywhere;color:#172033;font-size:24px;line-height:1.25}.exam-taking-title-block p{margin:6px 0 0;color:#667085;font-size:13px;font-weight:700}.exam-exit-button{flex:0 0 auto}.exam-taking-shell .online-runner{max-width:var(--exam-content-max);margin:16px auto 0}.exam-taking-shell .online-runner-shell{grid-template-columns:minmax(0,1fr) clamp(400px,25vw,460px);gap:20px}.exam-taking-shell .online-question-panel{min-height:520px}.exam-taking-shell .online-assist-panel{top:18px}.online-runner{display:grid;gap:12px;margin-top:14px}.online-runner-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f8fafc;border:1px solid #e1e7f0;border-radius:8px}.online-runner-header div{display:flex;align-items:center;gap:12px}.online-runner-header span,.online-runner-status{color:var(--muted);font-size:12px;font-weight:700}.online-runner-status{color:var(--green)}.online-focus-count.warning{color:#b45309}.online-countdown{color:var(--accent-strong)!important}.online-countdown.urgent{color:#b45309!important}.online-countdown.submitted{color:var(--green)!important}.online-runner-warning{padding:9px 11px;color:var(--red);background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:12px;font-weight:700;line-height:1.5}.online-runner-shell{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:14px;align-items:start}.online-question-panel{min-height:420px;padding:14px;background:#fff;border:1px solid #e1e7f0;border-radius:8px}.online-question-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.online-question-meta span{padding:5px 9px;color:var(--accent-strong);background:#eef7f7;border:1px solid #c8dddd;border-radius:7px;font-size:12px;font-weight:800}.online-question-stem,.online-subquestion-stem{min-height:auto;margin-bottom:14px;padding:10px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px;line-height:1.7}.online-question-stem{font-size:14px}.online-subquestion-stem{margin:8px 0;font-size:13px}.online-choice-list{display:grid;gap:9px}.online-choice-row{display:grid;grid-template-columns:18px 28px minmax(0,1fr);gap:9px;align-items:center;padding:10px;background:#fff;border:1px solid #dfe6ef;border-radius:8px}.online-choice-row input{width:16px;height:16px;accent-color:var(--accent)}.online-choice-row span{color:var(--accent-strong);font-weight:900}.online-choice-row strong{font-weight:600}.online-answer-input{width:100%;min-height:42px;padding:10px;color:var(--text);background:#fff;border:1px solid var(--control-border);border-radius:8px;font-size:14px;line-height:1.6;resize:vertical}.online-answer-input.large,.online-subquestion-item .online-answer-input{min-height:120px}.online-answer-input:focus{border-color:var(--control-border-focus);box-shadow:0 0 0 3px #6f84a329;outline:none}.online-answer-input:disabled,.python-code-input:disabled{color:#64748b;background:#f1f5f9;cursor:not-allowed}.online-submission-lock{margin-top:12px;padding:10px 12px;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:13px;font-weight:800}.python-sandbox-tool{display:grid;gap:10px}.python-sandbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.python-sandbox-actions{display:inline-flex;align-items:center;gap:7px}.python-tool-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}.python-sandbox-toolbar span,.python-sandbox-status{color:var(--param-label);font-size:12px;font-weight:900}.python-code-input,.python-sandbox-output{font-family:Cascadia Code,Consolas,monospace}.python-code-input{width:100%;min-height:270px;padding:10px;color:#1f2937;background:#fff;border:1px solid var(--control-border);border-radius:8px;font-size:12px;line-height:1.55;resize:vertical;-moz-tab-size:4;tab-size:4}.python-code-input:focus{border-color:var(--control-border-focus);box-shadow:0 0 0 3px #6f84a329;outline:none}.python-sandbox-output{min-height:230px;max-height:320px;margin:0;overflow:auto;padding:10px;color:#243045;background:#f8fafc;border:1px solid #dfe6ef;border-radius:8px;font-size:12px;line-height:1.5;white-space:pre-wrap}.python-sandbox-output.empty{color:#94a3b8}.python-sandbox-status{min-height:18px;color:var(--muted)}.online-subquestion-list{display:grid;gap:12px}.online-subquestion-item{padding:12px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-subquestion-title{display:flex;align-items:center;justify-content:flex-start;gap:10px;color:var(--text);font-size:13px;font-weight:800}.online-subquestion-title span:last-child{color:var(--muted);font-weight:700}.online-subquestion-title strong.online-subquestion-score-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;color:var(--accent-strong);background:#eef7f7;border:1px solid #c8dddd;border-radius:7px;font-size:13px;font-weight:900;line-height:1.2;white-space:nowrap}.online-runner-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}.online-assist-panel{position:sticky;top:12px;display:grid;gap:12px;align-self:start}.online-question-grid-panel,.online-timer-panel,.online-proctor-panel,.online-assist-tools-panel{padding:12px;background:#fbfdff;border:1px solid #e1e7f0;border-radius:8px}.online-assist-tools-panel{min-height:520px}.online-question-grid-title,.online-timer-title,.online-proctor-title,.online-assist-tools-title{margin-bottom:10px;color:var(--param-label);font-size:12px;font-weight:900}.online-question-grid{display:grid;grid-template-columns:repeat(8,minmax(34px,1fr));gap:7px}.online-question-jump{height:32px;color:#475569;background:#e5e7eb;border:1px solid #d1d5db;border-radius:7px;font-size:12px;font-weight:900}.online-question-jump.answered{color:#fff;background:var(--green);border-color:var(--green)}.online-question-jump.active{outline:3px solid rgb(22 124 128 / 22%);outline-offset:2px}.online-grading-question-grid .online-question-jump.manual.ungraded{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.online-grading-question-grid .online-question-jump.manual.partial{color:#854d0e;background:#fef3c7;border-color:#fde68a}.online-grading-question-grid .online-question-jump.graded{color:#166534;background:#dcfce7;border-color:#bbf7d0}.online-grading-question-grid .online-question-jump.active{outline-color:#167c804d}.online-timer-panel{display:grid;gap:8px}.online-timer-panel strong{color:var(--accent-strong);font-size:30px;line-height:1}.online-timer-panel.urgent strong{color:#b45309}.online-timer-panel.submitted strong{color:var(--green)}.online-timer-panel p{margin:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.5}.online-proctor-panel{display:grid;gap:8px}.online-proctor-count{display:flex;align-items:baseline;gap:8px}.online-proctor-count strong{color:#b45309;font-size:28px;line-height:1}.online-proctor-count span,.online-proctor-panel p{margin:0;color:var(--muted);font-size:12px;font-weight:700;line-height:1.5}.online-assist-empty{min-height:420px;display:grid;place-items:center;padding:18px;color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:13px;line-height:1.6;text-align:center}@media(max-width:1180px){.online-exam-layout,.online-runner-shell,.online-grading-layout,.online-draft-stage-grid{grid-template-columns:1fr}.online-draft-list-pane{padding-right:0;padding-bottom:14px;border-right:0;border-bottom:1px solid #e1e7f0}.exam-taking-shell .online-runner-shell,.online-grading-taking-shell .online-runner-shell{grid-template-columns:1fr}.exam-taking-header{align-items:flex-start}.online-assist-panel{position:static}.online-question-grid{grid-template-columns:repeat(10,minmax(28px,1fr))}.online-draft-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.online-release-config-grid{grid-template-columns:1fr}.online-assist-tools-panel{min-height:360px}.online-grading-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.online-flow-steps{grid-template-columns:1fr}.online-flow-section-header,.online-stage-header,.online-stage-note,.online-import-toolbar,.online-student-preview-title,.online-latest-release,.online-grading-workbench-header,.online-grading-detail-header,.online-grading-question-toolbar,.online-grading-question-header{align-items:stretch;flex-direction:column}.online-import-toolbar>span,.online-student-preview-title span{white-space:normal}.online-flow-count-badge,.online-stage-note button,.online-latest-release button{width:100%;justify-content:center}.online-stage-note .online-action-row{width:100%;justify-content:stretch}.online-action-row{justify-content:stretch}.online-action-row .online-button{width:100%;justify-content:center}.online-draft-meta{grid-template-columns:1fr}.exam-taking-shell{padding:12px}.exam-taking-header{flex-direction:column}.online-grading-taking-actions{width:100%;justify-content:stretch}.online-grading-taking-actions button{flex:1;justify-content:center}.exam-exit-button{width:100%;justify-content:center}.exam-taking-title-block h1{font-size:20px}.exam-taking-shell .online-question-panel{min-height:420px}.online-grading-filters,.online-grading-answer-grid,.online-grading-manual-row{grid-template-columns:1fr}.online-grading-summary-strip,.online-grading-score-breakdown{justify-content:flex-start}.online-grading-total-box{text-align:left}}@media(max-width:980px){.app-shell{grid-template-rows:auto 1fr}.topbar{align-items:flex-start}.workbench{grid-template-columns:1fr;grid-template-rows:auto 540px auto}.palette,.inspector{border:0}.palette-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
