.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgb(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgb(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color, var(--xy-background-color-props, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{color:#e8edf0;background:#101316;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:#46545c transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background-color:#46545c;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background-color:#6a7b84}*::-webkit-scrollbar-corner{background:transparent}html,body,#root{height:100%;overflow:hidden}body{margin:0;min-width:1120px;min-height:760px;background:#101316}button,input,select{font:inherit}button{color:inherit}.app-shell{display:grid;grid-template-columns:248px 1fr;height:100vh;min-height:760px;overflow:hidden}.update-notice{position:fixed;right:18px;bottom:18px;z-index:40;display:grid;gap:10px;width:min(380px,calc(100vw - 36px));padding:16px;border:1px solid #4aa8c5;border-radius:8px;background:#172127;box-shadow:0 18px 42px #0006}.update-notice h2{padding-right:28px}.update-notice p{color:#b9c8ce;line-height:1.4}.update-notice-notes,.update-notice-status{font-size:13px}.update-notice-status{color:#9be2ee}.update-notice-actions{display:flex;justify-content:flex-end;gap:8px}.update-notice-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #303b42;background:#1a2025;color:#dce7eb;cursor:pointer}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#080c0fb8}.app-dialog{display:grid;gap:12px;width:min(420px,calc(100vw - 48px));padding:20px;border:1px solid #4aa8c5;border-radius:8px;background:#172127;box-shadow:0 24px 56px #0000007a}.app-dialog p{color:#b9c8ce;line-height:1.45}.sidebar{display:flex;flex-direction:column;gap:20px;padding:18px;border-right:1px solid #273138;background:#151a1e}.brand{display:flex;align-items:center;gap:12px;min-height:48px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid #3a7c88;background:#183238;color:#9be2ee;font-weight:800}.brand-title{font-weight:800}.brand-subtitle,.screen-header p,.muted{color:#9caab2}.nav-list{display:grid;gap:6px}.nav-button,.link-row,.table-row,.operation-list button,.card-actions button,.primary{border:1px solid #303b42;background:#1a2025;color:#dce7eb;cursor:pointer}.nav-button{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;text-align:left}.nav-button.active{border-color:#62b6cb;background:#20323a;color:#fff}.index-card,.result-card,.detail-panel,.domain-card,.inspector-section,.live-panel{border:1px solid #2c373e;background:#171d21;border-radius:8px}.index-card{margin-top:auto;padding:12px}.metric-row,.field-list div{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid #253038}.metric-row:last-child,.field-list div:last-child{border-bottom:0}.metric-row span,.field-list span{color:#9caab2}.main{min-width:0;min-height:0;display:grid;grid-template-rows:66px 1fr}.topbar{display:flex;align-items:center;padding:12px 18px;border-bottom:1px solid #273138;background:#11171b}.search-box{display:flex;align-items:center;gap:10px;width:min(760px,100%);height:42px;padding:0 12px;border:1px solid #334149;background:#171d21}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#e8edf0}.path-pill,.record-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a8b6bd;font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.technical-name{margin-top:4px;color:#839099;font-family:Cascadia Mono,Consolas,monospace;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.workspace{display:grid;grid-template-columns:1fr 330px;height:100%;min-height:0;overflow:hidden}.workspace-full{grid-template-columns:1fr}.content{min-width:0;min-height:0;overflow:hidden;padding:18px}.screen{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px;height:100%;min-height:0}.screen-scroll{min-height:0;overflow:auto;padding-right:4px}.screen-header{display:flex;justify-content:space-between;gap:18px;align-items:center}h1,h2,h3,p{margin:0}h1{font-size:24px}h2{font-size:16px}h3{font-size:13px;text-transform:uppercase;letter-spacing:0;color:#9caab2}select{height:36px;border:1px solid #334149;background:#171d21;color:#e8edf0;padding:0 10px}.result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.search-home{display:grid;gap:14px}.domain-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.domain-tile{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;row-gap:4px;min-height:104px;padding:14px;border:1px solid #303b42;border-radius:8px;background:#171d21;color:#dce7eb;text-align:left;cursor:pointer}.domain-tile:hover{border-color:#62b6cb;background:#1d2a30}.domain-tile svg{grid-row:1 / span 2;margin-top:2px;color:#9be2ee}.domain-tile span{min-width:0;font-weight:800}.domain-tile small{min-width:0;color:#9caab2;line-height:1.35}.search-logo-panel{display:grid;align-content:center;justify-items:center;gap:14px;min-height:330px;padding:28px}.search-logo-burst{position:relative;display:grid;place-items:center;width:min(400px,46vw);aspect-ratio:1}.search-logo-burst:before,.search-logo-burst:after{content:"";position:absolute;top:13%;right:13%;bottom:13%;left:13%;border:1px solid rgba(83,203,255,.38);border-radius:50%;opacity:0;transform:scale(.78);animation:logo-burst 3.4s ease-out infinite}.search-logo-burst:after{top:21%;right:21%;bottom:21%;left:21%;border-color:#178bff42;animation-delay:1.15s}.search-logo-burst img{position:relative;z-index:1;width:min(360px,42vw);max-height:360px;object-fit:contain;opacity:.9;filter:drop-shadow(0 0 18px rgba(67,189,244,.28));animation:logo-pulse 3.4s ease-in-out infinite}.search-game-version{color:#9be2ee;font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase}@keyframes logo-pulse{0%,to{opacity:.82;transform:scale(.985);filter:drop-shadow(0 0 14px rgba(67,189,244,.18))}46%{opacity:1;transform:scale(1.015);filter:drop-shadow(0 0 20px rgba(67,189,244,.34)) drop-shadow(0 0 44px rgba(19,121,255,.18))}}@keyframes logo-burst{0%{opacity:0;transform:scale(.74);box-shadow:0 0 #53cbff00}18%{opacity:.75}72%{opacity:0;transform:scale(1.18);box-shadow:0 0 34px #53cbff29}to{opacity:0;transform:scale(1.18)}}@media (prefers-reduced-motion: reduce){.search-logo-burst:before,.search-logo-burst:after,.search-logo-burst img{animation:none}}.live-panel{display:grid;gap:12px;padding:14px;margin-bottom:12px}.result-card{display:grid;gap:14px;padding:14px;min-height:182px;text-align:left}button.result-card{width:100%}.result-card.active,.weapon-row.active,.resource-row.active{border-color:#62b6cb;background:#20323a}.resource-row.overlay-active{border-color:#83f7ff;background:linear-gradient(90deg,#204c53f2,#1a2c32f2),#20323a;box-shadow:inset 4px 0 #83f7ffb8}.resource-row.overlay-active.active{border-color:#9bfbff;background:linear-gradient(90deg,#255c65fa,#1d373efa),#243f49}.result-main{display:flex;gap:12px;align-items:flex-start}.result-main p,.inspector p,.detail-panel p{margin-top:6px;color:#a8b6bd;line-height:1.45}.card-actions{display:flex;gap:8px}.inspector-actions{display:flex;gap:8px;margin-top:12px}.card-actions button,.primary,.operation-list button{height:34px;padding:0 12px}.icon-button{display:inline-flex;align-items:center;gap:7px}.primary{border-color:#62b6cb;background:#24414a}.primary.active{border-color:#83f7ff;background:#1f5c67;color:#fff;box-shadow:inset 0 0 0 1px #83f7ff33}.source-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:4px;padding:4px;border:1px solid #303b42;background:#12181c}.source-toggle button{height:34px;border:1px solid transparent;background:transparent;color:#a8b6bd;cursor:pointer}.source-toggle button.active{border-color:#62b6cb;background:#24414a;color:#fff}.summary-block p{margin-bottom:0}.summary-collapsed{display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical}.text-toggle{margin-top:8px;padding:0;border:0;background:transparent;color:#9be2ee;font-size:12px;font-weight:800;cursor:pointer}.graph-screen{height:calc(100vh - 102px);min-height:0;grid-template-rows:auto minmax(0,1fr)}.graph-header{min-height:54px}.control-strip{display:flex;gap:10px}.control-strip label{display:flex;align-items:center;gap:8px;color:#9caab2}.graph-canvas{position:relative;min-height:0;height:100%;overflow:hidden;border:1px solid #2c373e;background:#11171b}.flow-node{border:1px solid #50616a;background:#1a2025;color:#e8edf0;padding:10px 12px;width:210px;min-height:74px;font-size:13px;font-weight:700;text-align:center;cursor:grab;overflow-wrap:anywhere;-webkit-user-select:none;user-select:none}.flow-node .react-flow__handle{pointer-events:none}.flow-node:active{cursor:grabbing}.flow-node.selected{box-shadow:0 0 0 2px #fff,0 12px 28px #00000052}.node-details{margin-top:6px;color:#b6c7cd;font-size:11px;font-weight:500;line-height:1.25}.node-kind{margin-top:6px;color:#9caab2;font-size:10px;font-weight:700;text-transform:uppercase}.react-flow__controls{border:1px solid #334149;background:#151a1e;box-shadow:none}.react-flow__controls-button{width:30px;height:30px;border-bottom:1px solid #334149;background:#151a1e;color:#dce7eb;fill:#dce7eb}.react-flow__controls-button:hover{background:#223039}.react-flow__controls-button svg{fill:currentColor}.dark-minimap{border:1px solid #334149;background:#151a1e}.dark-minimap .react-flow__minimap-mask{fill:#090d10b8}.kind-resource{border-color:#78d6a3}.kind-mineable{border-color:#e9c46a}.kind-blueprint{border-color:#89b4fa}.kind-weapon{border-color:#f38ba8}.kind-component{border-color:#cba6f7}.kind-location{border-color:#94e2d5}.kind-mission{border-color:#f9e2af}.kind-mission{border-color:#fab387}.kind-tag{border-color:#bac2de}.detail-layout,.domain-grid,.settings-grid{display:grid;grid-template-columns:minmax(360px,1fr) minmax(320px,.9fr);gap:14px}.overlay-only-grid{grid-template-columns:minmax(360px,560px)}.admin-settings-grid{max-width:1120px}.analytics-panel{grid-column:1 / -1}.analytics-header,.analytics-controls,.analytics-meta{display:flex;align-items:center;gap:12px}.analytics-header{justify-content:space-between}.analytics-header h2,.analytics-group-table h3,.telemetry-recent h3{margin-top:0}.analytics-controls{flex-wrap:wrap;justify-content:flex-end}.compact-toggle button{min-width:48px}.analytics-meta{justify-content:space-between;margin:10px 0 14px;color:#9caab2;font-size:12px}.analytics-metrics,.analytics-chart-grid,.analytics-table-grid{display:grid;gap:10px}.analytics-metrics{grid-template-columns:repeat(4,minmax(120px,1fr));margin-bottom:14px}.analytics-metrics div,.analytics-chart-card,.analytics-group-table{min-width:0;padding:12px;border:1px solid #303b42;background:#12181c}.analytics-metrics span{display:block;color:#9caab2;font-size:11px;text-transform:uppercase}.analytics-metrics strong{display:block;margin-top:5px;color:#fff;font-size:20px}.analytics-table-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}.analytics-chart-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px}.geo-map-card{grid-column:span 2}.analytics-chart-card h3{margin:0 0 10px;font-size:13px}.pie-chart-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;align-items:center;min-height:120px}.pie-chart{width:96px;height:96px;border:1px solid #3b4a52;border-radius:50%;background:#1a2025}.chart-legend,.bar-chart{display:grid;gap:7px}.chart-legend div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:7px;align-items:center;color:#a8b6bd;font-size:12px}.chart-legend span:nth-child(2),.bar-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-swatch{width:9px;height:9px}.bar-row{display:grid;grid-template-columns:minmax(72px,.9fr) minmax(80px,1.2fr) auto;gap:8px;align-items:center;color:#a8b6bd;font-size:12px}.bar-row div{height:9px;overflow:hidden;border:1px solid #2f3b42;background:#0e1417}.bar-row em{display:block;height:100%}.geo-map{width:100%;aspect-ratio:2 / 1;border:1px solid #2f3b42;background:#0e1417}.geo-map rect{fill:#0d1519}.geo-map polygon{fill:#1d2a30;stroke:#3b515b;stroke-width:1.6}.geo-map .geo-grid{stroke:#203039;stroke-width:1}.geo-point-halo{fill:#62b6cb29}.geo-point{fill:#e9c46a;stroke:#101316;stroke-width:2}.geo-map-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;color:#a8b6bd;font-size:12px}.analytics-group-table h3{font-size:13px}.analytics-group-table .metric-row{gap:8px}.analytics-group-table .metric-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.telemetry-recent{margin-top:16px}.telemetry-table{max-height:420px;overflow:auto;border:1px solid #303b42}.telemetry-head,.telemetry-row{display:grid;grid-template-columns:150px 160px 110px 110px 100px 170px 140px 150px 90px minmax(240px,1fr);gap:10px;align-items:center;min-width:1480px;min-height:38px;padding:0 10px;border-bottom:1px solid #253038;font-size:12px}.telemetry-head{position:sticky;top:0;z-index:1;background:#1d252a;color:#9caab2;text-transform:uppercase}.telemetry-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.telemetry-empty{padding:12px}.detail-panel,.domain-card{padding:16px;min-width:0}.records-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.records-panel-header{display:grid;gap:12px}.weapon-filters,.record-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:10px;align-items:end}.weapon-filters{grid-template-columns:repeat(3,minmax(150px,1fr)) auto}.mission-filters{grid-template-columns:repeat(5,minmax(120px,1fr)) auto}.weapon-filters label,.record-filters label{display:grid;gap:5px;min-width:0}.weapon-filters label span,.record-filters label span{color:#9caab2;font-size:11px;text-transform:uppercase}.weapon-filters select,.record-filters select{width:100%}.filter-reset{height:36px;padding:0 12px;border:1px solid #303b42;background:#1a2025;color:#dce7eb;cursor:pointer}.filter-reset:disabled{cursor:default;opacity:.45}.primary:disabled{cursor:default;opacity:.52}.field-list{margin-top:14px}.field-list strong{text-align:right;word-break:break-word}.field-list.compact div{padding:7px 0}pre{max-height:520px;overflow:auto;padding:14px;border:1px solid #273138;background:#11171b;color:#dce7eb;font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.table{border:1px solid #2c373e}.weapon-list,.resource-list{display:grid;gap:8px}.panel-scroll{min-height:0;overflow:auto;margin-top:14px;padding-right:4px}.weapon-row,.resource-row{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1fr) minmax(240px,1fr);gap:14px;align-items:center;width:100%;min-height:66px;padding:10px 12px;border:1px solid #2c373e;background:#1a2025;color:inherit;cursor:pointer;text-align:left}.load-more-row{min-height:42px;border:1px solid #334149;background:#172026;color:#dce7eb;cursor:pointer}.load-more-row:disabled{cursor:default;opacity:.65}.weapon-row h3,.resource-row h3{color:#e8edf0;font-size:14px;text-transform:none}.resource-title-row{display:flex;gap:8px;align-items:center;min-width:0}.resource-title-row h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-status-pill{flex:0 0 auto;padding:2px 6px;border:1px solid rgba(131,247,255,.72);background:#1c5d69b8;color:#eaffff;font-size:10px;font-weight:800;line-height:1.2;text-transform:uppercase}.weapon-subtitle{margin-top:5px;color:#9caab2;font-size:12px}.weapon-row p,.resource-row p{margin:0;color:#a8b6bd;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.weapon-stats{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:8px}.weapon-stats div{min-width:0;padding:7px 8px;border:1px solid #39464e;background:#12181c}.weapon-stats span{display:block;color:#b9c8ce;font-size:10px;text-transform:uppercase}.weapon-stats strong{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:12px;white-space:nowrap}.table-head,.table-row{display:grid;grid-template-columns:1.4fr .8fr .45fr 1.35fr;gap:12px;align-items:center;min-height:42px;padding:0 12px}.table-head{background:#1d252a;color:#9caab2;font-size:12px;text-transform:uppercase}.table-row{width:100%;border:0;border-top:1px solid #2c373e;text-align:left}.table-row small{display:block;margin-top:3px;color:#839099;font-family:Cascadia Mono,Consolas,monospace;font-size:11px;overflow-wrap:anywhere}.table-row:hover,.link-row:hover,.card-actions button:hover,.operation-list button:hover{background:#223039}.static-row{cursor:default}.static-row:hover{background:#1a2025}.inspector{min-width:0;min-height:0;height:100%;overflow:auto;padding:18px 18px 18px 0}.inspector-section{padding:14px;margin-bottom:12px}.inspector-empty{min-height:120px;display:grid;align-content:center}.kind-badge{display:inline-flex;margin-bottom:10px;padding:4px 8px;border:1px solid #4b5b63;color:#c8d4d9;font-size:12px}.link-row{display:block;width:100%;min-height:34px;margin-top:8px;padding:8px 10px;text-align:left;overflow:hidden;text-overflow:ellipsis}.blueprint-reward-list{display:grid;gap:12px;margin-top:10px}.blueprint-reward-group{display:grid;gap:8px}.blueprint-reward-header{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-bottom:7px;border-bottom:1px solid #2c373e}.blueprint-reward-header strong{color:#e8edf0;font-size:13px}.blueprint-reward-header span{color:#9caab2;font-size:11px;white-space:nowrap}.blueprint-reward-items{display:grid;gap:6px}.blueprint-reward-row{padding:8px;border:1px solid #303b42;background:#12181c}.blueprint-reward-row strong,.blueprint-reward-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.blueprint-reward-row strong{color:#fff;font-size:12px}.blueprint-reward-row span{margin-top:3px;color:#9caab2;font-size:11px}.operation-list,.command-list{display:grid;gap:10px;margin-top:12px}.overlay-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:12px;margin-top:14px}.overlay-setting-field{display:grid;gap:6px;min-width:0}.overlay-setting-field span{color:#9caab2;font-size:11px;font-weight:700;text-transform:uppercase}.overlay-setting-field div{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;height:42px;border:1px solid #334149;background:#11171b}.overlay-setting-field input{min-width:0;height:100%;border:0;outline:0;padding:0 10px;background:transparent;color:#fff;font-weight:800}.overlay-setting-field input:disabled{color:#8b99a1;cursor:default}.overlay-setting-field em{color:#9caab2;font-size:12px;font-style:normal;font-weight:800;text-align:center}.settings-actions{display:flex;gap:10px;margin-top:14px}.update-summary{display:grid;gap:0;margin-top:14px;border-top:1px solid #253038}.update-summary div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid #253038}.update-summary span{flex:0 0 auto;color:#9caab2}.update-summary strong{min-width:0;text-align:right;overflow-wrap:anywhere}.settings-status{margin-top:12px;color:#a8b6bd;font-size:12px;line-height:1.45}.icon-button:disabled{cursor:default;opacity:.52}.command-list{margin-bottom:12px}.command-list code{display:block;padding:9px 10px;border:1px solid #303b42;background:#11171b;color:#dce7eb;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;overflow-x:auto}.admin-note{margin-top:12px;color:#9caab2;font-size:12px;line-height:1.45}@media (max-width: 1180px){.workspace{grid-template-columns:1fr 300px}.result-grid,.detail-layout,.domain-grid,.settings-grid,.overlay-settings-grid,.analytics-metrics,.analytics-chart-grid,.analytics-table-grid,.weapon-filters,.record-filters,.resource-row,.weapon-row{grid-template-columns:1fr}}
