@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--primary:#111827;--primary-blue:#1a73e8;--primary-hover:#1557b0;--primary-light:#e8f0fe;--secondary:#10b981;--secondary-light:#ecfdf5;--secondary-hover:#047857;--danger:#ef4444;--danger-light:#fef2f2;--warning:#f59e0b;--warning-light:#fffbeb;--bg-color:#f3f4f6;--card-bg:#fff;--text-main:#1f2937;--text-muted:#6b7280;--border-color:#e5e7eb;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #00000008, 0 4px 6px -2px #00000005;--radius:10px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);width:100vw;height:100vh;font-family:Google Sans,Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5;overflow:hidden}.loading-screen{z-index:9999;background:radial-gradient(circle,#fff 0%,#f3f4f6 100%);flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .6s cubic-bezier(.16,1,.3,1),visibility .6s;display:flex;position:fixed;top:0;left:0}.loading-screen.fade-out{opacity:0;visibility:hidden}.loading-brain{filter:drop-shadow(0 10px 20px #00000014);margin-bottom:1.5rem;font-size:5rem;animation:3s ease-in-out infinite float}.loading-title{color:#0f172a;margin-bottom:.25rem;font-size:2.2rem;font-weight:800}.loading-title span{color:#10b981}.loading-status{color:var(--text-muted);margin-bottom:2rem;font-size:1rem}.loading-bar-container{background-color:#e5e7eb;border-radius:3px;width:260px;height:6px;position:relative;overflow:hidden}.loading-bar{background:linear-gradient(90deg,#10b981 0%,#3b82f6 50%,#ef4444 100%);border-radius:3px;width:0%;height:100%;animation:1.8s ease-in-out forwards load}.app-layout{width:100vw;height:100vh;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--border-color);background-color:#fff;flex-direction:column;flex-shrink:0;justify-content:space-between;width:280px;height:100%;padding:1.5rem;display:flex;overflow-y:auto}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1.5rem;display:flex}.sidebar-brain-box{width:48px;height:48px;box-shadow:var(--shadow-sm);background-color:#f3f4f6;border-radius:8px;justify-content:center;align-items:center;font-size:1.75rem;display:flex}.sidebar-title{color:#0f172a;font-size:1.15rem;font-weight:800}.sidebar-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:.7rem;font-weight:600}.sidebar-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.75px;margin:1.5rem 0 .5rem;padding-left:.5rem;font-size:.75rem;font-weight:700}.nav-list{flex-direction:column;gap:.25rem;display:flex}.nav-item{text-align:left;width:100%;color:var(--text-main);cursor:pointer;background:0 0;border:none;border-left:3px solid #0000;border-radius:8px;align-items:center;gap:.75rem;padding:.7rem .75rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.nav-item:hover{background-color:#f3f4f6}.nav-item.active{background-color:var(--primary-light);color:var(--primary-blue);border-left-color:var(--primary-blue)}.nav-icon{width:18px;height:18px}.sidebar-footer{border-top:1px solid var(--border-color);margin-top:auto;padding-top:1.5rem}.matrix-card{border:1px solid var(--border-color);background-color:#f9fafb;border-radius:8px;margin-bottom:1rem;padding:.85rem}.matrix-title{color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.7rem;font-weight:700}.matrix-row{justify-content:space-between;margin-bottom:.25rem;font-family:monospace;font-size:.75rem;display:flex}.matrix-label{color:var(--text-muted)}.matrix-value{color:var(--text-main);font-weight:700}.sidebar-sys-info{color:var(--text-muted);flex-direction:column;gap:2px;font-family:monospace;font-size:.7rem;display:flex}.sidebar-sys-info span{justify-content:space-between;display:flex}.main-panel{flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.top-header{border-bottom:1px solid var(--border-color);background-color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:72px;padding:.75rem 1.5rem;display:flex}.top-header-left{align-items:center;gap:1rem;display:flex}.menu-toggle{cursor:pointer;color:var(--text-main);background:0 0;border:none;align-items:center;display:flex}.header-title-group h2{color:#0f172a;font-size:1.15rem;font-weight:700}.header-title-group p{color:var(--text-muted);font-size:.85rem}.inference-badge{color:#047857;background-color:#ecfdf5;border:1px solid #10b98133;border-radius:20px;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:.75rem;font-weight:700;display:flex}.inference-dot{background-color:#10b981;border-radius:50%;width:8px;height:8px;animation:1.5s infinite alternate blink;display:inline-block}.viewport-container{flex:1;padding:1.5rem;overflow-y:auto}.workspace-grid{grid-template-columns:280px 1fr 340px;gap:1.25rem;height:calc(100vh - 120px);min-height:520px;display:grid;overflow:hidden}.workspace-col{border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);background-color:#fff;flex-direction:column;height:100%;display:flex;overflow:hidden}.col-header{border-bottom:1px solid var(--border-color);text-transform:uppercase;color:var(--text-main);letter-spacing:.25px;background-color:#fafbfc;padding:1rem;font-size:.85rem;font-weight:800}.col-body{flex-direction:column;flex:1;padding:1.25rem;display:flex;overflow-y:auto}.workspace-tabs{border:1px solid var(--border-color);background-color:#f9fafb;border-radius:6px;margin-bottom:1rem;padding:3px;display:flex}.workspace-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:.5rem .25rem;font-size:.8rem;font-weight:700}.workspace-tab-btn.active{color:var(--primary-blue);box-shadow:var(--shadow-sm);background-color:#fff}.guide-selector-group{margin-bottom:1.25rem}.guide-selector-group label{color:var(--text-muted);text-transform:uppercase;margin-bottom:.4rem;font-size:.75rem;font-weight:700;display:block}.guide-select-box{border:1px solid var(--border-color);border-radius:6px;outline:none;width:100%;padding:.5rem;font-size:.85rem;font-weight:600}.help-tips{border:1px solid var(--border-color);color:var(--text-muted);background-color:#f9fafb;border-radius:8px;margin-top:auto;padding:.85rem;font-size:.8rem}.help-tips h4{color:var(--text-main);margin-bottom:.25rem;font-size:.8rem}.mini-upload-area{border:2px dashed var(--border-color);text-align:center;cursor:pointer;background-color:#fafbfc;border-radius:8px;padding:2rem 1rem;transition:all .2s}.mini-upload-area:hover,.mini-upload-area.drag-active{border-color:var(--primary-blue);background-color:var(--primary-light)}.mini-upload-icon{color:var(--primary-blue);width:32px;height:32px;margin-bottom:.5rem}.mini-upload-text{color:var(--text-main);font-size:.85rem;font-weight:600}.canvas-col-body{background-color:#0c0f16;flex-direction:column;padding:0;display:flex}.canvas-toolbar{color:#dadce0;background-color:#1f2937;border-bottom:1px solid #374151;justify-content:space-between;align-items:center;padding:.5rem 1rem;font-size:.8rem;display:flex}.canvas-toolbar-title{font-family:monospace;font-weight:700}.canvas-toolbar-btns{gap:.5rem;display:flex}.canvas-toolbar-btn{color:#fff;cursor:pointer;background-color:#374151;border:none;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:600;transition:background-color .2s}.canvas-toolbar-btn:hover:not(:disabled){background-color:#4b5563}.canvas-toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.canvas-col-container{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:relative}.canvas-col-wrapper{background-color:#fff;border-radius:8px;line-height:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.canvas-col-element{cursor:crosshair;background-color:#fff;display:block}.dark-canvas-preview-container{flex-direction:column;justify-content:center;align-items:center;max-width:100%;max-height:80%;display:flex}.dark-canvas-preview-img{border:1px solid #374151;border-radius:4px;max-width:320px;max-height:320px;box-shadow:0 4px 12px #0000004d}.canvas-tip{color:#9ca3af;background-color:#1f293799;border-radius:20px;padding:3px 10px;font-family:monospace;font-size:.75rem;position:absolute;bottom:.75rem}.diagnostic-assessment-placeholder{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.assessment-icon{stroke-width:1.5px;width:48px;height:48px;margin-bottom:1rem}.assessment-header{border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:1rem;font-size:1.1rem;font-weight:700;display:flex}.assessment-header.healthy{background-color:var(--secondary-light);color:var(--secondary-hover);border:1px solid #10b98133}.assessment-header.parkinson{background-color:var(--danger-light);color:var(--danger);border:1px solid #ef444433}.diag-summary-card{border:1px solid var(--border-color);background-color:#f9fafb;border-radius:8px;margin-top:1rem;padding:1rem;font-size:.85rem}.diag-summary-card h4{color:var(--text-main);margin-bottom:.5rem;font-weight:700}.diag-summary-card p{color:var(--text-muted);line-height:1.4}.metrics-page-card{border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);background-color:#fff;max-width:800px;margin:0 auto;padding:2rem}.metrics-page-card h2{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.4rem;font-weight:800}.terms-page-card{border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);background-color:#fff;max-width:800px;margin:0 auto;padding:2rem}.terms-page-card h2{border-bottom:1px solid var(--border-color);margin-bottom:1.5rem;padding-bottom:.75rem;font-size:1.4rem;font-weight:800}.btn-workstation{background-color:var(--primary-blue);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem;font-size:.85rem;font-weight:700;transition:background-color .2s;display:flex}.btn-workstation:hover:not(:disabled){background-color:var(--primary-hover)}.btn-workstation:disabled{opacity:.5;cursor:not-allowed}.btn-workstation-secondary{width:100%;color:var(--text-main);border:1px solid var(--border-color);cursor:pointer;background-color:#fff;border-radius:6px;margin-top:.5rem;padding:.65rem;font-size:.85rem;font-weight:700}.btn-workstation-secondary:hover:not(:disabled){background-color:#f9fafb}@keyframes blink{0%{opacity:.4}to{opacity:1}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes load{0%{width:0%}to{width:100%}}.error-message{background-color:var(--danger-light);color:var(--danger);border:1px solid #ef444433;border-radius:8px;align-items:flex-start;gap:.5rem;margin-top:1rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.confidence-bar-bg{background-color:var(--border-color);border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden}.confidence-bar-fill{border-radius:4px;height:100%;transition:width .6s}.terms-alert{background-color:var(--warning-light);border:1px solid var(--warning);color:#92400e;border-radius:8px;padding:.85rem 1rem;font-size:.85rem}.terms-content{color:var(--text-muted);flex-direction:column;gap:1rem;font-size:.875rem;line-height:1.6;display:flex}.terms-content h2{color:var(--text-main);margin-top:.5rem;margin-bottom:.25rem;font-size:1rem;font-weight:700}.metrics-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2rem;display:grid}.metric-card{border:1px solid var(--border-color);text-align:center;box-shadow:var(--shadow-sm);background-color:#f9fafb;border-radius:8px;padding:1.25rem}.metric-card h3{color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:700}.metric-card .metric-val{color:var(--primary-blue);font-size:2rem;font-weight:800}.confusion-section{margin-top:2rem}.confusion-section h3{color:var(--text-main);margin-bottom:1rem;font-size:1.05rem;font-weight:700}.matrix-table{border-collapse:collapse;width:100%;margin-bottom:1.5rem}.matrix-table th,.matrix-table td{border:1px solid var(--border-color);text-align:center;padding:.75rem 1rem}.matrix-table th{text-transform:uppercase;color:var(--text-muted);background-color:#f9fafb;font-size:.8rem;font-weight:700}.matrix-table td{font-size:.85rem}.matrix-cell{font-weight:600}.matrix-cell.tp,.matrix-cell.tn{background-color:var(--secondary-light);color:var(--secondary-hover)}.matrix-cell.fp,.matrix-cell.fn{background-color:var(--danger-light);color:var(--danger)}.loader{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin;display:inline-block}.large-loader{border:4px solid var(--border-color);border-top:4px solid var(--primary-blue);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-actions,.mobile-canvas-actions,.mobile-step-nav,.sidebar-close-btn{display:none}.desktop-actions{display:block}.canvas-col-element{touch-action:none}@media (width<=1024px){body{height:auto;overflow:auto}.app-layout{flex-direction:column;height:auto;overflow:visible}.menu-toggle{display:flex}.sidebar-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.sidebar-close-btn:hover{color:var(--text-main);background-color:#f3f4f6}.sidebar{z-index:1000;border-right:none;width:280px;height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 10px 25px -5px #0000004d}.sidebar.open{transform:translate(0)}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;background-color:#0f172a80;width:100vw;height:100vh;transition:opacity .3s;display:block;position:fixed;top:0;left:0}.sidebar-backdrop.open{opacity:1;pointer-events:auto}.top-header{padding:.75rem 1rem}.header-title-group h2{font-size:1rem}.header-title-group p{display:none}.viewport-container{padding:1rem;overflow-y:visible}.mobile-step-nav{border:1px solid var(--border-color);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);background-color:#fff;margin-bottom:1rem;padding:4px;display:flex}.mobile-step-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.65rem .25rem;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.mobile-step-btn.active{background-color:var(--primary-light);color:var(--primary-blue)}.step-num{background-color:var(--border-color);width:18px;height:18px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;transition:all .2s;display:inline-flex}.mobile-step-btn.active .step-num{background-color:var(--primary-blue);color:#fff}.workspace-grid{height:auto;min-height:unset;grid-template-columns:1fr;gap:0;overflow:visible}.workspace-col{box-shadow:var(--shadow-md)}.active-step-col{min-height:480px;height:calc(100vh - 200px)!important;display:flex!important}.inactive-step-col,.desktop-actions{display:none!important}.mobile-actions{display:block!important}.mobile-canvas-actions{background-color:#0c0f16;border-top:1px solid #1f2937;padding:1rem;display:block!important}.canvas-col-container{min-height:380px;padding:1rem}.canvas-col-wrapper{aspect-ratio:1;width:100%;max-width:320px}.canvas-col-element{width:100%;height:auto}.metrics-page-card,.terms-page-card{max-width:100%;margin:0;padding:1.25rem}.metrics-grid{grid-template-columns:1fr;gap:1rem}.confusion-section{-webkit-overflow-scrolling:touch;margin-top:1.5rem;overflow-x:auto}.matrix-table{min-width:480px}}@media (width<=480px){.top-header{height:60px;padding:.5rem .75rem}.header-title-group h2{font-size:.9rem}.inference-badge{padding:.25rem .5rem;font-size:.65rem}.viewport-container{padding:.75rem}.mobile-step-btn{gap:.25rem;padding:.55rem .1rem;font-size:.72rem}.active-step-col{min-height:420px;height:calc(100vh - 180px)!important}.canvas-col-wrapper{max-width:280px}.assessment-header{padding:.75rem;font-size:.9rem}.metrics-page-card,.terms-page-card{padding:1rem}.diag-summary-card{padding:.75rem}}
