@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg-deep: #F4F4F4;--bg-panel: #FFFFFF;--bg-surface: #E0E0E0;--text-main: #000000;--text-muted: #666666;--text-dim: #999999;--accent-primary: #FF4400;--accent-secondary: #0055FF;--border-strong: #000000;--border-subtle: #CCCCCC;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 48px;--radius-sm: 0px;--radius-md: 0px;--radius-lg: 2px;--radius-full: 9999px;--shadow-card: 2px 2px 0px rgba(0, 0, 0, .1);--shadow-floating: 4px 4px 0px rgba(0, 0, 0, .15)}*{box-sizing:border-box}body{margin:0;background-color:var(--bg-deep);color:var(--text-main);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;height:100vh;width:100vw;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:20px 20px}#root{height:100%;display:flex;flex-direction:column;overflow:auto}h1,h2,h3,h4,label{font-family:JetBrains Mono,monospace;text-transform:uppercase;margin:0;letter-spacing:-.02em}h1{font-size:1.25rem;font-weight:700;display:flex;align-items:center;gap:12px}h1:before{content:"";display:block;width:12px;height:12px;background:var(--accent-primary)}h3{font-size:.85rem;color:var(--text-muted);border-bottom:2px solid var(--text-main);padding-bottom:4px;margin-bottom:12px}code,pre,.font-mono{font-family:JetBrains Mono,monospace}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-4{margin-top:var(--space-md)}.w-full{width:100%}.h-full{height:100%}.panel{background:var(--bg-panel);border:1px solid var(--border-subtle);padding:var(--space-lg);box-shadow:var(--shadow-card)}.btn{background:var(--bg-panel);color:var(--text-main);border:1px solid var(--border-strong);padding:8px 16px;font-family:JetBrains Mono,monospace;font-weight:500;text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;transition:all .1s ease;font-size:.75rem;display:inline-flex;align-items:center;justify-content:center}.btn:hover{background:var(--text-main);color:var(--bg-panel)}.btn:active{transform:translate(1px,1px);box-shadow:none}.btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn-primary:hover{background:#f20;border-color:#f20;color:#fff}.input-group{display:flex;flex-direction:column;gap:var(--space-xs);margin-bottom:var(--space-md)}.input-label{font-size:.7rem;font-weight:700;color:var(--text-muted);text-transform:uppercase}.input-field{background:var(--bg-panel);border:1px solid var(--border-subtle);color:var(--text-main);padding:8px;border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:.8rem;transition:border-color .2s}.input-field:focus{outline:none;border-color:var(--accent-primary);border-width:2px;padding:7px}select.input-field{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999}.macropad-device{background:#080808;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:20px 20px;padding:30px;border-radius:12px;box-shadow:0 30px 60px #000c,inset 0 0 0 1px #333,inset 0 0 20px #00000080;width:340px;display:flex;flex-direction:column;gap:24px;position:relative;border:1px solid #222}.screw{position:absolute;width:8px;height:8px;background:#555;border-radius:50%;box-shadow:inset 0 1px 2px #000c,0 1px #ffffff1a}.screw:after{content:"";position:absolute;top:50%;left:50%;width:60%;height:2px;background:#222;transform:translate(-50%,-50%) rotate(45deg)}.screw:before{content:"";position:absolute;top:50%;left:50%;width:60%;height:2px;background:#222;transform:translate(-50%,-50%) rotate(-45deg)}.screw.top-left{top:10px;left:10px}.screw.top-right{top:10px;right:10px}.screw.bottom-left{bottom:10px;left:10px}.screw.bottom-right{bottom:10px;right:10px}.device-header{display:flex;gap:20px;height:80px}.oled-screen{flex:2;background:#000;border:1px solid #333;border-radius:4px;padding:6px;position:relative;box-shadow:inset 0 0 10px #000;overflow:hidden}.oled-content{height:100%;display:flex;flex-direction:column}.oled-header{font-family:Pixelify Sans,monospace;font-size:8px;color:#fff;text-align:center;border-bottom:1px solid #333;margin-bottom:4px;padding-bottom:2px;opacity:.5}.oled-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);height:100%;gap:1px}.oled-label{color:#fff;font-family:Pixelify Sans,monospace;font-size:9px;display:flex;align-items:center;justify-content:center;text-align:center;white-space:nowrap;overflow:hidden;text-shadow:0 0 2px rgba(255,255,255,.8)}.encoder-section{flex:1;display:flex;align-items:center;justify-content:center;background:#111;border-radius:4px;border:1px solid #222}.knob-container{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#333,#111);box-shadow:0 4px 8px #0009,inset 0 1px #ffffff1a;position:relative;display:flex;align-items:center;justify-content:center}.knob-top{width:36px;height:36px;border-radius:50%;background:repeating-conic-gradient(#222 0% 2%,#282828 2% 4%);box-shadow:inset 0 2px 5px #000c}.key-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%}.key-slot{width:100%;aspect-ratio:1;position:relative;cursor:pointer}.key-slot:active .key-cap-clear{transform:translateY(2px) scale(.98)}.key-slot.selected:after{content:"";position:absolute;inset:-6px;border:2px solid var(--accent-primary);border-radius:12px;opacity:.8;pointer-events:none;animation:pulseSelect 1.5s infinite}@keyframes pulseSelect{0%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}to{opacity:.5;transform:scale(1)}}.led-diffuse{position:absolute;inset:0%;border-radius:8px;filter:blur(12px);opacity:.9;transition:all .2s ease;z-index:1;transform:scale(1.1)}.key-cap-clear{position:absolute;inset:0;background:linear-gradient(180deg,#ffffff80,#f5f5ff59,#e6e6f533);border-radius:6px;border:1px solid rgba(255,255,255,.6);border-bottom:2px solid rgba(200,200,200,.3);box-shadow:0 4px 12px #0003,inset 0 1px #fffffff2,inset 0 -2px 6px #00000008;-webkit-backdrop-filter:blur(1px) saturate(1.8);backdrop-filter:blur(1px) saturate(1.8);z-index:2;transition:transform .1s ease,background .2s ease;overflow:hidden;display:flex;align-items:center;justify-content:center}.key-slot .key-cap-clear:before{content:"";position:absolute;inset:10%;border-radius:4px;background:inherit;filter:blur(8px);opacity:.6;z-index:-1}.key-cap-concave{width:65%;height:65%;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.05) 0%,transparent 70%);box-shadow:inset 0 2px 5px #0000001a}
