:root{--tg-bg: var(--tg-theme-bg-color, #ffffff);--tg-text: var(--tg-theme-text-color, #111111);--tg-hint: var(--tg-theme-hint-color, #888888);--tg-link: var(--tg-theme-link-color, #2481cc);--tg-button: var(--tg-theme-button-color, #2481cc);--tg-button-text: var(--tg-theme-button-text-color, #ffffff);--tg-secondary-bg: var(--tg-theme-secondary-bg-color, #f4f4f5);--radius: 12px;--gap: 12px;color-scheme:light dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}a{color:var(--tg-link);text-decoration:none}.container{max-width:640px;margin:0 auto;padding:16px;padding-bottom:calc(72px + env(safe-area-inset-bottom))}h1,h2,h3{margin:0 0 12px;font-weight:600}h1{font-size:20px}h2{font-size:17px}h3{font-size:15px}.card{background:var(--tg-secondary-bg);border-radius:var(--radius);padding:14px;margin-bottom:var(--gap)}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.muted{color:var(--tg-hint)}.glossary>summary{cursor:pointer;list-style:none;font-weight:600;color:var(--tg-text);padding:2px 0}.glossary>summary::-webkit-details-marker{display:none}.glossary>summary:before{content:"▸ ";color:var(--tg-hint);font-weight:400}.glossary[open]>summary:before{content:"▾ "}.glossary[open]>summary{margin-bottom:8px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--tg-button);color:var(--tg-button-text);font-size:12px;font-weight:600}.badge.long{background:#16a34a}.badge.short{background:#dc2626}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:var(--radius);border:none;cursor:pointer;background:var(--tg-button);color:var(--tg-button-text);font-size:15px;font-weight:600;width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--tg-secondary-bg);color:var(--tg-text)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:13px;color:var(--tg-hint)}.field input{width:100%;padding:10px 12px;border-radius:var(--radius);border:1px solid rgba(0,0,0,.08);background:var(--tg-bg);color:var(--tg-text);font-size:15px}.field-row{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.field-row input[type=checkbox]{width:auto;height:20px;width:20px;margin:0}.field-inline-label{font-size:14px;color:var(--tg-text)!important;flex:1}.hint-muted{margin:-6px 0 12px;font-size:12px;color:var(--tg-hint);line-height:1.4}.suggestions{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--tg-secondary-bg);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);max-height:280px;overflow-y:auto;z-index:20;box-shadow:0 4px 12px #00000014}.suggestion{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;background:transparent;border:none;color:var(--tg-text);font-size:14px;text-align:left;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.04)}.suggestion:last-child{border-bottom:none}.suggestion:hover:not(:disabled),.suggestion:focus:not(:disabled){background:#0000000a}.suggestion:disabled{opacity:.5;cursor:not-allowed}.coin-icon,.coin-icon-fallback{display:inline-block;border-radius:50%;vertical-align:middle;flex-shrink:0}.coin-icon{object-fit:cover;background:#0000000a}.coin-icon-fallback{display:inline-flex;align-items:center;justify-content:center;background:#0000000f;line-height:1}.suggestion .coin-line,.list-item .coin-line{display:flex;align-items:center;gap:10px}.tab-bar{position:fixed;bottom:0;left:0;right:0;background:var(--tg-secondary-bg);display:flex;justify-content:space-around;padding:6px 0 calc(6px + env(safe-area-inset-bottom));border-top:1px solid rgba(0,0,0,.05);z-index:10}.tab-bar a{flex:1;text-align:center;padding:8px 4px;font-size:12px;color:var(--tg-hint)}.tab-bar a.active{color:var(--tg-text);font-weight:600}.error{color:#dc2626}.list-item{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--tg-secondary-bg);border-radius:var(--radius);margin-bottom:8px}.list-item .headline{display:flex;justify-content:space-between;align-items:center}.symbol{font-weight:700;font-size:16px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat-value{font-size:22px;font-weight:700}.row.between{justify-content:space-between;margin-bottom:12px}.btn.small{width:auto;min-height:36px;padding:0 12px;font-size:13px}.auth-error{padding:24px 16px;display:flex;flex-direction:column;gap:12px;text-align:center}.new-signal{display:flex;flex-direction:column;gap:14px;padding:8px 0}.new-signal label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--tg-hint)}.new-signal input,.new-signal select{width:100%;padding:10px 12px;border-radius:var(--radius);border:1px solid rgba(0,0,0,.08);background:var(--tg-bg);color:var(--tg-text);font-size:15px}.badge-conf{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:700;color:#fff}.conf-bars{font-size:10px;letter-spacing:1px;opacity:.9}.badge-conf-high{background:#16a34a}.badge-conf-mid{background:#d97706}.badge-conf-low{background:#dc2626}.badge-conf.muted{background:#0000001a;color:var(--tg-hint)}.badge-outcome{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;color:#fff;letter-spacing:.3px}.badge-outcome-win{background:#16a34a}.badge-outcome-loss{background:#dc2626}.badge-outcome-breakeven{background:#6b7280}.badge-outcome-cancelled{background:#00000026;color:var(--tg-hint)}.badge-outcome-open{background:var(--tg-button)}.pnl-pos{color:#16a34a;font-weight:600}.pnl-neg{color:#dc2626;font-weight:600}.badge-src{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#0000000f}.badge-src-ai{background:#6366f12e;color:#6366f1}.badge-src-ta{background:#6b72802e;color:#6b7280}.price-copy{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;border:1px dashed rgba(0,0,0,.15);background:transparent;color:var(--tg-text);font:inherit;font-feature-settings:"tnum";cursor:pointer}.price-copy:hover,.price-copy:focus-visible{background:#0000000a}.price-copy:active{transform:scale(.97)}.price-copy-icon{font-size:12px;color:var(--tg-hint)}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:24px 16px}.empty-icon{font-size:32px;line-height:1;margin-bottom:4px}.spinner{display:inline-block;width:22px;height:22px;border:2px solid rgba(127,127,127,.2);border-top-color:var(--tg-button);border-radius:50%;animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;gap:10px;padding:16px;color:var(--tg-hint)}.loading-label{font-size:14px}.error-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:#dc262614;border:1px solid rgba(220,38,38,.25);border-radius:var(--radius);margin-bottom:var(--gap)}.error-icon{font-size:22px;line-height:1}.error-title{font-weight:600;margin-bottom:2px}.skeleton-card{background:var(--tg-secondary-bg);border-radius:var(--radius);padding:14px;margin-bottom:8px;display:flex;flex-direction:column;gap:8px;animation:card-in .22s ease-out both}.skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#7f7f7f1f,#7f7f7f38,#7f7f7f1f);background-size:200% 100%;animation:shimmer 1.2s linear infinite}.skeleton-line-50{width:50%}.skeleton-line-70{width:70%}.skeleton-line-90{width:90%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.boot-screen{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px 16px;animation:card-in .3s ease-out both}.boot-logo{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#0ea5e9,#6366f1);display:flex;align-items:center;justify-content:center;font-size:36px;box-shadow:0 10px 40px #0ea5e966;animation:logo-pulse 1.4s ease-in-out infinite;margin-bottom:8px}.boot-logo-err{background:linear-gradient(135deg,#ef4444,#f97316);box-shadow:0 10px 40px #ef444459;animation:none}.boot-title{font-size:18px;font-weight:700}.boot-sub{font-size:14px}.boot-hint{font-size:13px;max-width:360px;margin-bottom:10px}@keyframes logo-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.list-item{animation:card-in .22s ease-out both}.list-item:nth-child(2){animation-delay:.02s}.list-item:nth-child(3){animation-delay:.04s}.list-item:nth-child(4){animation-delay:.06s}.list-item:nth-child(5){animation-delay:.08s}.list-item:nth-child(n+6){animation-delay:.1s}.list-item{transition:transform .1s ease-out}.list-item:active{transform:scale(.98)}.toast-stack{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:6px;z-index:50;pointer-events:none}.toast{padding:10px 14px;border-radius:999px;background:#111111eb;color:#fff;font-size:13px;font-weight:500;box-shadow:0 6px 20px #0003;animation:toast-in .16s ease-out;max-width:86vw;text-align:center}.toast-err{background:#dc2626f2}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
