@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";/*! tailwindcss v4.1.12 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}.visible{visibility:visible}.container{width:100%}.block{display:block}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}@layer base{body{background-color:#f3f4f6;font-family:Inter,sans-serif}}.graph-container{background-color:#f9fafb;border:2px solid #e5e7eb;border-radius:.5rem;width:100%;height:100%;min-height:500px;position:relative;overflow:hidden}.node{cursor:pointer}.node-body{stroke-width:1.5px;stroke:#9ca3af;fill:#fff;rx:6px;ry:6px;transition:all .2s ease-in-out}.node-header{stroke-width:1.5px;stroke:#9ca3af;fill:#e5e7eb;rx:6px;ry:6px}.node.start .node-header{fill:#dbeafe}.node.end .node-header{fill:#fee2e2}.node.selected .node-body,.node.selected .node-header{stroke:#2563eb;stroke-width:2.5px}.node-title{fill:#1f2937;font-size:14px;font-weight:600}.node-content{color:#374151;padding:5px;font-size:12px;line-height:1.4}.link{fill:none;stroke:#9ca3af;stroke-width:2px;transition:stroke .3s,stroke-width .3s}.link.highlighted{stroke:#2563eb;stroke-width:3px}.link-label{fill:#4b5563;text-anchor:middle;paint-order:stroke;stroke:#f9fafb;stroke-width:3px;stroke-linecap:butt;stroke-linejoin:miter;font-size:10px}.choice-button{text-align:left;cursor:pointer;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;width:100%;margin-top:8px;padding:8px 12px;transition:all .2s ease-in-out;display:block}.choice-button:hover{background-color:#e5e7eb;border-color:#d1d5db}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}:root{--font-sans: Inter, system-ui, -apple-system, sans-serif;--font-serif: Merriweather, Georgia, serif;--font-mono: JetBrains Mono, Consolas, monospace;--radius: .5rem;--tracking-normal: 0em;--spacing: .25rem;--radius-sm: calc(var(--radius) - 4px);--radius-md: calc(var(--radius) - 2px);--radius-lg: var(--radius);--radius-xl: calc(var(--radius) + 4px)}:root,.theme-dark{--background: oklch(.15 .01 250);--foreground: oklch(.95 .005 250);--card: oklch(.2 .015 250);--card-foreground: oklch(.95 .005 250);--popover: oklch(.22 .015 250);--popover-foreground: oklch(.95 .005 250);--primary: oklch(.65 .2 280);--primary-foreground: oklch(.98 0 0);--secondary: oklch(.55 .18 180);--secondary-foreground: oklch(.98 0 0);--muted: oklch(.3 .01 250);--muted-foreground: oklch(.7 .005 250);--accent: oklch(.7 .25 65);--accent-foreground: oklch(.15 .01 250);--destructive: oklch(.55 .22 25);--destructive-foreground: oklch(.98 0 0);--border: oklch(.35 .015 250);--input: oklch(.25 .015 250);--ring: oklch(.65 .2 280);--chart-1: oklch(.65 .2 280);--chart-2: oklch(.55 .18 180);--chart-3: oklch(.7 .25 65);--chart-4: oklch(.6 .15 320);--chart-5: oklch(.5 .12 220);--sidebar: oklch(.18 .015 250);--sidebar-foreground: oklch(.95 .005 250);--sidebar-primary: oklch(.65 .2 280);--sidebar-primary-foreground: oklch(.98 0 0);--sidebar-accent: oklch(.7 .25 65);--sidebar-accent-foreground: oklch(.15 .01 250);--sidebar-border: oklch(.35 .015 250);--sidebar-ring: oklch(.65 .2 280);--shadow-2xs: 0 1px 2px 0px oklch(0 0 0 / .05);--shadow-xs: 0 1px 3px 0px oklch(0 0 0 / .1), 0 1px 2px -1px oklch(0 0 0 / .1);--shadow-sm: 0 2px 4px -1px oklch(0 0 0 / .1), 0 1px 2px -1px oklch(0 0 0 / .1);--shadow: 0 4px 6px -1px oklch(0 0 0 / .1), 0 2px 4px -2px oklch(0 0 0 / .1);--shadow-md: 0 6px 10px -2px oklch(0 0 0 / .1), 0 3px 6px -3px oklch(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px oklch(0 0 0 / .1), 0 4px 6px -4px oklch(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px oklch(0 0 0 / .1), 0 8px 10px -6px oklch(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px oklch(0 0 0 / .25)}.theme-light{--background: oklch(.98 .005 60);--foreground: oklch(.2 .01 250);--card: oklch(.99 .003 60);--card-foreground: oklch(.2 .01 250);--popover: oklch(.99 .003 60);--popover-foreground: oklch(.2 .01 250);--primary: oklch(.45 .2 280);--primary-foreground: oklch(.98 0 0);--secondary: oklch(.35 .18 180);--secondary-foreground: oklch(.98 0 0);--muted: oklch(.94 .01 60);--muted-foreground: oklch(.5 .005 250);--accent: oklch(.55 .22 45);--accent-foreground: oklch(.98 0 0);--destructive: oklch(.5 .22 25);--destructive-foreground: oklch(.98 0 0);--border: oklch(.85 .015 60);--input: oklch(.96 .01 60);--ring: oklch(.45 .2 280);--chart-1: oklch(.45 .2 280);--chart-2: oklch(.35 .18 180);--chart-3: oklch(.55 .22 45);--chart-4: oklch(.4 .15 320);--chart-5: oklch(.3 .12 220);--sidebar: oklch(.97 .008 60);--sidebar-foreground: oklch(.2 .01 250);--sidebar-primary: oklch(.45 .2 280);--sidebar-primary-foreground: oklch(.98 0 0);--sidebar-accent: oklch(.55 .22 45);--sidebar-accent-foreground: oklch(.98 0 0);--sidebar-border: oklch(.85 .015 60);--sidebar-ring: oklch(.45 .2 280);--shadow-2xs: 0 1px 2px 0px oklch(.2 0 0 / .05);--shadow-xs: 0 1px 3px 0px oklch(.2 0 0 / .1), 0 1px 2px -1px oklch(.2 0 0 / .1);--shadow-sm: 0 2px 4px -1px oklch(.2 0 0 / .1), 0 1px 2px -1px oklch(.2 0 0 / .1);--shadow: 0 4px 6px -1px oklch(.2 0 0 / .1), 0 2px 4px -2px oklch(.2 0 0 / .1);--shadow-md: 0 6px 10px -2px oklch(.2 0 0 / .1), 0 3px 6px -3px oklch(.2 0 0 / .1);--shadow-lg: 0 10px 15px -3px oklch(.2 0 0 / .1), 0 4px 6px -4px oklch(.2 0 0 / .1);--shadow-xl: 0 20px 25px -5px oklch(.2 0 0 / .1), 0 8px 10px -6px oklch(.2 0 0 / .1);--shadow-2xl: 0 25px 50px -12px oklch(.2 0 0 / .25)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans)!important;background:var(--background)!important;color:var(--foreground)!important;overflow:hidden}@keyframes slideIn{0%{transform:translate(-100%);opacity:.8}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:.8}}@keyframes nodeAppear{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes flash{0%,to{background:transparent}50%{background:var(--accent);opacity:.2}}.main-container{height:100vh;display:flex;flex-direction:column}.content-area{flex:1;display:flex;overflow:hidden}.sidebar{width:280px;background:var(--sidebar);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;transition:all .3s ease-out;position:relative}.sidebar.collapsed{width:60px;min-width:60px;transform:translate(0)}.sidebar-content{flex:1;display:flex;flex-direction:column;padding:1rem;overflow:hidden;transition:opacity .3s ease-out}.sidebar.collapsed .sidebar-content{opacity:0;pointer-events:none}.story-textarea{flex:1;width:100%;background:var(--input);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;font-family:var(--font-mono);font-size:.875rem;color:var(--foreground);resize:none;overflow-y:auto}.story-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px rgba(var(--ring),.1)}.toggle-sidebar{position:absolute;right:-20px;top:.5rem;width:40px;height:40px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:10;color:var(--foreground);box-shadow:var(--shadow-sm)}.toggle-sidebar:hover{background:var(--primary);color:var(--primary-foreground);transform:scale(1.05);box-shadow:var(--shadow-md)}.toggle-sidebar svg{transition:transform .2s;width:20px;height:20px;fill:none!important;stroke:currentColor!important;background:transparent!important}.toggle-sidebar svg path,.toggle-sidebar svg circle,.toggle-sidebar svg polyline,.toggle-sidebar svg line{fill:none!important;stroke:currentColor!important}.sidebar.collapsed .toggle-sidebar{right:auto;left:10px;background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-xl)}.sidebar.collapsed .toggle-sidebar svg{transform:rotate(180deg)}.button{padding:.5rem 1rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;justify-content:center;font-family:var(--font-sans)}.button svg{fill:none!important;stroke:currentColor!important;background:transparent!important}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.button:active{transform:scale(.95)}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.button.secondary{background:var(--secondary);color:var(--secondary-foreground)}.button.destructive{background:var(--destructive);color:var(--destructive-foreground)}.visualization-area{flex:1;background:var(--background);position:relative;overflow:hidden}#graph-container{width:100%;height:100%;position:relative}.right-panel{width:320px;background:var(--sidebar);border-left:1px solid var(--sidebar-border);display:flex;flex-direction:column;padding:1rem;gap:1rem}.scene-display{background:var(--card);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);animation:fadeInUp .6s ease-out}.scene-text{font-size:1rem;line-height:1.6;margin-bottom:1.5rem;color:var(--foreground)}.choice-list{display:flex;flex-direction:column;gap:.5rem}.choice-button{padding:.75rem 1rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius);text-align:left;cursor:pointer;transition:all .2s;color:var(--foreground);position:relative;overflow:hidden;display:flex;align-items:center;gap:.5rem;font-family:var(--font-sans)}.choice-button:hover{transform:translate(5px);background:rgba(var(--accent),.1);border-color:var(--accent)}.choice-button:active{animation:flash .3s}.game-state{background:var(--card);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);flex:0 1 auto;overflow:visible}.state-title{font-weight:600;margin-bottom:1rem;color:var(--foreground)}.state-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border);transition:all .4s}.state-item.updated{animation:flash .4s}.inventory-list{margin-top:1rem}.inventory-item{padding:.25rem 0;display:flex;align-items:center;gap:.5rem;color:var(--muted-foreground)}.spinner{width:24px;height:24px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}.header{background:var(--card);border-bottom:1px solid var(--border);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between}.header-title{font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:.5rem}@media (max-width: 768px){.sidebar{position:absolute;z-index:20;height:100%;box-shadow:var(--shadow-xl)}.right-panel{width:100%;position:absolute;bottom:0;height:40%;z-index:10}.visualization-area{height:60%}}h1,h2,h3,h4,h5,h6{color:var(--foreground)!important}.graph-container{width:100%;height:100%}.node{cursor:pointer;transition:all .2s ease}.node:hover{filter:brightness(1.1)}.node-body{fill:var(--card);stroke:var(--border);stroke-width:2;rx:8;ry:8;transition:all .2s ease}.node-header,rect.node-header,g.node rect.node-header{fill:var(--muted)!important;stroke:var(--border);stroke-width:1;rx:8;ry:8}.node.selected .node-body{stroke:var(--accent);stroke-width:3;filter:drop-shadow(0 0 8px rgba(var(--accent),.3))}.node-title{font-family:var(--font-sans);font-size:14px;font-weight:600;fill:var(--foreground);pointer-events:none}.node-content{font-family:var(--font-sans);font-size:12px;color:var(--foreground)!important;padding:8px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;background:var(--card)!important;border-top:1px solid var(--border);margin-top:4px}.link{stroke:var(--border);stroke-width:2;fill:none;transition:all .2s ease}.link.highlighted{stroke:var(--primary);stroke-width:3}.link-label{font-family:var(--font-sans);font-size:12px;font-weight:500;fill:var(--foreground);stroke:var(--background);stroke-width:.5px;text-anchor:middle;pointer-events:none}#arrowhead path{fill:var(--border)}.link.highlighted+#arrowhead path{fill:var(--primary)}svg{background:var(--background)}@keyframes nodeEnter{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.node{animation:nodeEnter .3s cubic-bezier(.68,-.55,.265,1.55)}*{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.button:hover:not(:disabled){transform:translateY(-1px) scale(1.02);box-shadow:var(--shadow-lg)}.button:active:not(:disabled){transform:translateY(0) scale(.98);transition-duration:.05s}.choice-button{position:relative;overflow:hidden}.choice-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(var(--accent),.1),transparent);transition:left .5s ease}.choice-button:hover:before{left:100%}.state-item{position:relative}.state-item:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .3s ease}.state-item:hover:after{width:100%}.sidebar{transform:translate(0)}.sidebar.collapsed{transform:translate(0);width:60px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.toggle-sidebar{animation:float 3s ease-in-out infinite}.toggle-sidebar:hover{animation:none;transform:translateY(-2px) scale(1.05)}.compact-reset-button{position:absolute;left:10px;bottom:1rem;width:40px;height:40px;background:var(--destructive);color:var(--destructive-foreground);border:1px solid var(--border);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;z-index:20;box-shadow:var(--shadow-sm)}.compact-reset-button:hover{background:var(--destructive);transform:translateY(-2px) scale(1.05);box-shadow:var(--shadow-md)}.compact-reset-button svg{fill:none!important;stroke:currentColor!important;background:transparent!important}.compact-reset-button svg path,.compact-reset-button svg circle,.compact-reset-button svg polyline,.compact-reset-button svg line{fill:none!important;stroke:currentColor!important}.scene-display,.game-state{position:relative}.scene-display:before,.game-state:before{content:"";position:absolute;inset:-1px;background:linear-gradient(45deg,var(--primary),var(--accent),var(--secondary));border-radius:var(--radius);opacity:0;z-index:-1;transition:opacity .3s ease}.scene-display:hover:before,.game-state:hover:before{opacity:.1}.spinner{position:relative}.spinner:after{content:"";position:absolute;inset:2px;border-radius:50%;border:2px solid transparent;border-top-color:var(--accent);animation:spin 1.5s linear infinite reverse}.scene-text{text-shadow:0 0 20px rgba(var(--foreground),.1)}.story-textarea:focus{box-shadow:0 0 0 3px rgba(var(--ring),.2);border-color:var(--ring)}input[type=radio]:checked{accent-color:var(--primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--muted);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;-webkit-transition:background .2s ease;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.button svg,.header svg{fill:none!important;background:transparent!important}.button svg path,.button svg circle,.button svg polyline,.button svg line,.header svg path,.header svg circle,.header svg polyline,.header svg line{fill:none!important;stroke:currentColor!important}
