.etf-app .etf-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}.etf-app .etf-datesel{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.etf-app .etf-datesel select{font-family:inherit;font-size:.9rem;padding:8px 12px;border-radius:10px;border:1px solid var(--border-strong);background:var(--bg-elevated);color:var(--text);cursor:pointer}.etf-app #etfBody{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}@media(min-width:1000px){.etf-app #etfBody{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}}.etf-app .etf-block{min-width:0}.etf-app .etf-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:4px}.etf-app .etf-code{font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.etf-app .etf-dates{color:var(--text-secondary);font-size:.85rem}.etf-app .etf-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 16px}.etf-app .etf-sum{font-size:.8rem;border:1px solid var(--border);border-radius:999px;padding:4px 12px;color:var(--text-secondary);background:var(--bg-subtle)}.etf-app .etf-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--bg-elevated);box-shadow:var(--card-shadow)}.etf-app table.etf{width:100%;border-collapse:collapse;min-width:440px;font-size:.85rem}.etf-app table.etf th{text-align:left;color:var(--text-secondary);font-weight:500;font-size:.75rem;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.etf-app table.etf th.num,.etf-app table.etf td.num{text-align:right;font-variant-numeric:tabular-nums}.etf-app table.etf td{padding:10px 14px;border-bottom:1px solid var(--border);color:var(--text)}.etf-app table.etf tr:last-child td{border-bottom:none}.etf-app .stk-code{color:var(--text-tertiary);font-size:.8rem;margin-right:8px;font-variant-numeric:tabular-nums}.etf-app .etf-badge{font-size:.66rem;font-weight:600;padding:1px 7px;border-radius:6px;margin-left:8px}.etf-app .etf-badge.new{background:var(--tw-up-bg);color:var(--tw-up)}.etf-app .etf-badge.rm{background:var(--tw-down-bg);color:var(--tw-down)}.etf-app .etf-note{color:var(--text-tertiary);font-size:.85rem;padding:10px 0}.etf-app .cat{display:inline-block;font-size:.72rem;font-weight:600;padding:3px 11px;border-radius:999px;white-space:nowrap}.etf-app .cat-new{background:var(--tw-up);color:#fff}.etf-app .cat-add{background:var(--tw-up-bg);color:var(--tw-up)}.etf-app .cat-cut{background:var(--tw-down-bg);color:var(--tw-down)}.etf-app .cat-rm{background:var(--tw-down);color:#fff}.etf-app .etf-summary .cat{padding:4px 12px}.etf-app table.etf td:first-child{border-left:3px solid transparent}.etf-app tr.row-new td:first-child,.etf-app tr.row-add td:first-child{border-left-color:var(--tw-up)}.etf-app tr.row-cut td:first-child,.etf-app tr.row-rm td:first-child{border-left-color:var(--tw-down)}.etf-app table.etf td.up{color:var(--tw-up);font-weight:600}.etf-app table.etf td.down{color:var(--tw-down);font-weight:600}.etf-app .stk-link{cursor:pointer;border-bottom:1px dashed var(--border-strong)}.etf-app .stk-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.etf-app tr.expand-row>td{padding:0;background:var(--bg-subtle);border-bottom:1px solid var(--border)}.etf-app .expand-box{padding:16px 18px 18px}.etf-app .expand-title{font-size:.92rem;font-weight:600;color:var(--text);margin-bottom:4px}.etf-app .expand-legend{font-size:.75rem;color:var(--text-tertiary);margin-bottom:12px}.etf-app .expand-legend b{font-weight:600}.etf-app .chart-el{width:100%;height:420px}.etf-app .chart-note{color:var(--text-tertiary);font-size:.82rem;margin-top:8px}@media(max-width:560px){.etf-app table.etf{min-width:0;font-size:.78rem}.etf-app table.etf th,.etf-app table.etf td{padding:9px 6px}.etf-app table.etf th:first-child,.etf-app table.etf td:first-child{padding-left:10px}.etf-app table.etf th:last-child,.etf-app table.etf td:last-child{padding-right:10px}.etf-app table.etf th{font-size:.7rem}.etf-app .cat{padding:2px 7px;font-size:.66rem}.etf-app .stk-code{display:block;margin:0 0 1px;font-size:.68rem}.etf-app .etf-code{font-size:1.25rem}}
