#karma-window{width:min(1200px,calc(100vw - 36px));height:min(880px,calc(100dvh - 70px));max-width:none;max-height:none;overflow:hidden;display:flex;flex-direction:column;background:#171613;color:#deddd4}#karma-window[hidden]{display:none!important}.karma-budget{display:flex;gap:22px;align-items:center;padding:10px 16px;background:#211e18;border-bottom:1px solid #534a3a}.karma-budget span{color:#b9b4a9}.karma-budget b{color:#e5d09a;font-size:19px;margin-left:7px}.karma-budget .karma-policy-actions{margin-left:auto;display:flex;gap:6px}.karma-map{position:relative;flex:1;min-height:260px;overflow:hidden;touch-action:none;cursor:grab;background:radial-gradient(ellipse at center,#242119 0%,#121210 75%)}.karma-map-svg{position:absolute;inset:0;width:100%;height:100%;user-select:none}.karma-link{stroke:#35342f;stroke-width:2;fill:none;vector-effect:non-scaling-stroke}.karma-link.active{stroke:#d6bd86;stroke-width:2.5}.karma-node{cursor:pointer;outline:none}.karma-node-surface{fill:#191916;stroke:#4c4a43;stroke-width:2;vector-effect:non-scaling-stroke}.karma-glyph{fill:none;stroke:#817f77;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.9;pointer-events:none}.karma-node.available .karma-node-surface{fill:#22211c;stroke:#92836a;stroke-dasharray:3 2}.karma-node.available .karma-glyph{stroke:#a09a8b}.karma-node.active .karma-node-surface{fill:#463c27;stroke:#e5c986;stroke-width:2.6}.karma-node.active .karma-glyph{stroke:#fff0bc;opacity:1}.karma-node.selected .karma-node-surface,.karma-node:hover .karma-node-surface,.karma-node:focus-visible .karma-node-surface{stroke:#d5e5f3;stroke-width:3}.karma-state-mark{fill:#c8bc9f;font-size:20px;text-anchor:middle}.karma-node.active .karma-state-mark{fill:#f1d188}.karma-name{fill:#ded9cb;font-size:23px;font-weight:600;text-anchor:middle;paint-order:stroke;stroke:#151410;stroke-width:6}.karma-effect,.karma-scope{display:none;fill:#ded9cb;font-size:20px;text-anchor:middle;paint-order:stroke;stroke:#151410;stroke-width:6;pointer-events:none}.karma-zoomed .karma-effect,.karma-zoomed .karma-scope{display:block}.karma-scope{fill:#b9b4a9;font-size:17px}.karma-summary{position:absolute;top:10px;left:12px;pointer-events:none;font-size:11px;color:#b9b4a9}.karma-legend{position:absolute;right:12px;top:10px;color:#c8bc9f;font-size:11px;pointer-events:none}.karma-controls{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:5px;background:#171613e8;border:1px solid #534a3a;padding:5px}.karma-controls button{min-width:32px;min-height:32px}.karma-controls output{min-width:48px;text-align:center}.karma-detail{position:absolute;z-index:5;width:min(340px,calc(100% - 20px));max-height:calc(100% - 20px);overflow:auto;border:1px solid #9b8254;background:#211e18f8;box-shadow:0 8px 30px #000b;padding:14px;cursor:auto}.karma-detail header{display:flex;gap:10px;align-items:center}.karma-detail h3{font-size:15px;margin:0;flex:1;color:#e5d09a}.karma-detail button{min-height:34px}.karma-detail p{margin:10px 0;line-height:1.6}.karma-detail small{color:#b9b4a9;display:block;line-height:1.5}.karma-detail-actions{display:flex;gap:8px;margin-top:12px}.karma-detail-actions button{flex:1}.karma-footer{font-size:11px;line-height:1.6;margin:0;padding:8px 14px;border-top:1px solid #534a3a;background:#211e18}#karma-confirm{max-width:min(420px,calc(100vw - 30px));background:#211e18;color:#deddd4;border:1px solid #9b8254;padding:20px}#karma-confirm::backdrop{background:#0009}#karma-confirm p{line-height:1.6}#karma-confirm footer{display:flex;gap:10px;justify-content:flex-end}#karma-window button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:700px){#karma-window{inset:8px!important;transform:none!important;width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important}.karma-budget{gap:12px;flex-wrap:wrap;padding:7px 10px}.karma-budget b{font-size:17px}.karma-budget .karma-policy-actions{display:none}.karma-detail{padding:11px;max-height:48%}.karma-legend{top:27px;left:12px;right:auto}.karma-footer{font-size:10px;padding:6px 10px}.karma-controls{bottom:7px;right:7px}.karma-summary{font-size:10px}}

.karma-node[data-element].selected .karma-node-surface,.karma-node[data-element]:focus-visible .karma-node-surface{stroke:#d5e5f3!important;stroke-width:3}.karma-detail[hidden]{display:none!important}
.karma-navigation{position:absolute;left:12px;bottom:12px;background:#211e18ed;border:1px solid #534a3a;padding:6px 8px;font-size:11px;color:#c8bc9f;cursor:auto}.karma-navigation select{max-width:230px;background:#25221b;color:#deddd4;border:1px solid #675d49;padding:5px;font:inherit}.karma-node.pending .karma-node-surface{stroke-dasharray:1 5;opacity:.7}.karma-node.active[data-element="fire"] .karma-node-surface{stroke:#efa171;fill:#4c2c24}.karma-node.active[data-element="water"] .karma-node-surface{stroke:#8cc7ed;fill:#253b4b}.karma-node.active[data-element="wind"] .karma-node-surface{stroke:#9bce9b;fill:#2b422d}.karma-node.active[data-element="earth"] .karma-node-surface{stroke:#d1b585;fill:#433728}@media(max-width:700px){.karma-navigation{bottom:7px;left:7px;padding:5px;font-size:10px}.karma-navigation select{max-width:126px}.karma-controls{gap:2px}.karma-controls output{min-width:32px}.karma-summary{max-width:calc(100% - 24px)}}

@media(max-width:700px){.karma-map.karma-zoomed .karma-effect,.karma-map.karma-zoomed .karma-scope{display:none}}

.karma-map-svg{touch-action:none}.karma-map.karma-dragging{cursor:grabbing}.karma-detail{touch-action:pan-y}.karma-controls,.karma-navigation{touch-action:manipulation}
