*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:#080c10;touch-action:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}input,select,button{font-family:inherit}input[type=text],input[type=number]{user-select:text;-webkit-user-select:text;touch-action:manipulation}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media print{body{background:#fff!important}#print-sheet{box-shadow:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}@media (max-width: 768px){body{font-size:14px}}.canvas-container{position:relative;width:100%;height:100%;overflow:hidden;background:#080c10}.grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.tooltip{position:absolute;background:#000000d9;color:#fff;padding:6px 10px;border-radius:4px;font-size:11px;pointer-events:none;z-index:1000;white-space:nowrap}.status-bar{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:8px 16px;background:linear-gradient(180deg,#0f141cf2,#080c10fa);border-top:1px solid rgba(255,255,255,.08);font-size:11px;color:#6080a0;z-index:50}.status-bar .stat{display:flex;align-items:center;gap:4px}.status-bar .stat-value{color:#00c8ff;font-weight:500}.shortcut-hint{display:inline-block;padding:2px 6px;background:#ffffff1a;border-radius:3px;font-size:10px;font-family:monospace;color:#8090a0}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid rgba(0,200,255,.5);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.fade-in{animation:fadeIn .2s ease-out}.slide-in{animation:slideIn .2s ease-out}.pulse{animation:pulse 1.5s infinite}
