:root{--korg-red: #cc0000;--vintage-orange: #ff9900;--panel-bg: #222222;--bezel-bg: #111111;--text-main: #dddddd;--text-muted: #888888;--font-body: "Inter", "Segoe UI", sans-serif;--bevel-light: rgba(255, 255, 255, .1);--bevel-dark: rgba(0, 0, 0, .8)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bezel-bg);background-image:linear-gradient(to bottom,#111,#0a0a0a);color:var(--text-main);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-y:auto}h1,h2,h3{font-weight:600;letter-spacing:.5px}.text-gold{color:#fce8a1}p{line-height:1.5;font-size:.9rem;margin-bottom:1rem}.app-container{display:flex;flex-direction:column;max-width:900px;width:100%;margin:1rem auto;max-height:980px;background-color:var(--panel-bg);background-image:linear-gradient(45deg,rgba(255,255,255,.03) 0%,transparent 100%),repeating-linear-gradient(90deg,transparent,transparent 1px,rgba(0,0,0,.1) 1px,rgba(0,0,0,.1) 2px);border-radius:12px;box-shadow:0 20px 50px #000c,inset 0 2px 2px #ffffff1a,inset 0 -2px 5px #00000080;overflow:hidden;border:1px solid #333}.hardware-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.5rem;background:linear-gradient(to bottom,#2a2a2a,#1a1a1a);border-bottom:2px solid #000;box-shadow:0 4px 10px #00000080}.hardware-header h1{font-size:1.3rem;color:var(--text-main);text-transform:uppercase;text-shadow:1px 1px 2px #000;letter-spacing:2px}.status-light{width:14px;height:14px;border-radius:50%;background-color:#333;box-shadow:inset 0 2px 4px #000c,0 0 0 1px #000;transition:all .3s}.status-light.on{background-color:var(--vintage-orange);box-shadow:0 0 10px var(--vintage-orange),inset 0 2px 4px #ffffff80}.main-panel{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem}.hardware-bezel{background:#252525;border-radius:8px;padding:1rem;box-shadow:inset 1px 1px 0 var(--bevel-light),inset -1px -1px 0 var(--bevel-dark),0 4px 8px #0006;border:1px solid #111}.panel-title{font-size:1rem;text-transform:uppercase;color:#888;margin-bottom:1.2rem;border-bottom:1px solid #333;padding-bottom:.4rem;box-shadow:0 1px #ffffff0d}.control-group{margin-bottom:.8rem}.control-group label{display:flex;align-items:flex-end;min-height:2.2rem;font-size:.75rem;text-transform:uppercase;color:#aaa;margin-bottom:.3rem;letter-spacing:1px}.control-group select{width:100%;padding:.6rem;background:#111;color:var(--vintage-orange);border:1px solid #000;border-radius:4px;font-family:monospace;font-size:.95rem;box-shadow:inset 0 2px 4px #00000080,0 1px #ffffff1a;appearance:none;cursor:pointer;transition:opacity .3s,filter .3s}.control-group select:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(100%)}.hardware-btn{background:linear-gradient(to bottom,#d63031,#a11c1c);color:#fff;border:1px solid #000;padding:.8rem 1.5rem;font-size:.95rem;text-transform:uppercase;font-weight:700;border-radius:4px;cursor:pointer;box-shadow:inset 0 1px 1px #ffffff4d,0 4px 6px #0006;text-shadow:1px 1px 0 rgba(0,0,0,.5);transition:all .1s;width:100%;margin-top:.5rem}.hardware-btn:active{transform:translateY(2px);box-shadow:inset 0 2px 4px #0009,0 1px 2px #0006;background:linear-gradient(to bottom,#a11c1c,#801010)}.circle-wrapper{display:flex;flex-direction:column;align-items:center;transition:filter .3s,opacity .3s}.circle-wrapper.disabled{opacity:.5;filter:grayscale(100%);pointer-events:none}.svg-container{width:100%;max-width:100%;aspect-ratio:1;background:radial-gradient(circle,#2a2a2a,#151515);border-radius:50%;box-shadow:inset 0 0 20px #000c,0 2px 5px #ffffff0d;padding:.5rem;position:relative}svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.circle-node{transition:transform .2s}.circle-node.clickable{cursor:pointer}.circle-node.clickable:hover .node-bg{stroke:var(--vintage-orange);fill:#333}.node-bg{stroke:#444;fill:#1a1a1a;transition:all .3s}.node-bg.root-node{fill:var(--vintage-orange);stroke:#ffae00;filter:drop-shadow(0 0 8px rgba(255,153,0,.6))}.node-text{fill:#888;font-size:14px;font-family:inherit;font-weight:700;pointer-events:none}.root-text{fill:#000}.drawer-container{margin:0 1.5rem 1rem;background:#1e1e1e;border-top:1px solid #333;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;transition:all .3s ease-in-out}.drawer-container.collapsed{min-height:0;height:auto}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;cursor:pointer;background:#ffffff05;border-bottom:1px solid #333}.drawer-title{font-size:1rem;color:#aaa;text-transform:uppercase;margin:0}.drawer-toggle-icon{color:var(--vintage-orange);font-weight:700}.educational-content{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1.2rem}.drawer-container.collapsed .educational-content{display:none}.educational-content>h2{grid-column:1 / -1;margin-bottom:.5rem}.info-block{margin-bottom:.5rem}.info-block h3{font-size:.8rem;color:var(--vintage-orange);text-transform:uppercase;margin-bottom:.2rem}.info-block p{color:#bbb;font-size:.9rem;margin-bottom:0}.flex-row-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.hardware-input{width:100%;padding:.6rem;background:#111;color:var(--vintage-orange);border:1px solid #000;border-radius:4px;font-family:monospace;font-size:.95rem;box-shadow:inset 0 2px 4px #00000080,0 1px #ffffff1a}.hardware-input:focus{outline:none;border-color:#555;box-shadow:inset 0 2px 4px #00000080,0 0 5px #f903}.pill-btn-group{display:flex;background:#111;border-radius:4px;border:1px solid #000;box-shadow:inset 0 2px 4px #00000080,0 1px #ffffff1a;overflow:hidden;margin-bottom:.8rem}.pill-btn{flex:1;padding:.6rem;background:transparent;color:#888;border:none;text-transform:uppercase;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s;border-right:1px solid #000}.pill-btn:last-child{border-right:none}.pill-btn.active{background:#252525;color:var(--vintage-orange);box-shadow:inset 0 0 10px #000c}.save-row{display:flex;gap:1rem;align-items:flex-end}.save-row-input{flex-grow:1}.save-row-btn{white-space:nowrap}.tabbed-drawer-container{margin:1rem 1.5rem;background:#151515;border-radius:8px;border:1px solid #333;box-shadow:0 4px 8px #0006;display:flex;flex-direction:column;overflow:hidden}.tab-header{display:flex;background:#222;border-bottom:2px solid #000}.tab-btn{flex:1;padding:.8rem;background:transparent;border:none;color:#888;font-size:.9rem;text-transform:uppercase;cursor:pointer;transition:all .2s;font-family:inherit;font-weight:700;letter-spacing:1px;border-bottom:2px solid transparent}.tab-btn:hover{color:#ddd;background:#ffffff0d}.tab-btn.active{color:var(--vintage-orange);border-bottom:2px solid var(--vintage-orange);background:#ff98000d}.tab-content{min-height:250px;display:flex;flex-direction:column}@media(max-width:800px){.app-container{max-height:none;border-radius:0;margin:0}.main-panel{grid-template-columns:1fr;gap:1rem}.drawer-container{min-height:auto;margin:0 1rem 1rem}.educational-content{grid-template-columns:1fr;gap:1rem}}.midi-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.midi-modal{width:90%;max-width:400px;background-color:var(--panel-bg);display:flex;flex-direction:column;padding:0;overflow:hidden;box-shadow:0 10px 30px #000000e6,inset 1px 1px 0 var(--bevel-light),inset -1px -1px 0 var(--bevel-dark)}.midi-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;background:linear-gradient(to bottom,#2a2a2a,#1a1a1a);border-bottom:2px solid #000}.midi-modal-header h2{font-size:1.1rem;color:var(--text-main);text-transform:uppercase;margin:0;letter-spacing:1px}.close-btn{background:transparent;border:none;color:#888;font-size:1.8rem;line-height:1;cursor:pointer;padding:0;transition:color .2s}.close-btn:hover{color:var(--vintage-orange)}.midi-modal-body{padding:1rem;max-height:300px;overflow-y:auto}.no-devices-msg{color:#888;text-align:center;margin:1rem 0;font-style:italic}.midi-device-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.midi-device-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:#111;border:1px solid #333;border-radius:4px;cursor:pointer;transition:all .2s}.midi-device-item:hover{background:#1a1a1a;border-color:#555}.midi-device-item.selected{border-color:var(--vintage-orange);background:#ff99001a;box-shadow:inset 0 0 10px #ff99000d}.device-name{color:#ccc;font-family:monospace;font-size:.95rem}.midi-device-item.selected .device-name,.selected-indicator{color:var(--vintage-orange);font-weight:700}.midi-logger-container{margin:0;display:flex;flex-direction:column;height:100%;max-height:100%;flex-grow:1;transition:max-height .3s ease,margin .3s ease;padding:0;overflow:hidden;background:#151515}.midi-logger-container.collapsed{max-height:48px;margin-bottom:0}.logger-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;background:#ffffff05;border-bottom:1px solid #333;cursor:pointer}.logger-header .panel-title{color:#888;background:none;font-size:.9rem}.logger-controls{display:flex;align-items:center;gap:1rem}.hex-toggle{font-size:.8rem;color:#aaa;display:flex;align-items:center;gap:.4rem;cursor:pointer;text-transform:uppercase}.clear-btn{padding:.3rem .6rem;font-size:.7rem;margin:0;width:auto;min-width:60px}.logger-body{flex-grow:1;overflow-y:auto;padding:.5rem;background:#000;box-shadow:inset 0 2px 5px #000c}.empty-log{color:#555;font-family:monospace;font-size:.8rem;padding:1rem;text-align:center}.log-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}.log-entry{display:flex;gap:.8rem;font-family:monospace;font-size:.8rem;padding:.3rem .5rem;border-radius:2px}.log-entry:nth-child(odd){background:#ffffff08}.log-entry.out .log-dir{color:#4caf50}.log-entry.in .log-dir{color:#ff9800}.log-time{color:#666;min-width:75px}.log-dir{font-weight:700;min-width:20px}.log-data{color:#ddd;word-break:break-all}.logger-body::-webkit-scrollbar{width:8px}.logger-body::-webkit-scrollbar-track{background:#111}.logger-body::-webkit-scrollbar-thumb{background:#444;border-radius:4px}
