body{font-family:Arial,sans-serif;margin:0;background:#f7f7f8}.app-layout{display:flex;flex-wrap:nowrap;gap:24px;max-width:1600px;margin:0 auto;padding:24px;min-height:100vh}.context-bar{flex:0 0 220px;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;height:fit-content;position:sticky;top:24px}.context-bar h3{margin:0 0 14px;font-size:.95rem;font-weight:600;color:#374151}.context-bar-status{margin-bottom:14px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;font-size:.78rem;color:#475569}.context-bar-status-line{margin:0 0 4px;display:flex;align-items:center;gap:6px}.context-bar-status-line:last-of-type{margin-bottom:0}.context-bar-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.context-bar-status-dot--checking{background:#94a3b8;animation:context-bar-pulse 1s ease-in-out infinite}.context-bar-status-dot--up{background:#22c55e}.context-bar-status-dot--down{background:#ef4444}@keyframes context-bar-pulse{0%,to{opacity:1}50%{opacity:.4}}.context-bar-status-warning{margin-top:10px;padding:10px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:.75rem;color:#991b1b}.context-bar-status-warning p{margin:0 0 8px}.context-bar-status-refresh{padding:6px 12px;font-size:.75rem;font-weight:600;color:#991b1b;background:#fff;border:1px solid #f87171;border-radius:6px;cursor:pointer}.context-bar-status-refresh:hover{background:#fef2f2}.context-bar-section{margin-bottom:12px}.context-bar-section label{display:block;font-size:.8rem;color:#555;margin-bottom:6px}.context-bar-section select{width:100%;padding:8px 10px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.context-bar-hint{margin:8px 0 0;font-size:.75rem;color:#64748b}.context-bar-howto{margin-top:16px;padding-top:12px;border-top:1px solid #e5e7eb}.context-bar-howto h4,.context-bar-definitions summary{font-size:.8rem;font-weight:600;color:#374151;margin:0 0 6px}.context-bar-list{margin:0;padding-left:1.1rem;font-size:.75rem;line-height:1.45;color:#4b5563}.context-bar-list li{margin:.35em 0}.context-bar-toggles{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.context-bar-toggles h4{margin:0 0 8px;font-size:.8rem}.context-bar-toggle-row{display:flex;align-items:flex-start;gap:10px;margin:10px 0}.context-bar-toggle-switch{position:relative;display:inline-block;width:34px;min-width:34px;height:20px;margin-top:1px;cursor:pointer}.context-bar-toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#d1d5db;border-radius:10px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.context-bar-toggle-switch input:checked+.toggle-slider{background:#3b82f6}.context-bar-toggle-switch input:checked+.toggle-slider:before{transform:translate(14px)}.context-bar-toggle-info{display:flex;flex-direction:column;gap:1px}.context-bar-toggle-label{color:#374151;font-size:.78rem;font-weight:500;-webkit-user-select:none;user-select:none}.context-bar-toggle-desc{color:#9ca3af;font-size:.68rem;line-height:1.3}.context-bar-tools{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:.75rem}.context-bar-tools summary{cursor:pointer;list-style:none;font-size:.8rem;font-weight:600;color:#374151;margin-bottom:6px}.context-bar-tools summary::-webkit-details-marker{display:none}.context-bar-tools summary:before{content:"▸ ";margin-right:4px}.context-bar-tools[open] summary:before{content:"▾ "}.context-bar-tools-intro{margin:0 0 6px;color:#6b7280;font-size:.72rem}.context-bar-tools-list{margin:0;padding-left:1.1rem;line-height:1.4;color:#4b5563}.context-bar-tools-list li{margin:.4em 0}.context-bar-tools-list strong{font-weight:600;color:#374151}.tool-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tool-desc{margin-top:2px;color:#6b7280;font-size:.71rem;line-height:1.35}.tool-panel-link{padding:1px 6px;background:none;border:1px solid #c7d2fe;border-radius:4px;color:#6366f1;font-size:.68rem;cursor:pointer;white-space:nowrap;flex-shrink:0}.tool-panel-link:hover{background:#eef2ff}.context-bar-definitions{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb;font-size:.75rem}.context-bar-definitions summary{cursor:pointer;list-style:none;margin-bottom:6px}.context-bar-definitions summary::-webkit-details-marker{display:none}.context-bar-definitions summary:before{content:"▸ ";margin-right:4px}.context-bar-definitions[open] summary:before{content:"▾ "}.context-bar-def-block{margin-bottom:10px}.context-bar-def-block h5{font-size:.72rem;font-weight:600;color:#6b7280;margin:0 0 4px}.context-bar-dl{margin:0}.context-bar-dl div{margin:.25em 0}.context-bar-dl dt{display:inline;font-weight:600;color:#374151}.context-bar-dl dt:after{content:": "}.context-bar-dl dd{display:inline;margin:0;color:#4b5563}.context-bar-inline{margin:0;color:#4b5563}.app-intro{color:#555;margin:.5rem 0 0;max-width:48rem}.session-dashboard{margin-top:24px}.session-dashboard-error{color:#b91c1c;font-size:.875rem;margin:0 0 12px}.session-dashboard-loading,.session-dashboard-hint{color:#64748b;font-size:.9rem;margin:0 0 12px}.session-dashboard-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.session-dashboard-all-note{grid-column:1 / -1;color:#64748b;font-size:.9rem;margin:0}.chart-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;box-shadow:0 1px 2px #0000000a}.chart-card-wide{grid-column:1 / -1}@keyframes panel-flash{0%{border-color:#6366f1;box-shadow:0 0 0 3px #6366f159}60%{border-color:#6366f1;box-shadow:0 0 0 3px #6366f159}to{border-color:#e5e7eb;box-shadow:0 1px 2px #0000000a}}.chart-card.panel-highlighted{animation:panel-flash 1.8s ease-out forwards}.panel-hint-details{margin-bottom:.9rem}.panel-hint-details summary{font-size:.75rem;color:#6366f1;cursor:pointer;-webkit-user-select:none;user-select:none;width:fit-content}.panel-hint-details summary:hover{color:#4338ca}.panel-hint{font-size:.78rem;color:#6b7280;background:#f9fafb;border-left:3px solid #c7d2fe;border-radius:0 4px 4px 0;padding:.45rem .7rem;margin:.4rem 0 0;line-height:1.5}.panel-hint-sources{font-size:.72rem;color:#6b7280;background:#f9fafb;border-left:3px solid #c7d2fe;border-radius:0 4px 4px 0;padding:.35rem .7rem;margin:.25rem 0 0;line-height:1.5}.panel-hint-sources ul{margin:.2rem 0 0;padding-left:1.2em;list-style:disc}.panel-hint-sources li{margin:.15rem 0}.panel-hint-sources a{color:#6366f1;text-decoration:none}.panel-hint-sources a:hover{color:#4338ca;text-decoration:underline}.timeline-charts{display:flex;flex-direction:column;gap:20px}.timeline-charts .chart-wrap{border-bottom:1px solid #e5e7eb;padding-bottom:16px}.timeline-charts .chart-wrap:last-child{border-bottom:none;padding-bottom:0}.timeline-challenge-regulation-split{display:flex;flex-direction:column;gap:24px}.timeline-challenge-regulation-split .chart-wrap{border-bottom:1px solid #e5e7eb;padding-bottom:16px}.timeline-challenge-regulation-split .chart-wrap:last-child{border-bottom:none;padding-bottom:0}.challenges-regulation-counts-split{display:flex;flex-direction:column;gap:20px}.challenges-regulation-counts-split .chart-wrap{border-bottom:1px solid #e5e7eb;padding-bottom:16px}.challenges-regulation-counts-split .chart-wrap:last-child{border-bottom:none;padding-bottom:0}.chart-wrap h4{margin:0 0 12px;font-size:.95rem;font-weight:600;color:#374151}.chart-empty{margin:0;color:#64748b;font-size:.875rem}.chart-note{margin:6px 0 0;font-size:.75rem;color:#64748b}.nc-timeline-warning{margin:0 0 12px;padding:8px 12px;font-size:.8rem;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px}.chart-speaker-filter{font-size:.8rem;font-weight:400;color:#6366f1}.chart-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:8px 10px;font-size:.8rem;box-shadow:0 2px 8px #00000014}.chart-tooltip-label{font-weight:600;margin-bottom:4px}.app-layout .container{flex:1 1 auto;min-width:0;max-width:900px;margin:0;padding:0}.container{max-width:920px;margin:0 auto;padding:24px}.student-context{margin-bottom:16px;padding:12px;background:#fff;border:1px solid #ddd;border-radius:8px}.student-context .viewing-student{margin:0 0 12px;font-weight:600}.student-context .student-controls select{min-width:140px;margin-right:12px}.controls{display:flex;gap:8px;align-items:center;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:12px}.tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid #ddd}.tab{padding:10px 16px;border:none;background:transparent;cursor:pointer;font-size:1rem;border-bottom:3px solid transparent}.tab:hover{background:#f0f0f0}.tab.active{border-bottom-color:#3b82f6;font-weight:600}.tab-panel{margin-top:8px}.tab-panel.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.widget-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:16px;transition:box-shadow .2s}.widget-card.widget-highlight{box-shadow:0 0 0 3px #f59e0b}.widget-card h3{margin:0 0 8px;font-size:1rem}.widget-desc{font-size:.875rem;color:#666;margin:0 0 12px}.gauge-container{position:relative;margin:8px 0}.gauge-value{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;font-size:1.5rem;font-weight:600}.simulate-effort{margin-top:12px}.simulate-effort input[type=range]{width:100%;margin-right:8px}.quadrant-danger{border-color:#e11d48}.illusion-summary .nudge{color:#b91c1c;font-weight:500}.final-score{margin:0 0 8px;font-weight:600}.chat-panel{flex:0 0 340px;min-width:320px;background:#fff;border:1px solid #ddd;border-radius:8px;padding:16px;display:flex;flex-direction:column;max-height:calc(100vh - 48px);position:sticky;top:24px}.chat-panel h3{margin:0 0 8px;font-size:1rem}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.chat-panel-header h3{margin:0}.chat-model-toggle{font-size:.7rem;font-weight:600;padding:4px 10px;border-radius:999px;border:1px solid #c7d2fe;background:#eef2ff;color:#3730a3;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.chat-model-toggle:hover:not(:disabled){background:#e0e7ff;border-color:#818cf8}.chat-model-toggle.is-on{background:#4f46e5;border-color:#4338ca;color:#fff}.chat-model-toggle.is-on:hover:not(:disabled){background:#4338ca}.chat-model-toggle:disabled{opacity:.5;cursor:not-allowed}.chat-hint{font-size:.875rem;color:#666;margin:0 0 12px}.chat-session-badge{font-size:.8rem;color:#64748b;margin:0 0 10px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chat-suggestion-chip{padding:5px 10px;font-size:.75rem;border:1px solid #e5e7eb;border-radius:999px;background:#f8fafc;color:#374151;cursor:pointer;white-space:nowrap}.chat-suggestion-chip:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#1e40af}.chat-suggestion-chip:disabled{opacity:.6;cursor:not-allowed}.chat-suggestions-research{border-top:1px solid #e9d5ff;padding-top:6px;margin-top:2px;align-items:center}.chat-suggestions-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#7c3aed;-webkit-user-select:none;user-select:none;flex-shrink:0}.chat-suggestions-sources-note{font-size:.6rem;color:#6b7280;margin-left:auto;flex-shrink:0}.chat-suggestion-research{background:#faf5ff;border-color:#d8b4fe;color:#6b21a8}.chat-suggestion-research:hover:not(:disabled){background:#f3e8ff;border-color:#a855f7;color:#581c87}.chat-session-row{margin-bottom:12px}.chat-session-row label{display:block;font-size:.875rem;color:#555;margin-bottom:4px}.chat-session-row select{width:100%;padding:6px 10px;border:1px solid #ddd;border-radius:6px;font-size:.9rem}.chat-messages{min-height:80px;margin-bottom:12px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.chat-message{padding:8px 10px;border-radius:8px;font-size:.9rem}.chat-message.user{background:#eff6ff;margin-left:24px}.chat-message.system{background:transparent;text-align:center;font-size:.8rem;color:#64748b;padding:4px 12px;margin:4px auto;border:none;box-shadow:none}.chat-message.assistant{background:#f8fafc;margin-right:24px}.chat-message p{margin:0;white-space:pre-wrap;word-break:break-word}.chat-message-markdown{font-size:.9rem;line-height:1.5;word-break:break-word}.chat-message-markdown p{margin:0 0 .5em;white-space:pre-wrap}.chat-message-markdown p:last-child{margin-bottom:0}.chat-message-markdown h1,.chat-message-markdown h2,.chat-message-markdown h3{margin:.6em 0 .35em;font-size:1em;font-weight:600}.chat-message-markdown h1{font-size:1.05em}.chat-message-markdown ul,.chat-message-markdown ol{margin:.35em 0;padding-left:1.25em}.chat-message-markdown li{margin:.2em 0}.chat-message-markdown code{background:#e5e7eb;padding:.15em .35em;border-radius:4px;font-size:.88em}.chat-message-markdown pre{margin:.5em 0;padding:.6em;background:#e5e7eb;border-radius:6px;overflow-x:auto;font-size:.85em}.chat-message-markdown pre code{background:none;padding:0}.chat-message-markdown strong{font-weight:600}.chat-message-markdown a{color:#2563eb;text-decoration:none}.chat-message-markdown a:hover{text-decoration:underline}.chat-message-markdown .chat-dashboard-link{background:none;border:none;padding:0;font:inherit;color:#2563eb;text-decoration:none;cursor:pointer}.chat-message-markdown .chat-dashboard-link:hover{text-decoration:underline}.chat-loading{color:#64748b;font-style:italic;margin:0 0 4px}.chat-tool-progress{display:flex;flex-direction:column;gap:4px}.chat-tool-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.chat-tool-chip{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:#475569;background:#f1f5f9;border-radius:4px;padding:2px 8px;animation:chat-tool-fade-in .2s ease}.chat-tool-dot{width:6px;height:6px;border-radius:50%;background:#3b82f6;animation:chat-tool-pulse 1s ease-in-out infinite}@keyframes chat-tool-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes chat-tool-pulse{0%,to{opacity:.4}50%{opacity:1}}.chat-steps{margin-bottom:8px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;font-size:.8rem}.chat-steps-summary{cursor:pointer;padding:6px 10px;font-size:.75rem;font-weight:600;color:#64748b;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.chat-steps-summary:before{content:"▶";font-size:.6rem;transition:transform .15s ease}.chat-steps[open]>.chat-steps-summary:before{transform:rotate(90deg)}.chat-steps-summary::-webkit-details-marker{display:none}.chat-steps-body{padding:4px 10px 8px;color:#475569;border-top:1px solid #e2e8f0}.chat-steps-body p{margin:4px 0}.chat-steps-body ol{margin:0;padding-left:1.2em}.chat-detail-fold{margin:4px 0 8px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;font-size:.82rem}.chat-detail-fold summary{cursor:pointer;padding:4px 10px;font-size:.75rem;font-weight:600;color:#64748b;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:4px}.chat-detail-fold summary:before{content:"▶";font-size:.6rem;transition:transform .15s ease}.chat-detail-fold[open]>summary:before{transform:rotate(90deg)}.chat-detail-fold summary::-webkit-details-marker{display:none}.chat-detail-fold ul{margin:0;padding:4px 10px 8px 24px;border-top:1px solid #e2e8f0;color:#475569}.chat-detail-fold li{margin:2px 0}.chat-highlight{font-size:.8rem;color:#b45309}.chat-placeholder{font-size:.875rem;color:#999;margin:0}.chat-error{color:#b91c1c;font-size:.875rem;margin:0 0 8px}.chat-input-row{display:flex;gap:8px}.chat-input-row input{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px}.chat-input-row button{padding:8px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer}.chat-input-row button:disabled{opacity:.6;cursor:not-allowed}.chat-reset-btn{background:#dc2626;color:#fff;border:none;font-size:.65rem;padding:2px 8px;border-radius:3px;cursor:pointer;font-weight:600;margin-left:6px;vertical-align:middle}.chat-reset-btn:hover:not(:disabled){background:#b91c1c}.chat-reset-btn:disabled{opacity:.4;cursor:not-allowed}.chat-api-budget{margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}.chat-api-budget-label{display:flex;justify-content:space-between;font-size:.75rem;color:#6b7280;margin-bottom:4px}.chat-api-budget-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.chat-api-budget-fill{height:100%;background:#3b82f6;border-radius:3px;transition:width .2s ease}.chat-api-budget-fill.over-budget{background:#b91c1c}.chat-research-notice{margin:10px 0 0;font-size:.7rem;color:#9ca3af;text-align:center;line-height:1.4}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000}.onboarding-modal{background:#fff;border-radius:12px;padding:2rem 2.2rem 2.2rem;max-width:640px;width:90%;box-shadow:0 8px 32px #0000002e}.onboarding-modal h2{font-size:1.2rem;font-weight:700;margin:0 0 .4rem;color:#111827}.onboarding-subtitle{font-size:.85rem;color:#6b7280;margin:0 0 1.4rem}.onboarding-cards{display:flex;flex-direction:column;gap:.75rem}.onboarding-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.9rem 1.1rem;border:1.5px solid #e5e7eb;border-radius:8px;background:#f9fafb;cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.onboarding-card:hover{border-color:#6366f1;background:#eef2ff}.onboarding-card-label{font-size:.95rem;font-weight:700;color:#1f2937}.onboarding-card-tagline{font-size:.8rem;color:#6b7280}.onboarding-card-detail{font-size:.78rem;color:#9ca3af;margin-top:.1rem}.memory-dialog-trigger{padding:0;background:none;border:none;cursor:pointer;font-size:.8rem;font-weight:600;color:#374151;text-align:left}.memory-dialog-trigger:before{content:"▸ ";margin-right:4px}.memory-dialog-trigger:hover{color:#4f46e5}.memory-dialog-body{max-height:50vh;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;padding:12px 16px;margin:0 0 1.2rem}.memory-dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.docs-panel{margin-top:8px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:28px 36px;box-shadow:0 1px 2px #0000000a;font-size:.925rem;line-height:1.65;color:#1f2937;max-width:820px}.docs-panel h1{font-size:1.5rem;font-weight:700;margin:0 0 .6em;color:#111827}.docs-panel h2{font-size:1.15rem;font-weight:700;margin:1.8em 0 .5em;padding-bottom:4px;border-bottom:2px solid #e5e7eb;color:#111827}.docs-panel h3{font-size:1rem;font-weight:600;margin:1.4em 0 .4em;color:#374151}.docs-panel p{margin:0 0 .8em}.docs-panel ul,.docs-panel ol{margin:.4em 0 .8em;padding-left:1.5em}.docs-panel li{margin:.3em 0}.docs-panel table{width:100%;border-collapse:collapse;margin:.8em 0 1.2em;font-size:.875rem}.docs-panel th,.docs-panel td{text-align:left;padding:7px 12px;border:1px solid #e5e7eb}.docs-panel th{background:#f8fafc;font-weight:600;color:#374151}.docs-panel tr:nth-child(2n) td{background:#fafafa}.docs-panel code{background:#f1f5f9;padding:.15em .4em;border-radius:4px;font-size:.85em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:#1e293b}.docs-panel pre{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:14px 18px;overflow-x:auto;margin:.8em 0 1.2em;font-size:.82rem;line-height:1.55}.docs-panel pre code{background:none;padding:0;font-size:inherit;color:inherit}.docs-panel a{color:#2563eb;text-decoration:none}.docs-panel a:hover{text-decoration:underline}.docs-panel hr{border:none;border-top:1px solid #e5e7eb;margin:1.8em 0}.docs-panel strong{font-weight:600}.mermaid-diagram{margin:1.5em 0;overflow-x:auto;text-align:center}.mermaid-diagram svg{max-width:100%;height:auto}.artefact-panel{margin-top:8px}.artefact-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:8px;padding:24px;color:#475569;font-size:.9rem;line-height:1.5}.artefact-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.artefact-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:.85rem;color:#374151}.artefact-chip:hover{background:#f8fafc}.artefact-chip.active{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6;font-weight:600}.artefact-chip-time{color:#6b7280;font-weight:400}.artefact-chip-edited{font-size:.7rem;font-weight:600;color:#b45309;background:#fef3c7;padding:1px 6px;border-radius:999px}.artefact-doc{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.artefact-doc-header{border-bottom:1px solid #eee;padding-bottom:14px;margin-bottom:8px}.artefact-doc-title{margin:0 0 4px;font-size:1.1rem;color:#111827}.artefact-doc-meta{margin:0 0 12px;font-size:.78rem;color:#6b7280}.artefact-doc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.artefact-toggle{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#475569;cursor:pointer}.artefact-btn{padding:6px 12px;background:#3b82f6;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.82rem}.artefact-btn:hover{background:#2563eb}.artefact-btn-danger{background:#fff;color:#b91c1c;border:1px solid #fca5a5}.artefact-btn-danger:hover{background:#fef2f2}.artefact-md{margin-top:16px;font-size:.92rem;line-height:1.6;color:#1f2937}.artefact-md h1,.artefact-md h2,.artefact-md h3,.artefact-md h4{color:#1d4ed8;margin:1.2em 0 .5em;line-height:1.3}.artefact-md h1{font-size:1.15rem}.artefact-md h2{font-size:1.05rem}.artefact-md h3,.artefact-md h4{font-size:.98rem}.artefact-md>:first-child{margin-top:0}.artefact-md p{margin:.6em 0}.artefact-md ul,.artefact-md ol{margin:.6em 0;padding-left:1.4em}.artefact-md li{margin:.25em 0}.artefact-md a{color:#2563eb}.artefact-md strong{font-weight:600}.artefact-md table{border-collapse:collapse;margin:.8em 0}.artefact-md th,.artefact-md td{border:1px solid #e5e7eb;padding:6px 10px;text-align:left}.artefact-editor{width:100%;box-sizing:border-box;margin-top:16px;min-height:320px;padding:14px 16px;border:1px solid #d1d5db;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.6;color:#1f2937;resize:vertical;overflow:hidden}.artefact-editor:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.artefact-doc-footer{margin:20px 0 0;padding-top:12px;border-top:1px solid #eee;font-size:.75rem;color:#9ca3af;line-height:1.5}.teacher-poll-card{margin:4px 24px 8px 0;padding:12px 14px;border:1px solid #c7d2fe;border-left:3px solid #6366f1;border-radius:8px;background:#eef2ff;font-size:.85rem}.teacher-poll-header{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.teacher-poll-badge{align-self:flex-start;font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#4338ca;background:#e0e7ff;padding:2px 8px;border-radius:4px}.teacher-poll-reason{margin:0;color:#1e293b;font-style:italic}.teacher-poll-questions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.teacher-poll-question{padding:8px 10px;background:#fff;border:1px solid #e0e7ff;border-radius:6px}.teacher-poll-q-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:8px}.teacher-poll-q-chip{font-size:.7rem;font-weight:600;color:#4338ca;background:#e0e7ff;padding:2px 6px;border-radius:4px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-poll-q-text{font-weight:600;color:#1e293b}.teacher-poll-q-hint{font-size:.7rem;color:#64748b}.teacher-poll-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.teacher-poll-option{display:flex;flex-direction:column;gap:4px}.teacher-poll-option-label{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;line-height:1.4}.teacher-poll-option-label:hover{background:#f5f3ff}.teacher-poll-option-label.is-checked{background:#ede9fe}.teacher-poll-option-label input{margin-top:3px;flex-shrink:0}.teacher-poll-option-text{flex:1;color:#1e293b}.teacher-poll-option-desc{color:#475569;font-weight:400}.teacher-poll-option-other{margin-top:2px;padding-top:4px;border-top:1px dashed #e2e8f0}.teacher-poll-other-text{margin:4px 8px 4px 30px;padding:6px 8px;font-size:.85rem;font-family:inherit;border:1px solid #c7d2fe;border-radius:4px;resize:vertical;min-height:40px}.teacher-poll-other-text:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.teacher-poll-actions{display:flex;gap:8px;margin-top:12px}.teacher-poll-submit,.teacher-poll-cancel{padding:6px 14px;font-size:.8rem;font-weight:600;border-radius:4px;cursor:pointer;border:1px solid transparent}.teacher-poll-submit{background:#4f46e5;color:#fff}.teacher-poll-submit:hover:not(:disabled){background:#4338ca}.teacher-poll-submit:disabled{background:#c7d2fe;cursor:not-allowed}.teacher-poll-cancel{background:transparent;color:#4338ca;border-color:#c7d2fe}.teacher-poll-cancel:hover:not(:disabled){background:#e0e7ff}.teacher-poll-cancel:disabled{opacity:.5;cursor:not-allowed}.deliberation-card{margin:4px 24px 8px 0;padding:12px 14px;border:1px solid #fcd9a8;border-left:3px solid #d97706;border-radius:8px;background:#fffbeb;font-size:.85rem}.deliberation-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.deliberation-badge{font-size:.7rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#92400e;background:#fde68a;padding:2px 8px;border-radius:4px}.deliberation-trigger-chip{font-size:.68rem;font-weight:600;color:#b45309;background:#fef3c7;border:1px solid #fcd9a8;padding:1px 7px;border-radius:10px}.deliberation-reason{margin:0 0 10px;color:#1e293b;font-style:italic}.deliberation-options{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.deliberation-option-label{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid #fcd9a8;border-radius:6px;background:#fff;cursor:pointer}.deliberation-option-label:hover{border-color:#f59e0b}.deliberation-option-label.is-checked{border-color:#d97706;background:#fff7ed}.deliberation-option-label input{margin-top:3px}.deliberation-option-text{display:flex;flex-direction:column;gap:3px}.deliberation-option-top{display:flex;align-items:center;gap:6px}.deliberation-element-chip{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:#64748b;background:#f1f5f9;padding:1px 6px;border-radius:4px}.deliberation-faithful-chip{font-size:.65rem;font-weight:700;color:#166534;background:#dcfce7;border:1px solid #bbf7d0;padding:1px 6px;border-radius:4px}.deliberation-resolution{color:#0f172a}.deliberation-defence{color:#475569;font-size:.8rem}.deliberation-note{width:100%;box-sizing:border-box;margin-bottom:10px;padding:6px 8px;border:1px solid #fcd9a8;border-radius:6px;font:inherit;font-size:.8rem;resize:vertical}.deliberation-actions{display:flex;gap:8px}.deliberation-submit,.deliberation-cancel{padding:6px 14px;font-size:.8rem;font-weight:600;border-radius:4px;cursor:pointer;border:1px solid transparent}.deliberation-submit{background:#d97706;color:#fff}.deliberation-submit:hover:not(:disabled){background:#b45309}.deliberation-submit:disabled{background:#fcd9a8;cursor:not-allowed}.deliberation-cancel{background:transparent;color:#b45309;border-color:#fcd9a8}.deliberation-cancel:hover:not(:disabled){background:#fef3c7}.deliberation-cancel:disabled{opacity:.5;cursor:not-allowed}
