:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;justify-content:center;align-items:center}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{width:100%;max-width:1200px;margin:0 auto;min-height:100vh;padding:20px;box-sizing:border-box;flex-direction:column;align-items:center;justify-content:flex-start}h1{text-align:center;color:#fff;margin-bottom:1.5rem;font-size:2.2rem;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;background-color:#1e1e1e;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0003}.user-info{display:flex;align-items:center;gap:15px}.user-id{color:#aaa;font-size:.9rem;display:flex;align-items:center}.user-id span{color:#fff;font-weight:700;margin-left:5px;word-break:break-all}.connection-status{padding:4px 8px;border-radius:4px;background-color:#2c2c2c;color:#e0e0e0;font-size:.8rem}.connection-status.connected{color:#4caf50}.connection-status.disconnected{color:#f44336}.account-info-mobile-toggle{display:none;justify-content:space-between;align-items:center;background-color:#2c2c2c;padding:12px 15px;border-radius:6px;margin-bottom:15px;cursor:pointer}.account-info-mobile-toggle span{font-weight:700;color:#fff;font-size:1.1rem}.toggle-icon{color:#aaa}.account-info-wrapper{width:100%;margin-bottom:20px}.top-info{display:flex;justify-content:space-between;margin-bottom:20px;background-color:#1e1e1e;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0003}.chart-container{width:100%;position:relative;background-color:#1e1e1e;border:1px solid #333333;border-radius:8px;padding:15px;margin-bottom:20px;box-shadow:0 2px 8px #0003;box-sizing:border-box}.notification{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:12px 20px;border-radius:6px;font-size:.95rem;box-shadow:0 4px 12px #0000004d;max-width:90%;z-index:1000;animation:slideDown .3s ease-out forwards}.notification.success{background-color:#2ecc71;color:#fff}.notification.warning{background-color:#f39c12;color:#fff}.notification.error{background-color:#e74c3c;color:#fff}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 768px){.account-info-mobile-toggle{display:flex}.account-info-wrapper.collapsed .account-info{display:none}h1{font-size:1.5rem}}@media (min-width: 481px) and (max-width: 900px){.app{width:100%;max-width:100%;padding:10px;box-sizing:border-box}.user-header{padding:10px 15px;width:100%;box-sizing:border-box}.user-info{width:100%;display:flex;justify-content:space-between}.account-info-mobile-toggle{width:100%;box-sizing:border-box}.account-info{display:flex;flex-direction:row;gap:10px;flex-wrap:nowrap;width:100%;box-sizing:border-box;overflow-x:auto}.info-item{min-width:120px;flex:1 1 0}.account-info-wrapper:not(.collapsed) .account-info{display:flex;flex-direction:row;width:100%}.account-info-wrapper{width:100%;box-sizing:border-box}}@media (max-width: 480px){.app{padding:5px}h1{font-size:1.5rem;margin-bottom:1rem}.chart-container{padding:10px}.user-header{padding:10px;width:100%;box-sizing:border-box}.user-info{flex-direction:column;align-items:flex-start;gap:5px;width:100%}.user-id,.connection-status{width:100%;box-sizing:border-box}.connection-status{display:flex;justify-content:space-between;width:100%;box-sizing:border-box}}body{background-color:#121212;color:#e0e0e0;margin:0;padding:0;font-family:Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{max-width:1000px;margin:0 auto;padding:20px}h1,h2,h3,h4,h5,h6{color:#fff;margin-bottom:1.5rem}h1{text-align:center;font-size:2rem;margin-top:0}.status{display:flex;justify-content:space-between;margin-bottom:20px;background-color:#1e1e1e;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0003}.connection-status{padding:8px;border-radius:4px;background-color:#2c2c2c;color:#e0e0e0;display:flex;align-items:center}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#1e1e1e}::-webkit-scrollbar-thumb{background:#444;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}*:focus{outline:2px solid #3498db;outline-offset:2px}/*!* 모바일 반응형 *!*/:root{--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2c2c2c;--border-color: #333333;--border-light: #444444;--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-tertiary: #aaaaaa;--color-buy: #3498db;--color-buy-hover: #2980b9;--color-sell: #e74c3c;--color-sell-hover: #c0392b;--color-up: #4caf50;--color-down: #f44336;--color-neutral: #7f8c8d;--color-highlight: #1a3c5a;--spacing-xs: 5px;--spacing-sm: 10px;--spacing-md: 15px;--spacing-lg: 20px;--spacing-xl: 30px;--border-radius-sm: 4px;--border-radius-md: 8px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 2px 8px rgba(0, 0, 0, .2);--font-xs: .8rem;--font-sm: .9rem;--font-md: 1rem;--font-lg: 1.1rem;--font-xl: 1.5rem;--font-xxl: 2rem;--transition-fast: .2s;--transition-normal: .3s}.chart-container{position:relative;background-color:#1e1e1e;border:1px solid #333333;border-radius:8px;padding:15px;margin-bottom:20px;box-shadow:0 2px 8px #0003;width:100%;box-sizing:border-box}.chart-container canvas{width:100%;height:400px;display:block}@media (max-width: 768px){.chart-container{padding:10px}.chart-container canvas{height:300px}}@media (max-width: 480px){.chart-container canvas{height:250px}}.account-info{display:flex;flex-wrap:wrap;gap:10px;width:100%}.info-item{flex:1;display:flex;flex-direction:column;background-color:#2c2c2c;padding:8px 15px;border-radius:6px}.info-item label{font-size:.8rem;color:#aaa;margin-bottom:4px;white-space:nowrap}.info-item span{font-weight:700;color:#fff;font-size:1.1rem}@media (max-width: 768px){.account-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;box-sizing:border-box}.info-item{margin-bottom:0;width:100%;box-sizing:border-box}}@media (max-width: 480px){.account-info{grid-template-columns:1fr 1fr;gap:8px}.info-item{padding:6px 10px}.info-item label{font-size:.75rem}.info-item span{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.trading-controls-container{width:100%;margin-bottom:20px}.trading-controls{display:flex;gap:20px;justify-content:space-between;margin-bottom:10px;width:100%}.trade-button{padding:14px 20px;border:none;border-radius:6px;cursor:pointer;transition:all .2s;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;flex:1}.buy-button{background-color:#3498db;color:#fff}.buy-button:hover:not(:disabled){background-color:#2980b9}.sell-button{background-color:#e74c3c;color:#fff}.sell-button:hover:not(:disabled){background-color:#c0392b}.trade-button:disabled{background-color:#333;color:#666;cursor:not-allowed}.max-button{background-color:#3949ab}.max-button:hover:not(:disabled){background-color:#303f9f}.full-button{background-color:#d32f2f}.full-button:hover:not(:disabled){background-color:#b71c1c}.transaction-log-toggle{text-align:center;padding:8px;background-color:#2c2c2c;border-radius:6px;margin-top:10px;cursor:pointer;color:#e0e0e0;font-size:.9rem;transition:background-color .2s}.transaction-log-toggle:hover{background-color:#3c3c3c}.transaction-log-panel{background-color:#1a1a1a;border:1px solid #333;border-radius:6px;padding:10px;margin-top:10px;max-height:200px;overflow-y:auto}.log-entry{font-family:monospace;font-size:.9rem;padding:6px 8px;border-radius:4px;margin-bottom:4px;color:#ccc}.log-entry.최대매수{background-color:#3949ab33;color:#64b5f6}.log-entry.전체매도{background-color:#d32f2f33;color:#ef9a9a}.no-transactions{text-align:center;color:#666;font-style:italic;padding:20px}@media (max-width: 768px){.trading-controls{flex-direction:row;gap:10px;width:100%}.trade-button{width:50%;max-width:none;padding:14px 10px;font-size:.9rem}}@media (max-width: 480px){.trading-controls{gap:5px}.trade-button{padding:12px 5px;font-size:.8rem}}.rankings{margin-top:20px;border:1px solid #333333;border-radius:8px;padding:15px;background-color:#1e1e1e}.rankings h3{text-align:center;margin-top:0;margin-bottom:10px;font-size:1.1rem;color:#fff}.rankings-info{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.9rem;color:#aaa;padding:0 5px}.rankings table{width:100%;border-collapse:collapse;color:#e0e0e0}.rankings th,.rankings td{border:1px solid #333333;padding:10px;text-align:left}.rankings th{background-color:#2c2c2c;font-weight:700;color:#fff}.rankings tr:nth-child(2n){background-color:#252525}.rankings tr:hover{background-color:#303030}.my-rank{background-color:#1a3c5a!important;font-weight:700}.rank-separator{background-color:#2c2c2c!important;text-align:center;font-weight:700;color:#aaa}.rank-separator td{padding:5px!important;letter-spacing:3px}.no-data{text-align:center;color:#aaa;font-style:italic}@media (max-width: 768px){.rankings th,.rankings td{font-size:.9rem}}@media (max-width: 480px){.rankings th,.rankings td{font-size:.8rem}.rankings th:nth-child(4),.rankings td:nth-child(4),.rankings th:nth-child(5),.rankings td:nth-child(5){display:none}}
