.flexlayout__layout{--color-text: black;--color-background: white;--color-base: white;--color-1: #f7f7f7;--color-2: #f0f0f0;--color-3: #e9e9e9;--color-4: #e2e2e2;--color-5: #dbdbdb;--color-6: #d4d4d4;--color-drag1: rgb(95, 134, 196);--color-drag2: rgb(119, 166, 119);--color-drag1-background: rgba(95, 134, 196, .1);--color-drag2-background: rgba(119, 166, 119, .075);--font-size: medium;--font-family: Roboto, Arial, sans-serif;--color-overflow: gray;--color-icon: gray;--color-tabset-background: var(--color-background);--color-tabset-background-selected: var(--color-1);--color-tabset-background-maximized: var(--color-6);--color-tabset-divider-line: var(--color-4);--color-tabset-header-background: var(--color-background);--color-tabset-header: var(--color-text);--color-border-background: var(--color-background);--color-border-divider-line: var(--color-4);--color-tab-selected: var(--color-text);--color-tab-selected-background: var(--color-4);--color-tab-unselected: gray;--color-tab-unselected-background: transparent;--color-tab-textbox: var(--color-text);--color-tab-textbox-background: var(--color-3);--color-border-tab-selected: var(--color-text);--color-border-tab-selected-background: var(--color-4);--color-border-tab-unselected: gray;--color-border-tab-unselected-background: var(--color-2);--color-splitter: var(--color-1);--color-splitter-hover: var(--color-4);--color-splitter-drag: var(--color-4);--color-drag-rect-border: var(--color-6);--color-drag-rect-background: var(--color-4);--color-drag-rect: var(--color-text);--color-popup-border: var(--color-6);--color-popup-unselected: var(--color-text);--color-popup-unselected-background: white;--color-popup-selected: var(--color-text);--color-popup-selected-background: var(--color-3);--color-edge-marker: #aaa;--color-edge-icon: #555}.flexlayout__layout{left:0;top:0;right:0;bottom:0;position:absolute;overflow:hidden}.flexlayout__splitter{background-color:var(--color-splitter)}@media(hover:hover){.flexlayout__splitter:hover{background-color:var(--color-splitter-hover);transition:background-color ease-in .1s;transition-delay:.05s}}.flexlayout__splitter_border{z-index:10}.flexlayout__splitter_drag{z-index:1000;background-color:var(--color-splitter-drag)}.flexlayout__splitter_extra{background-color:transparent}.flexlayout__outline_rect{position:absolute;pointer-events:none;box-sizing:border-box;border:2px solid var(--color-drag1);background:var(--color-drag1-background);border-radius:5px;z-index:1000}.flexlayout__outline_rect_edge{pointer-events:none;border:2px solid var(--color-drag2);background:var(--color-drag2-background);border-radius:5px;z-index:1000;box-sizing:border-box}.flexlayout__edge_rect{position:absolute;z-index:1000;background-color:var(--color-edge-marker);pointer-events:none;display:flex;align-items:center;justify-content:center}.flexlayout__drag_rect{position:absolute;cursor:move;color:var(--color-drag-rect);background-color:var(--color-drag-rect-background);border:2px solid var(--color-drag-rect-border);border-radius:5px;z-index:1000;box-sizing:border-box;opacity:.9;text-align:center;display:flex;justify-content:center;flex-direction:column;overflow:hidden;padding:.3em 1em;word-wrap:break-word;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset{display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-tabset-background);box-sizing:border-box;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_tab_divider{width:4px}.flexlayout__tabset_content{display:flex;flex-grow:1;align-items:center;justify-content:center}.flexlayout__tabset_header{display:flex;align-items:center;padding:3px 3px 3px 5px;box-sizing:border-box;border-bottom:1px solid var(--color-tabset-divider-line);color:var(--color-tabset-header);background-color:var(--color-tabset-header-background)}.flexlayout__tabset_header_content{flex-grow:1}.flexlayout__tabset_tabbar_outer{box-sizing:border-box;background-color:var(--color-tabset-background);overflow:hidden;display:flex}.flexlayout__tabset_tabbar_outer_top{border-bottom:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_outer_bottom{border-top:1px solid var(--color-tabset-divider-line)}.flexlayout__tabset_tabbar_inner{position:relative;box-sizing:border-box;display:flex;flex-grow:1;overflow:hidden}.flexlayout__tabset_tabbar_inner_tab_container{display:flex;padding-left:4px;padding-right:4px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__tabset_tabbar_inner_tab_container_top{border-top:2px solid transparent}.flexlayout__tabset_tabbar_inner_tab_container_bottom{border-bottom:2px solid transparent}.flexlayout__tabset-selected{background-color:var(--color-tabset-background-selected)}.flexlayout__tabset-maximized{background-color:var(--color-tabset-background-maximized)}.flexlayout__tab_button_stamp{display:inline-flex;align-items:center;gap:.3em;white-space:nowrap;box-sizing:border-box}.flexlayout__tab{overflow:auto;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__tab_button{display:flex;gap:.3em;align-items:center;box-sizing:border-box;padding:3px .5em;cursor:pointer}.flexlayout__tab_button_stretch{background-color:transparent;color:var(--color-tab-selected);width:100%;padding:3px 0;text-wrap:nowrap;display:flex;gap:.3em;align-items:center;box-sizing:border-box;cursor:pointer}@media(hover:hover){.flexlayout__tab_button_stretch:hover{color:var(--color-tab-selected)}}.flexlayout__tab_button--selected{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}@media(hover:hover){.flexlayout__tab_button:hover{background-color:var(--color-tab-selected-background);color:var(--color-tab-selected)}}.flexlayout__tab_button--unselected{background-color:var(--color-tab-unselected-background);color:var(--color-tab-unselected);color:gray}.flexlayout__tab_button_leading,.flexlayout__tab_button_content{display:flex}.flexlayout__tab_button_textbox{border:none;font-family:var(--font-family);font-size:var(--font-size);color:var(--color-tab-textbox);background-color:var(--color-tab-textbox-background);border:1px inset var(--color-1);border-radius:3px;width:10em}.flexlayout__tab_button_textbox:focus{outline:none}.flexlayout__tab_button_trailing{display:flex;visibility:hidden;border-radius:4px}.flexlayout__tab_button_trailing:hover{background-color:var(--color-3)}@media(hover:hover){.flexlayout__tab_button:hover .flexlayout__tab_button_trailing{visibility:visible}}.flexlayout__tab_button--selected .flexlayout__tab_button_trailing{visibility:visible}.flexlayout__tab_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__tab_toolbar{display:flex;align-items:center;gap:.3em;padding-left:.5em;padding-right:.3em}.flexlayout__tab_toolbar_button{border:none;outline:none;font-size:inherit;margin:0;background-color:transparent;border-radius:4px;padding:1px}@media(hover:hover){.flexlayout__tab_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__tab_toolbar_sticky_buttons_container{display:flex;gap:.3em;padding-left:5px;align-items:center}.flexlayout__tab_floating{overflow:auto;position:absolute;box-sizing:border-box;color:var(--color-text);background-color:var(--color-background);display:flex;justify-content:center;align-items:center}.flexlayout__tab_floating_inner{overflow:auto;display:flex;flex-direction:column;justify-content:center;align-items:center}.flexlayout__tab_floating_inner div{margin-bottom:5px;text-align:center}.flexlayout__tab_floating_inner div a{color:#4169e1}.flexlayout__border{box-sizing:border-box;overflow:hidden;display:flex;font-size:var(--font-size);font-family:var(--font-family);color:var(--color-border);background-color:var(--color-border-background)}.flexlayout__border_top{border-bottom:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_bottom{border-top:1px solid var(--color-border-divider-line);align-items:center}.flexlayout__border_left{border-right:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_right{border-left:1px solid var(--color-border-divider-line);align-content:center;flex-direction:column}.flexlayout__border_inner{position:relative;box-sizing:border-box;display:flex;overflow:hidden;flex-grow:1}.flexlayout__border_inner_tab_container{white-space:nowrap;display:flex;padding-left:2px;padding-right:2px;box-sizing:border-box;position:absolute;top:0;bottom:0;width:10000px}.flexlayout__border_inner_tab_container_right{transform-origin:top left;transform:rotate(90deg)}.flexlayout__border_inner_tab_container_left{flex-direction:row-reverse;transform-origin:top right;transform:rotate(-90deg)}.flexlayout__border_tab_divider{width:4px}.flexlayout__border_button{display:flex;gap:.3em;align-items:center;cursor:pointer;padding:3px .5em;margin:2px 0;box-sizing:border-box;white-space:nowrap}.flexlayout__border_button--selected{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}@media(hover:hover){.flexlayout__border_button:hover{background-color:var(--color-border-tab-selected-background);color:var(--color-border-tab-selected)}}.flexlayout__border_button--unselected{background-color:var(--color-border-tab-unselected-background);color:var(--color-border-tab-unselected)}.flexlayout__border_button_leading,.flexlayout__border_button_content{display:flex}.flexlayout__border_button_trailing{display:flex;border-radius:4px;visibility:hidden}.flexlayout__border_button_trailing:hover{background-color:var(--color-3)}@media(hover:hover){.flexlayout__border_button:hover .flexlayout__border_button_trailing{visibility:visible}}.flexlayout__border_button--selected .flexlayout__border_button_trailing{visibility:visible}.flexlayout__border_toolbar{display:flex;gap:.3em;align-items:center}.flexlayout__border_toolbar_left,.flexlayout__border_toolbar_right{flex-direction:column;padding-top:.5em;padding-bottom:.3em}.flexlayout__border_toolbar_top,.flexlayout__border_toolbar_bottom{padding-left:.5em;padding-right:.3em}.flexlayout__border_toolbar_button{border:none;outline:none;font-size:inherit;background-color:transparent;border-radius:4px;padding:1px}@media(hover:hover){.flexlayout__border_toolbar_button:hover{background-color:var(--color-2)}}.flexlayout__border_toolbar_button_overflow{display:flex;align-items:center;border:none;color:var(--color-overflow);font-size:inherit;background-color:transparent}.flexlayout__popup_menu{font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__popup_menu_item{padding:2px .5em;white-space:nowrap;cursor:pointer;border-radius:2px}@media(hover:hover){.flexlayout__popup_menu_item:hover{background-color:var(--color-6)}}.flexlayout__popup_menu_container{box-shadow:inset 0 0 5px #00000026;border:1px solid var(--color-popup-border);color:var(--color-popup-unselected);background:var(--color-popup-unselected-background);border-radius:3px;position:absolute;z-index:1000;max-height:50%;min-width:100px;overflow:auto;padding:2px}.flexlayout__floating_window _body{height:100%}.flexlayout__floating_window_content{left:0;top:0;right:0;bottom:0;position:absolute}.flexlayout__floating_window_tab{overflow:auto;left:0;top:0;right:0;bottom:0;position:absolute;box-sizing:border-box;background-color:var(--color-background);color:var(--color-text)}.flexlayout__error_boundary_container{left:0;top:0;right:0;bottom:0;position:absolute;display:flex;justify-content:center}.flexlayout__error_boundary_content{display:flex;align-items:center}.flexlayout__tabset_sizer{padding-top:5px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__tabset_header_sizer{padding-top:3px;padding-bottom:3px;font-size:var(--font-size);font-family:var(--font-family)}.flexlayout__border_sizer{padding-top:6px;padding-bottom:5px;font-size:var(--font-size);font-family:var(--font-family)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,Malgun Gothic,system-ui,sans-serif;color:#0f172a;background:#eef2f6}.app{display:flex;flex-direction:column;height:100%}.boot-screen{display:flex;align-items:center;justify-content:center;height:100%;color:#94a3b8;font-size:13px;background:#eef2f6}.auth-gate{display:flex;align-items:center;justify-content:center;height:100%;background:#0f172a;padding:20px}.auth-brand{color:#0f172a;text-align:center;margin-bottom:4px;font-size:20px}.auth-sub{color:#64748b;text-align:center;margin-bottom:14px;font-size:12px}.auth-gate .auth-box{width:100%}.auth-submit{width:100%;padding:10px;font-size:14px}.topbar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:8px 14px;background:#0f172a;color:#e2e8f0;flex-shrink:0}.brand{font-weight:800;font-size:18px;letter-spacing:.3px;white-space:nowrap}.ex-select{padding:6px 10px;border-radius:7px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:13px;min-width:240px;max-width:460px}.ex-select option.done{color:#16a34a;font-weight:600}.ex-select-wrap{display:flex;align-items:center;gap:4px}.ex-step{width:26px;height:28px;padding:0;border-radius:6px;border:1px solid #334155;background:#1e293b;color:#cbd5e1;font-size:10px;line-height:1;cursor:pointer}.ex-step:hover:not(:disabled){background:#334155;color:#fff}.ex-step:disabled{opacity:.35;cursor:default}.controls{display:flex;align-items:center;gap:8px;margin-left:auto}.acct{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:13px}.acct-name{color:#e2e8f0;font-weight:600}.acct-menu{position:relative}.acct-btn{display:flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #334155;border-radius:7px;background:#1e293b;color:#e2e8f0;font-size:13px;cursor:pointer}.acct-btn:hover{background:#334155}.acct-caret{font-size:10px;color:#94a3b8;transition:transform .15s}.acct-caret.up{transform:rotate(180deg)}.acct-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:60;min-width:210px;padding:6px;background:#fff;color:#0f172a;border:1px solid #cbd5e1;border-radius:9px;box-shadow:0 12px 28px #0f172a38}.acct-head{padding:8px 10px 10px;border-bottom:1px solid #e2e8f0;margin-bottom:6px}.acct-who{font-weight:700;font-size:13px}.acct-mail{font-size:11px;color:#64748b;margin-top:2px;word-break:break-all}.acct-role{display:inline-block;margin-top:6px;padding:1px 8px;border-radius:999px;background:#eef2f6;color:#475569;font-size:11px;font-weight:600}.acct-item{display:block;width:100%;padding:8px 10px;border:none;border-radius:6px;background:none;color:#0f172a;font-size:13px;text-align:left;cursor:pointer}.acct-item:hover{background:#f1f5f9}.acct-item.danger{color:#dc2626}.acct-item.danger:hover{background:#fee2e2}.acct-sep{height:1px;background:#e2e8f0;margin:6px 4px}.me-body{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;overflow-y:auto;padding:12px 14px;min-height:0;width:100%}.me-body>.me-card{max-width:720px;width:100%}.me-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px 16px}.me-card.col{flex-direction:column;align-items:stretch;gap:0;flex:none}.me-title{font-size:13px;font-weight:700;color:#475569;margin-bottom:10px}.me-avatar{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0f172a;color:#e2e8f0;font-size:19px;font-weight:700}.me-who{flex:1;min-width:0}.me-name{font-size:15px;font-weight:700}.me-mail{font-size:12px;color:#64748b;margin-top:2px;word-break:break-all}.me-badges{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.me-role{flex:none;padding:3px 10px;border-radius:999px;background:#eef2f6;color:#475569;font-size:12px;font-weight:600}.me-build{flex:none;font-size:11px;color:#94a3b8}.progress-type-title{font-size:12px;font-weight:700;color:#475569;margin:4px 0 8px}.progress-section-head{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.progress-section-head .progress-type-title{margin:0}.progress-section-head .admin-sum{margin-bottom:0}.progress-section-head .admin-sum .progress-track{order:1}.progress-section-body{margin-top:4px}.me-form{display:flex;flex-direction:column;gap:8px}.me-field{display:flex;align-items:center;gap:10px;font-size:13px}.me-field>span{flex:none;width:110px;color:#475569}.me-field input{flex:1;min-width:0;padding:6px 10px;font-size:13px;border:1px solid #cbd5e1;border-radius:7px}.me-actions{display:flex;align-items:center;gap:10px;margin-left:120px}.me-actions .ctl:disabled{opacity:.45;cursor:not-allowed}.me-note{margin:0;font-size:12px}.me-note.ok{color:#16a34a}.me-note.bad{color:#b91c1c}.me-form+.acct-sep{margin:14px 0}.progress-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #334155;border-radius:7px;background:#1e293b;cursor:pointer}.progress-btn:hover{background:#334155}.progress-track{width:84px;height:8px;border-radius:4px;background:#334155;overflow:hidden}.progress-fill{display:block;height:100%;background:#16a34a;border-radius:4px;transition:width .2s}.progress-fill.quiz{background:#2563eb}.progress-fill.word{background:#7c3aed}.progress-fill.fault{background:#ea580c}.progress-label{font-size:12px;color:#e2e8f0;font-weight:600;font-variant-numeric:tabular-nums}.progress-badge-count{font-size:11px;font-weight:700;color:#78350f;background:#fde047;border-radius:8px;padding:1px 6px;font-variant-numeric:tabular-nums}.progress-box{width:100%;max-width:min(90vw,480px)}.progress-box{display:flex;flex-direction:column;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}.progress-box>*{flex:none}.progress-scroll{flex:1 1 auto;min-height:120px;overflow:auto;margin-top:10px}.progress-box{overflow-y:auto}.progress-box .dev-actions{position:sticky;bottom:-18px;margin-bottom:-18px;padding:8px 0 18px;background:#fff}.badge-breakdown{margin:4px 0 10px;font-size:12px;color:#334155}.badge-breakdown summary{cursor:pointer;font-weight:600;color:#475569}.badge-breakdown table{width:100%;border-collapse:collapse;margin-top:6px}.badge-breakdown th,.badge-breakdown td{border-bottom:1px solid #e2e8f0;padding:4px 6px;text-align:left;vertical-align:top}.badge-breakdown th{color:#64748b;font-weight:600}.badge-breakdown td:last-child,.badge-breakdown th:last-child{text-align:right;white-space:nowrap}.badge-breakdown-note{margin:6px 0 0;color:#64748b;font-size:11px}.badge-rules-title{margin-top:10px;font-weight:600;color:#475569}.badge-breakdown table.badge-rules td:first-child{white-space:nowrap;color:#475569;font-weight:600;width:1%}.badge-breakdown table.badge-rules td:last-child{text-align:left;white-space:normal}.progress-group+.progress-group{margin-top:12px}.progress-stage{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:11px;font-weight:700;color:#64748b;margin-bottom:4px}.progress-stage-desc{font-weight:400;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:none;border-radius:6px;background:none;cursor:pointer;text-align:left;font-size:13px}.progress-row:hover{background:#f1f5f9}.progress-mark{flex:none;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:1px solid #cbd5e1;color:#fff}.progress-mark.done{background:#16a34a;border-color:#16a34a}.progress-mark.wrong{background:#dc2626;border-color:#dc2626}.progress-name{flex:1;color:#0f172a}.progress-state{flex:none;font-size:11px;color:#94a3b8}.progress-row.done .progress-state{color:#16a34a;font-weight:600}.progress-row.quiz-row{border-top:1px dashed #e2e8f0;margin-top:2px;padding-top:9px}.progress-row.quiz-row .progress-name{font-style:italic;color:#475569}.cat-strip{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:12px 0}.cat-badge{display:flex;flex-direction:column;align-items:center;gap:3px;width:84px}.cat-badge-ring{position:relative;width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--ring-color, #94a3b8) calc(var(--pct) * 1%),#e2e8f0 0);display:flex;align-items:center;justify-content:center;transition:background .3s}.cat-badge-ring:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:#fff}.cat-badge-icon{position:relative;z-index:1;font-size:20px}.cat-milestones{display:inline-flex;gap:4px;margin-top:1px}.cat-ms{width:7px;height:7px;border-radius:50%;background:#e2e8f0;box-shadow:inset 0 0 0 1px #cbd5e1}.cat-ms.on{background:var(--ring-color, #94a3b8);box-shadow:none}.stage-medal{margin-left:4px;font-size:12px}.cat-badge-title{font-size:12px;font-weight:700;color:#334155}.cat-badge-frac{font-size:10px;color:#94a3b8;font-variant-numeric:tabular-nums}.cat-badge.cat-practice{--ring-color: #16a34a}.cat-badge.cat-quiz{--ring-color: #2563eb}.cat-badge.cat-word{--ring-color: #7c3aed}.cat-badge.cat-fault{--ring-color: #ea580c}.cat-badge.cat-faultDeep{--ring-color: #b91c1c}.cat-badge.cat-faultExam{--ring-color: #9a3412}.cat-badge.complete .cat-badge-ring{box-shadow:0 0 0 2px #fde047}.cat-badge.complete .cat-badge-title{color:#0f172a}@keyframes badge-toast-in{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.badge-toast{position:fixed;top:14px;left:50%;z-index:80;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:10px;cursor:pointer;background:#1e293b;color:#fff;box-shadow:0 8px 24px #00000040;animation:badge-toast-in .25s ease-out}.badge-toast-icon{font-size:24px}.badge-toast-kicker{font-size:11px;font-weight:700;color:#fde047}.badge-toast-title{font-size:14px;font-weight:700}.eval-deadline-toast{top:60px;background:#7c2d12;box-shadow:0 8px 24px #7c2d1259}.eval-deadline-toast .badge-toast-kicker{color:#fed7aa}.announcement-toast{top:14px;max-width:min(92vw,420px);padding:16px 20px;gap:14px;background:#1d4ed8;box-shadow:0 8px 24px #1d4ed859}.announcement-toast .badge-toast-icon{font-size:28px}.announcement-toast .badge-toast-title{line-height:1.4;white-space:pre-wrap}.announcement-toast .badge-toast-close{flex:none;align-self:flex-start;margin:-4px -8px 0 0;background:none;border:none;color:inherit;opacity:.7;font-size:15px;line-height:1;cursor:pointer;padding:4px}.announcement-toast .badge-toast-close:hover{opacity:1}.message-toast{top:72px;transform:translate(-50%);background:#047857;box-shadow:0 8px 24px #04785759}.message-toast-preview{margin-top:4px;font-size:13px;line-height:1.4;opacity:.92;overflow-wrap:anywhere}.message-toast-go{margin-top:8px;background:#fff;color:#047857;border-color:#fff;font-weight:700}.message-toast-go:hover{background:#ecfdf5}@keyframes announcement-center-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.announcement-toast-center{top:50%;left:50%;transform:translate(-50%,-50%);cursor:default;max-width:min(92vw,480px);padding:22px 26px;z-index:90;animation:announcement-center-in .2s ease-out}.announcement-toast-center .badge-toast-title{font-size:16px}.quiz-overall{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #334155;border-radius:7px;background:#1e293b}.quiz-exam-slot{margin-left:auto}.quiz-body{flex:1;display:flex;min-height:0}.quiz-stages{flex:none;width:360px;overflow-y:auto;border-right:1px solid #e2e8f0;background:#fff;padding:12px 10px}.quiz-tree-stage+.quiz-tree-stage{margin-top:2px}.quiz-tree-head{display:flex;align-items:center;gap:6px;width:100%;padding:7px 8px;border:none;border-radius:6px;background:none;cursor:pointer;text-align:left;font-size:13px;font-weight:600;color:#334155}.quiz-tree-head:hover{background:#f1f5f9}.quiz-tree-head.active{background:#0f172a;color:#e2e8f0}.quiz-tree-caret{font-size:10px;color:#94a3b8;transition:transform .15s}.quiz-tree-caret.down{transform:rotate(90deg)}.quiz-tree-head.active .quiz-tree-caret{color:#94a3b8}.quiz-tree-label{flex:1}.quiz-tree-score{font-size:11px;font-weight:400;opacity:.75;font-variant-numeric:tabular-nums}.quiz-tree-items{padding-left:16px;margin:2px 0 4px}.quiz-nav-row.done .progress-mark{background:#16a34a;border-color:#16a34a}.quiz-nav-row.wrong .progress-mark{background:#dc2626;border-color:#dc2626}.quiz-nav-row.active,.quiz-nav-row.active:hover{background:#eff6ff}.quiz-main{flex:1;overflow-y:auto;padding:20px 24px;max-width:640px;margin:0 auto;width:100%}.quiz-pos{font-size:12px;color:#64748b;font-weight:600;margin-bottom:6px}.quiz-title{font-size:18px;margin:0 0 8px;color:#0f172a}.word-title-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.word-analysis-reopen{flex:none}.quiz-prompt{font-size:14px;color:#334155;line-height:1.5;margin:0 0 14px}.word-main{flex:1;overflow-y:auto;padding:20px 24px}.word-allowed{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;padding:8px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.word-allowed-label{font-size:12px;color:#64748b;font-weight:700}.word-allowed-chip{display:inline-flex;align-items:baseline;gap:4px;padding:3px 10px;border-radius:999px;background:#eef2f6;border:1px solid #e2e8f0;font-size:13px;color:#0f172a;font-weight:600}.word-allowed-chip small{font-weight:400;color:#64748b;font-family:ui-monospace,Consolas,monospace}.word-allowed.running{border-color:#93c5fd;background:#f8fbff}.word-allowed.running .word-allowed-label{color:#1d4ed8}.word-allowed-chip.in{font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:#fff;border-color:#94a3b8}.word-allowed-chip.in:hover{border-color:#2563eb}.word-allowed-chip.in.on{background:#2563eb;border-color:#2563eb;color:#fff}.word-allowed-chip.in.on small{color:#dbeafe}.word-allowed-chip.in.push{border-style:solid;border-width:1px 1px 3px;-webkit-user-select:none;user-select:none;touch-action:none}.word-allowed-chip.in.push.on{border-bottom-width:1px;transform:translateY(2px)}.word-allowed-chip.out{align-items:center;gap:5px;background:#fff}.word-allowed-live{margin-left:4px;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.word-guide{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:12px 14px;margin:0 0 14px}.word-guide-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.word-guide-head strong{color:#1e3a8a;font-size:14px}.word-guide-steps{margin:8px 0 0;padding-left:20px;color:#1e293b;line-height:1.6;font-size:13px}.word-guide-steps li+li{margin-top:2px}.word-starter{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:10px 14px 12px;margin:0 0 14px}.word-starter-label{font-size:13px;font-weight:700;color:#15803d;margin-bottom:8px}.word-starter-diagram{margin:0;background:#fff}.word-starter-diagram svg{max-width:100%;height:auto;display:block}.eval-timeline{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.eval-tl-row{display:grid;grid-template-columns:44px 1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.eval-tl-row.graded{background:#fff}.eval-tl-no{font-weight:800;color:#475569;font-variant-numeric:tabular-nums}.eval-tl-title{display:flex;flex-direction:column;gap:1px;min-width:0}.eval-tl-status{font-size:11px;color:#94a3b8}.eval-tl-score{display:flex;align-items:baseline;gap:3px;font-variant-numeric:tabular-nums}.eval-tl-score b{font-size:18px;color:#0f172a}.eval-tl-score small{font-size:11px;color:#64748b}.eval-tl-score.none{font-size:12px;color:#94a3b8;grid-column:3 / span 2;text-align:right}.eval-tl-frac{margin-left:4px}.eval-tl-best{color:#f59e0b;font-size:14px;margin-left:2px}.eval-tl-cmp{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px;min-width:120px}.eval-tl-delta{font-weight:700;color:#64748b}.eval-tl-delta.up{color:#16a34a}.eval-tl-delta.down{color:#dc2626}.eval-tl-avg{color:#64748b}.eval-tl-avg.above{color:#15803d}.eval-tl-avg.below{color:#9a3412}@media(max-width:780px){.eval-tl-row{grid-template-columns:36px 1fr auto}.eval-tl-cmp{grid-column:2 / span 2;flex-direction:row;justify-content:flex-end;gap:10px;min-width:0}}.next-step-card{border-color:#bfdbfe;background:#eff6ff}.next-step-head{display:flex;align-items:center;gap:10px}.next-step-head .me-title{margin:0}.next-step-icon{font-size:22px;line-height:1}.next-step-reason{font-size:12px;color:#1e40af;margin-top:2px}.next-step-item{display:flex;flex-direction:column;gap:2px;margin:10px 0 8px;padding:10px 12px;background:#fff;border:1px solid #dbeafe;border-radius:8px}.next-step-stage{font-size:11px;font-weight:700;color:#2563eb;letter-spacing:.02em}.next-step-label{font-size:15px;font-weight:700;color:#0f172a}.next-step-line{display:flex;align-items:center;gap:10px;margin:6px 0 10px;padding:8px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.next-step-line .next-step-icon{font-size:18px}.next-step-text{flex:1;min-width:0;display:flex;flex-direction:column;font-size:13px;color:#0f172a}.next-step-text small{font-size:11px;color:#1e40af}.next-step-line .ctl{flex:none;padding:4px 12px}.word-stepchart{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin:0 0 16px;overflow-x:auto}.word-stepchart svg{max-width:100%;height:auto;display:block;margin:0 auto}.bc-wrap{margin-top:8px}.bc-state{margin-bottom:6px;padding:8px 10px;background:#fff7ed;border-radius:6px;color:#9a3412;font-size:13px;line-height:1.55}.bc-good{margin-bottom:6px;color:#15803d;font-weight:600}.bc-table{border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden;font-size:12.5px}.bc-table th,.bc-table td{padding:4px 10px;border:1px solid #fde7d3;text-align:left;white-space:nowrap}.bc-table th{background:#fff7ed;color:#7c2d12;font-weight:700}.bc-table th small{font-weight:400;color:#9a6b4f}.bc-table td{color:#334155}.bc-table td.ng{color:#b91c1c;font-weight:700;background:#fef2f2}.bc-want{font-weight:600}.bc-note{margin-top:4px;font-size:11.5px;color:#9a6b4f}.bc-table.clickable tr.bad{cursor:pointer}.bc-table.clickable tr.bad:hover td{background:#fff1f2}.dispute-replay-table tr.differs.clickable{cursor:pointer}.dispute-replay-table tr.differs.clickable:hover td{background:#fff1f2}.row-explain{margin-top:6px;padding:7px 10px;border-left:3px solid #f97316;background:#fff;border-radius:0 6px 6px 0}.row-explain-q{font-size:12px;font-weight:700;color:#9a3412;margin-bottom:3px}.row-explain-text{margin:0;font-size:13px;line-height:1.6;color:#334155;white-space:pre-line;display:flex;gap:6px;align-items:flex-start}.row-explain-text.error{color:#94a3b8;font-style:italic}.row-explain-left{margin-top:3px;font-size:11px;color:#94a3b8}.word-verdict-hint{margin:6px 0 0;color:#334155;line-height:1.6;white-space:pre-line}.word-verdict-hint.error{color:#94a3b8;font-style:italic}.word-hint-btn{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.word-hint-btn:disabled{opacity:.7;cursor:default}.dispute-box{display:inline-block;margin-left:6px}.dispute-box.open{display:block;margin:10px 0 0;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dispute-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.dispute-title{font-weight:700;font-size:13px;color:#0f172a}.dispute-badge{font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px}.dispute-badge.mine{background:#fee2e2;color:#b91c1c}.dispute-badge.model{background:#fef3c7;color:#b45309}.dispute-badge.both{background:#dcfce7;color:#15803d}.dispute-text{margin:0;font-size:13px;line-height:1.65;color:#334155;white-space:pre-line}.dispute-note{margin:6px 0;font-size:12px;color:#64748b}.dispute-note.ok{color:#15803d}.dispute-old{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px;padding:5px 8px;border-radius:6px;background:#fef9c3;color:#854d0e;font-size:12px}.dispute-box.open.is-old .dispute-text{opacity:.55}.dispute-box.open.is-old .dispute-answer{background:#f1f5f9;border-left-color:#cbd5e1}.dispute-rung{margin-top:6px}.dispute-rung-label{font-size:12px;font-weight:700;color:#475569;margin-bottom:4px}.dispute-old-tag{margin-left:6px;padding:1px 6px;border-radius:999px;background:#fef9c3;color:#854d0e;font-size:11px;font-weight:700}.dispute-followup{margin-top:10px;padding-top:8px;border-top:1px dashed #e2e8f0}.dispute-followup-title{font-size:12px;font-weight:700;color:#475569;margin-bottom:6px}.dispute-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}.dispute-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid #cbd5e1;background:#f8fafc;color:#1e293b;font-size:12px;cursor:pointer}.dispute-chip:hover:not(:disabled){background:#eef2ff;border-color:#a5b4fc}.dispute-chip:disabled{opacity:.55;cursor:default}.dispute-chip.replay{background:#ecfdf5;border-color:#86efac;color:#166534}.dispute-left{font-size:11px;color:#94a3b8}.dispute-replay{margin:4px 0 8px;padding:6px 10px;border-radius:6px;background:#f0fdf4;font-size:12px;color:#14532d}.dispute-replay-step{font-weight:700}.dispute-replay-expect{margin:2px 0 4px;color:#166534}.dispute-replay-table{width:100%;margin:4px 0;border-collapse:collapse;font-size:12px;background:#fff}.dispute-replay-table th,.dispute-replay-table td{border:1px solid #dcfce7;padding:3px 6px;text-align:left}.dispute-replay-table th{background:#f0fdf4;color:#166534}.dispute-replay-table tr.differs td{color:#b91c1c;font-weight:700}.dispute-answer{margin-top:8px;padding:8px 10px;border-left:3px solid #a5b4fc;background:#f8fafc;border-radius:0 6px 6px 0}.dispute-answer-q{font-size:12px;font-weight:700;color:#4338ca;margin-bottom:4px}@keyframes word-spin{to{transform:rotate(360deg)}}.spinner{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:word-spin .7s linear infinite}.spinner-dark{display:inline-block;width:13px;height:13px;vertical-align:-2px;border:2px solid #e2e8f0;border-top-color:#64748b;border-radius:50%;animation:word-spin .7s linear infinite}.quiz-diagram{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin:0 0 16px;overflow-x:auto}.quiz-diagram svg{max-width:100%;height:auto;display:block;margin:0 auto}.quiz-choices{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.quiz-blank-groups{display:flex;flex-direction:column;gap:16px;margin-bottom:14px}.quiz-blank-group-label{font-size:12px;font-weight:700;color:#475569;margin-bottom:6px}.quiz-blank-group .quiz-choices{margin-bottom:0}.quiz-exam-badge{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:7px;background:#1e293b;color:#e2e8f0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.quiz-exam-badge.ok{background:#16a34a;color:#fff}.quiz-exam-badge.bad{background:#dc2626;color:#fff}.quiz-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:8px 10px 8px 14px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font-size:14px;cursor:pointer}.quiz-choice:hover{background:#f8fafc}.quiz-choice.selected{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.quiz-choice.correct{border-color:#16a34a;background:#f0fdf4}.quiz-choice.wrong{border-color:#dc2626;background:#fef2f2}.quiz-choice-label{flex:1}.quiz-choice-symbol{flex:none;display:flex}.quiz-choice-symbol svg{display:block}.admin-modal-box.analysis-modal-box{max-width:min(94vw,640px)}.analysis-gate-problem{margin:0;padding:8px 10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;font-size:13px;line-height:1.55;color:#334155}.analysis-modal-box .quiz-prompt{margin:2px 0 0}.analysis-gate-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.analysis-gate-feedback{margin:0;color:#b45309;font-size:13px;font-weight:600}.analysis-gate-feedback.ok{color:#15803d}.analysis-choice-reason{display:block;margin-top:2px;font-size:12px;font-weight:400;color:#b91c1c}.analysis-choice-mark{flex:none;font-weight:700;font-size:15px}.quiz-choice.selected.correct{box-shadow:inset 0 0 0 1px #16a34a}.quiz-choice.selected.wrong{box-shadow:inset 0 0 0 1px #dc2626}.analysis-choice-mark.ok{color:#16a34a}.analysis-choice-mark.wrong{color:#dc2626}.timeline-quote{background:#fef08a;color:inherit;padding:0 2px;border-radius:3px}.timeline-wrap{overflow-x:auto}.timeline-table{width:100%;border-collapse:collapse;font-size:13px}.timeline-table th,.timeline-table td{border-bottom:1px solid #e2e8f0;padding:6px;text-align:left;vertical-align:middle}.timeline-table th{font-weight:600;color:#475569;background:#f8fafc;white-space:nowrap}.timeline-tag{margin-left:4px;font-size:11px;font-weight:400;color:#94a3b8}.timeline-label{min-width:150px}.timeline-cell{white-space:nowrap}.timeline-cell.wrong{background:#fef2f2}.timeline-cell.ok{background:#f0fdf4}.timeline-seg{display:inline-flex;align-items:center;gap:4px}.timeline-opt{border:1px solid #cbd5e1;background:#fff;border-radius:6px;padding:3px 8px;font-size:12px;cursor:pointer;color:#334155}.timeline-opt:hover{background:#f1f5f9}.timeline-opt[aria-disabled=true]{cursor:default}.timeline-opt.on-pick{color:#fff;border-color:transparent}.timeline-opt.on.on-pick{background:#16a34a}.timeline-opt.off.on-pick{background:#64748b}.timeline-opt.blink.on-pick{background:#d97706}@media(max-width:520px){.timeline-label{min-width:0}.timeline-seg{flex-direction:column;align-items:stretch}}.quiz-feedback{border-radius:8px;padding:12px 14px;margin-bottom:16px;font-size:13px;line-height:1.5}.quiz-feedback.ok{background:#f0fdf4;color:#15803d}.quiz-feedback.bad{background:#fef2f2;color:#b91c1c}.quiz-feedback p{margin:4px 0 8px;color:#334155}.quiz-feedback .ctl{font-size:12px}.quiz-nav{display:flex;justify-content:space-between;gap:8px}.quiz-nav .ctl:disabled{opacity:.4;cursor:not-allowed}@media(max-width:780px){.quiz-body{flex-direction:column;overflow-y:auto}.quiz-stages{width:100%;max-height:30vh;border-right:none;border-bottom:1px solid #e2e8f0}.quiz-main,.word-main{max-width:none;flex:none;overflow:visible;padding:16px 14px}}.admin-page{display:flex;flex-direction:column;height:100%;background:#eef2f6}.admin-page .topbar .brand{font-size:15px;font-weight:700}.admin-error{margin:8px 14px 0}.admin-body{flex:1;display:flex;flex-direction:column;padding:12px 14px;min-height:0}.admin-list{display:flex;flex-direction:column;min-height:0;flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}.admin-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.admin-search{flex:1;padding:6px 10px;border:1px solid #cbd5e1;border-radius:7px;font-size:13px}.admin-count{font-size:12px;color:#64748b;font-variant-numeric:tabular-nums}label.dash-show-hidden{margin-top:0;display:flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}.admin-scroll{flex:1;overflow:auto;min-height:0}.admin-del{width:1%;white-space:nowrap}.admin-confirm{display:flex;gap:4px;white-space:nowrap}.admin-row{cursor:pointer}.admin-row:hover{background:#f8fafc}.admin-row.sel{background:#eff6ff}.admin-row.sel td:first-child{box-shadow:inset 3px 0 #2563eb}.admin-when{font-size:12px;color:#64748b;white-space:nowrap;font-variant-numeric:tabular-nums}.admin-pct{color:#94a3b8;font-size:11px}.admin-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.admin-sortable:hover{color:#0f172a}.admin-sort-arrow{color:#2563eb;font-size:10px}.admin-pager{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.admin-pager .hint{margin:0 auto 0 0}.admin-pager-item{display:inline-flex;align-items:center}.admin-pager-gap{padding:0 4px;color:#94a3b8;font-size:12px}.admin-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:13px;text-align:center;padding:20px}.dash-body{flex:1;overflow-y:auto;padding:12px 14px;min-height:0}.dash-online-count{color:#16a34a}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin-top:4px}.dash-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 14px}.dash-card-head{display:flex;align-items:center;gap:8px}.dash-dot{flex:none;width:9px;height:9px;border-radius:50%;background:#cbd5e1}.dash-dot.on{background:#16a34a;box-shadow:0 0 0 3px #16a34a26}.dash-who{flex:1;min-width:0}.dash-name{font-size:13px;font-weight:700}.dash-mail{font-size:11px;color:#64748b;word-break:break-all}.dash-status{flex:none;padding:2px 8px;border-radius:999px;background:#eef2f6;color:#94a3b8;font-size:11px;font-weight:600}.dash-status.on{background:#dcfce7;color:#16a34a}.status-tag.dash-flag{background:#fef3c7;color:#92400e;border-color:#fcd34d}.eval-badges{display:inline-flex;gap:4px;margin-left:8px;margin-right:auto}.eval-badge{font-size:14px;filter:grayscale(1);opacity:.35}.eval-badge.on{filter:none;opacity:1}.dash-hide-btn{opacity:.35}.dash-card:hover .dash-hide-btn,.dash-hide-btn:focus-visible{opacity:1}.dash-card-hidden{opacity:.5}.dash-card-hidden .dash-hide-btn{opacity:1}.dash-affil{font-size:11px;color:#94a3b8;margin-top:-4px}.dash-line{display:flex;align-items:center;gap:8px;font-size:12px}.dash-line-label{flex:none;width:68px;color:#475569;white-space:nowrap}.dash-line-frac{flex:none;width:84px;text-align:right;color:#64748b;font-size:11px}.dash-bars{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.dash-bars .progress-track{width:auto}.progress-track.today{height:4px}.progress-fill.today{opacity:.5}.dash-today-text{display:block;color:#16a34a;font-weight:700;font-size:10px;margin-top:1px}.dash-card .dash-seen{margin-top:auto;padding-top:8px;border-top:1px solid #e2e8f0}.admin-tabs{display:flex;align-items:center;gap:6px;margin-bottom:28px}.admin-tabs .eval-export-btn{margin-left:auto}.admin-tab{padding:5px 12px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:12px;cursor:pointer}.admin-tab.on{background:#0f172a;border-color:#0f172a;color:#e2e8f0;font-weight:600}.admin-who{margin-left:auto;font-size:12px;color:#64748b}.admin-modal-box{background:#fff;border-radius:12px;padding:16px;min-width:560px;max-width:min(94vw,900px);width:100%;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 12px 32px #0f172a47}.circuit-view-box{max-width:min(96vw,1100px);overflow:auto}.admin-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-modal-head b{font-size:15px;color:#0f172a}.admin-modal-head .admin-who{display:block;margin-left:0;margin-top:2px}.admin-pw{max-width:360px;gap:16px}.admin-pw .me-actions{margin-top:4px}.admin-progress{display:flex;flex-direction:column;min-height:0;flex:1}.admin-sum{display:flex;align-items:center;gap:10px;font-size:13px;margin-bottom:10px}.admin-sum .hint{margin-left:auto}.progress-track.wide{width:140px;background:#e2e8f0}.progress-row.static{cursor:default}.progress-row.static:hover{background:none}.log-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:600;white-space:nowrap}.log-tag.bad{background:#fee2e2;color:#b91c1c}.log-tag.warn{background:#fef3c7;color:#b45309}.log-tag.ok{background:#dcfce7;color:#15803d}.log-actor{margin-left:6px;font-size:11px;color:#94a3b8}.status-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:600;white-space:nowrap}.status-tag.pending{background:#fef3c7;color:#b45309}.status-tag.approved{background:#f1f5f9;color:#64748b}.status-tag.rejected{background:#fee2e2;color:#b91c1c}.status-tag.open{background:#fef3c7;color:#b45309}.status-tag.resolved{background:#f0fdf4;color:#15803d}.admin-status,.admin-manage{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.mini.ok{color:#15803d;border-color:#86efac;background:#f0fdf4}.mini.pending{color:#b45309;border-color:#fcd34d;background:#fffbeb;font-weight:600}.mini.pending.on{background:#f59e0b;border-color:#d97706;color:#fff}.fb-type-filter{display:flex;gap:4px}.mini.type-on{background:#2563eb;border-color:#2563eb;color:#fff}.admin-affil{display:inline-block;max-width:170px;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctl{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:6px 12px;border-radius:7px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;cursor:pointer;font-size:13px}.ctl:hover{background:#334155}.ctl.icon{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;line-height:0}.x-close{flex:none;display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;border:0;background:none;color:#64748b;font:inherit;font-size:18px;font-weight:700;line-height:1;cursor:pointer}.x-close:hover{color:#0f172a}.x-close:focus-visible{color:#0f172a;outline:2px solid #2563eb;outline-offset:1px;border-radius:4px}.quiz-exam-badge .x-close{color:inherit;opacity:.7;font-size:14px}.quiz-exam-badge .x-close:hover{opacity:1}.bell-btn{position:relative}.bell-dot{position:absolute;top:2px;right:2px;width:11px;height:11px;border-radius:50%;background:#ef4444;border:1.5px solid #1e293b}.ctl.primary{background:#16a34a;border-color:#16a34a}.ctl.primary:hover{background:#15803d}.spd{padding:5px 9px;border:1px solid #334155;background:#1e293b;color:#94a3b8;cursor:pointer;font-size:12px}.spd:first-child{border-radius:7px 0 0 7px}.spd:last-child{border-radius:0 7px 7px 0}.spd.on{background:#2563eb;color:#fff;border-color:#2563eb}.layout-host{position:relative;flex:1}.flexlayout__layout{--color-tabset-background: #f8fafc}.flexlayout__splitter:after{content:"";position:absolute;top:50%;left:50%;width:3px;height:3px;border-radius:50%;background:#94a3b8;transform:translate(-50%,-50%);pointer-events:none}.flexlayout__splitter_vert:after{box-shadow:0 -7px #94a3b8,0 7px #94a3b8}.flexlayout__splitter_horz:after{box-shadow:-7px 0 #94a3b8,7px 0 #94a3b8}.flexlayout__splitter_vert:hover:after{background:#475569;box-shadow:0 -7px #475569,0 7px #475569}.flexlayout__splitter_horz:hover:after{background:#475569;box-shadow:-7px 0 #475569,7px 0 #475569}.panel{padding:14px;height:100%;overflow:auto;background:#f8fafc}.panel-desc{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:13px;color:#334155;background:#eef2f6;border-left:3px solid #2563eb;padding:8px 12px;border-radius:4px;margin-bottom:12px}.desc-stage{flex:none;font-size:11px;font-weight:700;color:#1d4ed8;background:#dbeafe;padding:1px 8px;border-radius:8px}.desc-title{flex:none;color:#0f172a}.desc-text{color:#475569}.hint{font-size:12px;color:#64748b;margin-top:12px}.mono{font-family:ui-monospace,Consolas,monospace}.sim-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.sim-bar .ctl{background:#1e293b;color:#e2e8f0;border:1px solid #334155;padding:6px 12px;border-radius:7px;cursor:pointer;font-size:13px}.sim-bar .ctl:hover{background:#334155}.srcsw{display:flex;margin-left:4px}.srcsw .spd:first-child{border-radius:7px 0 0 7px}.srcsw .spd:last-child{border-radius:0 7px 7px 0}.sim-bar .ctl.primary{background:#16a34a;border-color:#16a34a}.sim-bar .ctl.primary:hover{background:#15803d}.ladder-stack{display:flex;flex-direction:column;gap:12px}.ladder-net{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:6px}.ladder-net svg{max-width:100%;height:auto}.reference-panel{display:flex;flex-direction:column;gap:6px}.ref-title{font-size:14px;color:#0f172a}.ref-desc-toggle{margin:6px 0 0}.ref-desc-toggle>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;color:#64748b}.ref-desc{margin:4px 0 0;font-size:13px;color:#334155}.ref-desc-line{display:block}.ref-desc-line+.ref-desc-line{margin-top:6px}.ref-desc-line:first-child:not(:last-child){margin-bottom:4px}.ref-desc b{color:#0f172a}.ref-net{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:6px 0}.ref-net svg{max-width:100%;height:auto}.ref-net-wrap{position:relative}.ref-kind{display:flex;flex-direction:column;gap:6px;margin:8px 0 2px}.ref-kind-btns{display:inline-flex;align-self:flex-start;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}.ref-kind-btns button{font:inherit;font-size:12px;font-weight:700;padding:5px 12px;border:0;background:#fff;color:#475569;cursor:pointer}.ref-kind-btns button+button{border-left:1px solid #cbd5e1}.ref-kind-btns button.on{background:#1e293b;color:#fff}.ref-kind-btns button:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.ref-kind-note{margin:0;font-size:12.5px;line-height:1.5;color:#475569}.ref-net .grp-bg{fill-opacity:.06;transition:fill-opacity .12s}.ref-net .grp-bar{fill-opacity:.85}.ref-net .grp.on .grp-bg{fill-opacity:.2}.ref-group-tip{position:absolute;z-index:20;width:max-content;max-width:min(300px,80%);padding:9px 12px;border-radius:8px;border-left:4px solid;background:#fff;box-shadow:0 6px 20px #0003;pointer-events:none}.ref-group-tip-title{font-size:13px;font-weight:800}.ref-group-tip-note{margin-top:3px;font-size:12.5px;line-height:1.5;color:#334155}.ref-stepchart-toggle{margin:8px 0 0}.ref-stepchart-toggle>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;color:#64748b}.ref-stepchart{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px;margin:6px 0 0;overflow-x:auto}.ref-stepchart svg{max-width:100%;height:auto;display:block;margin:0 auto}.ref-windows-toggle{margin:8px 0 0}.ref-windows-toggle>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;color:#64748b}.owt{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px;margin:6px 0 0;display:flex;flex-direction:column;gap:8px}.owt-rule{margin:0;font-size:12.5px;line-height:1.55;color:#475569}.owt-open{font:inherit;font-size:12.5px;font-weight:700;padding:5px 14px;border-radius:8px;cursor:pointer;border:1px solid #1e293b;background:#fff;color:#1e293b}.owt-open:hover{background:#f1f5f9}.owt-hint{font-size:12px;color:#64748b}.owt-word{margin:8px 0 0}.owt-modal-box{max-width:min(94vw,760px)}.owt-modal-chart{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px;overflow-x:auto}.owt-modal-chart svg{max-width:100%;height:auto;display:block;margin:0 auto}.lt-modal-body{overflow:auto;display:flex;flex-direction:column;gap:10px;min-height:0}.lt-modal-foot{margin-top:12px;padding-top:10px;border-top:1px solid #e2e8f0}.lt-modal-foot .owt-actions,.lt-modal-foot .analysis-gate-foot{justify-content:flex-end}.lt-modal-foot .owt-result,.lt-modal-foot .analysis-gate-feedback{order:-1;margin-right:auto}.owt-table{border-collapse:collapse;font-size:12.5px;width:100%}.owt-table th,.owt-table td{border:1px solid #e2e8f0;padding:4px 8px;text-align:left;vertical-align:middle}.owt-table thead th{background:#f1f5f9;color:#334155;font-weight:700;white-space:nowrap}.owt-table tbody th{color:#0f172a;font-weight:700;white-space:nowrap}.owt-table code{font-family:ui-monospace,Consolas,monospace;color:#1e40af;white-space:nowrap}.owt-none td{color:#94a3b8}.owt-pick{display:inline-flex;align-items:center;gap:6px}.owt-pick select{font:inherit;font-size:12.5px;padding:2px 4px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.owt-pick.ok select{border-color:#16a34a}.owt-pick.ng select{border-color:#dc2626}.owt-pick.ok .owt-mark{color:#16a34a;font-weight:800}.owt-pick.ng .owt-mark{color:#dc2626;font-weight:800}.owt-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.owt-actions button{font:inherit;font-size:12.5px;font-weight:700;padding:5px 14px;border-radius:8px;cursor:pointer}.owt-check{border:1px solid #1e293b;background:#1e293b;color:#fff}.owt-clear{border:1px solid #cbd5e1;background:#fff;color:#475569}.owt-result{font-size:12.5px;font-weight:700}.owt-result.ok{color:#16a34a}.owt-result.ng{color:#b91c1c}.ref-steptable-toggle{margin:8px 0 0}.ref-steptable-toggle>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;color:#64748b}.stt-modal-box{max-width:min(96vw,900px)}.stt-modal-box .lt-modal-body>*{flex-shrink:0}.stt-rule{font-size:12.5px;line-height:1.55;color:#475569}.stt-rule p{margin:0 0 4px}.stt-start code,.stt-first code{font-family:ui-monospace,Consolas,monospace;color:#1e40af}.stt-first{margin:0;font-size:12.5px;color:#475569}.stt-table td{line-height:1.5}.stt-m{font-weight:600;font-size:11.5px;color:#64748b;margin-left:2px}.stt-next{color:#64748b;font-size:12px;white-space:nowrap}.stt-pick{flex-wrap:wrap;row-gap:4px}.stt-sel{display:inline-flex;align-items:center;gap:4px}.stt-and{color:#64748b;font-weight:700}.stt-add,.stt-del{font:inherit;font-size:11.5px;padding:1px 7px;border-radius:6px;cursor:pointer;border:1px dashed #94a3b8;background:#fff;color:#475569}.stt-del{border-style:solid;border-color:#cbd5e1;padding:0 6px}.stt-add:hover,.stt-del:hover{background:#f1f5f9}.stt-expr{display:block}.stt-scroll{overflow-x:auto}.stt-questions{display:flex;flex-direction:column;gap:10px}.stt-q{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;background:#fff}.stt-q.ok{border-color:#16a34a}.stt-q.ng{border-color:#dc2626}.stt-q-text{margin:0 0 6px;font-size:13px;font-weight:700;color:#0f172a}.stt-q.ok .stt-q-mark{color:#16a34a}.stt-q.ng .stt-q-mark{color:#dc2626}.stt-q-answer{margin:0;font-size:12.5px;color:#1e40af}.stt-layers .quiz-choices{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px}.stt-layers .quiz-choice{padding:6px 10px;font-size:12.5px}.stt-h{margin:4px 0 2px!important;font-size:13px;font-weight:800;color:#0f172a}.stt-plan code{font-family:ui-monospace,Consolas,monospace;color:#1e40af}.fp-card{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;background:#f8fafc}.fp-shape{font-size:12.5px;font-weight:800;color:#0f172a}.fp-ladder{font-size:12.5px;line-height:1.55;color:#334155;margin-top:2px}.addon-modal-box{max-width:min(96vw,860px)}.addon-item{display:flex;flex-direction:column;gap:6px}.addon-row{display:flex;gap:8px;align-items:flex-start}.addon-row-title{flex:0 0 84px;font-size:12px;font-weight:700;color:#475569;padding-top:7px}.addon-chips{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}.addon-chips .quiz-choice{padding:6px 10px;font-size:12.5px}.addon-table th .addon-text{display:block;font-weight:400;color:#475569;white-space:normal}.addon-table td{font-size:12.5px}.addon-scope{color:#b45309;font-weight:600}@media(max-width:600px){.addon-row{flex-direction:column;gap:4px}.addon-row-title{flex:none;padding-top:0}}.stt-hint{border:1px solid #fcd34d;background:#fffbeb;border-radius:10px;padding:8px 12px;font-size:12.5px;line-height:1.6;color:#422006}.stt-hint p{margin:2px 0 0}.stt-hint-title{font-weight:800;color:#92400e}.stt-hint-rung code{font-family:ui-monospace,Consolas,monospace;color:#1e40af;margin-right:10px;white-space:nowrap}.stt-table tr.stt-hint-row>th,.stt-table tr.stt-hint-row>td{background:#fef9c3}.lt-modal-foot .stt-hint-btn{border-color:#fcd34d;background:#fffbeb;color:#92400e}.stt-rung{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:4px;overflow-x:auto;cursor:zoom-in;margin-top:6px}.stt-rung svg{display:block;max-width:100%;height:auto}.stt-rung.small{max-width:420px}.stt-rung.zoom{cursor:zoom-out}.stt-rung.zoom svg,.stt-rung.small.zoom svg{max-width:none}.stt-rung-cell{min-width:220px}.stt-legend{margin:4px 0 0;font-size:12px;color:#475569;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}.stt-legend span{margin-right:2px;font-size:13px}.stt-template{border:1px dashed #cbd5e1;border-radius:10px;padding:6px 10px 8px;background:#fff}.stt-table thead th.stt-col-step{box-shadow:inset 0 -3px #2563eb}.stt-table thead th.stt-col-cond{box-shadow:inset 0 -3px #f97316}.stt-layer-list{margin:0;padding-left:18px;font-size:12.5px;color:#1e40af}.stt-modal-box .stt-figure{max-height:360px;overflow:auto}@media(max-width:600px){.stt-pick select{max-width:118px}.stt-table th,.stt-table td{padding:4px 5px}}.ref-flowchart-toggle{margin:8px 0 0}.ref-flowchart-toggle>summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;color:#64748b}.ref-flowchart{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:10px;margin:6px 0 0;overflow-x:auto}.ref-flowchart svg{max-width:100%;height:auto;display:block;margin:0 auto}.msg-box{background:#fff;border-radius:12px;padding:18px 20px;min-width:340px;max-width:min(88vw,520px);box-shadow:0 12px 32px #0f172a47;border-top:5px solid #94a3b8}.msg-box.no{border-top-color:#b91c1c}.msg-box.warn{border-top-color:#d97706}.msg-title{font-size:13px;font-weight:700;color:#64748b}.msg-box.no .msg-title{color:#b91c1c}.msg-box.warn .msg-title{color:#b45309}.msg-text{margin:8px 0 0;font-size:14px;line-height:1.55;color:#0f172a;white-space:pre-line}.wg-box{max-width:min(92vw,560px);border-top-color:#2563eb}.wg-title{font-size:17px;font-weight:700;color:#0f172a}.wg-lead{margin:10px 0 0;font-size:14px;line-height:1.6;color:#0f172a}.wg-steps{margin:12px 0 0;padding-left:20px;font-size:13px;line-height:1.65;color:#334155}.wg-steps li{margin-bottom:4px}.wg-note{margin:12px 0 0;font-size:12px;line-height:1.55;color:#64748b}.tour-gap{flex:1}.wg-actions{align-items:center}.wg-link{background:none!important;border-color:transparent!important;color:#475569!important}.wg-link:hover{color:#0f172a!important;text-decoration:underline}.wg-next{margin-top:14px;padding:12px 14px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0}.wg-next-stage{font-size:11px;font-weight:700;color:#2563eb;letter-spacing:.02em}.wg-next-name{margin-top:3px;font-size:15px;font-weight:700;color:#0f172a}.wg-next-desc{margin:6px 0 0;font-size:12px;line-height:1.55;color:#475569}.wg-guide{max-height:62vh;overflow:auto}.wg-sec{margin-top:16px;font-size:12px;font-weight:700;color:#2563eb}.wg-sec:first-of-type{margin-top:12px}.wg-list{margin:6px 0 0;padding-left:20px;font-size:13px;line-height:1.6;color:#334155}.wg-list li{margin-bottom:6px}.wg-label{color:#0f172a;margin-right:2px}.wg-label:after{content:":"}.wg-keys{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.wg-key{display:flex;align-items:center;gap:8px;font-size:12px;color:#334155;min-width:0}.wg-key kbd{flex:none;min-width:46px;text-align:center;padding:2px 6px;font-family:ui-monospace,Consolas,monospace;font-size:11px;background:#f1f5f9;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:5px}.wg-key span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.tour-hole{position:fixed;border-radius:8px;pointer-events:none;border:2px solid #38bdf8;box-shadow:0 0 0 9999px #0f172a8c;transition:top .16s ease,left .16s ease,width .16s ease,height .16s ease}.tour-tip{position:fixed;background:#fff;border-radius:10px;padding:14px 16px;box-shadow:0 14px 34px #0f172a57}.tour-step{font-size:11px;font-weight:700;color:#0284c7}.tour-title{margin-top:2px;font-size:15px;font-weight:700;color:#0f172a}.tour-body{margin:6px 0 0;font-size:13px;line-height:1.6;color:#334155}.tour-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.tour-actions .ctl{background:#1e293b;color:#e2e8f0;border:1px solid #334155;padding:5px 12px;border-radius:7px;cursor:pointer;font-size:12px}.tour-actions .ctl.primary{background:#16a34a;border-color:#16a34a}.tour-actions .ctl:disabled{opacity:.4;cursor:default}.tour-skip{background:none!important;border-color:transparent!important;color:#64748b!important}.tour-skip:hover{color:#0f172a!important;text-decoration:underline}.io-panel{display:flex;flex-direction:column;gap:18px}.io-group h4{margin:0 0 8px;font-size:13px;color:#475569}.io-grid{display:inline-flex;flex-direction:column;border:1px solid #cbd5e1;border-radius:8px;overflow:hidden;background:#fff}.io-grid-row{display:flex}.io-grid-row.head{background:#eef2f6}.io-rowhead,.io-colhead{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#64748b;background:#eef2f6;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.io-rowhead{width:46px;flex:none}.io-colhead{width:58px;flex:none;height:20px}.io-grid-row:last-child .io-rowhead{border-bottom:none}.io-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:58px;height:42px;flex:none;padding:2px;border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#fff;color:#0f172a;-webkit-user-select:none;user-select:none;cursor:default}.io-grid-row:last-child .io-cell{border-bottom:none}.io-cell.empty{background:#f8fafc}.io-cell.k-X{cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.io-cell.k-X.momentary{touch-action:none}.io-cell.k-X:hover{background:#eff6ff}.io-dot{width:10px;height:10px;border-radius:50%;flex:none;background:#e2e8f0;box-shadow:inset 0 0 0 1.5px #cbd5e1}.io-cell.k-X.on .io-dot{background:#2563eb;box-shadow:0 0 6px 1px #93c5fd,inset 0 0 0 1.5px #1d4ed8}.io-cell.k-Y.on .io-dot{background:#fbbf24;box-shadow:0 0 8px 2px #fcd34d,inset 0 0 0 1.5px #f59e0b}.io-cell.on{background:#f8fafc}.io-cell.momentary{border-right-color:#cbd5e1}.io-cell.momentary .io-name{text-decoration:underline dotted}.io-cell.k-X.locked{cursor:not-allowed;background:repeating-linear-gradient(-45deg,#f8fafc 0,#f8fafc 5px,#eef2f6 5px,#eef2f6 10px)}.io-cell.k-X.locked:hover{background:repeating-linear-gradient(-45deg,#f8fafc 0,#f8fafc 5px,#eef2f6 5px,#eef2f6 10px)}.io-cell.k-X.locked .io-sub{color:#b45309}.io-name{font-size:11px;font-weight:700;line-height:13px}.io-sub{font-size:9px;font-weight:600;color:#64748b;line-height:11px;min-height:11px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.io-sub.named{color:#7c3aed}.sym-field{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#475569;margin-bottom:10px}.dev-warn{color:#b91c1c}.scene-panel{display:flex;flex-direction:column}.scene-svg{flex:1 1 auto;min-height:160px;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.scene-svg svg{width:100%;max-width:860px;height:100%;object-fit:contain}.scene-panel.empty{color:#64748b;font-size:13px}.scene-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:12px;flex:none}.mini-sel{padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;background:#fff}.scene-live{color:#94a3b8}.scene-live.on{color:#16a34a;font-weight:700}.scene-edit{margin-top:12px;background:#eef2f6;border-radius:10px;padding:12px}.scene-edit h5{margin:14px 0 4px;font-size:12px;color:#475569}.scene-edit h5:first-of-type{margin-top:4px}.scene-edit .tag-table{background:#fff;border-radius:6px}.se-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.se-head .hint{margin:0}.se-head .se-title{flex:1 1 140px;font-weight:700;background:#fff}.se-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:#64748b;margin-top:8px}.se-note{color:#b45309;background:#fef3c7;padding:1px 6px;border-radius:8px}.se-sec{display:flex;align-items:center;gap:8px}.se-sec h5{flex:1}.se-body{background:#fff;border-radius:8px;padding:8px 10px 10px;margin-bottom:8px}.se-row{display:flex;align-items:center;gap:8px}.se-row .se-name{flex:1;font-weight:600}.se-grid{display:flex;align-items:center;gap:5px 10px;flex-wrap:wrap;font-size:11px;color:#64748b;margin:6px 0 2px}.se-f{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.se-x{color:#cbd5e1}.se-body .se-sub{margin-top:6px}.se-body .se-sub th{background:#f8fafc}.se-empty{color:#94a3b8;font-size:12px}.se-del{width:1%;white-space:nowrap}input.num{width:52px;padding:3px 5px;border:1px solid #e2e8f0;border-radius:5px;font-size:12px;font-family:ui-monospace,Consolas,monospace;background:#fff;color:#0f172a}input.num:focus{border-color:#2563eb;outline:none}input.sym-in.num{min-width:0}.se-color{width:30px;height:22px;padding:0;border:1px solid #cbd5e1;border-radius:5px;background:#fff;cursor:pointer}.se-io{margin-top:12px;border-top:1px solid #e2e8f0;padding-top:8px}.se-io>summary{font-size:12px;color:#475569;cursor:pointer}.se-io-btns{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 6px}.mini.primary{color:#1d4ed8;border-color:#93c5fd;background:#eff6ff}.se-json{width:100%;height:160px;resize:vertical;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-family:ui-monospace,Consolas,monospace;font-size:11px;line-height:1.5}.se-json:focus{border-color:#2563eb;outline:none}.se-io-err{font-size:12px;color:#b91c1c;background:#fef2f2;border-radius:6px;padding:6px 8px;margin-top:6px}.tag-table{width:100%;border-collapse:collapse;font-size:13px}.tag-table th,.tag-table td{text-align:left;padding:6px 10px;border-bottom:1px solid #e2e8f0}.tag-table th{color:#64748b;font-weight:600;background:#eef2f6}.tag-table td.on{color:#16a34a;font-weight:700}.sym-bar{display:flex;align-items:center;gap:14px;margin-bottom:10px;flex-wrap:wrap;font-size:12px;color:#475569}.sym-add{display:flex;align-items:center;gap:6px}.sym-add input{padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;width:180px}.sym-table td{vertical-align:middle}.sym-table tr.unused td:first-child{color:#94a3b8}.sym-in{width:100%;min-width:90px;padding:4px 7px;border:1px solid transparent;border-radius:6px;background:#fff;font-size:13px;color:#0f172a}.sym-in:hover{border-color:#e2e8f0}.sym-in:focus{border-color:#2563eb;outline:none}.sym-in.dup{border-color:#dc2626;background:#fef2f2}.sym-flag{margin-left:6px;font-size:10px;font-weight:700;color:#b45309;background:#fef3c7;padding:1px 5px;border-radius:8px}.editor-panel{display:flex;flex-direction:column;gap:6px;overflow:hidden;padding:8px}.editor-panel>.ladder-editor-root{flex:1;min-height:0}.editor-toolbox{display:flex;flex-direction:column;gap:8px;padding:8px;background:#eef2f6;border-radius:10px}.palette{display:flex;flex-wrap:wrap;gap:10px 16px}.pal-group{display:flex;align-items:center;gap:4px}.pal-btn{padding:5px 9px;border-radius:7px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;cursor:pointer;font-size:12px;font-family:ui-monospace,Consolas,monospace;white-space:nowrap}.pal-btn:hover{background:#f1f5f9}.pal-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.pal-btn.danger.active{background:#dc2626;border-color:#dc2626}.pal-combo{width:92px;padding:5px 4px;border-radius:7px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;cursor:pointer;font-size:12px;font-family:ui-monospace,Consolas,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-actions{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #dde3ea}.word-main .editor-actions{border-top:none;padding-top:0}.editor-actions .ctl{background:#1e293b;color:#e2e8f0;border:1px solid #334155;padding:6px 12px;border-radius:7px;cursor:pointer;font-size:13px}.editor-actions .ctl.primary{background:#16a34a;border-color:#16a34a}.editor-actions .ctl.accent{background:#2563eb;border-color:#2563eb}.editor-actions .ctl.accent:hover{background:#1d4ed8}.editor-actions .hint{margin:0}.editor-actions .ctl.danger{background:#dc2626;border-color:#dc2626}.editor-actions .ctl.danger:hover{background:#b91c1c}.editor-actions .ctl.icon{flex:none;width:34px;height:32px;padding:0;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.editor-actions .ctl:disabled{opacity:.4;cursor:default}.editor-actions .ctl:disabled:hover{background:#1e293b}.editor-actions .ctl.danger:disabled:hover{background:#dc2626}.tb-sep{width:1px;height:20px;background:#cbd5e1;margin:0 2px}.tb-settings>summary{list-style:none;cursor:pointer;display:inline-block;-webkit-user-select:none;user-select:none}.tb-settings>summary::-webkit-details-marker{display:none}.tb-settings[open]>summary{background:#334155}.tb-pop{position:absolute;left:0;top:calc(100% + 6px);z-index:20;min-width:280px;max-width:100%;padding:12px 14px;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 10px 26px #0f172a2e;display:flex;flex-direction:column;gap:2px}.tb-close{position:absolute;top:6px;right:8px;width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;background:none;color:#64748b;font-size:13px;line-height:1;cursor:pointer}.tb-close:hover{color:#0f172a}.tb-pop .chk{display:flex;align-self:flex-start;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#0f172a}.tb-pop .hint{margin:0 0 8px 22px}.tb-pop .hint:last-child{margin-bottom:0}@keyframes tb-notice-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.tb-notice{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:90;max-width:min(90%,560px);display:flex;align-items:center;gap:10px;padding:14px 22px;border-radius:12px;font-size:16px;font-weight:600;line-height:1.5;cursor:pointer;background:#fff;color:#1e293b;border:2px solid #f59e0b;box-shadow:0 10px 28px #0f172a2e;animation:tb-notice-in .2s ease-out}.tb-notice:before{content:"!";flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f59e0b;color:#fff;font-size:15px;font-weight:800}@keyframes diff-toast-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.run-verdict{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;padding:8px 12px;border-radius:10px;border:1px solid;font-size:13px}.run-verdict.ok{background:#f0fdf4;border-color:#86efac;color:#14532d}.run-verdict.ng{background:#fff7ed;border-color:#fdba74;color:#7c2d12}.run-verdict-icon{font-size:18px;font-weight:800;line-height:1.2}.run-verdict-body{flex:1;min-width:0}.run-verdict-title{font-weight:800}.run-verdict-msg{margin-top:2px;line-height:1.5;word-break:keep-all}.run-verdict-btn{font:inherit;font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px;cursor:pointer;border:1px solid #fb923c;background:#fff;color:#9a3412;white-space:nowrap}.run-verdict.stale .run-verdict-title,.run-verdict.stale .run-verdict-msg,.run-verdict.stale .bc-wrap,.run-verdict.stale .word-verdict-hint{opacity:.55}.run-verdict-stale{margin-bottom:4px;font-size:12px;font-weight:700;color:#b45309}.run-verdict-close{border:0;background:transparent;cursor:pointer;font-size:14px;color:inherit;opacity:.6}.run-verdict-close:hover{opacity:1}.mini-run-lamp{width:12px;height:12px;border-radius:50%;background:#cbd5e1;box-shadow:inset 0 0 0 1px #94a3b8}.word-allowed-chip.out.on .mini-run-lamp{background:var(--lamp, #f59e0b);box-shadow:0 0 6px var(--lamp, #f59e0b)}.diff-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:95;width:min(92%,460px);box-sizing:border-box;display:flex;align-items:center;gap:14px;padding:18px 40px 18px 22px;border-radius:14px;cursor:pointer;border:2px solid;box-shadow:0 12px 36px #00000047;animation:diff-toast-in .22s ease-out}.diff-toast.ok{background:#ecfdf5;border-color:#10b981;color:#065f46}.diff-toast.warn{background:#fff7ed;border-color:#f97316;color:#9a3412}.diff-toast.empty{background:#eff6ff;border-color:#3b82f6;color:#1e3a8a}.diff-toast.partial{background:#f5f3ff;border-color:#8b5cf6;color:#5b21b6}.diff-toast-icon{font-size:34px;line-height:1}.diff-toast-close{position:absolute;top:8px;right:10px;width:26px;height:26px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;font-size:15px;font-weight:700;line-height:1;cursor:pointer;opacity:.65}.diff-toast-close:hover{opacity:1}.diff-toast-title{font-size:19px;font-weight:800;line-height:1.3}.diff-toast-sub{margin-top:4px;font-size:14px;line-height:1.45;opacity:.9;white-space:pre-line}.cell-status{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:7px 12px;background:#eef2f6;border-radius:8px;font-size:12px;color:#334155}.cs-pos{color:#64748b}.cs-kind{font-weight:700;color:#2563eb}.cs-kind.dim{color:#94a3b8;font-weight:600}.cs-sel{font-weight:700;color:#1d4ed8;background:#dbeafe;padding:1px 8px;border-radius:8px}.cs-dev{font-weight:700}.cs-var{color:#7c3aed;font-weight:600}.cs-flag{color:#b45309}.cs-clear{margin-left:auto;font:inherit;font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;cursor:pointer;border:1px solid #cbd5e1;background:#fff;color:#475569}.cs-clear:hover:not(:disabled){border-color:#f59e0b;color:#b45309}.cs-clear:disabled{opacity:.5;cursor:default}.cs-dim{color:#94a3b8}.cs-in{display:flex;align-items:center;gap:4px;color:#475569}.cs-in input{width:82px;padding:2px 6px;border:1px solid #cbd5e1;border-radius:5px;font-size:12px;font-family:ui-monospace,Consolas,monospace}.rung-edit{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:6px;flex:1;min-height:160px;overflow:auto;scrollbar-gutter:stable}.editor-panel.run-mode .rung-edit{border-color:#16a34a;box-shadow:0 0 0 1px #16a34a inset}.tool-ghost{position:fixed;transform:translate(10px,14px);pointer-events:none;z-index:40;opacity:.8;filter:drop-shadow(0 1px 2px rgba(15,23,42,.25))}.mini{font-size:11px;padding:3px 8px;border-radius:6px;border:1px solid #cbd5e1;background:#f8fafc;color:#334155;cursor:pointer}.mini.danger{color:#dc2626;border-color:#fca5a5}.mini:disabled{opacity:.4;cursor:not-allowed}.mini:hover{background:#e2e8f0}.mini+.mini{margin-left:6px}.ladder-fit{position:relative;width:100%;overflow-x:auto;overflow-y:hidden}.ladder-canvas{position:relative;transform-origin:top left}.ladder-canvas .ladder-art{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ladder-canvas .hit{position:absolute;padding:0;margin:0;background:transparent;border:1px solid transparent;border-radius:4px;cursor:cell}.ladder-canvas .hit:hover{border-color:#93c5fd;background:#2563eb0f}.ladder-canvas .hit.sel{background:#2563eb29;border-color:#2563eb59}.ladder-canvas .hit.cur{border:2px solid #2563eb;background:#2563eb1a;box-shadow:0 0 0 1px #ffffffb3 inset}.editor-panel:focus{outline:none}.editor-panel:focus-within .hit.cur{border-color:#1d4ed8}.ladder-canvas .hit.mismatch{border:2px solid #dc2626;box-shadow:0 0 0 1px #ffffffb3 inset;animation:hit-mismatch-pulse 1s ease-in-out infinite}@keyframes hit-mismatch-pulse{0%,to{background:#dc26261a}50%{background:#dc262652}}.ladder-canvas .hit.diff{border:2px dashed #f59e0b;background:#f59e0b29;box-shadow:0 0 0 1px #ffffffb3 inset}.dev-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a59;display:flex;align-items:center;justify-content:center;z-index:50}.dev-box{background:#fff;border-radius:12px;padding:16px;min-width:520px;max-width:min(90vw,760px);box-shadow:0 12px 32px #0f172a47}.dev-box.dev-box-compact{min-width:0;width:fit-content}.dev-title{font-size:13px;font-weight:700;color:#334155;margin-bottom:10px}.dev-box input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;font-size:14px;font-family:ui-monospace,Consolas,monospace}.dev-mode{float:right;font-size:11px;font-weight:600;color:#2563eb;background:#eff6ff;padding:1px 8px;border-radius:8px}.dev-sugg{margin:8px 0 0;max-height:240px;overflow:auto;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.dev-sugg table{width:100%;border-collapse:collapse;font-size:12px}.dev-sugg th{position:sticky;top:0;z-index:1;white-space:nowrap;padding:5px 8px;background:#f1f5f9;color:#334155;font-weight:600;border-bottom:1px solid #cbd5e1;border-right:1px solid #e2e8f0;text-align:left}.dev-sugg .dev-var{min-width:110px}.dev-sugg .dev-dev{min-width:120px}.dev-sugg td{padding:4px 8px;border-bottom:1px solid #f1f5f9;border-right:1px solid #f1f5f9;color:#0f172a;white-space:nowrap}.dev-sugg th:last-child,.dev-sugg td:last-child{border-right:0}.dev-sugg .dev-no{width:34px;text-align:right;color:#94a3b8;background:#f8fafc;border-right:1px solid #e2e8f0}.dev-sugg .dev-cmt{color:#475569;width:100%}.dev-sugg tbody tr{cursor:pointer}.dev-sugg tbody tr:hover td{background:#eff6ff}.dev-sugg tbody tr.sel td{background:#1e293b;color:#fff}.dev-sugg tbody tr.sel .dev-no{color:#cbd5e1}.dev-sugg tbody tr.sel .dev-cmt{color:#e2e8f0}.dev-note{margin-top:8px;font-size:11px;color:#64748b}.dev-sugg .dev-preset-h{min-width:96px}.dev-sugg .dev-preset-c{padding:3px 6px}.dev-sugg .dev-preset-c .cs-in{display:flex;align-items:center;gap:3px;color:inherit}.dev-sugg .dev-preset-c .cs-in input{width:60px;padding:3px 6px;border:1px solid #cbd5e1;border-radius:5px;font-size:12px;font-family:ui-monospace,Consolas,monospace;color:#0f172a}.dev-sugg tbody tr.sel .dev-preset-c .cs-in input{border-color:#475569}.dev-note.warn{color:#b91c1c;font-weight:600}.dev-ab{display:flex;align-items:center;gap:8px;margin-top:10px}.dev-ab-label{font-size:12px;font-weight:600;color:#334155}.dev-ab-op{font-size:15px;font-weight:700;color:#2563eb}.dev-box .dev-ab-input{width:120px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;font-family:ui-monospace,Consolas,monospace;color:#0f172a}.dev-row{display:flex;align-items:center;gap:10px}.dev-box .dev-row-input{flex:1 1 auto;width:auto;margin:0}.dev-row .cs-in{flex:none;gap:6px;font-size:12px;font-weight:600;color:#334155;white-space:nowrap}.dev-row .cs-in input{width:90px;padding:5px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;font-family:ui-monospace,Consolas,monospace;color:#0f172a}.dev-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.dev-actions .ctl{background:#1e293b;color:#e2e8f0;border:1px solid #334155;padding:6px 14px;border-radius:7px;cursor:pointer;font-size:13px}.dev-actions .ctl.primary{background:#16a34a;border-color:#16a34a}.auth-box{background:#fff;border-radius:12px;padding:32px 30px;min-width:340px;max-width:min(88vw,420px);box-shadow:0 12px 32px #0f172a47}.auth-tabs{display:flex;gap:4px;margin-bottom:14px;border-bottom:1px solid #e2e8f0}.auth-tab{flex:1;padding:8px 0;background:none;border:none;border-bottom:2px solid transparent;color:#64748b;font-size:13px;font-weight:600;cursor:pointer}.auth-tab.active{color:#0f172a;border-bottom-color:#2563eb}.auth-f{display:block;margin-bottom:10px;font-size:12px;color:#475569}.auth-f span{display:block;margin-bottom:4px;font-weight:600}.auth-f input{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:7px;font-size:14px;color:#0f172a}.auth-f input:focus{border-color:#2563eb;outline:none}.auth-remember{display:flex;align-items:center;gap:6px;margin:2px 0 4px;font-size:12px;color:#475569;cursor:pointer}.auth-err{margin:4px 0 0;font-size:12px;color:#b91c1c;font-weight:600}.auth-ok{margin:0 0 12px;padding:9px 11px;border-radius:7px;background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;font-size:12px;line-height:1.55;font-weight:600}.auth-notice{margin:0 0 12px;padding:9px 11px;border-radius:7px;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;font-size:12px;line-height:1.55}.auth-f .auth-f-hint{display:block;margin:4px 0 0;font-size:11px;font-weight:400;color:#64748b}.auth-f{position:relative}.auth-f:has(.auth-eye) input{padding-right:38px}.auth-eye{position:absolute;right:4px;bottom:4px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;line-height:0;border:none;border-radius:6px;background:none;color:#94a3b8;cursor:pointer}.auth-eye:hover{background:#f1f5f9;color:#334155}.auth-eye[aria-pressed=true]{color:#2563eb}.auth-eye:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.auth-actions{margin-top:18px}.save-status{margin-left:auto;font-size:11px;white-space:nowrap;color:#b91c1c;font-weight:600}.pal-key{margin-left:5px;font-size:10px;color:#64748b}.pal-btn.active .pal-key{color:#cffafe}.preview{margin-top:4px}.preview-title{font-size:12px;color:#64748b;font-weight:700;margin-bottom:6px}.error-panel{display:flex;flex-direction:column;gap:10px}.err-summary{display:flex;align-items:center;gap:8px}.err-scope{font-size:11px;color:#94a3b8;margin-left:auto}.badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:12px;background:#e2e8f0;color:#475569}.badge.err{background:#fee2e2;color:#b91c1c}.badge.warn{background:#fef3c7;color:#b45309}.badge.ok{background:#dcfce7;color:#15803d}.ok-msg{color:#16a34a;font-weight:600}.diag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.diag{display:flex;align-items:center;gap:8px;font-size:12px;padding:6px 8px;border-radius:6px}.diag.error{background:#fef2f2}.diag.warn{background:#fffbeb}.diag-where{font-family:ui-monospace,Consolas,monospace;color:#64748b;min-width:80px}.diag-msg{color:#334155}.output-panel svg{max-width:100%;height:auto}.legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.legend .lg{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#475569}.legend .lg i{width:12px;height:3px;border-radius:2px;display:inline-block}.admin-page-switch{display:flex;align-items:center;gap:4px}.admin-page-switch button{padding:5px 12px;border:1px solid #334155;border-radius:999px;background:#1e293b;color:#94a3b8;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.admin-page-switch button:hover{background:#334155;color:#e2e8f0}.admin-page-switch button.on{background:#2563eb;border-color:#2563eb;color:#fff}.fb-add-btn{margin-left:auto}.fb-content-field{align-items:flex-start}.fb-content-field textarea{flex:1;min-width:0;padding:8px 10px;font-size:13px;line-height:1.5;border:1px solid #cbd5e1;border-radius:7px;resize:vertical;font-family:inherit}.fb-tag{display:inline-block;padding:2px 8px;border-radius:999px;background:#eef2f6;color:#475569;font-size:11px;font-weight:600;white-space:nowrap}.fb-tag.type-bug{background:#fee2e2;color:#b91c1c}.fb-tag.type-suggestion{background:#eff6ff;color:#1d4ed8}.fb-table th:nth-child(1),.fb-table td:nth-child(1){width:88px}.fb-table th:nth-child(2),.fb-table td:nth-child(2){width:32%}.fb-author-mail{display:block;font-size:11px;color:#64748b}.fb-list{display:flex;flex-direction:column;gap:10px}.msg-inbox{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.msg-inbox-title{font-size:13px;font-weight:800;color:#0f172a}.msg-item{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;background:#fff}.msg-item.new{border-color:#2563eb;background:#eff6ff}.msg-item-head{display:flex;align-items:center;gap:8px;margin-bottom:4px}.msg-new{font-size:11px;font-weight:800;color:#fff;background:#2563eb;border-radius:999px;padding:1px 8px}.msg-item-text{margin:0;font-size:13.5px;color:#0f172a;line-height:1.55;white-space:pre-wrap}.admin-msg{display:flex;flex-direction:column;gap:12px;overflow:auto;min-height:0}.admin-msg-form.me-form textarea{width:100%;min-height:240px;font-size:14px;line-height:1.6}.admin-msg-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-msg-bar .hint{font-size:11px;color:#94a3b8;min-width:0}.admin-msg-bar .ctl{flex:none}.admin-msg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.admin-msg-list li{border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;background:#fff}.admin-msg-meta{font-size:12px;color:#64748b}.admin-msg-meta .ok{color:#16a34a;font-weight:700}.admin-msg-meta .warn{color:#b45309;font-weight:700}.admin-msg-text{margin:4px 0 0;font-size:13px;color:#0f172a;line-height:1.5;white-space:pre-wrap}.fb-item{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;background:#fff}.fb-item-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.fb-item-title{flex:1;min-width:0;font-weight:600;color:#0f172a}.fb-item-content{margin:0 0 6px;font-size:13px;color:#334155;line-height:1.5;white-space:pre-wrap}.fb-reply{margin-top:8px;padding:8px 10px;border-radius:7px;background:#f8fafc;border:1px solid #e2e8f0}.fb-reply-label{font-size:11px;font-weight:700;color:#64748b}.fb-reply p{margin:4px 0;font-size:13px;color:#0f172a;line-height:1.5;white-space:pre-wrap}.fb-modal-content{margin:10px 0 18px;padding:12px 14px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;max-height:calc(42vh + 50px);overflow-y:auto;overflow-wrap:anywhere}.fb-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.fb-status-row .me-field{flex:1;min-width:0}.fb-save{flex:none}.fb-modal-box{overflow-y:auto}.fb-reply-form{gap:16px}.fault-brief{display:flex;flex-direction:column;gap:6px;border-left:3px solid #ea580c;background:#fff7ed;border-radius:4px;padding:10px 12px;margin:0 0 12px;font-size:13px;line-height:1.55;color:#334155}.fault-brief p{margin:0}.fault-brief b{color:#9a3412;margin-right:6px}.fault-symptom{color:#0f172a}.fault-diagram{border-color:#fdba74}.fault-fixed{margin-top:10px}.fault-fixed-label{font-size:12px;font-weight:700;color:#15803d;margin-bottom:6px}.fault-fixed .quiz-diagram{margin:0;background:#fbfefc}.quiz-direct{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin-bottom:16px}.quiz-direct-step{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.quiz-direct-label{flex:none;width:62px;padding-top:8px;font-size:12px;font-weight:700;color:#475569}.quiz-direct-kinds{display:flex;gap:6px;flex-wrap:wrap;flex:1}.quiz-direct-kind{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:74px;padding:6px 8px;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;font:inherit;color:#334155}.quiz-direct-kind:hover{background:#eef2f6}.quiz-direct-kind.on{background:#2563eb;border-color:#2563eb;color:#fff}.quiz-direct-kind-icon{display:block;height:26px}.quiz-direct-kind-icon svg{height:26px;width:auto;display:block}.quiz-direct-kind-name{font-size:11px;font-weight:600}.quiz-direct-device{flex:1;min-width:160px;max-width:260px;padding:7px 10px;font:inherit;font-size:13px;color:#0f172a;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.quiz-direct-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.quiz-direct-result{font-size:13px;font-weight:700}.quiz-direct-result.ok{color:#15803d}.quiz-direct-result.bad{color:#b91c1c}.quiz-direct-na{margin:0 0 4px;line-height:1.5}.quiz-direct-result-standalone{margin:0 0 8px}.eval-body{flex:1;overflow-y:auto;padding:16px 20px}.eval-dash-body{padding:24px 28px}.eval-main{max-width:720px;margin:0 auto}.eval-main.wide{max-width:1280px}.eval-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.eval-question-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.eval-qnum{width:30px;height:30px;border-radius:6px;border:1px solid #cbd5e1;background:#fff;color:#475569;font-size:13px;font-weight:600;cursor:pointer}.eval-qnum:hover{background:#f8fafc}.eval-qnum.answered{border-color:#16a34a;color:#16a34a;background:#f0fdf4}.eval-qnum.unsaved{border:1px dashed #ea580c;color:#ea580c;background:#fff7ed}.eval-qnum.active{border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb}.eval-submit-inline{margin-left:10px;height:30px;background:#2563eb;border-color:#2563eb}.eval-submit-inline:hover{background:#1d4ed8}.eval-submit-inline.locked,.eval-submit-inline.locked:hover{background:#2563eb;opacity:.45;cursor:not-allowed}.eval-round-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:12px 0}.eval-round-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:30px 34px}.eval-round-head b{font-size:20px}.eval-round-card .hint{font-size:14px}.eval-round-card .status-tag{font-size:12px;padding:3px 10px}.eval-round-grid.landing{grid-template-columns:repeat(2,minmax(0,1fr))}.eval-round-grid.landing .eval-round-actions{justify-content:flex-end}.eval-round-grid.landing .eval-round-actions .ctl{flex:none}.eval-round-intro{margin-top:18px}.eval-usage-notice-title{display:block;margin-bottom:4px;font-size:13px}.eval-usage-notice ul{margin:0;padding-left:18px}.eval-usage-notice li{line-height:1.6}.eval-usage-notice li+li{margin-top:3px}.eval-round-intro-label{display:block;font-size:11px;color:#64748b;margin-bottom:2px}.eval-round-intro p{margin:0;font-size:13px;color:#334155;white-space:pre-wrap;line-height:1.6}.eval-round-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.eval-round-actions{display:flex;gap:8px;margin-top:26px;flex-wrap:wrap}.eval-round-actions .ctl{flex:1;white-space:nowrap;padding:9px 14px;font-size:14px}.eval-round-actions .ctl.danger{background:#dc2626;border-color:#dc2626}.eval-round-actions .ctl.danger:hover{background:#b91c1c}.eval-round-actions .ctl.accent{background:#2563eb;border-color:#2563eb}.eval-round-actions .ctl.accent:hover{background:#1d4ed8}.eval-add-btn{margin-left:auto}.status-tag.in_progress{background:#dbeafe;color:#1d4ed8}.status-tag.closed{background:#f1f5f9;color:#475569}.eval-qmanager{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin-top:8px}.eval-qmanager-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.eval-qmanager-head b{flex:none}.eval-qmanager-head .hint{flex:1}.eval-qmanager>.ctl{margin-top:14px}.eval-qmanager-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.eval-circuit .eval-circuit-note{margin:8px 0}.eval-body-field{align-items:flex-start}.eval-body-field textarea{flex:1;min-width:0;padding:8px 10px;font-size:13px;line-height:1.5;border:1px solid #cbd5e1;border-radius:7px;resize:vertical;font-family:inherit}.eval-note-field{flex-direction:column;align-items:stretch;gap:4px}.eval-note-field>span:first-child{width:auto}.eval-note-field .field-hint{font-size:11px;color:#94a3b8}.eval-question-form{width:520px;max-width:calc(100vw - 32px)}.eval-choices-editor{display:flex;flex-direction:column;gap:6px;font-size:13px}.eval-choices-editor>span:first-child{color:#475569}.eval-choice-row{display:flex;align-items:center;gap:8px}.eval-choice-row input[type=text],.eval-choice-row input:not([type]){flex:1;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}.announce-modal-box{min-width:420px;width:420px;padding-bottom:20px}.announce-field{flex-direction:column;align-items:stretch;gap:6px}.announce-field>span{width:auto;align-self:flex-end;font-size:11px;color:#94a3b8}.eval-stat-row{display:flex;gap:12px;margin:12px 0 20px}.eval-stat-card{flex:1;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;text-align:center}.eval-stat-num{font-size:26px;font-weight:700;color:#0f172a}.eval-section-title{font-size:14px;font-weight:700;color:#334155;margin:18px 0 8px}.eval-section-title-spaced{margin-top:34px;padding-top:16px;border-top:1px solid #e2e8f0}.eval-rescue-msg{margin:12px 0 0;padding:8px 12px;border-radius:6px;background:#eff6ff;color:#1e40af}.eval-student-table{width:auto}.eval-student-table th:not(:first-child),.eval-student-table td:not(:first-child){padding-left:22px}.eval-student-table th:first-child,.eval-student-table td:first-child{min-width:140px}.eval-student-name{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:#2563eb;cursor:pointer;text-decoration:underline}.eval-student-name:hover{color:#1d4ed8}.eval-answer-correct{color:#16a34a;font-weight:600}.eval-answer-wrong{color:#dc2626;font-weight:600}.eval-answer-table th:first-child,.eval-answer-table td:first-child,.eval-answer-table th:last-child,.eval-answer-table td:last-child{width:64px;white-space:nowrap}.eval-qstat-list{display:flex;flex-direction:column;gap:6px;padding-left:12px}.eval-qstat-row{display:flex;align-items:center;gap:10px}.eval-qstat-seq{flex:none;width:40px;font-size:13px;color:#475569}.eval-qstat-frac{flex:none;font-size:12px;color:#64748b}.bd-wrap{max-width:900px;width:100%;margin:0 auto;overflow:auto;flex:1;min-height:0}.bd-tabs{display:flex;gap:4px;margin-bottom:8px;flex-wrap:wrap}.bd-tab{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:999px;padding:4px 12px;cursor:pointer;font-size:13px}.bd-tab.on{background:#2563eb;border-color:#2563eb;color:#fff}.bd-search{display:flex;gap:6px}.bd-search input{padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px}.bd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bd-row{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;background:#fff;cursor:pointer}.bd-row:hover{border-color:#93c5fd}.bd-row.pinned{background:#f8fafc}.bd-row .bd-meta{grid-column:2}.bd-title{font-weight:600;color:#0f172a;min-width:0;overflow-wrap:anywhere}.bd-cc{color:#2563eb;font-weight:500}.bd-meta{font-size:12px;color:#64748b}.bd-cat{font-size:12px;padding:1px 8px;border-radius:999px;background:#e2e8f0;color:#334155;align-self:start;white-space:nowrap}.bd-cat.cat-NOTICE{background:#fee2e2;color:#b91c1c}.bd-cat.cat-QUESTION{background:#dbeafe;color:#1d4ed8}.bd-cat.cat-TIP{background:#dcfce7;color:#15803d}.bd-pager{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0}.bd-form{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px}.bd-form label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#334155}.bd-form input,.bd-form select,.bd-form textarea,.bd-cm-form textarea,.bd-cm-edit textarea{padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}.bd-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.bd-post{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:14px;align-items:stretch}.bd-post>.ctl:first-child{align-self:flex-start}.bd-post-head h2{margin:6px 0 4px;color:#0f172a;overflow-wrap:anywhere}.bd-content{white-space:pre-wrap;overflow-wrap:anywhere;color:#1e293b;line-height:1.6}.bd-actions{display:flex;align-items:center;gap:6px}.bd-spacer{flex:1}.bd-like.on{color:#dc2626;border-color:#fca5a5}.bd-cm-title{margin:8px 0 0;font-size:14px}.bd-comments{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.bd-comment{border-top:1px solid #e2e8f0;padding-top:8px;display:flex;flex-direction:column;gap:4px}.bd-cm-form,.bd-cm-edit{display:flex;flex-direction:column;gap:6px}.bd-replies{list-style:none;margin:6px 0 0 14px;padding:0 0 0 10px;border-left:2px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}.bd-reply{border-top:none;padding-top:0}.bd-cm-form>.ctl{align-self:flex-end}.bd-bar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-bottom:10px}.bd-bar .bd-tabs{margin-bottom:0}.bd-bar .bd-search{margin-left:auto}.bd-pg.on{background:#2563eb;border-color:#2563eb;color:#fff}.bd-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#334155}.bd-editor{border:1px solid #cbd5e1;border-radius:6px;background:#fff;display:flex;flex-direction:column;height:320px;min-height:180px;max-height:80vh;resize:vertical;overflow:hidden}.bd-editor-body{flex:1;min-height:0;overflow:auto}.bd-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-radius:6px 6px 0 0}.bd-tb{border:1px solid #cbd5e1;background:#fff;color:#334155;border-radius:4px;padding:2px 8px;font-size:13px;cursor:pointer;min-width:28px}.bd-tb:hover{border-color:#93c5fd}.bd-tb.on{background:#2563eb;border-color:#2563eb;color:#fff}.bd-tb-sep{width:1px;align-self:stretch;background:#e2e8f0;margin:0 2px}.bd-editor-area{min-height:100%;box-sizing:border-box;padding:10px 12px;outline:none;color:#1e293b;line-height:1.6}.bd-html,.bd-editor-area{overflow-wrap:anywhere}.bd-html{white-space:normal}.bd-html p,.bd-editor-area p{margin:0 0 .6em}.bd-html h2,.bd-editor-area h2{font-size:1.25em;margin:.8em 0 .4em}.bd-html h3,.bd-editor-area h3{font-size:1.1em;margin:.8em 0 .4em}.bd-html ul,.bd-html ol,.bd-editor-area ul,.bd-editor-area ol{margin:0 0 .6em;padding-left:1.6em}.bd-html blockquote,.bd-editor-area blockquote{margin:0 0 .6em;padding:2px 12px;border-left:3px solid #cbd5e1;color:#475569}.bd-html pre,.bd-editor-area pre{background:#0f172a;color:#e2e8f0;padding:10px 12px;border-radius:6px;overflow:auto;white-space:pre;margin:0 0 .6em}.bd-html code,.bd-editor-area code{font-family:ui-monospace,Consolas,monospace;font-size:.92em}.bd-html :not(pre)>code,.bd-editor-area :not(pre)>code{background:#e2e8f0;padding:1px 4px;border-radius:3px}.bd-html a,.bd-editor-area a{color:#2563eb;text-decoration:underline}.bd-html hr,.bd-editor-area hr{border:0;border-top:1px solid #cbd5e1;margin:.8em 0}.bd-comments{gap:18px}.bd-comments .bd-comment{border-top:none;padding-top:0;gap:2px}.bd-comments .bd-comment>.bd-meta{font-size:12px;color:#606060}.bd-comments .bd-comment>.bd-meta strong{color:#0f0f0f;font-weight:600;margin-right:4px}.bd-comments .bd-content{color:#0f0f0f;font-size:14px;line-height:1.5}.bd-comments .bd-actions{gap:2px;margin-left:-8px}.bd-comments .bd-actions .ctl,.bd-comments .bd-cm-edit .ctl:not(.primary){background:transparent;border:none;color:#0f0f0f;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex;align-items:center;gap:6px}.bd-comments .bd-actions .ctl:hover,.bd-comments .bd-cm-edit .ctl:not(.primary):hover{background:#0000000d}.bd-comments .bd-like svg{width:18px;height:18px;fill:currentColor}.bd-comments .bd-like.on{color:#0f0f0f;border:none}.bd-replies{border-left:none;margin:8px 0 0 40px;padding:0;gap:14px}.bd-cm-form textarea,.bd-cm-edit textarea{border:none;border-bottom:1px solid #909090;border-radius:0;background:transparent;padding:6px 0;resize:none;font:inherit;font-size:14px;outline:none}.bd-cm-form textarea:focus,.bd-cm-edit textarea:focus{border-bottom:2px solid #0f0f0f;padding-bottom:5px}.bd-cm-form .ctl,.bd-cm-edit .ctl{border-radius:999px;font-size:13px;font-weight:600;padding:8px 16px;line-height:1}.bd-cm-form .ctl:not(.primary),.bd-cm-edit .ctl:not(.primary){background:transparent;border:none;color:#0f0f0f}.bd-cm-form .ctl:not(.primary):hover,.bd-cm-edit .ctl:not(.primary):hover{background:#0000000d}.bd-cm-form .ctl.primary,.bd-cm-edit .ctl.primary{background:#065fd4;border-color:#065fd4;color:#fff}.bd-cm-form .ctl.primary:hover,.bd-cm-edit .ctl.primary:hover{background:#0556bf}.bd-cm-form .ctl.primary:disabled,.bd-cm-edit .ctl.primary:disabled{background:#0000000d;border-color:transparent;color:#909090;cursor:default}.fault-tier{display:inline-flex;gap:4px;margin-left:8px}.fault-tier .ctl{padding:4px 10px;font-size:13px}.dash-sub{font-size:11px;color:#64748b;margin:-2px 0 2px 76px}.dash-sub.low{color:#c2410c;font-weight:600}.eval-answer-row-wrong td{background:#fff7f7}.eval-answer-expl{margin-top:4px;font-size:12px;color:#475569;white-space:normal}.eval-plink{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px}.eval-plink.editing input{min-width:180px;padding:3px 6px;border:1px solid #cbd5e1;border-radius:6px;font-size:12px}.eval-plink .field-hint{font-size:11px;color:#64748b}.eval-qstat-block{padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.eval-qstat-block.low{border-color:#fdba74;background:#fffaf5}.eval-qstat-body{margin:4px 0 6px 40px;font-size:13px;color:#334155}.eval-choice-dist{display:flex;flex-direction:column;gap:3px;margin-left:40px}.eval-choice-line{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569}.eval-choice-line.correct{color:#15803d;font-weight:600}.eval-choice-id{flex:none;width:34px}.eval-choice-text{flex:1 1 220px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eval-choice-bar{flex:0 0 140px;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.eval-choice-fill{display:block;height:100%;border-radius:4px}.eval-choice-fill.correct{background:#16a34a}.eval-choice-fill.wrong{background:#ef4444}.eval-choice-count{flex:none;width:36px;text-align:right}.eval-choice-note{margin-top:4px;font-size:12px;color:#c2410c}.quiz-multi-hint{margin:0 0 6px;font-size:12px;line-height:1.5}.quiz-exam-badge .eval-minwait{margin-left:4px;padding-left:10px;border-left:1px solid rgba(255,255,255,.3);color:#fdba74}.me-field-check{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px}.me-field-check input[type=checkbox]{width:16px;height:16px}.eval-timing-field{flex-wrap:wrap;column-gap:10px;row-gap:4px}.eval-timing-field input[type=checkbox]{flex:none;margin:0}.eval-timing-field .field-hint{flex:1 0 100%;padding-left:120px;font-size:11px;color:#64748b;line-height:1.5}.eval-timing-field .field-hint.auth-err{color:#b91c1c}@keyframes concept-card-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px))}to{opacity:1;transform:translate(-50%,-50%)}}.concept-card{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:94;width:min(92vw,400px);box-sizing:border-box;padding:12px 14px 10px;border-radius:12px;background:#fff;border:2px solid #6366f1;box-shadow:0 12px 32px #00000038;animation:concept-card-in .22s ease-out;font-size:13px;color:#1e293b}.concept-card.ok{border-color:#16a34a}.concept-card.bad{border-color:#f59e0b}.concept-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.concept-card-kicker{font-size:11px;font-weight:700;color:#4f46e5;letter-spacing:.02em}.concept-card-prompt{margin:0 0 8px;font-size:13.5px;font-weight:600;line-height:1.45}.concept-card-choices{display:flex;flex-direction:column;gap:5px}.concept-choice{text-align:left;padding:7px 10px;border-radius:8px;font-size:12.5px;line-height:1.4;border:1px solid #cbd5e1;background:#f8fafc;color:#1e293b;cursor:pointer}.concept-choice:hover{background:#eef2ff;border-color:#a5b4fc}.concept-choice.selected{border-color:#6366f1;box-shadow:inset 0 0 0 1px #6366f1}.concept-choice.correct{background:#f0fdf4;border-color:#16a34a;box-shadow:inset 0 0 0 1px #16a34a}.concept-choice.wrong{background:#fef2f2;border-color:#dc2626;box-shadow:inset 0 0 0 1px #dc2626}.concept-choice:disabled{cursor:default}.concept-card-warn{margin:8px 0 0;padding:6px 9px;border-radius:8px;background:#fffbeb;border:1px solid #fcd34d;font-size:12px;line-height:1.45;color:#92400e}.concept-reopen{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:94;padding:9px 16px;border-radius:999px;border:2px solid #f59e0b;background:#fffbeb;color:#92400e;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 8px 22px #00000038}.concept-reopen:hover{background:#fef3c7}.concept-card-actions{margin-top:8px;text-align:right}.concept-card-feedback{margin-top:8px;padding:8px 10px;border-radius:8px;font-size:12.5px;line-height:1.5}.concept-card-feedback.ok{background:#ecfdf5;color:#065f46}.concept-card-feedback.bad{background:#fffbeb;color:#92400e}.concept-card-hint{margin:8px 0 0;font-size:11.5px}.word-hint-level{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:999px;font-size:11px;font-weight:700;vertical-align:middle}.word-hint-level.l1{background:#e0f2fe;color:#075985}.word-hint-level.l2{background:#fef3c7;color:#92400e}.word-hint-level.l3{background:#fee2e2;color:#991b1b}.word-hint-rung{margin-top:8px}.word-hint-rung-label{font-size:12px;color:#475569;margin-bottom:4px}.word-hint-rung-art{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;padding:6px;overflow-x:auto}.word-hint-rung-art svg{max-width:100%;height:auto}@media(max-width:780px){.topbar{flex-wrap:wrap;gap:6px 8px;padding:6px 10px}.topbar .brand{order:0;font-size:16px}.topbar .acct{order:1;flex-wrap:wrap;justify-content:flex-end;gap:4px;min-width:0}.topbar .ex-select,.topbar .ex-select-wrap{order:2;flex:1 1 35%;min-width:0}.topbar .ex-select-wrap .ex-select{order:0;flex:1 1 auto}.topbar .ex-select-wrap .ex-step{flex:none}.topbar .progress-btn{order:3;flex:none}.topbar .progress-track{width:44px}.topbar .acct .ctl.icon{width:30px;height:30px;padding:0}.editor-toolbox{gap:6px;padding:6px}.editor-actions{gap:4px;padding-top:6px}.editor-actions .ctl.icon{width:30px;height:28px;font-size:14px}.editor-actions .tb-sep{display:none}.palette{flex-wrap:nowrap;overflow-x:auto;gap:10px;padding-bottom:4px;-webkit-overflow-scrolling:touch}.pal-group{flex:none}.eval-body{padding:12px}.eval-round-grid,.eval-round-grid.landing{grid-template-columns:1fr;gap:12px}.eval-round-card{padding:18px 16px}.eval-round-actions{flex-wrap:wrap;margin-top:18px}.admin-scroll .tag-table th,.admin-scroll .tag-table td{white-space:nowrap}.admin-body{padding:8px}.me-field{flex-direction:column;align-items:stretch;gap:4px}.me-field>span{width:auto}.me-field.me-field-check{flex-direction:row;align-items:center}.eval-timing-field .field-hint{padding-left:0}.me-actions{margin-left:0;flex-wrap:wrap}.me-actions .ctl{white-space:nowrap}.admin-toolbar{flex-wrap:wrap}.admin-search{min-width:180px}.admin-count{white-space:nowrap}.admin-modal-box,.dev-box,.dev-box.dev-box-compact,.announce-modal-box{min-width:0;width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.dev-box{max-height:88vh;overflow:auto}}.forgot-link{display:block;margin:12px auto 0;padding:4px 8px;border:none;background:none;color:#2563eb;font-size:13px;cursor:pointer;text-decoration:underline}.forgot-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:15px}.forgot-back{border:none;background:none;color:#2563eb;font-size:13px;cursor:pointer;padding:2px 0}.forgot-way{border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:12px}.forgot-way-title{font-weight:700;font-size:13px;color:#0f172a;margin-bottom:4px}.forgot-way .auth-f-hint{display:block;margin:0 0 10px;font-size:12px;color:#64748b}.forgot-admin-btn{background:#1e293b;color:#fff;border-color:#1e293b}.pwreset{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:10px 12px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}.pwreset-title{font-size:13px;font-weight:700;color:#92400e}.pwreset-title b{background:#f59e0b;color:#fff;border-radius:999px;padding:0 7px;margin-left:4px;font-size:12px}.pwreset-issued{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f0fdf4;border:1px solid #86efac;border-radius:6px;padding:8px 10px;font-size:13px}.pwreset-issued code{font-size:16px;font-weight:800;letter-spacing:1px;color:#15803d}.pwreset-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #fde68a;border-radius:6px;padding:8px 10px}.pwreset-who{font-size:13px;min-width:0;display:flex;flex-direction:column;gap:2px}.pwreset-mail{color:#475569;font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}.pwreset-sub{color:#64748b;font-size:11px}.pwreset-warn{color:#b91c1c;font-size:12px}.pwreset-note{color:#334155;font-size:12px}.pwreset-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pwreset-input{width:110px;padding:4px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;font-family:ui-monospace,Consolas,monospace}.eval-scope{margin-top:14px}.eval-scope-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.eval-scope-head .eval-round-intro-label{margin-bottom:0}.eval-scope-count{font-size:12px;font-weight:700;color:#b45309;font-variant-numeric:tabular-nums}.eval-scope-count.all{color:#16a34a}.eval-scope-chips{display:flex;flex-wrap:wrap;gap:6px}.eval-scope-chip{padding:4px 10px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;font-size:12px;cursor:pointer;white-space:nowrap}.eval-scope-chip:hover{background:#eff6ff;border-color:#93c5fd}.eval-scope-chip.done{background:#f0fdf4;border-color:#86efac;color:#15803d}.eval-scope-field{flex-wrap:wrap}.eval-scope-field .field-hint{flex:1 0 100%;padding-left:120px;font-size:11px;color:#64748b;line-height:1.5}.eval-scope-field .field-hint.auth-err{color:#b91c1c}@media(max-width:780px){.eval-scope-field .field-hint{padding-left:0}.eval-scope-chip{white-space:normal}}.eval-scope-btn{margin-left:8px;vertical-align:1px}.eval-scope-field textarea{font-family:ui-monospace,Consolas,monospace;font-size:12px}.hint-usage{margin-left:auto;font-size:12px;color:#475569;white-space:nowrap;padding:3px 10px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;font-variant-numeric:tabular-nums}.hint-usage.warn{color:#b45309;border-color:#fcd34d;background:#fffbeb}.hint-usage.bad{color:#b91c1c;border-color:#fca5a5;background:#fef2f2;font-weight:700}.me-tabs{display:flex;gap:4px;max-width:720px;width:100%;border-bottom:1px solid #e2e8f0}.me-tab{padding:8px 16px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:#64748b;border-bottom:2px solid transparent;margin-bottom:-1px}.me-tab:hover{color:#0f172a}.me-tab.on{color:#0f172a;border-bottom-color:#2563eb}.acct-group{padding:6px 10px 2px;font-size:11px;font-weight:700;color:#94a3b8}@media(max-width:780px){.me-tab{flex:1;padding:8px 6px}}.quiz-stats-list{padding-left:0}.quiz-stats-filter{margin-bottom:0}.quiz-stats-head{display:flex;align-items:baseline;gap:8px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;font:inherit;color:inherit}.quiz-stats-stage{flex:none;font-size:11px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:1px 8px}.quiz-stats-title{flex:1;min-width:0;font-size:13px;font-weight:600;color:#1e293b}.quiz-stats-caret{flex:none;color:#94a3b8}.quiz-stats-metrics{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:12px;color:#475569}.quiz-stats-metrics .bad{color:#c2410c;font-weight:600}.quiz-stats-detail{margin-top:8px}.quiz-stats-detail .eval-qstat-body{margin-left:0;white-space:pre-line}.quiz-stats-slot+.quiz-stats-slot{margin-top:8px;padding-top:8px;border-top:1px dashed #e2e8f0}.quiz-stats-slot-label{font-size:12px;font-weight:600;color:#334155;margin-bottom:2px}.quiz-stats-bars-title{font-size:11px;color:#64748b;margin:4px 0 2px}.quiz-stats-stale{margin-top:4px;font-size:12px;color:#64748b}.eval-choice-line.stale{opacity:.55}.model-compare{margin-top:8px;padding:8px 12px 10px;border:1px solid #bbf7d0;border-radius:8px;background:#fff}.model-compare-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.model-compare-tabs{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.model-compare-tab{font-size:12px;padding:3px 10px;border:1px solid #93c5fd;border-radius:999px;background:#fff;color:#1e40af;cursor:pointer}.model-compare-tab.on{background:#1e40af;border-color:#1e40af;color:#fff}.model-compare-note{font-size:12px;color:#475569;margin:8px 0 6px}.model-compare-art{background:#fff;border:1px solid #dbeafe;border-radius:8px;padding:6px;overflow-x:auto}.model-compare-art svg{max-width:100%;height:auto;display:block}.near-progress{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:12.5px;color:#475569}.near-progress.muted{color:#94a3b8}.near-progress b{color:#1e40af}.near-progress-bar{position:relative;width:120px;height:8px;border-radius:999px;background:#e2e8f0;overflow:visible}.near-progress-bar>span{position:absolute;inset:0 auto 0 0;border-radius:999px;background:#3b82f6}.near-progress-bar>i{position:absolute;top:-3px;bottom:-3px;width:2px;background:#16a34a}.fix-ladder{margin-top:8px;display:flex;flex-direction:column;gap:4px}.fix-ladder-label{font-size:12px;color:#475569;font-weight:600}.fix-ladder-key{color:#ea580c}.fix-ladder-art{background:#fff;border:1px solid #fed7aa;border-radius:8px;padding:6px;overflow-x:auto}.fix-ladder-art.model{border-color:#bbf7d0}.fix-ladder-art.fixed{border-color:#86efac}.fix-ladder-key.ok{color:#16a34a}.fix-ladder-removed{font-size:12px;color:#b91c1c}.fix-ladder-art svg{max-width:100%;height:auto;display:block}.selfhold-rule{margin-top:10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;padding:6px 10px 8px}.selfhold-rule>summary{cursor:pointer;font-size:13px;font-weight:600;color:#334155}.selfhold-rule-svg{display:block;width:100%;max-width:560px;height:auto;margin-top:6px}.selfhold-rule-pitfalls{margin:4px 0 0;padding-left:18px;font-size:12.5px;color:#475569}.selfhold-rule-pitfalls li+li{margin-top:2px}.seq-proc{display:flex;flex-wrap:wrap;gap:4px 6px;list-style:none;margin:6px 0 4px;padding:0;font-size:12px}.seq-proc li{display:flex;align-items:center;gap:4px;padding:2px 8px 2px 4px;border-radius:999px;background:#f1f5f9;color:#64748b}.seq-proc li span{display:inline-flex;width:16px;height:16px;border-radius:50%;align-items:center;justify-content:center;background:#cbd5e1;color:#fff;font-size:11px;font-weight:700}.seq-proc li.done{background:#f0fdf4;color:#15803d}.seq-proc li.done span{background:#16a34a}.seq-proc li.now{background:#dbeafe;color:#1d4ed8;font-weight:700}.seq-proc li.now span{background:#2563eb}.seq-select{max-width:100%;padding:4px 6px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:13px}.seq-same td{background:#fef9c3}.control-state{margin:6px 0;padding:8px 10px;background:#eff6ff;border-radius:6px;color:#1e3a8a;font-size:13px;line-height:1.5}.control-state-why{margin-top:4px;color:#1d4ed8;font-size:12px}.recipe-card{font-size:13px;line-height:1.55}.recipe-nav{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0 0}.recipe-nav button{padding:2px 8px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:11px;cursor:pointer}.recipe-nav button:hover{background:#eff6ff;border-color:#93c5fd}.recipe-legend{padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:12px}.recipe-why-toggle{margin-left:8px;white-space:nowrap;cursor:pointer}.recipe-tag{display:inline-block;padding:0 6px;border-radius:4px;background:#e2e8f0;color:#0f172a;font-weight:600;font-size:12px}.recipe-tag.neg{background:#fee2e2;color:#991b1b}.recipe-tag.edge{background:#f1f5f9;color:#0f172a;outline:1px dashed #94a3b8}.recipe-seq{margin:4px 0;padding-left:20px}.recipe-out{margin:8px 0;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.recipe-out.indicator,.recipe-out.memory,.recipe-out.safety{border-color:#e2e8f0}.recipe-out-head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.recipe-purpose{color:#64748b;font-size:12px;font-weight:400}.recipe-cols{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.recipe-col-h{font-weight:700;font-size:12px;margin-bottom:2px}.recipe-col-h.on{color:#15803d}.recipe-col-h.off{color:#b91c1c}.recipe-cols ul,.recipe-list{list-style:none;margin:0;padding:0}.recipe-group{margin-bottom:4px}.recipe-or{color:#64748b;font-size:11px;margin:2px 0}.recipe-cond{margin-bottom:3px}.recipe-why{display:block;color:#64748b;font-size:11px;line-height:1.4}.recipe-means{margin-top:6px;font-size:12px;color:#475569}.recipe-means summary{cursor:pointer;color:#2563eb}.recipe-means ul{margin:4px 0 0;padding-left:18px}.recipe-reason{margin:6px 0 0;font-size:12px;color:#475569}.recipe-list li{margin-bottom:4px}.recipe-h{margin:12px 0 4px;font-weight:700;color:#0f172a}.recipe-h small{font-weight:400;color:#64748b}.recipe-none{color:#94a3b8}.recipe-steps{margin:4px 0;padding-left:20px}.recipe-steps li{margin-bottom:4px}.recipe-instr{color:#475569;font-size:12px}.recipe-check{list-style:none;margin:4px 0;padding:0}.recipe-check label{display:flex;gap:6px;align-items:flex-start;cursor:pointer}.recipe-warn{margin:8px 0 0;padding:8px 10px;background:#fff7ed;border-radius:6px;color:#9a3412}.recipe-sem-note{margin:8px 0 0;font-size:12px;color:#6b7280}.recipe-sem-note ul{margin:2px 0 0;padding-left:18px}.recipe-sem-h{margin:0;font-weight:600;color:#9a3412}.recipe-sem-omit{margin:4px 0 0}.word-recipe-drawer{flex:none;width:380px;overflow-y:auto;padding:12px 14px;border-left:1px solid #bfdbfe;background:#f8fafc}.word-recipe-tab{position:fixed;right:0;top:40%;z-index:20;padding:10px 8px;border:1px solid #bfdbfe;border-right:none;border-radius:8px 0 0 8px;background:#eff6ff;color:#1e3a8a;font-weight:700;font-size:12px;cursor:pointer;writing-mode:vertical-rl}@media(max-width:1439px){.word-recipe-drawer{position:fixed;right:0;top:56px;bottom:0;width:min(400px,92vw);z-index:30;box-shadow:-6px 0 24px #0f172a2e}}.word-recipe-drawer.compact{width:290px;align-self:flex-start;height:fit-content;max-height:calc(100vh - 80px);margin:8px 8px 0 0;border:1px solid #bfdbfe;border-radius:8px}@media(max-width:1439px){.word-recipe-drawer.compact{width:min(300px,92vw);top:120px;bottom:auto;max-height:calc(100vh - 140px)}}.recipe-simple-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin-top:4px}.recipe-simple-row .recipe-col-h{min-width:34px;margin:0}.recipe-simple-row ul{display:inline-block;vertical-align:top}.recipe-col-h.hold,.recipe-col-h.permit{color:#334155}.recipe-timer-note{margin:2px 0 6px;font-size:12px;color:#4b5563}.recipe-permit-note{margin:4px 0 0;font-size:12px;color:#4b5563}.recipe-col-h.block{color:#334155}.recipe-think{margin:10px 0 0;padding:6px 10px;background:#f0fdf4;border-radius:6px;color:#166534;font-size:12px;line-height:1.5}.recipe-and{list-style:none;margin:-2px 0 1px 10px;font-size:10px;font-weight:700;color:#94a3b8;line-height:1.1}.logic-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;margin:6px 0 2px;padding:5px 8px;border-radius:6px;background:#f1f5f9;font-size:12px;line-height:1.5}.logic-line.and,.logic-line.or,.logic-line.mixed{background:#f8fafc}.logic-tag{font-weight:700;color:#0f172a}.logic-expr{padding:0 6px;border-radius:4px;background:#fff;border:1px solid #cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:#0f172a}.logic-ladder{color:#475569}.logic-contacts{flex-basis:100%;color:#64748b;font-size:11px}.logic-chain-box{margin:8px 0;padding:6px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:12px;line-height:1.5}.logic-judge{margin:8px 0;padding:10px 12px;border:2px solid #2563eb;border-radius:8px;background:#eff6ff}.logic-judge.done{border:1px solid #e2e8f0;border-left:4px solid #16a34a;background:#fff}.logic-judge-head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.logic-which{padding:0 6px;border-radius:999px;font-size:11px;font-weight:700}.logic-which.on{background:#dcfce7;color:#166534}.logic-which.off{background:#fee2e2;color:#991b1b}.logic-which.permit{background:#e2e8f0;color:#334155}.logic-judge-q{margin:6px 0;font-size:13px;line-height:1.5;font-weight:600;color:#0f172a}.logic-conds{list-style:none;margin:4px 0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.logic-groups{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0}.logic-group{display:inline-flex;align-items:center;gap:4px}.logic-group-box{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px 6px;border:1px dashed #94a3b8;border-radius:6px}.logic-between{color:#64748b;font-weight:700}.logic-choices{display:grid;gap:4px;margin-top:6px}.logic-choice-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.logic-choice{padding:4px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font-size:12px;cursor:pointer;text-align:left}.logic-choice:hover:not(:disabled){background:#eff6ff;border-color:#93c5fd}.logic-choice.picked{border-color:#3b82f6;background:#eff6ff}.logic-choice.wrong{border-color:#ef4444;background:#fef2f2}.logic-choice.correct{border-color:#22c55e;background:#f0fdf4;font-weight:700}.logic-feedback{margin:6px 0 0;font-size:12px;line-height:1.5}.logic-feedback.wrong{color:#b91c1c}.logic-feedback.ok{color:#15803d;font-weight:700}.logic-chain{margin:4px 0 0;font-size:12px;color:#475569}.logic-skip{margin-top:6px;padding:0;border:none;background:none;color:#2563eb;font-size:12px;cursor:pointer;text-decoration:underline}.recipe-judge-cell{flex:1 1 100%;min-width:0}.logic-judge.compact{margin:2px 0;padding:6px 8px;flex:1 1 100%}.logic-judge.compact .logic-choice{padding:3px 8px}.logic-judge.compact .logic-conds{margin:2px 0}.logic-judge.compact .logic-judge-q{font-size:12px}.recipe-hold{margin-top:8px;padding:6px 8px;border:1px solid #ddd6fe;border-radius:6px;background:#faf5ff;font-size:12px}.recipe-hold summary{cursor:pointer;color:#6d28d9;font-weight:700}.recipe-hold-row{margin:4px 0 0;line-height:1.6}.recipe-hold-row code{padding:0 6px;border-radius:4px;background:#fff;border:1px solid #ddd6fe;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.recipe-hold-tag{display:inline-block;min-width:30px;margin-right:4px;padding:0 6px;border-radius:4px;font-size:11px;font-weight:700;text-align:center}.recipe-hold-tag.analysis{background:#fee2e2;color:#991b1b}.recipe-hold-tag.impl{background:#dbeafe;color:#1e40af}.debug-session{margin:8px 0;padding:10px 12px;border:1px solid #fed7aa;border-radius:8px;background:#fffbeb}.debug-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.debug-count{padding:0 8px;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;font-weight:700}.debug-reset{margin-left:auto;padding:0;border:none;background:none;color:#64748b;font-size:11px;text-decoration:underline;cursor:pointer}.debug-steps{list-style:none;margin:8px 0 4px;padding:0;display:grid;gap:3px}.debug-steps li{display:flex;align-items:baseline;gap:6px;padding:3px 8px;border-radius:6px;font-size:13px}.debug-steps li.done{background:#f0fdf4;color:#166534}.debug-steps li.now{background:#ffedd5;color:#9a3412;font-weight:700}.debug-steps li.todo{background:#f8fafc;color:#64748b}.debug-state{margin-left:auto;font-size:11px;font-weight:700}.debug-event{margin:6px 0;padding:6px 10px;border-radius:6px;font-size:13px;line-height:1.5}.debug-event.ok{background:#dcfce7;color:#166534;font-weight:700}.debug-event.stay{background:#fef3c7;color:#92400e}.debug-event.start{background:#e0f2fe;color:#075985}.debug-current{margin-top:8px;padding:10px 12px;border:1px solid #fdba74;border-radius:8px;background:#fff}.debug-current.stale{opacity:.8}.debug-current-head{font-size:13px;color:#9a3412}.debug-summary{margin:6px 0;font-size:14px;line-height:1.55;color:#0f172a}.debug-detail{margin:4px 0;font-size:12px;color:#475569}.debug-detail summary{cursor:pointer;color:#2563eb}.debug-hint{margin:8px 0;padding:6px 10px;border-radius:6px;background:#f0f9ff;color:#0c4a6e;font-size:13px;line-height:1.55}.debug-actions{display:flex;flex-wrap:wrap;gap:6px}.debug-log{margin-top:8px;font-size:12px;color:#475569}.debug-log summary,.debug-more summary{cursor:pointer;color:#475569;font-weight:600}.debug-log ol{margin:4px 0 0;padding-left:20px}.debug-more{margin-top:8px}.debug-more-body{margin-top:6px}.debug-done{margin-top:8px;padding:10px 12px;border-radius:8px;background:#f0fdf4;border:1px solid #bbf7d0}.debug-done-title{margin:0 0 6px;font-weight:700;color:#166534}.hold-flow{display:grid;gap:4px;margin-top:6px}.hold-box{padding:6px 8px;border-radius:6px;font-size:12px;line-height:1.6}.hold-box.analysis{background:#fef2f2;border:1px solid #fecaca}.hold-box.impl{background:#eff6ff;border:1px solid #bfdbfe}.hold-box code,.hold-template code{padding:0 6px;border-radius:4px;background:#fff;border:1px solid #ddd6fe;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hold-box small{color:#64748b}.hold-kind{margin-left:6px;font-weight:700}.hold-arrow{text-align:center;color:#6d28d9;font-size:12px;font-weight:700}.hold-art-wrap{margin-top:6px}.hold-art{margin:0 0 2px;padding:4px 10px;display:inline-block;border-radius:6px;background:#fff;border:1px dashed #c4b5fd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.25;color:#1e293b}.hold-art-wrap small{display:block;color:#64748b;font-size:11px}.hold-law{margin:6px 0 0;padding:4px 8px;border-radius:6px;background:#fefce8;color:#854d0e;font-size:12px}.hold-think{margin-top:6px;padding:6px 8px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;font-size:12px;line-height:1.55}.hold-think p{margin:2px 0}.hold-x{padding:0 6px;border-radius:4px;background:#fee2e2;color:#991b1b;font-weight:700;font-size:11px}.hold-o{padding:0 6px;border-radius:4px;background:#dcfce7;color:#166534;font-weight:700;font-size:11px}.hold-template{margin:6px 0 0;font-size:12px;line-height:1.6;color:#475569}.logic-holdnote{margin:6px 0 0;padding:6px 8px;border-left:3px solid #94a3b8;background:#f8fafc;color:#334155;font-size:12px;line-height:1.55}.analysis-flow{margin:6px 0 10px}.seq-proc li.more{background:transparent;color:#64748b;font-size:12px}.logic-conds-card{margin:8px 0;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.logic-cond-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:4px;font-size:13px}.logic-cond-line{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px}.logic-summary{margin-top:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.logic-summary-title{margin:0 0 6px;font-weight:700;color:#0f172a}.logic-summary-out{margin:6px 0;font-size:13px;line-height:1.6}.logic-summary-out code,.logic-nonc code{padding:0 6px;border-radius:4px;background:#fff;border:1px solid #cbd5e1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.logic-summary-out small{color:#475569;margin-left:6px}.logic-nonc{margin:6px 0 0;padding:6px 8px;border-radius:6px;background:#fff;border:1px solid #e2e8f0;font-size:12px;line-height:1.6}.logic-legend{margin:4px 0;font-size:12px;color:#475569}.recipe-out.debugging{border-color:#fb923c;box-shadow:0 0 0 2px #fed7aa}.recipe-debug-badge{padding:0 6px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:11px;font-weight:700}.word-recipe-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.seq-plan-chain{margin:8px 0;padding-left:20px;font-size:13px;line-height:1.5}.seq-plan-done{color:#64748b;font-size:12px}.seq-plan-note{margin:8px 0 0;padding:8px 10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:13px;line-height:1.5}.seq-explain{margin:8px 0 0;padding:8px 10px;background:#f0fdf4;border-radius:6px;color:#166534;font-size:13px;line-height:1.5}.progress-ledger{margin:8px 0;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px}.progress-ledger-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;color:#334155}.progress-delta{margin-left:auto;font-weight:700;color:#64748b}.progress-delta.up{color:#15803d}.progress-delta.down{color:#b91c1c}.progress-warn{margin:6px 0;padding:6px 10px;background:#fff7ed;border-radius:6px;color:#9a3412;font-size:12px;line-height:1.5}.progress-ledger-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.progress-ledger-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:4px 8px;border-radius:6px}.progress-ledger-list li.ok{background:#f0fdf4;color:#166534}.progress-ledger-list li.ng{background:#fef2f2;color:#991b1b}.progress-mark{font-weight:800}.progress-name{font-weight:700}.progress-note{font-size:12.5px}.progress-alert,.progress-good,.progress-best{margin-top:6px;padding:6px 8px;border-radius:6px;line-height:1.5}.progress-alert{background:#fffbeb;color:#92400e;border:1px solid #fcd34d}.progress-good{background:#ecfdf5;color:#065f46}.progress-best{background:#f1f5f9;color:#334155}.progress-alert .ctl,.progress-best .ctl{margin-left:8px}.progress-plan{margin-top:8px;padding-top:6px;border-top:1px dashed #e2e8f0}.progress-plan.muted{color:#64748b;font-size:12.5px}.progress-plan.muted .ctl{margin-left:8px}.progress-plan-head{font-weight:600;color:#1e3a8a}.progress-dots{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle}.progress-dots i{width:9px;height:9px;border-radius:50%;background:#cbd5e1}.progress-dots i.on{background:#2563eb}.progress-plan-rule{margin:4px 0 6px;font-size:12.5px;color:#475569}.progress-plan-step{margin:6px 0}.progress-plan-text{font-size:13px;color:#0f172a;margin-bottom:4px}.progress-plan-effect{color:#15803d;font-weight:600}.practice-analysis-bar{display:flex;align-items:center;gap:8px;margin:8px 0 0}.practice-analysis-note{font-size:12px;color:#64748b}.practice-guide{padding:6px 8px;border:1px solid #bfdbfe;border-radius:8px;background:#f8fafc}.ref-locked{margin:10px 0 0;padding:12px 14px;border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc;color:#475569;font-size:13px;line-height:1.5}.ref-locked p{margin:0 0 8px}.expr-read{margin-top:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.expr-read-title{margin:0 0 6px;font-weight:700;color:#0f172a}.expr-read-title small{font-weight:400;color:#64748b}.expr-ops{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:#334155}.expr-ops code,.expr-terms code{background:#e2e8f0;padding:0 4px;border-radius:4px;font-size:12px}.expr-out{margin-top:8px;padding-top:8px;border-top:1px dashed #cbd5e1}.expr-out-head,.expr-line{margin-bottom:4px}.expr-eq{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.expr-eq>code{font-size:14px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:3px 8px}.expr-op{color:#475569;font-weight:700}.expr-term{font:inherit;font-weight:700;color:#1d4ed8;background:transparent;border:0;border-bottom:2px solid transparent;padding:0 1px;cursor:pointer}.expr-term:hover,.expr-term.on{background:#dbeafe;border-bottom-color:#2563eb;border-radius:3px}.expr-sentence{margin:2px 0 0;font-size:13px;color:#0f172a}.expr-terms{list-style:none;margin:4px 0 0;padding:0;font-size:12.5px;color:#475569}.expr-terms li{padding:2px 6px;border-radius:4px}.expr-terms li.on{background:#dbeafe;color:#0f172a}.ltd{margin:8px 0;padding:2px}.ltd-title{margin:0 0 6px;font-weight:700;color:#0f172a;font-size:13px}.ltd-title small{font-weight:400;color:#64748b}.ltd-cards{display:flex;flex-wrap:wrap;gap:8px}.ltd-card{flex:1 1 260px;min-width:0;box-sizing:border-box;padding:8px 10px;border:2px solid #e2e8f0;border-radius:10px;background:#fff}.ltd-card.and,.ltd-card.or,.ltd-card.mixed{--ltd: #334155;--ltd-bg: #f1f5f9}.ltd-card.mine{border-color:var(--ltd);box-shadow:inset 0 0 0 1px var(--ltd)}.ltd-flow{display:flex;flex-wrap:nowrap;align-items:stretch;gap:3px;position:relative}.ltd-step{display:flex;flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:0;padding:4px;border-radius:8px;background:var(--ltd-bg);line-height:1.25;word-break:keep-all}.ltd-step i{font-style:normal;font-size:15px}.ltd-step b{color:#0f172a;font-size:12.5px}.ltd-step small{color:#64748b;font-size:10px}.ltd-arrow{align-self:center;flex:0 0 auto;color:#94a3b8;font-weight:700}.ltd-mine{display:block;width:fit-content;margin:0 0 4px auto;padding:0 8px;border-radius:999px;background:var(--ltd);color:#fff;font-size:11px;font-weight:700}.ltd-body{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}.ltd-svg{width:240px;max-width:100%;height:auto;flex:0 0 auto}.ltd-card.compact .ltd-svg{width:200px}.ltd-sw{cursor:pointer;outline:none}.ltd-sw rect{fill:#f1f5f9;stroke:#94a3b8;stroke-width:2}.ltd-sw.on rect{fill:#dcfce7;stroke:#16a34a}.ltd-sw:hover rect,.ltd-sw:focus-visible rect{stroke:var(--ltd, #334155);stroke-width:3}.ltd-sw-name{font-size:12px;font-weight:700;fill:#0f172a}.ltd-sw-state{font-size:10px;font-weight:700;fill:#64748b}.ltd-sw.on .ltd-sw-state{fill:#15803d}.ltd-table{border-collapse:collapse;font-size:11.5px}.ltd-table th,.ltd-table td{border:1px solid #e2e8f0;padding:1px 6px;text-align:center}.ltd-table th{background:#f8fafc;color:#475569}.ltd-table tr.now td{background:#dbeafe;font-weight:700}.ltd-table td.lit{color:#15803d;font-weight:700}.ltd-now{margin:4px 0 0;font-size:12px;color:#334155;min-height:1.5em}.ltd-details>summary{cursor:pointer;list-style:revert}.ltd-details>summary small{color:#64748b}.ltd-details[open]>summary{margin-bottom:6px}.logic-q-badge{display:inline-block;margin-right:6px;padding:0 8px;border-radius:999px;background:#2563eb;color:#fff;font-size:11px;font-weight:700;vertical-align:1px}.ltd-details .ltd-title{display:none}.recipe-check-details{margin:12px 0 4px}.recipe-check-details>summary{cursor:pointer;font-weight:700;color:#0f172a}.recipe-check-details>summary small{font-weight:400;color:#64748b}.recipe-check-details[open]>summary{margin-bottom:4px}.expr-sym-toggle{margin-left:8px;padding:1px 8px;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-size:11px;font-weight:600;cursor:pointer;vertical-align:1px}.expr-sym-toggle:hover{border-color:#94a3b8}.expr-sec{margin:10px 0 4px;font-weight:700;font-size:12.5px;color:#0f172a}.expr-sec small{font-weight:400;color:#64748b}.expr-alloc{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.expr-alloc th,.expr-alloc td{border:1px solid #e2e8f0;padding:2px 6px;text-align:left}.expr-alloc th{background:#f1f5f9;color:#475569;font-weight:600}.expr-alloc code{background:#e2e8f0;padding:0 4px;border-radius:4px}.expr-conds{display:flex;flex-wrap:wrap;gap:2px 14px;margin-bottom:3px;font-size:12.5px;color:#334155}.expr-conds code{background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:0 5px}.expr-conds small{color:#64748b}.recipe-tbl{margin:4px 0 8px}.recipe-tbl td{vertical-align:top}.recipe-tbl th.on{color:#166534}.recipe-tbl th.off{color:#991b1b}.recipe-tbl tr.debugging td{background:#fff7ed}.recipe-tbl .recipe-group ul{list-style:none;margin:0;padding:0}.recipe-more{margin:4px 0 8px}.recipe-more>summary{cursor:pointer;font-size:12px;color:#475569}.recipe-why-list{list-style:none;margin:4px 0 0;padding:0;font-size:12px}.word-scene{margin:8px 0 10px;padding:6px 10px 8px;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.word-scene-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px;font-size:12.5px}.word-scene .scene-svg{flex:none;min-height:0}.word-scene .scene-svg svg{width:100%;max-width:594px;height:auto}.eval-why-cell{min-width:260px;width:340px;white-space:normal}.eval-why-note{font-size:12px;color:#475569;line-height:1.5;margin-bottom:6px;white-space:normal;overflow-wrap:anywhere}.eval-why-ai{font-size:12.5px;line-height:1.6;white-space:pre-wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px;color:#1e293b}.admin-modal-box.eval-result-modal{width:min(1100px,94vw);max-width:94vw}
