:root{--kw-panel-motion:.26s;--kw-hover-motion:.14s}::view-transition-old(root){animation:kw-page-out .16s linear both}::view-transition-new(root){animation:kw-page-in .18s linear both}#root.kw-page-exit{animation:kw-page-out .16s linear forwards}.knowledge-portal .portal-card{transition:transform var(--kw-hover-motion) linear,border-color var(--kw-hover-motion) linear,box-shadow var(--kw-hover-motion) linear}.function-world .world-search-results,.function-world .world-node-tooltip{animation:kw-page-in .14s linear}.world-node-tooltip{pointer-events:none}.function-world .world-drawer{scroll-behavior:auto;overscroll-behavior:contain}.function-world .world-drawer[data-closing=true]{pointer-events:none}.world-drawer::backdrop{animation:kw-page-in var(--kw-panel-motion) linear}.world-drawer[data-closing=true]::backdrop{animation:kw-page-out .22s linear forwards}.function-world .world-card.target-pulse .kw-frame{animation:p3-frame-unlock .65s linear}.function-world .world-card.ancestor-pulse .kw-frame{animation:p3-ancestor-flash .48s linear}.function-world .world-card.wake .kw-frame{animation:p3-available-breathe .7s linear}.world-toasts>div.kw-motion-toast,.curriculum-world-toasts>div.kw-motion-toast{position:relative;display:flex;align-items:center;gap:10px;min-width:220px;max-width:min(360px,calc(100vw - 32px));padding:12px 36px 12px 14px;pointer-events:auto;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;animation:none;background:#303e35;color:#e7efea;border:2px solid #76ce8b;border-radius:0;box-shadow:4px 4px #151923}.world-toasts>div.kw-motion-toast.key,.curriculum-world-toasts>div.kw-motion-toast.key{border-color:#e4c676;background:#46412e;color:#fff0bb}.kw-motion-toast:active{cursor:grabbing}.function-world .kw-motion-toast .kw-toast-dismiss{position:absolute;right:6px;top:6px;width:22px;height:22px;padding:0;font-family:system-ui,sans-serif;font-size:16px;line-height:18px;box-shadow:none;border:1px solid #789080;background:transparent;color:inherit}.function-world .world-toasts--drawer{z-index:10;overflow:visible}.world-toasts--drawer>div.kw-motion-toast{max-width:100%;width:100%}.kw-pixel-burst{position:absolute!important;inset:0;display:block!important;pointer-events:none;overflow:visible;z-index:6;contain:layout style}.kw-spark{position:absolute;left:50%;top:50%;width:var(--spark-size);height:var(--spark-size);background:#86d4ab;opacity:0;animation:kw-spark-flight .72s var(--spark-delay) linear both}.kw-spark:nth-child(3n){background:#e9d080}.kw-spark:nth-child(4n){background:#dcebdd}.is-important .kw-spark{background:#e9d080;box-shadow:0 0 4px #e4c67680;animation-duration:.9s}.is-important .kw-spark:nth-child(3n){background:#96dfbd}.kw-burst-ring{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px;border:2px solid #8adbb8;opacity:0;animation:kw-burst-ring .6s linear both}.is-important .kw-burst-ring{border-color:#e4c676}@keyframes kw-spark-flight{0%{transform:translate(0);opacity:0}12%{opacity:1}70%{opacity:1}to{transform:translate(var(--spark-x),var(--spark-y));opacity:0}}@keyframes kw-burst-ring{0%{transform:scale(.5);opacity:.7}to{transform:scale(2.8);opacity:0}}@keyframes kw-page-in{0%{opacity:0}to{opacity:1}}@keyframes kw-page-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root),#root.kw-page-exit,.world-drawer::backdrop,.function-world .world-search-results,.function-world .world-node-tooltip{animation:none}.knowledge-portal .portal-card{transition:none}.kw-pixel-burst{display:none!important}}.function-world button,.world-wiki-nav a,.portal-filters button,.portal-rail a,.portal-account{transition:background-color .14s linear,color .14s linear,border-color .14s linear,box-shadow .14s linear}.auth-dialog[open]{animation:kw-page-in .22s linear}.detail-drawer[open]{animation:kw-legacy-drawer-in .26s linear}@keyframes kw-legacy-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.auth-dialog[open],.detail-drawer[open]{animation:none}.function-world button,.world-wiki-nav a,.portal-filters button,.portal-rail a,.portal-account{transition:none}}.react-flow{direction:ltr;--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: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--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: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--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: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--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 rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.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: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--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: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--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: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--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 rgba(0, 0, 0, .08);--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{position:absolute;width:100%;height:100%;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{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{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.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;-moz-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:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.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:default}.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: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-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%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;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{position:absolute;z-index:5;margin:15px}.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{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));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;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.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{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.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{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;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))}.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{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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:var(--xy-resize-background-color, var(--xy-resize-background-color-default));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%}.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-family:KnowledgeMinecraft,Microsoft YaHei,system-ui,sans-serif;color:#e2e9e5;background:#101914;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{border:1px solid #52625a;background:#26372e;color:#eff6f1;border-radius:6px;padding:8px 12px;cursor:pointer}button:hover{background:#344b3e}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b5d7ff;outline-offset:3px}input,select{min-width:0}.primary{background:#d0e4bd;color:#17221b;border-color:#d0e4bd;font-weight:650}.primary:hover{background:#e1efce}.app-shell{height:100dvh;min-height:560px;display:flex;flex-direction:column}header{padding:18px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #35433a;background:#18261e}.brand{display:flex;align-items:center;gap:14px}.brand-mark{font-size:35px;color:#c6ddaa;border:2px solid #728865;width:49px;height:49px;line-height:42px;text-align:center}h1{font-size:21px;letter-spacing:.03em;margin:0 0 5px}header p{font-size:14px;color:#c1cfbf;margin:0}header p span{margin-left:12px;color:#90a091}.account{display:flex;align-items:center;gap:14px;font-size:14px}.toolbar{padding:12px 24px;display:flex;justify-content:space-between;gap:12px;background:#202d25;border-bottom:1px solid #35433a;font-size:14px}.locator,.canvas-tools{display:flex;align-items:center;gap:9px}.locator select{width:195px}.switch{display:flex;align-items:center;gap:8px;cursor:pointer}.switch input{width:17px;height:17px;accent-color:#b7dba0}.progress-strip{display:flex;align-items:center;gap:22px;padding:12px 24px;background:#18231c;font-size:14px}.progress-strip>div:first-child{display:flex;gap:12px;align-items:center}.progress-strip strong{color:#d8e8cc;white-space:nowrap}.progress-strip span{color:#aabbb0}.progress-track{flex:1;max-width:230px;height:6px;background:#334439;border-radius:4px;overflow:hidden}.progress-track>div{height:100%;background:#92c795;transition:width .2s}.save-status{margin-left:auto}.initialization{background:#304029;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #536142;font-size:14px}.initialization strong{display:block;margin-bottom:4px;color:#e4efce}.initialization span{color:#c3d2b8}.graph-space{position:relative;flex:1;min-height:290px;background:#101914}.knowledge-card{width:210px;height:100px;display:flex;align-items:center;gap:10px;padding:12px;border:2px solid #59646c;border-radius:5px;background:#242e31;box-shadow:3px 3px #080e0a;color:#b4bdc3}.knowledge-card.available{background:#353727;border-color:#d8ae5b;color:#f4ebce}.knowledge-card.unlocked{background:#243d30;border-color:#73c297;color:#e9f8ed}.node-glyph{font-size:25px;width:28px;flex-shrink:0}.node-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.node-copy strong{font-size:14px;line-height:1.3}.node-copy small{font-size:12px;color:#aabeb0}.state-label{font-size:12px;color:#aab6bd}.available .state-label{color:#e6c985}.unlocked .state-label{color:#9cdfb4}.react-flow__handle{background:#91a799;border:2px solid #203029;width:8px;height:8px}.edge-label{position:absolute;background:#17231c;border:1px solid #4d6054;border-radius:4px;padding:1px 3px;font-size:14px;pointer-events:all}.weak-edge{font-size:12px;color:#b4c5d1}.canvas-legend{position:absolute;left:16px;top:12px;display:flex;gap:15px;font-size:12px;padding:8px 12px;background:#18251eec;border:1px solid #35483b;border-radius:5px;pointer-events:none}.react-flow__controls button{background:#25392d;border-bottom-color:#4b6253;color:#e9efe7}.react-flow__controls button svg{fill:currentColor}.react-flow__minimap{background:#17261d;border:1px solid #536959;border-radius:5px}.react-flow__attribution{background:#263a2c!important;color:#b5c8b7!important}.react-flow__attribution a{color:inherit}footer{padding:10px 24px;background:#1b281f;display:flex;justify-content:space-between;gap:12px;color:#b1c0b3;font-size:12px;line-height:1.6;border-top:1px solid #34483a}.test-note{color:#cdba8a}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;color:#bfcfbe}.error{color:#ffe3db;background:#633e37;padding:10px 24px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}dialog{color:#24352b;border:1px solid #8b9f8d;background:#f5f7f2;padding:26px;border-radius:10px;box-shadow:0 20px 80px #0007}dialog::backdrop{background:#07100bab}.auth-dialog{width:min(420px,calc(100vw - 28px))}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{font-size:22px;margin:0}.dialog-heading button{color:#394c3c;background:#e4ebe1;border-color:#b8c4b4;font-size:22px;line-height:1;padding:6px 10px}dialog p{font-size:16px;line-height:1.75}dialog label{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:14px}dialog input{padding:12px;border:1px solid #a3b09c;border-radius:5px;background:#fff;color:#26352a;width:100%}.full{width:100%;padding:12px}.text-button{border:0;background:none;color:#3c6143;display:block;margin:12px auto 0}.form-error{color:#9a3428}.detail-drawer{position:fixed;margin:0 0 0 auto;inset:0;width:min(480px,100vw);height:100dvh;max-height:100dvh;max-width:100vw;border-radius:0;padding:26px;overflow:auto}.detail-drawer h2{font-size:25px;margin:24px 0 4px}.eyebrow{font-size:13px;color:#6e7e66}.achievement{color:#6c7f65;margin-top:0}.detail-state{padding:5px 9px;font-size:13px;border-radius:4px;background:#dce3e6;color:#465863;display:inline-block}.detail-state.available{background:#ede2b5;color:#655427}.detail-state.unlocked{background:#d2e9d5;color:#245f37}.formula{padding:10px;background:#e9eee4;overflow:auto;border-radius:5px}.conditions{font-size:13px!important;color:#697765}.detail-drawer h3{font-size:16px;margin:24px 0 12px}.prerequisite{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d5dfcf;padding:8px 0;font-size:14px}.prerequisite button{font-size:13px;padding:5px 9px}.revoke{margin-top:20px;width:100%;background:#f0e2d5;color:#775331;border-color:#bd9c7e;font-size:14px}.revoke:hover{background:#e6d2bf}@media(max-width:800px){header{padding:13px 14px}.brand-mark{display:none}h1{font-size:17px}header p span{display:block;margin:3px 0 0}.account{gap:8px}.account>span{display:none}.toolbar{padding:9px 12px;flex-wrap:wrap}.locator{width:100%;gap:6px;flex-wrap:wrap}.locator label{display:none}.locator select{flex:1;min-width:130px}.canvas-tools{width:100%;justify-content:space-between}.progress-strip{padding:10px 12px;gap:10px;flex-wrap:wrap}.progress-strip>div:first-child{gap:7px}.progress-strip span{font-size:12px}.save-status{margin-left:0}.initialization{padding:10px 12px}.initialization span{font-size:12px}.initialization button{flex-shrink:0}footer{padding:6px 12px;flex-wrap:wrap;gap:2px}footer span:nth-child(2){display:none}.react-flow__minimap{width:125px!important;height:88px!important}.canvas-legend{gap:8px;font-size:12px;left:8px}.progress-track{display:none}.app-shell{min-height:650px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@font-face{font-family:KnowledgeMinecraft;src:url(/assets/Minecraft-N80wAdIl.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0020-007E,U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+FF00-FFEF}.extended-tools{display:flex;gap:8px;flex-wrap:wrap;position:relative}.extended-tools label{display:flex;gap:5px;align-items:center;font-size:13px}.extended-tools input,.extended-tools select{max-width:220px;min-width:0;padding:6px}.search-results{display:flex;flex-wrap:wrap;gap:4px;max-width:100%}.extension{padding:6px 18px;border-bottom:1px solid #34453f;font-size:13px}.extension summary{cursor:pointer}.extension input{max-width:240px}.extension button{margin:6px}.region-map{flex:1;min-height:320px;overflow:hidden;background:#152e26}.map-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px}.map-scroll{overflow:auto;max-height:500px;width:100%;padding:12px}.map-island{position:relative;min-width:360px;border-radius:35% 20% 30%;background:radial-gradient(ellipse at 30% 30%,#599075,#263f34 70%);border:2px solid #8dac78;margin:auto;padding:25px;text-align:center;overflow:hidden}.map-island h2,.map-island p{position:relative;z-index:1;pointer-events:none}.map-fog{position:absolute;inset:0;background:#07110e;pointer-events:none}.map-landmark{position:absolute;transform:translate(-50%,-50%);max-width:230px}.map-landmark.lit{box-shadow:0 0 25px #dfd688;color:#f6edba}.admin-dialog{width:min(900px,95vw);max-height:90dvh;overflow:auto}.admin-dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;font-size:12px}.admin-dialog textarea{min-height:85px;width:100%;font:13px monospace}.admin-dialog select{max-width:100%;padding:8px}.admin-dialog button{margin:4px}.unlock-toasts{position:fixed;right:16px;bottom:40px;z-index:15;pointer-events:none}.unlock-toasts>div{padding:12px;background:#285d43;border:1px solid #79bb8d;border-radius:5px;margin-top:6px}.toolbar input{background:#20362e;color:#e0e9df;border:1px solid #53695b;border-radius:4px}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f1cb74;outline-offset:2px}@media(max-width:800px){.extended-tools{gap:6px}.extended-tools input{width:180px}.extended-tools select{max-width:180px}.extension{padding:5px 12px}.app-shell{height:auto;min-height:100dvh}.graph-space{height:55dvh;min-height:340px}.canvas-tools{flex-wrap:wrap;gap:6px}.map-island{margin:0}.map-controls{font-size:12px}}.region-map{display:flex;flex-direction:column}.map-scroll{flex:1;min-height:0}.detail-drawer>p{white-space:pre-line}@media(max-width:800px){.graph-space{flex:0 0 55dvh;height:55dvh;min-height:340px}.graph-space>.react-flow{height:55dvh!important;min-height:340px}}.kw-frame{--kw-size:72px;--kw-face:#26312e;--kw-rim:#64716c;--kw-rail:#68736e;--kw-corner:#596661;--kw-marker:#8b9690;position:relative;display:grid;place-items:center;flex:none;width:var(--kw-size);height:var(--kw-size);border:4px solid #101917;border-radius:0;background:var(--kw-face);box-shadow:inset 0 0 0 4px var(--kw-rim),4px 4px #0a100e;color:#c8d1c8;cursor:pointer;outline:none;isolation:isolate;image-rendering:pixelated}.kw-frame--normal{--kw-size:72px}.kw-frame--core{--kw-size:80px;box-shadow:inset 0 0 0 4px var(--kw-rim),inset 0 0 0 8px #111d19,4px 4px #0a100e}.kw-frame--key{--kw-size:88px;box-shadow:inset 0 0 0 4px var(--kw-rim),inset 0 0 0 8px #0e1916,inset 0 0 0 12px var(--kw-corner),4px 4px #0a100e}.kw-frame--locked{--kw-face:#26302e;--kw-rim:#58645f;--kw-rail:#69736f;--kw-corner:#66736d;--kw-marker:#a1aaa3;color:#bec8c0;filter:saturate(.38)}.kw-frame--available{--kw-face:#344137;--kw-rim:#b3a66c;--kw-rail:#d5c985;--kw-corner:#d0be78;--kw-marker:#f1dc93;color:#e5e9d4}.kw-frame--unlocked{--kw-face:#254138;--kw-rim:#6eaf8b;--kw-rail:#90d3a9;--kw-corner:#80c49b;--kw-marker:#b0e9ba;color:#e7f3e6}.kw-frame__icon-safe{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;overflow:hidden}.kw-frame__placeholder{display:block;flex:none;image-rendering:pixelated}.kw-frame__rail{position:absolute;z-index:2;top:0;left:8px;right:8px;height:4px;background:var(--kw-rail)}.kw-frame--locked .kw-frame__rail{background:repeating-linear-gradient(90deg,var(--kw-rail) 0 4px,transparent 4px 8px)}.kw-frame--available .kw-frame__rail{background:repeating-linear-gradient(90deg,var(--kw-rail) 0 8px,transparent 8px 12px)}.kw-frame__corner{position:absolute;z-index:3;display:none;width:8px;height:8px;background:var(--kw-corner)}.kw-frame--core .kw-frame__corner,.kw-frame--key .kw-frame__corner{display:block}.kw-frame--key .kw-frame__corner{width:12px;height:12px;box-shadow:inset 4px 4px #131d18}.kw-frame__corner--tl{top:-4px;left:-4px}.kw-frame__corner--tr{top:-4px;right:-4px}.kw-frame__corner--bl{bottom:-4px;left:-4px}.kw-frame__corner--br{bottom:-4px;right:-4px}.kw-frame__state-marker{position:absolute;z-index:4;right:5px;bottom:5px;width:12px;height:12px;background:var(--kw-marker)}.kw-frame--locked .kw-frame__state-marker{background:transparent;border:3px solid var(--kw-marker)}.kw-frame--available .kw-frame__state-marker{width:12px;height:12px;background:linear-gradient(90deg,var(--kw-marker) 0 4px,transparent 4px 8px,var(--kw-marker) 8px 12px)}.kw-frame--unlocked .kw-frame__state-marker{box-shadow:inset 0 0 0 3px #183329}.kw-frame:hover{outline:4px dotted #d5e4c9;outline-offset:5px}.kw-frame--selected{outline:4px solid #e9d58f;outline-offset:5px}.kw-frame:focus-visible{outline:4px solid #f7f4d4;outline-offset:7px;box-shadow:inset 0 0 0 4px var(--kw-rim),0 0 0 3px #17221c,4px 4px #0a100e}.kw-frame--selected:focus-visible{outline-color:#fff9cf}@media(prefers-reduced-motion:reduce){.kw-frame{animation:none!important;transition:none!important}}.kw-frame__state-marker{top:calc(50% - 8px);right:-8px;bottom:auto;width:16px;height:16px;border:2px solid #101917}.kw-frame--locked .kw-frame__state-marker{width:16px;height:16px;border:4px solid var(--kw-marker)}.kw-frame--available .kw-frame__state-marker{width:16px;height:16px;background:linear-gradient(var(--kw-marker) 0 0) center top 1px/12px 4px no-repeat,linear-gradient(var(--kw-marker) 0 0) center bottom 1px/12px 4px no-repeat}.kw-frame--unlocked .kw-frame__state-marker{box-shadow:inset 0 0 0 4px #183329}.world-entry{color:#e9d59a;text-decoration:none;border:1px solid #a78b55;padding:8px 11px;border-radius:5px;font-weight:650}.world-entry:hover{background:#4b402a}.function-world{min-height:100dvh;background:#101b16;color:#e7eee6;font-family:Inter,Microsoft YaHei,system-ui,sans-serif}.function-world button,.function-world input,.function-world select{font:inherit}.function-world button{border:1px solid #627668;background:#24372d;color:#edf4ea;border-radius:5px;padding:8px 11px;cursor:pointer}.function-world button:hover{background:#344d3c}.function-world button:disabled{opacity:.45;cursor:default}.function-world button:focus-visible,.function-world input:focus-visible,.function-world select:focus-visible,.function-world a:focus-visible{outline:3px solid #e9cd85;outline-offset:3px}.function-world .world-primary{background:#e2c477;color:#263321;border-color:#e2c477;font-weight:750}.function-world .world-primary:hover{background:#f0d68f}.world-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px clamp(16px,3vw,42px);background:linear-gradient(115deg,#1b3026,#23392a 55%,#4b4230);border-bottom:2px solid #8a8050}.world-back{display:inline-block;color:#c6d7c3;font-size:12px;text-decoration:none;margin-bottom:10px}.world-back:hover{text-decoration:underline}.world-header h1{font-size:clamp(20px,2.15vw,31px);letter-spacing:.025em;margin:0 0 7px}.world-header p{color:#c3d1c2;font-size:14px;margin:0}.world-header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}.world-global-progress{min-width:154px}.world-global-progress strong{display:block;font-size:23px;color:#f4dfaa}.world-global-progress span{font-size:12px;color:#c9d7c6}.world-progress-track{height:6px;background:#17291e;border:1px solid #526a50;overflow:hidden;border-radius:8px;margin-top:7px}.world-progress-track i{display:block;height:100%;background:linear-gradient(90deg,#67b882,#dfd078);transition:width .35s ease}.world-init{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px clamp(16px,3vw,42px);background:#414b2f;border-bottom:1px solid #a58c52}.world-init strong{display:block;color:#ffeba9;font-size:16px}.world-init p{margin:4px 0 0;color:#e4dec4;font-size:13px;line-height:1.5}.world-init button{flex-shrink:0}.world-storage-warning{margin:0;padding:10px 24px;background:#633d31;color:#ffe6d0}.world-modules{display:flex;flex-wrap:wrap;gap:7px;padding:12px clamp(16px,3vw,42px);background:#1a2a21;border-bottom:1px solid #37503d}.world-modules button{white-space:nowrap;font-size:13px}.world-modules button[aria-pressed=true]{background:#6a7646;border-color:#dfc279;color:#fff4d0}.world-modules small{color:#e4d39c;margin-left:3px}.world-toolbar,.world-pathbar{display:flex;align-items:center;gap:9px;padding:9px clamp(16px,3vw,42px);background:#18261e;border-bottom:1px solid #334c3a;font-size:13px;flex-wrap:wrap}.world-toolbar{position:relative;z-index:5}.world-search{display:flex;align-items:center;gap:8px;position:relative;flex:1;min-width:230px;max-width:620px}.world-search label{white-space:nowrap;color:#c9d9c7}.world-search input{width:100%;min-width:0;background:#0e1d15;color:#eef6eb;border:1px solid #5c735e;border-radius:5px;padding:8px 10px}.world-search-results{position:absolute;top:calc(100% + 7px);left:70px;right:0;max-height:330px;overflow:auto;background:#1d3024;border:1px solid #8a9564;border-radius:7px;box-shadow:0 16px 35px #0009;padding:5px;z-index:10}.world-search-results button{display:flex;width:100%;justify-content:space-between;gap:10px;text-align:left;border:0;background:transparent}.world-search-results button:hover{background:#38533e}.world-search-results small{color:#cabd85}.world-search-results p{padding:8px 10px;margin:0;line-height:1.5}.world-switch{display:flex;align-items:center;gap:5px;white-space:nowrap}.world-switch input{accent-color:#d8c275;width:17px;height:17px}.world-pathbar>span:first-child{color:#d6e2d0;min-width:125px}.world-pathbar label{display:flex;align-items:center;gap:5px}.world-pathbar select{max-width:165px;background:#26372e;color:#e8f0e7;border:1px solid #607669;border-radius:5px;padding:6px}.world-path-summary{color:#ead38b}.world-main{display:grid;grid-template-columns:minmax(0,1fr) 234px;min-height:600px}.world-graph{position:relative;height:clamp(610px,calc(100dvh - 250px),1100px);min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 35%,#193328 0,#0d1b16 72%)}.world-graph .react-flow{width:100%;height:100%}.world-graph .react-flow__node{cursor:pointer}.world-graph .react-flow__controls{bottom:20px;left:16px}.world-graph .react-flow__minimap{bottom:16px;right:16px;background:#1a2b22;border:1px solid #708569;border-radius:5px}.world-graph .react-flow__controls button{background:#294332;color:#edf3e8;border-color:#66876b}.world-graph .react-flow__controls svg{fill:currentColor}.world-graph .react-flow__attribution{background:#1b3025!important;color:#bed4bf!important}.world-legend{position:absolute;top:13px;left:13px;display:flex;gap:10px;flex-wrap:wrap;padding:7px 9px;background:#172b21e8;border:1px solid #67806b;border-radius:5px;color:#d8e5d6;font-size:11px;pointer-events:none;max-width:calc(100% - 26px)}.world-layout-note{position:absolute;top:50px;left:16px;background:#594a2d;padding:6px;color:#ffebb6;font-size:12px}.world-sidebar{background:#1b2b21;padding:21px 17px;border-left:1px solid #405942}.world-sidebar h2{font-size:17px;margin:0;color:#f2e0aa}.world-sidebar-total{font-size:28px;font-weight:750;margin:12px 0 20px}.world-module-progress{margin-bottom:20px}.world-module-progress>div:first-child{display:flex;justify-content:space-between;font-size:13px;color:#d4e1d3}.world-module-progress strong{color:#eed99f}.world-side-note{font-size:12px;line-height:1.55;color:#b2c5b4;border-top:1px solid #39533d;padding-top:12px}.world-card{position:relative;display:flex;align-items:center;gap:11px;width:210px;height:100px;padding:10px 11px;background:#27332e;border:2px solid #768479;border-radius:5px;box-shadow:4px 4px #08130dcc;color:#e1eae3;transition:box-shadow .2s,filter .2s,transform .2s}.world-card.locked{filter:saturate(.65);color:#bdc9bf;background:#26332d}.world-card.available{background:#4b4730;border-color:#e5bf68;box-shadow:4px 4px #0a150f,0 0 18px #d9b76950;color:#fff3d4}.world-card.unlocked{background:#254a34;border-color:#73ca94;box-shadow:4px 4px #08130d,0 0 14px #58c78443;color:#f1fff1}.world-card.core{border-width:3px}.world-card.key{border-width:3px;background-image:linear-gradient(125deg,transparent 20%,#c5aa6221 80%);box-shadow:4px 4px #08130d,0 0 0 2px #8f7b4c,0 0 18px #d5b76d55}.world-card.key.unlocked{box-shadow:4px 4px #08130d,0 0 0 2px #d4c17c,0 0 24px #d8c67a88}.world-card.focused{outline:3px solid #f4df9a;outline-offset:4px}.world-card.target-pulse{animation:world-unlock .72s ease-out}.world-card.ancestor-pulse{animation:world-ancestor .9s ease-out}.world-card.wake{animation:world-wake 1.1s ease-out}.world-card-icon{font-size:25px;line-height:1;flex:none;width:30px;text-align:center;color:#e1c574}.world-card.unlocked .world-card-icon{color:#8fe2ab}.world-card-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.world-card-copy strong{font-size:14px;line-height:1.2}.world-card-copy small{font-size:11px;color:#c1ceb9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-card-copy em{font-size:11px;font-style:normal;color:#e7ce91}.world-card.unlocked .world-card-copy em{color:#b3eac3}.world-review-dot{position:absolute;right:4px;top:4px;border:1px solid #ddaf72;border-radius:50%;background:#5c4027;width:16px;height:16px;text-align:center;line-height:14px;font-size:11px}.world-card .react-flow__handle{width:7px;height:7px;background:#96af99;border:1px solid #314e39}.world-edge-label{position:absolute;background:#14271b;border:1px solid #627666;border-radius:4px;padding:0 2px;font-size:11px;line-height:1.3;pointer-events:none}.world-edge-label.dim{opacity:.16}.world-particles{position:absolute;inset:0;pointer-events:none}.world-particles i{position:absolute;width:5px;height:5px;left:50%;top:50%;background:#f5df87;animation:world-particle .7s ease-out forwards}.world-particles i:nth-child(1){--px:-83px;--py:-44px}.world-particles i:nth-child(2){--px:74px;--py:-45px}.world-particles i:nth-child(3){--px:-97px;--py:16px}.world-particles i:nth-child(4){--px:90px;--py:22px}.world-particles i:nth-child(5){--px:-30px;--py:-68px}.world-particles i:nth-child(6){--px:32px;--py:68px}.world-toasts{position:fixed;top:18px;right:20px;z-index:40;display:flex;flex-direction:column;gap:9px;pointer-events:none}.world-toasts>div{background:#254c32;border:2px solid #76ce8b;border-radius:6px;padding:10px 14px;box-shadow:0 8px 25px #0007;font-size:14px;animation:world-toast .3s ease-out}.world-toasts>div.key{background:#564c2a;border-color:#e4c676;color:#fff0bb}.world-drawer{position:fixed;inset:0;margin:0 0 0 auto;width:min(610px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;overflow:auto;background:#f5f4ed;color:#253329;border:0;border-left:3px solid #bdab75;border-radius:0;padding:24px clamp(17px,3vw,33px);box-shadow:-18px 0 50px #0008}.world-drawer::backdrop{background:#09150ec4}.world-drawer-head{display:flex;justify-content:space-between;align-items:center;color:#727b64;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.world-drawer-head button{background:#e5e9de;color:#304332;border-color:#abb9a3;font-size:25px;padding:1px 9px;line-height:1.1}.world-drawer h2{font-size:29px;margin:19px 0 2px}.world-achievement{color:#6e805e;margin:0 0 13px!important}.world-detail-meta{display:flex;flex-wrap:wrap;gap:6px}.world-detail-meta span{background:#e2e9d9;border:1px solid #bdc9b4;border-radius:4px;padding:4px 6px;font-size:11px}.world-evidence-warning{background:#fff0d2;border:1px solid #d4b076;padding:10px;color:#6b4a26;font-size:13px!important}.world-overview{font-size:16px!important;font-weight:600;line-height:1.65}.world-drawer section{border-top:1px solid #d5dccf;padding:15px 0}.world-drawer h3{font-size:16px;margin:0 0 9px}.world-drawer h4{font-size:13px;margin:14px 0 6px}.world-drawer p,.world-drawer li{font-size:13px;line-height:1.72}.world-drawer ul{padding-left:22px;margin:7px 0}.world-formula{background:#e8ece2;border:1px solid #d5dfce;padding:9px;margin:8px 0;overflow:auto}.world-formula p{font-size:12px;color:#667461;margin:3px 0}.world-example,.world-mistake{border-left:3px solid #85a580;padding:7px 11px;margin:9px 0;background:#eef1e9}.world-example p{margin:2px 0}.world-example b{display:inline-block;width:37px;color:#526c4b}.world-mistake{border-color:#c99b65}.world-mistake p{margin:3px 0}.world-reference{padding:9px;background:#e9eee4;border:1px solid #d3dfcc;overflow-wrap:anywhere}.world-drawer-note{color:#667865}.world-relation{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid #dce3d5}.world-relation span{font-size:13px;min-width:0}.world-relation small{display:block;line-height:1.5;color:#647461;margin-top:3px}.world-relation button{white-space:nowrap;background:#e5eee1;border-color:#adc2aa;color:#2f5735;font-size:11px;padding:5px 7px}.world-drawer-actions{display:flex;flex-wrap:wrap;gap:8px;padding:17px 0;border-top:1px solid #d3dbce}.world-drawer-actions button{font-size:12px;background:#e5eee1;color:#2c5631;border-color:#a9c2a7}.world-drawer-actions .world-primary{background:#d8bf79;color:#2a331e;border-color:#bd9c53}@keyframes world-unlock{0%{transform:scale(.93)}42%{transform:scale(1.14);filter:brightness(1.65)}to{transform:scale(1)}}@keyframes world-ancestor{50%{filter:brightness(1.42);transform:scale(1.04)}}@keyframes world-wake{45%{box-shadow:0 0 28px #eed073aa}}@keyframes world-particle{to{transform:translate(var(--px),var(--py)) scale(.25);opacity:0}}@keyframes world-toast{0%{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}.world-card-icon small{font-size:11px;vertical-align:top;margin-left:1px}@media(max-width:980px){.world-main{grid-template-columns:1fr}.world-graph{height:66dvh;min-height:530px}.world-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;border-left:0;border-top:1px solid #405942}.world-sidebar h2,.world-sidebar-total,.world-side-note{grid-column:1/-1}.world-sidebar-total{margin:7px 0 14px}.world-side-note{margin:3px 0}}@media(max-width:640px){.world-header{align-items:flex-start;flex-direction:column;padding:14px 16px;gap:12px}.world-header-actions{width:100%;justify-content:space-between}.world-init{align-items:stretch;flex-direction:column;gap:11px}.world-toolbar,.world-pathbar{padding:8px 12px}.world-search{max-width:none;min-width:100%}.world-search-results{left:0}.world-pathbar>span:first-child{width:100%}.world-pathbar label{width:100%;flex-wrap:wrap}.world-pathbar select{max-width:calc(50% - 34px);flex:1}.world-graph{height:65dvh;min-height:470px}.world-legend{font-size:10px;gap:5px;right:8px}.world-sidebar{padding:16px 14px;grid-template-columns:1fr}.world-graph .react-flow__minimap{width:112px!important;height:83px!important}.world-drawer{padding:15px 15px 45px}.world-drawer h2{font-size:23px}.world-relation{flex-direction:column}.world-toasts{left:12px;right:12px;top:8px}.world-toasts>div{font-size:12px}}@media(prefers-reduced-motion:reduce){.function-world *{animation:none!important;transition:none!important}}.function-world{background:#121c18;color:#e4e9de}.function-world button,.function-world input,.function-world select{border-radius:0}.function-world button{box-shadow:2px 2px #0b130e}.world-header{background:linear-gradient(90deg,#1a2b24,#24352b 70%,#3b3828);border-bottom:4px solid #8c865f}.world-header h1{letter-spacing:.03em}.world-header h1:before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;background:#d9c47f;box-shadow:4px 4px #748962}.world-progress-track{border-radius:0;height:8px}.world-progress-track i{background:repeating-linear-gradient(90deg,#84b99b 0 12px,#a9d1a4 12px 16px)}.world-modules button[aria-pressed=true]{box-shadow:inset 0 0 0 2px #dbc27c,3px 3px #0b130e}.world-search-results{border-radius:0;box-shadow:5px 5px #0a120c}.world-search-results button{align-items:center;justify-content:flex-start}.world-search-results button svg{flex:none;background:#24342d;border:1px solid #536a59}.world-search-results button span{display:flex;flex-direction:column}.world-search-results button small{margin-top:2px}.world-graph{background-color:#101c19;background-image:linear-gradient(90deg,#1c2e2736 1px,transparent 1px),linear-gradient(#1c2e2736 1px,transparent 1px),radial-gradient(ellipse at 50% 50%,#1d3028,#0e1917 75%);background-size:96px 96px,96px 96px,auto}.world-graph .react-flow__node{width:100px!important;height:100px!important;overflow:visible}.world-card,.world-card.locked,.world-card.available,.world-card.unlocked,.world-card.core,.world-card.key,.world-card.key.unlocked{position:relative;display:grid;place-items:center;width:100px;height:100px;padding:0;background:transparent;background-image:none;border:0;border-radius:0;box-shadow:none;filter:none;color:#e6ebdf;transition:opacity .15s ease}.world-card.focused{outline:none}.world-card .kw-frame{margin:auto}.world-card.locked .kw-frame__icon-safe{filter:grayscale(.65) brightness(.75)}.world-card.available .kw-frame{animation:p3-available-breathe 2.8s ease-in-out infinite}.world-card.unlocked .kw-frame{filter:drop-shadow(0 0 6px #80c29966)}.world-card.target-pulse .kw-frame{animation:p3-frame-unlock .72s steps(5,end)}.world-card.ancestor-pulse .kw-frame{animation:p3-ancestor-flash .72s steps(4,end)}.world-card.wake .kw-frame{animation:p3-available-breathe .7s steps(4,end) 2}.world-card-copy{position:absolute;z-index:15;left:calc(100% + 12px);top:0;width:220px;min-width:220px;display:none;gap:4px;padding:10px 11px;border:2px solid #9cad8c;background:#1b2a23;box-shadow:4px 4px #070e0a;color:#e5ecdd;pointer-events:none;white-space:normal}.world-card:hover .world-card-copy,.world-card:focus-within .world-card-copy,.world-card.focused .world-card-copy{display:flex}.world-card-copy strong{font-size:13px}.world-card-copy small{white-space:normal;font-size:11px;color:#e0ca8d}.world-card-copy em{font-size:11px;color:#bcdac1}.world-card-summary{font-size:10px;line-height:1.4;color:#bdcbbd;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.world-card .react-flow__handle{width:5px;height:5px;opacity:0}.world-review-dot{right:3px;top:0;border-radius:0;z-index:5}.world-particles i{width:4px;height:4px}.world-particles i:nth-child(1){--px:-40px;--py:-35px}.world-particles i:nth-child(2){--px:40px;--py:-30px}.world-particles i:nth-child(3){--px:-48px;--py:10px}.world-particles i:nth-child(4){--px:44px;--py:18px}.world-particles i:nth-child(5){--px:-18px;--py:-45px}.world-particles i:nth-child(6){--px:23px;--py:44px}.world-edge-energy{stroke:#e0d89c;stroke-width:4;stroke-linecap:square;stroke-dasharray:1;stroke-dashoffset:1;animation:p3-edge-travel .55s .38s steps(8,end) forwards}.world-legend{border-radius:0;box-shadow:3px 3px #090f0c;align-items:center;gap:7px}.legend-mark{display:inline-block;width:11px;height:11px;border:2px solid #77857a;background:#27352d;margin-left:8px}.legend-mark:first-child{margin-left:0}.legend-available{border-color:#d9c883;background:#535235}.legend-unlocked{border-color:#8bcaa2;background:#31553e}.legend-key{border-color:#e7d38e;box-shadow:2px 2px #d5b76e}.world-graph .react-flow__minimap,.world-graph .react-flow__controls button{border-radius:0}.world-sidebar{background:repeating-linear-gradient(0deg,#1b2b21 0 22px,#1e3024 22px 24px)}.world-drawer{border-left:4px solid #b7a872}.world-detail-meta span{border-radius:0}.world-toasts>div{border-radius:0;box-shadow:4px 4px #08120b;display:flex;align-items:center;gap:10px;min-width:220px;max-width:min(330px,calc(100vw - 24px));animation:p3-toast-in .24s steps(4,end)}.world-toasts>div svg{flex:none;background:#1c3628;border:2px solid #7daa83;padding:2px;image-rendering:pixelated}.world-toasts>div span{display:flex;flex-direction:column;gap:2px;min-width:0}.world-toasts>div strong{font-size:11px;letter-spacing:.06em;color:#bdd7b2}.world-toasts>div b{font-size:14px}.world-toasts>div small{font-size:11px;color:#d1dfcb}.world-toasts>div.key{border-width:3px;box-shadow:4px 4px #0f170a,0 0 0 2px #d1b97955}.world-toasts>div.key svg{border-color:#e2c67b;background:#443f2a}.world-toasts>div.key strong,.world-toasts>div.key small{color:#f0dda2}.world-toasts--drawer{position:sticky;top:0;right:auto;left:auto;z-index:2;align-items:stretch;margin:-6px 0 16px;max-width:100%}.world-toasts--drawer:empty{display:none}.world-toasts--drawer>div{max-width:100%;width:100%}@keyframes p3-available-breathe{50%{filter:brightness(1.17) drop-shadow(0 0 8px #dec47a80)}}@keyframes p3-frame-unlock{0%{transform:scale(.94);filter:brightness(1.2)}40%{transform:scale(1.08);filter:brightness(1.7)}to{transform:none;filter:none}}@keyframes p3-ancestor-flash{50%{filter:brightness(1.45)}}@keyframes p3-edge-travel{to{stroke-dashoffset:0}}@keyframes p3-toast-in{0%{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}@media(max-width:640px){.world-card-copy{left:auto;right:calc(100% + 8px);width:180px;min-width:180px}.world-card.focused .world-card-copy{display:none}.world-card:hover .world-card-copy,.world-card:focus-within .world-card-copy{display:flex}.world-graph .react-flow__minimap{display:none}.world-toasts--drawer{position:sticky;top:0;right:auto;left:auto}}@media(prefers-reduced-motion:reduce){.world-card .kw-frame,.world-edge-energy,.world-toasts>div{animation:none!important}.world-card .kw-frame{filter:none!important}.world-edge-energy{stroke-dashoffset:0}}@font-face{font-family:KnowledgeMinecraft;src:url(/assets/Minecraft-N80wAdIl.ttf) format("truetype");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0020-007E,U+3000-303F,U+3400-4DBF,U+4E00-9FFF,U+FF00-FFEF}.function-world{--wiki-bg:#292d39;--wiki-panel:#30343f;--wiki-sidebar:#222426;--wiki-button:#484a4b;--wiki-line:#171a22;--wiki-border:#55585d;--wiki-text:#e8e8e8;--wiki-muted:#c0c4cc;--wiki-link:#9cc7fb;--wiki-green:#16743e;--kw-motion-hover:.12s;--kw-motion-unlock:.72s;--kw-motion-toast:.24s;--kw-motion-edge:.55s;--kw-motion-edge-delay:.38s;display:grid;grid-template-columns:186px minmax(0,1fr);align-items:start;gap:0 18px;padding:0 20px 20px 14px;background:var(--wiki-bg);color:var(--wiki-text);font-family:KnowledgeMinecraft,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none;font-size:15px}.function-world button,.function-world input,.function-world select,.world-drawer{font-family:KnowledgeMinecraft,Microsoft YaHei,system-ui,sans-serif;font-synthesis:none}.function-world button{background:var(--wiki-button);border:2px solid #1c1e25;box-shadow:inset 2px 2px #737573,inset -2px -2px #343735;color:var(--wiki-text);padding:9px 12px;transition:background-color var(--kw-motion-hover),box-shadow var(--kw-motion-hover)}.function-world button:hover{background:#585c5d}.function-world button:active{box-shadow:inset 2px 2px #303332,inset -2px -2px #767a76}.function-world .world-primary{background:#16743e;color:#fff;border-color:#11351d;box-shadow:inset 2px 2px #439969,inset -2px -2px #115c31}.function-world .world-primary:hover{background:#21864b}.function-world input,.function-world select{background:#22252d;color:#eceeef;border:2px solid #161820;box-shadow:inset 1px 1px #5e6167}.function-world a{color:var(--wiki-link)}.world-header{grid-column:1/-1;padding:20px 14px 18px 202px;min-height:112px;background:#262c37;border:0;border-bottom:5px solid #235c37;gap:16px}.world-header h1{font-size:clamp(22px,2vw,30px);font-weight:400;margin:0 0 8px;letter-spacing:0}.world-header h1:before{display:none}.world-header p{color:#c6ced9;font-size:14px}.world-back{font-size:12px;margin-bottom:8px}.world-global-progress strong{color:#eef3ee;font-size:24px;font-weight:400}.world-global-progress span{color:#c4cbd2}.world-wiki-nav{grid-column:1;grid-row:2;padding-top:16px;min-width:0}.world-wordmark{display:flex;align-items:center;flex-direction:column;margin:4px 0 20px;text-decoration:none;color:#eee!important;text-shadow:3px 3px #0e1119}.world-wordmark span{font-size:19px}.world-wordmark strong{font-size:32px;font-weight:400;line-height:1.05}.world-wordmark small{color:#b9c1c8;font-size:13px;margin-top:8px}.world-wordmark picture{display:block;position:relative;width:100%;height:64px;overflow:hidden}.world-wordmark img{position:absolute;max-width:none;width:209.84%;height:auto;left:50%;top:50%;transform:translate(-50%,-50%);image-rendering:pixelated}.world-wordmark--compact{display:none}.world-wiki-nav section{background:var(--wiki-sidebar);border:3px solid #11151b;box-shadow:inset 0 0 0 1px #53575b;margin-bottom:12px;padding:0 9px 8px}.world-wiki-nav h2{font-size:14px;font-weight:400;margin:0 -9px 8px;padding:10px;background:#414547;border-bottom:3px solid #12171b;box-shadow:inset 1px 1px #7e8380}.world-wiki-nav button,.world-wiki-nav a{display:flex;width:100%;gap:8px;justify-content:space-between;align-items:center;text-align:left;padding:7px 3px;color:#d4d5d9;text-decoration:none;font-size:13px;border:0;background:transparent;box-shadow:none}.world-wiki-nav button:hover,.world-wiki-nav a:hover{color:var(--wiki-link);background:#30363b}.world-wiki-nav button[aria-pressed=true]{color:#c5edce;background:#24583a;box-shadow:inset 3px 0 #54b66e}.world-wiki-nav small{color:#aabbb2;font-size:11px}.world-wiki-content{grid-column:2;grid-row:2;min-width:0;padding-top:16px}.world-init{background:#303b34;border:3px solid #171d21;margin-bottom:12px;padding:12px 16px}.world-init strong{color:#c9ead1;font-weight:400}.world-init p{color:#d1d9d1}.world-modules{padding:0 0 12px;gap:4px;background:transparent;border:0;display:flex;flex-wrap:wrap}.world-modules button{flex:1 1 auto;font-size:13px;min-height:42px;padding:7px 9px}.world-modules button[aria-pressed=true]{background:var(--wiki-green);color:#fff;border-color:#163c26;box-shadow:inset 2px 2px #3d975f,inset -2px -2px #115b30}.world-modules small{color:#d0e2d4}.world-toolbar,.world-pathbar{background:var(--wiki-panel);border:3px solid var(--wiki-line);padding:10px 12px;margin:0 0 10px;gap:8px;font-size:13px}.world-toolbar{z-index:12}.world-search{max-width:none;min-width:200px}.world-search label{color:#d7dce3}.world-search input{background:#4a4b4f;border-color:#25262d;color:#fff;border-radius:0;padding:9px 10px;box-shadow:inset 1px 1px #77797c}.world-search input::placeholder{color:#cbccd0;font-size:13px}.world-search-results{background:#30343f;border:3px solid #171a22;box-shadow:inset 0 0 0 1px #646870,4px 4px #171b22;left:0;padding:5px}.world-search-results button{border:0;box-shadow:none;background:transparent;color:#f1f1f1}.world-search-results button:hover{background:#424956}.world-search-results button small{color:#a6cafa}.world-search-results button svg{background:#242832;border-color:#67707e}.world-switch input{accent-color:#2d9c5b}.world-pathbar>span:first-child{color:var(--wiki-link);min-width:0}.world-pathbar select{background:#46484d;border:2px solid #20232b;max-width:155px}.world-path-summary{color:#c7e4cc}.world-main{grid-template-columns:minmax(0,1fr) 242px;gap:12px;min-height:0;align-items:start}.world-graph{height:clamp(420px,calc(100dvh - 310px),820px);min-height:0;background:#242834;background-image:none;border:3px solid #171a22;box-shadow:inset 0 0 0 1px #525761;isolation:isolate}.world-graph .react-flow__controls{top:68px;bottom:auto;left:14px;margin:0;z-index:10;box-shadow:4px 4px #141720}.world-graph .react-flow__controls button{width:34px;height:34px;padding:7px;background:#4b4e53;border:1px solid #21232c;box-shadow:inset 1px 1px #848783;color:#eee}.world-graph .react-flow__minimap{top:16px;bottom:auto;right:14px;margin:0;width:154px;height:108px;z-index:9;background:#30343f;border:3px solid #161a24;box-shadow:inset 0 0 0 1px #656a74,4px 4px #111722}.world-graph .react-flow__minimap-svg{display:block;width:100%;height:100%}.world-graph .react-flow__attribution{background:#2b303b!important;color:#b8c9e3!important}.world-legend{top:14px;left:14px;max-width:calc(100% - 200px);background:#363a43;border:2px solid #161a21;box-shadow:inset 1px 1px #6b6e73,3px 3px #181b22;padding:7px;font-size:11px;color:#e5e6eb}.world-sidebar{padding:16px 14px;background:var(--wiki-panel);border:3px solid var(--wiki-line);box-shadow:inset 0 0 0 1px #4e535b;max-height:clamp(420px,calc(100dvh - 310px),820px);overflow:auto}.world-sidebar h2{color:#eee;font-size:20px;font-weight:400;border-bottom:2px solid #222732;padding-bottom:10px}.world-sidebar-total{font-size:27px;font-weight:400;color:#cdebd4;margin:14px 0 20px}.world-sidebar-total{display:flex;flex-direction:column;gap:6px;font-family:KnowledgeMinecraft,Microsoft YaHei,sans-serif;font-variant-numeric:tabular-nums;line-height:1.3}.world-sidebar-total>span{white-space:nowrap}.world-sidebar-total>small{font-size:13px;color:#b8cfc0}.world-module-progress{margin-bottom:15px}.world-module-progress>div:first-child{color:#dce0e7;font-size:13px}.world-module-progress strong{color:#a6c8f5;font-weight:400}.world-progress-track{background:#22262e;border-color:#59645f;height:8px;margin-top:8px}.world-progress-track i{background:#37a363}.world-side-note{color:#b6bdca;border-color:#4a505d;font-size:12px}.world-node-tooltip{position:absolute;z-index:8;pointer-events:none;display:flex;flex-direction:column;gap:6px;padding:12px;border:3px solid #141820;background:#353b48;box-shadow:inset 1px 1px #89909c,4px 4px #151923;color:#f5f5f5;font-size:14px;line-height:1.4;animation:wiki-tooltip-enter var(--kw-motion-hover) ease-out}.world-node-tooltip strong{font-size:16px;font-weight:400}.world-node-tooltip small{font-size:13px;color:#a8ceff}.world-node-tooltip em{font-style:normal;font-size:12px;color:#cce7c9}.world-node-tooltip p{font-size:13px;margin:0;color:#d7dce8;line-height:1.5}.world-card.target-pulse,.world-card.ancestor-pulse,.world-card.wake{animation:none}.world-card.target-pulse .kw-frame{animation-duration:var(--kw-motion-unlock)}.world-edge-energy{animation-duration:var(--kw-motion-edge);animation-delay:var(--kw-motion-edge-delay)}.world-toasts>div{animation-duration:var(--kw-motion-toast);background:#303e35;color:#e7efea}.world-drawer{background:#2e3340;color:#e1e5ed;border-left:4px solid #626b78;box-shadow:-8px 0 #191e29}.world-drawer-head{color:#a9c9f4}.world-drawer-head button{background:#454b57;color:#e9eef7;border-color:#151b26}.world-drawer h2,.world-drawer h3,.world-drawer h4{font-weight:400;color:#eff3f7}.world-achievement{color:#a8ccfa}.world-detail-meta span{background:#3c4451;color:#d9e8f5;border-color:#626c7b}.world-drawer section{border-color:#535a68}.world-formula,.world-example,.world-mistake,.world-reference{background:#252b35;border-color:#556375;color:#e2e7ef}.world-formula p,.world-relation small,.world-drawer-note{color:#b4c3d8}.world-example b{color:#9dc8f9}.world-relation{border-color:#535e6d}.world-relation button,.world-drawer-actions button{background:#444d5d;color:#d4e7ff;border-color:#69778a}.world-evidence-warning{background:#493c2c;color:#f2d7aa}.world-drawer .katex{color:#e8edf5}.world-drawer .formula{background:#1f2631;color:#e8edf5;border:1px solid #576579;border-radius:0}.world-drawer-head button{font-size:14px;line-height:1.4;min-width:56px;min-height:40px;flex-shrink:0}.function-world ::-webkit-scrollbar{width:10px;height:10px}.function-world ::-webkit-scrollbar-track{background:#20232b}.function-world ::-webkit-scrollbar-thumb{background:#626874;border:2px solid #20232b}@keyframes wiki-tooltip-enter{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media(max-width:1200px){.function-world{grid-template-columns:154px minmax(0,1fr);gap:12px;padding:0 12px 12px}.world-header{padding-left:174px}.world-main{grid-template-columns:minmax(0,1fr) 208px}.world-pathbar label{flex-wrap:wrap}.world-pathbar select{max-width:130px}}@media(max-width:980px){.world-main{grid-template-columns:minmax(0,1fr)}.world-sidebar{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.world-sidebar h2,.world-sidebar-total,.world-side-note{grid-column:1/-1}.world-graph{height:clamp(420px,calc(100dvh - 350px),700px)}.world-header{padding:16px}.world-wiki-nav{padding-top:8px}}@media(max-width:700px){.function-world{display:block;padding:0 10px 12px}.world-header{margin:0 -10px;padding:16px;min-height:0;align-items:flex-start;flex-direction:column;gap:12px}.world-header-actions{width:100%}.world-header h1{font-size:23px}.world-wiki-nav{display:none}.world-wiki-content{padding-top:12px}.world-modules button{font-size:12px;flex:1 1 30%;padding:7px 5px}.world-search{min-width:100%}.world-toolbar,.world-pathbar{padding:10px}.world-pathbar select{max-width:calc(50% - 26px)}.world-graph{height:520px;min-height:0}.world-legend{max-width:calc(100% - 28px);font-size:10px;gap:5px}.world-graph .react-flow__controls{top:72px;left:12px}.world-graph .react-flow__minimap{display:block;top:72px;right:12px;width:100px!important;height:70px!important}.world-sidebar{grid-template-columns:1fr}.world-node-tooltip{max-width:calc(100% - 24px)}.world-init{padding:12px}.world-drawer{font-size:14px}}@media(prefers-reduced-motion:reduce){.function-world{--kw-motion-hover:0ms;--kw-motion-unlock:0ms;--kw-motion-toast:0ms;--kw-motion-edge:0ms;--kw-motion-edge-delay:0ms}.world-node-tooltip{animation:none}}@media(min-width:701px)and (max-width:1199px){.world-wordmark picture{height:56px}.world-wordmark img{width:157.38%}}@media(max-width:700px){.world-wordmark--compact{display:block;float:left;width:64px;height:64px;margin:0 10px 8px 0}.world-wordmark--compact picture{width:64px;height:64px}.world-wordmark--compact img{width:64px;height:64px}.world-header h1{clear:both}}.curriculum-world{--wiki-bg:#292d39;min-height:100dvh;font-family:KnowledgeMinecraft,Microsoft YaHei,sans-serif}.curriculum-world .world-header p{max-width:900px;line-height:1.4}.curriculum-world .world-card{width:100px;height:100px}.curriculum-world .world-card .kw-frame__icon-safe svg{display:block;image-rendering:pixelated}.curriculum-world .react-flow__node{overflow:visible}.curriculum-world .react-flow__edge{pointer-events:none}.curriculum-world .react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:5 4;animation:curriculum-dash .9s linear infinite}.curriculum-world .world-graph{min-height:520px}.curriculum-world .world-graph .react-flow__minimap{pointer-events:all}.curriculum-world .world-sidebar{min-width:0}.curriculum-selected-preview{margin:18px 0;padding:10px 9px;background:#252b35;border:1px solid #596477}.curriculum-selected-preview h3{margin:0 0 7px;font-size:14px;font-weight:400;color:#dbe9f5}.curriculum-selected-preview p{margin:0 0 10px;color:#c7d2dd;font-size:11px;line-height:1.55}.curriculum-selected-preview button,.curriculum-reset{width:100%;text-align:center;font-size:11px}.curriculum-reset{margin-top:13px}.curriculum-world .world-formula{padding:9px;margin:10px 0}.curriculum-world .world-formula .formula{display:flex;justify-content:center;overflow-x:auto;padding:16px 10px}.curriculum-world .world-formula p{margin:6px 0 0;font-size:12px}.curriculum-world .world-drawer .world-overview{line-height:1.7}.curriculum-world .world-drawer .world-relation small{display:block}.curriculum-math-inline{font-family:KaTeX_Main,Times New Roman,serif;font-size:1.08em;letter-spacing:0;white-space:normal}.curriculum-world-toasts{position:fixed;right:16px;top:16px;z-index:1050;display:flex;flex-direction:column;align-items:flex-end;gap:7px;pointer-events:none}.curriculum-world-toasts>div{padding:10px 13px;background:#253b2c;border:2px solid #80ba87;box-shadow:4px 4px #121712;color:#eef2e7;font-size:12px;animation:curriculum-toast .24s steps(4,end)}.curriculum-world-toasts>button{pointer-events:auto;padding:2px 8px}.curriculum-particles{position:absolute;left:50%;top:50%;pointer-events:none;z-index:5}.curriculum-particles i{position:absolute;width:4px;height:4px;background:#f1d379;animation:curriculum-particle .62s steps(5,end) forwards}.curriculum-particles i:nth-child(1){--dx:-40px;--dy:-35px}.curriculum-particles i:nth-child(2){--dx:40px;--dy:-30px}.curriculum-particles i:nth-child(3){--dx:-48px;--dy:10px}.curriculum-particles i:nth-child(4){--dx:44px;--dy:18px}.curriculum-particles i:nth-child(5){--dx:-18px;--dy:-45px}.curriculum-particles i:nth-child(6){--dx:23px;--dy:44px}@keyframes curriculum-dash{to{stroke-dashoffset:-18}}@keyframes curriculum-particle{to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}@keyframes curriculum-toast{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:980px){.curriculum-world .world-graph{min-height:520px}}@media(max-width:700px){.curriculum-world .world-graph{height:520px}.curriculum-world-toasts{left:12px;right:12px}.curriculum-world-toasts>div{max-width:100%}}@media(prefers-reduced-motion:reduce){.curriculum-world .react-flow__edge.animated .react-flow__edge-path,.curriculum-particles i,.curriculum-world-toasts>div{animation:none!important}}.world-mobile-next{display:none}@media(max-width:900px){.function-world{display:block;padding:0 8px 12px;overflow-x:clip}.world-wiki-nav{display:none}.world-header{display:flex;flex-direction:column;align-items:stretch;margin-inline:-8px;padding:12px 14px;gap:7px}.world-header>div:first-child{width:100%;display:flow-root}.world-header .world-wordmark--compact{display:block;float:left;width:58px;height:58px;margin:0 12px 2px 0}.world-header .world-wordmark--compact picture{width:58px;height:58px}.world-header .world-wordmark--compact img{width:58px;height:58px}.world-header h1{clear:none;font-size:clamp(18px,5vw,22px);line-height:1.18;margin-bottom:5px;overflow-wrap:anywhere}.world-header p{font-size:11px;line-height:1.35}.world-header-actions{width:100%;display:block}.world-global-progress{display:grid;grid-template-columns:auto 1fr;gap:0 10px;align-items:center;min-width:0}.world-global-progress strong{font-size:18px;white-space:nowrap}.world-global-progress span{font-size:11px}.world-global-progress .world-progress-track{grid-column:1/-1;margin-top:4px}.world-wiki-content{display:flex;flex-direction:column;padding-top:8px}.world-init{padding:8px 10px;margin-bottom:8px;gap:8px}.world-init strong{font-size:13px}.world-init p{font-size:11px;line-height:1.35}.world-init button{min-height:38px}.world-modules{order:0;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;gap:6px;padding:0 0 8px;margin:0 -8px;padding-inline:8px}.world-modules button{flex:0 0 auto;min-height:40px;padding:8px 10px;white-space:nowrap;scroll-snap-align:start}.world-toolbar{order:1;display:grid;grid-template-columns:auto auto minmax(0,1fr);padding:8px;margin-bottom:8px;gap:7px}.world-search{grid-column:1/-1;min-width:0;width:100%}.world-search label{display:none}.world-search input{min-height:42px}.world-toolbar>button{min-height:40px}.world-switch{justify-self:end;white-space:normal;font-size:11px;line-height:1.2}.world-switch input{flex:none}.world-main{order:2;display:block}.world-graph,.curriculum-world .world-graph{height:min(65dvh,620px);min-height:470px;margin-bottom:8px;touch-action:none}.world-graph:after{content:"拖动画布浏览 · 双指缩放 · 点击节点查看详情";position:absolute;left:8px;bottom:8px;z-index:4;pointer-events:none;max-width:calc(100% - 144px);padding:4px 6px;color:#d0d6db;background:#20252de8;border:1px solid #59616b;font-size:10px;line-height:1.25}.world-graph .world-mobile-next{display:block;position:absolute;right:8px;bottom:8px;z-index:11;min-width:112px;min-height:44px;padding:6px 8px;font-size:11px}.world-graph .react-flow__controls{top:58px;left:8px}.world-graph .react-flow__controls button{width:40px;height:40px}.world-graph .react-flow__minimap{display:none!important}.world-legend{top:8px;left:8px;right:8px;max-width:none;padding:5px;gap:5px;font-size:10px;line-height:1.1}.world-sidebar{max-height:none;padding:12px;gap:0 10px}.world-sidebar h2{font-size:17px;margin-bottom:4px}.world-sidebar-total{font-size:20px;margin:6px 0 12px}.world-pathbar{order:3;padding:8px;margin:0 0 10px}.world-pathbar>span:first-child{width:100%}.world-pathbar label{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:5px}.world-pathbar select{max-width:none;width:100%;min-width:0}.world-pathbar button{min-height:40px}.world-drawer{width:calc(100vw - 2px);max-width:calc(100vw - 2px);padding:12px 14px 30px;border-left:0;box-shadow:none}.world-drawer-head{position:sticky;top:-12px;z-index:3;background:#2e3340;padding:10px 0;margin:-10px 0 8px}.world-drawer-head button{min-height:44px}.world-drawer .world-formula,.world-drawer .formula{max-width:100%;overflow-x:auto}}@media(max-width:360px){.world-toolbar{grid-template-columns:auto auto}.world-switch{grid-column:1/-1;justify-self:start}.world-header h1{font-size:18px}}.knowledge-portal{--portal-bg:#282d38;--portal-panel:#343a44;--portal-edge:#141920;--portal-line:#505760;--portal-green:#21854d;--portal-text:#e6e8e7;min-height:100dvh;color:var(--portal-text);background-color:var(--portal-bg);background-image:linear-gradient(#272c36e8,#272c36f2),url(/backgrounds/knowledge-7.webp);background-size:auto,640px 360px;font-family:KnowledgeMinecraft,Microsoft YaHei,system-ui,sans-serif}.knowledge-portal *{box-sizing:border-box}.knowledge-portal a{color:inherit;text-decoration:none}.portal-header{height:112px;display:grid;grid-template-columns:245px minmax(0,1fr) auto;align-items:center;gap:28px;padding:18px clamp(20px,4vw,76px);border-bottom:4px solid #21854d;background:#252a34ef;box-shadow:0 4px #10141b}.portal-brand{width:172px;display:flex;flex-direction:column;align-items:center;gap:3px}.portal-brand img{display:block;width:172px;height:66px;object-fit:contain;image-rendering:pixelated}.portal-brand span{color:#aeb8b1;font-size:12px;letter-spacing:.22em}.portal-title>span,.portal-kicker{font-family:KnowledgeMinecraft,Microsoft YaHei,sans-serif;font-size:11px;letter-spacing:.18em;color:#8eadd4}.portal-title h1{margin:5px 0 4px;font-size:clamp(22px,2.1vw,32px);letter-spacing:.035em;color:#f2f3f3}.portal-title p{margin:0;color:#b4bac1;font-size:14px}.portal-header-actions{display:flex;align-items:center;gap:20px}.visitor-label{color:#c3c8cc;font-size:13px}.portal-account{display:inline-flex;align-items:center;gap:24px;padding:10px 15px;background:#d0e3bf;color:#263127!important;border:2px solid #9cb78b;box-shadow:inset 0 0 0 1px #eff7e8,3px 3px #11161c;font-weight:700;font-size:14px}.portal-account:hover{background:#e4f0d5;transform:translate(-1px,-1px)}.portal-shell{display:grid;grid-template-columns:244px minmax(0,1fr);gap:24px;max-width:1780px;padding:30px clamp(20px,4vw,76px) 36px;margin:0 auto}.portal-rail{align-self:start;position:sticky;top:20px;background:#20252d;border:2px solid #11161d;box-shadow:inset 0 0 0 1px #535860,4px 4px #171b22;padding:0 0 16px}.portal-rail-heading{padding:11px 14px;background:#454a50;border-bottom:2px solid #161a20;font-weight:750;font-size:14px}.portal-rail>a,.portal-rail nav a{display:flex;align-items:center;gap:10px;padding:9px 14px;color:#c4c8c9;font-size:13px}.portal-rail>a:hover,.portal-rail nav a:hover{background:#353b43;color:#fff}.portal-rail>a.active{color:#dbf0da;background:#245e3d;border-left:4px solid #68bc7f;padding-left:10px}.portal-rail-domains{margin-top:15px;display:flex;justify-content:space-between}.portal-rail-domains span{font-family:KnowledgeMinecraft,Microsoft YaHei,sans-serif;color:#c4d8c8}.portal-rail nav{padding:6px 0}.dot{width:8px;height:8px;flex:none;background:#768088;border:1px solid #bdc2c3}.dot.live{background:#63bd7d;border-color:#b0e3b8;box-shadow:0 0 7px #54ab70}.portal-rail-note{margin:10px 13px 0;padding:11px 10px;background:#292f37;border:1px solid #49515a;display:flex;flex-direction:column;gap:6px}.portal-rail-note b{font-size:12px;color:#b8ddb9}.portal-rail-note span{font-size:11px;line-height:1.5;color:#a8b0b5}.portal-content{min-width:0}.portal-overview{min-height:132px;display:flex;justify-content:space-between;align-items:flex-end;gap:26px;padding:7px 0 22px;border-bottom:1px solid #49515a}.portal-overview h2{margin:8px 0 7px;font-size:25px;color:#f1f2f2}.portal-overview p{margin:0;color:#b1b9bf;font-size:14px}.portal-metrics{display:flex;align-items:center;gap:20px;padding:12px 16px;background:#222831;border:1px solid #4b525b;box-shadow:3px 3px #181d24}.portal-metrics>div{display:grid;gap:2px;min-width:66px}.portal-metrics b{font:700 22px KnowledgeMinecraft,Microsoft YaHei,sans-serif;color:#d9e7d8}.portal-metrics span{font-size:11px;color:#a8b1b7}.portal-metrics i{height:28px;border-left:1px solid #505761}.portal-controls{padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:18px}.portal-search{height:43px;display:flex;align-items:center;gap:10px;min-width:240px;flex:1;background:#3a404a;border:2px solid #11161c;box-shadow:inset 0 0 0 1px #626972;padding:0 11px}.portal-search>span{color:#aeb6bc;font-size:22px}.portal-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#fff;font-size:14px}.portal-search input::placeholder{color:#b4bbc0}.portal-search kbd{color:#b7bec3;border:1px solid #616972;background:#30353d;padding:3px 6px;font-size:10px}.portal-filters{display:flex;gap:6px}.portal-filters button{padding:10px 14px;border:2px solid #171c22;border-radius:0;background:#41464d;color:#d5d8d8;box-shadow:inset 0 0 0 1px #62676d;font-size:13px}.portal-filters button span{margin-left:7px;color:#aeb9b4;font-family:KnowledgeMinecraft,Microsoft YaHei,sans-serif}.portal-filters button:hover{background:#50565c}.portal-filters button.selected{color:#edf7ed;background:#176e3b;border-color:#145b32;box-shadow:inset 0 0 0 1px #54a36a}.portal-filters button.selected span{color:#d3edd4}.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-card{--card-bg:none;min-height:162px;position:relative;overflow:hidden;display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-rows:1fr auto;align-items:center;gap:12px;padding:17px 16px;background-color:#333a43;background-image:linear-gradient(90deg,#262b34ed,#303640ef),var(--card-bg);background-size:auto,cover;background-position:center;border:2px solid #11161c;box-shadow:inset 0 0 0 1px #636970,4px 4px #171b21;transition:transform .14s,filter .14s,box-shadow .14s}.portal-card:hover{transform:translate(-2px,-2px);box-shadow:inset 0 0 0 1px #8b9298,6px 6px #171b21;filter:brightness(1.08)}.portal-card:focus-visible,.portal-account:focus-visible,.portal-rail a:focus-visible{outline:3px solid #f4d274;outline-offset:3px}.portal-card.is-live{border-color:#195e38;box-shadow:inset 0 0 0 1px #61a873,4px 4px #171b21}.portal-card-mark{width:44px;height:44px;display:grid;place-items:center;background:#252b32;border:2px solid #6e777e;box-shadow:inset 0 0 0 2px #171b20;color:#d3decf;font:700 19px KnowledgeMinecraft,Microsoft YaHei,sans-serif}.portal-card.is-live .portal-card-mark{border-color:#68bd7e;color:#a5e2b1}.portal-card-copy{align-self:center;min-width:0;display:flex;flex-direction:column;gap:5px}.portal-card-copy small{font:10px KnowledgeMinecraft,Microsoft YaHei,sans-serif;letter-spacing:.12em;color:#9aacc0}.portal-card-copy strong{font-size:17px;color:#f0f1ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-card-copy>span{font-size:11px;color:#c0c4c6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-card-state{grid-column:2/4;align-self:end;color:#d7c486;font-size:11px}.portal-card-state.ready{color:#92d6a1}.portal-card-arrow{position:absolute;right:15px;top:14px;color:#aab4bc;font-size:19px}.is-live .portal-card-arrow{color:#8ed49b}.portal-empty{grid-column:1/-1;padding:28px;text-align:center;border:1px dashed #6a7278;color:#bac1c4}.portal-note{display:flex;align-items:center;gap:14px;margin-top:22px;padding:14px 17px;background:#252b34;border:1px solid #505861;box-shadow:3px 3px #181d23}.portal-note-icon{width:26px;height:26px;flex:none;display:grid;place-items:center;border:1px solid #9eacc0;color:#a9c3e3;font:700 14px KnowledgeMinecraft,Microsoft YaHei,sans-serif}.portal-note p{flex:1;margin:0;color:#b4bcc0;font-size:12px;line-height:1.7}.portal-note p b{color:#e2e5e4;font-size:13px}.portal-note>a{white-space:nowrap;color:#b8d5f2;font-size:12px}.portal-note>a span{font-size:17px}.portal-footer{display:flex;justify-content:space-between;gap:12px;margin-top:23px;padding-top:12px;border-top:1px solid #4b535b;color:#8f989e;font:10px KnowledgeMinecraft,Microsoft YaHei,sans-serif;letter-spacing:.06em}.system-page{min-height:100dvh;display:grid;grid-template-rows:64px 1fr;place-items:stretch;background-color:#272c35;background-image:linear-gradient(#20252de0,#20252dec),var(--system-bg);background-size:auto,cover;background-position:center;color:#e8ebea}.system-page>header{display:flex;justify-content:space-between;align-items:center;padding:0 clamp(16px,4vw,70px);background:#20252dee;border-bottom:3px solid #25844e}.system-page>header a{color:#b5d0ed;font-size:14px}.system-page>header span{color:#9ba6ac;font:11px KnowledgeMinecraft,Microsoft YaHei,sans-serif;letter-spacing:.15em}.system-page-panel{align-self:center;justify-self:center;width:min(620px,calc(100% - 32px));padding:38px;background:#252a34ed;border:2px solid #12171d;box-shadow:inset 0 0 0 1px #636970,6px 6px #171b21}.system-page-panel h1{font-size:36px;margin:12px 0 4px}.system-page-panel>p{color:#bdc4c8;line-height:1.7}.system-status{display:flex;align-items:center;gap:10px;margin-top:26px;padding:12px 14px;background:#323841;border:1px solid #545b63;color:#e6d69f;font-size:14px}.system-explanation{font-size:13px}.system-empty{min-height:100dvh;display:grid;place-content:center;gap:12px;text-align:center;background:#272c35;color:#eee}.system-empty a{color:#b9d7f5}@media(max-width:1200px){.portal-shell{grid-template-columns:210px minmax(0,1fr);gap:18px;padding-inline:24px}.portal-header{grid-template-columns:185px minmax(0,1fr) auto;padding-inline:24px}.portal-brand,.portal-brand img{width:150px}.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-metrics{gap:12px}}@media(max-width:760px){.portal-header{height:auto;min-height:94px;grid-template-columns:1fr auto;gap:9px 14px;padding:12px 15px}.portal-brand{grid-row:1/3;width:105px}.portal-brand img{width:105px;height:51px}.portal-brand span{font-size:9px}.portal-title>span{font-size:9px}.portal-title h1{font-size:18px}.portal-title p{font-size:11px}.portal-header-actions{gap:9px}.visitor-label{display:none}.portal-account{padding:8px 10px;gap:10px;font-size:12px}.portal-shell{display:block;padding:14px 14px 26px}.portal-rail{position:static;margin-bottom:14px;display:flex;align-items:center;gap:5px;overflow:auto;padding:6px}.portal-rail-heading,.portal-rail nav,.portal-rail-note,.portal-rail>a:not(.active){display:none}.portal-rail>a.active{border:1px solid #4c9f65;padding:7px 10px;white-space:nowrap}.portal-overview{display:block;padding:13px 0 15px}.portal-overview h2{font-size:21px}.portal-overview p{font-size:12px}.portal-metrics{margin-top:15px;justify-content:space-between}.portal-metrics>div{min-width:54px}.portal-metrics b{font-size:18px}.portal-controls{padding:13px 0;align-items:stretch;flex-direction:column}.portal-search{min-height:42px}.portal-filters{display:grid;grid-template-columns:repeat(3,1fr)}.portal-filters button{padding:9px 5px;font-size:12px}.portal-grid{grid-template-columns:1fr;gap:10px}.portal-card{min-height:128px;padding:13px}.portal-card-copy strong{font-size:16px}.portal-note{align-items:flex-start;flex-wrap:wrap;padding:12px}.portal-note p{min-width:calc(100% - 45px)}.portal-note>a{margin-left:40px}.portal-footer{font-size:9px;flex-wrap:wrap}.system-page>header span{display:none}.system-page-panel{padding:25px 20px}.system-page-panel h1{font-size:29px}}@media(prefers-reduced-motion:reduce){.knowledge-portal *{transition:none!important;scroll-behavior:auto!important}}.portal-card-state.review{color:#e3d18f}.portal-card.is-review{border-color:#816e35;box-shadow:inset 0 0 0 1px #b29a53,4px 4px #171b21}.portal-card.is-review .portal-card-mark{border-color:#c1a85f;color:#f0d88a}@media(max-width:760px){.portal-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-filters button{padding-inline:3px;font-size:11px}.portal-filters button span{margin-left:3px}}.portal-header{height:142px;grid-template-columns:290px minmax(0,1fr) auto}.portal-brand{width:250px;gap:5px}.portal-brand-image{position:relative;display:block;width:250px;height:92px;overflow:hidden}.portal-brand-image img{position:absolute;left:50%;top:50%;width:500px;height:281px;max-width:none;object-fit:contain;transform:translate(-50%,-50%);image-rendering:pixelated}.portal-card-mark{width:54px;height:54px}.portal-card-mark svg{width:42px;height:42px}.portal-card{grid-template-columns:58px minmax(0,1fr) auto}.portal-note-icon{display:grid;place-items:center}.portal-header-actions{min-width:90px;justify-content:flex-end}.portal-header-actions .visitor-label{white-space:nowrap}@media(max-width:850px){.portal-header{height:auto;min-height:128px;grid-template-columns:148px minmax(0,1fr);gap:14px}.portal-brand{width:142px}.portal-brand-image{width:142px;height:76px}.portal-brand-image img{width:284px;height:160px}.portal-header-actions{display:none}.portal-shell{grid-template-columns:1fr}.portal-rail{position:static}.portal-rail nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.portal-header{grid-template-columns:106px minmax(0,1fr);padding:12px}.portal-brand{width:102px}.portal-brand-image{width:102px;height:58px}.portal-brand-image img{width:204px;height:115px}.portal-brand span{font-size:9px}.portal-title h1{font-size:19px}.portal-title p{font-size:11px}.portal-card{grid-template-columns:48px minmax(0,1fr) auto}.portal-card-mark{width:44px;height:44px}.portal-card-mark svg{width:34px;height:34px}}.portal-card.is-approved{border-color:#195e38;box-shadow:inset 0 0 0 1px #61a873,4px 4px #171b21}.portal-card.is-approved .portal-card-mark{border-color:#68bd7e;color:#a5e2b1}@media(max-width:900px){.portal-rail{display:none}.portal-shell{display:block;padding-top:10px}.portal-overview{padding-top:6px}.portal-controls{gap:10px}.portal-filters{display:flex;overflow-x:auto;overscroll-behavior-inline:contain;padding-bottom:3px}.portal-filters button{flex:0 0 auto;min-height:42px;padding-inline:10px;white-space:nowrap}.portal-card{min-height:132px}}@media(max-width:560px){.portal-header{grid-template-columns:1fr;gap:5px;min-height:0;padding:12px 14px}.portal-brand{width:150px;grid-row:auto}.portal-brand-image{width:150px;height:62px}.portal-brand-image img{width:300px;height:169px}.portal-brand span{font-size:10px}.portal-title h1{font-size:20px;line-height:1.2}.portal-title p{line-height:1.35}.portal-metrics{gap:6px;padding:10px 8px}.portal-metrics>div{min-width:0;flex:1}.portal-metrics b{font-size:16px}.portal-metrics span{font-size:10px}.portal-metrics i{height:25px}}
