@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;600;700;800&display=swap";:root{--color-primary: #5B9EF8;--color-primary-hover: #4A8ED8;--color-secondary: #F9A641;--color-secondary-hover: #E89530;--color-background: #FFFFFF;--color-background-secondary: #F8F9FA;--color-background-tertiary: #E9ECEF;--color-surface: #FFFFFF;--color-text-primary: #2D3436;--color-text-secondary: #7F8C9A;--color-text-light: #7F8C9A;--color-border: #E9ECEF;--color-success: #10B981;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 16px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .16);--font-primary: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;font-family:var(--font-body);line-height:1.6;font-weight:400;color:var(--color-text-primary);background-color:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-text-primary);font-weight:700;line-height:1.3;margin:0 0 var(--spacing-sm) 0}h1{font-size:3rem;font-weight:700;line-height:1.2}h2{font-size:2.25rem;font-weight:700;line-height:1.3}h3{font-size:1.75rem;font-weight:600;line-height:1.4}h4{font-size:1.5rem;font-weight:600;line-height:1.4}h5{font-size:1.25rem;font-weight:500;line-height:1.5}@media(max-width:768px){h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}}p{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-secondary)}a{font-weight:500;color:var(--color-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-primary-hover)}button{border-radius:var(--radius-md);border:none;padding:12px 24px;font-size:1rem;font-weight:600;font-family:var(--font-body);background:linear-gradient(135deg,#5b9ef8,#4a8ed8);color:#fff!important;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #5b9ef84d}button:hover{box-shadow:0 6px 16px #5b9ef866;transform:translateY(-2px)}button:active{transform:translateY(0);box-shadow:0 2px 8px #5b9ef84d}button:focus,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button.secondary{background:transparent;color:var(--color-primary)!important;border:2px solid var(--color-primary);box-shadow:none}button.secondary:hover{background:#5b9ef81a;box-shadow:none;transform:translateY(-1px)}button.accent{background:linear-gradient(135deg,#f9a641,#e89530);color:#fff!important;box-shadow:0 4px 12px #f9a6414d}button.accent:hover{box-shadow:0 6px 16px #f9a64166}@media(prefers-color-scheme:dark){:root{--color-primary: #5B9EF8;--color-primary-hover: #4A8ED8;--color-secondary: #F9A641;--color-secondary-hover: #E89530;--color-background: #1E1E1E;--color-background-secondary: #2A2A2A;--color-background-tertiary: #333333;--color-surface: #2A2A2A;--color-text-primary: #FFFFFF;--color-text-secondary: #7F8C9A;--color-text-light: #7F8C9A;--color-border: #333333;--color-success: #34D399;--color-warning: #FBBF24;--color-error: #F87171;--color-info: #60A5FA;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6)}.form-group input{background-color:var(--color-background);color:var(--color-text-primary);border-color:var(--color-border)}.form-group input::placeholder{color:var(--color-text-light)}}.App{padding:0;width:100%}.card{padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card h2{font-size:1.25rem;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.card h3{font-size:1rem;color:var(--color-text-secondary);font-weight:500;margin-bottom:var(--spacing-sm)}.card p{margin:var(--spacing-xs) 0;font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-lg)}.stat-card{padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column}.stat-card .stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);margin:var(--spacing-xs) 0}.stat-card .stat-label{font-size:.875rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em}.chart-container{padding:var(--spacing-lg);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:var(--spacing-md) 0}.toggle-group{display:inline-flex;background-color:var(--color-background);border-radius:var(--radius-sm);padding:.25rem}.toggle-group button{padding:.5rem 1rem;font-size:.875rem;background-color:transparent;color:var(--color-text-secondary);box-shadow:none}.toggle-group button:hover{transform:none}.toggle-group button.active{background-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.progress-bar{width:100%;height:.5rem;background-color:var(--color-background);border-radius:var(--radius-sm);overflow:hidden;margin:var(--spacing-xs) 0}.progress-bar-fill{height:100%;background-color:var(--color-primary);transition:width .3s ease}.progress-bar-fill.secondary{background-color:var(--color-secondary)}.badge{display:inline-block;padding:.25rem .75rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff}.badge.secondary{background-color:var(--color-secondary)}.badge.success{background-color:var(--color-success)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;color:var(--color-text-secondary)}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:var(--spacing-md)}.login-card{width:100%;max-width:420px;padding:var(--spacing-xl);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.login-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-md)}.login-logo img{height:80px;width:auto}.login-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:1rem}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.form-group input{padding:.75rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;transition:all .2s ease;background-color:var(--color-surface);color:var(--color-text-primary)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a6fff1a}.form-group input::placeholder{color:var(--color-text-light)}.error-message{padding:.75rem;background-color:#f565651a;border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:.875rem;text-align:center}.login-button{width:100%;padding:.875rem;font-size:1rem;margin-top:var(--spacing-sm)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-button:disabled:hover{transform:none;box-shadow:var(--shadow-sm)}@media(prefers-color-scheme:dark){.login-container{background-color:var(--color-background)}}.home{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-background)}.home-content{flex:1;padding:var(--spacing-xl);display:flex;flex-direction:column}.status-container{width:100%;flex:1;display:flex;flex-direction:column}.no-position{text-align:center;font-size:2rem;color:var(--color-text-primary);margin:var(--spacing-xl) 0}.profit-section{text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.profit-label{font-size:1.25rem;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.profit-value{font-size:2.5rem;font-weight:700;font-family:var(--font-primary);margin-bottom:var(--spacing-xs)}.profit-value.positive{color:var(--color-success)}.profit-value.negative{color:var(--color-error)}.profit-percent{font-size:1.5rem;font-weight:600}.profit-percent.positive{color:var(--color-success)}.profit-percent.negative{color:var(--color-error)}.position-info{margin-bottom:var(--spacing-xl)}.position-header{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.position-details{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.position-detail{font-size:1.125rem;color:var(--color-text-secondary)}.chart-container{margin-top:var(--spacing-lg);width:100%}.chart-placeholder{margin-top:var(--spacing-lg);padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary);font-style:italic;background-color:var(--color-background);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.loading,.error{text-align:center;font-size:1.25rem;color:var(--color-text-secondary);padding:var(--spacing-xl)}.error{color:var(--color-error)}.app-header{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-sm);gap:var(--spacing-lg)}.header-logo{display:flex;align-items:center;text-decoration:none}.header-logo img{height:80px;width:auto}.header-nav{display:flex;gap:var(--spacing-md);flex:1;margin-left:var(--spacing-xl)}.nav-link{color:var(--color-text-secondary);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);transition:all .2s ease;font-weight:500}.nav-link:hover{color:var(--color-text-primary);background-color:var(--color-background)}.nav-link.active{color:var(--color-primary);background-color:var(--color-background)}.user-info{display:flex;align-items:center;gap:var(--spacing-md)}.user-name{font-weight:500;color:var(--color-text-primary);font-family:var(--font-body)}.logout-button{background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);box-shadow:none;padding:.5rem 1rem}.logout-button:hover{background-color:var(--color-background);color:var(--color-text-primary);border-color:var(--color-text-secondary);transform:none}.candlestick-chart{width:100%;height:100%}.no-chart-data{text-align:center;padding:var(--spacing-lg);color:var(--color-text-secondary)}.candlestick-tooltip{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);box-shadow:var(--shadow-md)}.candlestick-tooltip .label{font-weight:600;margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.candlestick-tooltip .value{font-size:.875rem;color:var(--color-text-secondary);margin:2px 0}.research{min-height:100vh;display:flex;flex-direction:column}.research-content{flex:1;padding:var(--spacing-lg);width:100%}.research .welcome-section{margin-bottom:var(--spacing-xl)}.research .welcome-section h2{margin-bottom:var(--spacing-xs)}.research .welcome-section p{color:var(--color-text-secondary);font-size:1.125rem}.file-upload{margin:var(--spacing-md) 0}.upload-button{width:100%;padding:var(--spacing-md);font-size:1rem;border:2px dashed var(--color-border);background:var(--color-background-secondary);color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;box-shadow:none}.upload-button:hover{border-color:var(--color-primary);background:var(--color-surface);transform:none;box-shadow:none}.calendar-heatmap{width:100%}.calendar-summary{display:flex;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-xl) var(--spacing-lg);margin-bottom:var(--spacing-lg)}.idle-percentage{position:relative;width:120px;height:120px;flex-shrink:0}.idle-circle{width:100%;height:100%;transform:rotate(-90deg)}.circle-segment-win{fill:none;stroke:#10b981;stroke-width:8;stroke-linecap:butt}.circle-segment-loss{fill:none;stroke:#ef4444;stroke-width:8;stroke-linecap:butt}.circle-segment-idle{fill:none;stroke:#3a3a3a;stroke-width:8;stroke-linecap:butt}.idle-description,.idle-stats{display:flex;flex-direction:column;gap:var(--spacing-xs)}.stat-row{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);font-size:.875rem}.stat-label{font-weight:600;min-width:80px}.stat-label.stat-win{color:#10b981}.stat-label.stat-loss{color:#ef4444}.stat-label.stat-idle{color:#888}.stat-value{color:var(--color-text-secondary);white-space:nowrap}.calendar-years{display:flex;flex-direction:column;gap:var(--spacing-xl)}.calendar-year{width:100%}.calendar-year-header{display:flex;align-items:baseline;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.calendar-year-label{font-family:var(--font-primary);font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.year-return{font-size:1rem;font-weight:600;margin-left:var(--spacing-sm)}.year-return.positive{color:#10b981}.year-return.negative{color:#ef4444}.year-capital{font-size:.875rem;font-weight:500;color:#fff;margin-left:var(--spacing-sm);opacity:.9}.calendar-year-stats{font-size:.875rem;color:var(--color-text-secondary)}.calendar-grid-container{width:100%;overflow-x:auto}.calendar-months{display:grid;grid-auto-flow:column;grid-auto-columns:24px;gap:2px;margin-bottom:var(--spacing-sm);padding-left:45px}.calendar-month-label{font-size:.75rem;color:var(--color-text-secondary);text-align:left}.calendar-grid{display:flex;gap:var(--spacing-sm)}.calendar-days-labels{display:flex;flex-direction:column;gap:2px;padding-right:var(--spacing-sm)}.calendar-day-label{height:24px;display:flex;align-items:center;font-size:.75rem;color:var(--color-text-secondary);width:35px;text-align:right;padding-right:var(--spacing-xs)}.calendar-weeks{display:flex;gap:2px;flex-wrap:nowrap}.calendar-week{display:flex;flex-direction:column;gap:2px}.calendar-day{width:24px;height:24px;border-radius:3px;cursor:pointer;transition:transform .1s ease;box-sizing:border-box}.calendar-day:hover{transform:scale(1.2)}.calendar-day.empty{background-color:transparent;cursor:default}.calendar-day.no-trade{background-color:#3a3a3a}.calendar-day.win{background-color:#10b981;border:none}.calendar-day.loss{background-color:#ef4444;border:none}.calendar-day.neutral{background-color:var(--color-text-secondary);border:none}@media(max-width:768px){.calendar-grid-container{overflow-x:scroll}}@media(prefers-color-scheme:light){.circle-segment-idle{stroke:#e6e6e6}.calendar-day.no-trade{background-color:#e6e6e6}.calendar-day.win{background-color:#10b981aa;border:none}.calendar-day.loss{background-color:#ef4444aa;border:none}.circle-segment-win{fill:none;stroke:#10b981aa;stroke-width:8;stroke-linecap:butt}.circle-segment-loss{fill:none;stroke:#ef4444aa;stroke-width:8;stroke-linecap:butt}.year-return.positive{color:#10b981aa}.year-return.negative{color:#ef4444aa}.year-capital{color:#333;opacity:.8}}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.chart-header h3{margin:0}.maximize-button{background:transparent!important;background-image:none!important;border:none!important;outline:none!important;box-shadow:none!important;cursor:pointer;padding:var(--spacing-xs)!important;color:#6b7280!important;transition:color .2s ease,background-color .2s ease!important;display:flex!important;align-items:center;justify-content:center;border-radius:var(--radius-sm);transform:none!important}.maximize-button:hover{color:#4b5563!important;background:#0000000d!important;background-image:none!important;box-shadow:none!important;transform:none!important}.maximize-button:focus{outline:none!important;outline-offset:0!important;box-shadow:none!important}.maximize-button:active{outline:none!important;box-shadow:none!important;transform:none!important}.chart-modal-overlay{position:fixed;inset:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow:hidden}.chart-modal-content{background-color:var(--color-surface);border-radius:var(--radius-lg);width:calc(100vw - 64px);height:calc(100vh - 64px);display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.chart-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.chart-modal-header h2{margin:0;color:var(--color-text-primary);font-size:1.5rem}.close-button{background:transparent!important;background-image:none!important;border:none!important;outline:none!important;box-shadow:none!important;cursor:pointer;padding:var(--spacing-sm)!important;color:#6b7280!important;transition:color .2s ease,background-color .2s ease!important;display:flex!important;align-items:center;justify-content:center;border-radius:var(--radius-sm);transform:none!important}.close-button:hover{color:#4b5563!important;background:#0000000d!important;background-image:none!important;box-shadow:none!important;transform:none!important}.close-button:focus{outline:none!important;outline-offset:0!important;box-shadow:none!important}.close-button:active{outline:none!important;box-shadow:none!important;transform:none!important}.chart-modal-body{flex:1;padding:var(--spacing-lg);display:flex;flex-direction:column;overflow:hidden;height:100%}.chart-modal-body>*{flex:1!important;min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important}.chart-modal-body .chart-container{background:none;padding:0;box-shadow:none}.chart-modal-body .recharts-responsive-container,.chart-modal-body>.recharts-responsive-container,.chart-modal-body * .recharts-responsive-container{flex:1!important;height:100%!important;width:100%!important;max-height:none!important}.chart-modal-body .pie-charts-container,.chart-modal-body .pie-chart-wrapper{flex:1!important;height:100%!important}.chart-modal-body .sub-charts-container{flex:1!important;height:100%!important;gap:var(--spacing-md)}.chart-modal-body .sub-charts-container>div{flex:1!important;height:100%!important}.trading-charts{margin-top:var(--spacing-lg)}.data-summary{padding:var(--spacing-md);background-color:var(--color-background-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.data-summary p{margin:var(--spacing-xs) 0;color:var(--color-text-secondary);font-size:.875rem}.data-summary strong{color:var(--color-text-primary)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.metric-card{padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.metric-label{font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.metric-value{font-family:var(--font-primary);font-size:1.75rem;font-weight:700;color:var(--color-text-primary)}.metric-value.positive{color:var(--color-success)}.metric-value.negative{color:var(--color-error)}.charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.chart-container{background-color:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.chart-container.chart-full-width{margin-bottom:var(--spacing-xl)}.chart-container h3{font-family:var(--font-primary);font-size:1.25rem;color:var(--color-text-primary);margin-bottom:var(--spacing-md);margin-top:0}.pie-charts-container{display:flex;flex-direction:row;gap:var(--spacing-lg);justify-content:space-around}.pie-charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-lg);width:100%}.pie-chart-wrapper{flex:1;min-width:0}.pie-chart-wrapper h4{font-family:var(--font-primary);font-size:1rem;color:var(--color-text-secondary);text-align:center;margin:0 0 var(--spacing-sm) 0;font-weight:600}@media(max-width:768px){.pie-charts-container{flex-direction:column}.pie-charts-grid{grid-template-columns:1fr}}@media(max-width:1400px){.charts-grid{grid-template-columns:1fr}}@media(min-width:1401px)and (max-width:1800px){.charts-grid{grid-template-columns:repeat(2,1fr)}}.sub-charts-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.sub-chart-title{font-family:var(--font-primary);font-size:.875rem;color:var(--color-text-secondary);text-align:center;margin:0 0 var(--spacing-sm) 0;font-weight:600}@media(prefers-color-scheme:light){[fill="#10B981"],[fill="#10b981"]{fill:#10b981aa!important}[fill="#EF4444"],[fill="#ef4444"]{fill:#ef4444aa!important}[stroke="#10B981"],[stroke="#10b981"]{stroke:#10b981aa!important}[stroke="#EF4444"],[stroke="#ef4444"]{stroke:#ef4444aa!important}}
