:root{--bg-primary: #0a0e1a;--bg-secondary: #111827;--bg-panel: #1a1f2e;--color-primary: #ef4444;--color-primary-light: #f87171;--color-primary-glow: rgba(239, 68, 68, .3);--color-accent: #3b82f6;--color-accent-light: #60a5fa;--color-common: #22c55e;--color-moderate: #f59e0b;--color-serious: #ef4444;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--border: rgba(255, 255, 255, .08);--glass-bg: rgba(26, 31, 46, .88);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(20px);--shadow-panel: 0 25px 50px -12px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}#canvas-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1}#canvas-container canvas{display:block;width:100%;height:100%}.app-header{position:fixed;top:0;left:0;right:0;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-border);z-index:200}.app-title{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.header-controls{display:flex;align-items:center;gap:.5rem}.btn-lang{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text-secondary);font-family:var(--font-family);font-size:.75rem;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:all var(--transition-fast)}.btn-lang:hover{background:#ffffff14;color:var(--text-primary)}.btn-disclaimer{display:flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:#ffffff0a;color:var(--text-secondary);font-family:var(--font-family);font-size:.8rem;cursor:pointer;transition:all var(--transition-fast)}.btn-disclaimer:hover{background:#ffffff14;color:var(--text-primary)}.interaction-hint{position:fixed;bottom:100px;left:50%;transform:translate(-50%);text-align:center;z-index:50;pointer-events:none;transition:opacity var(--transition-slow)}.interaction-hint p{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.3rem}.interaction-hint small{font-size:.75rem;color:var(--text-tertiary)}.interaction-hint.hidden{opacity:0}.btn-whole-head{position:fixed;bottom:32px;left:50%;transform:translate(-50%);padding:.65rem 1.5rem;border:1px solid var(--glass-border);border-radius:2rem;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);color:var(--text-primary);font-family:var(--font-family);font-size:.9rem;font-weight:500;cursor:pointer;z-index:50;transition:all var(--transition-normal)}.btn-whole-head:hover{background:#ef444426;border-color:var(--color-primary);color:var(--color-primary-light)}.btn-whole-head:active{transform:translate(-50%) scale(.97)}.info-panel{position:fixed;top:0;right:0;width:420px;height:100vh;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-left:1px solid var(--glass-border);box-shadow:var(--shadow-panel);transform:translate(100%);transition:transform var(--transition-normal);overflow-y:auto;z-index:150;overscroll-behavior:contain}.info-panel.active{transform:translate(0)}.panel-drag-handle{display:none}.panel-close{position:sticky;top:0;float:right;margin:.75rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--glass-border);border-radius:50%;background:#ffffff0d;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;z-index:10;transition:all var(--transition-fast)}.panel-close:hover{background:#ffffff1a;color:var(--text-primary)}.panel-content{padding:4.5rem 1.75rem 2rem}.panel-header{margin-bottom:.75rem}.zone-name{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.zone-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.panel-section{margin-bottom:1.5rem}.panel-section h3{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.cause-card,.remedy-card{padding:.75rem 1rem;margin-bottom:.5rem;border-radius:var(--radius-md);background:#ffffff08;border:1px solid var(--border);transition:background var(--transition-fast)}.cause-card:hover,.remedy-card:hover{background:#ffffff0f}.cause-card .card-header,.remedy-card .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}.card-title{font-size:.9rem;font-weight:600;color:var(--text-primary)}.badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:1rem}.badge-common{background:#22c55e26;color:var(--color-common)}.badge-moderate{background:#f59e0b26;color:var(--color-moderate)}.badge-serious{background:#ef444426;color:var(--color-serious)}.badge-selfcare{background:#3b82f626;color:var(--color-accent-light)}.badge-medication{background:#a855f726;color:#c084fc}.badge-professional{background:#f59e0b26;color:var(--color-moderate)}.card-description{font-size:.8rem;color:var(--text-secondary);line-height:1.5}.panel-warning{padding:1rem;border-radius:var(--radius-md);background:#ef444414;border:1px solid rgba(239,68,68,.2)}.panel-warning h3{color:var(--color-primary-light);border-bottom-color:#ef444433}.panel-warning p{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:500;padding:1rem;opacity:1;transition:opacity var(--transition-normal)}.modal-overlay.hidden{opacity:0;pointer-events:none}.modal{width:100%;max-width:460px;padding:2rem;background:var(--bg-panel);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-panel);text-align:center;transform:scale(1);transition:transform var(--transition-normal)}.modal-overlay.hidden .modal{transform:scale(.95)}.modal-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#f59e0b1f;color:var(--color-moderate);margin-bottom:1rem}.modal h2{font-size:1.25rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.modal p{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.modal-sources{font-size:.75rem;color:var(--text-tertiary);margin-top:.5rem}.btn-primary{display:inline-block;margin-top:1rem;padding:.7rem 2rem;border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;font-family:var(--font-family);font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.btn-primary:hover{background:var(--color-accent-light)}.btn-primary:active{transform:scale(.97)}.zone-block+.zone-divider{border:none;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12) 20%,rgba(255,255,255,.12) 80%,transparent);margin:1.5rem 0}.zone-block .zone-name{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:.75rem}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-primary);z-index:400;transition:opacity .6s ease}.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.9rem;color:var(--text-secondary)}.info-panel::-webkit-scrollbar{width:6px}.info-panel::-webkit-scrollbar-track{background:transparent}.info-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.info-panel::-webkit-scrollbar-thumb:hover{background:#fff3}@media(max-width:768px){.app-header{height:50px;padding:0 1rem}.app-title{font-size:.95rem}.btn-disclaimer span{display:none}.interaction-hint{bottom:90px}.interaction-hint p{font-size:.85rem}.btn-whole-head{bottom:24px;font-size:.85rem;padding:.55rem 1.25rem}.info-panel{top:auto;bottom:0;left:0;right:0;width:100%;height:65vh;max-height:80vh;border-left:none;border-top:1px solid var(--glass-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;transform:translateY(100%)}.info-panel.active{transform:translateY(0)}.panel-drag-handle{display:block;width:36px;height:4px;margin:.75rem auto 0;border-radius:2px;background:#fff3}.panel-content{padding:1rem 1.25rem 2rem}.zone-name{font-size:1.25rem}}@media(max-width:380px){.app-title{font-size:.85rem}.panel-content{padding:.75rem 1rem 1.5rem}}
