*,:before,:after{box-sizing:border-box}:root{--bg:#f6f6f3;--surface:#fff;--surface-muted:#f3f3f0;--surface-hover:#f8f8f6;--text:#1f2933;--text-2:#5b6670;--text-3:#8a939c;--border:#e6e6e1;--border-strong:#d6d6d0;--accent:#3b6ea5;--accent-bg:#eaf1f9;--success:#1f7a4d;--success-bg:#e7f4ec;--warning:#8f5a00;--warning-bg:#fbf1dd;--info:#2b5fa8;--info-bg:#e8eff9;--radius-sm:8px;--radius:12px;--radius-lg:16px;--shadow:0 1px 2px #1f29330a, 0 6px 20px #1f29330d}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--accent-bg);color:var(--text)}button{font-family:inherit}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-selector{margin-bottom:2.5rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.section-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.section-meta{color:var(--text-3);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.text-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:.85rem}.text-btn:hover{text-decoration:underline}.text-btn:disabled{color:var(--text-3);cursor:default;text-decoration:none}.card-toggles{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}.card-toggle{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);cursor:pointer;text-align:left;color:var(--text);flex-direction:column;align-items:flex-start;padding:.9rem 1rem .9rem 2.9rem;font-size:.9rem;transition:border-color .15s,background-color .15s;display:flex;position:relative}.card-toggle.off{color:var(--text-2);box-shadow:none}.card-toggle.off:hover{border-color:var(--border-strong);background:var(--surface-hover)}.card-toggle.on{border-color:color-mix(in srgb, var(--card-color) 45%, var(--border));background:color-mix(in srgb, var(--card-color) 6%, var(--surface))}.toggle-indicator{border:1.5px solid var(--border-strong);background:var(--surface);color:#0000;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;transition:background-color .15s,border-color .15s;display:flex;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.card-toggle.on .toggle-indicator{background:var(--card-color);border-color:var(--card-color);color:#fff}.card-toggle-name{font-size:.95rem;font-weight:600;line-height:1.3}.card-toggle-issuer{color:var(--text-3);margin-top:2px;font-size:.78rem}.comparison-table-wrapper{margin-top:0}.table-title{color:var(--text);margin:0 0 1rem;font-size:1.05rem;font-weight:600}.comparison-empty{text-align:center;color:var(--text-2);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);padding:4rem 2rem}.comparison-empty p{margin:0}.table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.comparison-table{border-collapse:collapse;width:100%;font-size:.9rem}.comparison-table th{text-align:left;color:var(--text-2);background:var(--surface-muted);border-bottom:1px solid var(--border);padding:.85rem 1rem;font-size:.8rem;font-weight:600}.cat-header{white-space:nowrap;min-width:180px}.card-header{color:var(--text);text-align:center;white-space:normal;min-width:110px;line-height:1.3}.card-header-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.best-header{text-align:center;white-space:nowrap;min-width:190px}.comparison-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.8rem 1rem}.comparison-table tbody tr:hover td{background:var(--surface-hover)}.comparison-table tbody tr:last-child td{border-bottom:none}.category-name{color:var(--text);font-weight:500}.rate-cell{text-align:center}.rate-cell.no-rate{color:var(--border-strong)}.rate-value{color:var(--text);font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:1rem;font-weight:600;display:inline-block}.rate-cell.best-rate .rate-value{color:var(--success);background:var(--success-bg)}.rate-cell.rotating .rate-value{color:var(--warning)}.rate-cell.rotating.best-rate .rate-value{color:var(--warning);background:var(--warning-bg)}.rate-cell.base:not(.best-rate) .rate-value{color:var(--text-3);font-weight:400}.rate-tag{color:var(--text-3);margin-top:3px;font-size:.68rem;display:block}.rate-info{color:var(--text-3);cursor:pointer;background:0 0;border:none;border-radius:999px;margin-left:2px;padding:4px;font-size:.8rem;line-height:1}.rate-info:hover,.rate-info[aria-expanded=true]{color:var(--accent)}.rate-info:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rate-detail{max-width:14rem;color:var(--text-2);white-space:normal;margin:4px auto 0;font-size:.72rem;line-height:1.4;display:block}.best-pick-cell{text-align:center;padding-left:.75rem!important;padding-right:.75rem!important}.best-picks{flex-direction:column;align-items:center;gap:4px;display:flex}.best-chip{background:color-mix(in srgb, var(--chip-color,var(--text-3)) 12%, var(--surface));color:color-mix(in srgb, var(--chip-color,var(--text-3)) 78%, black);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:5px;max-width:220px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-flex;overflow:hidden}.chip-rotating{opacity:.8;font-size:.85em}.schedule-section{margin-top:2.5rem}.schedule-section-title{color:var(--text);margin:0 0 .25rem;font-size:1.05rem;font-weight:600}.schedule-section-subtitle{color:var(--text-2);margin:0 0 1rem;font-size:.9rem}.schedule-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem;display:grid}.schedule-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.1rem 1.25rem}.schedule-header{color:var(--text);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:.9rem;padding-bottom:.75rem;font-size:.95rem;display:flex}.schedule-card-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.schedule-rate{color:var(--text-2);white-space:nowrap;margin-left:auto;font-size:.8rem}.schedule-quarter{align-items:flex-start;gap:.75rem;display:flex}.schedule-quarter:not(:last-child){border-bottom:1px dashed var(--border);margin-bottom:.9rem;padding-bottom:.9rem}.quarter-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:6px;flex-shrink:0;margin-top:3px;padding:2px 8px;font-size:.68rem;font-weight:700}.current-badge{background:var(--success-bg);color:var(--success)}.upcoming-badge{background:var(--info-bg);color:var(--info)}.quarter-body{flex-direction:column;gap:4px;display:flex}.quarter-label{color:var(--text);font-size:.9rem;font-weight:600}.quarter-dates{color:var(--text-3);font-size:.78rem}.quarter-categories{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.quarter-cat-chip{background:var(--success-bg);color:var(--success);border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:500;display:inline-block}.upcoming-chip{background:var(--info-bg);color:var(--info)}.category-notes{color:var(--text-2);margin:6px 0 0;padding:0;font-size:.76rem;line-height:1.5;list-style:none}.quarter-note{color:var(--text-2);margin-top:4px;font-size:.78rem;line-height:1.5}.legend{color:var(--text-3);flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:6px;display:flex}.legend-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.legend-swatch.best{background:var(--success-bg);border:1px solid var(--success)}.legend-swatch.rotating{background:var(--warning-bg);border:1px solid var(--warning)}.app{flex-direction:column;max-width:1100px;min-height:100vh;margin:0 auto;padding:3rem 1.5rem 2rem;display:flex}.app-header{margin-bottom:2.5rem}.app-title{letter-spacing:-.01em;color:var(--text);align-items:center;gap:.6rem;margin:0;font-size:1.75rem;font-weight:700;display:flex}.title-mark{flex-shrink:0;width:32px;height:32px}.app-subtitle{color:var(--text-2);max-width:48ch;margin:.5rem 0 0;font-size:1rem}.app-main{flex:1}.app-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-3);margin-top:3.5rem;padding-top:1.5rem;font-size:.8rem}.app-footer p{margin:0}.last-updated{font-size:.75rem;margin-top:.4rem!important}.stale-warning{color:var(--warning)}.app-status{text-align:center;color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:5rem 1.5rem;font-size:.95rem}.app-status p{margin:.35rem 0 0}.app-status .status-detail{color:var(--text-3);font-size:.8rem}.app-status.error{color:var(--text)}.retry-btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;margin-top:1rem;padding:.45rem 1.1rem;font-size:.85rem}.retry-btn:hover{background:var(--surface-hover)}
