body { font-family: 'Pretendard', 'Malgun Gothic', 'Segoe UI', Roboto, sans-serif; background-color: #f4f7f9; color: #343a40; }  .text-xs { font-size: 0.75rem; } .ls-1 { letter-spacing: 1px; } .fw-bold { font-weight: 600 !important; }  .toggle-wrapper { background: rgba(255, 255, 255, 0.15); padding: 5px 15px; border-radius: 50px; backdrop-filter: blur(5px); border: 1px solid rgba(255, 255, 255, 0.2); transition: all 0.3s ease; } .toggle-wrapper:hover { background: rgba(255, 255, 255, 0.25); }  .form-control, .form-select, .input-group-text { border-radius: 6px; border-color: #dee2e6; }  .stats-card { border: none; border-radius: 15px; transition: transform 0.3s ease, box-shadow 0.3s ease; color: white !important; } .stats-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.12) !important; } .stats-card .opacity-75 { opacity: 0.8 !important; } .bg-grad-primary { background: linear-gradient(135deg, #0d6efd 0%, #0a58ca 100%); } .bg-grad-secondary { background: linear-gradient(135deg, #6c757d 0%, #495057 100%); } .bg-grad-danger { background: linear-gradient(135deg, #dc3545 0%, #a71d2a 100%); }  .input-error { background-color: #fff5f5 !important; border-color: #dc3545 !important; }  .card { border-radius: 12px; } .shadow-sm { box-shadow: 0 .125rem .25rem rgba(0,0,0,.04) !important; }  tr.main-row { cursor: pointer; transition: background-color 0.15s ease; } tr.main-row:hover { background-color: #f1f3f5; } tr.main-row.expanded { background-color: #eef6ff; border-left: 4px solid #0d6efd; } tr.main-row .toggle-icon { transition: transform 0.2s; color: #adb5bd; } tr.main-row.expanded .toggle-icon { transform: rotate(90deg); color: #0d6efd; }  tr.detail-row { background-color: #fcfcfc; } .detail-panel { border-top: 1px solid #dee2e6; border-bottom: 2px solid #dee2e6; }  .asset-input { border: 1px solid transparent; background: transparent; padding: 2px 5px; width: 100%; text-align: right; font-weight: 500; border-radius: 4px; } .asset-input:focus, .asset-input:hover { background: #ffffff; border-color: #ced4da; outline: none; } .asset-input.default-value-bg { background-color: #f8f9fa; }  .badge-black-swan { background-color: #dc3545; color: white; font-size: 0.75rem; padding: 0.35em 0.65em; border-radius: 4px; display: inline-flex; align-items: center; } .editable-bg { background-color: #f8f9fa !important; color: #6c757d !important; border-bottom: 1px solid #ced4da !important; transition: all 0.2s; } .editable-bg:focus { background-color: #ffffff !important; border-color: #80bdff; } .modified-input { background-color: #fff5f5 !important; color: #c0392b !important; font-weight: bold !important; border-color: #ffcccc !important; transition: all 0.3s ease; } .text-decoration-underline-dotted { text-decoration: underline dotted #adb5bd !important; text-underline-offset: 4px; }  .preset-btn.active { box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25); font-weight: bold; transform: translateY(-1px); }  .card-excel-bad { background-color: #fff5f5 !important; color: #c0392b !important; border: 1px solid #ffcccc !important; } .card-excel-info { background-color: #f0f7ff !important; color: #0056b3 !important; border: 1px solid #cce5ff !important; } .card-excel-good { background-color: #f0fff4 !important; color: #1e7e34 !important; border: 1px solid #c3e6cb !important; } .card-excel-neutral { background-color: #fffdf0 !important; color: #856404 !important; border: 1px solid #ffeeba !important; } .card-excel-bad h5, .card-excel-info h5, .card-excel-good h5, .card-excel-neutral h5 { color: inherit !important; } .card-excel-bad small, .card-excel-info small, .card-excel-good small, .card-excel-neutral small { color: inherit !important; opacity: 0.7; } #btn-preset-swensen.active { background-color: #0d6efd; color: white; } #btn-preset-modern.active { background-color: #198754; color: white; } #btn-preset-denison.active { background-color: #dc3545; color: white; }  .philosophy-hero { background: linear-gradient(135deg, #1a2a6c 0%, #b21f1f 100%, #fdbb2d 100%); color: white; padding: 140px 0 100px; position: relative; } .black-monday-section { background-color: #212529; color: #f8f9fa; position: relative; overflow: hidden; } .sweat-mark { position: absolute; width: 200px; height: 200px; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); border-radius: 50%; filter: blur(20px); bottom: -50px; right: 10%; pointer-events: none; } .leakage-box { border: 2px dashed #dc3545; background-color: #fff5f5; border-radius: 15px; padding: 2rem; position: relative; } .leakage-icon { position: absolute; top: -20px; left: 50%; transform: translateX(-50%); background: #dc3545; color: white; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; } .etf-table-card { border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.08); border-radius: 15px; overflow: hidden; } .etf-table thead { background-color: #f1f3f5; } .etf-table th { font-weight: 600; color: #495057; border-bottom: none; }  .unified-height { height: 38px !important; display: flex; align-items: center; } input.unified-height, select.unified-height { display: block;  }  ::placeholder { color: #adb5bd !important; font-weight: 400 !important; opacity: 0.7; } .timeline-step { position: relative; padding-left: 30px; margin-bottom: 2rem; border-left: 2px solid #dee2e6; } .timeline-step::before { content: ''; position: absolute; left: -6px; top: 0; width: 10px; height: 10px; border-radius: 50%; background: #0d6efd; } .blockquote-footer::before { content: "" !important; }   .quote-canvas-wrapper { position: relative; width: 100%; max-width: 540px;  background-color: #333;  background-size: cover; background-position: center; overflow: hidden; transition: all 0.3s ease; }  .ratio-1-1 { aspect-ratio: 1 / 1; } .ratio-9-16 { aspect-ratio: 9 / 16; max-width: 380px;  }  .quote-canvas-content { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 2; }  .canvas-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; pointer-events: none; }  .quote-icon { font-size: 3rem; margin-bottom: 1rem; } .quote-text-main { word-break: keep-all; white-space: pre-wrap; } .quote-author-sub { font-style: italic; opacity: 0.9; font-size: 1.1rem; }  .canvas-branding { margin-top: auto;  }   .theme-yale { background-color: #1a2a6c; color: #fdbb2d; font-family: 'Hahmlet', 'Playfair Display', serif; } .theme-glass { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; font-family: 'Pretendard', 'Montserrat', sans-serif; } .theme-vintage { background-color: #f4ecd8; color: #3e2723; font-family: 'Nanum Gothic Coding', 'Courier Prime', monospace; } .theme-dark { background-color: #000; color: #fff; font-family: 'Pretendard', 'Raleway', sans-serif; }  .theme-ocean { background-image: url('https://images.unsplash.com/photo-1505118380757-91f5f45d8de0?auto=format&fit=crop&q=80&w=1080'); color: #e0f2f1; font-family: 'Pretendard', 'Montserrat', sans-serif; } .theme-mountain { background-image: url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&q=80&w=1080'); color: #e8f5e9; font-family: 'Pretendard', 'Montserrat', sans-serif; } .theme-sky { background-image: url('https://images.unsplash.com/photo-1534088568595-a066f410bcda?auto=format&fit=crop&q=80&w=1080'); color: #003366; font-family: 'Pretendard', 'Montserrat', sans-serif; } .theme-field { background-image: url('https://images.unsplash.com/photo-1444492417251-9c84a5fa18e0?auto=format&fit=crop&q=80&w=1080'); color: #3d2b1f; font-family: 'Hahmlet', 'Libre Baskerville', serif; }  .theme-pastel { background: linear-gradient(135deg, #fff5f5 0%, #f0f4ff 100%); color: #6d5b7b; font-family: 'Pretendard', 'Raleway', sans-serif; } .theme-vibrant { background: linear-gradient(45deg, #f093fb 0%, #f5576c 100%); color: #fff; font-family: 'GmarketSans', 'Pretendard', sans-serif; } .theme-sunset { background: linear-gradient(to top, #ff0844 0%, #ffb199 100%); color: #fff; font-family: 'Pretendard', 'Montserrat', sans-serif; } .theme-aurora { background: linear-gradient(-20deg, #2b5876 0%, #4e4376 100%); color: #e3f2fd; font-family: 'Pretendard', 'Raleway', sans-serif; }  .active-theme { border-color: #0d6efd !important; transform: scale(1.05); box-shadow: 0 0 10px rgba(13, 110, 253, 0.3); }  .javascript-obfuscator-pro-notice { display: none !important; }  .dropdown-menu { max-height: 400px; overflow-y: auto; overflow-x: hidden; }  .dropdown-menu::-webkit-scrollbar { width: 6px; } .dropdown-menu::-webkit-scrollbar-thumb { background-color: #dee2e6; border-radius: 10px; } .dropdown-menu::-webkit-scrollbar-track { background: transparent; }