.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: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: 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))}body{font-family:Noto Sans JP,sans-serif}.kn-node{--kn-accent: #efb27d;--kn-accent-ink: #b9712f;position:relative;width:auto;min-width:152px;max-width:300px;border-radius:14px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 3px #785a281a,0 8px 16px #785a281f;font-family:Noto Sans JP,sans-serif;-webkit-user-select:none;user-select:none}.kn-node__del{position:absolute;top:-8px;right:-8px;width:20px;height:20px;padding:0;border-radius:50%;border:2px solid #fffdf6;background:#ef9a8e;color:#fff;font-size:9px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5}.kn-node__del:hover{background:#e0584a}.kn-node__bar{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--kn-accent);border-radius:12px 12px 0 0}.kn-node__name{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:14px;color:#3a2a14}.kn-node__sub{font-size:10px;font-weight:700;letter-spacing:.08em;color:#3a2a1499}.kn-node__gauge{height:5px;background:#efe3c8}.kn-node__gauge-fill{height:100%;background:var(--kn-accent-ink)}.kn-node__ports{display:flex;gap:16px;padding:8px 0 10px;min-height:20px}.kn-node__col{display:flex;flex-direction:column;gap:6px}.kn-node__col--out{margin-left:auto}.kn-node__port{position:relative;min-height:20px;display:flex;align-items:center}.kn-node__col--out .kn-node__port{justify-content:flex-end}.kn-node__port-label{font-size:12px;color:#6b4f2a;white-space:nowrap}.kn-node__preview{display:flex;align-items:center;justify-content:center;gap:6px;height:58px;margin:8px 10px 6px;border-radius:10px;background:#fbf3e2;border:1.5px solid #ecd9b0}.kn-node--invalid{border-color:#e8897a;box-shadow:0 3px #b446321f,0 8px 16px #b4463233}.kn-node--starved{border-color:#7fb4e0;animation:kn-starve 1.1s ease-in-out infinite}@keyframes kn-starve{0%,to{box-shadow:0 3px #3c6ea01a,0 8px 16px #3c6ea024}50%{box-shadow:0 3px #3c6ea024,0 0 0 3px #78afe173,0 8px 18px #3c6ea042}}.kn-node__preview--invalid{flex-direction:column;gap:2px;background:#fdecea;border-color:#f0b3ab}.kn-node__invalid-mark{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:22px;line-height:1;color:#d6584a}.kn-node__invalid-text{font-size:11px;color:#c25b4f}.kn-node__arrow{color:#c9ab78;font-size:14px}.kn-food-icon{flex:0 0 auto;display:block}.kn-node__name{white-space:nowrap}.kn-node__col--in .kn-node__port-label{padding-left:14px}.kn-node__col--out .kn-node__port-label{padding-right:14px}.kn-node__count{min-width:16px;padding:0 5px;border-radius:8px;background:var(--kn-accent-ink);color:#fffaf0;font-size:10px;font-weight:700;line-height:16px;text-align:center}.kn-node__col--in .kn-node__count{margin:0 4px 0 10px}.kn-node__col--out .kn-node__count{margin:0 10px 0 4px}.kn-node .react-flow__handle{width:10px;height:10px;background:#caa46a;border:2px solid #fffdf6;top:50%}.kn-node__col--in .react-flow__handle{left:0;right:auto;transform:translate(-50%,-50%)}.kn-node__col--out .react-flow__handle{left:auto;right:0;transform:translate(50%,-50%)}@media(pointer:coarse){.kn-node .react-flow__handle{width:22px;height:22px;border-width:2.5px}.kn-cmenu__item{padding:12px 16px;font-size:15px}}.kn-node__extra{padding:0 10px 10px}.kn-storage__pick{width:100%;font-family:Noto Sans JP,sans-serif;font-size:11px;padding:3px 8px;border-radius:8px;border:1.5px solid #cbe3ee;background:#eef7fb;color:#3e7d92;cursor:pointer}.kn-storage__pick:hover{background:#e0f0f7}.kn-serve__fx{position:absolute;inset:0;pointer-events:none}.kn-serve__glow{position:absolute;inset:-2px;border-radius:16px;animation:kn-serve-glow .7s ease-out forwards}@keyframes kn-serve-glow{0%{box-shadow:0 0 0 2px #6cae54d9,0 0 16px #6cae548c}to{box-shadow:0 0 0 7px #6cae5400}}.kn-serve__pop{position:absolute;left:50%;top:38%;transform:translate(-50%);white-space:nowrap;color:#4a9d3a;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13px;text-shadow:0 1px 0 #fff;animation:kn-serve-pop .8s ease-out forwards}.kn-serve__pop--gold{color:#b5740f;font-size:16px;letter-spacing:.02em;text-shadow:0 1px 0 #fff,0 0 8px rgba(255,196,60,.85);animation:kn-serve-pop-gold .95s cubic-bezier(.2,.9,.3,1) forwards}.kn-serve__glow--gold{animation:kn-serve-glow-gold .85s ease-out forwards}@keyframes kn-serve-glow-gold{0%{box-shadow:0 0 0 2px #f0b432f2,0 0 22px #ffc846b3}to{box-shadow:0 0 0 10px #ffc84600}}.kn-serve__spark{position:absolute;left:50%;top:40%;color:#f6c23a;font-size:12px;text-shadow:0 0 6px rgba(255,200,70,.9);opacity:0;pointer-events:none}.kn-serve__spark--a{animation:kn-serve-spark-a .8s ease-out forwards}.kn-serve__spark--b{animation:kn-serve-spark-b .85s ease-out .04s forwards}.kn-serve__spark--c{animation:kn-serve-spark-c .75s ease-out .02s forwards}@keyframes kn-serve-spark-a{0%{opacity:0;transform:translate(-50%) scale(.5)}30%{opacity:1}to{opacity:0;transform:translate(-180%,-20px) scale(1.1)}}@keyframes kn-serve-spark-b{0%{opacity:0;transform:translate(-50%) scale(.5)}30%{opacity:1}to{opacity:0;transform:translate(70%,-26px) scale(1.15)}}@keyframes kn-serve-spark-c{0%{opacity:0;transform:translate(-50%) scale(.5)}30%{opacity:1}to{opacity:0;transform:translate(-50%,-34px) scale(1)}}.kn-serve__badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);white-space:nowrap;padding:2px 9px;border-radius:999px;background:#ffe39a;border:1.5px solid #e8b84e;color:#8a5a18;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:11px;box-shadow:0 2px 5px #b4822840;pointer-events:none}.kn-serve__stars{position:absolute;bottom:-13px;left:50%;transform:translate(-50%);white-space:nowrap;padding:1px 8px;border-radius:999px;background:#fff7e2;border:1.5px solid #eccf86;color:#e8a517;font-size:12px;line-height:1.4;letter-spacing:.06em;box-shadow:0 1px 4px #b48c2833;pointer-events:auto}.kn-serve__stars--3{background:#fff0c2;border-color:#e8b84e;box-shadow:0 1px 4px #b48c284d,0 0 9px #ffc8468c}.kn-serve__stars-dim{color:#e2d2a8}.kn-serve__badge--pulse{animation:kn-serve-badge-pulse .6s ease-out}@keyframes kn-serve-badge-pulse{0%{transform:translate(-50%) scale(1);box-shadow:0 2px 5px #b4822840}35%{transform:translate(-50%) scale(1.22);background:#ffd86b;box-shadow:0 2px 8px #b4822866,0 0 14px #ffc846e6}to{transform:translate(-50%) scale(1);box-shadow:0 2px 5px #b4822840}}@keyframes kn-serve-pop{0%{opacity:0;transform:translate(-50%,8px) scale(.8)}25%{opacity:1;transform:translate(-50%) scale(1.06)}to{opacity:0;transform:translate(-50%,-24px) scale(1)}}.kn-palette{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:14px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 4px 12px #785a2824;font-family:Noto Sans JP,sans-serif}.kn-palette__title{font-size:11px;color:#a98c63;margin-bottom:2px}.kn-palette__btn{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13px;padding:6px 10px;border-radius:10px;cursor:pointer;border:2px solid #ecd9b0;background:#fff7e6;color:#6b4f2a}.kn-palette__btn:hover{background:#ffedcf}.kn-palette__reset{margin-top:4px;color:#b25b4f;border-color:#f0c4bd;background:#fff1ee}.kn-palette__reset:hover{background:#ffe3dd}.kn-palette__debug{margin-top:2px;font-size:11px;color:#5a6b8a;border-color:#c4cfe0;background:#eef2f9}.kn-palette__debug:hover{background:#e0e7f3}.kn-cmenu__backdrop{position:fixed;inset:0;z-index:20}.kn-cmenu{position:fixed;z-index:21;display:flex;flex-direction:column;gap:4px;min-width:132px;max-height:calc(100vh - 20px);overflow-y:auto;padding:8px;border-radius:12px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 8px 20px #785a2838;font-family:Noto Sans JP,sans-serif}.kn-cmenu__title{font-size:11px;color:#a98c63;padding:0 2px 2px}.kn-cmenu__item{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13px;text-align:left;padding:6px 10px;border-radius:9px;cursor:pointer;border:2px solid #ecd9b0;background:#fff7e6;color:#6b4f2a}.kn-cmenu__item:hover{background:#ffedcf}.kn-shop{display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:14px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 4px 12px #785a2824;font-family:Noto Sans JP,sans-serif;max-width:200px;max-height:60vh;overflow-y:auto}.kn-shop__fold{position:sticky;top:-10px;z-index:3;flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px 0 2px;padding:6px 10px;border:1px solid #ecd9b0;border-radius:9px;background:#fff3da;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:12px;color:#8a6d3b;cursor:pointer}.kn-shop__fold-chev{font-size:10px;color:#b29667}.kn-shop--folded{overflow:visible}.kn-shop__resizer{flex:none;height:12px;margin:0 -6px 2px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none}.kn-shop__resizer:before{content:"";width:36px;height:4px;border-radius:2px;background:#e0cba0}.kn-shop__resizer:hover:before{background:#cdb27d}.kn-shop__title{font-size:11px;color:#a98c63;margin-bottom:2px}.kn-shop__title--sub{margin-top:7px;font-weight:700;color:#9a7f57}.kn-shop__upname{display:inline-flex;align-items:center;gap:5px}.kn-shop__btn{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13px;padding:6px 10px;border-radius:10px;cursor:pointer;border:2px solid #e6c98f;background:#fff7e6;color:#6b4f2a}.kn-shop__btn:hover:not(:disabled){background:#ffedcf}.kn-shop__btn:disabled{opacity:.5;cursor:not-allowed}.kn-shop__price{font-size:12px;color:#b9842f}.kn-shop__title:not(:first-child){margin-top:6px}.kn-shop__upgrade{border-color:#f0c97a;background:#fff3d6;color:#9a6a1f}.kn-shop__upgrade:hover:not(:disabled){background:#ffe9b8}.kn-shop__uplabel{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.25}.kn-shop__upsub{font-size:10px;font-weight:400;color:#b59a6a}.kn-ach{min-width:200px;max-width:240px;max-height:46vh;overflow-y:auto;padding:10px 12px;border-radius:14px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 4px 12px #785a2824;font-family:Noto Sans JP,sans-serif}.kn-ach__title{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13px;color:#b9842f;margin-bottom:4px}.kn-ach__row{padding:5px 0;border-top:1px solid #f0e6cf}.kn-ach__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.kn-ach__name{font-size:12px;color:#5a472a;font-weight:700}.kn-ach__row.is-done .kn-ach__name{color:#4a9d3a}.kn-ach__reward{font-size:11px;color:#5b8a3a}.kn-ach__bar{height:6px;border-radius:4px;background:#efe3c8;overflow:hidden;margin:3px 0 2px}.kn-ach__fill{height:100%;background:#e7b96b;transition:width .3s ease}.kn-ach__row.is-done .kn-ach__fill{background:#6cae54}.kn-ach__prog{font-size:10px;color:#a98c63}.kn-contract{min-width:230px;max-width:252px;max-height:56vh;overflow-y:auto;padding:9px 11px;border-radius:14px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 4px 12px #785a2824;font-family:Noto Sans JP,sans-serif}.kn-contract__title{position:sticky;top:-9px;margin:-9px -11px 4px;padding:9px 11px 6px;background:#fffdf6;font-weight:700;font-size:13px;color:#b9842f}.kn-contract__empty{font-size:11px;color:#a98c63;padding:6px 2px 2px;line-height:1.4}.kn-contract__list{display:flex;flex-direction:column}.kn-contract__row{display:flex;gap:7px;align-items:center;padding:5px 0;border-top:1px solid #f0e6cf}.kn-contract__row:first-child{border-top:none}.kn-contract__pic{flex:0 0 26px;width:26px;height:26px;display:flex;align-items:center;justify-content:center}.kn-contract__body{flex:1;min-width:0}.kn-contract__head{display:flex;justify-content:space-between;align-items:baseline;gap:6px}.kn-contract__name{font-size:12px;font-weight:700;color:#5a472a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kn-contract__tier{flex:0 0 auto;font-size:10px;font-weight:700;color:#5b8a3a}.kn-contract__bar{height:6px;border-radius:4px;background:#efe3c8;overflow:hidden;margin:3px 0 2px}.kn-contract__fill{height:100%;background:linear-gradient(90deg,#f0c463,#e7a94e);border-radius:4px;transition:width .3s ease}.kn-contract__foot{display:flex;justify-content:space-between;font-size:10px}.kn-contract__prog{color:#a98c63}.kn-contract__reward{font-weight:700;color:#5b8a3a}.kn-achtoast__wrap{position:fixed;top:84px;left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}.kn-achtoast{padding:8px 18px;border-radius:999px;background:#5b8a3a;color:#fffaf0;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13px;box-shadow:0 6px 18px #3c641e59;animation:kn-achtoast 3.2s ease forwards}@keyframes kn-achtoast{0%{opacity:0;transform:translateY(-12px) scale(.9)}10%{opacity:1;transform:translateY(0) scale(1)}85%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.kn-orders-board{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:14px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 4px 12px #785a2824;font-family:Noto Sans JP,sans-serif}.kn-orders-board__title{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:11px;color:#b9842f;white-space:nowrap}.kn-orders-board__list{display:flex;gap:8px}.kn-order{display:flex;align-items:center;gap:6px;width:134px;padding:5px 8px;border-radius:10px;background:#fff7e6;border:1.5px solid #efdcb6}.kn-order__pic{flex:0 0 auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#fffdf6;border:1px solid #ecd9b0}.kn-order__body{flex:1;min-width:0}.kn-order__name{font-size:12px;color:#5a472a;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kn-order__bar{height:5px;border-radius:3px;background:#efe3c8;overflow:hidden;margin:3px 0 2px}.kn-order__fill{height:100%;background:#6cae54;transition:width .3s ease}.kn-order__row{display:flex;justify-content:space-between;font-size:10px}.kn-order__prog{font-family:Noto Sans JP,sans-serif;font-weight:700;color:#6b4f2a}.kn-order__reward{color:#5b8a3a;font-weight:700}.kn-orders{min-width:236px;max-width:280px;padding:10px 12px;border-radius:14px;background:#fffdf6;border:2px solid #ecd9b0;box-shadow:0 4px 12px #785a2824;font-family:Noto Sans JP,sans-serif}@media(min-width:769px){.kn-orders{max-height:calc(60vh - 60px);overflow-y:auto}.kn-contract{max-height:calc(40vh - 40px)}}.kn-orders__money{position:relative;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:15px;color:#b9842f;margin-bottom:8px;transform-origin:left center}.kn-orders__money.is-up{animation:kn-money-pop .45s ease}@keyframes kn-money-pop{0%{transform:scale(1)}40%{transform:scale(1.18);color:#3a9d3a}to{transform:scale(1)}}.kn-orders__pop{position:absolute;left:0;top:-2px;color:#3a9d3a;font-size:13px;white-space:nowrap;pointer-events:none;animation:kn-pop-rise 1.1s ease-out forwards}@keyframes kn-pop-rise{0%{opacity:0;transform:translateY(2px)}18%{opacity:1}to{opacity:0;transform:translateY(-28px)}}.kn-orders__title{font-size:12px;color:#a98c63;margin-bottom:6px}.kn-orders__empty{font-size:12px;color:#a98c63}.kn-orders__rate{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:12px;color:#6a9b6a;margin:-2px 0 9px}.kn-orders__done{text-align:center;padding:6px 4px 4px}.kn-orders__done-head{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:16px;color:#d98a2b;margin-bottom:6px}.kn-orders__done-sub{font-size:12px;color:#8a7350;margin-bottom:10px}.kn-orders__done-stat{font-size:14px;color:#6b4f2a;margin-bottom:8px}.kn-orders__done-stat b{color:#b9842f}.kn-orders__done-hint{font-size:11px;color:#a98c63;line-height:1.5}.kn-orders__row{display:flex;align-items:baseline;gap:10px;font-size:13px;padding:3px 0;color:#4a3a22}.kn-orders__name{flex:1}.kn-orders__prog{font-family:Noto Sans JP,sans-serif;font-weight:700;color:#6b4f2a}.kn-orders__reward{color:#5b8a3a;font-weight:700}.kn-orders__row.is-done{opacity:.5}.kn-goal__pic{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:12px;background:#fffaf0;border:1.5px solid #e7d2a6;box-shadow:0 1px #785a2814}.kn-recipe{position:relative;margin:10px 0;padding:14px 12px 10px;border-radius:12px;background-color:#fffdf5;border:1.5px solid #e6d3a8;box-shadow:inset 0 0 0 1px #fff7e3}.kn-recipe__ribbon{position:absolute;top:-10px;left:12px;padding:2px 12px;border-radius:8px;background:#d98b54;color:#fffaf0;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:11px;letter-spacing:.1em;box-shadow:0 2px 4px #965a2840}.kn-recipe__head{display:flex;align-items:center;gap:10px;padding-top:2px;margin-bottom:6px}.kn-recipe__headtext{display:flex;flex-direction:column;gap:2px}.kn-recipe__title{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:16px;color:#6b4a1f}.kn-recipe__sub{font-size:11px;color:#a98c63}.kn-recipe__sec{margin-top:9px}.kn-recipe__label{display:inline-block;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:11px;color:#b9712f;border-bottom:2px solid #f0d09a;padding:0 2px 1px;margin-bottom:6px}.kn-recipe__ings{display:flex;flex-wrap:wrap;gap:6px}.kn-recipe__ing{display:inline-flex;align-items:center;gap:4px;padding:2px 9px 2px 4px;border-radius:999px;background:#fff3df;border:1px solid #efdcb6;font-size:12px;color:#5a472a}.kn-recipe__steps{list-style:none;margin:0;padding:0;counter-reset:step}.kn-recipe__steps li{position:relative;counter-increment:step;padding:3px 0 3px 26px;font-size:12px;line-height:1.55;color:#5a472a}.kn-recipe__steps li:before{content:counter(step);position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:#e7a259;color:#fffaf0;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:11px;line-height:18px;text-align:center}.kn-goal__bar{height:8px;border-radius:5px;background:#efe3c8;overflow:hidden}.kn-goal__bar-fill{height:100%;background:#6cae54;transition:width .3s ease}.kn-goal__prog{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:12px;color:#6b4f2a;text-align:right;margin-top:2px}.kn-goal__reward{font-size:12px;color:#5b8a3a;margin-top:4px}.kn-reveal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#281c0838;animation:kn-reveal-bg .25s ease forwards}@keyframes kn-reveal-bg{0%{opacity:0}to{opacity:1}}.kn-reveal__card{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 40px 26px;border-radius:26px;background:#fffdf6;border:3px solid #f1c97a;box-shadow:0 16px 44px #78501e4d;font-family:Noto Sans JP,sans-serif;font-weight:700;text-align:center;animation:kn-reveal-pop .45s cubic-bezier(.18,1.5,.4,1) forwards}@keyframes kn-reveal-pop{0%{transform:scale(.3) rotate(-8deg);opacity:0}60%{transform:scale(1.1) rotate(3deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}.kn-reveal__head{font-size:17px;color:#e0892f;letter-spacing:.04em}.kn-reveal__pic{position:relative;display:flex;align-items:center;justify-content:center;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#fff6e2 42%,#ffeec6 72%);overflow:hidden}.kn-reveal__pic:before{content:"";position:absolute;inset:-20%;background:repeating-conic-gradient(from 0deg,#ffd88c99 0deg 9deg,#fff4de00 9deg 18deg);animation:kn-reveal-spin 9s linear infinite}@keyframes kn-reveal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.kn-reveal__pic .kn-food-icon{position:relative;animation:kn-reveal-icon .5s ease forwards}@keyframes kn-reveal-icon{0%{transform:scale(.4)}70%{transform:scale(1.15)}to{transform:scale(1)}}.kn-reveal__name{font-size:27px;color:#5a3a12}.kn-reveal__sub{font-family:Noto Sans JP,sans-serif;font-size:13px;color:#a98c63}.kn-reveal__hint{margin-top:8px;padding:5px 12px;border-radius:999px;background:#eef6ec;border:1px solid #cfe5c8;font-family:Noto Sans JP,sans-serif;font-size:12px;font-weight:700;color:#5e8b54}.kn-reveal__close{position:absolute;top:10px;right:12px;width:28px;height:28px;border-radius:50%;border:none;background:#f0e2c4;color:#8a6a32;font-size:14px;font-weight:700;line-height:1;cursor:pointer}.kn-reveal__close:hover{background:#e7d3a8}.kn-reveal__ok{margin-top:8px;padding:9px 30px;border-radius:999px;border:none;background:#e7b96b;color:#fffaf0;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:14px;cursor:pointer}.kn-reveal__ok:hover{background:#e0a94f}.kn-mtop{display:none}@media(max-width:768px){.kn-mtop{display:block;position:fixed;top:0;left:0;right:0;z-index:40;background:#fffdf6;border-bottom:2px solid #ecd9b0;box-shadow:0 2px 8px #785a281f;font-family:Noto Sans JP,sans-serif;padding-top:env(safe-area-inset-top)}.kn-mbar{display:flex;align-items:center;gap:6px;padding:6px 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.kn-mgoal{display:flex;align-items:center;gap:7px;width:100%;box-sizing:border-box;padding:5px 10px 7px;border:none;border-top:1px solid #f0e3c4;background:#fff6e4;font-family:Noto Sans JP,sans-serif;color:#6b4f2a;text-align:left;cursor:pointer}.kn-mgoal__label{font-size:10px;color:#a98c63;white-space:nowrap}.kn-mgoal__name{font-weight:700;font-size:15px;white-space:nowrap}.kn-mgoal__prog{font-weight:700;font-size:13px;color:#c98a3c;white-space:nowrap}.kn-mgoal__hint{margin-left:auto;font-size:11px;color:#a98c63;white-space:nowrap}.kn-mbar__money{font-weight:700;color:#6b4f2a;font-size:15px;white-space:nowrap;margin-right:2px}.kn-mbar button{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:12px;padding:8px 11px;border-radius:11px;border:2px solid #ecd9b0;background:#fff7e6;color:#6b4f2a;white-space:nowrap;cursor:pointer}.kn-mbar button.on{background:#ffd98a;border-color:#e8b54e}.react-flow__panel.kn-mp{position:fixed!important;inset:auto 0 0!important;margin:0!important;width:100%!important;max-width:100%!important;max-height:76vh;overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:39;box-sizing:border-box;padding:8px 8px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .24s ease;pointer-events:none}.react-flow__panel.kn-mp>*{width:100%!important;max-width:100%!important;box-sizing:border-box}.kn-shop__resizer{display:none}.react-flow__panel.kn-mp .kn-shop{max-height:none}.kn-app[data-mtab=palette] .kn-mp--palette,.kn-app[data-mtab=goal] .kn-mp--goal,.kn-app[data-mtab=shop] .kn-mp--shop,.kn-app[data-mtab=contract] .kn-mp--contract{transform:translateY(0);pointer-events:auto}}.kn-nav{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:12;display:flex;flex-direction:column;align-items:center;gap:6px;width:min(560px,94vw);pointer-events:none;font-family:Noto Sans JP,sans-serif}.kn-nav__avatar{pointer-events:none;position:relative;flex:none;width:clamp(280px,33vw,540px);height:clamp(280px,33vw,540px);padding:0;border:none;background:transparent;filter:drop-shadow(0 10px 20px rgba(80,50,15,.28));animation:kn-nav-rise .5s cubic-bezier(.18,1.3,.4,1) both}.kn-nav__grab{pointer-events:auto;position:absolute;left:50%;bottom:1%;transform:translate(-50%);width:34%;height:70%;padding:0;border:none;background:transparent;border-radius:26px;cursor:grab;touch-action:none}.kn-nav__grab:before{content:"";position:absolute;inset:0;border:2.5px dashed rgba(185,141,74,.75);border-radius:26px;opacity:0;transition:opacity .2s ease}.kn-nav__grab:hover:before{opacity:1}.kn-nav__grabhint{position:absolute;left:50%;bottom:-6px;transform:translate(-50%);padding:2px 10px;border-radius:999px;background:#fffdf6d9;border:1.5px solid #d8c39a;color:#8a6a33;font-family:Noto Sans JP,sans-serif;font-size:10px;font-weight:700;white-space:nowrap;opacity:.6;transition:opacity .2s ease}.kn-nav__grab:hover .kn-nav__grabhint{opacity:1}.kn-nav[data-auto="1"]{transition:left .35s ease,bottom .35s ease}.kn-nav[data-drag="1"]{-webkit-user-select:none;user-select:none}.kn-nav[data-drag="1"] .kn-nav__grab{cursor:grabbing}.kn-nav[data-drag="1"] .kn-nav__avatar{animation:none}@keyframes kn-nav-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.kn-nav__canvas{width:100%;height:100%}.kn-nav__canvas,.kn-nav__canvas *{pointer-events:none!important}.kn-nav__avatar img{width:100%;height:100%;object-fit:contain}img.kn-navfin__avatar{object-fit:contain}.kn-nav__bubble{pointer-events:auto;position:relative;max-width:min(420px,90vw);padding:13px 18px;border-radius:18px;background:#fffdf6;border:2px solid #f1c97a;box-shadow:0 8px 22px #78501e38;color:#5a3a12;font-size:15px;font-weight:700;line-height:1.55;cursor:pointer;animation:kn-nav-pop .3s ease both}.kn-nav__bubble:before,.kn-nav__card:before{content:"";position:absolute;left:50%;bottom:-10px;transform:translate(-50%);width:0;height:0;border:10px solid transparent;border-top-color:#f1c97a}.kn-nav__bubble:after,.kn-nav__card:after{content:"";position:absolute;left:50%;bottom:-7px;transform:translate(-50%);width:0;height:0;border:8px solid transparent;border-top-color:#fffdf6}@keyframes kn-nav-pop{0%{opacity:0;transform:translateY(6px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.kn-nav__card{pointer-events:auto;position:relative;width:min(460px,92vw);padding:15px 18px 13px;border-radius:18px;background:#fffdf6;border:2px solid #f1c97a;box-shadow:0 10px 26px #78501e42;animation:kn-nav-pop .3s ease both}.kn-nav__cardtext{color:#4a2f0e;font-size:15px;font-weight:700;line-height:1.6;animation:kn-navfin-line .35s ease both}.kn-nav__cardhint{margin-top:6px;font-size:12px;font-weight:700;color:#a98b4f}.kn-nav__cardrow{margin-top:12px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.kn-nav__wait{margin-right:auto;font-size:12px;font-weight:700;color:#b98b3f;animation:kn-nav-wait 1.4s ease-in-out infinite}@keyframes kn-nav-wait{0%,to{opacity:.45}50%{opacity:1}}.kn-nav__next{border:none;border-radius:999px;padding:8px 18px;background:#e7b96b;color:#fffaf0;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:13px;cursor:pointer}.kn-nav__next:hover{background:#e0a94f}.kn-nav__replay{position:absolute;left:50%;top:-4px;transform:translate(-50%);white-space:nowrap;padding:5px 12px;border-radius:999px;background:#3c2a10e6;color:#ffe9c2;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:11px;box-shadow:0 5px 14px #281a0859;pointer-events:none}.kn-navfin{position:fixed;inset:0;z-index:70;cursor:pointer;background:radial-gradient(ellipse at 50% 45%,#140e0452,#0c0802bd);animation:kn-reveal-bg .5s ease forwards;font-family:Noto Sans JP,sans-serif}.kn-navfin__avatar{position:absolute;left:clamp(8px,4vw,90px);bottom:clamp(70px,10vh,140px);width:clamp(510px,78vh,1050px);height:clamp(510px,78vh,1050px);filter:drop-shadow(0 14px 30px rgba(0,0,0,.5))}.kn-navfin__panel{position:absolute;left:50%;bottom:clamp(24px,6vh,60px);transform:translate(-50%);width:min(680px,90vw);padding:20px 26px 18px;border-radius:20px;background:#fffdf6f5;border:3px solid #f1c97a;box-shadow:0 16px 44px #0006;cursor:auto}.kn-navfin__text{color:#4a2f0e;font-size:clamp(16px,2.4vw,22px);font-weight:700;line-height:1.7;min-height:2.6em;animation:kn-navfin-line .4s ease both}@keyframes kn-navfin-line{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.kn-navfin__next{margin-top:12px;display:inline-flex;align-items:center;gap:10px;padding:9px 22px;border:none;border-radius:999px;background:#e7b96b;color:#fffaf0;font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:14px;cursor:pointer}.kn-navfin__next:hover{background:#e0a94f}.kn-navfin__count{font-size:11px;opacity:.85}.kn-load3d{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:700;color:#a98b4f;animation:kn-load3d-pulse 1.2s ease-in-out infinite}.kn-intro .kn-load3d,.kn-navfin .kn-load3d{color:#f1e6c8}@keyframes kn-load3d-pulse{0%,to{opacity:.45}50%{opacity:1}}.kn-app{-webkit-user-select:none;user-select:none}.kn-app textarea,.kn-app input{-webkit-user-select:text;user-select:text}.kn-dev{position:fixed;top:8px;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:90;font-family:Noto Sans JP,sans-serif}.kn-dev>*{pointer-events:auto}.kn-dev__pill{padding:4px 12px;border:1.5px dashed #b9975d;border-radius:999px;background:#fffdf6d9;color:#8a6a33;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer}.kn-dev__pill:hover{background:#fffdf6}.kn-dev__menu{position:absolute;top:calc(100% + 6px);display:flex;flex-direction:column;gap:2px;min-width:220px;padding:8px;border:2px solid #d8c39a;border-radius:12px;background:#fffdf6;box-shadow:0 10px 26px #78501e47}.kn-dev__menu button{text-align:left;padding:7px 10px;border:none;border-radius:8px;background:transparent;font-family:inherit;font-size:13px;font-weight:700;color:#5a4a28;cursor:pointer}.kn-dev__menu button:hover{background:#f6ead0}.kn-devedit{position:fixed;inset:0;z-index:95;background:#1e140673;display:flex;align-items:center;justify-content:center}.kn-devedit__panel{width:min(720px,94vw);max-height:86vh;overflow-y:auto;padding:18px 20px 16px;border:2px solid #d8c39a;border-radius:14px;background:#fffdf6;box-shadow:0 16px 44px #00000059;display:flex;flex-direction:column;gap:8px}.kn-devedit__title{font-size:15px;font-weight:700;color:#5a4a28}.kn-devedit__label{margin-top:6px;font-size:12px;font-weight:700;color:#8a6a33}.kn-devedit__panel textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1.5px solid #d8c39a;border-radius:8px;background:#fff;font-family:Noto Sans JP,sans-serif;font-size:13px;line-height:1.6;color:#4a2f0e;resize:vertical}.kn-devedit__step{display:flex;flex-direction:column;gap:2px}.kn-devedit__steplabel{font-size:11px;font-weight:700;color:#a98b4f}.kn-devedit__row{margin-top:8px;display:flex;align-items:center;gap:10px}.kn-devedit__msg{flex:1;font-size:12px;font-weight:700;color:#4f7d3a}.kn-devedit__cancel,.kn-devedit__save{padding:8px 18px;border:none;border-radius:999px;font-family:inherit;font-weight:700;font-size:13px;cursor:pointer}.kn-devedit__cancel{background:#eee3cb;color:#6a5732}.kn-devedit__save{background:#e7b96b;color:#fffaf0}.kn-devedit__save:hover{background:#e0a94f}.kn-app[data-tut] .kn-mp--palette,.kn-app[data-tut] .kn-mp--shop,.kn-app[data-tut] .kn-mp--contract,.kn-app[data-tut] .kn-mtop{pointer-events:none;opacity:.35;filter:saturate(.5)}.kn-app[data-tut] .kn-mp--goal{pointer-events:none}.kn-app[data-tut] .react-flow__handle,.kn-app[data-tut] .react-flow__edgeupdater{pointer-events:none!important}.kn-app[data-tut] .kn-node__del{display:none}.kn-app[data-tut=connect1] .react-flow__node[data-id=storage-1] .react-flow__handle[data-handleid=egg],.kn-app[data-tut=connect2] .react-flow__node[data-id^=crack-] .react-flow__handle[data-handleid=main],.kn-app[data-tut=serve] .react-flow__node[data-id^=fry-] .react-flow__handle[data-handleid=out],.kn-app[data-tut=flourline] .react-flow__node[data-id=storage-1] .react-flow__handle[data-handleid=flour],.kn-app[data-tut=doughline] .react-flow__node[data-id^=mix-] .react-flow__handle[data-handleid=out],.kn-app[data-tut=breadserve] .react-flow__node[data-id^=fry-] .react-flow__handle[data-handleid=out],.kn-app[data-tut=branchmix] .react-flow__node[data-id^=crack-] .react-flow__handle[data-handleid=main],.kn-app[data-tut=mixfry] .react-flow__node[data-id^=mix-] .react-flow__handle[data-handleid=out],.kn-app[data-tut=tamagoserve] .react-flow__node[data-id^=fry-] .react-flow__handle[data-handleid=out]{pointer-events:auto!important}.kn-app[data-tut=buymix] .kn-mp--shop,.kn-app[data-tut=buyup] .kn-mp--shop{pointer-events:auto;opacity:1;filter:none}.kn-app[data-tut=buymix] .kn-mtop,.kn-app[data-tut=buyup] .kn-mtop{opacity:1;filter:none}.kn-app[data-tut=buymix] .kn-mbar__shop,.kn-app[data-tut=buyup] .kn-mbar__shop{pointer-events:auto}.kn-cmenu__item:disabled{opacity:.35;cursor:not-allowed}.kn-opnav{position:fixed;inset:0;z-index:11;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(ellipse at 50% 30%,#140e0400 26%,#140e044d);animation:kn-reveal-bg .4s ease forwards}.kn-opnav__box{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:10vh;padding:26px 40px 20px;border-radius:22px;background:#fffdf6eb;border:2.5px solid #f1c97a;box-shadow:0 14px 36px #50320f4d;font-family:Noto Sans JP,sans-serif}.kn-opnav__icon{font-size:54px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}.kn-opnav__icon--pan{animation:kn-op-pan 1.7s ease-in-out infinite}@keyframes kn-op-pan{0%,to{transform:translate(-36px)}50%{transform:translate(36px)}}.kn-opnav__icon--pinch{animation:kn-op-pinch 1.5s ease-in-out infinite}@keyframes kn-op-pinch{0%,to{transform:scale(.8)}50%{transform:scale(1.3)}}.kn-opnav__mouse{width:46px;height:72px;border:3.5px solid #6a4f22;border-radius:24px;background:#fffdf6;position:relative}.kn-opnav__wheel{position:absolute;left:50%;top:10px;width:7px;height:16px;margin-left:-3.5px;border-radius:4px;background:#b9842f;animation:kn-op-wheel 1.1s ease-in-out infinite}@keyframes kn-op-wheel{0%,to{transform:translateY(0);opacity:1}50%{transform:translateY(11px);opacity:.55}}.kn-opnav__arrows{font-size:20px;font-weight:900;color:#b9842f}.kn-opnav__label{font-size:16px;font-weight:700;color:#5a3a12}.kn-opnav__bar{width:220px;height:12px;border-radius:999px;background:#eee3cb;border:2px solid #d8c39a;overflow:hidden}.kn-opnav__barfill{height:100%;border-radius:999px;background:#7fb069;transition:width .25s ease}.kn-opnav__bars{display:flex;flex-direction:column;gap:6px}.kn-opnav__barrow{display:flex;align-items:center;gap:8px}.kn-opnav__barsign{width:18px;text-align:center;font-size:16px;font-weight:900;color:#b9842f}.kn-opnav__box--done{border-color:#7fb069}.kn-opnav__check{font-size:54px;animation:kn-op-pop .45s cubic-bezier(.18,1.5,.4,1) both}.kn-opnav__label--done{color:#4f7d3a}@keyframes kn-op-pop{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.kn-tutring{position:fixed;z-index:60;pointer-events:none;border:3px solid #e8543f;border-radius:12px;box-shadow:0 0 0 4px #e8543f38;animation:kn-tutring-pulse 1.1s ease-in-out infinite}@keyframes kn-tutring-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.7}}.kn-tutarrow{position:fixed;z-index:60;pointer-events:none;color:#e8543f;font-size:30px;font-weight:900;text-shadow:0 2px 6px rgba(120,40,20,.35);animation:kn-tutarrow-bob .65s ease-in-out infinite alternate}@keyframes kn-tutarrow-bob{0%{transform:translate(-50%,calc(-100% - 12px))}to{transform:translate(-50%,-100%)}}.kn-tutarrow--below{animation-name:kn-tutarrow-bob-dn}@keyframes kn-tutarrow-bob-dn{0%{transform:translate(-50%,12px)}to{transform:translate(-50%)}}.kn-intro{position:fixed;inset:0;z-index:80;cursor:pointer;background:radial-gradient(ellipse at 50% 45%,#140e0473,#0c0802d6);animation:kn-reveal-bg .5s ease forwards;font-family:Noto Sans JP,sans-serif}.kn-intro__avatar{position:absolute;left:50%;transform:translate(-50%);bottom:clamp(140px,22vh,240px);width:clamp(415px,68vh,930px);height:clamp(415px,68vh,930px);filter:drop-shadow(0 14px 30px rgba(0,0,0,.5));transition:left .45s ease,bottom .45s ease,width .45s ease,height .45s ease,transform .45s ease}.kn-intro--demo{background:#1a110538}.kn-intro--demo .kn-intro__avatar{left:clamp(4px,4vw,80px);transform:translate(0);bottom:clamp(110px,16vh,190px);width:clamp(200px,34vh,430px);height:clamp(200px,34vh,430px)}img.kn-intro__avatar{object-fit:contain}.kn-bdemo{position:fixed;pointer-events:none;animation:kn-bdemo-cycle 3.4s ease-in-out infinite}.kn-bdemo__ghost{position:absolute;top:0;width:168px;padding:30px 10px 12px;border-radius:14px;background:#fffdf6b8;border:2.5px dashed #b98d4a;font-family:Noto Sans JP,sans-serif;font-size:15px;font-weight:700;color:#6a4f22;text-align:center;box-sizing:border-box;transform-origin:left center;animation:kn-bdemo-snap 3.4s ease-in-out infinite}.kn-bdemo__ghosthead{position:absolute;top:0;left:0;right:0;padding:3px 0;border-radius:11px 11px 0 0;border-bottom:2px dashed rgba(185,141,74,.6);background:#f6d1868c;color:#8a5c14;font-size:12px;letter-spacing:.08em}.kn-bdemo__gport{position:absolute;top:50%;left:-9px;transform:translateY(-50%);width:15px;height:15px;border-radius:50%;background:#c9a15f99;border:2px dashed #fffdf6}.kn-bdemo__wire{position:absolute;left:0;border-radius:3px;background:repeating-linear-gradient(90deg,rgba(120,90,40,.4) 0 9px,transparent 9px 16px)}.kn-bdemo__fill{position:absolute;inset:0;border-radius:3px;background:#e8843f;transform-origin:left center;animation:kn-bdemo-wire 3.4s ease-in-out infinite}.kn-bdemo__hand{position:absolute;top:50%;left:0;filter:drop-shadow(0 3px 5px rgba(0,0,0,.35));animation:kn-bdemo-hand 3.4s ease-in-out infinite}.kn-bdemo__egg{position:absolute;top:50%;left:0;opacity:0;animation:kn-bdemo-egg 3.4s linear infinite}@keyframes kn-bdemo-cycle{0%{opacity:0}6%,93%{opacity:1}to{opacity:0}}@keyframes kn-bdemo-wire{0%,14%{transform:scaleX(0)}62%,to{transform:scaleX(1)}}@keyframes kn-bdemo-hand{0%,8%{left:0%;transform:translate(-30%,6%) scale(1)}14%{left:0%;transform:translate(-30%,-4%) scale(.88)}62%{left:100%;transform:translate(-45%,-4%) scale(.88)}70%,to{left:100%;transform:translate(-45%,8%) scale(1)}}@keyframes kn-bdemo-snap{0%,62%{box-shadow:none;border-color:#b98d4a}68%{box-shadow:0 0 0 8px #e8843f66;border-color:#e8843f}78%,to{box-shadow:none;border-color:#b98d4a}}@keyframes kn-bdemo-egg{0%,66%{left:0%;opacity:0;transform:translate(-50%,-58%)}70%{opacity:1}90%{left:100%;opacity:1;transform:translate(-50%,-58%)}94%,to{left:100%;opacity:0;transform:translate(-50%,-58%)}}.kn-intro__panel{position:absolute;left:50%;bottom:clamp(24px,6vh,60px);transform:translate(-50%);width:min(680px,90vw);padding:20px 26px 18px;border-radius:20px;background:#fffdf6f5;border:3px solid #f1c97a;box-shadow:0 16px 44px #0006;cursor:auto}.kn-ending{position:fixed;inset:0;z-index:72;background:radial-gradient(ellipse at 50% 42%,#140e0480,#0c0802db);animation:kn-reveal-bg .5s ease forwards;font-family:Noto Sans JP,sans-serif}.kn-ending__avatar{position:absolute;left:clamp(4px,3vw,60px);bottom:clamp(40px,8vh,120px);width:clamp(340px,52vh,700px);height:clamp(340px,52vh,700px);filter:drop-shadow(0 14px 30px rgba(0,0,0,.5))}.kn-ending__panel{position:absolute;right:clamp(12px,5vw,90px);top:50%;transform:translateY(-50%);width:min(560px,92vw);max-height:88vh;overflow-y:auto;padding:26px 30px 22px;border-radius:22px;background:#fffdf6f7;border:3px solid #f1c97a;box-shadow:0 16px 44px #00000073}.kn-ending__title{font-size:clamp(22px,3vw,30px);font-weight:900;color:#e8843f;margin-bottom:10px}.kn-ending__lead{font-size:15px;font-weight:700;color:#4a2f0e;line-height:1.8;margin-bottom:14px}.kn-ending__stats{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:14px;background:#fbf3e2;border:2px solid #ecd9b0;margin-bottom:12px}.kn-ending__row{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:#6a5732}.kn-ending__row b{color:#4a2f0e;text-align:right}.kn-ending__aside{font-size:13px;font-weight:700;color:#a98b4f;margin-bottom:14px}@media(max-width:900px){.kn-ending__avatar{left:50%;transform:translate(-50%);bottom:0;opacity:.5}.kn-ending__panel{right:50%;transform:translate(50%,-50%)}}.kn-clearfx{position:fixed;inset:0;z-index:78;cursor:pointer;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#ffd67833,#140e0426);animation:kn-reveal-bg .4s ease forwards;font-family:Noto Sans JP,sans-serif}.kn-clearfx__stamp{position:absolute;left:50%;top:38%;font-size:clamp(40px,8vw,88px);font-weight:900;color:#e8843f;white-space:nowrap;text-shadow:0 4px 0 #fffdf6,0 8px 24px rgba(120,60,10,.45);animation:kn-clearfx-pop .5s cubic-bezier(.18,1.6,.4,1) both}@keyframes kn-clearfx-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-6deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-6deg)}}.kn-clearfx__sub{position:absolute;left:50%;top:54%;font-size:clamp(15px,2.4vw,22px);font-weight:700;color:#5a3a12;white-space:nowrap;background:#fffdf6eb;padding:8px 22px;border-radius:999px;border:2px solid #f1c97a;animation:kn-clearfx-pop2 .5s .25s cubic-bezier(.18,1.6,.4,1) both}@keyframes kn-clearfx-pop2{0%{opacity:0;transform:translate(-50%) scale(.4)}to{opacity:1;transform:translate(-50%) scale(1)}}.kn-clearfx__confetti{position:absolute;top:-8%;animation-name:kn-clearfx-fall;animation-timing-function:linear;animation-fill-mode:both;animation-iteration-count:infinite}@keyframes kn-clearfx-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(115vh) rotate(540deg);opacity:.8}}@media(max-width:768px){.kn-nav{width:96vw;gap:4px}.kn-nav__avatar{width:clamp(120px,34vw,185px);height:clamp(120px,34vw,185px)}.kn-nav__bubble{font-size:13px;padding:11px 14px}.kn-nav__card{width:94vw}.kn-nav__cardtext{font-size:13px}.kn-navfin__avatar{left:2px;bottom:150px;width:70vw;height:70vw}.kn-navfin__panel{width:94vw;padding:16px 18px 14px}}@media(max-height:520px){.kn-nav{left:10px;bottom:8px;transform:none;flex-direction:row-reverse;align-items:flex-end;justify-content:flex-start;width:auto;max-width:96vw;gap:8px}.kn-nav__avatar{width:clamp(84px,26vh,120px);height:clamp(84px,26vh,120px)}.kn-nav__bubble{max-width:min(430px,calc(96vw - 140px));font-size:12px;padding:8px 12px;margin-bottom:10px}.kn-nav__card{width:min(440px,calc(96vw - 140px));padding:10px 14px 9px;margin-bottom:6px}.kn-nav__cardtext{font-size:12px;line-height:1.5}.kn-nav__cardhint{font-size:10px;margin-top:4px}.kn-nav__cardrow{margin-top:6px}.kn-nav__bubble:before,.kn-nav__bubble:after,.kn-nav__card:before,.kn-nav__card:after{display:none}.kn-opnav__box{margin-top:6px;padding:10px 22px 9px;gap:5px}.kn-opnav__icon{font-size:30px}.kn-opnav__icon--pan{animation-name:kn-op-pan-sm}.kn-opnav__mouse{width:30px;height:46px;border-width:2.5px}.kn-opnav__wheel{top:6px;width:5px;height:10px;margin-left:-2.5px}.kn-opnav__label{font-size:12px}.kn-opnav__arrows{font-size:14px}.kn-opnav__bar{width:160px;height:9px}.kn-opnav__check{font-size:30px}.kn-intro__avatar,.kn-intro--demo .kn-intro__avatar{left:6px;transform:none;bottom:4px;width:clamp(120px,38vh,190px);height:clamp(120px,38vh,190px)}.kn-intro__panel{left:auto;right:12px;bottom:12px;transform:none;width:min(620px,calc(96vw - 160px));padding:14px 18px 12px}.kn-navfin__text{font-size:14px;min-height:2.2em;line-height:1.6}.kn-navfin__next{margin-top:8px;padding:7px 18px;font-size:13px}.kn-navfin__avatar{left:4px;bottom:4px;width:clamp(160px,55vh,260px);height:clamp(160px,55vh,260px)}.kn-navfin__panel{left:auto;right:12px;bottom:12px;transform:none;width:min(600px,calc(96vw - 190px));padding:14px 18px 12px}.kn-ending__avatar{left:4px;transform:none;bottom:0;width:clamp(150px,45vh,220px);height:clamp(150px,45vh,220px);opacity:1}.kn-ending__panel{right:10px;top:50%;transform:translateY(-50%);width:min(520px,calc(96vw - 170px));max-height:94vh;padding:14px 18px 12px}.kn-ending__title{font-size:18px;margin-bottom:6px}.kn-ending__lead{font-size:12.5px;line-height:1.6;margin-bottom:8px}.kn-ending__stats{gap:4px;padding:8px 10px;margin-bottom:8px}.kn-ending__row{font-size:12px}.kn-ending__aside{font-size:11px;margin-bottom:8px}}@keyframes kn-op-pan-sm{0%,to{transform:translate(-20px)}50%{transform:translate(20px)}}html,body,#root{margin:0;height:100%}body{font-family:"M PLUS Rounded 1c",system-ui,sans-serif}
