*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.border{border-width:1px}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--bg-base: #0f0f0f;--bg-mantle: #1c1c1c;--bg-crust: #181818;--bg-surface0: #252525;--bg-surface1: #2a2a2a;--bg-surface2: #2e2e2e;--border: rgba(255,255,255,.07);--border-active: #d4f53c;--text: #f0f0ee;--text-sub: #c8c8c6;--text-muted: #888880;--text-faint: #555550;--accent: #d4f53c;--accent-alt: #8aaa18;--accent-bg: #1a2200;--accent-border: rgba(212,245,60,.2);--success: #d4f53c;--success-bg: #1a2200;--success-border: rgba(212,245,60,.2);--warning: #ea9d34;--warning-bg: #2a1500;--warning-border: rgba(234,157,52,.3);--danger: #e08080;--danger-bg: #2a0808;--danger-border: rgba(224,128,128,.25);--info: #d4f53c;--info-bg: #1a2200;--info-border: rgba(212,245,60,.15);--node-user: #d4f53c;--node-company: #ea9d34;--node-skill: #d4f53c;--node-gap: #e08080;--node-hackathon: #c4a0f4;--node-edge: rgba(255,255,255,.12);--shadow-card: 0 1px 3px rgba(0,0,0,.5), 0 1px 2px rgba(0,0,0,.4);--shadow-panel: 0 4px 20px rgba(0,0,0,.6);--shadow-input: 0 0 0 2px rgba(212,245,60,.2);--shadow-modal: 0 8px 32px rgba(0,0,0,.7);--circle-1: #d4f53c;--circle-2: #ea9d34;--circle-3: #e08080;--circle-4: #c4a0f4;--bubble-user-bg: #d4f53c;--bubble-user-text: #0f0f0f;--bubble-bot-bg: #1c1c1c;--bubble-bot-text: #f0f0ee;--bubble-bot-border: rgba(255,255,255,.07);--topbar-height: 48px;--sidebar-width: 240px;--panel-width: 320px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg-base);scroll-behavior:smooth}body{min-width:320px;min-height:100vh;background:var(--bg-base);color:var(--text);font-family:JetBrains Mono,Courier New,monospace;font-size:14px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}button,input,select,textarea{font:inherit}button{border:0}a{color:var(--accent)}::-moz-selection{background:var(--accent-bg);color:var(--text)}::selection{background:var(--accent-bg);color:var(--text)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{border-radius:999px;background:var(--bg-surface2)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.vis-tooltip{max-width:220px!important;padding:8px 12px!important;border:1px solid var(--border)!important;border-radius:10px!important;background:var(--bg-mantle)!important;box-shadow:var(--shadow-panel)!important;color:var(--text)!important;font-family:JetBrains Mono,monospace!important;font-size:11px!important}@keyframes pulse-dot{0%,to{box-shadow:0 0 #d4f53c4d;opacity:1}50%{box-shadow:0 0 0 5px #d4f53c00;opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide-panel{0%{transform:translate(320px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes bottom-sheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.animate-fade-up{animation:fade-up .4s cubic-bezier(.16,1,.3,1) both}.animate-pulse-dot{animation:pulse-dot 2s ease-in-out infinite}.app-shell{width:100vw;height:100vh;overflow:hidden;background:var(--bg-base)}.graph-layout{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);width:100%;height:100%}.graph-layout.panel-open{grid-template-columns:var(--sidebar-width) minmax(0,1fr) var(--panel-width)}.sidebar{position:relative;z-index:30;display:flex;height:100vh;min-width:0;flex-direction:column;overflow-y:auto;border-right:1px solid var(--border);background:var(--bg-mantle)}.sidebar-top{padding:16px}.wordmark-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.wordmark{margin:0;color:var(--text);font-size:15px;font-weight:700;letter-spacing:-.3px}.event-badge,.badge,.count-badge,.node-type-badge{display:inline-flex;align-items:center;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap}.event-badge{margin-top:8px;padding:2px 8px;background:var(--accent-bg);color:var(--accent);font-size:11px}.sidebar-divider{height:1px;margin:8px 0;background:var(--border)}.sidebar-tabs{display:flex;gap:16px;padding:0 16px 10px}.sidebar-tab{height:30px;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px}.sidebar-tab.active{border-bottom-color:var(--accent);color:var(--text);font-weight:600}.sidebar-section{padding:8px 8px 0}.section-header,.panel-section-title,.legend-title{margin:0 0 6px;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.section-header{padding:6px 12px}.sidebar-item{width:100%;min-height:36px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:6px;background:transparent;color:var(--text-sub);cursor:pointer;text-align:left}.sidebar-item:hover{background:var(--bg-surface1)}.sidebar-item.active{background:var(--accent-bg);color:var(--accent);font-weight:500}.sidebar-item.indent{padding-left:20px}.sidebar-icon{width:16px;height:16px;flex:0 0 16px}.sidebar-item-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.sidebar-stack{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;color:var(--text-muted);font-size:10px}.dot{width:8px;height:8px;flex:0 0 8px;border-radius:999px;background:var(--text-muted)}.dot.known{background:var(--success)}.dot.gap{background:var(--danger)}.count-badge{margin-left:auto;padding:1px 6px;font-size:10px;font-weight:500}.count-badge.success{background:var(--success-bg);color:var(--success)}.count-badge.danger{background:var(--danger-bg);color:var(--danger)}.count-badge.blue,.count-badge.info{background:var(--info-bg);color:var(--info)}.count-badge.warning{background:var(--warning-bg);color:var(--warning)}.sidebar-bottom{margin-top:auto;padding:12px;border-top:1px solid var(--border);background:var(--bg-mantle)}.caption{margin:0;color:var(--text-sub);font-size:12px}.memory-active{display:flex;align-items:center;gap:7px;margin-top:6px;color:var(--success);font-size:12px}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse-dot 1.8s ease-in-out infinite}.sidebar-actions{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-top:1px solid var(--border)}.sidebar-action-btn{display:flex;align-items:center;gap:9px;width:100%;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--text-sub);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background .12s,color .12s}.sidebar-action-btn:hover{background:var(--bg-surface1);color:var(--text)}.sidebar-action-btn.active{background:var(--accent-bg);color:var(--accent)}.list-search{position:relative;margin:4px 12px 10px}.list-search svg{position:absolute;left:10px;top:8px;width:16px;height:16px;color:var(--text-muted)}.list-search input{width:100%;height:32px;padding:0 10px 0 32px;border:1px solid var(--border);border-radius:6px;outline:0;background:var(--bg-surface0);color:var(--text);font-size:13px;transition:border-color .15s}.list-search input:focus{border-color:var(--border-active);box-shadow:var(--shadow-input)}.list-search input::-moz-placeholder{color:var(--text-faint)}.list-search input::placeholder{color:var(--text-faint)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px 8px}.chip{height:26px;padding:0 9px;border:1px solid transparent;border-radius:4px;background:var(--bg-surface0);color:var(--text-sub);cursor:pointer;font-size:12px}.chip.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.graph-zone{position:relative;min-width:0;height:100vh;overflow:hidden;background:var(--bg-base)}.graph-topbar{position:absolute;inset:0 0 auto 0;z-index:20;height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-mantle);box-shadow:var(--shadow-card)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:8px;min-width:0}.topbar-title{color:var(--text);font-size:14px;font-weight:600}.topbar-stats{color:var(--text-muted);font-size:13px}.topbar-separator{width:1px;height:20px;background:var(--border)}.segmented{display:inline-flex;gap:2px;padding:3px;border-radius:6px;background:var(--bg-surface0);border:1px solid var(--border)}.segment-button{height:28px;padding:0 12px;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:13px;transition:background .1s,color .1s}.segment-button.active{background:var(--bg-mantle);color:var(--text);box-shadow:var(--shadow-card)}.icon-button{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s}.icon-button:hover{background:var(--bg-surface0);color:var(--text)}.graph-canvas{width:100%;height:100%;padding-top:var(--topbar-height)}.graph-network{width:100%;height:100%;background:var(--bg-base)}.node-legend{position:absolute;left:16px;bottom:16px;z-index:15;width:180px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-mantle);box-shadow:var(--shadow-panel)}.legend-row{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--text-sub);font-size:12px}.legend-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%}.minimap{position:absolute;right:16px;bottom:16px;z-index:15;width:120px;height:80px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg-mantle)}.minimap-svg{width:100%;height:100%;background:var(--bg-mantle)}.memory-banner{position:absolute;top:var(--topbar-height);left:0;right:0;z-index:18;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--warning-border);background:var(--warning-bg)}.memory-copy{display:grid;gap:2px;color:var(--text-sub);font-size:13px}.memory-label{display:flex;align-items:center;gap:6px;color:var(--warning);font-size:12px;font-weight:600}.urgent-pill{display:inline-flex;align-items:center;height:24px;padding:0 10px;border:1px solid var(--warning-border);border-radius:999px;background:var(--warning-bg);color:var(--warning);font-size:12px}.memory-foot{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px}.detail-panel{position:relative;z-index:25;display:flex;height:100vh;min-width:0;flex-direction:column;border-left:1px solid var(--border);background:var(--bg-mantle);box-shadow:-2px 0 12px #0000000f;animation:slide-panel .22s ease both}.panel-header{height:52px;flex:0 0 52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;border-bottom:1px solid var(--border)}.panel-title-wrap{min-width:0;display:flex;align-items:center;gap:8px}.panel-title{min-width:0;overflow:hidden;color:var(--text);font-size:16px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.node-type-badge{padding:2px 7px;font-size:11px;font-weight:500;letter-spacing:.03em;text-transform:uppercase}.node-type-badge.startup{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.node-type-badge.skill,.node-type-badge.skill_known{background:var(--info-bg);color:var(--info);border:1px solid var(--info-border)}.node-type-badge.gap,.node-type-badge.skill_gap{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.node-type-badge.hackathon{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border)}.node-type-badge.user{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.panel-close{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:18px}.panel-close:hover{background:var(--bg-surface1);color:var(--text)}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:16px}.panel-section{padding:16px 0;border-top:1px solid var(--border)}.panel-section:first-child{padding-top:0;border-top:0}.score-number{color:var(--accent);font-size:36px;font-weight:700;line-height:1}.progress-track{height:6px;overflow:hidden;border-radius:3px;background:var(--bg-surface1)}.progress-fill{height:100%;border-radius:inherit}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.pill{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:3px 10px;border-radius:999px;font-size:12px}.pill.known{border:1px solid var(--success-border);background:var(--success-bg);color:var(--success)}.pill.missing{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger)}.pill.neutral{border-radius:4px;background:var(--bg-surface0);color:var(--text-sub)}.pill.orange{border-radius:6px;background:var(--warning-bg);color:var(--warning)}.detail-row{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px}.detail-row span:first-child{color:var(--text-muted)}.detail-row span:last-child{color:var(--text);font-weight:500;text-align:right}.panel-actions{flex:0 0 auto;padding:12px 16px;border-top:1px solid var(--border);background:var(--bg-mantle)}.btn{width:100%;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;transition:filter .15s,background .15s}.btn-primary{background:var(--accent);color:var(--bg-base)}.btn-primary:hover{filter:brightness(1.08)}.btn-success{background:var(--success);color:var(--bg-base)}.btn-outline{margin-top:8px;border:1px solid var(--border);background:transparent;color:var(--text-sub)}.btn-outline:hover{background:var(--bg-surface0);color:var(--text)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--bg-surface0);color:var(--text-sub);font-size:18px;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-box{padding:12px;border-radius:8px;background:var(--bg-surface0);border:1px solid var(--border)}.stat-box strong{display:block;color:var(--text);font-size:20px}.stat-box span{color:var(--text-muted);font-size:11px}.timeline-mini{display:grid;gap:10px}.timeline-mini-item{display:grid;grid-template-columns:10px minmax(0,1fr);gap:8px;color:var(--text-sub);font-size:12px;line-height:1.35}.stack-screen,.loading-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg-base)}.loading-card,.stack-card{width:min(100%,520px);padding:40px;border:1px solid var(--border);border-radius:12px;background:var(--bg-mantle);box-shadow:var(--shadow-panel);text-align:center}.stack-card{text-align:left}.stack-logo-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stack-logo{color:var(--text);font-size:20px;font-weight:700}.stack-title{margin:24px 0 6px;color:var(--text);font-size:22px;font-weight:700}.stack-subtitle{margin:0 0 22px;color:var(--text-sub);font-size:14px}.field-label{display:block;margin:0 0 8px;color:var(--text);font-size:13px;font-weight:500}.tag-input{position:relative;min-height:80px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface0);cursor:text;transition:border-color .15s,box-shadow .15s}.tag-input:focus-within{border-color:var(--border-active);box-shadow:var(--shadow-input)}.tag-input input{min-width:160px;flex:1;height:28px;border:0;outline:0;background:transparent;color:var(--text);font-size:14px}.tag-input input::-moz-placeholder{color:var(--text-faint)}.tag-input input::placeholder{color:var(--text-faint)}.skill-tag{height:26px;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid var(--accent-border);border-radius:999px;background:var(--accent-bg);color:var(--accent);font-size:12px}.tag-remove{background:transparent;color:var(--accent);cursor:pointer}.autocomplete{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:10;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--bg-mantle);box-shadow:var(--shadow-panel)}.autocomplete button{width:100%;height:36px;padding:0 12px;background:transparent;color:var(--text);cursor:pointer;text-align:left;font-size:14px}.autocomplete button:hover{background:var(--bg-surface0)}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-button{height:36px;flex:1;min-width:105px;border:1px solid var(--border);border-radius:6px;background:var(--bg-surface0);color:var(--text-sub);cursor:pointer;font-size:13px;transition:background .1s,border-color .1s,color .1s}.choice-button.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.submit-button{width:100%;height:40px;margin-top:24px;border-radius:6px;background:var(--accent);color:var(--bg-base);cursor:pointer;font-size:14px;font-weight:500;transition:filter .15s}.submit-button:hover{filter:brightness(1.08)}.submit-button:disabled{cursor:not-allowed;opacity:.45}.spinner{width:34px;height:34px;margin:0 auto 16px;border:3px solid var(--accent-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.mobile-tabs,.hamburger,.mobile-search,.overlay-scrim{display:none}.ingest-panel{display:flex;flex-direction:column;gap:0;padding:0;flex:1;overflow:hidden}.ingest-header{padding:16px 20px 12px;border-bottom:1px solid var(--border)}.ingest-title{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.ingest-subtitle{margin:0;font-size:12px;color:var(--text-muted);line-height:1.5}.ingest-tabs{display:flex;gap:0;padding:12px 16px 0}.ingest-tab{padding:6px 12px;border:1px solid var(--border);background:transparent;color:var(--text-sub);font-size:12px;font-weight:500;cursor:pointer;transition:all .1s}.ingest-tab:first-child{border-radius:6px 0 0 6px}.ingest-tab:last-child{border-radius:0 6px 6px 0;border-left:0}.ingest-tab:not(:first-child):not(:last-child){border-left:0}.ingest-tab.active{background:var(--accent);border-color:var(--accent);color:var(--bg-base)}.ingest-input-area{padding:12px 16px 0}.ingest-textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface0);color:var(--text);font-size:13px;line-height:1.5;resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s;font-family:inherit}.ingest-textarea:focus{border-color:var(--border-active);box-shadow:var(--shadow-input);background:var(--bg-mantle)}.ingest-textarea::-moz-placeholder{color:var(--text-faint)}.ingest-textarea::placeholder{color:var(--text-faint)}.drop-zone{min-height:120px;border:2px dashed var(--border);border-radius:10px;background:var(--bg-surface0);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .15s;position:relative;overflow:hidden}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-bg)}.drop-zone.has-image{cursor:default;border-style:solid}.drop-zone-placeholder{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-muted);font-size:13px;padding:20px;text-align:center}.drop-zone-hint{font-size:11px;color:var(--text-faint)}.upload-icon{width:32px;height:32px;opacity:.5}.drop-zone-preview{position:relative;width:100%}.screenshot-preview{width:100%;max-height:160px;-o-object-fit:cover;object-fit:cover;display:block}.clear-image{position:absolute;top:6px;right:6px;padding:3px 8px;border-radius:4px;background:#00000080;color:#fff;font-size:11px;cursor:pointer;border:0}.hidden-file-input{display:none}.ingest-footer{padding:12px 16px;display:flex;flex-direction:column;gap:10px}.ingest-suggestions{display:flex;flex-wrap:wrap;gap:6px}.suggestion-chip{padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-sub);font-size:11px;cursor:pointer;transition:all .1s;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.suggestion-chip:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-bg)}.ingest-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.ingest-submit kbd{display:inline-block;padding:1px 5px;border-radius:3px;background:#ffffff40;font-size:10px;font-family:inherit}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.ingest-log{padding:0 16px 16px;flex:1;overflow-y:auto}.ingest-log-title{margin:0 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.log-entry{padding:4px 0;font-size:12px;line-height:1.4;border-bottom:1px solid var(--border)}.log-info{color:var(--text-sub)}.log-success{color:var(--success)}.log-error{color:var(--danger)}.log-warn{color:var(--warning)}.chat-interface{display:flex;flex-direction:column;height:100%;overflow:hidden}.chat-header{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-title{font-size:13px;font-weight:600;color:var(--text)}.chat-badge{margin-left:auto;padding:2px 8px;border-radius:999px;background:var(--bg-surface0);color:var(--text-muted);font-size:11px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;padding:24px;text-align:center}.chat-empty-icon{color:var(--text-faint);margin-bottom:4px}.chat-empty-title{margin:0;font-size:14px;font-weight:600;color:var(--text)}.chat-empty-sub{margin:0;font-size:12px;color:var(--text-muted);line-height:1.5;max-width:220px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.chat-message{display:flex;flex-direction:column;gap:4px}.chat-message.user{align-items:flex-end}.chat-message.assistant{align-items:flex-start}.chat-bubble{max-width:88%;padding:10px 13px;border-radius:12px;font-size:13px;line-height:1.5}.chat-message.user .chat-bubble{background:var(--bubble-user-bg);color:var(--bubble-user-text);border-radius:12px 12px 3px}.chat-message.assistant .chat-bubble{background:var(--bubble-bot-bg);color:var(--bubble-bot-text);border:1px solid var(--bubble-bot-border);border-radius:12px 12px 12px 3px}.chat-text{margin:0}.chat-citations{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.citation-chip{padding:2px 7px;border-radius:4px;background:var(--info-bg);border:1px solid var(--info-border)}.citation-key{font-size:11px;color:var(--info);font-weight:500}.chat-time{font-size:10px;color:var(--text-muted);padding:0 4px}.typing-dots{display:flex;gap:4px;align-items:center;height:18px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typing-bounce 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.chat-input-area{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0}.chat-input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface0);color:var(--text);font-size:13px;line-height:1.4;resize:none;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}.chat-input:focus{border-color:var(--border-active);box-shadow:var(--shadow-input);background:var(--bg-mantle)}.chat-send{width:36px;height:36px;border-radius:8px;background:var(--accent);color:var(--bg-base);border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:filter .1s,opacity .1s}.chat-send:hover:not(:disabled){filter:brightness(1.08)}.chat-send:disabled{opacity:.4;cursor:not-allowed}.roadmap-view{display:flex;flex-direction:column;height:100%;overflow-y:auto}.roadmap-header{padding:16px 20px;border-bottom:1px solid var(--border)}.roadmap-title{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--text)}.roadmap-summary{margin:0;font-size:13px;color:var(--text-sub);line-height:1.5}.roadmap-weeks{display:flex;flex-direction:column;gap:0;padding:8px 0}.week-card{border-bottom:1px solid var(--border)}.week-header{display:flex;align-items:center;gap:10px;width:100%;padding:14px 20px;background:transparent;border:0;cursor:pointer;text-align:left;transition:background .1s}.week-header:hover{background:var(--bg-surface0)}.week-meta{display:flex;flex-direction:column;gap:2px;flex:1}.week-number{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.week-theme{font-size:14px;font-weight:600;color:var(--text)}.week-focus{padding:3px 8px;border-radius:999px;background:var(--accent-bg);color:var(--accent);font-size:11px;font-weight:500;white-space:nowrap;border:1px solid var(--accent-border)}.week-chevron{transition:transform .2s;color:var(--text-muted);flex-shrink:0}.week-card.open .week-chevron{transform:rotate(180deg)}.week-body{padding:0 20px 16px;display:flex;flex-direction:column;gap:14px}.week-section-title{margin:0 0 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.week-tasks{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.week-task{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:var(--text);line-height:1.4}.task-check{width:14px;height:14px;border:1.5px solid var(--border);border-radius:3px;flex-shrink:0;margin-top:1px}.week-resources{display:flex;flex-direction:column;gap:6px}.resource-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface0);color:var(--text);font-size:12px;text-decoration:none;transition:background .1s,border-color .1s}.resource-link:hover{background:var(--bg-surface1);border-color:var(--accent-border);color:var(--text)}.resource-type{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.week-milestone{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:8px;background:var(--success-bg);border:1px solid var(--success-border);font-size:13px;color:var(--success);line-height:1.4}.milestone-icon{flex-shrink:0}.roadmap-loading,.roadmap-error,.roadmap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-muted);font-size:13px;text-align:center}.opening-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:var(--bg-base)}.opening-blob{position:absolute;border-radius:50%;pointer-events:none;opacity:.08;filter:blur(60px);animation:float linear infinite}.opening-card{position:relative;z-index:10;width:100%;max-width:480px;padding:44px 40px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:var(--bg-mantle);box-shadow:var(--shadow-panel)}.opening-logo-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}.opening-dots{display:flex;gap:4px}.opening-dot{display:block;width:9px;height:9px;border-radius:3px;opacity:.9}.opening-wordmark{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--text)}.opening-hackathon-badge{padding:3px 10px;border-radius:999px;background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);font-size:11px;font-weight:500}.opening-tagline{margin:0 0 20px;color:var(--text-sub);font-size:13px}.opening-divider{height:1px;background:var(--border);margin:20px 0}.opening-heading{margin:0 0 8px;color:var(--text);font-size:18px;font-weight:600;letter-spacing:-.3px}.opening-body{margin:0;color:var(--text-sub);font-size:13px;line-height:1.65}.opening-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.opening-feature-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:500}.opening-label{display:block;margin-bottom:8px;color:var(--text-sub);font-size:13px;font-weight:500}.opening-input-wrap{position:relative;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:72px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--bg-surface0);cursor:text;transition:border-color .15s,box-shadow .15s}.opening-input-wrap:focus-within{border-color:var(--border-active);box-shadow:var(--shadow-input)}.opening-skill-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent);font-size:12px}.opening-skill-remove{background:transparent;color:var(--text-muted);border:0;cursor:pointer;padding:0;line-height:1;font-size:14px;transition:color .1s}.opening-skill-remove:hover{color:var(--danger)}.opening-skill-input{flex:1;min-width:120px;border:0;outline:0;background:transparent;color:var(--text);font-size:13px;font-family:inherit;line-height:28px}.opening-skill-input::-moz-placeholder{color:var(--text-faint)}.opening-skill-input::placeholder{color:var(--text-faint)}.opening-autocomplete{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;border:1px solid var(--border);border-radius:10px;background:var(--bg-mantle);overflow:hidden;box-shadow:var(--shadow-panel)}.opening-autocomplete-item{display:block;width:100%;padding:9px 14px;text-align:left;background:transparent;color:var(--text);font-size:13px;border:0;cursor:pointer;transition:background .1s}.opening-autocomplete-item:hover{background:var(--bg-surface0)}.skill-category{margin-bottom:14px}.skill-category-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 7px}.skill-btn-row{display:flex;flex-wrap:wrap;gap:6px}.skill-btn{padding:5px 11px;border-radius:7px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:4px;font-family:inherit;line-height:1.4}.skill-btn:hover{filter:brightness(.94);transform:translateY(-1px)}.skill-btn-icon{font-size:10px;flex-shrink:0}.skill-btn--neutral{background:transparent;border:1px solid var(--border);color:var(--text-muted)}.skill-btn--know-well{background:var(--info-bg);border:1px solid var(--info-border);color:var(--info)}.skill-btn--learning{background:var(--warning-bg);border:1px dashed var(--warning-border);color:var(--warning)}.opening-row-group{margin-bottom:16px}.opening-small-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 8px}.opening-toggle-row{display:flex;flex-wrap:wrap;gap:6px}.opening-toggle{padding:5px 12px;border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--text-sub);font-family:inherit;transition:all .15s}.opening-toggle:hover{background:var(--bg-surface0);border-color:var(--bg-surface2);color:var(--text)}.opening-toggle.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent)}.opening-error{margin:10px 0 0;padding:8px 12px;border-radius:8px;background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);font-size:12px}.opening-cta{display:block;width:100%;margin-top:22px;padding:13px 0;border:0;border-radius:10px;font-size:14px;font-weight:600;letter-spacing:-.2px;transition:filter .15s,transform .1s;cursor:pointer}.opening-cta:not(:disabled):hover{filter:brightness(1.06);transform:scale(1.005)}.opening-footer{margin:12px 0 0;color:var(--text-faint);font-size:11px;text-align:center}@media (max-width: 520px){.opening-card{padding:32px 24px}}.journey-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.journey-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.journey-heading{font-size:15px;font-weight:700;color:var(--text);margin:0}.journey-list{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:0}.journey-entry{display:flex;gap:14px;position:relative}.journey-line{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:32px}.journey-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-surface0);z-index:1}.journey-connector{width:2px;flex:1;min-height:16px;background:var(--border);margin:4px 0}.journey-entry:last-child .journey-connector{display:none}.journey-card{flex:1;padding:10px 14px;background:var(--bg-base);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;transition:border-color .15s,box-shadow .15s}.journey-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow-card)}.journey-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;gap:8px}.journey-type-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.05em}.journey-time{font-size:11px;color:var(--text-faint);flex-shrink:0}.journey-title{font-size:13px;font-weight:600;color:var(--text);margin:0 0 4px}.journey-desc{font-size:12px;color:var(--text-muted);margin:0 0 8px;line-height:1.5}.journey-tags{display:flex;flex-wrap:wrap;gap:5px}.journey-tag{font-size:10px;font-weight:500;padding:2px 8px;border-radius:20px;border:1px solid}.journey-empty{padding:24px 20px;text-align:center}.journey-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px}.empty-graph-state{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-base);padding:32px 24px;overflow-y:auto}.empty-graph-inner{max-width:520px;width:100%;text-align:center}.empty-graph-icon{margin-bottom:20px;opacity:.85}.empty-graph-title{font-size:20px;font-weight:700;color:var(--text);margin:0 0 10px}.empty-graph-body{font-size:13px;color:var(--text-sub);line-height:1.65;margin:0 0 28px}.empty-graph-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}.empty-graph-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 10px;border-radius:12px;border:1px solid var(--border);background:var(--bg-surface0);cursor:pointer;transition:border-color .15s,background .15s,transform .1s;text-align:center}.empty-graph-card:hover{border-color:var(--accent);background:var(--accent-bg);transform:translateY(-2px)}.empty-graph-card-icon{font-size:22px;line-height:1}.empty-graph-card-label{font-size:12px;font-weight:600;color:var(--text);line-height:1.3}.empty-graph-card-sub{font-size:11px;color:var(--text-faint);line-height:1.4}.empty-graph-browse{display:flex;flex-direction:column;align-items:center;gap:10px}.empty-graph-browse-label{font-size:12px;color:var(--text-muted)}.empty-graph-browse-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}@media (max-width: 1279px) and (min-width: 1024px){:root{--sidebar-width: 200px;--panel-width: 280px}.minimap{display:none}}@media (max-width: 1023px) and (min-width: 768px){:root{--sidebar-width: 52px;--panel-width: 260px}.sidebar{overflow:visible}.sidebar-top .event-badge,.sidebar-divider,.sidebar-tabs,.section-header,.sidebar-stack,.sidebar-bottom,.count-badge{display:none}.sidebar-top{padding:12px 8px}.wordmark{width:32px;overflow:hidden;font-size:0}.wordmark:before{content:"D";width:32px;height:32px;display:grid;place-items:center;border-radius:8px;background:var(--accent-bg);color:var(--accent);font-size:15px}.sidebar-section{padding:4px 8px}.sidebar-item{justify-content:center;padding:0}.sidebar-item-text{position:absolute;left:48px;z-index:80;display:none;width:-moz-max-content;width:max-content;max-width:180px;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-mantle);box-shadow:var(--shadow-panel);color:var(--text)}.sidebar-item:hover .sidebar-item-text{display:block}.dot{display:none}.hamburger{display:inline-grid}.overlay-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:block;background:#57527959}.sidebar-overlay{position:fixed;inset:0 auto 0 0;z-index:100;width:240px;background:var(--bg-mantle);box-shadow:var(--shadow-modal)}.sidebar-overlay .sidebar{width:240px}.sidebar-overlay .sidebar-top .event-badge,.sidebar-overlay .sidebar-divider,.sidebar-overlay .sidebar-tabs,.sidebar-overlay .section-header,.sidebar-overlay .sidebar-stack,.sidebar-overlay .sidebar-bottom,.sidebar-overlay .count-badge{display:flex}.sidebar-overlay .section-header,.sidebar-overlay .sidebar-divider{display:block}.sidebar-overlay .wordmark{width:auto;overflow:visible;font-size:15px}.sidebar-overlay .wordmark:before{content:none}.sidebar-overlay .sidebar-item{justify-content:flex-start;padding:0 12px}.sidebar-overlay .sidebar-item-text{position:static;display:block;width:auto;max-width:none;padding:0;border:0;box-shadow:none;color:inherit}}@media (max-width: 767px){:root{--sidebar-width: 0px;--panel-width: 100vw;--topbar-height: 52px}.graph-layout,.graph-layout.panel-open{display:block}.sidebar{display:none}.graph-zone{width:100vw;height:100vh;padding-bottom:60px}.graph-topbar{height:52px}.topbar-stats,.topbar-separator,.segmented,.desktop-actions,.hamburger{display:none}.mobile-search{width:40px;height:40px;display:inline-grid}.graph-canvas{height:calc(100vh - 60px);padding-top:52px}.node-legend,.minimap{display:none}.mobile-tabs{position:fixed;left:0;right:0;bottom:0;z-index:70;height:60px;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);background:var(--bg-mantle)}.mobile-tab{display:grid;place-items:center;align-content:center;gap:3px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:10px}.mobile-tab.active{color:var(--accent)}.mobile-tab svg{width:20px;height:20px}.detail-panel{position:fixed;left:0;right:0;bottom:0;z-index:90;width:100vw;height:72vh;border:0;border-radius:12px 12px 0 0;box-shadow:var(--shadow-modal);animation:bottom-sheet .25s ease both}.detail-panel:before{content:"";width:32px;height:4px;margin:10px auto 0;flex:0 0 4px;border-radius:999px;background:var(--border);display:block}.memory-banner{grid-template-columns:1fr auto;align-items:start}.memory-banner .pill-row{grid-column:1 / -1}.memory-banner .panel-close{grid-column:2;grid-row:1;justify-self:end}.memory-foot{grid-column:1 / -1}.stack-card{padding:28px 20px}.empty-graph-cards{grid-template-columns:1fr}}@media (max-width: 374px){.mobile-tab span{display:none}.mobile-tab svg{width:22px;height:22px}.stack-screen{padding:12px}.stack-title{font-size:20px}.detail-panel{height:80vh}}
