.tool-hero { padding: 70px 0 40px; }
.tool-hero h1 { font-size: clamp(2.7rem, 6vw, 5rem); margin: 22px 0; max-width: 960px; }
.tool-hero .lede { max-width: 780px; }
.resource-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; padding:10px 0 80px; }
.resource-card,.tool-panel { background:var(--surface);border:1px solid var(--line);padding:30px; }
.resource-card { display:flex;flex-direction:column;align-items:start;gap:20px; }
.resource-card p { color:var(--muted); }
.resource-card .button { margin-top:auto; }
.tool-layout { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start;margin:25px 0 40px; }
.tool-panel { min-width:0; }
.tool-panel h2,.resource-notes h2 { font-size:1.85rem;margin-bottom:22px; }
.tool-panel p,.hint { color:var(--muted);font-size:.9rem; }
.tool-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.tool-field { display:flex;flex-direction:column;gap:7px;min-width:0; }
.tool-field label,.tool-field .field-label { font-size:.86rem;color:var(--ink);font-weight:bold; }
.tool-field input,.tool-field select,.tool-field textarea { box-sizing:border-box; width:100%;min-width:0;background:#0b1521;color:var(--ink);border:1px solid #6a7a85;border-radius:3px;padding:12px;font:inherit; }
.tool-field textarea { resize:vertical;min-height:95px; }
.tool-field input:focus,.tool-field select:focus,.tool-field textarea:focus { outline:2px solid var(--gold);outline-offset:2px; }
.tool-actions { display:flex;flex-wrap:wrap;gap:12px;margin:22px 0; }
.tool-actions button { cursor:pointer; }
.tool-actions .button.secondary { font-size:.72rem; }
.tool-stage { display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.7fr) auto;gap:12px;align-items:end;margin-bottom:16px; }
.remove-step { padding:11px 8px;border:1px solid var(--line);color:var(--muted);background:transparent;cursor:pointer;font:inherit; }
.tool-result { background:#0b1521;border-left:4px solid var(--gold);padding:24px;margin:18px 0; }
.tool-result strong { display:block;font-size:clamp(2rem,5vw,3.3rem);line-height:1.2;color:var(--gold);margin:8px 0;overflow-wrap:anywhere; }
.tool-result .result-label { font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted); }
.tool-result p { margin:10px 0 0; }
.tool-error { color:#ffd49c;min-height:1.6em; }
.rate-map { display:grid;gap:12px;margin:24px 0; }
.rate-row { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;font-size:.85rem; }
.rate-row span { overflow-wrap:anywhere; }
.rate-row i { grid-column:1/-1;height:6px;background:#506371;display:block;max-width:100%; }
.rate-row.is-limit i { background:var(--gold); }
.rate-row.is-limit { color:var(--gold); }
.resource-notes { max-width:850px;padding:28px 0 70px; }
.resource-notes h2 { margin-top:35px; }
.resource-notes p,.resource-notes li { color:var(--muted); }
.resource-notes a { color:var(--gold);text-decoration:underline;text-underline-offset:4px; }
.source-links { font-size:.86rem; }
.download-panel { border:1px solid var(--line);padding:24px;margin:28px 0;background:var(--surface); }
.download-panel p { margin:12px 0 0; }
.tool-table { overflow-x:auto;max-width:100%; }
.tool-table table { width:100%;min-width:440px;border-collapse:collapse;font-size:.9rem; }
.tool-table th,.tool-table td { padding:12px;text-align:left;border-bottom:1px solid var(--line); }
.tool-table th { color:var(--gold); }
.map-boxes { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0; }
.map-box { padding:25px;background:var(--surface);border:1px solid var(--line);min-width:0; }
.map-box h2 { font-size:1.5rem;margin:10px 0 15px; }
.map-box:last-child { grid-column:1/-1; }
.map-connections { display:grid;gap:22px; }
.connection { display:grid;grid-template-columns:1fr 1fr;gap:16px;border:1px solid var(--line);padding:22px; }
.connection .wide { grid-column:1/-1; }
.tool-panel fieldset { border:1px solid var(--line);padding:20px;margin:20px 0;min-width:0; }
.tool-panel legend { padding:0 8px;color:var(--gold);font-weight:bold; }
@media(max-width:850px){ .resource-cards,.tool-layout { grid-template-columns:1fr; } }
@media(max-width:620px){ .tool-panel,.resource-card { padding:22px; }.tool-fields,.map-boxes,.connection { grid-template-columns:1fr; }.tool-stage { grid-template-columns:minmax(0,1fr) minmax(80px,.65fr); }.tool-stage .remove-step{grid-column:1/-1;text-align:left;}.connection .wide,.map-box:last-child{grid-column:auto;} }
@media print { body{background:white!important;color:#111!important;} .site-header,.site-footer,.tool-actions,.download-panel,.source-links{display:none!important;} .tool-panel,.map-box,.connection{background:white!important;color:#111!important;border:1px solid #aaa;break-inside:avoid;} h1,h2,h3,label,p,.hint,.eyebrow{color:#111!important;} input,textarea,select{background:white!important;color:#111!important;} .container{width:100%;}.tool-hero{padding:10px 0;} .tool-layout{display:block;}.tool-result{background:#eee;color:#111;} .tool-result strong{color:#111;} }

.print-map-sheet { display:none; }
@media print { .printing-map .map-boxes,.printing-map .map-connections,.printing-map .resource-notes,.printing-map .hint,.printing-map #map-status{display:none!important;} .printing-map .print-map-sheet{display:block;} .print-map-sheet p { white-space:pre-wrap;overflow-wrap:anywhere;color:#111;margin:12px 0 24px;} .print-map-sheet h2{font-size:20px;break-after:avoid;margin-top:24px;} .print-map-sheet h3{font-size:15px;break-after:avoid;} }
