:root{--bg: #0a0d12;--panel: #10141b;--panel-2: #151a23;--border: #1d2330;--text: #d5dbe3;--muted: #707a8a;--faint: #454e5e;--green: #0ecb81;--red: #f6465d;--amber: #f0b90b;--blue: #4c8dff}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13.5px;line-height:1.5}.app{max-width:1500px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:14px;min-height:100%}.topbar{border:1px solid var(--border);border-radius:6px;background:var(--panel);padding:14px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.logo{font-size:20px;font-weight:700;letter-spacing:3px;color:#fff;display:flex;align-items:center;gap:10px}.logo-icon{width:34px;height:auto;display:block}.logo .dot{color:var(--green)}.subtitle{color:var(--green);text-transform:uppercase;letter-spacing:2px;font-size:11.5px;font-weight:600;border-left:1px solid var(--border);padding-left:16px}.badges{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.badge{border:1px solid var(--border);border-radius:4px;background:var(--panel-2);padding:4px 10px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.badge.live{color:var(--green);border-color:#14432f}.badge.live:before{content:"●";margin-right:6px;animation:pulse 2s ease infinite}@keyframes pulse{50%{opacity:.35}}.badge.paper{color:var(--amber);border-color:#4a3a10}.badge.reallive{color:var(--red);border-color:#4a1620;text-decoration:none;font-weight:700}.badge.reallive:before{content:"●";margin-right:6px;animation:pulse 1.4s ease infinite}.walletlink{color:var(--green);text-decoration:none;border-bottom:1px dotted var(--green-faint, #14432f)}.walletlink:hover{color:#fff}.badge.halted{color:var(--red);border-color:#4a1620}.badge.btn{cursor:pointer}.badge.btn:hover{color:var(--text);border-color:var(--faint)}.cabar{display:flex;align-items:center;gap:10px;margin-left:12px;padding:5px 12px;border:1px solid var(--border);border-radius:4px;background:var(--panel-2);font-size:12px;max-width:100%;overflow:hidden}.cabar.live{cursor:pointer;border-color:#14432f}.cabar.live:hover{border-color:var(--green)}.cabar .ca-tag{color:var(--green);font-weight:700;letter-spacing:1px;white-space:nowrap;flex-shrink:0}.cabar .ca-val{color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cabar .ca-copy{color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:1px;border:1px solid var(--border);border-radius:3px;padding:1px 6px;flex-shrink:0}.cabar .ca-soon{color:var(--amber);text-transform:uppercase;font-size:10px;letter-spacing:1px;flex-shrink:0}@media (max-width: 760px){.cabar{margin-left:0;width:100%;order:3}}.banner{border:1px solid #14432f;border-radius:6px;background:linear-gradient(90deg,#0ecb8114,#0ecb8105);padding:10px 18px;display:flex;align-items:center;gap:14px;font-size:12.5px;flex-wrap:wrap}.banner .b-tag{color:var(--green);text-transform:uppercase;letter-spacing:2px;font-size:10.5px;font-weight:700;white-space:nowrap}.banner .b-text{color:var(--text)}.banner .b-text b{color:var(--green)}.banner .b-soon{margin-left:auto;border:1px solid #4a3a10;border-radius:4px;color:var(--amber);padding:2px 10px;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px}.col{display:flex;flex-direction:column;gap:14px;min-width:0}@media (max-width: 1100px){.grid{grid-template-columns:1fr}}.panel{border:1px solid var(--border);border-radius:6px;background:var(--panel);min-width:0;overflow:hidden}.panel .head{padding:9px 14px;border-bottom:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.panel .head .hint{color:var(--muted);font-weight:400;letter-spacing:.5px;text-transform:none}.panel .body{padding:12px 14px}.equity-big{font-size:40px;font-weight:600;color:#fff;line-height:1.1;font-variant-numeric:tabular-nums}.equity-big .unit{font-size:18px;color:var(--muted);font-weight:400}.pnl-line{margin-top:2px;font-size:14px;font-variant-numeric:tabular-nums}.up{color:var(--green)}.down{color:var(--red)}.spark{width:100%;height:120px;display:block;margin-top:12px}.promptline{color:var(--muted);font-size:12px;margin-top:8px}.promptline .ps{color:var(--green)}.kv{display:grid;grid-template-columns:auto 1fr;gap:5px 16px;font-size:13px}.kv .k{color:var(--muted);text-transform:uppercase;font-size:10.5px;letter-spacing:1px;align-self:center}.kv .v{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}table{width:100%;border-collapse:collapse;font-size:12.5px}th{text-align:left;color:var(--muted);font-weight:500;text-transform:uppercase;font-size:10px;letter-spacing:1px;padding:2px 10px 8px 0}td{padding:5px 10px 5px 0;border-top:1px solid var(--border);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.side-buy{color:var(--green);font-weight:600}.side-sell{color:var(--amber);font-weight:600}.journal{max-height:580px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jentry{border-left:2px solid var(--border);padding-left:12px}.jentry .jhead{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:1px}.jentry .jtext{color:var(--text);margin:3px 0;font-size:13px}.jentry .jaction{font-size:12px;color:var(--blue)}.jentry .jaction.rejected{color:var(--red)}.jentry .jevolve{font-size:12px;color:var(--amber)}.jentry .jself{font-size:12px;color:var(--muted);font-style:italic}.strategy-text{white-space:pre-wrap;font-size:12px;color:var(--text);max-height:320px;overflow-y:auto;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:12px}.versions{margin-top:12px;display:flex;flex-direction:column;gap:8px;max-height:180px;overflow-y:auto}.version{font-size:12px;cursor:pointer;line-height:1.4}.version:hover .vtag{color:#fff}.version .vtag{color:var(--amber);font-weight:600}.version .vrat{color:var(--muted)}.footer{border:1px solid var(--border);border-radius:6px;background:var(--panel);padding:10px 18px;color:var(--muted);font-size:12px;display:flex;gap:18px;flex-wrap:wrap}.footer .warn{color:var(--amber)}.x-btn{margin-left:auto;display:inline-flex;align-items:center;gap:7px;color:var(--text);text-decoration:none;border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-size:12px;flex-shrink:0}.x-btn:hover{border-color:var(--faint);color:#fff}.x-btn svg{display:block}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040609d1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal{width:620px;max-width:100%;max-height:90vh;overflow-y:auto;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 24px 80px #0009}.modal .m-head{padding:20px 24px 0}.modal .m-title{font-size:22px;font-weight:700;letter-spacing:3px;color:#fff}.modal .m-sub{color:var(--green);text-transform:uppercase;letter-spacing:2px;font-size:11.5px;font-weight:600;margin-top:4px}.modal .m-body{padding:16px 24px 8px;color:var(--text);font-size:13.5px}.modal .m-body p{margin:0 0 12px}.modal .m-list{display:flex;flex-direction:column;gap:10px;margin:16px 0}.modal .m-item{display:flex;gap:12px;align-items:baseline}.modal .m-item .n{color:var(--green);font-weight:600;flex-shrink:0}.modal .m-item .d{color:var(--muted)}.modal .m-item .d b{color:var(--text);font-weight:600}.modal .m-foot{padding:8px 24px 22px;display:flex;align-items:center;gap:14px}.modal .m-note{color:var(--faint);font-size:11.5px}.enter-btn{background:var(--green);color:#04140d;border:none;border-radius:5px;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:11px 22px;cursor:pointer;flex-shrink:0}.enter-btn:hover{filter:brightness(1.12)}@media (max-width: 640px){.modal-backdrop{padding:0;align-items:stretch;justify-content:flex-start;overflow:hidden}.modal{width:100vw;max-width:100vw;min-width:0;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;display:flex;flex-direction:column;overflow-x:hidden;word-break:break-word}.modal .m-head{padding:24px 20px 0}.modal .m-title{font-size:26px}.modal .m-body{flex:1;overflow-y:auto;padding:16px 20px 8px;font-size:14px}.modal .m-foot{flex-direction:column;align-items:stretch;gap:10px;padding:12px 20px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.modal .m-note{text-align:center}.enter-btn{width:100%;padding:15px;font-size:14px}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-track{background:transparent}
