/* /furusato: the 4 steps, the donation bar and its legend (salary.css styles the form) */
.furu-steps { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; counter-reset: step; }
.furu-steps li { position: relative; display: flex; flex-direction: column; gap: 0.2rem; padding: 0.85rem 0.8rem 0.8rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); font-size: 0.85rem; color: var(--color-text-secondary); counter-increment: step; }
.furu-steps li::before { content: counter(step); position: absolute; top: 0.55rem; right: 0.65rem; font-size: 0.75rem; font-weight: 700; color: var(--color-text-muted); }
.furu-steps strong { color: var(--color-text); font-size: 0.95rem; }
.furu-steps__icon { font-size: 1.6rem; line-height: 1; margin-bottom: 0.2rem; }

.furu-safe { margin: 0.4rem 0 0; font-size: 0.9rem; font-weight: 600; color: var(--tengri-sky); }

.furu-try { margin: 1.5rem 0; padding: 1rem 1.1rem 1.1rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); }
.furu-try h2 { font-size: 1.1rem; margin: 0 0 0.6rem; }
.furu-bar { display: flex; height: 2.6rem; margin: 0.6rem 0 0.75rem; border-radius: 8px; overflow: hidden; background: var(--color-surface-alt); }
.furu-bar__part { display: flex; align-items: center; justify-content: center; min-width: 3px; font-size: 0.75rem; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; transition: flex-grow 0.25s var(--ease-drawer, ease); }
@media (prefers-reduced-motion: reduce) { .furu-bar__part { transition: none; } }

.furu-c--you { background: var(--tengri-ember); }
/* Blues = 所得税, purples = 住民税: the topic colours (topics.js) the rest of the page uses */
.furu-c--it { background: #3558c0; }
.furu-c--basic { background: #8a4fa8; }
.furu-c--special { background: #5c2f75; }
.furu-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.3rem; font-size: 0.85rem; color: var(--color-text-secondary); }
.furu-legend li { display: flex; align-items: baseline; gap: 0.45rem; }
.furu-c { display: inline-block; flex-shrink: 0; width: 0.8rem; height: 0.8rem; border-radius: 3px; transform: translateY(1px); }
.furu-verdict { margin: 0.75rem 0 0; font-weight: 600; color: #2f6b45; }
.furu-verdict.is-over { color: var(--tengri-ember); }

@media (max-width: 768px) {
    .furu-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.furu-money-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.9rem; margin-top: 0.75rem; }
.furu-method { margin: 0; padding: 0; border: 0; display: grid; gap: 0.5rem; }
.furu-method label { display: flex; gap: 0.6rem; align-items: flex-start; padding: 0.6rem 0.7rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); cursor: pointer; }
.furu-method label:has(input:checked) { border-color: var(--color-primary); background: var(--color-surface-alt); }
.furu-method input { margin-top: 0.2rem; accent-color: var(--color-primary); }
.furu-cost { margin: 0.35rem 0 0; font-size: 0.9rem; }
.furu-cost.is-more { color: var(--tengri-ember); font-weight: 600; }
.furu-compare { margin: 0.35rem 0 0; font-size: 0.88rem; color: var(--color-text-secondary); }
.furu-vs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin: 0 0 1rem; }
.furu-vs__box { padding: 0.85rem 1rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); }
.furu-vs__box p { margin: 0 0 0.4rem; }
.furu-vs__title { font-weight: 700; font-size: 1.02rem; }
.furu-vs__eg { font-size: 0.88rem; color: var(--color-text-secondary); }
.furu-c--onestop { background: #22367d; }
@media (max-width: 640px) { .furu-vs { grid-template-columns: minmax(0, 1fr); } }
