/* JT Tools — reusable evidence-based tools ([jt_tool]). Swiss ledger on paper; tokens from DESIGN.md. */
.jt-tool{
	--t-ink:#1f1f21; --t-muted:#6f6b67; --t-paper:#f4eee8; --t-surface:#fbf8f4; --t-line:#c7bdb5; --t-teal:#075e54; --t-teal-ink:#0b4c45; --t-deep:#242329; --t-light:#f1ece7;
	box-sizing:border-box;
	width:100%;
	max-width:760px;
	margin:40px auto;
	padding:0;
	background:var(--t-surface);
	border:1px solid var(--t-line);
	color:var(--t-ink);
	font-family:Roobert,"Helvetica Neue",Arial,sans-serif;
	font-weight:300;
	line-height:1.55;
}
.jt-tool *{box-sizing:border-box}
.jt-tool__kicker{margin:0;padding:22px 26px 0;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--t-teal)}
.jt-tool__title{margin:6px 0 0;padding:0 26px;font-family:Butler,Georgia,serif;font-weight:300;font-size:clamp(24px,3vw,32px);line-height:1.15;color:var(--t-ink);text-wrap:balance;max-width:none}
.jt-tool__intro{margin:10px 0 0;padding:0 26px 22px;font-size:15.5px;color:var(--t-muted);max-width:64ch;border-bottom:1px solid var(--t-line)}
.jt-tool__form{margin:0;padding:0}
.jt-tool__q{margin:0;padding:18px 26px 20px;border:0;border-bottom:1px solid var(--t-line);min-width:0}
.jt-tool__q legend{padding:0;float:left;width:100%}
.jt-tool__q legend + *{clear:both}
.jt-tool__label{display:block;margin:0 0 10px;font-size:15px;font-weight:600;line-height:1.35;color:var(--t-ink)}
.jt-tool__n{display:inline-block;min-width:26px;margin-right:4px;font-size:11px;font-weight:700;letter-spacing:0;color:var(--t-teal);vertical-align:1px}
.jt-tool__help{margin:-4px 0 10px;font-size:13.5px;color:var(--t-muted);max-width:60ch}
.jt-tool__opts{display:grid;grid-template-columns:1fr;gap:6px}
@media (min-width:640px){.jt-tool__opts--2col{grid-template-columns:1fr 1fr}}
.jt-tool__opt{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border:1px solid var(--t-line);background:var(--t-paper);cursor:pointer;font-size:15px;line-height:1.4;transition:border-color .15s,background .15s}
.jt-tool__opt:hover{border-color:var(--t-teal)}
.jt-tool__opt input{flex:0 0 auto;margin:3px 0 0;width:16px;height:16px;accent-color:var(--t-teal)}
.jt-tool__opt:has(input:checked){border-color:var(--t-teal);background:#fff}
.jt-tool__opt:has(input:focus-visible){outline:2px solid var(--t-teal);outline-offset:2px}
.jt-tool__select,.jt-tool__input{width:100%;max-width:360px;padding:11px 12px;border:1px solid var(--t-line);border-radius:0;background:var(--t-paper);color:var(--t-ink);font:inherit;font-size:15px;line-height:1.3}
.jt-tool__select:focus-visible,.jt-tool__input:focus-visible{outline:2px solid var(--t-teal);outline-offset:2px}
.jt-tool__num{display:flex;align-items:center;gap:10px}
.jt-tool__input{max-width:160px;font-variant-numeric:tabular-nums}
.jt-tool__unit{font-size:14px;color:var(--t-muted)}
.jt-tool__q--missing{background:#fbf1ed;box-shadow:inset 3px 0 0 #9e3a28}
.jt-tool__error{margin:0;padding:12px 26px;font-size:14px;color:#9e3a28;border-bottom:1px solid var(--t-line)}
.jt-tool__btn{display:block;width:calc(100% - 52px);margin:22px 26px;padding:15px 22px;border:0;border-radius:999px;background:var(--t-teal);color:#fff;font:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.1;cursor:pointer;transition:background .15s}
.jt-tool__btn:hover{background:var(--t-teal-ink)}
.jt-tool__btn:focus-visible{outline:2px solid var(--t-teal);outline-offset:3px}
.jt-tool__result{margin:0;padding:26px;background:var(--t-deep);color:var(--t-light);border-top:1px solid var(--t-line)}
.jt-tool__result:focus{outline:none}
.jt-tool__result-label{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:#bfe3da}
.jt-tool__result-headline{margin:0 0 12px;font-family:Butler,Georgia,serif;font-weight:300;font-size:clamp(22px,2.6vw,30px);line-height:1.15;color:#fff;text-wrap:balance}
.jt-tool__result-body,.jt-tool__result-next{margin:0 0 12px;font-size:15.5px;line-height:1.6;color:var(--t-light);max-width:66ch}
.jt-tool__result-list{margin:0 0 14px;padding-left:18px;font-size:15px;line-height:1.55;max-width:66ch}
.jt-tool__result-list li{margin:0 0 6px}
.jt-tool__result-next{padding-top:10px;border-top:1px solid rgba(241,236,231,.22)}
.jt-tool__cta{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;padding:12px 20px;border-radius:999px;background:var(--t-light);color:var(--t-ink)!important;text-decoration:none!important;font-size:13px;font-weight:800;letter-spacing:0;text-transform:uppercase;line-height:1.1}
.jt-tool__cta:hover{background:#fff}
.jt-tool__disclaimer{margin:0;padding:16px 26px 0;font-size:13px;line-height:1.5;color:var(--t-muted);max-width:66ch}
.jt-tool__sources{margin:0;padding:10px 26px 20px;font-size:12.5px;line-height:1.6;color:var(--t-muted)}
.jt-tool__sources-label{display:inline-block;margin-right:8px;font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--t-teal)}
.jt-tool__sources a{color:var(--t-muted);text-decoration:underline;text-underline-offset:2px}
.jt-tool__sources a:hover{color:var(--t-teal-ink)}
/* Mobile rail: full-bleed article containers give the tool the shared 20px gutter; padded containers are untouched (100% wins). */
@media (max-width:767px){
	.jt-tool{width:min(100%,calc(100vw - 40px));margin:32px auto}
	.jt-tool__kicker,.jt-tool__title,.jt-tool__intro,.jt-tool__q,.jt-tool__error,.jt-tool__result,.jt-tool__disclaimer,.jt-tool__sources{padding-left:18px;padding-right:18px}
	.jt-tool__btn{width:calc(100% - 36px);margin:20px 18px}
}
/* Neutralise legacy list/paragraph rails inside the tool so ledger rows keep their own geometry. */
.entry-content .jt-tool p,.entry-content .jt-tool ul,.entry-content .jt-tool legend,.entry-content .jt-tool label{width:auto!important;max-width:none!important;margin-left:0!important;margin-right:0!important;text-align:left!important}
.entry-content .jt-tool ul.jt-tool__result-list{margin-left:0!important;padding-left:18px!important;list-style:disc!important}
.entry-content .jt-tool ul.jt-tool__result-list li::before{content:none!important}
.entry-content .jt-tool .jt-tool__result-body,.entry-content .jt-tool .jt-tool__result-next,.entry-content .jt-tool .jt-tool__result-list{max-width:66ch!important}
.jt-tool__result-lines{margin:0 0 12px;font-size:14px;line-height:1.5;color:#bfe3da;font-variant-numeric:tabular-nums}
.jt-tool__note{margin:12px 0 0;padding:12px 14px;border:1px solid rgba(241,236,231,.22);background:rgba(255,255,255,.04)}
.jt-tool__note-title{margin:0 0 4px;font-size:13px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:#bfe3da}
.jt-tool__note-body{margin:0;font-size:14.5px;line-height:1.55;color:var(--t-light);max-width:66ch}
.jt-tool__q[hidden]{display:none!important}
.jt-tool__opt input[type=checkbox]{border-radius:0}
.jt-tool__sources{margin:0;padding:12px 26px 22px}
.jt-tool__sources-label{margin:0 0 6px!important;font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:var(--t-teal)}
.entry-content .jt-tool ol.jt-tool__sources-list{margin:0!important;padding-left:18px!important;list-style:decimal!important;font-size:12.5px;line-height:1.5;color:var(--t-muted);max-width:66ch!important}
.entry-content .jt-tool ol.jt-tool__sources-list li{margin:0 0 4px;padding:0}
.entry-content .jt-tool ol.jt-tool__sources-list li::before{content:none!important}
@media (max-width:767px){.jt-tool__sources{padding-left:18px;padding-right:18px}}
/* theme link rules (pills / nowrap) must not apply to citation links */
.entry-content .jt-tool ol.jt-tool__sources-list li a{display:inline!important;white-space:normal!important;overflow-wrap:anywhere;padding:0!important;border:0!important;background:none!important;border-radius:0!important;font:inherit!important;text-transform:none!important;letter-spacing:0!important}
.entry-content .jt-tool ol.jt-tool__sources-list li{overflow-wrap:anywhere}
