@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #f4f6fa;--surface: #ffffff;--surface-2: #f7f9fc;--inset: #eef1f6;--border: #e8ecf2;--border-strong: #d7dde7;--text: #131825;--text-2: #3d4757;--muted: #8b95a6;--brand: #3182f6;--brand-strong: #1b64da;--brand-soft: #eaf2ff;--up: #f04452;--down: #3182f6;--shadow-sm: 0 1px 2px rgba(19, 24, 37, .04);--shadow: 0 2px 8px rgba(19, 24, 37, .05), 0 1px 2px rgba(19, 24, 37, .04);--shadow-lg: 0 8px 28px rgba(19, 24, 37, .08);--radius: 18px;--radius-sm: 12px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Malgun Gothic,Apple SD Gothic Neo,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{max-width:1120px;margin:0 auto;padding:28px 20px 56px}.hero{margin-bottom:22px}.brand{display:flex;align-items:center;gap:9px;font-size:26px;font-weight:800;letter-spacing:-.6px;color:var(--text)}.brand .logo{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--brand),#5aa0ff);display:grid;place-items:center;color:#fff;font-size:18px;box-shadow:0 4px 12px #3182f659}.subtitle{color:var(--muted);font-size:13.5px;margin-top:6px}.muted{color:var(--muted);font-size:13px}.err{color:var(--up);font-size:13px}.panel,.chart-box,.trend{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:16px}h1{margin:0}h2{font-size:16px;margin:0;font-weight:700;letter-spacing:-.3px}h3{font-size:15px;margin:0 0 12px;font-weight:700}.section-title{font-size:13px;font-weight:700;color:var(--muted);margin:0 0 12px;letter-spacing:.2px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media (max-width: 620px){.kpis{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px}.kpi .label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:500}.kpi .value{font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1.1}.kpi .sub{font-size:12px;font-weight:700;margin-top:4px}.up{color:var(--up)}.down{color:var(--down)}.spark-wrap{margin:16px 0 4px}.spark{width:100%;height:64px;display:block}.spark-empty{color:var(--muted);font-size:12.5px;padding:10px 0}table{width:100%;border-collapse:collapse;font-size:13.5px}thead th{font-size:12px;color:var(--muted);font-weight:600;text-align:right;padding:8px;border-bottom:1px solid var(--border)}thead th:first-child,tbody td:first-child{text-align:left}tbody td{padding:11px 8px;text-align:right;border-bottom:1px solid var(--inset);color:var(--text-2)}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}td .tname{font-weight:600;color:var(--text)}.board{display:flex;flex-direction:column;gap:18px}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px}.reco-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:15px 16px;box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .15s,border-color .15s}.reco-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.reco-head{display:flex;align-items:center;gap:9px}.rank{width:24px;height:24px;background:var(--inset);color:var(--text-2);border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:800}.name{font-weight:700;flex:1;font-size:15.5px;letter-spacing:-.3px}.grade{font-weight:800;font-size:11.5px;padding:4px 10px;border-radius:999px;color:#fff;letter-spacing:.3px}.g-a{background:linear-gradient(135deg,#12b886,#20c997)}.g-b{background:linear-gradient(135deg,#3182f6,#5aa0ff)}.g-c{background:linear-gradient(135deg,#f59f00,#fcc419);color:#5b3d00}.g-d{background:linear-gradient(135deg,#adb5bd,#ced4da);color:#343a40}.oneliner{color:var(--text-2);font-size:13px;margin:10px 0 12px;line-height:1.4}.reco-trade{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--inset);padding-top:11px}.reco-trade .row{display:flex;justify-content:space-between;font-size:12.5px}.reco-trade .row .k{color:var(--muted)}.reco-trade .row .v{font-weight:700;color:var(--text)}.reco-trade .row.t .v{color:var(--up)}.reco-trade .row.s .v{color:var(--down)}.layout{display:grid;grid-template-columns:380px 1fr;gap:18px}@media (max-width: 880px){.layout{grid-template-columns:1fr}}.controls{display:flex;gap:8px;margin-bottom:14px}.controls input{flex:1;padding:10px 13px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:10px;font-size:13px;outline:none}.controls input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.controls input::placeholder{color:#aeb6c2}.controls button,.trade-cap button{padding:10px 18px;border:0;border-radius:10px;cursor:pointer;font-weight:700;font-size:13px;background:var(--brand);color:#fff;transition:background .15s,transform .1s}.controls button:hover,.trade-cap button:hover{background:var(--brand-strong)}.controls button:active{transform:scale(.97)}.cards{display:flex;flex-direction:column;gap:10px}.card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;cursor:pointer;background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .15s,transform .1s,box-shadow .15s}.card:hover{transform:translateY(-1px);box-shadow:var(--shadow)}.card.sel{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.card-head{display:flex;align-items:center;gap:10px}.metrics{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.metrics span{font-size:11.5px;color:var(--text-2);background:var(--inset);padding:4px 9px;border-radius:7px}.metrics span.muted{background:transparent;padding:4px 0}.warn{font-size:12px;color:var(--up);margin-top:8px}.chart{width:100%;border-radius:10px;overflow:hidden}.empty{background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius);padding:60px 24px;text-align:center;color:var(--muted)}.trade{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:var(--shadow)}.trade-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.trade-head h3{margin:0}.trade-cap{display:flex;gap:6px}.trade-cap input{width:140px;padding:8px 11px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:9px;font-size:13px}.rule-note{font-size:12.5px;color:var(--brand-strong);background:var(--brand-soft);border-radius:10px;padding:9px 13px;margin-bottom:12px}.small{font-size:11.5px;margin-top:10px;display:block}.risk-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}@media (max-width: 560px){.risk-row{grid-template-columns:1fr}}.risk-box{border-radius:var(--radius-sm);padding:11px 13px;border:1px solid var(--border);background:var(--surface-2)}.risk-box span{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.risk-box b{font-size:16px;font-weight:800}.risk-box.loss{background:#f0445212;border-color:#f0445233}.risk-box.loss b{color:var(--up)}.risk-box.gain{background:#3182f612;border-color:#3182f633}.risk-box.gain b{color:var(--down)}.loss-t{color:var(--up)}.gain-t{color:var(--down)}.skipped{margin-top:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px}.skipped-head{font-size:13px;font-weight:700;margin-bottom:6px;color:var(--text-2)}.skipped-row{font-size:12px;padding:2px 0;color:var(--text-2)}.skipped-row b{color:var(--text);margin-right:6px}
