/* Precise tables and quiet calculators. Original data remains in the document. */
html.ts3 main.ts3-data-page{--data-ink:var(--ts3-ink,#17362c);--data-green:var(--ts3-green,#245c49);--data-line:var(--ts3-line,#d9ded5)}
html.ts3 main .ts3-data-workbench{margin:1.1rem 0 1.8rem;min-width:0;color:var(--data-ink,#17362c)}
html.ts3 main .ts3-table-visible{display:block!important;overflow:visible!important;max-width:100%;min-width:0}
html.ts3 main .ts3-table-duplicate{display:none!important}
html.ts3 main .ts3-table-scroll{max-width:100%;max-height:620px;overflow:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;border:1px solid var(--data-line,#d9ded5);border-radius:3px;background:#fff;outline-offset:3px}
html.ts3 main table.ts3-data-table{display:table!important;table-layout:auto;width:100%;min-width:0;margin:0;border-collapse:separate;border-spacing:0;background:#fff;font-size:.88rem;line-height:1.5;font-variant-numeric:tabular-nums}
html.ts3 main table.ts3-data-table thead{display:table-header-group!important}
html.ts3 main table.ts3-data-table tbody{display:table-row-group!important}
html.ts3 main table.ts3-data-table tr{display:table-row!important;box-shadow:none;border:0;background:transparent;transition:background-color 120ms ease}
html.ts3 main table.ts3-data-table tr[hidden]{display:none!important}
html.ts3 main table.ts3-data-table th,html.ts3 main table.ts3-data-table td{display:table-cell!important;position:static;padding:.78rem .9rem;vertical-align:middle;border:0;border-bottom:1px solid #e5e8e1;text-align:left;max-width:32rem;font-size:inherit;white-space:normal;background:transparent;color:var(--data-ink,#17362c)}
html.ts3 main table.ts3-data-table td::before{display:none!important}
html.ts3 main table.ts3-data-table th{font-weight:700;position:sticky;top:0;z-index:2;background:#eaf0e8;min-width:5.1rem}
html.ts3 main table.ts3-data-table th:first-child,html.ts3 main table.ts3-data-table td:first-child{position:sticky;left:0;z-index:1;background:#f8f8f3;font-weight:700;border-right:1px solid #e5e8e1;min-width:5.4rem;max-width:14rem;white-space:normal;overflow-wrap:anywhere}
html.ts3 main table.ts3-data-table th:first-child{z-index:3;background:#eaf0e8}
html.ts3 main table.ts3-data-table .ts3-numeric{text-align:right;white-space:nowrap}
html.ts3 main table.ts3-data-table tbody tr:last-child td{border-bottom:0}
html.ts3 main table.ts3-data-table tbody tr:hover td{background:#f4f7f0}
html.ts3 main table.ts3-data-table tr.ts3-in-range td{background:#f0f5ea}
html.ts3 main table.ts3-data-table tr.ts3-selected td{background:#e2ecdd}
html.ts3 main table.ts3-data-table tr.ts3-selected td:first-child{box-shadow:inset 3px 0 #245c49}
html.ts3 main .ts3-table-controls{display:grid;grid-template-columns:minmax(125px,1fr) minmax(160px,1.45fr) minmax(130px,1fr) auto;gap:.75rem;align-items:end;padding:0 0 .65rem;background:none;border:0}
html.ts3 main .ts3-table-controls[hidden],html.ts3 main .ts3-selection[hidden],html.ts3 main [data-building-planner][hidden]{display:none!important}
html.ts3 main :is(.ts3-table-controls,.ts3-growth-workbench,.ts3-building-planner) label{display:grid;min-width:0;gap:.38rem;color:#355244;font-size:.82rem;font-weight:650}
html.ts3 main :is(.ts3-table-controls,.ts3-growth-workbench,.ts3-building-planner) :is(input,select){box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:.6rem .7rem;border:1px solid #aab8a7;border-radius:3px;background:#fff;color:#17362c;font:inherit;font-size:1rem;box-shadow:none}
html.ts3 main :is(.ts3-table-controls,.ts3-growth-workbench,.ts3-building-planner) button,html.ts3 main .ts3-selection button{min-height:44px;padding:.6rem .9rem;border:1px solid #aab8a7;background:#fff;color:#245c49;font:inherit;font-size:.875rem;border-radius:3px;cursor:pointer;box-shadow:none}
html.ts3 main :is(.ts3-table-controls,.ts3-growth-workbench,.ts3-building-planner) button:hover,html.ts3 main .ts3-selection button:hover{background:#eaf0e8;border-color:#245c49}
html.ts3 main :is(.ts3-table-controls,.ts3-growth-workbench,.ts3-building-planner) :is(input,select,button):focus-visible,html.ts3 main .ts3-table-scroll:focus-visible,html.ts3 main .ts3-selection :is(summary,button):focus-visible{outline:3px solid #92763c;outline-offset:3px}
html.ts3 main .ts3-table-status{min-height:1.3em;margin:.1rem 0 .5rem;font-size:.79rem;color:#526454}
html.ts3 main .ts3-table-status:empty{display:none}
html.ts3 main .ts3-empty{padding:.8rem;border-left:3px solid #a9782e;background:#fff6e7;color:#65481e}
html.ts3 main .ts3-selection{margin:0 0 .8rem;padding:0;border:0;border-top:1px solid var(--data-line,#d9ded5);border-bottom:1px solid var(--data-line,#d9ded5);border-radius:0;background:#edf2e8}
html.ts3 main .ts3-selection summary{padding:.8rem;min-height:44px;cursor:pointer;font-size:.87rem;font-weight:650}
html.ts3 main .ts3-selection dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin:0;padding:.2rem .8rem 1rem}
html.ts3 main .ts3-selection dl>div{min-width:0}
html.ts3 main .ts3-selection dt{font-size:.76rem;color:#526454;line-height:1.4}
html.ts3 main .ts3-selection dd{margin:.2rem 0 0;font-size:.94rem;font-weight:650;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
html.ts3 main .ts3-selection button{margin:0 .8rem .8rem}
html.ts3 main :is(.ts3-table-note,.ts3-table-context,.ts3-input-note){font-size:.78rem;color:#526454;line-height:1.55;max-width:85ch;margin:.6rem 0}
html.ts3 main .ts3-table-note:empty{display:none}
html.ts3 main .ts3-growth-workbench,html.ts3 main .ts3-building-planner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;border:1px solid #cbd7c5;border-left:3px solid #245c49;background:#f0f4eb;padding:1.2rem;margin:1.2rem 0;border-radius:3px;color:#17362c;box-shadow:none}
html.ts3 main .ts3-growth-workbench>label{min-width:0;flex:none}
html.ts3 main .ts3-building-planner{grid-template-columns:1fr}
html.ts3 main .ts3-building-planner h3{font-size:1.04rem;margin:0}
html.ts3 main .ts3-level-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:1rem;max-width:36rem}
html.ts3 main .ts3-level-inputs>span{padding-bottom:.65rem}
html.ts3 main .ts3-inventory{border:0;border-top:1px solid #cbd7c5;border-radius:0;padding:0;background:none}
html.ts3 main .ts3-inventory summary{padding:.75rem 0;cursor:pointer;font-size:.84rem;font-weight:650;min-height:44px}
html.ts3 main .ts3-inventory>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:.25rem 0 .65rem}
html.ts3 main :is(.ts3-growth-workbench,.ts3-building-planner)>output{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:start;gap:1.25rem 2rem;padding:1rem 0 0;border-top:1px solid #cbd7c5;min-height:5.4rem;margin:0;font-weight:400;line-height:1.45;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
html.ts3 main .ts3-result-range{flex:0 0 100%;font-size:.79rem;font-weight:650;color:#526454}
html.ts3 main .ts3-result-value{display:grid;gap:.2rem;min-width:0;max-width:100%}
html.ts3 main .ts3-result-value>span{font-size:.78rem;color:#526454}
html.ts3 main .ts3-result-value>strong{font-size:clamp(1.15rem,2.3vw,1.55rem);line-height:1.25;color:#17362c;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
html.ts3 main .ts3-result-value>small{font-size:.78rem;font-weight:500;color:#355244}
html.ts3 main .ts3-result-note{flex:0 0 100%;font-size:.82rem}
html.ts3 main .ts3-result-error{color:#8b3528!important;font-size:.91rem}
html.ts3 main [aria-invalid=true]{border-color:#a34b37!important;outline-color:#a34b37!important;background:#fff9f6!important}
html.ts3 main .ts3-growth-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;grid-column:1/-1}
html.ts3 main .ts3-growth-actions>span{font-size:.75rem;color:#526454}
html.ts3 main .ts3-growth-workbench>.ts3-input-note{grid-column:1/-1;grid-row:1;margin:0}
html.ts3 main .speedup-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
html.ts3 main .speedup-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #cbd7c5;border-bottom:1px solid #cbd7c5}
html.ts3 main .speedup-result{padding:1.2rem;background:#eef3e9;border:0;border-radius:0;box-shadow:none;font-variant-numeric:tabular-nums;min-width:0}
html.ts3 main .speedup-result+div{border-left:1px solid #cbd7c5}
html.ts3 main .speedup-result strong{font-size:.84rem}
html.ts3 main .speedup-result span{font-size:1.45rem;overflow-wrap:anywhere}
@media(max-width:700px){html.ts3 main .ts3-table-controls{grid-template-columns:1fr 1fr;gap:.6rem}html.ts3 main .ts3-table-controls label:nth-child(2){grid-column:1/-1;grid-row:1}html.ts3 main .ts3-table-controls button{grid-column:2}html.ts3 main .ts3-table-scroll{max-height:520px}html.ts3 main table.ts3-data-table th,html.ts3 main table.ts3-data-table td{padding:.7rem .7rem;font-size:.82rem}html.ts3 main table.ts3-data-table th:first-child,html.ts3 main table.ts3-data-table td:first-child{min-width:4.4rem}html.ts3 main .ts3-growth-workbench{grid-template-columns:1fr 1fr;padding:1rem .85rem;gap:.8rem}html.ts3 main .ts3-growth-workbench>label:nth-of-type(3){grid-column:1/-1}html.ts3 main .ts3-building-planner{padding:1rem .85rem}html.ts3 main .ts3-inventory>div{grid-template-columns:1fr 1fr}html.ts3 main .speedup-result-grid{grid-template-columns:1fr}html.ts3 main .speedup-result+div{border-left:0;border-top:1px solid #cbd7c5}html.ts3 main .speedup-result{display:flex;justify-content:space-between;gap:1rem;padding:1rem}html.ts3 main .speedup-form{gap:.6rem}html.ts3 main .ts3-selection dl{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html.ts3 main table.ts3-data-table tr{transition:none}html.ts3 main .ts3-table-scroll{scroll-behavior:auto}}

/* Catalogs emphasize real tools and the data behind each item, without repeating large cards. */
html.ts3 main .ts3-data-catalog{display:grid!important;grid-template-columns:1fr!important;gap:0!important;border-top:1px solid #d9ded5}
html.ts3 main .ts3-catalog-entry{display:grid!important;grid-template-columns:100px minmax(0,1fr);gap:1.4rem;align-items:center;min-width:0;padding:1.25rem 0!important;margin:0!important;border:0!important;border-bottom:1px solid #d9ded5!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;transform:none!important}
html.ts3 main .ts3-catalog-entry[hidden],html.ts3 main .ts3-catalog-no-match{display:none!important}
html.ts3 main .ts3-catalog-entry :is(.building-thumb,.behemoth-thumb,.tool-thumb){display:flex;align-items:center;justify-content:center;width:100px;height:100px;aspect-ratio:1;min-height:0;padding:.45rem;background:#eef0e8;border:0;border-radius:3px;overflow:hidden}
html.ts3 main .ts3-catalog-entry :is(.building-thumb,.behemoth-thumb,.tool-thumb) img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;transform:none}
html.ts3 main .ts3-catalog-entry :is(.building-body,.behemoth-body,.tool-body){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1.3rem;align-items:center;padding:0;min-width:0}
html.ts3 main .ts3-catalog-entry h3{grid-column:1;font-size:1.05rem;line-height:1.45;margin:0}
html.ts3 main .ts3-catalog-entry p{grid-column:1;font-size:.87rem;line-height:1.55;margin:0;color:#526454;max-width:65ch}
html.ts3 main .ts3-catalog-entry :is(.building-meta,.tool-meta){grid-column:1;display:flex;flex-wrap:wrap;gap:.45rem;margin:0}
html.ts3 main .ts3-catalog-entry :is(.building-meta,.tool-meta) .chip{font-size:.73rem;padding:0;background:none!important;border:0!important;border-radius:0;color:#526454}
html.ts3 main .ts3-catalog-entry :is(.building-link,.behemoth-link,.tool-link){grid-column:2;grid-row:1/4;justify-self:end;display:inline-flex;align-items:center;min-height:44px;padding:.5rem .75rem;border:1px solid #aab8a7;border-radius:3px;background:#fff;white-space:normal;text-align:center;font-size:.83rem;color:#245c49}
html.ts3 main .ts3-catalog-entry p.ts3-catalog-data{grid-column:1/-1;display:flex;align-items:baseline;gap:.6rem;margin-top:.25rem;font-size:.78rem}
html.ts3 main .ts3-catalog-data>a{display:inline-flex;align-items:center;color:#245c49;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding-block:.3rem}
html.ts3 main .ts3-catalog-data>span{color:#62715f;font-size:.74rem}
html.ts3 main .ts3-catalog-controls{display:grid;grid-template-columns:minmax(180px,2fr) minmax(140px,1fr) minmax(130px,1fr) auto;gap:.75rem;align-items:end;margin:1.5rem 0;padding:0 0 1rem;border:0;border-bottom:1px solid #d9ded5;background:none}
html.ts3 main .ts3-catalog-controls[hidden]{display:none!important}
html.ts3 main .ts3-catalog-controls label{display:grid;gap:.4rem;font-size:.79rem;color:#355244;min-width:0}
html.ts3 main .ts3-catalog-controls :is(input,select,button){width:100%;box-sizing:border-box;min-width:0;min-height:44px;padding:.65rem .75rem;font:inherit;font-size:.91rem;border:1px solid #aab8a7;border-radius:3px;background:#fff;color:#17362c;box-shadow:none}
html.ts3 main .ts3-catalog-controls button{cursor:pointer}
html.ts3 main .ts3-catalog-controls>p{grid-column:1/-1;min-height:1.4em;margin:0;color:#526454;font-size:.78rem}
html.ts3 main .ts3-catalog-controls :is(input,select,button):focus-visible,html.ts3 main .ts3-catalog-entry a:focus-visible{outline:3px solid #92763c;outline-offset:3px}
html.ts3 main .ts3-research-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #d9ded5}
html.ts3 main .ts3-research-list>article{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr);gap:1rem;align-items:baseline;padding:1.2rem 0;border:0;border-bottom:1px solid #d9ded5;border-radius:0;background:transparent;box-shadow:none}
html.ts3 main .ts3-research-list h3{margin:0;font-size:.96rem;line-height:1.5}
html.ts3 main .ts3-research-list p{margin:0;font-size:.89rem;line-height:1.7}
html.ts3 main .ts3-research-list .priority-rank{grid-column:1/-1;font-size:.75rem;width:max-content;border-radius:2px;margin-bottom:-.6rem}
@media(max-width:700px){html.ts3 main .ts3-catalog-controls{grid-template-columns:1fr 1fr}html.ts3 main .ts3-catalog-controls label:first-child{grid-column:1/-1}html.ts3 main .ts3-catalog-controls button{grid-column:2}html.ts3 main .ts3-catalog-entry{grid-template-columns:74px minmax(0,1fr);gap:1rem;padding:1.1rem 0!important}html.ts3 main .ts3-catalog-entry :is(.building-thumb,.behemoth-thumb,.tool-thumb){width:74px;height:84px}html.ts3 main .ts3-catalog-entry :is(.building-body,.behemoth-body,.tool-body){grid-template-columns:1fr;gap:.35rem}html.ts3 main .ts3-catalog-entry :is(.building-link,.behemoth-link,.tool-link){grid-column:1;grid-row:auto;justify-self:start;padding:.35rem .65rem}html.ts3 main .ts3-catalog-entry h3{font-size:.96rem}html.ts3 main .ts3-catalog-entry p{font-size:.81rem}html.ts3 main .ts3-research-list>article{grid-template-columns:1fr;gap:.6rem}}
