.app{width:100%;height:100vh;height:100dvh;display:flex;flex-direction:column}.app-content{flex:1;min-height:0;display:flex;flex-direction:column}.resizable-container{display:flex;height:100%;width:100%;overflow:hidden}.resizable-panel-left,.resizable-panel-right{height:100%;overflow:hidden}.resizable-divider{width:8px;background-color:#444;cursor:col-resize;position:relative;flex-shrink:0;transition:background-color .2s}.resizable-divider:hover{background-color:#646cff}.resizable-divider.dragging{background-color:#535bf2}.resizable-divider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:3px;height:40px;background-color:#ffffff80;border-radius:2px;pointer-events:none}.yaml-panel{width:100%;height:100%;background-color:#1a1a1a;display:flex;flex-direction:column;overflow:hidden}.yaml-panel.collapsed{display:none}.expand-floating-button{position:fixed;left:1rem;top:1rem;background-color:#646cff;color:#fff;border:none;border-radius:4px;padding:.75rem 1rem;font-size:1.2rem;cursor:pointer;z-index:1000;box-shadow:0 2px 8px #0000004d;transition:background-color .2s}.expand-floating-button:hover{background-color:#535bf2}.yaml-header{position:sticky;top:0;background-color:#1a1a1a;padding:.75rem 1rem;border-bottom:2px solid #444;display:flex;align-items:center;gap:.5rem;z-index:10;flex-shrink:0;min-width:0}.yaml-header h3{margin:0;font-size:1.2rem;color:#fff;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-yaml-button{flex-shrink:0;width:32px;height:32px;background-color:#646cff;color:#fff;border:none;border-radius:4px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;box-shadow:0 2px 8px #0000004d}.copy-yaml-button:hover{background-color:#535bf2}.copy-yaml-button:active{transform:scale(.95)}.view-mode-select{background:#222;border:1px solid #555;color:#888;flex-shrink:0;font-size:.7rem;font-family:Courier New,monospace;cursor:pointer;padding:.2rem .4rem;border-radius:3px;-moz-appearance:none;appearance:none;-webkit-appearance:none;outline:none}.view-mode-select:hover,.view-mode-select:focus{color:#fff;border-color:#888}.collapse-button{background:none;border:none;color:#888;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;transition:color .2s}.collapse-button:hover{color:#fff}.yaml-tree{flex:1;overflow-y:auto;padding:0 1rem 1rem;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6}.yaml-node>div{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pointers-search-bar{display:flex;align-items:center;padding:.4rem .75rem;background-color:#1a1a1a;border-bottom:1px solid #333;flex-shrink:0;gap:.25rem}.pointers-search-input{flex:1;background:#111;border:1px solid #444;border-radius:4px;color:#ccc;font-family:Courier New,monospace;font-size:.8rem;padding:.25rem .5rem;outline:none;transition:border-color .15s}.pointers-search-input::placeholder{color:#555}.pointers-search-input:focus{border-color:#646cff;color:#fff}.pointers-search-clear{background:none;border:none;color:#666;cursor:pointer;font-size:.75rem;padding:.1rem .3rem;line-height:1;transition:color .15s}.pointers-search-clear:hover{color:#ccc}.tag-filter-select{max-width:8.5rem}.tag-filter-select--active{color:#fff;border-color:#646cff}.pointers-search-results{padding-top:.25rem}.pointers-search-result{padding:.2rem 0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#888;font-size:.85rem}.pointers-search-result-highlighted{outline:1px solid #646cff;border-radius:3px}.pointers-search-empty{color:#555;font-size:.85rem;padding:.5rem 0;font-style:italic}.diagram-panel{width:100%;height:100%;overflow:hidden;background-color:#242424;position:relative;-webkit-user-select:none;user-select:none}.diagram-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transform-origin:center center}.diagram-content svg{max-width:100%;max-height:100%;width:auto;height:auto}.loading{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#888}.error{color:#ff6b6b;padding:2rem;font-family:Courier New,monospace;white-space:pre-wrap;background-color:#2a1515;border:1px solid #ff6b6b;border-radius:4px;margin:1rem;overflow-x:auto}.yaml-node,.yaml-children{margin:0}.yaml-arrow{color:#888;-webkit-user-select:none;user-select:none}.yaml-key{color:#82aaff;font-weight:600}.yaml-value{color:#c3e88d}.yaml-diagram-link{color:#646cff;text-decoration:underline;cursor:pointer;transition:all .2s}.yaml-diagram-link:hover{color:#535bf2}.yaml-diagram-current{background-color:#646cff;color:#fff!important;padding:2px 4px;border-radius:3px;font-weight:700}.yaml-diagram-current:hover{background-color:#535bf2}.yaml-diagram-not-found{color:#ff6b6b!important;text-decoration:line-through;cursor:not-allowed!important}.yaml-diagram-not-found:hover{color:#ff5252!important}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:1rem 1.5rem;border-radius:8px;box-shadow:0 4px 12px #0000004d;font-size:.9rem;z-index:1000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.zoom-controls{position:absolute;bottom:1rem;right:1rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.zoom-button{width:40px;height:40px;background-color:#646cff;color:#fff;border:none;border-radius:4px;font-size:1.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s;box-shadow:0 2px 8px #0000004d}.zoom-button:hover{background-color:#535bf2}.zoom-button:active{transform:scale(.95)}.zoom-indicator{width:40px;height:30px;background-color:#000000b3;color:#fff;border-radius:4px;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:500;box-shadow:0 2px 8px #0000004d}.scenario-controls{display:flex;flex-direction:row;align-items:center;gap:.25rem;background-color:#000000b3;border-radius:4px;padding:.25rem;box-shadow:0 2px 8px #0000004d}.scenario-controls .zoom-button{width:30px;height:30px;font-size:.9rem}.scenario-label{color:#fff;font-size:.8rem;font-weight:500;padding:0 .5rem;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-view{width:100%;height:100%;margin:0;padding:1.5rem;overflow:auto;background-color:#1a1a2e;color:#c3e88d;font-family:Courier New,Consolas,monospace;font-size:.85rem;line-height:1.6;white-space:pre;box-sizing:border-box;-webkit-user-select:text;user-select:text;cursor:text}.code-view code{font-family:inherit}.zoom-button--active{background-color:#535bf2;box-shadow:0 0 0 2px #82aaff,0 2px 8px #0000004d}.zoom-button--active:hover{background-color:#4350e0}.mobile-layout{position:relative;width:100%;height:100%;overflow:hidden}.mobile-nav-button{position:fixed;width:48px;height:48px;background-color:#646cff;color:#fff;border:none;border-radius:8px;font-size:1.4rem;cursor:pointer;z-index:900;box-shadow:0 2px 8px #0000004d}.mobile-nav-button:active{background-color:#535bf2}.mobile-nav-button--menu{left:.75rem;top:.75rem}.mobile-arrow-prev{left:.75rem;bottom:.75rem}.mobile-arrow-next{right:.75rem;bottom:.75rem}.mobile-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:950;background-color:#1a1a1a;display:flex;flex-direction:column;animation:drawerIn .2s ease-out}.mobile-drawer .yaml-panel{flex:1;min-height:0}@keyframes drawerIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@media (max-width: 768px){.zoom-button--step{display:none}.zoom-controls{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;left:.75rem;right:.75rem;bottom:.75rem}.scenario-controls{order:2;flex-basis:100%;justify-content:center}.scenario-label{max-width:calc(100vw - 16rem)}.zoom-button,.zoom-indicator{width:44px;height:44px}.scenario-controls .zoom-button{width:38px;height:38px}.collapse-button,.pointers-search-clear{min-width:44px;min-height:44px}.copy-yaml-button{width:40px;height:40px}.view-mode-select{font-size:.85rem;padding:.5rem}.pointers-search-input{font-size:1rem;padding:.5rem .6rem}.yaml-tree{font-size:1rem;line-height:2.1}.pointers-search-result{padding:.55rem 0;font-size:.95rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow:hidden}#root{width:100%;height:100vh;height:100dvh;overflow:hidden}
