:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,sans-serif}body{color:#e4e6eb;background:#14161a;margin:0}.app{max-width:1100px;margin:0 auto;padding:24px}@media (width<=640px){.app{padding:12px}}h1{margin:0 0 16px;font-size:1.25rem;font-weight:600}.status-line{color:#9aa1ac}.failure-banner{color:#f87171;background:#3a1414;border:1px solid #7f1d1d;border-radius:6px;flex-direction:column;gap:4px;margin-bottom:20px;padding:12px;display:flex}.failure-banner-headline{font-weight:600}.failure-banner-reason{color:#fca5a5;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.kill-switch-panel{background:#1c1f26;border-radius:6px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:12px;display:flex}.kill-switch-panel button{color:#e4e6eb;cursor:pointer;background:#2a2e37;border:1px solid #3a3f4a;border-radius:4px;margin-left:auto;padding:6px 14px;font-size:.85rem}.kill-switch-panel button:hover{background:#343945}.token-panel{background:#1c1f26;border-radius:6px;align-items:center;gap:12px;margin-bottom:20px;padding:12px;display:flex}.token-panel input{color:#e4e6eb;background:#14161a;border:1px solid #3a3f4a;border-radius:4px;flex:1;padding:6px 10px;font-size:.85rem}.token-panel button{color:#e4e6eb;cursor:pointer;background:#2a2e37;border:1px solid #3a3f4a;border-radius:4px;padding:6px 14px;font-size:.85rem}.token-panel button:disabled{opacity:.5;cursor:default}.market-panel{background:#1c1f26;border-radius:6px;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:12px 16px;display:flex}.market-panel-item{flex-direction:column;gap:2px;display:flex}.market-panel-label{color:#9aa1ac;font-size:.75rem}.market-panel-value{font-size:.9rem}.portfolio-panel{background:#1c1f26;border-radius:6px;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:20px;padding:16px;display:flex}.portfolio-headline{flex-direction:column;gap:2px;display:flex}.portfolio-headline-label{color:#9aa1ac;font-size:.75rem}.portfolio-headline-value{font-size:1.8rem;font-weight:700}.portfolio-detail{color:#9aa1ac;text-align:right;flex-direction:column;gap:4px;margin-left:auto;font-size:.8rem;display:flex}.risk-panel{background:#1c1f26;border-radius:6px;flex-direction:column;gap:6px;margin-bottom:20px;padding:12px;display:flex}.risk-panel input[type=range]{width:100%}.risk-zero-hint{color:#9aa1ac;font-weight:400}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th{text-align:left;color:#9aa1ac;border-bottom:1px solid #2a2e37;padding:8px;font-weight:500}td{vertical-align:top;border-bottom:1px solid #1f232b;padding:8px}.col-time{white-space:nowrap;color:#9aa1ac}.col-portfolio{white-space:nowrap;font-family:ui-monospace,monospace}.tick-subtext{color:#6b7280;margin-top:2px;font-size:.72rem}.price-change--up{color:#4ade80}.price-change--down{color:#f87171}.col-market{text-overflow:ellipsis;white-space:nowrap;color:#9aa1ac;max-width:260px;font-family:ui-monospace,monospace;font-size:.78rem;overflow:hidden}@media (width<=700px){.table-scroll{overflow-x:visible}table,thead,tbody,tr,td{width:auto;display:block}thead{position:absolute;left:-9999px}tr{border:1px solid #2a2e37;border-radius:6px;margin-bottom:12px;overflow:hidden}td{border-bottom:1px solid #1f232b;max-width:none}tr td:last-child{border-bottom:none}td:before{content:attr(data-label);color:#6b7280;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px;font-size:.7rem;display:block}}.decision-detail{color:#c7cbd4;margin-left:6px}.asset-decision{margin-bottom:10px}.reasoning{color:#7d8390;margin-top:4px;font-size:.8rem}.empty{text-align:center;color:#6b7280;padding:24px}.badge{text-transform:uppercase;border-radius:4px;margin-right:6px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.badge--hold{color:#9aa1ac;background:#2a2e37}.badge--buy{color:#60a5fa;background:#1e3a5f}.badge--sell{color:#fbbf24;background:#4a3010}.badge--error{color:#f87171;background:#3a1414}.badge--allowed{color:#4ade80;background:#10381f}.badge--rejected{color:#f87171;background:#3a1414}.badge--dry-run{color:#9aa1ac;background:#2a2e37}.scroll-top-btn{color:#e4e6eb;cursor:pointer;z-index:10;background:#2a2e37;border:1px solid #3a3f4a;border-radius:50%;width:44px;height:44px;font-size:1.2rem;line-height:1;position:fixed;bottom:16px;right:16px;box-shadow:0 2px 8px #0006}.scroll-top-btn:hover{background:#343945}
