@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Sora:wght@400;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text-primary:#d6f6ff;--text-secondary:#9fc7d8;--panel-bg:#060d1ab8;--panel-border:#89d8ff3d;--line-primary:#73f5ff;--line-dim:#73f5ff47;--focus-outline:#ffcb96;--progress-bg:#85d3ff26;--progress-fill:linear-gradient(90deg, #68ddff, #9affb2 58%, #ffb166);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Sora,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:100%;margin:0}#root{min-height:100dvh}body{color:var(--text-primary);overscroll-behavior:none;background:#000;overflow:hidden}button,input,textarea,select{font:inherit}.experience-shell{background:#000;width:100%;height:100dvh;min-height:100svh;position:relative;overflow:hidden}.experience-shell:before,.experience-shell:after{content:none}.canvas-layer{z-index:1;touch-action:none;position:absolute;inset:0}.canvas-layer canvas{touch-action:none;display:block;background:0 0!important}.hud-layer{z-index:2;pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:absolute;inset:0}.manager-nav-button{color:var(--line-primary);letter-spacing:.03em;cursor:pointer;border-radius:10px;padding:.5rem .78rem;font-family:IBM Plex Mono,Consolas,monospace;font-size:.78rem;position:absolute;top:1rem;left:1rem}.panel{pointer-events:auto;border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);background:#060d1a9e;border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff05,0 0 32px #5bd5ff14}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin:0;font-family:IBM Plex Mono,Consolas,monospace;font-size:.68rem}.top-bar{justify-content:space-between;align-items:flex-start;gap:1rem;width:min(940px,100% - 2rem);padding:.95rem 1.25rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.top-bar h1{letter-spacing:.01em;margin:.18rem 0 0;font-size:clamp(1.1rem,2.5vw,1.45rem);font-weight:600}.top-stats{text-align:right}.top-stats p{color:var(--text-secondary);margin:0;font-size:.84rem}.top-stats strong{color:var(--line-primary);text-shadow:0 0 12px #73f5ff70;margin-top:.12rem;font-family:IBM Plex Mono,Consolas,monospace;display:block}.hub-rail{gap:.55rem;width:190px;padding:.85rem;display:grid;position:absolute;top:6.4rem;left:1rem}.hub-chip{color:var(--text-primary);cursor:pointer;background:#081220b8;border:1px solid #89d8ff38;border-radius:10px;align-items:center;gap:.6rem;padding:.55rem .65rem;font-size:.84rem;transition:transform .16s,border-color .16s,background .16s;display:flex}.hub-chip:hover{border-color:#b4ebff80;transform:translate(2px)}.hub-chip.active{background:#0c2034e0;border-color:#c4f3ffcc}.hub-chip-dot{border-radius:999px;flex-shrink:0;width:.55rem;height:.55rem}.node-inspector{-webkit-overflow-scrolling:touch;touch-action:pan-y;gap:.8rem;width:min(380px,100% - 2rem);max-height:min(48vh,560px);padding:1rem;display:grid;position:absolute;bottom:6rem;left:1rem;overflow:auto}.node-inspector::-webkit-scrollbar{width:6px;height:6px}.badge-list::-webkit-scrollbar{width:6px;height:6px}.badge-dock::-webkit-scrollbar{width:6px;height:6px}.node-inspector::-webkit-scrollbar-thumb{background:#82c7eb73;border-radius:999px}.badge-list::-webkit-scrollbar-thumb{background:#82c7eb73;border-radius:999px}.badge-dock::-webkit-scrollbar-thumb{background:#82c7eb73;border-radius:999px}.node-headline{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.node-pill{border:1px solid;border-radius:999px;padding:.18rem .58rem;font-family:IBM Plex Mono,Consolas,monospace;font-size:.72rem}.node-inspector h2{margin:0;font-size:1.05rem}.node-copy{color:var(--text-secondary);margin:0;font-size:.88rem;line-height:1.45}.node-highlights{gap:.36rem;display:grid}.node-highlight-item{color:#c7eaff;border-left:2px solid #89d8ff5c;padding-left:.55rem;font-size:.8rem}.node-inline-link{color:#c7eaff;text-underline-offset:2px;word-break:break-word;text-decoration:underline}.node-inline-link:hover{color:#e9f9ff}.ghost-button{color:var(--line-primary);cursor:pointer;background:#122b4399;border:1px solid #a4e1ff66;border-radius:8px;padding:.45rem .6rem;font-size:.8rem;transition:border-color .16s}.ghost-button:hover{border-color:#b3ecffbf}.child-node-group{gap:.45rem;display:grid}.child-node-grid{flex-wrap:wrap;gap:.45rem;display:flex}.child-node-chip{color:#d3f4ff;cursor:pointer;background:#0a1829c2;border:1px solid #91d6ff47;border-radius:999px;padding:.3rem .7rem;font-size:.75rem}.child-node-chip:hover{border-color:#bdf1ffb3}.badge-dock{scrollbar-width:thin;-webkit-overflow-scrolling:touch;touch-action:pan-y;width:min(336px,100% - 2rem);max-height:min(52vh,560px);padding:.9rem;position:absolute;top:1rem;right:1rem;overflow:auto}.badge-list{align-items:flex-start;gap:.62rem;margin:.7rem 0 0;padding:0;list-style:none;display:grid}.badge-progress{color:var(--text-secondary);letter-spacing:.03em;margin:.38rem 0 0;font-family:IBM Plex Mono,Consolas,monospace;font-size:.76rem}.badge-card{background:#071322ad;border:1px solid #95daff33;border-radius:11px;outline:none;grid-template-columns:auto 1fr;gap:.62rem;padding:.55rem;display:grid}.badge-card:focus-visible{border-color:#b6ebffb8;box-shadow:0 0 14px #73f5ff3d}.badge-icon{border:1px solid;border-radius:8px;place-items:center;width:1.75rem;height:1.75rem;font-family:IBM Plex Mono,Consolas,monospace;display:grid}.badge-title{margin:0;font-size:.8rem;font-weight:600}.badge-copy{color:var(--text-secondary);margin:.2rem 0 0;font-size:.74rem;line-height:1.35;display:block}.empty-copy{color:var(--text-secondary);margin:.6rem 0 0;font-size:.82rem}.badge-toasts{pointer-events:none;justify-items:end;gap:.56rem;width:min(320px,100% - 1rem);display:grid;position:absolute;top:1rem;right:1rem}.badge-toast{background:#05101ef2;border:1px solid #9de3ff75;border-radius:11px;grid-template-columns:auto 1fr;gap:.58rem;width:240px;padding:.58rem .65rem;display:grid;box-shadow:0 0 28px #73f5ff2b}.badge-toast-icon{border:1px solid;border-radius:7px;place-items:center;width:1.5rem;height:1.5rem;font-family:IBM Plex Mono,Consolas,monospace;display:grid}.badge-toast-title{color:#a0cad9;letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:IBM Plex Mono,Consolas,monospace;font-size:.66rem}.badge-toast-copy{margin:.15rem 0 0;font-size:.82rem}.progress-wrap{width:min(820px,100% - 2rem);padding:.78rem 1rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.progress-layout{align-items:center;gap:.85rem;display:flex}.progress-body{flex:1;gap:.42rem;min-width:0;display:grid}.progress-pet{border:1px solid #89d8ff4d;border-radius:10px;flex-shrink:0;width:4.8rem;height:4.8rem;position:relative;overflow:hidden;box-shadow:0 0 18px #73f5ff1f}.progress-pet-bright{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.progress-pet-cell-mask{pointer-events:none;position:absolute;inset:0}.progress-pet-dark-cell{box-shadow:none;background:#000;transition:opacity .28s;position:absolute}.progress-track{background:var(--progress-bg);border-radius:999px;width:100%;height:.55rem;overflow:hidden}.progress-fill{background:var(--progress-fill);height:100%;transition:width .32s;box-shadow:0 0 20px #73f5ff73}.progress-copy{color:var(--text-secondary);margin:0;font-family:IBM Plex Mono,Consolas,monospace;font-size:.78rem}.node-tag{letter-spacing:.06em;color:#d4f8ff;text-transform:uppercase;white-space:nowrap;pointer-events:none;background:#040c18d1;border:1px solid #aaebff4d;border-radius:999px;padding:.16rem .48rem;font-family:IBM Plex Mono,Consolas,monospace;font-size:.58rem}.node-tag-wrap{align-items:flex-start;gap:.55rem;display:inline-flex}.node-tag.hub{color:#f1feff;border-color:#c1f3ffb8;box-shadow:0 0 14px #73f5ff33}@media (width<=1200px){.node-inspector{width:min(340px,50% - 1rem)}.badge-dock{width:min(312px,46% - 1rem)}.progress-wrap{width:calc(100% - 1.5rem);bottom:.75rem}}@media (width<=900px){.panel{border-radius:12px}.manager-nav-button{padding:.42rem .64rem;font-size:.72rem;top:.5rem;left:.5rem}.top-bar{width:calc(100% - 1rem);padding:.75rem .9rem;top:.5rem}.hub-rail{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 1rem);top:5.6rem;left:.5rem}.badge-dock{width:auto;max-height:8.9rem;padding:.62rem .68rem;top:.95rem;left:.5rem;right:.5rem}.badge-list{align-items:flex-start;gap:.5rem;margin-top:.45rem;padding-bottom:.14rem;display:flex;overflow:auto hidden}.empty-copy{display:none}.badge-card{flex:none;min-width:168px;padding:.48rem}.node-inspector{width:auto;max-height:min(31vh,340px);padding:.74rem;bottom:5.1rem;left:.5rem;right:.5rem}.progress-wrap{width:auto;padding:.5rem .64rem;bottom:.5rem;left:.5rem;right:.5rem;transform:none}.progress-layout{gap:.55rem}.progress-pet{width:3.55rem;height:3.55rem}.badge-toasts{justify-items:center;width:min(92vw,300px);top:clamp(5.4rem,20vh,8.5rem);left:50%;right:auto;transform:translate(-50%)}.badge-toast{width:100%}.progress-copy{font-size:.7rem}.node-tag{letter-spacing:.04em;padding:.2rem .58rem;font-size:.66rem}}@media (width<=640px){.top-bar{gap:.4rem}.top-stats{text-align:left}.hub-rail{grid-template-columns:1fr}.badge-dock{max-height:8.4rem;padding:.5rem .58rem}.badge-progress{margin-top:.24rem;font-size:.69rem}.badge-copy{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.14rem;font-size:.67rem;line-height:1.25;display:-webkit-box;overflow:hidden}.badge-card{min-width:168px;padding:.4rem}.node-inspector{max-height:30vh;padding:.66rem;bottom:4.85rem}.node-inspector h2{font-size:.94rem}.node-copy{font-size:.78rem;line-height:1.34}.node-highlight-item{padding-left:.44rem;font-size:.73rem}.progress-pet{width:3.05rem;height:3.05rem}.progress-wrap{padding:.42rem .56rem}.badge-toasts{top:clamp(4.9rem,19vh,7.8rem)}.child-node-chip{padding:.26rem .6rem;font-size:.7rem}}@media (width<=430px){.eyebrow{font-size:.62rem}.badge-dock{max-height:8rem}.badge-card{min-width:154px}.badge-icon{width:1.5rem;height:1.5rem}.badge-title{font-size:.74rem}.node-inspector{max-height:27vh;bottom:4.55rem}.progress-pet{border-radius:8px;width:2.35rem;height:2.35rem;display:block}.progress-body{gap:.34rem}.progress-track{height:.48rem}.progress-copy{font-size:.68rem}.node-tag{padding:.18rem .5rem;font-size:.62rem}}.node-manager-shell{width:100%;height:100dvh;min-height:100dvh;color:var(--text-primary);touch-action:pan-y;overscroll-behavior:contain;background:#03060e;grid-template-rows:auto 1fr auto;gap:.85rem;padding:1rem;display:grid;overflow:hidden auto}.node-manager-topbar{justify-content:space-between;align-items:flex-start;gap:.9rem;padding:.9rem;display:flex}.node-manager-topbar h1{margin:.2rem 0 0;font-size:clamp(1.08rem,2.2vw,1.4rem)}.node-manager-description{color:var(--text-secondary);max-width:760px;margin:.45rem 0 0;font-size:.85rem;line-height:1.4}.node-manager-toolbar{justify-items:end;gap:.5rem;width:min(280px,100%);display:grid}.node-manager-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:.85rem;min-height:0;display:grid;overflow:hidden}.node-manager-list,.node-manager-editor,.node-manager-footer{padding:.78rem}.node-manager-list,.node-manager-editor{gap:.68rem;min-height:0;display:grid}.node-manager-list{grid-template-rows:auto 1fr}.node-manager-list-header{gap:.55rem;display:grid}.node-manager-list-actions{gap:.45rem;display:flex}.node-manager-items{-webkit-overflow-scrolling:touch;align-content:start;gap:.45rem;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.node-manager-item{text-align:left;width:100%;color:inherit;cursor:pointer;background:#07101eb8;border:1px solid #78bee140;border-radius:10px;padding:.52rem .6rem}.node-manager-item.active{border-color:#93e6ffad;box-shadow:0 0 14px #73f5ff33}.node-manager-item-title{margin:0;font-size:.84rem;font-weight:600}.node-manager-item-meta{color:var(--text-secondary);margin:.24rem 0 0;font-family:IBM Plex Mono,Consolas,monospace;font-size:.72rem}.node-manager-item-badges{color:#ffd89e;letter-spacing:.05em;margin:.3rem 0 0;font-family:IBM Plex Mono,Consolas,monospace;font-size:.68rem}.node-manager-editor{-webkit-overflow-scrolling:touch;overflow:auto}.node-manager-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.62rem;display:grid}.node-manager-field{gap:.36rem;display:grid}.node-manager-field span{color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;font-family:IBM Plex Mono,Consolas,monospace;font-size:.72rem}.node-manager-field.span-2{grid-column:span 2}.node-manager-input,.node-manager-select,.node-manager-textarea{width:100%;color:var(--text-primary);background:#060e1cd1;border:1px solid #78bee147;border-radius:8px;padding:.48rem .56rem}.node-manager-textarea{resize:vertical;min-height:84px}.node-manager-input:focus,.node-manager-select:focus,.node-manager-textarea:focus{border-color:#9fe7ffd1;outline:1px solid #9fe7ffd1}.node-manager-button{color:var(--text-primary);cursor:pointer;background:#0e2035b3;border:1px solid #96d6f557;border-radius:8px;padding:.45rem .68rem;font-family:IBM Plex Mono,Consolas,monospace;font-size:.76rem}.node-manager-button:disabled{opacity:.55;cursor:not-allowed}.node-manager-button.primary{color:#c9f9ff;border-color:#a0f5ffb3}.node-manager-button.danger{color:#ffd6d6;border-color:#ffa4a494}.node-manager-button.compact{padding:.4rem .5rem;font-size:.72rem}.node-manager-empty{color:var(--text-secondary);margin:0}.node-manager-footer{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.node-manager-status,.node-manager-diagnostics{margin:0;font-family:IBM Plex Mono,Consolas,monospace;font-size:.76rem}.node-manager-status{color:#afe6ff}.node-manager-diagnostics{color:var(--text-secondary)}@media (width<=1000px){.node-manager-shell{grid-template-rows:auto auto auto;padding:.7rem}.node-manager-topbar{gap:.7rem;display:grid}.node-manager-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;width:100%}.node-manager-layout{grid-template-columns:1fr;min-height:auto;overflow:visible}.node-manager-list{max-height:none}.node-manager-footer{justify-content:stretch;display:grid}}@media (width<=640px){.node-manager-field-grid{grid-template-columns:1fr}.node-manager-field.span-2{grid-column:span 1}.node-manager-toolbar{grid-template-columns:1fr}.node-manager-list-actions{grid-template-columns:1fr 1fr;display:grid}}
