.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.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 .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.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:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:rgba(255,255,255,.5);padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.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:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:rgba(0,89,220,.08);border:1px dotted rgba(0,89,220,.8)}.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{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.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{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.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:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}*,: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:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation 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}.visible{visibility:visible}.hidden{display:none}.grow{flex-grow:1}.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{color:#26312a;background:#f8f4eb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}button{font:inherit}.app-shell{min-height:100vh;background:linear-gradient(180deg,rgba(255,253,248,.95),rgba(248,244,235,.88)),repeating-linear-gradient(90deg,rgba(83,102,78,.045) 0,rgba(83,102,78,.045) 1px,transparent 1px,transparent 68px),#f8f4eb}.top-overlay{position:absolute;top:16px;left:50%;z-index:8;display:flex;align-items:center;justify-content:center;gap:8px;max-width:calc(100% - 28px);transform:translate(-50%);pointer-events:none}.floating-header{display:grid;grid-template-columns:auto auto;gap:18px;align-items:center;max-width:calc(100vw - 140px);padding:10px 12px 10px 18px;border:1px solid rgba(255,255,255,.68);border-radius:36px;background:rgba(255,255,255,.56);box-shadow:0 10px 30px #1f2a2414,inset 0 1px #ffffffc2;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);pointer-events:auto}.hero-copy{min-width:148px;max-width:250px}.eyebrow{margin:0 0 3px;color:#b08b33;font-size:.66rem;font-weight:820;line-height:1.1;text-transform:uppercase}.hero-copy h1{margin:0;color:#26312a;font-size:1.55rem;font-weight:780;line-height:1.02}.intro-trigger{margin:-6px -8px;padding:6px 8px;border-radius:24px;cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .16s ease,opacity .16s ease,box-shadow .16s ease}.intro-trigger:hover{background:rgba(255,255,255,.34);opacity:.94}.intro-trigger:focus-visible{background:rgba(255,255,255,.44);box-shadow:0 0 0 3px #6f8f5f29}.mode-buttons{display:flex;gap:3px;align-items:center;max-width:100%;padding:0;border:0;border-radius:999px;background:transparent;box-shadow:none}.mode-button,.reset-button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:999px;color:#53604f;background:transparent;cursor:pointer;font-size:.84rem;font-weight:740;line-height:1.1;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease;white-space:nowrap}.mode-button{padding:0 10px}.mode-button:hover,.reset-button:hover{transform:translateY(-1px);color:#26312a;border-color:#ffffff8c;background:rgba(255,255,255,.42);box-shadow:0 4px 12px #1f2a240d,inset 0 1px #ffffffad;backdrop-filter:blur(10px) saturate(135%);-webkit-backdrop-filter:blur(10px) saturate(135%)}.mode-button.is-active{color:#26312a;border-color:#ffffffc7;background:rgba(255,255,255,.72);box-shadow:0 4px 14px #1f2a240f,inset 0 1px #ffffffd1;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}.reset-button{padding:0 12px;border-color:#ffffffad;background:rgba(255,255,255,.58);box-shadow:0 10px 30px #1f2a2414,inset 0 1px #ffffffbf;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);pointer-events:auto}.map-stage{position:relative;min-height:100vh;padding:10px 14px 14px}.map-shell{position:relative;height:calc(100vh - 24px);min-height:620px;overflow:hidden;border:1px solid rgba(122,111,86,.22);border-radius:8px;background:linear-gradient(180deg,rgba(255,253,248,.82),rgba(246,242,232,.92)),repeating-linear-gradient(0deg,rgba(153,140,106,.045) 0,rgba(153,140,106,.045) 1px,transparent 1px,transparent 44px);box-shadow:0 24px 80px #2a372a1f}.map-shell:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;content:"";background:linear-gradient(120deg,rgba(214,169,71,.08),transparent 30%),linear-gradient(300deg,rgba(141,180,214,.08),transparent 34%)}.react-flow{position:relative;z-index:1}.time-period-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.time-period-band{position:absolute;left:0;width:100%;min-height:26px;padding:13px 0 0 16px;pointer-events:none}.time-period-green{background:linear-gradient(90deg,rgba(111,143,106,.035),rgba(111,143,106,.014) 66%,transparent)}.time-period-gold{background:linear-gradient(90deg,rgba(182,138,45,.025),rgba(182,138,45,.011) 66%,transparent)}.time-period-label{display:inline-flex;max-width:calc(100% - 32px);overflow-wrap:anywhere;color:#53604f6b;font-size:.62rem;font-weight:820;line-height:1.2;text-transform:uppercase}.react-flow__pane{cursor:grab}.react-flow__pane:active{cursor:grabbing}.react-flow__node-custom{border-radius:8px}.react-flow__handle{width:1px;height:1px;opacity:0;pointer-events:none}.life-node{--node-accent: #6f8f6a;--node-bg: rgba(255, 253, 248, .86);--node-border-color: rgba(126, 117, 93, .22);--node-shadow: 0 18px 42px rgba(45, 61, 45, .13);position:relative;width:246px;min-height:118px;padding:14px 15px 15px;overflow:hidden;border:1px solid var(--node-border-color);border-radius:8px;color:#26312a;background:var(--node-bg);box-shadow:var(--node-shadow);transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease,background .18s ease}.life-node:hover{transform:translateY(-2px);box-shadow:0 22px 48px #2d3d2d29,0 0 0 4px #d6a9471a}.life-node.is-selected{border-color:#d6a947b8;box-shadow:0 26px 62px #2d3d2d38,0 0 0 4px #d6a94729}.life-node.is-dimmed{opacity:.28}.life-node.is-convergence{border-color:#6f8f5fad;box-shadow:0 24px 58px #2d3d2d33,0 0 0 5px #8db4d621,0 0 34px #8da0f042}.node-shine{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.72),transparent 45%)}.node-type-row,.node-time{position:relative;z-index:1;display:flex;align-items:center;gap:6px}.node-type-row{color:var(--node-accent);font-size:.68rem;font-weight:850;line-height:1.2;text-transform:uppercase}.node-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--node-accent)}.life-node h2{position:relative;z-index:1;margin:9px 0 8px;color:#26312a;font-size:1rem;font-weight:790;line-height:1.22;overflow-wrap:anywhere}.node-time{color:#6a7168;font-size:.76rem;font-weight:650;line-height:1.3}.node-type-life-stage{--node-bg: rgba(252, 249, 241, .92);--node-border-color: rgba(126, 117, 93, .22);width:300px}.node-type-mandatory-decision,.node-type-mandatory-experience{--node-accent: #9b741e;--node-bg: rgba(248, 245, 236, .92);--node-border-color: rgba(182, 138, 45, .3)}.node-type-personal-decision{--node-accent: #6f8f6a;--node-bg: #f1f6ef;--node-border-color: rgba(111, 143, 106, .34)}.node-type-experience{--node-accent: #6f8f6a;--node-bg: #fcfcf8;--node-border-color: rgba(111, 143, 106, .18)}.node-type-outcome{--node-accent: #6f8f6a;--node-bg: rgba(255, 255, 255, .88);--node-border-color: rgba(182, 138, 45, .18);border-radius:24px}.node-type-key-person,.node-type-bridge-person{--node-accent: #9a6a58;--node-bg: #f6ddd2;--node-border-color: #e8a995;display:flex;width:174px;min-height:174px;flex-direction:column;justify-content:center;border-radius:999px;text-align:center}.node-type-key-person .node-type-row,.node-type-key-person .node-time,.node-type-bridge-person .node-type-row,.node-type-bridge-person .node-time{justify-content:center}.node-type-hidden-unlock{--node-accent: #747de8;--node-bg: #f1f2ff;--node-border-color: rgba(141, 150, 255, .34);--node-shadow: 0 18px 42px rgba(45, 61, 45, .11), 0 0 26px rgba(141, 150, 255, .22);width:214px;min-height:108px}.node-type-future-node{--node-accent: #6f8f6a;--node-bg: rgba(255, 255, 255, .84);--node-border-color: rgba(143, 174, 136, .8);border-style:dashed;animation:futurePulse 3.2s ease-in-out infinite}.node-status-alternate{--node-accent: #8e948c;--node-bg: #f7f7f4;--node-border-color: rgba(169, 174, 166, .36);--node-shadow: 0 12px 34px rgba(45, 61, 45, .08);opacity:.7;border-style:dashed;color:#545a53}.node-status-alternate .node-type-row,.node-status-alternate .node-icon{color:#8e948c}.life-node.is-right-overlay{--node-bg: rgba(255, 253, 248, .83);width:320px;padding-right:18px;padding-left:122px;background:linear-gradient(90deg,rgba(255,253,248,.64) 0%,rgba(255,253,248,.73) 30%,var(--node-bg) 62%,var(--node-bg) 100%);box-shadow:var(--node-shadow)}.life-node.is-right-overlay .node-type-row,.life-node.is-right-overlay .node-time{justify-content:flex-end;text-align:right}.life-node.is-right-overlay h2{max-width:none;text-align:right}@keyframes futurePulse{0%,to{box-shadow:0 18px 42px #2d3d2d1a,0 0 #6f8f5f00}50%{box-shadow:0 18px 42px #2d3d2d1f,0 0 22px #6f8f5f2e}}.life-edge .react-flow__edge-path{stroke-linecap:round;transition:opacity .16s ease,stroke-width .16s ease,filter .16s ease}.edge-hidden .react-flow__edge-path{filter:drop-shadow(0 0 8px rgba(130,126,226,.62))}.edge-alternate .react-flow__edge-path{stroke-linecap:round}.life-edge.is-muted .react-flow__edge-path{filter:none}.life-edge.is-connected .react-flow__edge-path{filter:drop-shadow(0 0 9px rgba(214,169,71,.34))}.react-flow__controls{overflow:hidden;border:1px solid rgba(122,111,86,.22);border-radius:8px;background:rgba(255,253,248,.84);box-shadow:0 12px 30px #2a372a1c}.react-flow__controls-button{border-bottom-color:#7a6f5629;background:rgba(255,253,248,.92);color:#455141}.legend{position:absolute;right:16px;bottom:16px;z-index:4;display:grid;grid-template-columns:repeat(5,auto);gap:9px;align-items:center;padding:10px;border:1px solid rgba(122,111,86,.2);border-radius:8px;background:rgba(255,253,248,.78);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 12px 34px #2a372a1a}.legend-item{display:inline-flex;align-items:center;gap:7px;color:#596256;font-size:.75rem;font-weight:720;white-space:nowrap}.legend-line{display:inline-block;width:28px;height:0;border-top:3px solid #b08b33}.legend-alternate{border-top-color:#979b95;border-top-style:dotted}.legend-hidden{border-top-color:#8d9df0;box-shadow:0 0 10px #827ee299}.legend-node{display:inline-block;width:18px;height:18px;border:1px dashed rgba(111,143,95,.78);border-radius:6px;background:rgba(255,253,248,.58)}.legend-bridge{border-style:solid;border-color:#cc7f6e61;border-radius:999px;background:rgba(255,237,228,.9)}.story-panel{position:fixed;top:190px;right:24px;bottom:22px;z-index:40;width:min(400px,calc(100vw - 48px));overflow:auto;border:1px solid rgba(122,111,86,.24);border-radius:8px;background:rgba(255,253,248,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 30px 90px #2a372a33;padding:22px}.panel-close{position:absolute;top:14px;right:14px;display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(122,111,86,.2);border-radius:8px;color:#53604f;background:rgba(255,253,248,.76);cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.panel-close:hover{transform:translateY(-1px);color:#26312a;background:rgba(111,143,95,.08)}.panel-kicker{display:inline-flex;align-items:center;gap:7px;margin-right:42px;color:#6f8f5f;font-size:.76rem;font-weight:820;line-height:1.2;text-transform:uppercase}.panel-icon{display:inline-flex}.story-panel h2{margin:12px 42px 0 0;color:#26312a;font-size:1.55rem;font-weight:790;line-height:1.15}.panel-time{margin:8px 0 0;color:#697266;font-size:.9rem;font-weight:700;line-height:1.4}.panel-summary{margin:14px 0 0;padding:13px 14px;border-left:3px solid rgba(214,169,71,.68);border-radius:8px;color:#435040;background:rgba(255,248,228,.56);font-size:.95rem;line-height:1.55}.story-sections{display:grid;gap:16px;margin-top:20px}.story-sections section{padding-top:16px;border-top:1px solid rgba(122,111,86,.16)}.story-sections h3{margin:0 0 7px;color:#53604f;font-size:.78rem;font-weight:820;line-height:1.25;text-transform:uppercase}.story-sections p{margin:0;color:#354034;font-size:.95rem;line-height:1.62}.intro-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(251,250,246,.32);backdrop-filter:blur(14px) saturate(120%);-webkit-backdrop-filter:blur(14px) saturate(120%)}.intro-modal-card{position:relative;width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;padding:36px 42px;border:1px solid rgba(255,255,255,.72);border-radius:32px;color:#26312a;background:rgba(255,255,255,.78);box-shadow:0 24px 70px #1f2a2424,inset 0 1px #ffffffc7;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%)}.intro-modal-close{position:absolute;top:18px;right:18px;display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.7);border-radius:999px;color:#53604f;background:rgba(255,255,255,.58);box-shadow:0 10px 24px #1f2a2414,inset 0 1px #ffffffb8;cursor:pointer;backdrop-filter:blur(16px) saturate(145%);-webkit-backdrop-filter:blur(16px) saturate(145%);transition:background .16s ease,color .16s ease,transform .16s ease}.intro-modal-close:hover{transform:translateY(-1px);color:#26312a;background:rgba(255,255,255,.78)}.intro-modal-label{margin:0 42px 10px 0;color:#6f8f5f;font-size:.72rem;font-weight:820;line-height:1.2;text-transform:uppercase}.intro-modal-card h2{margin:0 42px 20px 0;color:#26312a;font-size:2.3rem;font-weight:780;line-height:1.05}.intro-modal-body{display:grid;gap:16px}.intro-modal-body p{margin:0;color:#354034;font-size:1.02rem;line-height:1.68}@media (max-width: 1180px){.top-overlay{width:calc(100% - 28px)}.map-shell{height:calc(100vh - 24px)}}@media (max-width: 820px){.top-overlay{top:12px;flex-wrap:wrap;align-items:flex-start;gap:7px}.floating-header{grid-template-columns:1fr;width:min(100%,560px);max-width:100%;gap:9px;padding:10px;border-radius:28px}.hero-copy{justify-self:center;text-align:center}.hero-copy h1{font-size:1.45rem}.mode-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-radius:22px}.mode-button{justify-content:flex-start;min-width:0}.mode-button span,.reset-button span{overflow-wrap:anywhere;text-align:left}.reset-button{width:auto;justify-content:flex-start}.map-stage{padding:12px}.map-shell{height:calc(100vh - 24px);min-height:560px}.legend{left:10px;right:10px;bottom:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.legend-item{min-width:0;white-space:normal}.story-panel{top:auto;right:10px;bottom:10px;left:10px;width:auto;max-height:72vh;padding:20px}}@media (max-width: 520px){.mode-buttons{grid-template-columns:1fr;width:min(100%,340px);border-radius:20px}.map-shell{height:calc(100vh - 24px);min-height:520px}.life-node{width:224px}.node-type-life-stage{width:246px}.node-type-key-person,.node-type-bridge-person{width:160px;min-height:160px}.node-type-hidden-unlock{width:206px}.story-panel h2{font-size:1.35rem}.intro-modal-card{padding:30px 24px 26px;border-radius:26px}.intro-modal-card h2{font-size:1.9rem}.intro-modal-body p{font-size:.96rem}}
