:root{color-scheme:dark;--bg: #0b0f14;--bg-elevated: #111820;--surface: #151d28;--surface-hover: #1b2533;--border: #2a3648;--border-subtle: #1f2937;--text: #f1f5f9;--muted: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--danger-hover: #dc2626;--success: #22c55e;--warning: #f59e0b;--radius: 10px;--radius-lg: 14px;--shadow: 0 8px 24px rgba(0, 0, 0, .35);--sidebar-w: 240px;--sidebar-w-collapsed: 4.25rem;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{min-height:100vh;width:100%;max-width:100vw}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:var(--sidebar-w);height:100dvh;background:var(--bg-elevated);border-right:1px solid var(--border-subtle);transition:width .2s ease}.sidebar-scroll{display:flex;flex-direction:column;height:100%;padding:1rem .75rem;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.25rem .35rem 1rem;border-bottom:1px solid var(--border-subtle);margin-bottom:.85rem}.sidebar-brand h1,.sidebar-brand .brand-title{flex:1;min-width:0;font-size:1.05rem;font-weight:700;margin:0;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s ease}.sidebar-toggle{flex-shrink:0;width:2rem;height:2rem;padding:0;line-height:1}.sidebar-brand .logo-dot{width:10px;height:10px;border-radius:50%;background:var(--success);box-shadow:0 0 10px #22c55e99}.sidebar nav{display:flex;flex-direction:column;gap:.2rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:.15rem}.sidebar a{display:flex;align-items:center;gap:.5rem;color:var(--muted);padding:.55rem .75rem;border-radius:var(--radius);font-size:.92rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-short{display:none;width:1.25rem;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s ease}.layout--sidebar-collapsed .sidebar{width:var(--sidebar-w-collapsed)}.layout--sidebar-collapsed .brand-title,.layout--sidebar-collapsed .nav-label{opacity:0;width:0;overflow:hidden;pointer-events:none}.layout--sidebar-collapsed .nav-short{display:inline-block}.layout--sidebar-collapsed .sidebar a,.layout--sidebar-collapsed .sidebar-footer button{justify-content:center;padding-left:.5rem;padding-right:.5rem}.layout--sidebar-collapsed .sidebar-brand{justify-content:center;flex-wrap:wrap}.layout--sidebar-collapsed .sidebar-toggle{margin:0 auto}.layout--sidebar-collapsed .sidebar-footer .btn-row{flex-direction:column}.sidebar a:hover{background:var(--surface);color:var(--text);text-decoration:none}.sidebar a.active{background:var(--surface);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.sidebar-footer{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0;padding-top:1rem;border-top:1px solid var(--border-subtle)}.sidebar-footer .btn-row{display:flex;gap:.5rem}.sidebar-footer button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex:1;min-width:0}.main{min-width:0;min-height:100dvh;margin-left:var(--sidebar-w);padding:1.75rem clamp(1rem,3vw,2rem) 2.5rem;max-width:min(1280px,calc(100vw - var(--sidebar-w) - 2rem));transition:margin-left .2s ease,max-width .2s ease}.layout--sidebar-collapsed .main{margin-left:var(--sidebar-w-collapsed);max-width:min(1280px,calc(100vw - var(--sidebar-w-collapsed) - 2rem))}.page-stack{display:flex;flex-direction:column;gap:1.25rem;width:100%}.strategies-section{display:flex;flex-direction:column;gap:.65rem}.strategies-section+.strategies-section{margin-top:.25rem}.preset-card-actions{margin-top:auto;padding-top:.35rem}.preset-desc{line-height:1.45}.panel--toggles{margin-top:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9em}.page-header{margin-bottom:1.5rem}.page-header h2{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.page-header .subtitle{margin:.35rem 0 0;color:var(--muted);font-size:.9rem}.page-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-bottom:1.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.25rem}.card+.card{margin-top:1rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.15rem}.stat-label{color:var(--muted);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.stat-value{font-size:1.45rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;word-break:break-word;overflow-wrap:anywhere}.stat-value.sm{font-size:1.1rem}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge.running{background:#22c55e26;color:var(--success)}.badge.paused{background:#f59e0b26;color:var(--warning)}.badge.kill{background:#ef444426;color:var(--danger)}.badge.long{background:#3b82f626;color:#60a5fa}.badge.short{background:#ef44441f;color:#f87171}.badge.market{background:#94a3b81f;color:var(--muted)}.badge.ok{background:#22c55e26;color:var(--success)}.badge.error{background:#ef444426;color:var(--danger)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);width:min(560px,100%);max-height:min(85vh,720px);overflow:auto;padding:1.25rem 1.5rem}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.modal-header h2{margin:0;font-size:1.1rem}.detail-grid{margin:0;display:grid;gap:.65rem}.detail-row{display:grid;grid-template-columns:1fr 1.4fr;gap:.5rem 1rem;padding:.35rem 0;border-bottom:1px solid var(--border-subtle)}.detail-row dt{margin:0;color:var(--muted);font-size:.85rem}.detail-row dd{margin:0;font-size:.9rem;word-break:break-word}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-hover)}button,.btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.55rem 1rem;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit;transition:background .15s,transform .1s}button:hover:not(:disabled),.btn:hover{background:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}button.secondary:hover:not(:disabled){background:#243044}button.danger{background:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-hover)}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border);padding:.45rem .75rem}button.sm{padding:.35rem .7rem;font-size:.8rem}input,select,textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);padding:.6rem .8rem;width:100%;font-family:inherit;font-size:.9rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f633}label{display:block;font-size:.85rem;font-weight:500;color:var(--muted);margin-bottom:.35rem}.form-field{margin-bottom:1rem}.form-field.checkbox{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.form-field.checkbox label{margin:0;color:var(--text);cursor:pointer}.form-field.checkbox input{width:auto}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.table-wrap table{width:100%;border-collapse:collapse}.table-wrap th{text-align:left;padding:.75rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--bg-elevated);border-bottom:1px solid var(--border)}.table-wrap td{padding:.85rem 1rem;border-bottom:1px solid var(--border-subtle);font-size:.9rem;vertical-align:middle}.table-wrap tr:last-child td{border-bottom:none}.table-wrap tr:hover td{background:#ffffff05}.table-wrap .mono{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.82rem;color:var(--muted)}.table-wrap .actions{text-align:right;white-space:nowrap}.pnl-pos{color:var(--success)}.pnl-neg{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem}.panel-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 .75rem}.panel-row{display:flex;justify-content:space-between;gap:1rem;padding:.4rem 0;font-size:.9rem}.panel-row span:last-child{font-weight:600;text-align:right}.meta-line{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.empty-state{text-align:center;padding:2.5rem 1.5rem;color:var(--muted)}.empty-state p{margin:.35rem 0 0}.loading-block{display:flex;align-items:center;gap:.75rem;color:var(--muted);padding:2rem 0}.spinner{width:22px;height:22px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.diary-entry{display:grid;gap:.35rem}.diary-entry .date{font-weight:700;font-size:1rem}.diary-entry .metrics{color:var(--muted);font-size:.9rem}.chart-card{height:340px;margin-top:1.25rem}.chart-card h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.toast-stack{position:fixed;right:1.25rem;bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem;z-index:100}.toast{background:var(--surface);border:1px solid var(--border);padding:.75rem 1rem;border-radius:var(--radius);max-width:360px;box-shadow:var(--shadow);font-size:.875rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(59,130,246,.15),transparent),var(--bg)}.login-box{width:min(400px,100%);box-shadow:var(--shadow)}.login-box h2{margin:0 0 1.25rem;font-size:1.35rem}.login-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;color:var(--muted);font-size:.85rem}.section-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 .65rem}.muted{color:var(--muted);font-size:.875rem;margin:0}.preset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;align-items:stretch}.preset-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.5rem;min-height:11rem}.preset-card .muted{flex:1}.preset-card--active{border-color:var(--accent);box-shadow:0 0 0 1px #3b82f659}.preset-card h3{margin:0 0 .35rem;font-size:1rem}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--border-subtle)}.toggle-row:last-child{border-bottom:none}.filter-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.filter-row input{max-width:200px}.banner{padding:.65rem 1rem;border-radius:var(--radius);margin:0 0 1rem;font-size:.9rem}.banner-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#fecaca}.banner-ok{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#bbf7d0}.banner-info{background:#3b82f61f;border:1px solid rgba(59,130,246,.35);color:#bfdbfe}.settings-risk-panel{max-width:520px;margin-bottom:1.25rem}.settings-pairs-panel{max-width:min(100%,960px);margin-bottom:1.25rem;overflow-x:auto}@media(max-width:900px){.sidebar{position:static;width:100%;height:auto}.sidebar-scroll{height:auto;padding:1rem}.sidebar-brand{padding-bottom:.75rem;margin-bottom:.75rem}.sidebar nav{flex-direction:row;flex-wrap:wrap;flex:none;overflow:visible}.sidebar-footer .btn-row{flex-direction:row}.main{margin-left:0;max-width:100%;padding:1.25rem 1rem 2rem}.layout--sidebar-collapsed .brand-title,.layout--sidebar-collapsed .nav-label{opacity:1;width:auto;pointer-events:auto}.layout--sidebar-collapsed .nav-short{display:none}.layout--sidebar-collapsed .sidebar{width:100%}}
