:root{font-family:Pretendard,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6;--app-header-height: 64px;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--border-color: #334155;--shadow: rgba(0, 0, 0, .3);--positive: #10b981;--negative: #ef4444;--accent: #60a5fa}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--border-color: #e2e8f0;--shadow: rgba(0, 0, 0, .1);--positive: #059669;--negative: #dc2626;--accent: #3b82f6}[data-theme=dark]{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--border-color: #334155;--shadow: rgba(0, 0, 0, .3);--positive: #10b981;--negative: #ef4444;--accent: #60a5fa}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);padding:1rem;position:sticky;top:0;z-index:200;box-shadow:0 2px 4px var(--shadow);min-height:var(--app-header-height);transition:transform .2s ease}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.app-title{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:.5rem 1rem;font-size:1.25rem;cursor:pointer;transition:transform .2s ease}.theme-toggle:hover{transform:scale(1.1)}.theme-toggle:active{transform:scale(.95)}.app-main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:1rem}.navigation{margin-bottom:1.5rem}.menu-toggle{display:none;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;cursor:pointer;width:100%;margin-bottom:.5rem}.hamburger{display:flex;flex-direction:column;gap:.25rem}.hamburger span{display:block;width:24px;height:2px;background:var(--text-primary);transition:all .3s ease}.nav-menu{list-style:none;display:flex;gap:.5rem;flex-wrap:wrap}.nav-item{flex:1;min-width:100px}.nav-link{display:block;width:100%;padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.nav-link:hover{background:var(--bg-tertiary);border-color:var(--accent)}.nav-link.active{background:var(--accent);color:#fff;border-color:var(--accent)}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 4px 6px var(--shadow);margin-bottom:1rem}.card h2{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative}.etf-table{width:100%;min-width:1200px;border-collapse:separate;border-spacing:0;font-size:.875rem}.etf-table thead{position:sticky;top:0;z-index:10;background:var(--bg-tertiary)}.etf-table th{background:var(--bg-tertiary);padding:.75rem .5rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border-color);white-space:nowrap;box-shadow:0 2px 4px var(--shadow)}.hide-app-header .app-header{transform:translateY(-100%)}.etf-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.etf-table th.sortable:hover{background:var(--bg-primary);color:var(--accent)}.etf-table td{padding:.75rem .5rem;border-bottom:1px solid var(--border-color)}.etf-table tr:hover{background:var(--bg-tertiary)}.etf-table .ticker{font-weight:700;color:var(--accent);white-space:nowrap}.etf-table .fund-name{font-weight:500;min-width:200px}.etf-table .nav,.etf-table .expense-ratio,.etf-table .ytd-return,.etf-table .distribution-yield{text-align:right;font-weight:600}.etf-table .ytd-return.positive{color:var(--positive)}.etf-table .ytd-return.negative{color:var(--negative)}.etf-table .asset-class,.etf-table .region{font-size:.8rem;color:var(--text-secondary)}.etf-table .distribution-frequency{text-align:center;font-size:.85rem;color:var(--text-primary);white-space:nowrap}.etf-table .sector,.etf-table .theme{font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.etf-table .ratings{text-align:center;font-size:.85rem;color:var(--text-primary);white-space:nowrap}.etf-table .nav-as-of{text-align:center;font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.search-container{margin-bottom:1.5rem}.search-input{width:100%;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:1rem;transition:border-color .2s ease}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.search-info{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.loading-container,.error-container{text-align:center;padding:3rem 1rem}.error-message{color:var(--negative);font-weight:500}.load-more-trigger{text-align:center;padding:2rem 1rem;color:var(--text-secondary)}.end-of-list{text-align:center;padding:1.5rem 1rem;color:var(--text-secondary);font-size:.875rem;border-top:1px solid var(--border-color);margin-top:1rem}.etf-table .name-kr{font-weight:500;min-width:150px}.etf-table .price{font-weight:600;text-align:right}.etf-table .change{text-align:right;font-weight:600}.etf-table .change.positive{color:var(--positive)}.etf-table .change.negative{color:var(--negative)}.etf-table .change-percent{font-size:.75rem;opacity:.8}.etf-table .dividend{text-align:right;font-weight:600;color:var(--accent)}.etf-table .last-dividend{text-align:right;color:var(--text-secondary);font-size:.8rem}.content-area{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){:root{--app-header-height: 56px}.app-title{font-size:1rem}.menu-toggle{display:block}.nav-menu{display:none;flex-direction:column}.nav-menu.open{display:flex}.nav-item{flex:none;width:100%}.card{padding:1rem}.etf-table{font-size:.65rem;min-width:100%}.etf-table th,.etf-table td{padding:.4rem .15rem;font-size:.65rem}.etf-table th:nth-child(2),.etf-table td:nth-child(2){display:none}.etf-table th:nth-child(8),.etf-table td:nth-child(8),.etf-table th:nth-child(9),.etf-table td:nth-child(9),.etf-table th:nth-child(10),.etf-table td:nth-child(10){display:none}.etf-table .ticker{min-width:40px;max-width:45px;font-size:.7rem;font-weight:600}.etf-table .nav{min-width:50px;max-width:55px;font-size:.65rem}.etf-table .expense-ratio{min-width:45px;max-width:50px;font-size:.6rem}.etf-table .ytd-return{min-width:50px;max-width:55px;font-size:.65rem}.etf-table .distribution-yield,.etf-table .distribution-frequency{min-width:45px;max-width:50px;font-size:.6rem}.etf-table .name-kr{min-width:120px;font-size:.8rem}.etf-table th{top:0;padding:.4rem .1rem}}@media (min-width: 769px) and (max-width: 1024px){.app-main{padding:1.5rem}.nav-menu{justify-content:center}}@media (min-width: 1025px){.app-main{padding:2rem}.etf-table{font-size:.9rem}}.dividend-schedule-container{background:var(--bg-secondary);border-radius:1rem;overflow:hidden;box-shadow:0 4px 6px var(--shadow)}.schedule-tabs{display:flex;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.schedule-tab{flex:1;padding:1rem;background:transparent;border:none;color:var(--text-secondary);font-size:.95rem;font-weight:600;cursor:pointer;position:relative;transition:all .2s ease}.schedule-tab:hover{color:var(--text-primary);background:var(--bg-secondary)}.schedule-tab.active{color:var(--accent);background:var(--bg-secondary)}.schedule-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent);border-radius:3px 3px 0 0}.schedule-timeline{padding:1.25rem;max-height:500px;overflow-y:auto}.timeline-list{display:flex;flex-direction:column}.timeline-item{display:flex;position:relative;min-height:80px}.timeline-line{display:flex;flex-direction:column;align-items:center;width:40px;flex-shrink:0}.timeline-dot{width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-secondary);box-shadow:0 0 0 2px var(--bg-tertiary);z-index:1;flex-shrink:0}.timeline-connector{width:2px;flex:1;background:var(--border-color);margin-top:-2px}.timeline-content{flex:1;padding-bottom:1rem;padding-left:.5rem}.schedule-card{background:var(--bg-primary);border-radius:.75rem;border-left:4px solid var(--accent);padding:.875rem 1rem;box-shadow:0 2px 8px var(--shadow);transition:transform .2s ease,box-shadow .2s ease}.schedule-card:hover{transform:translate(4px);box-shadow:0 4px 12px var(--shadow)}.schedule-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.625rem}.schedule-day{font-size:1rem;font-weight:700;color:var(--text-primary)}.schedule-count{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .625rem;border-radius:1rem;font-weight:500}.schedule-card-body{margin-top:.5rem}.symbol-chips{display:flex;flex-wrap:wrap;gap:.5rem}.symbol-chip{display:inline-flex;align-items:center;padding:.375rem .75rem;border-radius:1rem;font-size:.8rem;font-weight:600;transition:transform .15s ease}.symbol-chip:hover{transform:scale(1.05)}.schedule-legend{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color);font-size:.85rem}.legend-title{color:var(--text-secondary);font-weight:500}.legend-info{color:var(--accent);font-weight:600}@media (max-width: 768px){.schedule-timeline{padding:1rem;max-height:400px}.timeline-line{width:32px}.timeline-dot{width:12px;height:12px}.schedule-card{padding:.75rem}.schedule-day{font-size:.95rem}.schedule-count{font-size:.7rem;padding:.2rem .5rem}.symbol-chip{padding:.25rem .5rem;font-size:.75rem}.symbol-chips{gap:.375rem}.schedule-legend{flex-direction:column;gap:.375rem;text-align:center;padding:.75rem}}@media (min-width: 769px) and (max-width: 1024px){.schedule-timeline{max-height:450px}}.schedule-timeline::-webkit-scrollbar{width:6px}.schedule-timeline::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.schedule-timeline::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.schedule-timeline::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}main.layout{max-width:1200px;margin:0 auto;padding:2rem}header{margin-bottom:1.5rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}table{width:100%;border-collapse:collapse}th,td{padding:.5rem;text-align:left}tr:nth-child(2n){background:#1e293b80}.filter-container{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;margin-bottom:.5rem}.filter-select{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;cursor:pointer;min-width:120px;transition:border-color .2s ease}.filter-select:focus{outline:none;border-color:var(--accent)}.filter-reset-btn{padding:.5rem 1rem;background:var(--negative);color:#fff;border:none;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:opacity .2s ease}.filter-reset-btn:hover{opacity:.8}.etf-table .sector,.etf-table .theme{font-size:.8rem;color:var(--text-secondary);white-space:nowrap}.etf-table .rating{font-size:.8rem;color:var(--accent);white-space:nowrap;text-align:center}.dividend-chart-container{background:var(--bg-secondary);border-radius:.75rem;padding:1rem;margin-top:1rem}.dividend-chart-container .chart-title{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.dividend-chart-empty{text-align:center;padding:2rem;color:var(--text-secondary)}.simulator-card{max-width:600px;margin:0 auto}.simulator-description{color:var(--text-secondary);margin-bottom:1.5rem}.simulator-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-primary);font-size:.9rem}.simulator-input,.simulator-select{padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:1rem;transition:border-color .2s ease}.simulator-input:focus,.simulator-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f61a}.simulator-button{padding:.875rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,transform .1s ease;margin-top:.5rem}.simulator-button:hover:not(:disabled){background:#2563eb}.simulator-button:active:not(:disabled){transform:scale(.98)}.simulator-button:disabled{opacity:.6;cursor:not-allowed}.simulator-error{padding:.75rem 1rem;background:#dc26261a;border:1px solid var(--negative);border-radius:.5rem;color:var(--negative);margin-top:1rem;font-size:.9rem}.simulator-result{margin-top:1.5rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:.75rem;border:1px solid var(--border-color)}.simulator-result h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.result-item{display:flex;flex-direction:column;gap:.25rem}.result-item.featured{grid-column:1 / -1;padding:1rem;background:var(--bg-secondary);border-radius:.5rem;text-align:center}.result-label{font-size:.8rem;color:var(--text-secondary)}.result-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.result-value.highlight{color:var(--positive)}.result-value.featured-value{font-size:1.5rem;color:var(--accent)}.result-disclaimer{margin-top:1rem;font-size:.75rem;color:var(--text-secondary);text-align:center}.nav-icon{margin-right:.5rem}.nav-label{display:inline}@media (max-width: 480px){.app-main{padding:.5rem}.card{padding:.75rem;border-radius:.75rem}.card h2{font-size:1.1rem}.search-input{font-size:16px;padding:.625rem .875rem}.filter-container{flex-direction:column}.filter-select{width:100%}.etf-table{font-size:.7rem}.etf-table th,.etf-table td{padding:.375rem .25rem}.etf-table .fund-name{min-width:100px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.etf-table .sector,.etf-table .theme,.etf-table .rating{display:none}.etf-table th:nth-child(8),.etf-table th:nth-child(9),.etf-table th:nth-child(10){display:none}.simulator-card{padding:1rem}.result-grid{grid-template-columns:repeat(2,1fr)}.nav-icon{margin-right:.25rem}.nav-link{padding:.625rem .75rem;font-size:.85rem}.schedule-tab,.simulator-button,.filter-reset-btn,.nav-link{min-height:44px}}@media (max-width: 768px){.result-grid{grid-template-columns:repeat(2,1fr)}.nav-menu{padding:.5rem;gap:.375rem}.nav-item{margin:0}.table-container{position:relative}.table-container:after{content:"";position:absolute;top:0;right:0;bottom:0;width:30px;background:linear-gradient(to left,var(--bg-secondary),transparent);pointer-events:none;opacity:.7}}@media (min-width: 481px) and (max-width: 768px){.nav-menu{display:flex;flex-wrap:wrap;justify-content:center}.nav-item{flex:0 0 auto}.result-grid{grid-template-columns:repeat(3,1fr)}}@media (hover: none){.nav-link:active,.schedule-tab:active,.simulator-button:active,.symbol-chip:active{transform:scale(.95);opacity:.8}.etf-table tr:active{background:var(--bg-tertiary)}}.nav-link:focus-visible,.search-input:focus-visible,.filter-select:focus-visible,.simulator-input:focus-visible,.simulator-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 768px){.schedule-timeline::-webkit-scrollbar,.table-container::-webkit-scrollbar{height:0;width:0}}
