/* TradePool Market Tools */
.tpt-launch{position:fixed;left:16px;bottom:96px;z-index:900;display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 12px;border:0;border-radius:999px;cursor:pointer;font:700 13px "IBM Plex Sans",Arial,sans-serif;color:#fff;background:#0b1f36;box-shadow:0 6px 18px rgba(11,31,54,.35),inset 0 0 0 1px rgba(0,208,132,.45)}
.tpt-launch svg{color:#3dffb8}
.tpt-launch:hover{background:#10294a}
.tpt-launch:focus-visible{outline:2px solid #00b3ff;outline-offset:3px}
.tpt-launch__dot{width:8px;height:8px;border-radius:50%;background:#00d084;box-shadow:0 0 0 0 rgba(0,208,132,.7);animation:tptPulse 1.8s infinite}
@keyframes tptPulse{70%{box-shadow:0 0 0 8px rgba(0,208,132,0)}100%{box-shadow:0 0 0 0 rgba(0,208,132,0)}}

.tpt-drawer{position:fixed;inset:0;z-index:9000;font-family:"IBM Plex Sans",Arial,sans-serif}
.tpt-scrim{position:absolute;inset:0;background:rgba(6,14,24,.45);opacity:0;transition:opacity .25s}
.tpt-panel{position:absolute;top:0;bottom:0;left:0;width:440px;max-width:100vw;display:flex;flex-direction:column;background:#f6f8fa;color:#1d2b38;box-shadow:12px 0 40px rgba(6,14,24,.35);transform:translateX(-102%);transition:transform .25s ease}
.tpt-drawer--open .tpt-scrim{opacity:1}
.tpt-drawer--open .tpt-panel{transform:none}
.tpt-head{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:18px 18px 22px;background:#0b1f36;color:#fff;overflow:hidden}
.tpt-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='10' viewBox='0 0 60 10'%3E%3Cpath d='M0 5 Q15 0 30 5 T60 5 V10 H0Z' fill='%2300b3ff' fill-opacity='.3'/%3E%3C/svg%3E") repeat-x 0 100%/60px 10px}
.tpt-head__title{font-size:20px;font-weight:800;letter-spacing:.04em}
.tpt-head__title b{background:linear-gradient(90deg,#00d084,#00b3ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.tpt-head__status{margin-top:4px;font-size:12px;color:#9fc4dc}
.tpt-head__status--live:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#00d084;vertical-align:1px}
.tpt-head__status--error{color:#ff9aa0}
.tpt-x{border:0;background:rgba(255,255,255,.1);color:#fff;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.tpt-x:hover{background:rgba(255,255,255,.2)}
.tpt-x:focus-visible,.tpt-tabs button:focus-visible,.tpt-btn:focus-visible,.tpt-sw:focus-visible,.tpt-chip:focus-visible,.tpt-del:focus-visible{outline:2px solid #00b3ff;outline-offset:2px}
.tpt-tabs{display:flex;gap:4px;padding:10px 12px 0;background:#fff;border-bottom:1px solid #e3e8ec}
.tpt-tabs button{flex:1;border:0;background:none;padding:10px 6px 12px;font:700 13px "IBM Plex Sans",Arial,sans-serif;color:#5b6b7a;cursor:pointer;border-bottom:3px solid transparent}
.tpt-tabs button.is-on{color:#0b1f36;border-image:linear-gradient(90deg,#00d084,#00b3ff) 1;border-bottom-width:3px;border-bottom-style:solid}
.tpt-body{flex:1;overflow-y:auto;padding:16px}
.tpt-lead{margin:0 0 14px;font-size:13px;line-height:1.5;color:#3e4f5f}
.tpt-fine{margin:14px 0 0;font-size:11.5px;color:#7b8a97}
.tpt-h{margin:20px 0 8px;font-size:14px;font-weight:700;color:#1d2b38}

/* meter */
.tpt-mkt{background:#fff;border:1px solid #e3e8ec;border-radius:12px;padding:12px 14px;margin-bottom:10px}
.tpt-mkt__top{display:flex;align-items:center;gap:10px}
.tpt-mkt__rank{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:#fff;background:#0b1f36}
.tpt-mkt__name{flex:1;font-weight:700;font-size:14px}
.tpt-calm{font-size:12px;padding:3px 9px;border-radius:999px;font-weight:600}
.tpt-calm b{font-size:14px}
.tpt-calm--good{color:#00784f;background:#e3f8ef}
.tpt-calm--mid{color:#8a5d00;background:#fff3d6}
.tpt-calm--low{color:#b4232c;background:#ffe6e8}
.tpt-bars{display:flex;align-items:flex-end;gap:4px;height:46px;margin:12px 0 4px}
.tpt-bar{position:relative;flex:1;height:var(--h);min-height:4px;border-radius:3px 3px 0 0;background:#c9d8e4}
.tpt-bar--hi{background:linear-gradient(180deg,#00d084,#00a86b)}
.tpt-bar--lo{background:linear-gradient(180deg,#ffb4b8,#ef5a63)}
.tpt-bar i{position:absolute;bottom:-17px;left:0;right:0;text-align:center;font-style:normal;font-size:10px;color:#7b8a97}
.tpt-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:22px 0 0}
.tpt-facts div{display:flex;flex-direction:column}
.tpt-facts dt{font-size:11px;color:#7b8a97}
.tpt-facts dd{margin:0;font-size:13px;font-weight:700}

/* alerts */
.tpt-form{display:grid;gap:10px;background:#fff;border:1px solid #e3e8ec;border-radius:12px;padding:14px}
.tpt-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#5b6b7a}
.tpt-form select,.tpt-form input[type=number],.tpt-field input{height:36px;padding:0 10px;border:1px solid #cfd8de;border-radius:8px;font:500 14px "IBM Plex Sans",Arial,sans-serif;color:#1d2b38;background:#fff}
.tpt-form select:focus,.tpt-form input:focus,.tpt-field input:focus{outline:2px solid #00b3ff;outline-offset:0;border-color:transparent}
.tpt-form__row{display:flex;gap:10px}
.tpt-form__row label{flex:1}
.tpt-form__row[hidden]{display:none}
.tpt-check{flex-direction:row!important;align-items:center;gap:8px!important;font-size:13px!important;color:#1d2b38!important;cursor:pointer}
.tpt-check input{width:16px;height:16px;accent-color:#00a86b}
.tpt-warn{margin:0;padding:10px 12px;border-radius:8px;background:#fff4e3;color:#7a4b00;font-size:12px;line-height:1.45}
.tpt-btn{height:40px;padding:0 18px;border:0;border-radius:10px;cursor:pointer;font:700 14px "IBM Plex Sans",Arial,sans-serif;color:#fff;background:linear-gradient(135deg,#00a86b,#0087c4)}
.tpt-btn:hover{filter:brightness(1.07)}
.tpt-btn--ghost{background:#fff;color:#0b1f36;box-shadow:inset 0 0 0 1px #cfd8de}
.tpt-rules,.tpt-log{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.tpt-rule{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e3e8ec;border-radius:10px;padding:10px}
.tpt-rule--off .tpt-rule__txt{color:#9aa7b2}
.tpt-rule__txt{flex:1;font-size:13px;font-weight:600;line-height:1.35}
.tpt-sw{position:relative;flex-shrink:0;width:36px;height:20px;border:0;border-radius:10px;background:#cfd8de;cursor:pointer;padding:0}
.tpt-sw span{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.tpt-sw.is-on{background:#00b37a}
.tpt-sw.is-on span{transform:translateX(16px)}
.tpt-chip{flex-shrink:0;border:1px solid #cfd8de;background:#fff;border-radius:999px;padding:4px 9px;font:600 11px "IBM Plex Sans",Arial,sans-serif;color:#5b6b7a;cursor:pointer}
.tpt-chip.is-on{border-color:#f0a019;background:#fff4e3;color:#8a5d00}
.tpt-del{flex-shrink:0;border:0;background:none;font-size:20px;line-height:1;color:#9aa7b2;cursor:pointer;width:26px;height:26px;border-radius:50%}
.tpt-del:hover{background:#ffe6e8;color:#b4232c}
.tpt-log li{display:flex;gap:10px;font-size:12.5px;line-height:1.4;background:#fff;border-radius:8px;padding:8px 10px;border:1px solid #edf1f4}
.tpt-log time{flex-shrink:0;color:#7b8a97;font-variant-numeric:tabular-nums}
.tpt-log em{font-style:normal;color:#00875a;font-weight:600}
.tpt-empty{font-size:13px;color:#7b8a97;padding:6px 2px}
.tpt-empty--big{background:#fff;border:1px dashed #cfd8de;border-radius:12px;padding:22px;text-align:center;line-height:1.5}
.tpt-empty--big .tpt-btn{margin-top:12px}

/* share */
.tpt-field{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#5b6b7a;margin-bottom:10px}
.tpt-card{margin:12px 0;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px rgba(11,31,54,.25);background:#0b1f36;aspect-ratio:1080/1350}
.tpt-card img{display:block;width:100%;height:auto}
.tpt-actions{display:flex;flex-wrap:wrap;gap:8px}

/* toasts */
.tpt-toasts{position:fixed;right:16px;top:76px;z-index:9500;display:grid;gap:8px;max-width:340px}
.tpt-toast{display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:#0b1f36;color:#fff;font:13px/1.4 "IBM Plex Sans",Arial,sans-serif;box-shadow:0 10px 28px rgba(6,14,24,.4),inset 3px 0 0 #00d084;animation:tptIn .3s ease both}
.tpt-toast strong{color:#3dffb8}
.tpt-toast--out{opacity:0;transform:translateY(8px);transition:all .35s}
@keyframes tptIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (max-width:600px){.tpt-launch{bottom:84px;left:10px;padding:8px 12px 8px 10px}.tpt-panel{width:100vw}.tpt-toasts{left:10px;right:10px;top:64px;max-width:none}}
@media (prefers-reduced-motion:reduce){.tpt-panel,.tpt-scrim,.tpt-sw span{transition:none}.tpt-launch__dot,.tpt-toast{animation:none}}
.tpt-mini{margin-top:12px;width:100%;height:34px;border:1px solid #bfe3d3;border-radius:8px;background:#effaf5;color:#00784f;font:700 12.5px "IBM Plex Sans",Arial,sans-serif;cursor:pointer}
.tpt-mini:hover{background:#e0f6ec}
.tpt-mini:focus-visible{outline:2px solid #00b3ff;outline-offset:2px}
.tpt-form label[hidden],.tpt-check[hidden]{display:none!important}
.tpt-ask{gap:6px;box-shadow:0 14px 34px rgba(6,14,24,.5),inset 3px 0 0 #f0a019}
.tpt-ask strong{color:#ffd166}
.tpt-ask__q{font-weight:700;font-size:14px;margin-top:2px}
.tpt-ask__btns{display:flex;gap:8px;margin-top:6px}
.tpt-ask__btns .tpt-btn{height:36px;padding:0 14px;font-size:13px}
.tpt-ask__btns .tpt-btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.tpt-ask__t{font-size:11.5px;color:#9fc4dc}
.tpt-h--row{display:flex;align-items:center;justify-content:space-between}
.tpt-h--row h4{margin:0;font-size:14px}
.tpt-pause{border:1px solid #f0c3c6;background:#fff;color:#b4232c;border-radius:999px;padding:5px 12px;font:700 12px "IBM Plex Sans",Arial,sans-serif;cursor:pointer}
.tpt-pause:hover{background:#ffe6e8}
.tpt-fine--top{margin:4px 0 10px}
