:root{--ink: #0a0f1e;--panel: #111827;--panel-hover: #1a2438;--line: #1f2d45;--line-active: #3b6ea8;--text: #e6eaf2;--muted: #7a869a;--steel: #3b6ea8;--approve: #3a9e72;--escalate: #c49a2a;--reject: #b54a44;--audit: #2a5a8a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--ink);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit}.mono{font-family:IBM Plex Mono,monospace}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.app{max-width:960px;width:100%;margin:0 auto;padding:48px 24px 80px;flex:1;display:flex;flex-direction:column}.header{text-align:center;margin-bottom:40px}.header h1{font-size:28px;font-weight:600;margin:0 0 8px}.header p{font-size:16px;color:var(--muted);margin:0}.input-stage{display:flex;flex-direction:column;align-items:center;gap:24px;transition:opacity .2s ease}.input-stage.fading{opacity:0}.input-textarea{width:100%;min-height:160px;resize:vertical;background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);font-family:Inter,sans-serif;font-size:16px;font-weight:400;padding:16px;line-height:1.5}.input-textarea::placeholder{color:var(--muted)}.input-textarea:focus{outline:none;border-color:var(--steel)}.chip-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;width:100%}.chip{background:var(--panel);border:1px solid var(--line);border-radius:999px;color:var(--text);font-size:13px;padding:8px 16px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.chip:hover{border-color:var(--line-active);background:var(--panel-hover)}.submit-btn{background:var(--steel);border:none;border-radius:8px;color:var(--text);font-size:15px;font-weight:600;padding:14px 28px;cursor:pointer;transition:opacity .15s ease}.submit-btn:hover{opacity:.9}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.input-summary{display:flex;align-items:center;gap:16px;margin-bottom:32px}.input-summary-text{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:14px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-btn{background:transparent;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:13px;padding:10px 16px;cursor:pointer;white-space:nowrap}.edit-btn:hover{border-color:var(--line-active);background:var(--panel-hover)}.flow-stage{opacity:0;animation:fadeIn .3s ease forwards}@keyframes fadeIn{to{opacity:1}}@media (prefers-reduced-motion: reduce){.input-stage,.flow-stage,.anim-evidence,.anim-fade,.anim-verdict,.policy-rule{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}}.node{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;min-width:200px;cursor:pointer;position:relative;z-index:1;transition:border-color .15s ease,background .15s ease}.anim-evidence,.anim-fade,.anim-verdict{opacity:0}.anim-evidence{transform:translateY(-16px);transition:opacity .3s ease,transform .3s ease,border-color .15s ease,background .15s ease}.anim-fade{transition:opacity .25s ease,border-color .15s ease,background .15s ease}.anim-verdict{transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,border-color .15s ease,background .15s ease}.anim-evidence.in,.anim-fade.in,.anim-verdict.in{opacity:1;transform:none}.node:hover{border-color:var(--line-active);background:var(--panel-hover)}.node-title{font-size:14px;font-weight:600;color:var(--text);margin-top:4px}.node-sub{font-size:12px;color:var(--muted);margin-top:4px}.node.expanded{border-left:2px solid var(--steel)}.policy-node{min-width:280px}.policy-rules{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.policy-rule{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--muted);opacity:0;transform:translate(-6px);transition:opacity .25s ease,transform .25s ease}.policy-rule.in{opacity:1;transform:none}.rule-tick{color:var(--steel);flex-shrink:0}.rule-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.policy-rules.expanded .rule-text{white-space:normal}.tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);background:var(--panel-hover);border:1px solid var(--line-active);border-radius:6px;padding:8px 12px;font-size:12px;color:var(--text);width:max-content;max-width:240px;line-height:1.4;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease;z-index:10}.node:hover .tooltip{opacity:1;visibility:visible}.node.expanded .tooltip{display:none}.node-expand{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.field-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.field-row{display:flex;justify-content:space-between;gap:12px;font-size:12px}.field-status{color:var(--steel)}.expand-line{font-size:12px;color:var(--muted);line-height:1.4}.expand-line.mono{color:var(--text)}.node-note{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);font-style:italic}.audit-log-line{display:flex;gap:10px;font-size:11px;flex-wrap:wrap}.audit-log-time{color:var(--muted)}.audit-log-event{color:var(--steel)}.audit-log-detail{color:var(--text)}.verdict-column{display:flex;flex-direction:column;align-items:center}.verdict-node{min-width:140px;text-align:center}.verdict-detail{margin-top:12px;width:220px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:12px;color:var(--muted);line-height:1.4}.verdict-detail.verdict-approve{border-color:var(--approve)}.verdict-detail.verdict-escalate{border-color:var(--escalate)}.verdict-detail.verdict-reject{border-color:var(--reject)}.verdict-node .node-title{font-size:14px;font-weight:600;letter-spacing:.02em}.verdict-approve.node.expanded,.verdict-approve:hover{border-color:var(--approve)}.verdict-escalate.node.expanded,.verdict-escalate:hover{border-color:var(--escalate)}.verdict-reject.node.expanded,.verdict-reject:hover{border-color:var(--reject)}.verdict-approve .node-title{color:var(--approve)}.verdict-escalate .node-title{color:var(--escalate)}.verdict-reject .node-title{color:var(--reject)}.audit-node.node.expanded{border-left-color:var(--audit)}.flow-canvas{display:flex;flex-direction:column;align-items:center;gap:40px;position:relative}.connector-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:0}.flow-row{display:flex;justify-content:center;align-items:flex-start;gap:24px;width:100%;position:relative;z-index:1}.flow-row-verdicts{gap:32px}.stats-row{display:flex;justify-content:center;gap:48px;margin-top:48px;padding-top:32px;border-top:1px solid var(--line);opacity:0;transition:opacity .3s ease}.stats-row.in{opacity:1}.stat{text-align:center}.stat-value{font-size:20px;font-weight:500;color:var(--text)}.stat-label{margin-top:4px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.cta-link{display:block;margin:32px auto 0;width:fit-content;text-align:center;color:var(--text);background:var(--panel);border:1px solid var(--line-active);border-radius:8px;padding:14px 24px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s ease,border-color .15s ease}.cta-link:hover{background:var(--panel-hover);border-color:var(--steel)}.site-footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);text-align:center;line-height:1.5}@media (prefers-reduced-motion: reduce){.stats-row{transition:none!important}}@media (max-width: 768px){.app{padding:32px 16px 60px}.header h1{font-size:22px}.input-textarea{min-height:120px}.input-summary{flex-direction:column;align-items:stretch}.input-summary-text{white-space:normal}.flow-row{flex-direction:column;align-items:stretch;gap:16px}.flow-row-verdicts{gap:16px}.node{min-width:0;width:100%}.verdict-column{width:100%;align-items:stretch}.verdict-detail{width:100%}.tooltip{top:calc(100% + 10px);bottom:auto}.stats-row{flex-wrap:wrap;row-gap:20px}.stat{flex:1 1 40%}}
