:root{--primary:#3b82f6;--primary-dark:#2563eb;--primary-light:#60a5fa;--primary-subtle:#3b82f61a;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--bg-elevated:#1e293b;--bg-hover:#283548;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--success:#10b981;--success-subtle:#10b9811a;--warning:#f59e0b;--warning-subtle:#f59e0b1a;--danger:#ef4444;--danger-subtle:#ef44441a;--info:#06b6d4;--border:#94a3b81a;--border-hover:#94a3b833;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080;--shadow-glow:0 0 20px #3b82f626;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif;--font-mono:"SF Mono", Monaco, "Cascadia Code", monospace}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;overflow-x:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{background:linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);border-bottom:1px solid var(--border);padding:var(--space-xl) var(--space-md);text-align:center}.app-header h1{letter-spacing:-.02em;margin-bottom:var(--space-xs);background:linear-gradient(135deg, var(--text-primary) 0%, var(--primary-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.app-header p{color:var(--text-secondary);font-size:.875rem;font-weight:400}.app-main{width:100%;max-width:1440px;padding:var(--space-md);flex:1;margin:0 auto}.app-footer{background:var(--bg-secondary);border-top:1px solid var(--border);padding:var(--space-md);text-align:center;color:var(--text-tertiary);font-size:.75rem}.calculator-section{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}@media (width>=1024px){.app-main{padding:var(--space-2xl)}.calculator-section{gap:var(--space-xl);grid-template-columns:380px 1fr;display:grid}.app-header{padding:var(--space-2xl)}.app-header h1{font-size:2rem}}.input-panel,.results-panel{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);padding:var(--space-md);box-shadow:var(--shadow-md)}.input-panel h2,.results-panel h2{color:var(--text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);align-items:center;gap:var(--space-xs);font-size:1rem;font-weight:600;display:flex}.trade-form{gap:var(--space-md);flex-direction:column;display:flex}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.form-group input{padding:var(--space-md);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);width:100%;min-height:44px;font-size:1rem;transition:all .2s}.form-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-subtle);outline:none}.form-group input::placeholder{color:var(--text-muted)}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}@media (width<=400px){.form-row{grid-template-columns:1fr}}.quick-buttons{gap:var(--space-xs);margin-top:var(--space-xs);flex-wrap:wrap;display:flex}.quick-btn{min-width:60px;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:1;min-height:36px;font-size:.875rem;font-weight:500;transition:all .2s}.quick-btn:hover{background:var(--bg-hover);border-color:var(--primary);color:var(--text-primary)}.radio-group{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.radio-label{justify-content:center;align-items:center;gap:var(--space-xs);padding:var(--space-md);background:var(--bg-primary);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;min-height:44px;font-weight:500;transition:all .2s;display:flex}.radio-label:hover{border-color:var(--border-hover)}.radio-label.active{border-color:var(--primary);background:var(--primary-subtle)}.radio-label input{display:none}.trade-summary{background:linear-gradient(135deg, var(--primary-subtle) 0%, transparent 100%);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.trade-summary p{color:var(--text-secondary);font-size:.75rem}.trade-summary strong{color:var(--primary-light);margin-top:var(--space-xs);font-size:1.25rem;font-weight:700;display:block}.calculate-btn{padding:var(--space-md);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-glow);border:none;width:100%;min-height:48px;font-size:1rem;font-weight:600;transition:all .2s}.calculate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 20px #3b82f666}.calculate-btn:active{transform:translateY(0)}.trade-info{gap:var(--space-xs);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.trade-info span{padding:var(--space-xs) var(--space-sm);background:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-primary);border:1px solid var(--border);font-size:.75rem;font-weight:600}.trade-info .buy{background:var(--success-subtle);border-color:var(--success);color:var(--success)}.trade-info .sell{background:var(--danger-subtle);border-color:var(--danger);color:var(--danger)}.results-placeholder{padding:var(--space-xl);text-align:center;color:var(--text-tertiary);background:var(--bg-primary);border-radius:var(--radius-md);border:2px dashed var(--border);font-size:.875rem}.winner-banner{background:linear-gradient(135deg, var(--success-subtle) 0%, #10b9810d 100%);border:1px solid var(--success);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);gap:var(--space-xs);text-align:center;flex-direction:column;display:flex}@media (width>=640px){.winner-banner{text-align:left;flex-direction:row;justify-content:space-between;align-items:center}}.winner-banner strong{color:var(--success);font-size:1rem}.winner-fee{color:var(--success);font-size:1.5rem;font-weight:700}.results-table-wrapper{border-radius:var(--radius-md);border:1px solid var(--border);-webkit-overflow-scrolling:touch;overflow-x:auto}.results-table{border-collapse:separate;border-spacing:0;width:100%;min-width:600px;font-size:.75rem}.results-table th{background:var(--bg-tertiary);padding:var(--space-sm);text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);white-space:nowrap;font-size:.625rem;font-weight:600}.results-table td{padding:var(--space-sm);border-bottom:1px solid var(--border);color:var(--text-primary)}.results-table tr:hover td{background:var(--bg-hover)}.results-table tr.winner td{background:var(--success-subtle)}.rank{text-align:center;width:36px;font-size:1rem;font-weight:700}.broker-name{color:var(--text-primary);white-space:nowrap;font-weight:600}.total-fee{white-space:nowrap;font-size:.875rem;font-weight:700}.total-fee .free{color:var(--success)}.best-tag{margin-left:var(--space-xs);background:var(--success);color:#fff;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.625rem;font-weight:700;display:inline-block}.fee-details ul{margin:0;padding:0;list-style:none}.fee-details li{color:var(--text-secondary);white-space:nowrap;padding:2px 0;font-size:.625rem}@media (width<=480px){.results-table .fee-details{display:none}.results-table{min-width:auto}}.info-section{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border);padding:var(--space-md);box-shadow:var(--shadow-md)}.broker-info h3{color:var(--text-primary);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);font-size:1rem;font-weight:600}.broker-list{gap:var(--space-sm);flex-direction:column;display:flex}.broker-card{background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-md);transition:all .2s;overflow:hidden}.broker-card:hover{border-color:var(--border-hover)}.broker-card.expanded{border-color:var(--primary);box-shadow:var(--shadow-glow)}.broker-header{padding:var(--space-md);cursor:pointer;justify-content:space-between;align-items:center;min-height:56px;transition:background .2s;display:flex}.broker-header:hover{background:var(--bg-hover)}.broker-title{flex-direction:column;gap:2px;display:flex}.broker-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.broker-notes{color:var(--text-tertiary);font-size:.75rem}.expand-icon{color:var(--text-muted);flex-shrink:0;font-size:.875rem;transition:transform .2s}.broker-card.expanded .expand-icon{transform:rotate(90deg)}.broker-rules{padding:var(--space-md);background:var(--bg-primary);border-top:1px solid var(--border)}.plan-selector{margin-bottom:var(--space-md)}.plan-selector label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs);font-size:.625rem;font-weight:600;display:block}.plan-buttons{gap:var(--space-xs);flex-wrap:wrap;display:flex}.plan-btn{min-width:100px;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;text-align:center;flex:1;min-height:36px;font-size:.75rem;transition:all .2s}.plan-btn:hover{border-color:var(--primary);color:var(--text-primary)}.plan-btn.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500}.rules-table-wrapper{border-radius:var(--radius-sm);border:1px solid var(--border);-webkit-overflow-scrolling:touch;overflow-x:auto}.rules-table{border-collapse:separate;border-spacing:0;width:100%;min-width:400px;font-size:.75rem}.rules-table th,.rules-table td{padding:var(--space-sm);text-align:left;border-bottom:1px solid var(--border)}.rules-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-tertiary);white-space:nowrap;font-size:.625rem;font-weight:600}.rules-table td{color:var(--text-primary)}.rules-table tr:last-child td{border-bottom:none}.rule-title{color:var(--text-primary);margin-bottom:2px;font-size:.75rem;font-weight:600}.rule-desc{color:var(--text-tertiary);font-size:.625rem}.rate-cell{font-family:var(--font-mono);color:var(--primary-light);white-space:nowrap;font-size:.75rem;font-weight:600}.tiers-hint{color:var(--warning);text-transform:uppercase;letter-spacing:.05em;margin-top:2px;font-size:.625rem}.badge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:2px 8px;font-size:.625rem;font-weight:700;display:inline-block}.badge-blue{background:var(--primary-subtle);color:var(--primary-light);border:1px solid var(--primary)}.badge-green{background:var(--success-subtle);color:var(--success);border:1px solid var(--success)}.badge-orange{background:var(--warning-subtle);color:var(--warning);border:1px solid var(--warning)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (hover:none){.quick-btn:hover,.plan-btn:hover,.calculate-btn:hover{transform:none}.broker-header:hover{background:var(--bg-primary)}}
