.container > .tools-page-title,
.container > .tools-page-title + p.muted,
.tl-list { max-width: 960px; margin-left: auto; margin-right: auto; }
.tl-list { margin-top: 12px; }
.tl-group + .tl-group { margin-top: 22px; }
.tl-group .tools-section-title { margin: 0 0 2px; font-size: 13px; }
.tl-rows { display: flex; flex-direction: column; }
.tl-row { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 10px 0; border-bottom: 1px solid var(--border-subtle); color: var(--text); text-decoration: none; -webkit-tap-highlight-color: transparent; }
.tl-row:last-child { border-bottom: 0; }
.tl-row:hover .tl-row__t b { color: var(--brand-fg); }
.tl-row__ic { flex: none; width: 40px; height: 40px; border-radius: var(--radius-md); display: grid; place-items: center; background: var(--brand-soft); color: var(--brand-fg); }
.tl-row__ic .icon { width: 21px; height: 21px; }
.tl-row__t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.tl-row__t b { font-size: 16px; font-weight: 700; }
.tl-row__t small { font-size: 13px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl-row > .icon { flex: none; width: 18px; height: 18px; color: var(--text-faint); }
.tl-list[hidden], .tl-screen[hidden], .tl-tool[hidden] { display: none; }
@media (min-width: 900px) {
  .tl-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; margin-top: 20px; }
  .tl-group + .tl-group { margin-top: 0; }
}
.tl-screen { max-width: 560px; margin: 0 auto; }
.tools-section.tl-screen { margin-top: 0; }
.tl-subhd { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; min-height: 52px; margin: -4px -8px 8px; }
.tl-back { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--text); }
.tl-back:hover { background: var(--bg-sunken); }
.tl-back .icon-inline, .tl-back svg { width: 24px; height: 24px; }
.tl-title { margin: 0; text-align: center; font-size: 17px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tl-tool { padding-bottom: 8px; }
@media (min-width: 861px) { .tl-subhd { margin-top: 4px; } }
.tc-lbl { margin: 18px 0 6px; font-size: 13px; font-weight: 700; color: var(--text-muted); }
.tc-note { margin: 14px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--text-muted); word-break: keep-all; }
.tc-note a { color: inherit; text-decoration: underline; }
.tc-intro { margin: 0 0 12px; font-size: 14px; color: var(--text-muted); word-break: keep-all; text-wrap: pretty; }
.tc-gap { margin-top: 8px; }
.tl-tool .data-credit { margin-top: 10px; }
.tc-pair { display: flex; align-items: center; gap: 6px; margin-top: 12px; }
.tc-pair__c { flex: 1; min-width: 0; }
.tc-swap { flex: none; width: 36px; height: 36px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--card); box-shadow: inset 0 0 0 1px var(--border); color: var(--text); cursor: pointer; }
.tc-swap .icon { width: 18px; height: 18px; }
.tc-verdict { display: flex; align-items: flex-start; gap: 10px; margin-top: 14px; padding: 14px 16px; border-radius: var(--radius-lg); background: var(--bg-sunken); color: var(--text); font-size: 14px; font-weight: 600; }
.tc-verdict > .icon { flex: none; width: 22px; height: 22px; margin-top: 1px; }
.tc-verdict b { display: block; font-size: 17px; font-weight: 800; line-height: 1.35; }
.tc-verdict small { display: block; margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--text-muted); }
.tc-verdict.visa-free, .tc-verdict.is-ok { background: color-mix(in srgb, var(--positive) 13%, var(--card)); color: var(--positive); }
.tc-verdict.visa-eta { background: var(--brand-soft); color: var(--brand-fg); }
.tc-verdict.visa-required, .tc-verdict.is-warn { background: color-mix(in srgb, var(--text-warning) 13%, var(--card)); color: var(--text-warning); }
.tc-verdict.visa-check { color: var(--text); }
.tc-amt { display: block; }
.tc-amt__l { display: block; font-size: 12.5px; font-weight: 600; color: var(--text-muted); }
.tc-amt input { width: 100%; margin: 0; padding: 2px 0 6px; border: 0; border-bottom: 2px solid var(--brand); border-radius: 0; background: none; color: var(--text); font: inherit; font-size: 34px; font-weight: 800; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; outline: 0; }
.tc-result { margin-top: 14px; padding: 12px 16px; border-radius: var(--radius-lg); background: var(--brand-soft); }
.tc-result .currency-result { margin: 0; padding: 0; background: none; color: var(--brand-fg); font-size: 15px; font-weight: 700; }
.tc-result .currency-result b { font-size: 26px; font-weight: 800; letter-spacing: -0.02em; }
.tc-result__ref { display: flex; align-items: center; gap: 4px; margin-top: 2px; font-size: 12.5px; color: var(--text-muted); }
.tc-result__ref > span { min-width: 0; }
.tc-info { flex: none; width: 26px; height: 26px; border: 0; border-radius: 50%; display: grid; place-items: center; background: none; color: var(--text-muted); cursor: pointer; }
.tc-info .icon { width: 16px; height: 16px; }
.tc-quick__chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding: 2px 0; }
.tc-quick__chips::-webkit-scrollbar { display: none; }
.tc-about { margin: 0 0 10px; font-size: 14.5px; line-height: 1.6; word-break: keep-all; }
.tc-about--sub { font-size: 13px; color: var(--text-muted); }
.ts-rows { display: flex; flex-direction: column; gap: 8px; }
.ts-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) 28px; align-items: center; gap: 8px; margin: 0; }
.ts-row input { width: 100%; min-height: 46px; margin: 0; padding: 0 14px; border: 0; border-radius: var(--radius-md); background: var(--bg-sunken); color: var(--text); font: inherit; font-size: 15px; outline: 0; }
.ts-row input:focus { box-shadow: inset 0 0 0 1.5px var(--brand); }
.ts-row .split-amount { font-variant-numeric: tabular-nums; }
.ts-del { width: 28px; height: 28px; border: 0; border-radius: 50%; display: grid; place-items: center; background: none; color: var(--text-muted); cursor: pointer; }
.ts-del[hidden] { display: block; visibility: hidden; }
.ts-del .icon { width: 17px; height: 17px; }
.ts-add { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; padding: 8px 0; border: 0; background: none; color: var(--brand-fg); font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer; }
.ts-add .icon { width: 18px; height: 18px; }
.ts-result .split-total-line { margin: 14px 0 8px; font-size: 13.5px; color: var(--text-muted); }
.ts-result .settle-box { background: var(--bg-sunken); }
.ts-result .split-transfer { padding: 0; border-radius: 0; background: none; font-weight: 400; }
.ts-result .settle-text { font-size: 14px; color: var(--text); }
.ts-result .settle-amount { color: var(--text); }
.settle-avatar[data-m="1"] { background: var(--member-1); }
.settle-avatar[data-m="2"] { background: var(--member-2); }
.settle-avatar[data-m="3"] { background: var(--member-3); }
.settle-avatar[data-m="4"] { background: var(--member-4); }
.settle-avatar[data-m="5"] { background: var(--member-5); }
.tv-plugs { display: flex; gap: 8px; margin-top: 10px; }
.tv-plug { flex: 1; min-width: 0; padding: 10px 4px; border-radius: var(--radius-md); box-shadow: inset 0 0 0 1px var(--border); text-align: center; }
.tv-plug b { display: block; font-size: 20px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.tv-plug small { display: block; font-size: 11.5px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tv-plug.is-home { background: var(--bg-sunken); box-shadow: none; }
.tp-days { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 52px; margin-top: 8px; padding: 6px 6px 6px 14px; border-radius: var(--radius-md); background: var(--bg-sunken); }
.tp-days__l { font-size: 13px; font-weight: 600; color: var(--text-muted); }
.tp-step { display: flex; align-items: center; gap: 4px; }
.tp-step b { min-width: 52px; text-align: center; font-size: 15px; font-weight: 800; }
.tp-step__b { width: 36px; height: 36px; border: 0; border-radius: 50%; display: grid; place-items: center; background: var(--card); color: var(--text); cursor: pointer; }
.tp-step__b .icon { width: 17px; height: 17px; }
.tp-climate > * { height: 40px; font-size: 14px; padding: 0 4px; }
.tp-auto { margin-top: 8px; }
.tp-style { padding: 2px 0; }
.tp-go { margin-top: 22px; }
.tp-back { display: inline-flex; align-items: center; gap: 4px; margin: 0 0 6px -4px; padding: 6px 4px; border: 0; background: none; color: var(--brand-fg); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.tp-back .icon { width: 18px; height: 18px; }
.tp-sum { margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--text-muted); word-break: keep-all; }
.tl-tool .pack-groups { display: block; }
.tp-group { border-bottom: 1px solid var(--border-subtle); }
.tp-group > summary { display: flex; align-items: center; gap: 8px; min-height: 48px; cursor: pointer; list-style: none; }
.tp-group > summary::-webkit-details-marker { display: none; }
.tp-group > summary b { font-size: 15px; font-weight: 800; }
.tp-group > summary small { font-size: 13px; color: var(--text-muted); font-weight: 600; }
.tp-group > summary .icon { margin-left: auto; width: 18px; height: 18px; color: var(--text-faint); transition: transform .15s; }
.tp-group[open] > summary .icon { transform: rotate(180deg); }
.tl-tool .pack-items { margin: 0; padding: 0 0 8px; list-style: none; }
.tl-tool .pack-item { display: flex; align-items: center; gap: 12px; margin: 0; padding: 8px 0; border: 0; color: var(--text); font-size: 15px; font-weight: 500; cursor: pointer; }
.tl-tool .pack-item::before { content: none; }
.tl-tool .pack-item small { margin-left: 4px; font-size: 12.5px; color: var(--text-muted); }
.tl-tool .pack-item input:checked + span { color: var(--text-muted); text-decoration: line-through; }
.tp-acts { display: flex; gap: 8px; margin-top: 16px; }
.tp-acts .ui-btn { flex: 1; min-width: 0; height: 46px; padding: 0 12px; font-size: 14.5px; }
.tp-acts .ui-btn[hidden] { display: none; }
.tb-result { display: flex; gap: 8px; margin-top: 12px; }
.tb-box { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border: 0; border-radius: var(--radius-lg); background: var(--bg-sunken); }
.tb-box small { font-size: 12.5px; font-weight: 600; color: var(--text-muted); }
.tb-box b { font-size: 15px; font-weight: 800; line-height: 1.35; word-break: keep-all; }
#tools-destination .dest-snapshot { gap: 0; margin-top: 10px; }
#tools-destination .dest-row { display: block; padding: 0; border-radius: 0; background: none; }
#tools-destination .dest-snapshot > :not(.dest-row) { margin-bottom: 8px; }
#tools-destination .dest-snapshot > .travel-alert-slot { margin: 12px 0 0; }
#tools-destination .dest-row-icon { display: none; }
#tools-destination .dest-row-text { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--border-subtle); }
#tools-destination .dest-row-label { font-size: 13px; font-weight: 600; color: var(--text-muted); word-break: keep-all; }
#tools-destination .dest-row-val { font-size: 14.5px; word-break: keep-all; }
#tools-destination .dest-guide-chips { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; padding: 2px 0; }
#tools-destination .dest-guide-chips::-webkit-scrollbar { display: none; }
.tw-now { display: flex; flex-direction: column; align-items: center; padding: 4px 0 8px; }
.tw-now small { font-size: 12.5px; color: var(--text-muted); font-weight: 600; }
.tw-now b { font-size: 40px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
.tw-now span { font-size: 13px; color: var(--text-muted); }
.tl-tool .wc-diff-result { flex-direction: column; align-items: flex-start; gap: 2px; margin-top: 12px; }
.tl-tool .wc-diff-result b { font-size: 16px; font-weight: 800; }
.tl-tool .wc-diff-result small { font-size: 12.5px; font-weight: 600; opacity: .85; }
.tw-tabs { margin-top: 18px; padding: 0; gap: 18px; overflow-x: auto; scrollbar-width: none; }
.tw-tabs::-webkit-scrollbar { display: none; }
.tw-tabs > * { font-size: 14.5px; }
.tw-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border-subtle); }
.tw-row .wc-city { flex: 1; min-width: 0; font-size: 14.5px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tw-row .wc-time { font-size: 16px; font-weight: 800; }
.tw-row .wc-date { width: 76px; text-align: right; font-size: 12.5px; color: var(--text-muted); white-space: nowrap; }
