@import "https://fonts.googleapis.com/css2?family=Segoe+UI:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&family=Fira+Code:wght@400;500&display=swap";:root{--bg-darker:#111;--bg-dark:#1f1f1f;--bg-panel:#202020;--bg-card:#292929;--bg-card-hover:#323232;--border-color:#ffffff14;--border-hover:#ffffff29;--primary:#0f6cbd;--primary-glow:#0f6cbd2e;--secondary:#8f3dff;--accent:#f24e1e;--success:#107c41;--warning:#f59e0b;--error:#d13438;--text-primary:#fff;--text-secondary:#adadad;--text-muted:#707070;--font-sans:"Segoe UI", -apple-system, BlinkMacSystemFont, "Inter", sans-serif;--font-display:"Segoe UI Semibold", "Outfit", sans-serif;--font-mono:"Consolas", "Fira Code", monospace;--glass-blur:none;--shadow-sm:0 2px 4px #00000024, 0 0 2px #0000001f;--shadow-md:0 4px 8px #0003, 0 0 4px #00000026;--shadow-lg:0 8px 16px #00000047, 0 0 8px #0003;--shadow-glow:0 0 0 2px #0f6cbd73;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;box-sizing:border-box}*{box-sizing:inherit;margin:0;padding:0}body{background-color:var(--bg-darker);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;overflow:hidden}#root{flex-direction:column;width:100vw;height:100vh;display:flex}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#ffffff1f;transition:background .15s}::-webkit-scrollbar-thumb:hover{background:#ffffff40}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--text-primary);font-weight:600}.glass-panel{background:var(--bg-panel);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);transition:background-color .15s,border-color .15s}.glass-panel:hover{border-color:var(--border-hover);background-color:#242424}.gradient-text{color:#2b88d8;-webkit-text-fill-color:initial;background:0 0}.btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border-color);color:var(--text-primary);-webkit-user-select:none;user-select:none;background:#2d2d2d;border-bottom:2px solid #ffffff26;justify-content:center;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:all .1s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:hover{border-color:var(--border-hover);background:#363636}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);border-color:#0000 #0000 #00000040;border-bottom-style:solid;border-bottom-width:2px}.btn-primary:hover{box-shadow:var(--shadow-md);background:#117ced}.btn-primary:active{background:#0b599c}.btn-secondary{border-color:var(--border-color);background:#2b2b2b}.btn-secondary:hover{background:#333}.btn-accent{background:var(--secondary);color:#fff;box-shadow:var(--shadow-sm);border-color:#0000 #0000 #00000040;border-bottom-style:solid;border-bottom-width:2px}.btn-accent:hover{box-shadow:var(--shadow-md);background:#9d54ff}.btn-danger{color:#fca5a5;background:#2d2d2d;border:1px solid #d134384d;border-bottom:2px solid #d1343833}.btn-danger:hover{background:#d1343826;border-color:#d1343899}.btn-icon-only{border-radius:var(--radius-sm);padding:6px}.btn-disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.flowchart-container{-webkit-user-select:none;user-select:none;cursor:grab;background-color:#161616;width:100%;height:100%;position:relative;overflow:hidden}.flowchart-container:active{cursor:grabbing}.flowchart-canvas{transform-origin:0 0;background-image:radial-gradient(#ffffff09 1px,#0000 1px);background-position:0 0;background-size:20px 20px;width:5000px;height:5000px;position:absolute;top:0;left:0}.flowchart-node{border-radius:var(--radius-lg);width:220px;color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-md);cursor:move;z-index:10;background:#2b2b2b;border-bottom:2px solid #ffffff1a;padding:12px;transition:border-color .12s,box-shadow .12s;position:absolute}.flowchart-node.selected{border-color:var(--primary);border-bottom-color:var(--primary);box-shadow:var(--shadow-glow), var(--shadow-lg)}.flowchart-node.node-start{border-left:4px solid var(--success)}.flowchart-node.node-end{border-left:4px solid var(--error)}.flowchart-node.node-dialogue{border-left:4px solid var(--primary)}.flowchart-node.node-combat{border-left:4px solid var(--accent)}.flowchart-node.node-puzzle{border-left:4px solid var(--warning)}.node-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;font-size:10px;font-weight:700;display:flex}.node-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.node-text{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:11px;line-height:1.4;display:-webkit-box;overflow:hidden}.node-ports{flex-direction:column;gap:4px;margin-top:8px;display:flex}.node-port{border-radius:var(--radius-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;text-align:right;background:#ffffff08;border:1px solid #ffffff05;padding:3px 6px;font-size:10px;overflow:hidden}.svg-connections{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.game-viewport{background:#000;flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.game-bg{z-index:1;background-position:50%;background-size:cover;width:100%;height:100%;transition:background .8s ease-in-out;position:absolute;top:0;left:0}.sprite-container{z-index:2;pointer-events:none;justify-content:space-between;width:100%;height:60%;padding:0 10%;display:flex;position:absolute;bottom:120px}.character-sprite{opacity:0;flex-direction:column;justify-content:flex-end;align-items:center;width:auto;max-width:250px;height:100%;transition:all .5s ease-out;display:flex;transform:translateY(20px)}.character-sprite.active{opacity:1;transform:translateY(0)}.character-image-placeholder{border-radius:var(--radius-lg);width:200px;height:350px;box-shadow:var(--shadow-lg);background:linear-gradient(#1f507e 0%,#3e125c 100%);border:1px solid #ffffff1a;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.sprite-emoji{filter:drop-shadow(0 5px 5px #00000080);margin-bottom:20px;font-size:80px}.sprite-name-tag{border-radius:var(--radius-sm);border:1px solid var(--border-color);color:#fff;text-transform:uppercase;letter-spacing:.5px;background:#111;padding:4px 12px;font-size:11px;font-weight:600}.dialogue-box-container{z-index:10;position:absolute;bottom:24px;left:24px;right:24px}.dialogue-speaker{color:#fff;font-family:var(--font-display);border:1px solid var(--border-color);background:#0f6cbd;border-bottom:none;border-radius:4px 4px 0 0;padding:4px 16px;font-size:13px;font-weight:600;display:inline-block}.dialogue-text-panel{border:1px solid var(--border-color);border-radius:0 var(--radius-lg) var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lg);cursor:pointer;background:#181818;min-height:90px;padding:18px 22px;position:relative}.dialogue-text-panel.no-speaker{border-radius:var(--radius-lg)}.dialogue-text{color:var(--text-primary);font-size:14px;line-height:1.5}.dialogue-arrow{color:var(--primary);animation:1s infinite alternate bounce-horiz;position:absolute;bottom:12px;right:16px}@keyframes bounce-horiz{0%{transform:translateY(0)}to{transform:translateY(4px)}}.choices-container{z-index:11;flex-direction:column;gap:8px;width:80%;max-width:500px;display:flex;position:absolute;bottom:180px;left:50%;transform:translate(-50%)}.choice-button{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;text-align:center;box-shadow:var(--shadow-sm);background:#202020;border-bottom:2px solid #ffffff1a;padding:10px 18px;font-size:13px;font-weight:500;transition:all .15s}.choice-button:hover{border-color:var(--primary);box-shadow:var(--shadow-glow);background:#2b2b2b}.choice-button.disabled{opacity:.35;cursor:not-allowed;border-color:var(--border-color)}.combat-container{z-index:5;background:radial-gradient(circle,#1b1b1b 0%,#111 100%);flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:24px;display:flex;position:absolute;top:0;left:0}.combat-arena{flex:1;justify-content:space-around;align-items:center;display:flex}.combatant-card{flex-direction:column;align-items:center;gap:12px;width:240px;display:flex}.combat-sprite-frame{border:1px solid var(--border-color);width:160px;height:160px;box-shadow:var(--shadow-md);background:#202020;border-radius:50%;justify-content:center;align-items:center;display:flex}.combatant-card.enemy .combat-sprite-frame{border-color:#d1343859}.combatant-card.player .combat-sprite-frame{border-color:#0f6cbd59}.combat-emoji{filter:drop-shadow(0 5px 5px #00000080);font-size:80px}.combatant-info{border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);background:#202020;padding:12px}.combatant-name{justify-content:space-between;margin-bottom:8px;font-size:13px;font-weight:600;display:flex}.stat-bar-outer{border-radius:var(--radius-sm);background:#333;width:100%;height:6px;margin-bottom:6px;overflow:hidden}.stat-bar-inner{border-radius:var(--radius-sm);height:100%;transition:width .3s}.stat-bar-inner.hp{background:#d13438}.stat-bar-inner.mp{background:#0078d4}.stat-bar-inner.xp{background:#f59e0b}.combat-log-box{border:1px solid var(--border-color);border-radius:var(--radius-md);height:100px;color:var(--text-secondary);background:#181818;margin-bottom:16px;padding:12px 16px;font-size:12px;line-height:1.5;overflow-y:auto}.combat-log-entry{margin-bottom:4px}.combat-log-entry.player-action{color:#5ab2ff}.combat-log-entry.enemy-action{color:#ff8e8e}.combat-log-entry.system{color:#38c172}.combat-actions-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.shake-animation{animation:.4s ease-in-out shake}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-10px)}40%,80%{transform:translate(10px)}}.flash-red{animation:.4s ease-out flash-red-effect}@keyframes flash-red-effect{0%{filter:brightness()drop-shadow(0 0 red)}50%{filter:brightness(1.5)drop-shadow(0 0 15px red)}to{filter:brightness()drop-shadow(0 0 red)}}.puzzle-modal{z-index:6;background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:absolute;top:0;left:0}.keypad-frame{border:1px solid var(--border-color);border-radius:var(--radius-lg);width:280px;box-shadow:var(--shadow-lg);background:#202020;padding:20px}.keypad-display{border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:var(--font-mono);text-align:center;letter-spacing:4px;color:var(--success);background:#111;justify-content:center;align-items:center;min-height:48px;margin-bottom:16px;padding:10px;font-size:22px;display:flex}.keypad-display.error{color:var(--error);animation:.3s ease-in-out shake}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.keypad-btn{border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;background:#2b2b2b;border-bottom:2px solid #ffffff1a;padding:14px;font-size:16px;font-weight:600;transition:all .1s}.keypad-btn:hover{border-color:var(--primary);background:#333}.keypad-btn:active{transform:translateY(1px)}.inventory-bar{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#1c1c1c;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.inventory-slot{border-radius:var(--radius-sm);cursor:pointer;background:#222;border:1px dashed #ffffff26;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:all .15s;display:flex;position:relative}.inventory-slot.filled{border-style:solid;border-color:var(--border-color);background:#2b2b2b}.inventory-slot.filled:hover{border-color:var(--primary);transform:scale(1.05)}.item-tooltip{border:1px solid var(--border-color);border-radius:var(--radius-sm);white-space:nowrap;z-index:100;color:var(--text-primary);box-shadow:var(--shadow-md);background:#111;padding:4px 8px;font-size:10px;display:none;position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.inventory-slot:hover .item-tooltip{display:block}.stats-overlay{z-index:4;position:absolute;top:20px;right:20px}.stats-badge{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);background:#202020;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:600;transition:border-color .15s;display:flex}.stats-badge:hover{border-color:var(--primary)}.form-group{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.form-input,.form-textarea,.form-select{color:var(--text-primary);font-family:var(--font-sans);border-radius:var(--radius-sm);background:#252525;border:1px solid #ffffff14;border-bottom:2px solid #ffffff73;padding:6px 10px;font-size:13px;transition:all .1s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#ffffff14;border-bottom-color:var(--primary);box-shadow:none;outline:none}.form-textarea{resize:vertical;min-height:80px}.editor-layout{grid-template-columns:1fr 320px;height:calc(100vh - 70px);display:grid;overflow:hidden}.editor-sidebar{border-left:1px solid var(--border-color);background:#1c1c1c;flex-direction:column;height:100%;display:flex;overflow-y:auto}.sidebar-tabs{border-bottom:1px solid var(--border-color);background:#161616;display:flex}.sidebar-tab{text-align:center;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid #0000;flex:1;padding:10px 4px;font-size:10px;font-weight:600;transition:all .15s}.sidebar-tab.active{color:var(--primary);border-bottom-color:var(--primary);background:#0f6cbd0d}.sidebar-tab:hover:not(.active){color:var(--text-primary);background:#ffffff05}.sidebar-content{flex:1;padding:12px}.editor-header{border-bottom:1px solid var(--border-color);z-index:10;background:#1c1c1c;justify-content:space-between;align-items:center;height:70px;padding:0 20px;display:flex}.scene-tree-item:hover,.filesystem-item:hover{color:#fff!important;background:#ffffff08!important}.scene-tree-container::-webkit-scrollbar{width:4px;height:4px}.filesystem-item::-webkit-scrollbar{width:4px;height:4px}.database-manager::-webkit-scrollbar{width:4px;height:4px}.godot-inspector::-webkit-scrollbar{width:4px;height:4px}.scene-tree-container::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.filesystem-item::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.database-manager::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.godot-inspector::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:99px}.godot-inspector .form-group{margin-bottom:12px}.godot-inspector .form-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin-bottom:4px;font-size:10px}
