/* Side-job take-home calculator (dist/take-home-tool.js). Loaded only on the article that embeds it. */
.take-home-tool{border:1px solid var(--color-border-strong);border-radius:14px;background:var(--color-surface);margin:25px 0;overflow:hidden;line-height:1.8}
.take-home-tool noscript p{padding:20px;font-size:.875rem}
.tht-form{padding:22px 24px;background:var(--color-primary-soft);display:grid;gap:18px}
.tht-form fieldset{margin:0;padding:0;border:0;min-width:0}
.tht-form legend,.tht-field>label{display:block;font-size:.875rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.tht-styles,.tht-period{display:flex;flex-wrap:wrap;gap:8px}
.tht-styles legend,.tht-period legend{width:100%}
.tht-styles label,.tht-period label{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 14px;background:#fff;border:1px solid var(--color-border-strong);border-radius:8px;font-size:.875rem;cursor:pointer;color:var(--ink)}
.tht-styles label:has(input:checked),.tht-period label:has(input:checked){border-color:var(--green);box-shadow:0 0 0 1px var(--green);font-weight:600}
.tht-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tht-input{display:flex;align-items:center;gap:8px}
.tht-input input{flex:1;min-width:0;min-height:46px;padding:8px 12px;border:1px solid var(--color-border-input);border-radius:8px;background:#fff;color:var(--ink);font-size:1rem;text-align:right}
.tht-input input:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}
.tht-input span{font-size:.875rem;color:var(--ink);white-space:nowrap}
.tht-field small{display:block;font-size:.75rem;line-height:1.8;color:var(--muted);margin-top:6px}
.tht-check{display:flex;align-items:center;gap:9px;font-size:.875rem;color:var(--ink);cursor:pointer;min-height:32px}
.tht-check input{width:18px;height:18px;accent-color:var(--green)}
.tht-more summary{cursor:pointer;font-size:.875rem;color:var(--color-link);text-decoration:underline;text-underline-offset:4px;min-height:32px}
.tht-more .tht-field{margin-top:12px}
.tht-result{padding:22px 24px}
.tht-headline{display:grid;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.tht-headline span{font-size:.875rem;font-weight:600;color:var(--ink)}
.tht-headline strong{font-size:2rem;line-height:1.4;color:var(--primary-700);font-weight:800}
.tht-headline small{font-size:.875rem;color:var(--muted)}
.tht-breakdown{margin:14px 0 0;display:grid;font-size:.875rem}
.tht-breakdown div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px dashed var(--line)}
.tht-breakdown dt{color:var(--muted)}.tht-breakdown dd{margin:0;color:var(--ink);font-weight:600;text-align:right}
.tht-schedule{margin-top:18px;background:var(--color-accent-soft);border-radius:10px;padding:16px 18px}
.article-body .tht-schedule h3{margin:0 0 6px;font-size:1rem}
.article-body .tht-schedule ul{margin:0;padding-left:20px}.tht-schedule li{color:var(--ink);font-weight:600}
.article-body .tht-schedule p{margin-top:8px;font-size:.875rem}
.article-body .tht-notes{margin:16px 0 0;font-size:.875rem;line-height:1.9}
.article-body .tht-scope{font-size:.75rem;color:var(--muted);margin-top:14px;line-height:1.8}
.tht-error{color:#a3361b;font-weight:600;font-size:.875rem}
@media(max-width:600px){.tht-form,.tht-result{padding:18px 16px}.tht-pair{grid-template-columns:1fr}.tht-styles label{width:100%}.tht-headline strong{font-size:1.7rem}}
