*{margin:0;padding:0;box-sizing:border-box}body{background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;color:#333}canvas{position:fixed;top:0;left:0;outline:none;z-index:1}.button-container{position:absolute;top:20px;left:20px;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:16px;border-radius:12px;box-shadow:0 6px 24px #0000001a;border:1px solid rgba(255,255,255,.2);z-index:100;min-width:260px;transition:all .3s ease}.button-container:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:8px 16px;margin:4px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d;opacity:.7}.btn.active{opacity:1;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;box-shadow:0 4px 12px #48bb7866}.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn:active{transform:translateY(0)}.btn.full-width{width:100%;margin:8px 0}.btn.compact{padding:6px 12px;font-size:12px;margin:2px}.button-row{display:flex;justify-content:space-between;gap:8px;margin:10px 0}.control-panel{margin:10px 0;padding:12px;background:#f8fafcb3;border-radius:8px;border:1px solid rgba(226,232,240,.8)}.control-row{display:flex;align-items:center;gap:12px;margin:10px 0}.control-label{font-size:14px;font-weight:500;color:#4a5568;min-width:80px}.control-slider{flex:1;height:6px;border-radius:3px;background:#e2e8f0;outline:none;-webkit-appearance:none}.control-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;box-shadow:0 2px 6px #0003}.control-slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;border:none;box-shadow:0 2px 6px #0003}.control-value{font-size:12px;color:#718096;font-weight:500;min-width:30px;text-align:right}.tree-container{position:absolute;top:60px;left:20px;width:340px;max-height:360px;background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:15px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);overflow-y:auto;overflow-x:hidden;font-size:13px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;z-index:100;transition:all .3s ease}.tree-container:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.tree-container::-webkit-scrollbar{width:8px}.tree-container::-webkit-scrollbar-track{background:#f1f5f9cc;border-radius:4px}.tree-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px}.tree-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1)}.chat-container{position:absolute;top:20px;right:20px;width:350px;height:calc(100vh - 40px);background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:15px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;z-index:100;transition:all .3s ease}.chat-container:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.chat-api-key-row{margin-bottom:12px}.chat-api-key-row .api-key-input{width:100%}.chat-title{font-size:16px;font-weight:600;color:#2d3748;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid rgba(102,126,234,.2)}.chat-messages{flex:1;overflow-y:auto;margin-bottom:15px;padding-right:5px}.chat-input-container{display:flex;gap:10px;align-items:center}.chat-input{flex:1;padding:12px 15px;border:2px solid rgba(226,232,240,.8);border-radius:10px;font-size:14px;outline:none;transition:all .3s ease;background:#f8fafcb3}.chat-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.chat-send-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:12px 20px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #48bb784d}.chat-send-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #48bb7866}.message{margin-bottom:12px;padding:12px 15px;border-radius:12px;word-wrap:break-word;max-width:100%;line-height:1.4;animation:fadeInUp .3s ease}.message.user{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin-left:20px;border-bottom-right-radius:4px}.message.ai{background:#f8fafce6;color:#2d3748;margin-right:20px;border-bottom-left-radius:4px;border:1px solid rgba(226,232,240,.8)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1200px){.tree-container{left:20px;top:380px;width:320px;max-height:350px}.chat-container{width:300px;right:20px}}@media (max-width: 768px){.button-container{top:10px;left:10px;padding:12px;min-width:240px}.tree-container{left:10px;top:320px;width:280px;max-height:300px;padding:15px}.chat-container{width:280px;right:10px;top:10px;height:calc(100vh - 20px);padding:15px}}.acupoint-item{margin:8px 0;padding:12px 16px;background:#f8fafcb3;border-radius:8px;border-left:3px solid #48bb78;transition:all .3s ease;text-align:left;line-height:1.5}.acupoint-item:hover{background:#f8fafc;transform:translate(5px)}.acupoint-item input[type=checkbox]{margin-right:8px;transform:scale(1.1)}.acupoint-item .camera-icon{cursor:pointer;margin-right:8px;font-size:16px;opacity:.7;transition:opacity .3s ease}.acupoint-item .camera-icon:hover{opacity:1}.acupoint-item.highlighted{background:#48bb781a;border-left-color:#48bb78}.acupoint-item.marked{color:#e53e3e;text-decoration:underline;font-weight:500}.search-input{width:100%;padding:12px 16px;margin-bottom:15px;border:2px solid rgba(226,232,240,.8);border-radius:8px;font-size:13px;outline:none;transition:all .3s ease;background:#f8fafcb3;box-sizing:border-box}.search-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.clear-btn{background:linear-gradient(135deg,#f56565,#e53e3e);box-shadow:0 4px 15px #f565654d}.clear-btn:hover{box-shadow:0 6px 20px #f5656566}
