/* Foundation tools use the existing 3.0 paper, green and ink palette. */
.ts40-intro{max-width:74ch}.ts40-context{border-left:3px solid var(--ts3-gold);padding:.75rem 1rem;background:#f0eee3;font-size:.9rem;color:var(--ts-muted)}
.ts40-panel{margin:1.5rem 0;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--ts3-line);border-radius:10px;background:#fff}
.ts40-panel h2{margin-top:0}.ts40-panel p{max-width:80ch}.ts40-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ts40-controls label,.ts40-filters label{display:grid;gap:.45rem;font-weight:600;font-size:.9rem}
.ts40-controls input,.ts40-controls select,.ts40-filters input,.ts40-filters select{width:100%;min-width:0;min-height:46px;padding:.65rem .75rem;border:1px solid #aabcae;border-radius:6px;background:#fff;color:var(--ts3-ink);font:inherit}
.ts40-controls input:focus-visible,.ts40-controls select:focus-visible,.ts40-filters input:focus-visible,.ts40-filters select:focus-visible,.ts40-item summary:focus-visible{outline:2px solid var(--ts3-green);outline-offset:3px}
.ts40-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem}.ts40-result>div{display:flex;flex-direction:column;gap:.3rem;padding:.8rem 0;border-top:1px solid var(--ts3-line)}.ts40-result strong{font-size:1.5rem;color:var(--ts3-green);font-variant-numeric:tabular-nums}.ts40-result.is-error{display:block;color:#962f24}
.ts40-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.ts40-table th,.ts40-table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--ts3-line);vertical-align:top}.ts40-table th{color:var(--ts3-ink);font-weight:650}.ts40-scroll{overflow-x:auto;max-width:100%}.ts40-table a{display:inline-block;padding:.1rem 0}.ts40-rewards{min-width:560px}
.ts40-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;margin:1.5rem 0}.ts40-item{border-bottom:1px solid var(--ts3-line);padding:.15rem 0;scroll-margin-top:160px}.ts40-item summary{min-height:64px;cursor:pointer;padding:1rem .25rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-weight:650}.ts40-item summary::after{content:'+';font-size:1.2rem;color:var(--ts3-green)}.ts40-item[open] summary::after{content:'−'}
.ts40-item-label{display:flex;align-items:center;gap:.75rem;min-width:0}.ts40-item-label>span{min-width:0;overflow-wrap:anywhere}.ts40-item-icon{display:block;flex:0 0 48px;width:48px;height:48px;object-fit:contain}.ts40-item summary::after{flex-shrink:0}
.ts40-item-body{padding:0 .25rem 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.ts40-item-body h3{font-size:1rem;margin:.5rem 0}.ts40-item-body ul{padding-left:1.25rem;margin:.5rem 0}.ts40-item-body li{margin:.5rem 0}.ts40-source{font-size:.85rem;color:var(--ts-muted)}.ts40-links{display:flex;gap:.75rem;flex-wrap:wrap}.ts40-links a{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .75rem;border-bottom:1px solid #7d9a83}.ts40-original{font-weight:500;color:var(--ts-muted);font-size:.85rem}.ts40-empty{padding:1rem 0}.ts40-page [hidden]{display:none!important}
@media(max-width:680px){.ts40-controls,.ts40-result{grid-template-columns:1fr 1fr}.ts40-filters,.ts40-item-body{grid-template-columns:1fr}.ts40-item-body{gap:.25rem}.ts40-table th,.ts40-table td{padding:.6rem .45rem;font-size:.86rem}.ts40-panel{padding:1rem}.ts40-context{padding:.65rem .75rem}}
@media(max-width:360px){.ts40-controls{grid-template-columns:1fr}.ts40-result strong{font-size:1.25rem}}
