:root{color:#f3f7ff;background:radial-gradient(circle at top,rgba(16,36,90,.2),transparent 30%),#010204;font-family:Trebuchet MS,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;overflow:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 14%,rgba(30,74,170,.12),transparent 28%),radial-gradient(circle at 50% 72%,rgba(7,17,56,.22),transparent 44%);pointer-events:none}#app:after{content:"Drag orbit  •  Wheel zoom  •  Right-drag pan";position:fixed;right:24px;bottom:22px;color:#c3d4ff80;font-size:.76rem;letter-spacing:.08em}canvas{display:block}.editor-ui{position:fixed;inset:0;pointer-events:none;z-index:100;display:none}.editor-ui.active{display:block}.top-controls{position:absolute;top:24px;right:24px;display:flex;flex-direction:column;gap:12px;pointer-events:auto}.command-deck{position:absolute;top:24px;right:24px;width:260px;background:#0c162de6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(136,178,255,.2);border-radius:20px;padding:0;display:flex;flex-direction:column;pointer-events:auto;box-shadow:0 10px 60px #00000080;transition:max-height .3s cubic-bezier(.4,0,.2,1);max-height:800px;overflow:hidden}.command-deck.collapsed{max-height:48px}.deck-header{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.1)}.command-deck.collapsed .deck-header{border-bottom-color:transparent}.deck-header:hover{background:#ffffff0d}.deck-body{padding:24px;display:flex;flex-direction:column;gap:20px;transition:all .3s cubic-bezier(.4,0,.2,1);opacity:1}.command-deck.collapsed .deck-body{padding-top:0;padding-bottom:0;gap:0;opacity:0;pointer-events:none}.collapse-icon{width:16px;height:16px;transition:transform .3s;color:#fff6}.command-deck.collapsed .collapse-icon{transform:rotate(-90deg)}.segmented-toggle{display:flex;background:#0000004d;padding:4px;border-radius:12px;position:relative;height:40px}.toggle-option{flex:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#ffffff4d;cursor:pointer;z-index:2;transition:color .3s;text-transform:uppercase;letter-spacing:.05em}.toggle-option.active{color:#fff}.toggle-slider{position:absolute;top:4px;left:4px;bottom:4px;width:calc(50% - 4px);background:#2462ff;border-radius:8px;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1;box-shadow:0 2px 10px #2462ff66}.toggle-slider.right{transform:translate(100%)}.control-group{display:flex;flex-direction:column;gap:8px}.control-label{font-size:.65rem;color:#fff6;text-transform:uppercase;letter-spacing:.1em}input[type=range]{-webkit-appearance:none;width:100%;height:4px;background:#ffffff1a;border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#2462ff;border-radius:50%;cursor:pointer;box-shadow:0 0 10px #2462ff80;transition:transform .2s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.hotkey-list{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.hotkey-item{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#fff9}.hotkey-key{padding:2px 6px;background:#2462ff33;border:1px solid rgba(36,98,255,.4);border-radius:4px;color:#fff;font-weight:700;font-family:monospace}.deck-title{font-size:.9rem;font-weight:700;color:#2462ff;letter-spacing:.1em;text-transform:uppercase}.bottom-bar{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:16px;padding:12px 24px;background:#0c162db8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(136,178,255,.24);border-radius:100px;pointer-events:auto}.piece-card{width:56px;height:56px;display:flex;position:relative;align-items:center;justify-content:center;flex-direction:column;background:#ffffff0a;border:1px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);color:#fff6;font-size:.64rem;letter-spacing:.04em;text-transform:uppercase;padding:8px 4px;text-align:center}.key-hint{position:absolute;top:4px;right:6px;font-size:.55rem;font-weight:700;opacity:.4;color:#fff}.piece-card.active .key-hint{opacity:1;color:#2462ff}.piece-card.active{background:#2462ff29;border-color:#2462ff;color:#fff;box-shadow:0 0 20px #2462ff3d}.piece-card:hover:not(.active){background:#ffffff14;color:#fffc}.btn{padding:10px 20px;background:#0c162dd6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(136,178,255,.2);color:#fff;border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.06em}.btn:hover{background:#2462ff33;border-color:#2462ff}.btn-primary{background:#2462ff;border-color:#3b7cff}.btn-primary:hover{background:#3b7cff}#mode-status{position:fixed;top:24px;left:24px;font-size:1.2rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;color:#2462ff;text-shadow:0 0 15px rgba(36,98,255,.5)}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background:#0c162df2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(136,178,255,.3);border-radius:16px;padding:24px;width:320px;display:flex;flex-direction:column;gap:16px;transform:scale(.9);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 20px 50px #0009}.modal-overlay.active .modal-content{transform:scale(1)}.modal-title{font-size:1rem;font-weight:700;color:#2462ff;letter-spacing:.1em;text-transform:uppercase;margin:0}.modal-buttons{display:flex;flex-direction:column;gap:10px}.modal-footer{display:flex;justify-content:flex-end;margin-top:8px}.btn-close{background:transparent;border:none;color:#fff6;cursor:pointer;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;padding:4px 8px}.btn-close:hover{color:#fff}
