@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&display=swap";:root{--terminal-bg:#000;--terminal-bg-alt:#1a1a1a;--terminal-primary:#0f0;--terminal-secondary:#0ff;--terminal-accent:#ff0;--terminal-warning:#f60;--terminal-error:#f06;--terminal-text:#0f0;--terminal-text-dim:#080;--terminal-border:#0f0;--terminal-shadow:#040;color:var(--terminal-text);background-color:var(--terminal-bg);font-synthesis:none;text-rendering:optimizeSpeed;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;font-family:Orbitron,Courier New,monospace;font-size:14px;font-weight:400;line-height:1.2}*{box-sizing:border-box}::selection{background-color:var(--terminal-primary);color:var(--terminal-bg)}body{background:linear-gradient(90deg,transparent 98%,var(--terminal-shadow)100%),linear-gradient(var(--terminal-bg)50%,var(--terminal-bg-alt)50%);background-size:3px 3px,100% 2px;min-height:100vh;margin:0;padding:0;animation:.1s linear infinite scanlines}@keyframes scanlines{0%{background-position:0 0,0 0}to{background-position:0 0,0 2px}}.terminal-border{border:2px solid var(--terminal-border);box-shadow:0 0 10px var(--terminal-shadow),inset 0 0 10px #00ff001a;border-radius:0}button{background-color:var(--terminal-bg);color:var(--terminal-primary);border:2px solid var(--terminal-primary);cursor:pointer;text-transform:uppercase;letter-spacing:1px;padding:8px 16px;font-family:Orbitron,monospace;font-weight:700;transition:all .1s;position:relative}button:hover{background-color:var(--terminal-primary);color:var(--terminal-bg);box-shadow:0 0 15px var(--terminal-primary);text-shadow:0 0 5px var(--terminal-bg)}button:active{transform:scale(.98)}input,select,textarea{background-color:var(--terminal-bg);color:var(--terminal-primary);border:1px solid var(--terminal-primary);outline:none;padding:6px 12px;font-family:Orbitron,monospace}input:focus,select:focus,textarea:focus{box-shadow:0 0 10px var(--terminal-primary);border-color:var(--terminal-secondary)}h1,h2,h3,h4,h5,h6{color:var(--terminal-primary);text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px var(--terminal-primary);margin:0}h1{font-size:2em;font-weight:900}h2{font-size:1.5em;font-weight:700}.glow{text-shadow:0 0 10px;box-shadow:0 0 10px}.cursor:after{content:"_";animation:1s infinite blink}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--terminal-bg)}::-webkit-scrollbar-thumb{background:var(--terminal-primary);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--terminal-secondary)}#root{flex-direction:column;width:100vw;height:100vh;margin:0;padding:0;display:flex;overflow:visible}.app-header{background-color:var(--terminal-bg);border-bottom:2px solid var(--terminal-primary);box-shadow:0 2px 10px var(--terminal-shadow);justify-content:flex-start;align-items:center;gap:60px;padding:10px 20px;display:flex}.app-title{color:var(--terminal-primary);text-shadow:0 0 15px var(--terminal-primary);margin:0;font-size:1.8em;font-weight:900}.app-toolbar{gap:10px;display:flex}.workspace{background:radial-gradient(circle at 50% 50%,#00ff0008 0%,transparent 50%),linear-gradient(90deg,transparent 98%,var(--terminal-shadow)100%),linear-gradient(var(--terminal-bg)50%,var(--terminal-bg-alt)50%);background-size:100px 100px,2px 2px,100% 1px;flex:1;position:relative;overflow:visible}.table-container{background-color:var(--terminal-bg);border:2px solid var(--terminal-primary);min-width:200px;box-shadow:0 0 15px var(--terminal-shadow),inset 0 0 10px #00ff000d;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);position:absolute}.table-container.overview-mode{min-width:140px;max-width:180px}.table-container.fact-table{border-color:var(--terminal-warning);box-shadow:0 0 15px #ffff004d,inset 0 0 10px #ffff001a}.table-container.fact-table .table-header{background-color:var(--terminal-warning);color:var(--terminal-bg)}.table-container.dimension-table{border-color:var(--terminal-accent);box-shadow:0 0 15px #00bfff4d,inset 0 0 10px #00bfff1a}.table-container.dimension-table .table-header{background-color:var(--terminal-accent);color:var(--terminal-bg)}.table-container:hover{border-color:var(--terminal-secondary);box-shadow:0 0 20px var(--terminal-primary),inset 0 0 15px #00ff001a}.table-header{background-color:var(--terminal-primary);color:var(--terminal-bg);text-transform:uppercase;letter-spacing:1px;cursor:move;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--terminal-primary);padding:8px 12px;font-weight:700}.table-column{border-bottom:1px solid var(--terminal-text-dim);justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;transition:background-color .1s;display:flex}.table-column:hover{background-color:#00ff001a}.table-column:last-child{border-bottom:none}.column-name{color:var(--terminal-text);font-weight:700}.column-type{color:var(--terminal-secondary);text-transform:uppercase;font-size:11px}.column-key{color:var(--terminal-accent);font-size:10px;font-weight:700}.connection-line{stroke:var(--terminal-primary);stroke-width:2px;fill:none;filter:drop-shadow(0 0 3px var(--terminal-primary));pointer-events:stroke;cursor:pointer}.connection-line:hover{stroke-width:3px;filter:drop-shadow(0 0 6px var(--terminal-primary))}.connection-arrow{fill:var(--terminal-secondary);filter:drop-shadow(0 0 3px var(--terminal-secondary));pointer-events:all;cursor:pointer}.connection-arrow:hover{filter:drop-shadow(0 0 6px var(--terminal-secondary))}.connection-label{fill:var(--terminal-accent);text-anchor:middle;text-shadow:0 0 5px var(--terminal-accent);font-family:Orbitron,monospace;font-size:12px;font-weight:700}.add-table-btn{background-color:var(--terminal-primary);width:60px;height:60px;color:var(--terminal-bg);cursor:pointer;box-shadow:0 0 20px var(--terminal-primary);border:none;border-radius:50%;font-size:24px;font-weight:900;transition:all .2s;position:fixed;bottom:20px;right:20px}.add-table-btn:hover{box-shadow:0 0 30px var(--terminal-primary);transform:scale(1.1)}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--terminal-bg);border:3px solid var(--terminal-primary);min-width:400px;max-width:90vw;max-height:90vh;box-shadow:0 0 30px var(--terminal-primary),inset 0 0 20px #00ff001a;background:linear-gradient(45deg,var(--terminal-bg),var(--terminal-bg-alt));color:var(--terminal-primary);padding:20px;position:relative;overflow-y:auto}.modal h2{color:var(--terminal-primary);text-shadow:0 0 10px var(--terminal-primary);text-align:center;margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{color:var(--terminal-text);text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.form-group input,.form-group select{background-color:var(--terminal-bg);width:100%;color:var(--terminal-primary);border:2px solid var(--terminal-primary);padding:8px 12px;font-family:Orbitron,monospace;font-size:14px}.form-group input:focus,.form-group select:focus{box-shadow:0 0 15px var(--terminal-primary);border-color:var(--terminal-secondary);outline:none}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.columns-list{border:1px solid var(--terminal-text-dim);background-color:#00ff0005;max-height:300px;padding:10px;overflow-y:auto}.column-editor{border:1px solid var(--terminal-text-dim);background-color:#00ff0008;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:flex}.column-editor input,.column-editor select{background-color:var(--terminal-bg);color:var(--terminal-primary);border:1px solid var(--terminal-primary);padding:4px 8px;font-family:Orbitron,monospace;font-size:12px}.column-editor label{color:var(--terminal-text);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:flex}.column-editor input[type=checkbox]{width:auto;margin:0}
