:root{color-scheme:dark;--bg:#05080c;--panel:rgba(12,18,25,.88);--panel2:#101820;--line:#24313a;--muted:#82919a;--text:#edf7f4;--mint:#76f6d0;--cyan:#51cfea;--amber:#ffcc66;--red:#ff6e78;--shadow:0 24px 70px rgba(0,0,0,.38)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",system-ui,sans-serif}body{overflow-x:hidden}.ambient{position:fixed;pointer-events:none;filter:blur(90px);opacity:.13;border-radius:50%}.ambient-a{width:520px;height:520px;background:#1bbf98;top:-260px;left:20%}.ambient-b{width:440px;height:440px;background:#08799a;right:-220px;bottom:-220px}
.topbar{height:72px;border-bottom:1px solid #1c2830;background:rgba(5,8,12,.92);backdrop-filter:blur(18px);display:flex;align-items:center;padding:0 28px;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.brand>span:last-child{display:grid;line-height:1}.brand b{font-size:18px;letter-spacing:.18em}.brand small{font-size:9px;letter-spacing:.42em;color:var(--mint);margin-top:5px}.brand-mark{width:38px;height:38px;border:1px solid #3f5c63;transform:rotate(30deg);border-radius:10px;display:grid;place-items:center;position:relative}.brand-mark:before,.brand-mark:after,.brand-mark i{content:"";position:absolute;background:var(--mint);box-shadow:0 0 12px rgba(118,246,208,.45)}.brand-mark:before{width:18px;height:1px}.brand-mark:after{width:1px;height:18px}.brand-mark i{width:4px;height:4px;border-radius:50%}.brand-mark i:nth-child(1){transform:translate(-9px,0)}.brand-mark i:nth-child(2){transform:translate(9px,0)}.brand-mark i:nth-child(3){transform:translate(0,-9px)}.environment{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.1em}.environment em{font-style:normal;color:#71818a;border-left:1px solid #2a3840;padding-left:12px;margin-left:5px}.pulse{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px currentColor}.environment.connected .pulse{background:var(--mint)}.version{margin-left:28px;font:10px ui-monospace,monospace;color:#78919a}
.shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 72px)}.sidebar{padding:38px 28px;border-right:1px solid #1c2830;background:linear-gradient(180deg,rgba(11,17,22,.72),rgba(5,8,12,.3));position:relative}.eyebrow{font-size:9px;letter-spacing:.24em;color:var(--mint);font-weight:700}.sidebar h1{font-size:28px;line-height:1.1;margin:13px 0 12px;letter-spacing:-.035em}.sidebar>p{font-size:13px;line-height:1.6;color:#a1b0b7;margin:0 0 30px}.project-meta{display:grid;gap:0;border-top:1px solid var(--line)}.project-meta div{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:5px}.project-meta span{font-size:9px;letter-spacing:.14em;color:#70818b}.project-meta b{font-size:11px;letter-spacing:.05em;color:#d9e6e2;word-break:break-word}.boundary-note{position:absolute;left:28px;right:28px;bottom:30px;padding:16px;border:1px solid #24423f;background:rgba(23,59,53,.22);border-radius:12px}.boundary-note span{font:700 9px ui-monospace,monospace;color:var(--mint);letter-spacing:.15em}.boundary-note p{margin:8px 0 0;color:#91a9a4;font-size:11px;line-height:1.5}
.workspace{padding:26px 30px 44px;min-width:0}.journey{display:flex;align-items:center;margin-bottom:22px}.journey .stage{display:flex;align-items:center;gap:8px;color:#657680}.journey .stage span{font:9px ui-monospace,monospace;border:1px solid #304049;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}.journey .stage b{font-size:9px;letter-spacing:.13em}.journey .stage.active{color:var(--mint)}.journey>i{height:1px;flex:1;max-width:74px;background:#25333b;margin:0 10px}.workspace-grid{display:grid;grid-template-columns:minmax(440px,1.35fr) minmax(310px,.65fr);gap:18px}.panel{border:1px solid #202d35;background:linear-gradient(145deg,rgba(15,22,29,.96),rgba(8,13,18,.94));border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.panel-head{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #202d35}.panel-head h2{font-size:15px;margin:6px 0 0;letter-spacing:.01em}.truth-chip{font:9px ui-monospace,monospace;color:#84979f;border:1px solid #2c3c44;border-radius:999px;padding:7px 10px}.system-panel{min-height:460px}.graph{height:380px;position:relative;overflow:hidden;background-image:linear-gradient(rgba(80,112,120,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(80,112,120,.055) 1px,transparent 1px);background-size:28px 28px}.graph:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(45,163,139,.09),transparent 50%);pointer-events:none}.graph svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.graph line{stroke:#3e7777;stroke-width:1.5;stroke-dasharray:4 5}.graph-empty{height:100%;display:grid;place-items:center;color:#667780;font-size:12px}.graph-node{position:absolute;transform:translate(-50%,-50%);width:160px;min-height:88px;padding:14px;border:1px solid #2a3d45;background:rgba(10,17,22,.94);border-radius:13px;z-index:1;box-shadow:0 14px 26px rgba(0,0,0,.28)}.graph-node:before{content:"";position:absolute;left:-1px;top:15px;bottom:15px;width:2px;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.graph-node.core{width:184px;border-color:#4b8c83;background:linear-gradient(145deg,rgba(21,51,48,.96),rgba(9,21,23,.97))}.graph-node.core:before{background:var(--mint);box-shadow:0 0 14px var(--mint)}.graph-node small{font-size:8px;letter-spacing:.14em;color:#718790;text-transform:uppercase}.graph-node b{display:block;margin:7px 0 5px;font-size:12px}.graph-node p{margin:0;color:#82949c;font-size:9px;line-height:1.4}
.control-panel{padding-bottom:20px}.control-panel>.panel-head{margin-bottom:18px}.select-label{display:block;padding:0 22px 7px;color:#82939a;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.control-panel select{width:calc(100% - 44px);margin:0 22px;background:#0b1117;border:1px solid #2a3b44;color:#e4efeb;border-radius:9px;padding:11px;font-size:12px}.operation-help{margin:8px 22px 18px;color:#71838b;font-size:10px;line-height:1.45;min-height:29px}.input-fields{display:grid;gap:13px;padding:0 22px}.field-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.field-head label{font-size:10px;color:#adbdc2}.field-head output{font:10px ui-monospace,monospace;color:var(--mint)}.field p{font-size:9px;color:#687981;margin:6px 0 0}.field input{width:100%;accent-color:var(--mint)}.actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;padding:20px 22px 10px}.button{height:44px;border-radius:9px;border:1px solid #31434b;font-size:10px;letter-spacing:.11em;font-weight:700;cursor:pointer}.button:disabled{opacity:.38;cursor:not-allowed}.button.secondary{background:#111a20;color:#bdcbcf}.button.primary{border-color:#68e7c3;background:var(--mint);color:#06110e;display:flex;justify-content:center;align-items:center;gap:16px;box-shadow:0 0 24px rgba(118,246,208,.12)}.button.primary i{font-style:normal;font-size:17px}.reconnect{display:block;margin:auto;border:0;background:transparent;color:#738991;font-size:10px;cursor:pointer}.reconnect:not(:disabled):hover{color:var(--mint)}
.result-panel{grid-column:1/-1}.story-grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid #202d35}.story-step{padding:18px 20px;min-height:122px;border-right:1px solid #202d35}.story-step:last-child{border:0}.story-step span{font-size:8px;letter-spacing:.15em;color:#667982}.story-step b{display:block;margin:9px 0 8px;font-size:12px;color:#dce9e5}.story-step p{margin:0;color:#778990;font-size:10px;line-height:1.45}.decision-badge{font:700 10px ui-monospace,monospace;border:1px solid #37454c;padding:8px 12px;border-radius:999px}.decision-badge.allow{color:var(--mint);border-color:#34695f;background:#102b26}.decision-badge.deny,.decision-badge.failed{color:var(--red);border-color:#6a3439;background:#2b1418}.decision-badge.no_decision,.decision-badge.incomplete{color:var(--amber);border-color:#665334;background:#2b2415}.decision-badge.idle{color:#788990}.participants{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 20px}.participant{padding:14px;border:1px solid #26363e;border-radius:11px;background:#0b1217;display:flex;align-items:center;gap:12px}.participant .state-dot{width:9px;height:9px;border:2px solid #5f717a;border-radius:50%}.participant.completed .state-dot{border-color:var(--mint);background:var(--mint);box-shadow:0 0 10px rgba(118,246,208,.5)}.participant.failed .state-dot,.participant.denied .state-dot{border-color:var(--red);background:var(--red)}.participant b{font-size:11px}.participant span{display:block;color:#70828a;font-size:9px;margin-top:4px}.empty-state{grid-column:1/-1;text-align:center;color:#65767e;padding:18px;font-size:11px}.selected{margin:0 20px 20px;padding:15px 17px;border-left:2px solid var(--mint);background:rgba(36,83,73,.18)}.selected span{font-size:8px;letter-spacing:.14em;color:var(--mint)}.selected b{display:block;margin:7px 0 3px;font-size:12px}.selected p{margin:0;color:#83969d;font-size:10px}.toast{position:fixed;right:24px;bottom:24px;max-width:360px;padding:13px 16px;border:1px solid #354750;background:#101920;color:#d5e2de;border-radius:10px;box-shadow:var(--shadow);font-size:11px;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;z-index:10}.toast.show{opacity:1;transform:none}.toast.error{border-color:#6d343b;color:#ffb2b8}
@media(max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid #1c2830}.boundary-note{position:static;margin-top:24px}.workspace-grid{grid-template-columns:1fr}.result-panel{grid-column:auto}.story-grid{grid-template-columns:1fr 1fr}.participants{grid-template-columns:1fr}.graph-node{width:140px}.environment em{display:none}}
@media(max-width:620px){.topbar{padding:0 16px}.version{display:none}.workspace{padding:18px 14px}.sidebar{padding:28px 20px}.journey .stage b{display:none}.story-grid{grid-template-columns:1fr}.story-step{border-right:0;border-bottom:1px solid #202d35}.graph{height:460px}.graph-node{width:118px;padding:10px}.graph-node.core{width:140px}.workspace-grid{display:block}.panel{margin-bottom:16px}}
