/* Answer and tool pages (render.py). The tools' shared base (content/riki/_shared/base.css, copied by
   build.py's maintainer when it changes) plus the article, sources and call-to-action blocks. */
:root{--paper:#f3eee3;--site-ground:#f5eada;--surface:#ffffff;--surface-sunk:#f8f4ec;--tray:#e9e2d3;--line:#ddd5c4;--line-strong:#8f877a;--ink:#1a1a1a;--ink-2:#47423a;--ink-3:#6a6356;--action:#1a1a1a;--on-action:#f5efe1;--bar:#1a1a1a;--on-bar:#f5efe1;--stamp:#6a46a3;--stamp-tint:#ece5f5;--ok:#5e3f93;--attention:#9a5300;--attention-tint:#f6e6c9;--danger:#b0281e;--focus:#6a46a3;--shadow-panel:0 0 0 1px #ddd5c4, 0 1px 2px #1a1a1a0d, 0 14px 30px -20px #1a1a1a59;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-9:36px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--control-height:34px;--control-touch:52px;--stroke-hair:1px;--stroke-bold:2px;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-serif:"EB Garamond", Georgia, "Times New Roman", serif;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--site-ground);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.5;font-feature-settings:"tnum" 1}
.h-wrap{max-width:1168px;margin:0 auto;padding:var(--space-9) 56px 64px}
.h-top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8)}
.h-word{font-family:var(--font-serif);font-weight:700;font-size:23px;color:var(--ink);text-decoration:none}
.h-title{font-family:var(--font-serif);font-weight:400;font-size:46px;line-height:1;letter-spacing:-0.02em;margin:0 0 var(--space-3)}
.h-lead{font-size:17px;line-height:28px;max-width:64ch;color:var(--ink-2);margin:0 0 var(--space-8)}
.h-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);align-items:start}
.h-panel{background:var(--surface);box-shadow:var(--shadow-panel);border-radius:var(--radius-md);padding:var(--space-5)}
.h-tray{background:var(--tray);border-radius:var(--radius-md);padding:var(--space-5)}
.h-heading{font-size:14px;font-weight:600;color:var(--ink-2);margin:0 0 var(--space-3);letter-spacing:0}
.h-heading-work{font-size:22px;font-weight:600;margin:0 0 var(--space-4)}
fieldset{border:0;margin:0 0 var(--space-5);padding:0;min-width:0}
legend{font-size:14px;font-weight:600;color:var(--ink-2);padding:0;margin-bottom:var(--space-2)}
.h-field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}
.h-field label,.h-label{font-size:14px;font-weight:500;color:var(--ink)}
.h-meta{font-size:13px;color:var(--ink-3)}
.h-field .h-meta{margin-top:2px}
input[type=text],input[type=number],input[type=date],select,textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:var(--stroke-hair) solid var(--line-strong);border-radius:var(--radius-sm);min-height:var(--control-height);padding:6px 10px;width:100%;font-variant-numeric:tabular-nums}
textarea{min-height:68px;resize:vertical}
input.num{text-align:right}
input[aria-invalid=true]{border-color:var(--danger);background:#fff7f6}
.h-row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.h-choice{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
.h-choice label{display:inline-flex;align-items:center;gap:var(--space-2);font-size:15px;min-height:var(--control-height);cursor:pointer}
input[type=radio],input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--ink)}
.h-btn{font:inherit;font-size:15px;font-weight:500;min-height:var(--control-height);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;background:transparent;color:var(--ink);border:var(--stroke-hair) solid var(--line-strong)}
.h-btn-primary{background:var(--action);color:var(--on-action);border-color:var(--action)}
.h-btn-quiet{border-color:transparent;padding-left:4px;padding-right:4px;text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:var(--stroke-bold) solid var(--focus);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--stroke-bold) solid var(--focus);outline-offset:2px}
a{color:var(--ink);text-underline-offset:3px}
.h-rows{list-style:none;margin:0;padding:0}
.h-rows li,.h-rows .r{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:10px 0;border-bottom:var(--stroke-hair) solid var(--line)}
.h-rows li:last-child{border-bottom:0}
.h-rows .k{font-size:14.5px;color:var(--ink)}
.h-rows .k small{display:block;font-size:13px;color:var(--ink-3)}
.h-rows .v{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.h-rows .total .k{font-weight:600}
.h-rows .total .v{font-size:22px}
.h-unit{font-size:13px;color:var(--ink-3);font-weight:400;margin-left:4px}
.h-note{font-size:14px;line-height:21px;color:var(--ink-2);margin:var(--space-3) 0 0}
.h-attn{background:var(--attention-tint);color:var(--ink);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;line-height:21px;margin-top:var(--space-3)}
.h-attn strong{color:var(--attention)}
.h-danger{color:var(--danger);font-size:14px;line-height:21px;margin-top:var(--space-3)}
.h-danger strong{font-weight:600}
.h-ok{color:var(--ok)}
.h-explain{max-width:64ch;margin-top:var(--space-9);font-size:16px;line-height:26px}
.h-explain h2{font-family:var(--font-serif);font-weight:400;font-size:30px;line-height:1.1;margin:var(--space-8) 0 var(--space-3)}
.h-explain h3{font-size:16px;font-weight:600;margin:var(--space-5) 0 var(--space-2)}
.h-explain ul{padding-left:20px}
.h-explain li{margin-bottom:6px}
.h-foot{margin-top:var(--space-9);padding-top:var(--space-5);border-top:var(--stroke-hair) solid var(--line);font-size:14px;color:var(--ink-2);max-width:64ch}
.h-foot p{margin:0 0 var(--space-2)}
.h-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.h-embed .h-top,.h-embed .h-explain,.h-embed .h-foot{display:none}
.h-embed .h-wrap{padding:16px}
body.content{font-size:16px;line-height:1.5}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:8px;background:var(--surface);padding:8px 12px;z-index:9}
.h-crumbs{font-size:13px;color:var(--ink-3);margin-bottom:var(--space-4)}
.h-crumbs a{color:var(--ink-3)}
.h-dateline{margin:0 0 var(--space-6)}
.h-dateline a{color:var(--ink-3)}
.h-flag{background:var(--attention-tint);border-radius:var(--radius-sm);padding:10px 12px;font-size:14px;max-width:64ch}
.h-explain>:first-child{margin-top:0}
.h-explain p{margin:0 0 var(--space-4)}
.h-explain ol{padding-left:22px}
.h-explain ul.h-check{list-style:none;padding-left:0}
.h-explain ul.h-check>li{position:relative;padding-left:30px}
.h-explain ul.h-check>li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border:1.5px solid var(--line-strong);border-radius:3px;background:var(--surface)}
.h-explain ul ul{margin-top:6px}
.h-table{overflow-x:auto;margin:0 0 var(--space-5);max-width:100%}
.h-explain .h-table{max-width:none}
.h-table table{border-collapse:collapse;font-size:14.5px;line-height:21px;min-width:100%;background:var(--surface);box-shadow:var(--shadow-panel);border-radius:var(--radius-md)}
.h-table th,.h-table td{text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid var(--line)}
.h-table th{font-weight:600;font-size:13px;color:var(--ink-2);background:var(--surface-sunk)}
.h-table tr:last-child td{border-bottom:0}
.h-sources{max-width:64ch;margin-top:var(--space-9);padding-top:var(--space-5);border-top:1px solid var(--line);font-size:14px;line-height:21px;color:var(--ink-2)}
.h-sources h2{font-family:var(--font-serif);font-weight:400;font-size:26px;color:var(--ink);margin:0 0 var(--space-3)}
.h-src{padding-left:22px;margin:var(--space-4) 0 0}
.h-src>li{margin-bottom:var(--space-3)}
.h-src summary{cursor:pointer;color:var(--ink-3);font-size:13px;margin-top:2px}
.h-src dl{margin:var(--space-2) 0 0;padding:var(--space-3) var(--space-4);background:var(--surface-sunk);border-radius:var(--radius-sm)}
.h-src dt{color:var(--ink);margin-top:var(--space-3)}
.h-src dt:first-child{margin-top:0}
.h-src dd{margin:2px 0 0;font-family:var(--font-serif);font-size:16px;line-height:22px;color:var(--ink-2)}
.h-cta{max-width:64ch;margin-top:var(--space-8);background:var(--surface);box-shadow:var(--shadow-panel);border-radius:var(--radius-md);padding:var(--space-5) var(--space-6)}
.h-cta p{margin:0 0 var(--space-4);font-size:16px;line-height:25px}
.h-hub{list-style:none;margin:0;padding:0;max-width:72ch}
.h-hub li{padding:var(--space-4) 0;border-bottom:1px solid var(--line)}
.h-hub a{font-size:19px;text-decoration:none}
.h-hub a:hover strong{text-decoration:underline;text-underline-offset:4px}
.h-hub strong{font-weight:600}
.h-hub span{display:block;color:var(--ink-2);font-size:15px;line-height:23px;margin-top:4px}
@media (max-width:820px){
  .h-wrap{padding:var(--space-6) 20px 48px}
  .h-title{font-size:34px;line-height:1.05}
  .h-grid{grid-template-columns:minmax(0,1fr)}
  .h-row2{grid-template-columns:minmax(0,1fr)}
  input[type=text],input[type=number],input[type=date],select{min-height:44px;font-size:16px}
  .h-btn{min-height:var(--control-touch)}
  .h-explain h2{font-size:26px}
  .h-cta{padding:var(--space-5)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
