:root{--bg-primary:#0a0a0a;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--text-muted:#999;--green:#00c853;--red:#ff1744;--yellow:#ffd600;--border:#222}*{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:24px;height:100%;overflow:hidden;width:100%}.tv-container{display:flex;flex-direction:column;height:100vh;padding:20px 30px;width:100%}.price-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding-bottom:15px}.pair-info{align-items:baseline;display:flex;gap:16px}.pair-name{font-size:48px;font-weight:700;letter-spacing:-1px}.timeframe-badge{background:var(--bg-tertiary);border-radius:4px;color:var(--text-secondary);font-size:20px;padding:4px 12px}.price-info{align-items:baseline;display:flex;gap:20px}.price-current{font-size:64px;font-variant-numeric:tabular-nums;font-weight:700}.price-change{font-size:32px;font-weight:600}.positive{color:var(--green)}.negative{color:var(--red)}.chart-container{align-items:center;display:flex;flex:1;justify-content:center;padding:20px 0}.chart{height:100%;max-height:70vh;width:100%}.bottom-bar{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:15px 0}.timeframe-selector{display:flex;gap:8px}.timeframe-option{background:var(--bg-secondary);border:none;border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:22px;font-weight:500;padding:8px 20px;transition:all .15s ease}.timeframe-option.active{background:var(--yellow);color:#000}.stats-bar{display:flex;gap:40px;transition:opacity .2s ease}.stats-bar.hidden{opacity:0}.stat{align-items:baseline;display:flex;gap:10px}.stat-label{color:var(--text-muted);font-size:18px;font-weight:500}.stat-value{font-size:24px;font-variant-numeric:tabular-nums;font-weight:600}.stat-value.high{color:var(--green)}.stat-value.low{color:var(--red)}.controls-hint{color:var(--text-muted);display:flex;font-size:16px;gap:40px;justify-content:center;padding-top:15px}.controls-hint kbd{background:var(--bg-tertiary);border-radius:4px;display:inline-block;font-family:inherit;font-size:14px;padding:2px 8px}.focusable:focus{outline:3px solid var(--yellow);outline-offset:4px}.phx-no-feedback .phx-submit-loading,.phx-no-feedback.phx-submit-loading{opacity:.8}.chart text{font-family:inherit}.candle.bullish line,.candle.bullish rect{fill:var(--green);stroke:var(--green)}.candle.bearish line,.candle.bearish rect{fill:var(--red);stroke:var(--red)}button.pair-name{background:none;border:none;border-radius:8px;color:inherit;cursor:pointer;font:inherit;padding:4px 12px;transition:background .15s ease}button.pair-name:focus,button.pair-name:hover{background:var(--bg-tertiary)}.keyboard-overlay{align-items:center;background:#0a0a0aeb;display:flex;flex-direction:column;gap:40px;inset:0;justify-content:center;position:fixed;z-index:100}.keyboard-search{color:var(--text-primary);font-size:40px;font-weight:600;letter-spacing:2px}.search-cursor,.search-text{color:var(--yellow)}.search-cursor{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}.keyboard-layout{align-items:flex-start;display:flex;gap:60px;justify-content:center;max-width:1400px;width:100%}.keyboard-grid{align-items:center;display:flex;flex-direction:column;gap:10px}.keyboard-row{gap:8px}.keyboard-key,.keyboard-row{display:flex;justify-content:center}.keyboard-key{align-items:center;background:var(--bg-tertiary);border:2px solid #0000;border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:28px;font-weight:600;height:72px;transition:border-color .1s ease,background .1s ease;width:80px}.keyboard-key.action{font-size:22px;width:120px}.keyboard-key.focused{background:var(--bg-secondary);border-color:var(--yellow);box-shadow:0 0 12px #ffd6004d}.results-list{display:flex;flex-direction:column;gap:4px;max-height:360px;overflow-y:auto;scrollbar-color:var(--bg-tertiary) #0000;scrollbar-width:thin;width:320px}.results-empty{color:var(--text-muted);font-size:22px;padding:20px;text-align:center}.result-item{background:var(--bg-tertiary);border:2px solid #0000;border-radius:8px;color:var(--text-primary);cursor:pointer;display:block;flex-shrink:0;font-size:26px;font-weight:500;padding:14px 20px;text-align:left;transition:border-color .1s ease,background .1s ease;width:100%}.result-item.focused{background:var(--bg-secondary);border-color:var(--yellow);color:var(--yellow)}