.app{--bg:#f7f7f5;--panel:#fff;--ink:#1d1d1f;--muted:#6b6b70;--line:#d9d9de;--archon:#c08a1e;--story:#7b5cc4;--world:#2a8f84;--event:#c4612f;color:var(--ink);font-family:Pretendard,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}.app{background:var(--bg);flex-direction:column;height:100%;display:flex}.app header{background:var(--panel);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex}.app h1{margin:0;font-size:16px}.app h1 small{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.app .tools{align-items:center;gap:20px;font-size:13px;display:flex}.app .tools label{align-items:center;gap:8px;display:flex}.app .slider input{width:260px}.app .slider small{color:var(--muted)}.app main{flex:1;min-height:0;display:flex;position:relative}.app main>.react-flow{flex:1}.app .loading{color:var(--muted);z-index:5;place-items:center;display:grid;position:absolute;inset:0}.app .act{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--c);cursor:pointer;border-radius:6px;width:200px;height:56px;padding:7px 10px;font-size:12px;transition:opacity .15s}.app .act-archon{--c:var(--archon)}.app .act-story{--c:var(--story)}.app .act-world{--c:var(--world)}.app .act-event{--c:var(--event)}.app .act.dim{opacity:.18}.app .act.sel{box-shadow:0 0 0 2px var(--c)}.app .act-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.app .act-meta{color:var(--muted);align-items:center;gap:6px;margin-top:5px;font-size:11px;display:flex}.app .chip{color:var(--c);font-weight:600}.app .gone{color:var(--event);margin-left:auto;font-size:10px}.app .act .react-flow__handle{opacity:0}.app .react-flow__edge-path{stroke:#b4b4bc;stroke-width:1.2px}.app .react-flow__edge.hot .react-flow__edge-path{stroke:var(--ink);stroke-width:2px}.app .react-flow__edge.cold{opacity:.12}.app .mm-archon{fill:var(--archon)}.app .mm-story{fill:var(--story)}.app .mm-world{fill:var(--world)}.app .mm-event{fill:var(--event)}.app aside{background:var(--panel);border-left:1px solid var(--line);width:300px;padding:16px;font-size:13px;overflow:auto}.app aside h2{margin:0 0 2px;font-size:17px}.app aside h3{color:var(--muted);margin:16px 0 6px;font-size:13px}.app aside .en{color:var(--muted);margin:0 0 8px}.app aside ol{margin:0;padding-left:20px}.app aside li{margin:3px 0}.app aside .src a{color:var(--muted)}.app-loading{color:#8a8fa3;place-items:center;gap:.5rem;min-height:100vh;font-size:.95rem;display:grid}.app-loading button{margin-left:.5rem}
