:root{--bg: #0f172a;--bg-panel: #1e293b;--bg-panel-2: #334155;--border: #475569;--text: #f1f5f9;--text-muted: #94a3b8;--accent: #f59e0b;--accent-2: #22d3ee;--success: #4ade80;--danger: #f87171;--radius: 12px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:Segoe UI,Tahoma,Vazirmatn,Noto Naskh Arabic,sans-serif;line-height:1.7}.page{max-width:1280px;margin:0 auto;padding:16px}.loading{text-align:center;color:var(--text-muted);padding:64px 0}.workspace-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.workspace-heading h1{margin:0 0 4px;font-size:1.35rem}.scenario-title{margin:0;color:var(--text-muted)}.control-progress{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:8px 16px}.control-progress-label{color:var(--text-muted);font-size:.9rem}.mission-objective{color:var(--text-muted);font-size:.9rem;margin:6px 0 0;max-width:520px}.hud{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.hud-item{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:6px 12px;display:flex;flex-direction:column;min-width:84px}.hud-label{font-size:.72rem;color:var(--text-muted)}.hud-value{color:var(--accent);font-size:1.05rem}.hud-xp-bar{margin-top:6px;height:5px;border-radius:999px;background:var(--bg-panel-2);overflow:hidden}.hud-xp-fill{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .4s ease}.hud-badges{display:flex;gap:6px;flex-wrap:wrap}.hud-badge{background:var(--bg-panel-2);border:1px solid var(--accent-2);color:var(--accent-2);border-radius:999px;padding:2px 10px;font-size:.72rem;display:inline-flex;align-items:center;gap:5px}.hud-badge-glyph{font-size:.85rem}.hud-badge-empty{font-size:.72rem;color:var(--text-muted)}.workspace-body{display:grid;grid-template-columns:260px 1fr;gap:16px;align-items:start}.workspace-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:16px}.mission-map,.context-panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.mission-map-title,.context-title{margin:0 0 10px;font-size:.95rem}.mission-map-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.mission-node{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--border);border-radius:10px;padding:6px 10px;opacity:.55;margin-bottom:10px}.mission-node:not(:last-child):after{content:"";position:absolute;top:100%;right:18px;width:2px;height:10px;background:var(--border)}.mission-node.is-done{opacity:.85}.mission-node.is-done:before{content:"✓";color:var(--success);font-weight:700;flex:none}.mission-node.is-active{opacity:1;border-color:var(--accent);background:#f59e0b1f}.mission-node-index{background:var(--bg-panel-2);border-radius:999px;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;flex:none}.mission-node.is-active .mission-node-index{background:var(--accent);color:#111}.mission-node-body{display:flex;flex-direction:column;min-width:0}.mission-node-title{font-size:.85rem}.mission-node-objective{font-size:.72rem;color:var(--text-muted);margin-top:2px}.context-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.context-entry{border:1px solid var(--border);border-radius:10px;padding:8px 10px}.context-entry-head{display:flex;justify-content:space-between;gap:6px;font-size:.8rem;margin-bottom:4px}.context-dim{color:var(--accent-2);font-size:.7rem}.context-response{margin:0;white-space:pre-wrap;font-size:.78rem;color:var(--text-muted);background:var(--bg-panel-2);border-radius:8px;padding:6px 8px}.task-card,.completion-panel,.error-state{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.task-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.task-head h2{margin:0}.task-code{font-size:.72rem;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.task-instructions{color:var(--text)}.signal-bank h3,.response-form h3{font-size:.95rem;margin:14px 0 8px}.signal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.signal-item{display:flex;gap:10px;align-items:baseline;border:1px solid var(--border);border-radius:10px;padding:8px 12px}.signal-kind{font-size:.68rem;color:var(--accent-2);border:1px solid var(--accent-2);border-radius:999px;padding:1px 8px;flex:none}.signal-text{font-size:.9rem}.signal-bank.interactive .signal-item{padding:0;border:none;background:var(--bg-panel-2)}.signal-hint{font-size:.8rem;color:var(--text-muted);margin:4px 0 10px}.signal-card{display:flex;gap:10px;align-items:baseline;width:100%;text-align:start;background:var(--bg-panel);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;cursor:pointer}.signal-card:hover,.signal-card:focus-visible{border-color:var(--accent-2);outline:2px solid var(--accent-2);outline-offset:1px}.signal-card.is-selected{border-color:var(--accent);background:var(--bg-panel-2)}.field-control{display:block;margin:12px 0}.field-label{display:block;margin-bottom:4px;font-size:.9rem}.required-mark{color:var(--danger);margin-inline-start:4px}.field-input{width:100%;background:var(--bg-panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit}.field-input:focus-visible{outline:2px solid var(--accent-2);outline-offset:1px}textarea.field-input{min-height:120px;resize:vertical}.feedback{background:#4ade801a;border:1px solid var(--success);border-radius:10px;padding:10px 12px;margin:12px 0}.feedback p{margin:2px 0}.local-error{color:var(--danger)}.primary-button{display:inline-block;background:var(--accent);color:#111;border:0;border-radius:10px;padding:10px 18px;font:inherit;font-weight:700;cursor:pointer;margin-top:8px}.primary-button:disabled{opacity:.6;cursor:not-allowed}.secondary-button{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 16px;font:inherit;cursor:pointer}.primary-button:focus-visible,.secondary-button:focus-visible,.home-link:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.home-link{text-decoration:none;text-align:center}.completion-panel .primary-button{margin-top:16px}.error-state h2{margin-top:0}.request-id{color:var(--text-muted);font-size:.78rem}@media (max-width: 900px){.workspace-body{grid-template-columns:1fr}.workspace-side{position:static}.mission-map-list{flex-direction:row;flex-wrap:wrap;gap:8px}.mission-node{flex:1 1 calc(50% - 6px);min-width:0}.mission-node:not(:last-child):after{display:none}}@media (max-width: 560px){.mission-node{flex:1 1 100%}.hud,.workspace-top{align-items:stretch}.hud-item{flex:1 1 40%}}.flow-stage{max-width:720px;margin:0 auto}.flow-text,.flow-form,.flow-blocked{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-top:16px}.flow-text h1,.flow-form h1{margin:0 0 8px}.flow-body{color:var(--text);line-height:1.9}.flow-order{padding-inline-start:20px;line-height:1.9}.flow-note{color:var(--text-muted);font-size:.85rem;margin-top:12px}.flow-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.flow-consent .flow-body{max-height:260px;overflow:auto;border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--bg-panel-2)}.flow-response{margin-top:4px}.answer-fields{display:flex;flex-direction:column;gap:14px;margin-top:16px}.flow-boolean{display:flex;align-items:flex-start;gap:10px}.flow-boolean input{margin-top:4px}.required-mark{color:var(--danger, #c62828);padding-inline-start:2px}.flow-blocked{border-color:var(--danger, #c62828)}.flow-blocked ul{line-height:1.8}.local-error{margin-top:12px}.completion-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.console-panel{max-width:1100px;margin:0 auto;padding:24px}.console-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.console-header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.console-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}.landing{max-width:720px;margin:0 auto;padding:48px 20px}.landing-hero h1{font-size:1.6rem;margin:0 0 12px}.landing-sub{margin:0 0 24px;color:var(--muted, #555)}.landing-participant-note{margin-top:32px;padding:20px;border:1px solid rgba(128,128,128,.3);border-radius:10px;background:#8080800d}.landing-participant-note h2{font-size:1.05rem;margin:0 0 10px}.auth-panel{max-width:460px;margin:40px auto;padding:28px;border:1px solid rgba(128,128,128,.3);border-radius:12px}.auth-panel h1{margin:0 0 8px;font-size:1.35rem}.auth-panel form{display:flex;flex-direction:column;gap:14px;margin-top:16px}.auth-panel label,.auth-subpanel label{display:flex;flex-direction:column;gap:6px;font-weight:600}.auth-panel input,.auth-subpanel input,.auth-subpanel textarea{padding:9px 12px;border:1px solid rgba(128,128,128,.45);border-radius:8px;background:var(--bg-panel-2);color:var(--text);caret-color:var(--text);font:inherit}.auth-panel input::placeholder,.auth-subpanel input::placeholder,.auth-subpanel textarea::placeholder{color:var(--text-muted)}.auth-panel input:-webkit-autofill,.auth-panel input:-webkit-autofill:hover,.auth-panel input:-webkit-autofill:focus,.auth-subpanel input:-webkit-autofill,.auth-subpanel input:-webkit-autofill:hover,.auth-subpanel input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--bg-panel-2) inset;box-shadow:0 0 0 1000px var(--bg-panel-2) inset;transition:background-color 600000s 0s}.auth-subpanel{padding:18px;border:1px solid rgba(128,128,128,.3);border-radius:10px;margin-top:16px}.auth-subpanel h3{margin:0 0 12px}.console-section{margin-top:20px}.console-list{list-style:none;margin:0;padding:0}.console-row{width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;margin-bottom:8px;text-align:right;cursor:pointer;border:1px solid rgba(128,128,128,.3);border-radius:8px;background:transparent;color:inherit}.console-row:hover{border-color:var(--accent, #1565c0)}.console-row-title{font-weight:600}.console-badge{font-size:.78rem;border:1px solid rgba(128,128,128,.4);border-radius:999px;padding:2px 10px;white-space:nowrap}.readiness-READY,.readiness-LOCKED,.readiness-PASS,.readiness-OK{border-color:#2e7d32;color:#2e7d32}.readiness-MISSING,.readiness-NOT_LOCKED,.readiness-NOT_VERIFIED,.readiness-DECISION_REQUIRED,.readiness-NOT_ACTIVATED,.readiness-VALIDATION_REQUIRED,.readiness-PILOT_REQUIRED,.readiness-MARKED_PENDING,.readiness-FAIL,.readiness-INVALID{border-color:#b26a00;color:#b26a00}.console-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.console-warning{color:#b26a00}.console-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 18px;margin:12px 0}.console-summary div{border:1px solid rgba(128,128,128,.3);border-radius:8px;padding:8px 12px}.console-summary dt{font-size:.78rem;color:var(--text-muted, #555)}.console-summary dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}.console-table{width:100%;border-collapse:collapse;margin-top:12px}.console-table th,.console-table td{border:1px solid rgba(128,128,128,.3);padding:6px 10px;text-align:right;font-size:.9rem}.console-report ul{margin:8px 0;padding-right:20px;line-height:1.8}.console-error{color:#c62828}.console-ok{color:#2e7d32}.console-notice{padding:10px 12px;border-radius:8px;border:1px solid}.console-notice.error{border-color:#c62828;color:#c62828}.console-notice.success{border-color:#2e7d32;color:#2e7d32}.muted{color:var(--text-muted, #555)}.console-panel input[type=password]{display:block;width:100%;max-width:420px;margin:8px 0 12px;padding:8px 10px;border:1px solid rgba(128,128,128,.4);border-radius:6px;font-size:1rem}.console-panel input,.console-panel select,.console-panel textarea{background:var(--bg-panel-2);color:var(--text);caret-color:var(--text);font:inherit}.console-panel input::placeholder,.console-panel textarea::placeholder{color:var(--text-muted)}.console-link-actions{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.console-link-text{font-family:monospace;font-size:.78rem;direction:ltr;unicode-bidi:embed;overflow-wrap:anywhere}.console-link-note{font-size:.78rem;color:var(--text-muted, #555);margin-top:6px}.console-copied{color:#2e7d32;font-size:.78rem}
