        /* 다크 모드 테마 변수 설정 */
        :root {
            --bg-main: #0d1117;       /* 메인 배경 */
            --bg-card: #161b22;       /* 카드 및 헤더 배경 */
            --bg-btn: #21262d;        /* 일반 버튼 배경 */
            --border: #30363d;        /* 경계선 색상 */
            --accent: #58a6ff;        /* 포인트 블루 (선택된 상태) */
            --text-p: #c9d1d9;        /* 기본 텍스트 */
            --text-s: #8b949e;        /* 보조 텍스트 */
            --up: #f85149;            /* 상승 빨강 */
            --down: #58a6ff;          /* 하락 파랑 */
            --white: #ffffff;
        }

        /* 기본 스타일 초기화 */
        body { 
            font-family: -apple-system, sans-serif; 
            margin: 0; 
            padding-bottom: 80px; 
            background-color: var(--bg-main); 
            color: var(--text-p); 
        }
        a { text-decoration: none; color: inherit; }

        /* 헤더: 계정과 마켓 선택 영역 */
        header { 
            background: var(--bg-card); 
            padding: 12px 10px; 
            border-bottom: 1px solid var(--border); 
            position: sticky; 
            top: 0; 
            z-index: 100; 
        }
        
        /* 계정 선택: 가로 스크롤 */
        .user-info { 
            display: flex; 
            justify-content: center; 
            align-items: center; 
            overflow-x: auto; 
            gap: 8px; 
            /* padding-bottom: 12px;  */
            padding-top: 12px; 
            -webkit-overflow-scrolling: touch; 
        }
        .user-info::-webkit-scrollbar { display: none; }
        
        .u-btn { 
            padding: 6px 14px; 
            background: var(--bg-btn); 
            border: 1px solid var(--border);
            border-radius: 20px; 
            font-size: 13px; 
            white-space: nowrap; 
            color: var(--text-s);
        }
        .u-btn.active { 
            background: var(--accent); 
            color: var(--white); 
            border-color: var(--accent);
            font-weight: bold; 
        }

        /* 마켓 전환 탭 */
        .market-toggle { 
            display: flex; 
            background: var(--bg-btn); 
            border-radius: 8px; 
            padding: 3px; 
            margin-top: 5px; 
            border: 1px solid var(--border);
        }
        .m-btn { 
            flex: 1; 
            text-align: center; 
            padding: 8px 0; 
            font-size: 14px; 
            border-radius: 6px; 
            transition: 0.2s; 
            color: var(--text-s);
        }

        .last-update {
            font-size: 12px;
            color: var(--text-s);
            white-space: nowrap;
        }

        .m-btn.active { 
            background: var(--bg-card); 
            color: var(--accent); 
            box-shadow: 0 2px 4px rgba(0,0,0,0.3); 
            font-weight: bold; 
        }

        /* 요약 카드 그리드 */
        .summary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 15px; }
        .summary-card { 
            background: var(--bg-card); 
            padding: 14px; 
            border-radius: 12px; 
            border: 1px solid var(--border);
            box-shadow: 0 4px 10px rgba(0,0,0,0.2); 
        }
        .summary-label { font-size: 12px; color: var(--text-s); margin-bottom: 6px; }
        .summary-value { font-size: 16px; font-weight: bold; color: var(--white); }
        .up { color: var(--up) !important; } 
        .down { color: var(--down) !important; }

        /* 종목 리스트 */
        .stock-list-container { padding: 0 15px; }
        .stock-link {
            display: block;
            text-decoration: none;
            color: inherit;
            transition: background-color 0.2s ease;
        }
        .stock-link:hover .stock-item {
            background: var(--bg-btn);
        }
        .add-button {
            display: inline-block;
            padding: 8px 16px;
            background: var(--accent);
            color: var(--white);
            border-radius: 6px;
            text-decoration: none;
            font-weight: bold;
            transition: background-color 0.2s ease;
        }
        .add-button:hover {
            background: #79c0ff;
        }
        .stock-item { 
            background: var(--bg-card); 
            border-radius: 6px; 
            padding: 8px; 
            margin-bottom: 6px; 
            display: flex; 
            justify-content: center; 
            align-items: center; 
            border: 1px solid var(--border);
        }
        .stock-info { 
            background: var(--bg-card); 
            border-radius: 6px; 
            padding: 8px; 
            margin-bottom: 6px; 
            display: flex; 
            flex-direction: column;
            border: 1px solid var(--border);
        }
        .stock-info-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
        }
        .stock-name { 
            /* border: 1px solid var(--border); */
            font-weight: bold; 
            font-size: 15px; 
            margin-bottom: 8px; 
            color: var(--white); 
        }
        .avg-price-label { font-size: 12px; color: var(--text-s); }
        .stock-info-right { 
            /* border: 1px solid var(--border); */
            text-align: right; 
            margin-right: 12px; 
            width: 50%;
        }
        .stock-info-left { 
            /* border: 1px solid var(--border); */
            text-align: left; 
            width: 50%;
        }
        .button-group {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }
        .trade-btn {
            border: none;
            color: white;
            padding: 8px 12px;
            border-radius: 4px;
            font-size: 14px;
            font-weight: bold;
            cursor: pointer;
            min-width: 70px;
        }

        .trade-btn.buy {
            background-color: #ef4444; /* 빨간색 */
        }

        .trade-btn.sell {
            background-color: #3b82f6; /* 파란색 */
        }
        .trade-btn.N {
            background-color: #059500; /* 연두색 */
        }
        .trade-btn.Y {
            background-color: #6b7280; /* 회색 */
        }

        .current-price { 
            /* border: 1px solid var(--border); */
            font-size: 13px; 
            margin-bottom: 8px; 
        }
        .stock-info-memo {
            font-size: 12px;
            color: var(--text-s);
            margin-top: 8px;
            text-align: left;
            width: 100%;
        }
        .profit-info { 
            /* border: 1px solid var(--border); */
            font-size: 13px; 
            margin-bottom: 8px; 
        }

        /* 하단 네비게이션 */
        .bottom-nav { 
            position: fixed; 
            bottom: 0; 
            width: 100%; 
            height: 65px; 
            background: var(--bg-card); 
            display: flex; 
            border-top: 1px solid var(--border); 
        }

        .nav-item { 
            flex: 1; 
            display: flex; 
            flex-direction: column; 
            align-items: center; 
            justify-content: center; 
            font-size: 11px; 
            color: var(--text-s); 
            text-decoration: none;
            transition: all 0.2s ease-in-out; /* 부드러운 변화 */
            position: relative;
        }

        /* --- Active 상태 강조 --- */
        .nav-item.active { 
            color: #ffffff; /* 글자색을 더 밝게 */
        }

        .nav-item.active .nav-icon { 
            transform: translateY(-2px); /* 아이콘을 살짝 위로 */
            filter: drop-shadow(0 0 8px var(--accent)); /* 아이콘 주변에 은은한 빛 */
            font-size: 24px; /* 아이콘 크기를 약간 키움 */
        }

        .nav-item.active span:last-child {
            font-weight: 800; /* 글자를 두껍게 */
            color: var(--accent); /* 글자에 강조색 적용 */
        }

        /* 아이콘 위에 작은 점이나 선을 추가하여 '현재 위치' 표시 */
        .nav-item.active::before {
            content: "";
            position: absolute;
            top: 0;
            width: 12px;
            height: 2px;
            background: var(--accent);
            border-radius: 0 0 4px 4px;
        }