:root{--bg: #0a0e17;--card: #121a27;--border: #1e2a3d;--text: #e8edf4;--muted: #8b9cb3;--green: #22c55e;--red: #ef4444;--blue: #3b82f6;--gold: #f59e0b;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--wallet-footer-h: 54px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{display:flex;flex-direction:column;max-width:480px;margin:0 auto;height:100dvh;height:100vh;overflow:hidden;padding:0}.app-pinned{flex-shrink:0;padding:calc(12px + var(--safe-top)) 14px 0}.app-scroll{flex:1 1 0;min-height:120px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:0 14px 20px;touch-action:pan-y}.app.offline{height:auto;overflow:visible;padding:calc(2rem + var(--safe-top)) 14px 2rem;text-align:center}.hint{color:var(--muted);font-size:.9rem}.top{margin-bottom:12px}.price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px}.price-block{position:relative;flex:1;min-width:0;display:flex;align-items:center;gap:8px}.price-main{font-size:2rem;font-weight:700;letter-spacing:-.02em;transition:color .25s;line-height:1.1;min-width:0}.warning-badge{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;margin:0;border:none;background:transparent;color:#facc15;filter:drop-shadow(0 0 8px rgba(250,204,21,.45));cursor:pointer;-webkit-tap-highlight-color:transparent}.warning-badge:active{transform:scale(.94)}.warning-badge--limit{color:#ef4444;filter:drop-shadow(0 0 10px rgba(239,68,68,.55))}.warning-badge svg{display:block}.status-col{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:4px;flex-shrink:0}.status-dots-row{display:flex;align-items:center;gap:6px}.push-notify-wrap{margin:6px 0 4px}.top-action-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 4px}.push-notify-wrap.compact{margin:0}.push-notify-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:#1e2a3d99;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.03em;cursor:pointer;-webkit-tap-highlight-color:transparent}.push-notify-btn.on{border-color:#facc1573;color:#facc15;background:#facc1514}.push-notify-btn:disabled{opacity:.55;cursor:not-allowed}.push-notify-icon{font-size:1rem;line-height:1}.push-notify-hint{margin:4px 0 0;font-size:.65rem;color:var(--gold);text-align:center;line-height:1.35}.sub-btn{width:100%;touch-action:manipulation;user-select:none;-webkit-user-select:none}.sub-btn.expiring{border-color:#ef444473;color:#f87171;background:#ef44441f}.sub-btn.off{border-color:#ef444480;color:#fca5a5;background:#ef444426}.sub-btn.blink{animation:sub-blink 1s ease-in-out infinite}@keyframes sub-blink{0%,to{opacity:1}50%{opacity:.45}}.sub-sheet{max-height:min(84vh,640px);overflow-y:auto}.sub-price{margin:0 0 10px;font-size:1.1rem;font-weight:800;color:var(--gold);text-align:center}.sub-coin-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.sub-coin{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:10px;font-weight:700}.sub-coin.active{border-color:#f59e0b8c;background:#f59e0b1f;color:var(--gold)}.sub-address-box{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:10px;margin-bottom:8px;cursor:pointer}.sub-address-box code{display:block;font-size:.7rem;color:var(--gold);word-break:break-all;text-align:center}.sub-copy-btn{width:100%;margin:0 0 10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:#1e2a3d99;color:var(--text);font-size:.78rem;font-weight:700}.sub-network{margin-left:6px;color:var(--muted);font-size:.7rem;font-weight:500}.sub-network-emph{color:#facc15;font-weight:700}.sub-status-card{margin:0 0 10px;border:1px solid rgba(34,197,94,.45);background:#22c55e1a;border-radius:10px;padding:10px;text-align:center}.sub-status-title{font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#86efac}.sub-status-end{margin-top:4px;font-size:.8rem;color:var(--text);font-weight:600}.sub-status-days{margin-top:4px;font-size:.78rem;color:#facc15;font-weight:800}.sub-approved-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100020;background:#0009;display:flex;align-items:center;justify-content:center;padding:1rem}.sub-approved-card{width:100%;max-width:320px;background:var(--card);border:1px solid rgba(34,197,94,.4);border-radius:14px;padding:20px 16px;text-align:center;animation:wizardFadeIn .35s ease}.sub-approved-check{width:62px;height:62px;border-radius:50%;background:#22c55e29;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;margin:0 auto 10px}.sub-approved-card h3{margin:0 0 6px;font-size:1.05rem}.sub-approved-card p{margin:0;color:var(--muted);font-size:.84rem}.sub-file-input{width:100%;box-sizing:border-box;margin-bottom:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.82rem}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--red)}.status-dot.on{background:var(--green);box-shadow:0 0 10px var(--green)}.state-health-mini{width:10px;height:10px;border-radius:50%;background:var(--muted)}.state-health-mini.ok{background:var(--green);box-shadow:0 0 8px #22c55e8c}.state-health-mini.warn{background:#f59e0b;box-shadow:0 0 8px #f59e0b80}.badge{font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.badge-live{color:#c084fc}.badge-virt.off{color:var(--green)}.badge-virt.on{color:var(--gold)}.badge-warn{color:var(--muted);font-weight:500}.price-main.up{color:var(--green)}.price-main.down{color:var(--red)}.price-main.flat{color:var(--text)}.pnl-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:4px;margin-top:14px}.pnl-cell{display:flex;flex-direction:column;gap:2px}.pnl-left{align-items:flex-start;text-align:left}.pnl-center{align-items:center;text-align:center}.pnl-right{align-items:flex-end;text-align:right}.pnl-row .lbl{font-size:.65rem;color:var(--muted);text-transform:uppercase}.pnl-row .up{color:var(--green);font-weight:600;font-size:.95rem}.pnl-row .down{color:var(--red);font-weight:600;font-size:.95rem}.stats-val{font-weight:600;font-size:.95rem}.stats-wins,.stats-sep,.stats-losses{color:var(--text)}.stats-wins.has-win{color:var(--green)}.stats-losses.has-loss{color:var(--red)}.chart-section{border-radius:14px;overflow:hidden;border:1px solid var(--border);margin-bottom:12px}.chart-wrap{width:100%;height:220px}.signals-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.strategy-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 10px 12px;min-height:84px;display:flex;flex-direction:column;align-items:stretch;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.strategy-card *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.strategy-card.s1{border-top:2px solid rgba(245,158,11,.55)}.strategy-card.s2{border-top:2px solid rgba(239,68,68,.45)}.strategy-card.is-clickable{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.strategy-card.is-disabled{opacity:.42;cursor:not-allowed;pointer-events:none;filter:grayscale(.35)}.strategy-card.is-disabled .strategy-signal.hold-blink,.strategy-card.is-disabled .strategy-paused-label{animation:none;opacity:.85}.strategy-card.is-paused{justify-content:center}.strategy-paused-overlay{flex:1;display:flex;align-items:center;justify-content:center;min-height:52px}.strategy-paused-label{font-size:.85rem;font-weight:800;letter-spacing:.06em;color:#d97706;animation:hold-blink 1.1s ease-in-out infinite}.strategy-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.strategy-id{font-size:.75rem;font-weight:800;color:var(--muted)}.strategy-signal{font-size:.8rem;font-weight:800;letter-spacing:.03em}.strategy-signal.sig-hold{color:#d97706}.strategy-signal.hold-blink{animation:hold-blink 1.1s ease-in-out infinite}@keyframes hold-blink{0%,to{opacity:1;text-shadow:0 0 0 transparent}50%{opacity:.35;text-shadow:0 0 10px rgba(217,119,6,.65)}}.strategy-signal.sig-osta,.strategy-signal.sig-buy{color:var(--green)}.strategy-signal.sig-myy,.strategy-signal.sig-sell{color:var(--red)}.score-lights{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:8px;min-height:32px}.score-lights .light{width:12px;height:12px;border-radius:50%;flex-shrink:0}.score-lights .light.on{background:var(--green);box-shadow:0 0 6px #22c55e8c}.score-lights .light.off{background:transparent;border:2px solid var(--red);opacity:.85}.trades{margin-top:0}.empty-trades{position:relative;text-align:center;padding:18px 16px 12px;margin:0 0 10px;background:linear-gradient(165deg,rgba(30,42,61,.55) 0%,var(--card) 48%);border:1px dashed var(--border);border-radius:16px;overflow:hidden}.empty-trades-glow{position:absolute;top:-40px;left:50%;transform:translate(-50%);width:200px;height:120px;background:radial-gradient(ellipse,rgba(59,130,246,.12) 0%,transparent 70%);pointer-events:none}.empty-trades-icon{position:relative;z-index:1;width:64px;height:64px;margin:0 auto 10px;color:var(--muted);display:flex;align-items:center;justify-content:center;background:#0a0e1799;border-radius:20px;border:1px solid var(--border)}.empty-trades-icon svg{width:48px;height:48px}.empty-trades-title{position:relative;z-index:1;margin:0 0 10px;font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:.01em}.empty-trades-pills{position:relative;z-index:1;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0;padding-bottom:0}.empty-pill{font-size:.72rem;font-weight:800;letter-spacing:.04em;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:#0a0e1780}.empty-pill.pill-osta,.empty-pill.pill-buy{color:var(--green);border-color:#22c55e59;box-shadow:0 0 12px #22c55e1f}.empty-pill.pill-myy,.empty-pill.pill-sell{color:var(--red);border-color:#ef444459;box-shadow:0 0 12px #ef44441f}.empty-pill.pill-hold{color:#d97706;border-color:#d9770659}.empty-pill.hold-blink{animation:hold-blink 1.1s ease-in-out infinite}.empty-trades-lock{position:relative;z-index:1;font-size:.72rem;color:var(--gold);max-width:300px;margin:10px auto 0;line-height:1.4}.trade-card{position:relative;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;margin-bottom:10px;cursor:pointer;transition:border-color .2s,box-shadow .2s;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;touch-action:manipulation}.trade-card *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}.trade-card::selection,.trade-card *::selection{background:transparent;color:inherit}.trade-card-longpress,.strategy-card-longpress{touch-action:none}.trade-card.long{border-left:3px solid var(--green)}.trade-card.short{border-left:3px solid var(--red)}.trade-card.selected{border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.trade-card.tp-near{animation:pulse-border 1.2s ease-in-out infinite}@keyframes pulse-border{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 12px 2px #22c55e8c}}.trade-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}.trade-label{font-weight:700;font-size:.95rem}.trade-pnl{font-size:.85rem;font-weight:600}.trade-pnl.up{color:var(--green)}.trade-pnl.down{color:var(--red)}.trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trade-grid .lbl{display:block;font-size:.62rem;color:var(--muted);text-transform:uppercase}.trade-grid .val{font-size:.88rem;font-weight:600}.trade-grid .val.live{transition:color .25s}.trade-grid .val.live-up{color:var(--green)}.trade-grid .val.live-down{color:var(--red)}.trade-grid .val.live-flat{color:var(--text)}.trade-grid .val.tp{color:var(--green)}.trade-grid .tp-blink .val.tp{animation:blink .9s step-end infinite}@keyframes blink{50%{opacity:.35}}.trade-grid .val.sl{color:var(--gold)}.progress{height:4px;background:#1a2332;border-radius:4px;margin:10px 0 8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--blue),var(--green));border-radius:4px;transition:width .4s ease}.trade-foot{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:22px;font-size:.7rem;color:var(--muted)}.trade-foot-qty{flex:0 1 auto;max-width:38%;white-space:nowrap;z-index:1}.trade-foot-lights.score-lights{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);flex:none;margin:0;min-height:0;width:max-content}.trade-foot .id{flex:0 1 auto;max-width:38%;text-align:right;font-family:ui-monospace,monospace;font-size:.65rem;z-index:1}.score-lights-sm{gap:5px;justify-content:center}.score-lights-sm .light{width:9px;height:9px}.score-lights-sm .light.off{border-width:1.5px}.wallet-footer{flex-shrink:0;max-width:480px;width:100%;margin:0 auto;padding:0 10px calc(6px + var(--safe-bottom))}.wallet-footer-inner{background:var(--card);border:1px solid var(--border);border-radius:12px 12px 14px 14px;padding:6px 4px 4px;box-shadow:0 -4px 20px #00000040}.wallet-footer-toggle{display:block;width:100%;margin:0;font:inherit;color:inherit;text-align:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.wallet-footer-toggle:focus-visible{outline:2px solid rgba(59,130,246,.55);outline-offset:2px}.wallet-footer-longpress{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.risk-config-sheet{max-height:min(88vh,640px);overflow-y:auto}.invite-code-box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;margin-bottom:14px;border-radius:12px;border:1px solid rgba(245,158,11,.4);background:#f59e0b14;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.invite-code-box:active{background:#f59e0b26}.invite-code-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}.invite-code-value{font-size:1.5rem;font-weight:800;font-family:ui-monospace,monospace;letter-spacing:.18em;color:var(--gold);text-shadow:0 0 12px rgba(245,158,11,.3)}.invite-code-hint{font-size:.6rem;color:var(--muted);transition:color .15s}.invite-code-box:active .invite-code-hint{color:var(--gold)}.risk-toggle-section{margin-bottom:14px;padding:12px;border-radius:10px;background:#ffffff08;border:1px solid var(--border)}.risk-toggle-row{display:flex;align-items:center;justify-content:space-between}.risk-toggle-label{font-size:.82rem;font-weight:700;color:var(--text);display:block;margin-bottom:8px}.risk-toggle-row .risk-toggle-label{margin-bottom:0}.risk-toggle-hint{display:block;font-size:.65rem;color:var(--muted);margin-top:8px;line-height:1.3}.mode-switch{position:relative;display:flex;background:var(--bg);border-radius:10px;padding:3px;cursor:pointer;border:1px solid var(--border);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.mode-option{position:relative;z-index:1;flex:1;text-align:center;padding:6px 16px;font-size:.78rem;font-weight:700;color:var(--muted);transition:color .2s;white-space:nowrap}.mode-option.active{color:#0a0e17}.mode-slider{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);border-radius:8px;transition:transform .25s cubic-bezier(.4,0,.2,1),background .25s}.mode-switch.virtual .mode-slider{transform:translate(0);background:var(--blue)}.mode-switch.live .mode-slider{transform:translate(100%);background:var(--green)}.sl-switch{position:relative;width:44px;height:24px;border-radius:12px;cursor:pointer;transition:background .25s;flex-shrink:0;-webkit-tap-highlight-color:transparent}.sl-switch.off{background:#ffffff1f}.sl-switch.on{background:var(--green)}.sl-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .25s cubic-bezier(.4,0,.2,1)}.sl-switch.on .sl-thumb{transform:translate(20px)}.sl-mult-row{display:flex;align-items:center;gap:10px;margin-top:10px}.sl-mult-row .tp-sheet-label{font-size:.75rem;white-space:nowrap;margin:0;flex-shrink:0}.sl-input{max-width:80px}.risk-config-fields{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}.risk-config-field .tp-sheet-label{margin-bottom:2px}.risk-config-key{display:block;font-size:.62rem;color:var(--muted);margin-bottom:4px;font-family:ui-monospace,monospace}.wallet-coin.stats-label{font-size:.52rem;letter-spacing:.02em;text-transform:none;color:var(--muted)}.wallet-amt.up{color:var(--green)}.wallet-amt.down{color:var(--red)}.wallet-amt.fee{color:var(--muted)}.wallet-cols{display:flex;align-items:stretch;width:100%}.wallet-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 6px;text-align:center;border-right:1px solid var(--border)}.wallet-item:last-child{border-right:none}.wallet-coin,.wallet-amt{display:block;width:100%;text-align:center}.wallet-coin{font-size:.58rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;line-height:1.2}.wallet-coin.usdt{color:#26a17b}.wallet-coin.usdc{color:#2775ca}.wallet-coin.btc{color:#f7931a}.wallet-amt{font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";color:var(--text);line-height:1.2;letter-spacing:0}.wallet-amt.dim{color:var(--muted);opacity:.6}.wallet-updated{text-align:center;font-size:.58rem;color:var(--muted);margin-top:2px;font-variant-numeric:tabular-nums;opacity:.85}.wallet-err{text-align:center;font-size:.58rem;color:var(--gold);margin-top:2px}.splash-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99998;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);padding:calc(24px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));transition:opacity .45s ease,visibility .45s ease}.splash-screen.splash-out{opacity:0;visibility:hidden;pointer-events:none}.splash-logo{width:min(72vw,220px);height:auto;object-fit:contain;position:relative;z-index:1}.splash-bar{margin-top:32px;width:128px;height:3px;background:var(--border);border-radius:3px;overflow:hidden;z-index:1}.splash-bar-fill{display:block;height:100%;width:42%;background:linear-gradient(90deg,#f7931a,#fc6);border-radius:3px;animation:splash-bar-slide 1.15s ease-in-out infinite}@keyframes splash-bar-slide{0%{transform:translate(-110%)}to{transform:translate(340%)}}.connection-problem-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99990;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:env(safe-area-inset-top) 12px env(safe-area-inset-bottom)}.connection-problem-screen img{width:min(92vw,400px);height:auto;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.warning-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100011;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px 16px calc(20px + var(--safe-bottom))}.warning-sheet{width:100%;max-width:400px;max-height:min(70vh,520px);display:flex;flex-direction:column;background:var(--card);border:1px solid rgba(250,204,21,.35);border-radius:16px;box-shadow:0 12px 40px #00000073;overflow:hidden}.warning-sheet-head{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.warning-sheet-icon{color:#facc15;display:flex}.warning-sheet-title{margin:0;font-size:1rem;font-weight:700;color:#facc15;letter-spacing:.03em}.warning-sheet-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 16px;text-align:center}.warning-sheet-line{margin:0 0 12px;font-size:.82rem;line-height:1.45;color:#fecaca;word-break:break-word;text-align:center}.warning-sheet-line:last-child{margin-bottom:0}.warning-sheet-close{flex-shrink:0;display:block;width:100%;margin:0;padding:12px 16px;border:none;border-top:1px solid var(--border);background:#facc1514;color:var(--text);font-size:.88rem;font-weight:600;text-align:center;line-height:1.2;cursor:pointer}.warning-sheet-close:active{background:#facc1526}.warning-sheet--limit{border-color:#ef444473;box-shadow:0 12px 40px #ef44441f}.warning-sheet--limit .warning-sheet-icon,.warning-sheet--limit .warning-sheet-title{color:#ef4444}.warning-sheet--limit .warning-sheet-line{color:#fca5a5}.warning-sheet--limit .warning-sheet-close{background:#ef44441a}.warning-sheet--limit .warning-sheet-close:active{background:#ef44442e}.tp-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100010;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;padding:0 12px calc(12px + var(--safe-bottom))}.tp-sheet{width:100%;max-width:400px;background:var(--card);border:1px solid var(--border);border-radius:16px 16px 14px 14px;padding:16px 16px 14px;box-shadow:0 -8px 32px #00000073}.tp-sheet-title{margin:0 0 6px;font-size:1rem;font-weight:700;color:var(--text)}.tp-sheet-hint{margin:0 0 14px;font-size:.72rem;color:var(--muted);line-height:1.35}.tp-sheet-hint code{font-size:.68rem;color:var(--gold)}.tp-sheet-label{display:block;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px}.tp-sheet-input{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:1.1rem;font-weight:600;text-align:center}.tp-sheet-input:focus{outline:2px solid rgba(245,158,11,.45);border-color:#f59e0b8c}.tp-sheet-err{margin:8px 0 0;font-size:.75rem;color:var(--red)}.tp-sheet-actions{display:flex;gap:10px;margin-top:16px}.tp-sheet-btn{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--border);font-size:.9rem;font-weight:700;cursor:pointer}.tp-sheet-btn.ghost{background:transparent;color:var(--muted)}.tp-sheet-btn.primary{background:linear-gradient(180deg,#f7931a,#e67e00);border-color:#f7931a80;color:#0a0e17}.tp-sheet-btn:disabled{opacity:.6;cursor:not-allowed}.close-track-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100012;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:20px 16px calc(20px + var(--safe-bottom))}.close-track-sheet{width:100%;max-width:400px;background:var(--card);border:1px solid rgba(239,68,68,.35);border-radius:16px;padding:16px 16px 12px;box-shadow:0 12px 40px #00000073}.close-track-title{margin:0 0 10px;font-size:1.05rem;font-weight:700;color:#fca5a5;text-align:center}.close-track-text{margin:0 0 8px;font-size:.88rem;line-height:1.4;text-align:center;color:var(--text)}.close-track-meta{margin:0 0 8px;font-size:.75rem;text-align:center;color:var(--muted)}.close-track-id{font-family:ui-monospace,monospace}.close-track-note{margin:0 0 10px;font-size:.68rem;line-height:1.35;text-align:center;color:var(--muted)}.close-track-err{margin:0 0 8px;font-size:.75rem;color:var(--red);text-align:center}.close-track-actions{display:flex;gap:10px;margin-top:4px}.close-track-btn{flex:1;padding:12px 10px;border-radius:10px;border:1px solid var(--border);font-size:.88rem;font-weight:700;cursor:pointer}.close-track-btn.ghost{background:transparent;color:var(--muted)}.close-track-btn.danger{background:#ef444426;border-color:#ef444473;color:#fca5a5}.close-track-btn:disabled{opacity:.55;cursor:not-allowed}.portrait-lock{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));background:var(--bg);color:var(--text);text-align:center}.portrait-lock-inner{display:flex;flex-direction:column;align-items:center;gap:16px}.portrait-lock-icon{display:inline-block;font-size:3rem;line-height:1;color:var(--gold);transform:rotate(90deg);animation:portrait-lock-wiggle 1.4s ease-in-out infinite}.portrait-lock p{margin:0;font-size:1.05rem;font-weight:700;color:var(--muted)}@keyframes portrait-lock-wiggle{0%,to{transform:rotate(75deg)}50%{transform:rotate(105deg)}}@media screen and (orientation: landscape) and (max-height: 500px){.portrait-lock{display:flex}#root{display:none!important}}.login-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--bg);z-index:2000;padding:1rem}.login-card{width:100%;max-width:360px;background:var(--card-bg);border-radius:16px;padding:2rem 1.5rem;text-align:center;box-shadow:0 4px 24px #0006}.login-logo{width:min(72vw,220px);height:auto;object-fit:contain;position:relative;z-index:1;margin-bottom:1rem;border-radius:16px}.login-title{font-size:1.25rem;font-weight:700;color:var(--fg);margin:0 0 1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-field{display:flex;flex-direction:column;gap:.3rem;text-align:left}.login-field span{font-size:.8rem;color:var(--muted);font-weight:600}.login-field input{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem;font-size:1rem;color:var(--fg);outline:none;transition:border-color .2s}.login-field input:focus{border-color:var(--accent)}.login-hint{color:var(--text-muted, #8b95a8);font-size:.8rem;line-height:1.4;margin:-.25rem 0 .5rem}.login-hint strong{color:var(--text, #e8eaed);font-weight:600}.login-error{color:var(--red);font-size:.85rem;margin:0}.login-btn{border:none;border-radius:12px;padding:.85rem 1rem;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s,box-shadow .2s;margin-top:.5rem;letter-spacing:.02em;text-transform:uppercase}.login-btn-primary{background:linear-gradient(180deg,#f7931a,#e67e00);color:#0a0e17;box-shadow:0 4px 16px #f7931a59}.login-btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:0 2px 8px #f7931a40}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-switch{margin-top:1.5rem;font-size:.85rem;color:var(--muted)}.login-switch-btn{background:none;border:1px solid var(--border);color:var(--text);font-weight:700;cursor:pointer;font-size:.82rem;padding:6px 16px;border-radius:8px;margin-left:6px;transition:background .15s,border-color .15s;vertical-align:middle}.login-switch-btn:hover{background:#ffffff0f;border-color:var(--gold);color:var(--gold)}.badge-logout{background:#ffffff14!important;border:none;cursor:pointer;font-size:.7rem;padding:2px 5px;border-radius:4px;color:var(--muted);transition:color .2s}.badge-logout:hover{color:var(--red)}.maintenance-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);text-align:center;padding:2rem;gap:1rem;z-index:9999}.maintenance-icon{font-size:4rem;animation:spin-wrench 3s ease-in-out infinite}@keyframes spin-wrench{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}75%{transform:rotate(-10deg)}}.maintenance-title{font-size:1.6rem;font-weight:800;color:var(--gold);margin:0;letter-spacing:.03em}.maintenance-text{color:var(--muted);font-size:.95rem;line-height:1.5;max-width:320px;margin:0}.connecting-screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg);text-align:center;padding:2rem;gap:.9rem;z-index:9998}.connecting-icon{font-size:3.2rem;animation:connecting-pulse 1.6s ease-in-out infinite}@keyframes connecting-pulse{0%,to{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.connecting-title{margin:0;font-size:1.35rem;font-weight:800;color:var(--text);letter-spacing:.02em}.connecting-text{margin:0;color:var(--muted);font-size:.9rem}.wizard-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1.5rem}.wizard-card{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;gap:.75rem}.wizard-logo{width:min(72vw,220px);height:auto;object-fit:contain;position:relative;z-index:1;border-radius:16px;margin-bottom:.25rem}.wizard-progress-bar{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.wizard-progress-fill{height:100%;background:var(--gold);border-radius:2px;transition:width .4s ease}.wizard-step-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.wizard-step{width:100%;display:flex;flex-direction:column;gap:.75rem}.wizard-title{font-size:1.25rem;font-weight:700;color:var(--text);margin:0;text-align:center}.wizard-hint{font-size:.82rem;color:var(--muted);text-align:center;margin:0;line-height:1.4}.wizard-exchange-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.wizard-exchange-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem .5rem;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s;color:var(--text)}.wizard-exchange-btn:hover{border-color:var(--muted)}.wizard-exchange-btn.active{border-color:var(--gold);background:#f59e0b14}.wizard-exchange-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center}.wizard-exchange-name{font-size:.9rem;font-weight:600}.wizard-symbol-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.wizard-symbol-btn{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.1rem .5rem;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s;color:var(--text)}.wizard-symbol-btn:hover{border-color:var(--muted)}.wizard-symbol-btn.active{border-color:var(--gold);background:#f59e0b14}.wizard-symbol-name{font-size:1rem;font-weight:700;letter-spacing:.03em}.wizard-symbol-hint{font-size:.72rem;color:var(--muted)}.wizard-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.5rem}.wizard-mode-btn{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1.1rem .6rem;background:var(--card);border:2px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color .2s,background .2s;color:var(--text);text-align:center}.wizard-mode-btn:hover{border-color:var(--muted)}.wizard-mode-btn.active{border-color:var(--gold);background:#f59e0b14}.wizard-mode-icon{font-size:1.5rem}.wizard-mode-name{font-size:.95rem;font-weight:700}.wizard-mode-hint{font-size:.68rem;color:var(--muted);line-height:1.35}.wizard-field{display:flex;flex-direction:column;gap:.3rem}.wizard-field span{font-size:.78rem;color:var(--muted);font-weight:500}.wizard-field input{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;font-size:.9rem;color:var(--text);outline:none;transition:border-color .2s;font-family:inherit}.wizard-field input:focus{border-color:var(--gold)}.wizard-field.compact{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem}.wizard-field.compact span{flex:1;min-width:0}.wizard-field.compact input{width:90px;text-align:right;flex-shrink:0}.wizard-risk-fields{display:flex;flex-direction:column;gap:.5rem}.wizard-error{color:var(--red);font-size:.82rem;text-align:center;margin:0;padding:.4rem;background:#ef44441a;border-radius:6px}.wizard-actions{display:flex;justify-content:center;gap:.75rem;margin-top:.5rem}.wizard-actions.two{justify-content:space-between}.wizard-btn{padding:.65rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:opacity .2s,transform .1s;font-family:inherit}.wizard-btn:active{transform:scale(.97)}.wizard-btn:disabled{opacity:.5;pointer-events:none}.wizard-btn.primary{background:var(--gold);color:#000;min-width:140px}.wizard-btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.wizard-success{display:flex;flex-direction:column;align-items:center;gap:1rem;animation:wizardFadeIn .6s ease}.wizard-success-check{width:80px;height:80px;border-radius:50%;background:#22c55e26;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;animation:wizardPop .5s cubic-bezier(.175,.885,.32,1.275)}.wizard-success h2{font-size:1.4rem;font-weight:700;color:var(--text);margin:0}.wizard-success p{color:var(--muted);font-size:.9rem;margin:0}@keyframes wizardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes wizardPop{0%{transform:scale(0)}80%{transform:scale(1.1)}to{transform:scale(1)}}
