*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#1a1a2e;color:#fff;overflow:hidden}#app{width:100vw;height:100vh;position:relative}#canvas-container{width:100%;height:100%}#ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}#ui-overlay>*{pointer-events:auto}#controls{position:absolute;top:20px;left:20px;width:280px;background:#1a1a2ef2;border-radius:12px;padding:20px;box-shadow:0 8px 32px #0000004d;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);max-height:calc(100vh - 40px);overflow-y:auto}#controls h1{font-size:1.3rem;margin-bottom:5px;color:#fff}#controls .subtitle{font-size:.85rem;color:#888;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.1)}.control-section{margin-bottom:20px}.control-section h3{font-size:.9rem;color:#aaa;margin-bottom:12px;font-weight:500}.control-group{display:flex;flex-wrap:wrap;gap:8px}.control-group.checkboxes{flex-direction:column;gap:10px}.control-group.checkboxes label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;color:#ddd;transition:color .2s}.control-group.checkboxes label:hover{color:#fff}.control-group.checkboxes input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#4a90d9}.btn{padding:8px 16px;border:none;border-radius:6px;background:#ffffff1a;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s;flex:1;min-width:60px}.btn:hover{background:#fff3}.btn:active{transform:scale(.98)}.btn-primary{background:#4a90d9}.btn-primary:hover{background:#5a9fe9}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.info-item{background:#ffffff0d;border-radius:8px;padding:12px 8px;text-align:center}.info-label{display:block;font-size:.75rem;color:#888;margin-bottom:5px}.info-value{display:block;font-size:1.5rem;font-weight:600;color:#4a90d9}.legend{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#ccc}.color-box{width:16px;height:16px;border-radius:4px;flex-shrink:0}.tips{font-size:.8rem;color:#888;line-height:1.8}.tips p{margin:0}#tooltip{position:fixed;background:#000000e6;border-radius:8px;padding:12px 16px;min-width:150px;max-width:300px;box-shadow:0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1);z-index:1000;pointer-events:none}#tooltip h4{font-size:.95rem;margin-bottom:8px;color:#fff;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1)}#tooltip p{font-size:.85rem;color:#aaa;margin:4px 0}#tooltip.hidden{display:none}#controls::-webkit-scrollbar{width:6px}#controls::-webkit-scrollbar-track{background:transparent}#controls::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}#controls::-webkit-scrollbar-thumb:hover{background:#ffffff4d}@media (max-width: 768px){#controls{width:calc(100% - 40px);max-width:320px;padding:15px}.info{grid-template-columns:repeat(3,1fr)}.legend{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){#controls{top:10px;left:10px;width:calc(100% - 20px);max-height:50vh}.control-group{flex-direction:column}.btn{width:100%}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading{animation:pulse 1.5s ease-in-out infinite}.selected{outline:2px solid #4a90d9;outline-offset:2px}
