.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}:root{--font-sans:"Prompt", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, monospace;--bg:#f6f8fc;--bg-strong:#e8eef7;--surface:#ffffffeb;--surface-solid:#fff;--surface-muted:#f8fbffd1;--text:#101828;--text-muted:#516075;--border:#1018281f;--primary:#2563eb;--primary-strong:#1d4ed8;--cyan:#0891b2;--violet:#6d28d9;--pink:#db2777;--danger:#e11d48;--orange:#ff9e57;--warning:#ff9e57;--success:#059669;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--shadow-sm:0 1px 2px #1018280d, 0 8px 24px #1018280a;--shadow:0 14px 42px #10182817;--shadow-hover:0 18px 48px #1018281f, 0 0 0 1px #2563eb42 inset;--radius:10px;--radius-lg:14px;--transition-fast:.15s ease;--transition-normal:.25s ease;--sidebar-width:260px}*{box-sizing:border-box}body{background:linear-gradient(#2563eb0b 1px, transparent 1px), linear-gradient(90deg, #2563eb0b 1px, transparent 1px), linear-gradient(135deg, #f8fbff 0%, var(--bg) 48%, #eef5ff 100%);min-width:320px;color:var(--text);font-family:var(--font-sans);background-size:40px 40px,40px 40px,auto;margin:0;line-height:1.65}body.is-modal-open{overflow:hidden}.text-gradient,.text-gradient-cyan{background:linear-gradient(135deg, var(--primary), var(--cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.text-gradient-violet{background:linear-gradient(135deg, var(--violet), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}button,input,select{font:inherit}button{cursor:pointer;transition:color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal)}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}a{color:inherit;transition:color var(--transition-fast)}::selection{color:var(--text);background:#4f7cff33}h1,h2,h3,p{margin-top:0}h1,h2,h3,p,span,small,strong,button,a,li{overflow-wrap:anywhere}h1,h2,h3{color:var(--text);font-weight:700}h1{letter-spacing:0;margin-bottom:1.2rem;font-size:clamp(2.2rem,4.5vw,4rem);line-height:1.1}h2{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.25}h3{line-height:1.3}input,select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);color:var(--text);min-height:42px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #2f5bff40}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100svh;display:grid}.sidebar{border-right:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(20px);flex-direction:column;height:100svh;padding:24px 20px;display:flex;position:sticky;top:0}.brand-mark{align-items:center;gap:12px;margin-bottom:30px;display:flex}.brand-mark>span{border-radius:var(--radius);background:linear-gradient(135deg, var(--primary), var(--cyan));color:#fff;place-items:center;width:42px;height:42px;font-weight:700;display:grid}.brand-mark small,.topbar span{color:var(--text-muted);font-size:.82rem;display:block}.sidebar nav{gap:6px;display:grid}.sidebar a,.mobile-nav a{border-radius:var(--radius);color:var(--text-muted);transition:background var(--transition-normal), color var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:10px;padding:11px 12px;text-decoration:none;display:flex}.sidebar a.active,.mobile-nav a.active{border-left:3px solid var(--primary);color:var(--primary-strong);border-radius:0 var(--radius) var(--radius) 0;background:linear-gradient(90deg,#4f7cff1a,#0000);font-weight:600}.app-main{min-width:0}.topbar{z-index:20;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(24px);background:#ffffffb3;justify-content:space-between;align-items:center;min-height:72px;padding:14px 28px;display:flex;position:sticky;top:0}main{padding:24px 32px}.page{gap:24px;max-width:960px;margin:0 auto;display:grid}.hero-section{gap:16px;margin-bottom:8px;display:grid}.hero-copy{border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow);border:1px solid var(--border);padding:36px;position:relative;overflow:hidden}.hero-copy h1{margin-bottom:.5rem;font-size:clamp(2rem,4vw,3rem)}.hero-copy h2{color:var(--primary);margin-bottom:1rem;font-size:clamp(1.1rem,2vw,1.4rem)}.hero-copy p{color:var(--text-muted);max-width:700px;font-size:1.05rem;line-height:1.6}.hero-actions,.badge-row,.toggle-row,.tab-row,.decision-grid{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary-button,.secondary-button,.text-link,.command-trigger,.icon-button{border-radius:var(--radius);border:0;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.primary-button{background:linear-gradient(135deg, var(--primary), var(--cyan));color:#fff;margin-top:26px;padding:12px 20px;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 22px #2563eb38}.primary-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #2563eb47}.secondary-button{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--primary-strong);background:#ffffff80;border:1px solid #6e82ff4d;padding:11px 18px;font-weight:500;transition:all .2s}.secondary-button:hover{border-color:var(--primary);background:#4f7cff14}.text-link{color:var(--primary-strong);font-weight:600}.stats-grid,.dashboard-grid,.course-card-grid,.tips-grid,.catalog-stats{gap:16px;display:grid}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.handbook-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.dashboard-grid{grid-template-columns:1fr}.wide-card,.motion-card,.visual-card,.roadmap-panel,.survival-card,.tip-card,.faq-item,.course-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.motion-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);padding:28px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);position:relative}@media (prefers-reduced-motion:no-preference){.motion-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}}.card-pastel-blue{background:#eef2ff99;border-color:#c7d2fe80}.card-pastel-red{background:#fff1f299;border-color:#fecdd380}.card-pastel-purple{background:#f3e8ff99;border-color:#e9d5ff80}.card-pastel-green{background:#ecfdf599;border-color:#a7f3d080}.card-pastel-yellow{background:#fef3c799;border-color:#fde68a80}.motion-card strong{color:var(--primary-strong);font-size:1.8rem;display:block}.motion-card span,.course-card p,.section-header p,.source-panel,.faq-item p{color:var(--text-muted)}.card-heading{align-items:center;gap:12px;margin-bottom:8px;display:flex}.catalog-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.catalog-stats>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);padding:16px}.catalog-stats strong{color:var(--primary-strong);font-size:1.7rem;display:block}.catalog-toolbar{grid-template-columns:minmax(280px,1.3fr) repeat(5,minmax(150px,.6fr)) auto;gap:10px;display:grid}.search-box{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);align-items:center;gap:10px;padding:0 12px;display:flex}.search-box input{background:0 0;border:0;width:100%}.course-card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.course-card{text-align:left;padding:18px;transition:transform .2s,border-color .2s}.course-card:hover{border-color:#2f5bff59;transform:translateY(-2px)}.course-code{color:var(--primary-strong);font-weight:700}.badge{color:var(--primary-strong);background:#4f7cff1a;border:1px solid #4f7cff33;border-radius:999px;align-items:center;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.badge--official{color:#5b21b6;background:#7b61ff1a;border-color:#7b61ff33}.badge--verified{color:#047857;background:#4ee6b226;border-color:#4ee6b24d}.badge--warning{color:#9a3412;background:#ff9e5726;border-color:#ff9e574d}.badge--danger{color:#be123c;background:#ff5a791a;border-color:#ff5a7933}.badge--soft{color:var(--text-muted);background:#5e6b8514;border-color:#0000}.badge--muted{color:var(--text-muted);border-color:var(--border);background:#ffffff80}.route-loading{min-height:100svh;color:var(--text-muted);background:var(--bg);place-items:center;display:grid}.compact-list{color:var(--text-muted);margin:12px 0 0;padding-left:20px}.command-palette{position:relative}.command-trigger{background:var(--text);color:#fff;padding:10px 12px}.command-popover{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-solid);width:min(440px,100vw - 32px);box-shadow:var(--shadow);padding:12px;position:absolute;top:calc(100% + 10px);right:0}.command-results{gap:6px;margin-top:10px;display:grid}.command-results button{border-radius:var(--radius);text-align:left;background:#f8fafc;border:0;align-items:center;gap:8px;padding:9px;display:flex}.mobile-nav{display:none}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a66;align-items:flex-end;padding:0;display:grid;position:fixed;inset:0}@media (width>=768px){.modal-backdrop{justify-content:flex-end;align-items:stretch}}.course-modal{background:var(--surface-solid);border-radius:24px 24px 0 0;width:100%;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow:auto;box-shadow:0 -10px 40px #00000026}@media (width>=768px){.course-modal{border-radius:24px 0 0 24px;width:min(560px,100%);height:100%;max-height:100vh;animation:.3s cubic-bezier(.16,1,.3,1) slideLeft;box-shadow:-10px 0 40px #0000001a}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideLeft{0%{transform:translate(100%)}to{transform:translate(0)}}.modal-close{background:var(--surface-muted);width:36px;height:36px;color:var(--text-muted);border-radius:50%;justify-content:center;position:absolute;top:16px;right:16px}.course-modal__header{padding:34px 34px 18px}.course-modal__code{color:var(--primary-strong);font-weight:700}.source-panel,.danger-panel{border-radius:var(--radius);background:#f8fafc;margin:0 34px 18px;padding:14px}.source-panel p{align-items:center;gap:6px;margin:0 0 4px;display:flex}.danger-panel{color:#be123c;background:#fff1f2;align-items:center;gap:10px;display:flex}.modal-grid{gap:18px;padding:0 34px 34px;display:grid}.modal-grid section{border-top:1px solid var(--border);padding-top:14px}@media (width<=1024px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{padding:12px 16px}main{padding:18px 16px 84px}.hero-section,.dashboard-grid{grid-template-columns:1fr}.hero-section{min-height:auto}.stats-grid,.catalog-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-toolbar{grid-template-columns:1fr 1fr}.mobile-nav{z-index:40;padding:6px 8px;padding-bottom:max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(20px);background:#fffffff2;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000f}.mobile-nav a,.mobile-nav button.more-button{color:var(--text-muted);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:.65rem;font-weight:500;text-decoration:none;display:flex}.mobile-nav a.active,.mobile-nav button.more-button.active{color:var(--primary-strong);font-weight:700}.mobile-nav-backdrop{z-index:45;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;animation:.3s forwards fadeIn;position:fixed;inset:0}.mobile-nav-sheet{background:var(--surface);z-index:50;border-top-left-radius:24px;border-top-right-radius:24px;flex-direction:column;max-height:85vh;padding:24px 20px 40px;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -10px 40px #00000026}.mobile-nav-sheet.open{transform:translateY(0)}.sheet-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.sheet-header .close-button{background:var(--surface-muted);width:36px;height:36px;color:var(--text-muted);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.sheet-content{flex-grow:1;padding-right:4px;overflow-y:auto}.sheet-group{margin-bottom:24px}.sheet-group-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:.85rem;font-weight:700}.sheet-links{flex-direction:column;gap:8px;display:flex}.sheet-link{color:var(--text);background:var(--surface-muted);transition:all var(--transition-fast);border:1px solid #0000;border-radius:16px;align-items:center;gap:16px;padding:12px 16px;font-weight:500;text-decoration:none;display:flex}.sheet-link.active{color:var(--primary-strong);background:#4f7cff14;border-color:#4f7cff33;font-weight:700}.sheet-link.active .sheet-icon-wrapper{background:var(--primary);color:#fff}.sheet-icon-wrapper{width:36px;height:36px;color:var(--text-muted);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);background:#fff;border-radius:10px;justify-content:center;align-items:center;display:flex}.sheet-footer{border-top:1px dashed var(--border);margin-top:16px;padding-top:16px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}}.course-catalog-page{gap:22px;width:100%;max-width:1320px;margin:0 auto;padding:0 24px 72px;display:grid;overflow-x:clip}.course-catalog-page *,.course-catalog-page :before,.course-catalog-page :after{min-width:0}.course-catalog-hero{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#2563eb0e 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#2563eb0e 1px,#0000 1px) 0 0/34px 34px,linear-gradient(135deg,#fffffff5,#f0f9ffdb);grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:stretch;gap:22px;padding:clamp(22px,4vw,40px);display:grid}.course-catalog-hero h1{letter-spacing:0;max-width:780px;margin:8px 0 14px;font-size:clamp(2.25rem,4vw,4rem);font-weight:800;line-height:1.04}.course-catalog-hero p{max-width:760px;color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.75}.course-hero-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#ffffffe0;border:1px solid #10182821;align-content:center;gap:10px;padding:20px;display:grid}.course-hero-panel>div{color:var(--primary-strong);align-items:center;gap:8px;font-weight:700;display:flex}.course-hero-panel strong{color:var(--primary-strong);font-family:var(--font-mono);font-size:3rem;line-height:1}.course-hero-panel p{font-size:.9rem;line-height:1.5}.course-stats-strip.catalog-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.course-stats-strip>div{border-radius:var(--radius);min-height:86px;box-shadow:var(--shadow-sm);background:#ffffffd6;padding:14px}.course-stats-strip strong{font-family:var(--font-mono);line-height:1.1}.course-stats-strip [data-tone=cyan] strong{color:var(--cyan)}.course-stats-strip [data-tone=violet] strong{color:var(--violet)}.course-stats-strip [data-tone=orange] strong{color:var(--orange)}.course-stats-strip [data-tone=danger] strong{color:var(--danger)}.course-stats-strip span{color:var(--text-muted);margin-top:7px;font-size:.84rem;display:block}.course-filter-toolbar.catalog-toolbar{z-index:12;border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sm);background:#fffffff0;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;display:flex;position:sticky;top:12px}.course-filter-toolbar .search-box{flex:300px}.course-filter-toolbar select{flex:132px}.catalog-danger-toggle,.catalog-view-toggle{flex:none}.course-filter-toolbar select,.course-filter-toolbar .search-box{border-radius:var(--radius);min-height:44px}.course-filter-toolbar .search-box{background:var(--surface-solid)}.catalog-danger-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);min-height:44px;color:var(--text);padding:0 10px;font-size:.86rem;font-weight:700}.catalog-danger-toggle svg{color:var(--danger)}.catalog-view-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);gap:6px;min-height:44px;padding:5px;display:inline-flex}.catalog-view-toggle button{color:var(--text-muted);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:.86rem;font-weight:700;display:inline-flex}.catalog-view-toggle button.is-active{color:var(--primary-strong);background:#2563eb1a}.course-explorer-layout{grid-template-columns:minmax(0,1fr) minmax(300px,360px);align-items:start;gap:16px;display:grid}.course-results-panel,.course-inspector{border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#ffffffe6}.course-results-panel{gap:10px;padding:12px;display:grid}.course-results-panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:0 4px 10px;display:flex}.course-results-panel__header div{color:var(--primary-strong);align-items:center;gap:8px;font-weight:800;display:inline-flex}.course-results-panel__header small{color:var(--text-muted);font-size:.82rem}.course-data-list{gap:8px;display:grid}.course-row{border:1px solid var(--course-border);border-radius:var(--radius);background:var(--course-bg);width:100%;min-height:76px;color:var(--text);text-align:left;grid-template-columns:92px minmax(220px,1fr) minmax(210px,.7fr) minmax(220px,.82fr);align-items:center;gap:12px;padding:12px;display:grid}.course-row:hover,.course-row.is-selected,.catalog-course-card:hover,.catalog-course-card.is-selected{border-color:color-mix(in srgb, var(--course-accent) 46%, var(--border));box-shadow:0 12px 32px color-mix(in srgb, var(--course-accent) 16%, transparent)}.course-row.is-selected,.catalog-course-card.is-selected{background:linear-gradient(90deg, color-mix(in srgb, var(--course-accent) 12%, transparent), transparent 38%), var(--course-bg)}.course-row__code{border:1px solid color-mix(in srgb, var(--course-accent) 24%, var(--border));min-height:40px;color:var(--course-accent);font-family:var(--font-mono);background:#ffffffd1;border-radius:8px;place-items:center;font-size:.86rem;font-weight:800;display:grid}.course-row__title{gap:2px;min-width:0;display:grid}.course-row__title strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;line-height:1.3;overflow:hidden}.course-row__title small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.course-row__meta,.course-row__signals{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.course-row__meta span,.course-row__signals span{color:var(--text-muted);background:#ffffffb8;border:1px solid #1018281a;border-radius:8px;align-items:center;gap:5px;padding:4px 7px;font-size:.76rem;font-weight:700;display:inline-flex}.course-row__signals .is-danger{color:var(--danger);border-color:#e11d4838}.course-card-grid--catalog{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.catalog-course-card.course-card{border-color:var(--course-border);border-radius:var(--radius);background:var(--course-bg);text-align:left;gap:10px;min-height:245px;padding:16px;display:grid}.catalog-course-card .course-code{border:1px solid color-mix(in srgb, var(--course-accent) 24%, var(--border));width:fit-content;color:var(--course-accent);font-family:var(--font-mono);background:#ffffffd1;border-radius:8px;padding:4px 9px;font-size:.82rem}.catalog-course-card h3{margin:0;font-size:1.02rem;line-height:1.35}.catalog-course-card p{color:var(--text-muted);margin:0;font-size:.86rem;line-height:1.55}.catalog-course-card .badge-row{border-top:1px solid color-mix(in srgb, var(--course-accent) 18%, var(--border));align-self:end;padding-top:10px}.course-inspector{gap:16px;max-height:calc(100vh - 100px);padding:18px;display:grid;position:sticky;top:92px;overflow-y:auto}.course-inspector__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.course-inspector__header span{color:var(--text-muted);font-family:var(--font-mono);align-items:center;gap:8px;font-size:.76rem;font-weight:700;display:inline-flex}.course-inspector__header strong{color:var(--primary-strong);font-family:var(--font-mono)}.course-inspector__title h2{margin:0 0 6px;font-size:1.45rem;line-height:1.25}.course-inspector__title p,.course-inspector section p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.6}.course-inspector__badges,.course-inspector .badge-row{flex-wrap:wrap;gap:6px;display:flex}.course-inspector__risk{border-radius:var(--radius);color:#9f1239;background:#fff1f2c7;border:1px solid #e11d483d;align-items:flex-start;gap:10px;padding:12px;font-size:.88rem;font-weight:600;line-height:1.5;display:flex}.course-inspector__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.course-inspector__metrics div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);padding:10px}.course-inspector__metrics strong{color:var(--primary-strong);font-family:var(--font-mono);font-size:1.35rem;line-height:1.1;display:block}.course-inspector__metrics span{color:var(--text-muted);margin-top:5px;font-size:.72rem;line-height:1.3;display:block}.course-inspector section{border-top:1px solid var(--border);padding-top:14px}.course-inspector section h3{margin:0 0 8px;font-size:.95rem}.course-inspector__list{gap:3px;margin-bottom:10px;display:grid}.course-inspector__list span{color:var(--text);font-size:.78rem;font-weight:800}.course-inspector__action.primary-button{border-radius:var(--radius);justify-content:center;width:100%;min-height:46px}@media (width<=1180px){.course-filter-toolbar.catalog-toolbar{display:flex}.course-row{grid-template-columns:92px minmax(180px,1fr) minmax(180px,.8fr)}.course-row__signals{grid-column:2/-1}}@media (width<=960px){.course-catalog-page{padding-left:18px;padding-right:18px}.course-catalog-hero,.course-explorer-layout{grid-template-columns:1fr}.course-inspector{order:-1;position:static}.course-stats-strip.catalog-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.course-filter-toolbar.catalog-toolbar{position:static}}@media (width<=640px){.course-catalog-page{width:100%;max-width:100%;padding-left:14px;padding-right:14px}.course-catalog-page>*,.course-catalog-hero,.course-explorer-layout,.course-results-panel,.course-inspector{max-width:100%}.course-catalog-hero{padding:18px}.course-catalog-hero h1{font-size:clamp(2rem,12vw,2.65rem)}.course-stats-strip.catalog-stats,.course-inspector__metrics{grid-template-columns:1fr}.course-filter-toolbar .search-box,.course-filter-toolbar select,.catalog-danger-toggle,.catalog-view-toggle{flex-basis:100%;width:100%}.course-results-panel__header{flex-direction:column;align-items:flex-start}.course-row{grid-template-columns:1fr}.course-row__title strong,.course-row__title small{white-space:normal}.catalog-view-toggle{grid-template-columns:1fr 1fr;display:grid}}.visual-maps-page{gap:28px;max-width:1240px;margin:0 auto;padding:0 24px 72px;display:grid;overflow-x:hidden}.technical-label{width:fit-content;min-height:28px;color:var(--primary-strong);font-family:var(--font-mono);letter-spacing:0;background:#2563eb14;border:1px solid #2563eb33;border-radius:8px;align-items:center;padding:3px 9px;font-size:.76rem;font-weight:700;display:inline-flex}.visual-command{border-radius:var(--radius-lg);min-height:520px;box-shadow:var(--shadow);background:linear-gradient(#2563eb0f 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#2563eb0f 1px,#0000 1px) 0 0/34px 34px,linear-gradient(135deg,#fffffff5,#eff6ffd6);border:1px solid #1018281f;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:stretch;gap:28px;padding:clamp(24px,4vw,44px);display:grid;position:relative;overflow:hidden}.visual-command:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0891b214,#0000 44%,#ff9e571a);position:absolute;inset:0}.visual-command>*{z-index:1;position:relative}.visual-command__copy{align-content:center;gap:20px;min-width:0;display:grid}.visual-command__copy h1{letter-spacing:0;max-width:600px;margin:0;font-size:clamp(2.35rem,4vw,4.2rem);font-weight:800;line-height:1.04}.visual-command__copy p{max-width:620px;color:var(--text-muted);margin:0;font-size:1.06rem;line-height:1.72}.visual-command__actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.visual-command__actions .primary-button,.visual-command__actions .secondary-button{border-radius:var(--radius);min-height:46px;padding:0 16px;font-size:.95rem}.visual-command-canvas{background:0 0;justify-content:center;align-items:center;min-width:0;padding:16px;display:flex}.visual-canvas__toolbar{border-bottom:1px solid var(--border);min-height:40px;color:var(--text-muted);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:12px;font-size:.76rem;display:flex}.visual-canvas__toolbar strong{color:var(--success);background:#0596691a;border-radius:8px;padding:3px 8px}.visual-canvas__network{border-radius:var(--radius);min-height:380px;position:relative;overflow:hidden}.visual-orbit-system{transform-style:preserve-3d;place-items:center;display:grid;position:absolute;inset:0;transform:perspective(1000px)rotateX(60deg)}.orbit-center{z-index:10;color:var(--primary-strong);background:#fffffff2;border:1px solid #4f7cff4d;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:16px 24px;font-size:1.1rem;font-weight:800;display:flex;position:relative;transform:rotateX(-60deg)translateZ(40px);box-shadow:0 0 30px #4f7cff33}.badge-ready{color:#fff;background:#10b981;border-radius:12px;padding:2px 8px;font-size:.7rem;font-weight:900}.orbit-track{transform-style:preserve-3d;border-radius:50%;place-items:center;display:grid;position:absolute}.orbit-track--1{border:1px dashed #4f7cff66;width:150px;height:150px;animation:8s linear infinite spin}.orbit-track--2{border:1px dashed #10b98166;width:240px;height:240px;animation:14s linear infinite reverse spin}.orbit-track--3{border:1px dashed #f59e0b66;width:330px;height:330px;animation:20s linear infinite spin}.orbit-track--fast{border:2px solid #8b5cf626;width:200px;height:200px;animation:2s linear infinite spin}.orbit-item{transform-style:preserve-3d;position:absolute;top:-16px}.orbit-content{white-space:nowrap;color:var(--text);background:#fffffff2;border:1px solid #1018281a;border-radius:12px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:800;display:flex;transform:rotateX(-60deg);box-shadow:0 4px 12px #0000000f}.orbit-track--1 .orbit-content{animation:8s linear infinite anti-spin}.orbit-track--2 .orbit-content{animation:14s linear infinite reverse anti-spin}.orbit-track--3 .orbit-content{animation:20s linear infinite anti-spin}.orbit-track--fast .orbit-content{box-shadow:none;background:0 0;border:none;padding:0;animation:2s linear infinite anti-spin}@keyframes spin{to{rotate:360deg}}@keyframes anti-spin{to{rotate:-360deg}}.visual-canvas__panel{border-radius:var(--radius);background:#f0f9ffc7;border:1px solid #0891b233;gap:6px;padding:14px;display:grid}.visual-canvas__panel div{color:var(--primary-strong);align-items:center;gap:8px;font-weight:700;display:flex}.visual-canvas__panel p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.visual-map-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.visual-map-summary>div{border:1px solid var(--border);border-radius:var(--radius);min-height:94px;box-shadow:var(--shadow-sm);background:#ffffffd1;padding:16px}.visual-map-summary strong{color:var(--primary-strong);font-family:var(--font-mono);font-size:1.8rem;line-height:1.1;display:block}.visual-map-summary span{color:var(--text-muted);margin-top:8px;font-size:.88rem;line-height:1.4;display:block}.map-gallery{gap:20px;display:grid}.map-gallery-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.map-gallery-header h2{letter-spacing:0;margin:8px 0 0;font-size:clamp(1.55rem,2.8vw,2.35rem)}.map-gallery-header p{max-width:420px;color:var(--text-muted);margin:0;line-height:1.65}.map-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.map-showcase-card{border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--map-bg), #ffffffe6 42%), var(--surface-solid);min-height:410px;color:var(--text);text-align:left;box-shadow:var(--shadow-sm);border:1px solid #1018281f;align-content:start;gap:16px;padding:18px;display:grid}.map-showcase-card:hover{border-color:color-mix(in srgb, var(--map-color) 42%, var(--border));box-shadow:var(--shadow-hover)}.map-card__top,.map-card__footer,.active-map-header,.dependency-inspector-preview__header,.dependency-mode-copy h2{align-items:center;display:flex}.map-card__top{justify-content:space-between;gap:12px}.map-card__icon,.active-map__icon{border:1px solid color-mix(in srgb, var(--map-color) 30%, transparent);background:var(--map-bg);width:46px;height:46px;color:var(--map-color);border-radius:12px;place-items:center;display:grid}.map-card__mode{min-width:0;color:var(--text-muted);font-family:var(--font-mono);text-align:right;font-size:.72rem;font-weight:700}.map-card__body{gap:8px;display:grid}.map-card__body h3{margin:0;font-size:1.12rem;line-height:1.3}.map-card__body p{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.6}.map-card__preview{border-radius:var(--radius);background:linear-gradient(#1018280b 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#1018280b 1px,#0000 1px) 0 0/18px 18px,#ffffffb8;border:1px solid #1018281a;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px;display:grid;position:relative;overflow:hidden}.map-card__preview-line{background:linear-gradient(90deg, transparent, var(--map-color), transparent);opacity:.32;height:2px;position:absolute;top:50%;left:16px;right:16px}.map-card__preview span{z-index:1;border:1px solid color-mix(in srgb, var(--map-color) 20%, var(--border));min-height:34px;color:var(--map-color);font-family:var(--font-mono);text-align:center;background:#ffffffe6;border-radius:8px;place-items:center;font-size:.72rem;font-weight:700;display:grid;position:relative}.map-card__questions{border-top:1px solid var(--border);gap:8px;padding-top:14px;display:grid}.map-card__questions strong{color:var(--text);font-size:.83rem}.map-card__questions ul{color:var(--text-muted);gap:6px;margin:0;padding:0;font-size:.86rem;line-height:1.45;list-style:none;display:grid}.map-card__questions li{padding-left:16px;position:relative}.map-card__questions li:before{content:"";background:var(--map-color);border-radius:2px;width:6px;height:6px;position:absolute;top:.7em;left:0}.map-card__footer{color:var(--map-color);justify-content:space-between;gap:12px;margin-top:auto;font-size:.86rem;font-weight:700}.map-card__footer span,.map-card__footer strong{align-items:center;gap:6px;display:inline-flex}.map-card__footer strong{color:var(--text)}.visual-map-detail{gap:18px;max-width:1440px;margin:0 auto;padding:0 24px 72px;display:grid}.map-back-button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);min-height:44px;color:var(--text);box-shadow:var(--shadow-sm);justify-self:start;align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.map-back-button:hover{border-color:color-mix(in srgb, var(--map-color) 34%, var(--border));transform:translateY(-1px)}.active-map-shell,.dependency-mode-panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#ffffffe6;gap:18px;padding:clamp(16px,2.4vw,28px);display:grid}.active-map-header{justify-content:space-between;gap:18px;min-width:0}.active-map-header>div:nth-child(2){flex:1;min-width:0}.active-map-header span,.active-map__signal small{color:var(--text-muted);font-family:var(--font-mono);font-size:.76rem;font-weight:700;display:block}.active-map-header h1{color:var(--map-color);letter-spacing:0;margin:4px 0 6px;font-size:clamp(2rem,3.6vw,3.15rem)}.active-map-header p{max-width:820px;color:var(--text-muted);margin:0;line-height:1.65}.active-map__signal{border:1px solid color-mix(in srgb, var(--map-color) 24%, var(--border));border-radius:var(--radius);background:var(--map-bg);text-align:right;min-width:132px;padding:12px}.active-map__signal strong{color:var(--map-color);font-family:var(--font-mono);font-size:.9rem;display:block}.active-map-prompts{flex-wrap:wrap;gap:8px;display:flex}.active-map-prompts span{border:1px solid color-mix(in srgb, var(--map-color) 20%, var(--border));color:var(--text);background:#ffffffc7;border-radius:8px;padding:7px 10px;font-size:.86rem;font-weight:600}.active-map-canvas{min-width:0}.dependency-graph-page{gap:28px;max-width:1240px;margin:0 auto;padding:0 24px 80px;display:grid;overflow-x:hidden}.dependency-console{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#0891b20e 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#0891b20e 1px,#0000 1px) 0 0/34px 34px,linear-gradient(135deg,#fffffff7,#f0f9ffd6);border:1px solid #1018281f;grid-template-columns:minmax(0,.95fr) minmax(360px,.72fr);align-items:stretch;gap:24px;padding:clamp(24px,4vw,44px);display:grid;position:relative;overflow:hidden}.dependency-console:before{content:"";pointer-events:none;background:linear-gradient(115deg,#2563eb14,#0000 48%,#e11d4814);position:absolute;inset:0}.dependency-console>*{z-index:1;position:relative}.dependency-console__copy{align-content:center;gap:20px;display:grid}.dependency-console__copy h1{letter-spacing:0;max-width:680px;margin:0;font-size:clamp(2.35rem,4vw,4.2rem);font-weight:800;line-height:1.04}.dependency-console__copy p{max-width:740px;color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.75}.dependency-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:6px;display:grid}.dependency-stats>div{border:1px solid var(--border);border-radius:var(--radius);min-height:92px;box-shadow:var(--shadow-sm);background:#ffffffc7;padding:14px}.dependency-stats strong{color:var(--primary-strong);font-family:var(--font-mono);font-size:1.75rem;line-height:1.15;display:block}.dependency-stats span{color:var(--text-muted);margin-top:8px;font-size:.86rem;line-height:1.4;display:block}.dependency-inspector-preview{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(#1018280e 1px,#0000 1px) 0 0/26px 26px,linear-gradient(90deg,#1018280e 1px,#0000 1px) 0 0/26px 26px,#ffffffe6;border:1px solid #10182824;align-content:start;gap:14px;padding:18px;display:grid}.dependency-inspector-preview__header{border-bottom:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);justify-content:space-between;gap:12px;padding-bottom:12px;font-size:.75rem;font-weight:700}.dependency-inspector-preview__header span{align-items:center;gap:7px;display:inline-flex}.dependency-inspector-preview__header strong{color:var(--success);background:#0596691a;border-radius:8px;padding:3px 8px}.dependency-inspector-preview h2{margin:0;font-size:1.45rem;line-height:1.2}.dependency-inspector-preview p{color:var(--text-muted);margin:0;line-height:1.6}.dependency-impact-list{gap:8px;display:grid}.dependency-impact-list div{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:#ffffffc7;align-items:center;gap:9px;padding:10px;font-size:.9rem;font-weight:600;display:flex}.dependency-impact-list svg{color:var(--primary-strong)}.dependency-chain-preview{grid-template-columns:1fr 36px 1fr 36px 1fr;align-items:center;gap:8px;margin-top:2px;display:grid}.dependency-chain-preview span{min-height:38px;color:var(--primary-strong);font-family:var(--font-mono);background:#eff6ffe6;border:1px solid #2563eb38;border-radius:8px;place-items:center;font-size:.72rem;font-weight:700;display:grid}.dependency-chain-preview i{background:linear-gradient(90deg, var(--primary), transparent);height:2px}.dependency-mode-panel{box-shadow:var(--shadow-sm)}.dependency-mode-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-bottom:14px;display:flex}.dependency-mode-toolbar button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);min-height:42px;color:var(--text-muted);align-items:center;gap:8px;padding:0 14px;font-weight:700;display:inline-flex}.dependency-mode-toolbar button.is-active{border-color:color-mix(in srgb, var(--mode-color) 42%, var(--border));background:color-mix(in srgb, var(--mode-color) 12%, white);color:var(--mode-color);box-shadow:0 10px 28px color-mix(in srgb, var(--mode-color) 16%, transparent)}.dependency-mode-copy{justify-content:space-between;align-items:start;gap:18px;display:flex}.dependency-mode-copy>div:first-child{min-width:0}.dependency-mode-copy>div:first-child>span{color:var(--mode-color);font-family:var(--font-mono);font-size:.76rem;font-weight:700;display:block}.dependency-mode-copy h2{color:var(--text);gap:8px;margin:4px 0 6px;font-size:clamp(1.45rem,2vw,2rem)}.dependency-mode-copy h2 svg{color:var(--mode-color)}.dependency-mode-copy p{max-width:760px;color:var(--text-muted);margin:0;line-height:1.65}.dependency-mode-legend{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:430px;display:flex}.dependency-mode-legend span{border:1px solid color-mix(in srgb, var(--mode-color) 20%, var(--border));color:var(--text);background:#ffffffd1;border-radius:8px;padding:7px 10px;font-size:.84rem;font-weight:600}.dependency-graph-stage{min-width:0}.visual-card{border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#ffffffe6;padding:22px}.graph-card{height:520px}.graph-card .section-header{margin-bottom:12px}.graph-card .react-flow{border-radius:var(--radius);background:#f8fbff;height:calc(100% - 86px)}.react-flow-node-official,.react-flow-node-senior,.react-flow-node-danger{border-radius:var(--radius);border:1px solid var(--border);color:var(--text);white-space:pre-line;background:#fff;padding:8px 10px;font-size:.78rem;box-shadow:0 8px 18px #0f172a14}.react-flow-node-danger{background:#fff1f2;border-color:#e11d484d}.official-edge path{stroke:var(--primary)}.senior-edge path{stroke:var(--warning);stroke-dasharray:5 5}.flow-root{border-radius:var(--radius);background:linear-gradient(135deg, var(--primary), var(--violet));color:#fff;padding:14px 18px;font-weight:700;display:inline-flex}.flow-branches,.critical-paths,.roadmap-layout{gap:14px;margin-top:18px;display:grid}.flow-node button,.decision-card,.tab-row button,.roadmap-tabs button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);width:100%;color:var(--text);text-align:left;padding:12px}.flow-node button{grid-template-columns:1fr auto auto;align-items:center;gap:10px;display:grid}.flow-children{gap:8px;margin:10px 0 0 20px;display:grid}.flow-child{border-left:3px solid var(--cyan);background:#f8fafc;justify-content:space-between;gap:12px;padding:10px;display:flex}.timeline-strip{gap:10px;padding-bottom:10px;display:flex;overflow-x:auto}.semester-node{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);text-align:left;min-width:170px;padding:12px}.semester-node.is-active,.decision-card.is-selected,.tab-row button.is-selected,.roadmap-tabs button.is-selected{color:var(--primary-strong);background:#e9efff;border-color:#2f5bff73}.timeline-detail,.selected-track,.critical-chain,.survival-card,.tip-card,.faq-item{padding:18px}.chip-grid{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip-grid.compact{gap:6px}.course-chip{border:1px solid var(--border);max-width:100%;color:var(--text);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:.82rem;display:inline-flex}.course-chip span{color:var(--primary-strong);font-weight:700}.path-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.path-line .course-chip:not(:last-child):after{content:"→";color:var(--text-muted);margin-left:4px}.mindmap{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:18px;display:grid}.mindmap-center{aspect-ratio:1;background:linear-gradient(135deg, var(--primary), var(--cyan));color:#fff;text-align:center;border-radius:50%;place-items:center;font-weight:700;display:grid}.mindmap-branches,.roadmap-tabs,.checklist-grid,.heatmap-grid,.decision-grid{gap:12px;display:grid}.mindmap-branches{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.mindmap-branch,.check-card,.heat-cell,.selected-track{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid)}.mindmap-branch{padding:16px}.decision-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.progress-ring{border:12px solid #dbeafe;border-top-color:var(--primary);text-align:center;border-radius:50%;place-items:center;width:130px;height:130px;margin:0 auto 16px;display:grid}.progress-ring strong{font-size:1.4rem}.checklist-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.check-card{align-items:center;gap:10px;padding:12px;display:flex}.galaxy-canvas,.galaxy-fallback{border-radius:var(--radius-lg);background:linear-gradient(#ffffff0f 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#ffffff0f 1px,#0000 1px) 0 0/34px 34px,linear-gradient(135deg,#2563eb38,#0891b224),#071225;min-height:480px;overflow:hidden}.galaxy-label,.galaxy-core{color:#0f172a;white-space:nowrap;background:#ffffffdb;border-radius:999px;padding:3px 6px;font-size:.65rem;display:inline-flex}.galaxy-core{font-weight:700}.galaxy-fallback{color:#fff;padding:24px}.galaxy-fallback .course-chip{color:var(--text)}.tab-row{margin-bottom:12px}.tab-row button{width:auto}.heatmap-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.heat-cell{background:linear-gradient(135deg, rgba(47, 91, 255, calc(var(--heat) * .28)), rgba(6, 182, 212, calc(var(--heat) * .18))), white;padding:14px}.roadmap-layout{grid-template-columns:280px minmax(0,1fr)}.roadmap-tabs{align-content:start}.survival-timeline,.accordion-list,.tips-grid{gap:14px;display:grid}.timeline-index,.senior-badge{color:var(--primary-strong);background:#e9efff;border-radius:999px;margin-bottom:10px;padding:4px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.faq-item summary{cursor:pointer;font-weight:700}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-muted);padding:28px}.inline-check{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}@media (width<=900px){.visual-maps-page,.visual-map-detail,.dependency-graph-page{padding-left:18px;padding-right:18px}.visual-command,.dependency-console{grid-template-columns:1fr;min-height:0}.visual-command-canvas,.dependency-inspector-preview{min-width:0}.visual-map-summary,.dependency-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.map-gallery-header,.dependency-mode-copy,.active-map-header{flex-direction:column;align-items:stretch}.map-gallery-header p,.dependency-mode-copy p{max-width:none}.dependency-mode-legend{justify-content:flex-start;max-width:none}.map-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.active-map__signal{text-align:left;width:fit-content}.mindmap,.roadmap-layout{grid-template-columns:1fr}.mindmap-center{justify-self:center;width:180px}.graph-card{height:440px}}@media (width<=640px){.visual-maps-page,.visual-map-detail,.dependency-graph-page{width:100%;max-width:100%;padding-left:14px;padding-right:14px}.visual-maps-page>*,.visual-map-detail>*,.dependency-graph-page>*,.visual-command,.visual-command-canvas,.dependency-console,.dependency-inspector-preview,.active-map-shell,.dependency-mode-panel{max-width:100%}.visual-command,.dependency-console,.active-map-shell,.dependency-mode-panel{padding:18px}.visual-command__copy h1,.dependency-console__copy h1{font-size:clamp(2rem,12vw,2.7rem)}.visual-command__copy p,.dependency-console__copy p{font-size:.96rem}.visual-command__actions{flex-direction:column}.visual-command__actions .primary-button,.visual-command__actions .secondary-button{justify-content:center;width:100%}.visual-canvas__network{min-height:245px}.visual-node{min-height:38px;padding:7px 8px;font-size:.66rem}.visual-node--core{min-width:118px;left:31%}.visual-map-summary,.dependency-stats,.map-gallery-grid{grid-template-columns:1fr}.map-showcase-card{min-height:0}.dependency-chain-preview{grid-template-columns:1fr}.dependency-chain-preview i{background:linear-gradient(180deg, var(--primary), transparent);justify-self:center;width:2px;height:18px}.dependency-mode-toolbar{grid-template-columns:1fr;display:grid}.active-map-header h1{font-size:clamp(1.85rem,10vw,2.45rem)}}.home-page{gap:72px;max-width:1240px;margin:0 auto;padding:0 24px 64px;display:grid;overflow-x:hidden}.home-hero{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:center;gap:32px;min-width:0;min-height:650px;display:grid}.home-hero__copy{gap:24px;min-width:0;display:grid}.home-hero h1{letter-spacing:0;gap:4px;max-width:620px;margin:0;font-size:64px;font-weight:800;line-height:1.04;display:grid}.home-hero h1 .text-gradient{display:block}.home-hero__subtitle{max-width:620px;color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.72}.hero-actions{margin-top:4px}.hero-actions .primary-button,.hero-actions .secondary-button{border-radius:var(--radius);min-height:48px;padding:0 18px;font-size:15px}.hero-actions .primary-button{margin-top:0}.hero-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:6px;display:grid}.hero-metric{border:1px solid var(--border);border-radius:var(--radius);min-height:92px;box-shadow:var(--shadow-sm);background:#ffffffc7;padding:14px}.hero-metric strong{font-family:var(--font-mono);color:var(--text);font-size:24px;line-height:1.1;display:block}.hero-metric span{color:var(--text-muted);margin-top:8px;font-size:12px;line-height:1.35;display:block}.mission-panel{border-radius:var(--radius-lg);min-width:0;min-height:510px;box-shadow:var(--shadow);background:linear-gradient(#2563eb0d 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#2563eb0d 1px,#0000 1px) 0 0/24px 24px,#fffffffa;border:1px solid #1018281f;padding:clamp(20px,3vw,32px);transition:box-shadow .4s,background-color .4s;position:relative;overflow:hidden}.mission-panel:hover{box-shadow:var(--shadow-lg);background:linear-gradient(#2563eb14 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#2563eb14 1px,#0000 1px) 0 0/24px 24px,#fffffffa}.mission-panel__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:4px 4px 0;display:flex}.mission-panel__title{margin:0;font-size:16px;font-weight:800}.mission-panel__meta{color:var(--text-muted);font-family:var(--font-mono);margin:4px 0 0;font-size:12px}.mission-panel__status{border-radius:var(--radius);color:var(--success);background:#ecfdf5eb;border:1px solid #0596693d;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.mission-panel__status:before{content:"";background:currentColor;border-radius:999px;width:8px;height:8px}.mission-graph{aspect-ratio:600/360;width:100%;max-width:600px;margin:18px auto;position:relative}.mission-graph svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mission-node{border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);cursor:default;z-index:2;white-space:nowrap;background:#ffffffd9;border:1px solid #1018282e;gap:2px;min-width:126px;padding:10px 16px;transition:opacity .4s,box-shadow .4s,border-color .4s,transform .4s cubic-bezier(.34,1.56,.64,1),background-color .4s;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 4px 12px #0000000f}.mission-node.is-dimmed{opacity:.25;filter:grayscale(80%);box-shadow:none;z-index:1}.mission-node.is-highlighted{z-index:10;background:#fffffffa;border-color:currentColor;box-shadow:0 6px 20px #0000001a}.mission-node.is-selected{z-index:20;transform:translate(-50%,-50%)scale(1.08);box-shadow:0 8px 30px #2563eb33;border-color:#2563eb!important}.mission-node strong{color:var(--text);font-size:13px;line-height:1.25}.mission-node span{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.mission-node--core{color:#2563ebcc;border-color:#2563eb80}.mission-node--math{color:#0891b2cc;border-color:#0891b25c}.mission-node--code{color:#2563ebcc;border-color:#2563eb5c}.mission-node--hardware{color:#ff9e57e6;border-color:#ff9e5773}.mission-node--career{color:#059669cc;border-color:#0596695c}.mission-node--gened{color:#a855f7cc;border-color:#a855f766}.mission-node--projects{color:#ec4899cc;border-color:#ec489966}.mission-node--electives{color:#eab308e6;border-color:#eab30880}.mission-node--internship{color:#0ea5e9cc;border-color:#0ea5e966}.mission-workflow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.workflow-step{border:1px solid var(--border);border-radius:var(--radius);background:#ffffffc7;gap:8px;min-height:120px;padding:13px;display:grid}.workflow-step svg{color:var(--primary)}.workflow-step strong{font-size:13px;line-height:1.35}.workflow-step span{color:var(--text-muted);font-size:12px;line-height:1.45}.journey-strip{margin-bottom:4px}.journey-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid;position:relative}.journey-rail:before{content:"";background:linear-gradient(90deg, var(--cyan), var(--primary), var(--violet), var(--success));height:2px;position:absolute;top:28px;left:10%;right:10%}.journey-card{justify-items:center;gap:10px;padding-top:3px;display:grid;position:relative}.journey-icon{z-index:1;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-solid);width:54px;height:54px;color:var(--primary);box-shadow:var(--shadow-sm);place-items:center;display:grid}.journey-card strong{font-family:var(--font-mono);font-size:13px;display:block}.journey-card span{color:var(--text-muted);font-size:12px}.section-eyebrow{color:var(--primary);font-family:var(--font-mono);margin-bottom:12px;font-size:12px;font-weight:800;display:inline-flex}@media (width<=1100px){.home-hero{grid-template-columns:1fr;min-height:auto;padding-top:24px}.home-hero h1{font-size:48px}.mission-panel{width:100%;max-width:100%;min-height:auto}}@media (width<=760px){.home-page{gap:48px;width:100%;max-width:100%;padding:0 0 64px}.home-hero h1{font-size:36px;line-height:1.12}.hero-metrics,.mission-workflow,.journey-rail{grid-template-columns:1fr 1fr}.mission-graph{height:360px}.mission-node{min-width:122px}.mission-node--core{top:47.61%;left:50%}.mission-node--math{top:19.04%;left:25%}.mission-node--code{top:19.04%;left:75%}.mission-node--hardware{top:76.19%;left:25%}.mission-node--career{top:76.19%;left:75%}.mission-node--gened{top:47.61%;left:25%}.mission-node--projects{top:47.61%;left:75%}.mission-node--electives{top:19.04%;left:50%}.mission-node--internship{top:76.19%;left:50%}.journey-rail:before{display:none}}@media (width<=520px){.home-hero__copy,.mission-panel{width:100%;max-width:358px}.home-hero__subtitle{max-width:32ch}.hero-actions{max-width:358px}.hero-actions .primary-button,.hero-actions .secondary-button{max-width:100%}.hero-metrics,.mission-workflow,.journey-rail{grid-template-columns:1fr}}.career-roadmaps-page{gap:24px;max-width:1320px;margin:0 auto;padding:0 24px 84px;display:grid;overflow-x:hidden}.career-command{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:linear-gradient(#2563eb0e 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#2563eb0e 1px,#0000 1px) 0 0/34px 34px,linear-gradient(135deg,#fffffff5,#f0f9ffdb);grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:stretch;gap:22px;padding:clamp(22px,4vw,42px);display:grid}.career-command__copy h1{letter-spacing:0;max-width:820px;margin:8px 0 14px;font-size:clamp(2.3rem,4vw,4rem);font-weight:800;line-height:1.04}.career-command__copy p{max-width:760px;color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.75}.career-command__panel{border:1px solid color-mix(in srgb, var(--career-color) 22%, var(--border));border-radius:var(--radius-lg);background:linear-gradient(145deg, color-mix(in srgb, var(--career-color) 9%, white), #ffffffe0), var(--surface-solid);box-shadow:var(--shadow-sm);align-content:center;gap:10px;padding:20px;display:grid}.career-command__panel div{color:var(--career-color);align-items:center;gap:8px;font-weight:800;display:flex}.career-command__panel strong{color:var(--text);font-size:1.35rem;line-height:1.25}.career-command__panel p{color:var(--text-muted);margin:0;line-height:1.55}.career-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.career-selector,.career-workspace,.career-focus-panel,.career-section,.career-warning,.career-footer-note{border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#ffffffe6}.career-selector{gap:12px;padding:14px;display:grid;position:sticky;top:18px}.career-selector__head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.career-selector__head span{color:var(--text);font-weight:800}.career-selector__head strong{color:var(--text-muted);font-family:var(--font-mono);font-size:.78rem}.career-selector__grid{gap:9px;display:grid}.career-selector-card{border:1px solid color-mix(in srgb, var(--career-color) 18%, var(--border));border-radius:var(--radius);width:100%;min-height:74px;color:var(--text);text-align:left;background:#ffffffb8;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.career-selector-card:hover,.career-selector-card.is-active{border-color:color-mix(in srgb, var(--career-color) 44%, var(--border));background:color-mix(in srgb, var(--career-color) 8%, white);box-shadow:0 10px 26px color-mix(in srgb, var(--career-color) 14%, transparent);transform:translateY(-1px)}.career-selector-card__icon{border:1px solid color-mix(in srgb, var(--career-color) 26%, transparent);background:color-mix(in srgb, var(--career-color) 10%, white);width:42px;height:42px;color:var(--career-color);border-radius:10px;place-items:center;display:grid}.career-selector-card span:last-child{gap:2px;display:grid}.career-selector-card strong,.career-selector-card small{text-overflow:ellipsis;overflow:hidden}.career-selector-card strong{color:var(--text);white-space:nowrap;font-size:.92rem;line-height:1.25}.career-selector-card small{color:var(--text-muted);font-size:.78rem;line-height:1.3}.career-workspace{box-shadow:none;background:0 0;border:0;gap:16px;display:grid}.career-focus-panel{background:linear-gradient(#1018280b 1px, transparent 1px), linear-gradient(90deg, #1018280b 1px, transparent 1px), linear-gradient(135deg, color-mix(in srgb, var(--career-color) 8%, white), #ffffffeb);background-size:28px 28px,28px 28px,auto;gap:16px;padding:clamp(20px,3vw,34px);display:grid}.career-focus-panel__title{align-items:center;gap:14px;display:flex}.career-focus-panel__icon{border:1px solid color-mix(in srgb, var(--career-color) 28%, transparent);background:color-mix(in srgb, var(--career-color) 11%, white);width:60px;height:60px;color:var(--career-color);border-radius:14px;place-items:center;display:grid}.career-focus-panel__title span:not(.career-focus-panel__icon){color:var(--career-color);font-family:var(--font-mono);font-size:.78rem;font-weight:800;display:block}.career-focus-panel h2{letter-spacing:0;margin:3px 0 0;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.1}.career-focus-panel>p{max-width:900px;color:var(--text-muted);margin:0;font-size:1.02rem;line-height:1.75}.career-keyword-row,.career-tool-list,.career-project-card__skills,.career-portfolio-grid,.career-check-list{flex-wrap:wrap;gap:8px;display:flex}.career-keyword-row span,.career-project-card__skills span{border:1px solid color-mix(in srgb, var(--career-color) 24%, var(--border));color:var(--career-color);background:#ffffffb8;border-radius:8px;padding:5px 9px;font-size:.84rem;font-weight:800}.career-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.career-signal-grid div{border:1px solid var(--border);border-radius:var(--radius);background:#ffffffd1;min-height:84px;padding:12px}.career-signal-grid strong{color:var(--career-color);font-family:var(--font-mono);font-size:1.45rem;line-height:1.1;display:block}.career-signal-grid span{color:var(--text-muted);margin-top:7px;font-size:.78rem;line-height:1.35;display:block}.career-warning{color:#9f1239;background:#fff1f2c7;border-color:#e11d483d;align-items:flex-start;gap:12px;padding:16px;display:flex}.career-warning strong{margin-bottom:3px;display:block}.career-warning p{color:#9f1239;margin:0;line-height:1.55}.career-section{gap:14px;padding:clamp(16px,2.2vw,24px);display:grid}.career-section__heading{color:var(--career-color);align-items:center;gap:9px;display:flex}.career-section__heading h3{color:var(--text);margin:0;font-size:1.18rem}.career-check-list span{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);width:calc(50% - 4px);color:var(--text);align-items:flex-start;gap:8px;padding:10px;font-size:.92rem;line-height:1.45;display:inline-flex}.career-check-list svg{color:var(--career-color);flex:none;margin-top:2px}.career-course-grid{gap:10px}.career-skill-tree{gap:14px;display:grid;position:relative}.career-skill-tree:before{content:"";background:linear-gradient(180deg, var(--career-color), transparent);opacity:.28;width:2px;position:absolute;top:18px;bottom:18px;left:15px}.career-skill-node{border:1px solid color-mix(in srgb, var(--career-color) 20%, var(--border));border-radius:var(--radius);background:#ffffffd1;gap:14px;margin-left:30px;padding:16px;display:grid;position:relative}.career-skill-node:before{content:"";border:3px solid color-mix(in srgb, var(--career-color) 70%, white);background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:20px;left:-22px}.career-skill-node__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.career-skill-node__head span{background:var(--career-color);color:#fff;font-family:var(--font-mono);border-radius:8px;padding:3px 8px;font-size:.76rem;font-weight:800}.career-skill-node__head h4{color:var(--text);margin:0;font-size:1.05rem}.career-skill-node__grid{grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.career-skill-node__grid strong{color:var(--text);margin-bottom:6px;font-size:.86rem;display:block}.career-skill-node ul{color:var(--text-muted);gap:5px;margin:0;padding-left:18px;font-size:.9rem;line-height:1.45;display:grid}.career-tool-list span{border:1px solid color-mix(in srgb, var(--career-color) 18%, var(--border));border-radius:var(--radius);background:#ffffffc7;align-items:center;gap:9px;padding:8px 10px;display:inline-flex}.career-tool-list strong{color:var(--text);font-size:.9rem}.career-tool-list small{background:color-mix(in srgb, var(--career-color) 10%, white);color:var(--career-color);font-family:var(--font-mono);border-radius:6px;padding:2px 6px;font-size:.68rem;font-weight:800}.career-project-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}.career-project-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);gap:12px;padding:14px;display:grid}.career-project-card>div:first-child{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.career-project-card h4{color:var(--text);margin:0;font-size:1rem;line-height:1.32}.career-project-card p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.55}.difficulty-badge{color:var(--primary-strong);background:#2563eb1a;border-radius:8px;flex:none;padding:3px 7px;font-size:.72rem;font-weight:800}.difficulty-badge--beginner{color:var(--success);background:#0596691a}.difficulty-badge--intermediate{color:#9a3412;background:#ff9e5724}.difficulty-badge--advanced{color:var(--danger);background:#e11d481a}.career-portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.career-portfolio-grid label{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;background:#ffffffc7;align-items:flex-start;gap:10px;padding:12px;line-height:1.45;display:flex}.career-portfolio-grid label.is-checked{border-color:color-mix(in srgb, var(--career-color) 26%, var(--border));background:color-mix(in srgb, var(--career-color) 7%, white);color:var(--text)}.career-portfolio-grid input{width:18px;height:18px;accent-color:var(--career-color);flex:none;margin-top:2px}.career-footer-note{color:var(--text-muted);align-items:center;gap:10px;padding:14px 16px;font-size:.92rem;line-height:1.5;display:flex}.career-footer-note svg{color:var(--career-color);flex:none}@media (width<=1024px){.career-roadmaps-page{padding-left:18px;padding-right:18px}.career-command,.career-layout{grid-template-columns:1fr}.career-selector{position:static}.career-selector__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.career-roadmaps-page{width:100%;max-width:100%;padding-left:14px;padding-right:14px}.career-roadmaps-page>*,.career-command,.career-layout,.career-selector,.career-workspace,.career-focus-panel,.career-section{max-width:100%}.career-command,.career-focus-panel,.career-section{padding:18px}.career-command__copy h1{font-size:clamp(2rem,12vw,2.65rem)}.career-selector__grid,.career-signal-grid,.career-skill-node__grid,.career-check-list span{grid-template-columns:1fr;width:100%}.career-focus-panel__title,.career-project-card>div:first-child{flex-direction:column;align-items:flex-start}}.course-catalog-hero{background:linear-gradient(#ffffffbf,#ffffffbf),url(/ee-bg.png) 50%/cover no-repeat!important}.visual-command{background:linear-gradient(#ffffffbf,#ffffffbf),url(/visual-bg.png) 50%/cover no-repeat!important}.dependency-console{background:linear-gradient(#ffffffbf,#ffffffbf),url(/dependency-bg.png) 50%/cover no-repeat!important}.career-command{background:linear-gradient(#ffffffbf,#ffffffbf),url(/roadmap-bg.png) 50%/cover no-repeat!important}.survival-hero{background-image:url("data:image/svg+xml,%3Csvg width='100' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.184 20c.302-1.438 1.554-2.5 3.03-2.5 1.08 0 2.006.566 2.5 1.41.494-.844 1.42-1.41 2.5-1.41 1.475 0 2.727 1.062 3.03 2.5h1.127C33.02 18.256 31.065 17 28.713 17c-1.39 0-2.673.49-3.665 1.304C24.056 17.49 22.773 17 21.383 17c-2.352 0-4.306 1.256-4.658 3h1.126c.303-1.438 1.555-2.5 3.03-2.5 1.08 0 2.006.566 2.5 1.41.494-.844 1.42-1.41 2.5-1.41 1.476 0 2.728 1.062 3.03 2.5h1.127z' fill='%2310b981' fill-opacity='0.08' fill-rule='evenodd'/%3E%3C/svg%3E")!important}.beyond-hero{display:block!important}.beyond-hero__copy{background:linear-gradient(#ffffffbf,#ffffffbf),url(/tools-bg.png) 50%/cover no-repeat!important}.beyond-hero__copy:after{display:none!important}.faq-hero{background-image:url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 16L0 0v8l16 16v8l16-16V8L16 16zm0 0L32 0v8L16 24V16z' fill='%238b5cf6' fill-opacity='0.04' fill-rule='evenodd'/%3E%3C/svg%3E")!important}.senior-hero{background-image:url("data:image/svg+xml,%3Csvg width='50' height='50' viewBox='0 0 50 50' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M25 0c0 13.807-11.193 25-25 25C13.807 25 25 36.193 25 50c0-13.807 11.193-25 25-25C36.193 25 25 13.807 25 0z' fill='%23f43f5e' fill-opacity='0.04' fill-rule='evenodd'/%3E%3C/svg%3E")!important}
