.App{width:100%}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;width:100%}body{-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;background:#fff;color:#1a1a2e;font-family:VT323,Courier New,monospace;font-size:18px;overflow:hidden}code{font-family:VT323,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-fullscreen{height:100vh;position:relative;width:100vw}.error-overlay,.loading-overlay{border-radius:4px;font-size:20px;left:50%;letter-spacing:.5px;padding:10px 18px;position:absolute;transform:translateX(-50%);z-index:10}.loading-overlay{background:#f8f8f8;border:2px solid #bbb;color:#444;top:20px}.error-overlay{background:#fff5f5;border:2px solid #f5a0a0;color:#9b1c1c;top:20px}.center-loading{align-items:center;background:#fff;color:#1a1a2e;display:flex;font-size:28px;inset:0;justify-content:center;letter-spacing:.4px;position:absolute;z-index:15}.loading-dots{display:inline-flex;justify-content:space-between;margin-left:3px;vertical-align:initial;width:28px}.loading-dots span{animation:loading-dot-wave 1s cubic-bezier(.22,1,.36,1) infinite;display:inline-block;font-weight:700;will-change:transform}.loading-dots span:nth-child(2){animation-delay:.1s}.loading-dots span:nth-child(3){animation-delay:.2s}@keyframes loading-dot-wave{0%,58%,to{transform:translateY(0)}12%{transform:translateY(-10px)}24%{transform:translateY(0)}}.graph-root{height:128vh;left:-14vw;overflow:visible;position:absolute;top:-14vh;width:128vw}.graph-root svg{height:100%;overflow:visible;width:100%}.node{cursor:pointer}.node-sprite{image-rendering:pixelated}.link{stroke:#7ec8e3}.cluster-outline{pointer-events:none}.cluster-outline-measure{fill:none;stroke:none;pointer-events:none}.cluster-outline-dot{opacity:.5;pointer-events:none}.cluster-outline-hit-area{stroke:#0000;stroke-width:9;vector-effect:non-scaling-stroke;cursor:help;pointer-events:stroke}.graph-tooltip{background:#fff;border:2px solid #d0d4e0;border-radius:4px;box-shadow:4px 4px 0 #d0d4e0;max-width:360px;min-width:180px;padding:10px 14px;pointer-events:none;position:absolute;z-index:20}.graph-cluster-tooltip{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(#a8b0c8,#a8b0c8) border-box;background:linear-gradient(#fff,#fff) padding-box,var(--cluster-type-gradient,linear-gradient(#a8b0c8,#a8b0c8)) border-box;border-color:#0000;box-shadow:4px 4px 0 #a8b0c8;box-shadow:4px 4px 0 var(--cluster-shadow-color,#a8b0c8)}.graph-tooltip-sprite{float:right;height:96px;image-rendering:pixelated;margin:-8px -6px 4px 10px;object-fit:contain;pointer-events:none;width:96px}.graph-tooltip-name{color:#1a1a2e;font-size:22px;font-weight:700;line-height:1.1}.graph-tooltip-meta{color:#555870;font-size:18px;line-height:1.3;margin-top:1px}.graph-hint{background:#f8f8fc;border:2px solid #d0d4e0;border-radius:4px;bottom:max(14px,env(safe-area-inset-bottom));color:#666880;font-size:18px;left:max(14px,env(safe-area-inset-left));letter-spacing:.2px;max-width:min(92vw,620px);overflow-wrap:anywhere;padding:8px 14px;pointer-events:none;position:fixed;z-index:40}.search-root{left:14px;position:absolute;top:14px;width:220px;z-index:30}.search-input{background:#f8f8fc;border:2px solid #d0d4e0;border-radius:4px;box-sizing:border-box;color:#1a1a2e;font-family:VT323,Courier New,monospace;font-size:20px;outline:none;padding:8px 14px;width:100%}.search-input:focus{background:#fff;border-color:#a0a8c8}.search-dropdown{background:#f8f8fc;border:2px solid #d0d4e0;border-radius:4px;left:0;position:absolute;top:calc(100% + 8px);width:280px;z-index:31}.search-result{align-items:center;color:#1a1a2e;cursor:pointer;display:flex;font-family:VT323,monospace;font-size:18px;gap:8px;padding:5px 10px}.search-result:hover{background:#f0f2ff}.search-result-sprite{flex-shrink:0;height:32px;image-rendering:pixelated;width:32px}.search-result-name{flex:1 1}.search-result-id{color:#99b;font-size:16px}.settings-btn{background:#f8f8fc;border:2px solid #d0d4e0;border-radius:4px;color:#666880;cursor:pointer;font-family:VT323,Courier New,monospace;font-size:20px;letter-spacing:.5px;padding:8px 14px;position:absolute;right:14px;top:14px;z-index:30}.settings-btn:focus,.settings-btn:hover{background:#f0f2ff;border-color:#a0a8c8;outline:none}.overview-btn{background:#f8f8fc;border:2px solid #d0d4e0;border-radius:4px;color:#666880;cursor:pointer;font-family:VT323,Courier New,monospace;font-size:20px;letter-spacing:.5px;padding:8px 14px;position:absolute;right:168px;top:14px;z-index:30}.overview-btn:focus,.overview-btn:hover{background:#f0f2ff;border-color:#a0a8c8;outline:none}.settings-panel{background:#fff;border:2px solid #d0d4e0;border-radius:4px;max-height:calc(100vh - 80px);overflow-y:auto;position:absolute;right:14px;top:70px;width:240px;z-index:29}.settings-section{border-bottom:1px solid #e8eaf0;padding:10px 14px}.settings-section:last-child{border-bottom:none}.settings-section-title{color:#99b;font-family:VT323,monospace;font-size:13px;letter-spacing:1.5px;margin-bottom:6px}.settings-check-label{align-items:center;cursor:pointer;display:flex;font-family:VT323,monospace;font-size:18px;gap:7px;padding:2px 0;-webkit-user-select:none;user-select:none}.settings-check-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:14px;width:14px}.settings-check-locked{cursor:not-allowed;opacity:.45}.settings-check-locked input[type=checkbox]{cursor:not-allowed}.settings-types-grid{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr}.settings-count-bar{border-bottom:1px solid #e8eaf0;color:#99b;font-family:VT323,monospace;font-size:14px;letter-spacing:.8px;padding:7px 14px 5px}.settings-reset-row{border-bottom:1px solid #e8eaf0;padding:8px 14px}.settings-reset-btn{background:#f6f7fb;border:1px solid #d0d4e0;border-radius:3px;color:#1a1a2e;cursor:pointer;display:block;font-family:VT323,monospace;font-size:16px;letter-spacing:.8px;padding:5px 10px 6px;width:100%}.settings-reset-btn:hover{background:#eef1f8}.settings-item-wrap{position:relative}.settings-max-tooltip{background:#1a1a2e;border-radius:4px;bottom:calc(100% + 4px);color:#fff;font-family:VT323,monospace;font-size:16px;left:0;padding:4px 10px;pointer-events:none;position:absolute;white-space:nowrap;z-index:50}.intro-overlay{align-items:center;animation:fade-in .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;display:flex;inset:0;justify-content:center;position:fixed;z-index:25}.intro-modal{animation:slide-up .4s ease-out;background:#fff;border:3px solid #d0d4e0;border-radius:8px;box-shadow:8px 8px 0 #d0d4e0;max-width:450px;padding:40px;text-align:center}.intro-title{color:#1a1a2e;font-family:VT323,monospace;font-size:32px;letter-spacing:1px;margin-bottom:16px}.intro-subtitle{color:#555870;font-family:VT323,monospace;font-size:18px;line-height:1.4;margin-bottom:12px}.intro-description{color:#777890;font-family:VT323,monospace;font-size:16px;line-height:1.5;margin-bottom:24px}.intro-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.intro-button{background:#f0f2ff;border:2px solid #d0d4e0;border-radius:4px;color:#1a1a2e;cursor:pointer;font-family:VT323,monospace;font-size:18px;letter-spacing:.5px;padding:10px 24px;transition:all .2s ease}.intro-button-secondary{background:#fff8dc;border-color:#e1c96f}.intro-button:hover{background:#e0e4ff;border-color:#a0a8c8;box-shadow:2px 2px 0 #d0d4e0;transform:translate(-1px,-1px)}.intro-button-secondary:hover{background:#fff0a8;border-color:#c7ad46}.tutorial-overlay{align-items:center;animation:fade-in .3s ease-out;background:#ffffffeb;display:flex;inset:0;justify-content:center;position:fixed;z-index:27}.tutorial-modal{animation:slide-up .4s ease-out;background:#fff;border:3px solid #d0d4e0;border-radius:8px;box-shadow:8px 8px 0 #d0d4e0;max-width:520px;padding:40px;text-align:center}.tutorial-title{color:#1a1a2e;font-size:28px;letter-spacing:1px}.tutorial-text,.tutorial-title{font-family:VT323,monospace;margin-bottom:16px}.tutorial-text{color:#555870;font-size:16px;line-height:1.5}.pokeball-picker{align-items:flex-end;display:flex;gap:30px;justify-content:center;margin:30px 0}.pokeball-container{flex-direction:column;gap:20px;min-height:140px}.pokeball,.pokeball-container{align-items:center;display:flex}.pokeball{background-color:initial;background-position:50%;background-repeat:no-repeat;background-size:100px 100px;border:none;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));flex-shrink:0;height:100px;justify-content:center;padding:0;position:relative;transition:transform .1s ease;width:100px}.pokeball:hover:not(.selected):not(.inactive){animation:pokeball-shake .8s ease-in-out infinite}@keyframes pokeball-shake{0%,to{transform:translateX(0)}12%{transform:translateX(-2px)}24%{transform:translateX(2px)}36%{transform:translateX(-2px)}50%,to{transform:translateX(0)}}.pokeball.selected{animation:pokeball-grow .8s cubic-bezier(.34,1.56,.64,1) forwards;filter:drop-shadow(0 0 15px #ffd700)}@keyframes pokeball-grow{0%{transform:scale(1)}to{transform:scale(1.3)}}.pokeball.closing{animation:pokeball-shrink .6s cubic-bezier(.64,.44,.66,.34) forwards}@keyframes pokeball-shrink{0%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}.pokeball.inactive{cursor:default;filter:grayscale(100%) drop-shadow(0 2px 4px rgba(0,0,0,.05));opacity:.4}.pokeball.open{filter:drop-shadow(0 0 10px rgba(100,100,100,.4))}.starter-sprite{animation:sprite-emerge 1s cubic-bezier(.34,1.56,.64,1);height:120px;image-rendering:pixelated;pointer-events:none;position:absolute;width:120px}@keyframes sprite-emerge{0%{filter:brightness(3) blur(8px);opacity:0;transform:scale(.3) translateY(-20px)}70%{filter:brightness(1.5) blur(2px);opacity:.9}to{filter:brightness(1) blur(0);opacity:1;transform:scale(1) translateY(0)}}.starter-name{color:#1a1a2e;letter-spacing:.5px;margin-top:4px}.starter-name,.tutorial-skip-btn{font-family:VT323,monospace;font-size:14px}.tutorial-skip-btn{background:#f8f8fc;border:1px solid #d0d4e0;border-radius:4px;color:#999bb0;cursor:pointer;letter-spacing:.3px;margin-top:20px;padding:6px 12px;transition:all .2s ease}.tutorial-skip-btn:hover{background:#f0f2ff;border-color:#bbb;color:#777890}.tutorial-step2{inset:0;pointer-events:none;position:fixed;z-index:27}.tutorial-node-highlight-halo{animation:tutorial-node-halo-pulse 1.55s ease-out infinite;filter:blur(3px);opacity:0;transform-box:fill-box;transform-origin:center}.tutorial-node-highlight{animation:tutorial-node-highlight-pulse 1.55s ease-in-out infinite;filter:drop-shadow(0 0 3px rgba(255,215,0,.95)) drop-shadow(0 0 9px rgba(255,215,0,.56)) drop-shadow(0 0 16px rgba(255,215,0,.28))}@keyframes tutorial-node-halo-pulse{0%{opacity:.7;transform:scale(1)}65%{opacity:.18;transform:scale(1.42)}to{opacity:0;transform:scale(1.58)}}@keyframes tutorial-node-highlight-pulse{0%,to{stroke-opacity:1;stroke-width:3px;filter:drop-shadow(0 0 3px rgba(255,215,0,.95)) drop-shadow(0 0 9px rgba(255,215,0,.56)) drop-shadow(0 0 16px rgba(255,215,0,.28))}50%{stroke-opacity:.9;stroke-width:4px;filter:drop-shadow(0 0 5px rgba(255,215,0,1)) drop-shadow(0 0 14px rgba(255,215,0,.72)) drop-shadow(0 0 24px rgba(255,215,0,.36))}}.tutorial-dialog{animation:slide-up .4s ease-out;background:#fff;border:3px solid #d0d4e0;border-radius:8px;bottom:40px;box-shadow:8px 8px 0 #d0d4e0;left:50%;max-width:400px;padding:20px 24px;pointer-events:auto;position:fixed;transform:translateX(-50%);z-index:28}.tutorial-dialog-step2{text-align:center}.tutorial-dialog-step2 .tutorial-title{font-size:20px;margin-bottom:8px}.tcd-overlay{inset:0;z-index:26}.tcd-cursor,.tcd-overlay{pointer-events:none;position:fixed}.tcd-cursor{height:22px;width:16px}.tcd-cursor-a{animation:tcd-move-a 6s ease-in-out infinite}.tcd-cursor-b{animation:tcd-move-b 6s ease-in-out infinite;animation-delay:3s}.tcd-ripple{border-radius:50%;height:0;pointer-events:none;position:fixed;width:0}.tcd-ripple-a{animation:tcd-ripple 6s ease-out infinite;animation-delay:1.5s;border:2px solid #a8b0c8d9;left:33vw;top:52vh}.tcd-ripple-b{animation:tcd-ripple 6s ease-out infinite;animation-delay:4.5s;border:2px solid #64b4d2d9;left:62vw;top:37vh}@keyframes tcd-move-a{0%{left:26vw;opacity:0;top:46vh}5%{left:26vw;opacity:1;top:46vh}25%{left:32.5vw;opacity:1;top:51.5vh}55%{left:32.5vw;opacity:1;top:51.5vh}70%{left:26vw;opacity:0;top:46vh}to{left:26vw;opacity:0;top:46vh}}@keyframes tcd-move-b{0%{left:57vw;opacity:0;top:32vh}5%{left:57vw;opacity:1;top:32vh}25%{left:61.5vw;opacity:1;top:36.5vh}55%{left:61.5vw;opacity:1;top:36.5vh}70%{left:57vw;opacity:0;top:32vh}to{left:57vw;opacity:0;top:32vh}}@keyframes tcd-ripple{0%{height:0;margin-left:0;margin-top:0;opacity:0;width:0}4%{height:0;margin-left:0;margin-top:0;opacity:.85;width:0}65%{height:56px;margin-left:-28px;margin-top:-28px;opacity:0;width:56px}to{height:0;margin-left:0;margin-top:0;opacity:0;width:0}}.tutorial-explanation{background:#f8f8fc;border:2px solid #e8eaf0;border-radius:4px;margin:20px 0;padding:16px;text-align:left}.tutorial-list{color:#555870;font-family:VT323,monospace;font-size:15px;line-height:1.6;list-style-position:inside;margin:12px 0}.tutorial-list li{margin-bottom:6px}.tutorial-buttons{display:flex;gap:12px;justify-content:center;margin-top:8px}.tutorial-continue-btn{background:#d4f4d4;border:2px solid #90cc90;border-radius:4px;color:#1a1a2e;cursor:pointer;font-family:VT323,monospace;font-size:16px;letter-spacing:.5px;padding:10px 24px;transition:all .2s ease}.tutorial-continue-btn:hover:not(:disabled){background:#c0ecc0;border-color:#70b070;box-shadow:2px 2px 0 #90cc90;transform:translate(-1px,-1px)}.tutorial-continue-btn:disabled{background:#e8e8e8;border-color:silver;cursor:not-allowed;opacity:.5}.tutorial-complete-btn{background:#d4f4d4;border:2px solid #90cc90;border-radius:4px;color:#1a1a2e;cursor:pointer;font-family:VT323,monospace;font-size:16px;letter-spacing:.5px;padding:10px 24px;transition:all .2s ease}.tutorial-complete-btn:hover{background:#c0ecc0;border-color:#70b070;box-shadow:2px 2px 0 #90cc90;transform:translate(-1px,-1px)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
/*# sourceMappingURL=main.fbb68ab7.css.map*/