.tools-page{--tool-surface: #fffdf9;--tool-surface-deep: var(--paper-deep);--tool-border: var(--line);--tool-accent: var(--ember-deep);--tool-accent-soft: #f8ded4;--tool-positive: #23623a;--tool-positive-soft: #e2f0e6;--tool-warning: #805000;--tool-warning-soft: #f6ead1;--tool-error: #9d2411;--tool-error-soft: #f8ddd6;--tool-radius: 3px;--tool-focus: 3px solid var(--ember);--ink-faint: #655c54;color:var(--ink)}.tools-page .cta{background:var(--ember-deep)}.tool-kicker{margin:0 0 .65rem;color:var(--ember-deep);font-size:.76rem;font-weight:600;letter-spacing:.13em;line-height:1.3;text-transform:uppercase}.tool-hero{padding-block:clamp(2.5rem,7vw,5rem) clamp(2rem,5vw,3.5rem)}.tool-breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:clamp(1.5rem,4vw,2.75rem);color:var(--ink-faint);font-size:.82rem;font-weight:500}.tool-breadcrumb a{color:var(--ink-soft);text-decoration:none}.tool-breadcrumb a:hover{color:var(--ember)}.tool-hero__grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(16rem,.75fr);gap:clamp(2rem,7vw,5rem);align-items:end}.tool-hero h1{max-width:18ch}.tool-hero__lede{max-width:62ch;margin:1.25rem 0 0;color:var(--ink-soft);font-family:var(--font-display);font-size:clamp(1.12rem,2.1vw,1.32rem);line-height:1.5}.tool-privacy-card{position:relative;display:grid;grid-template-columns:12px 1fr;gap:.25rem .8rem;padding:1rem 1.1rem;border-block:1px solid var(--tool-border);color:var(--ink-soft);font-size:.86rem;line-height:1.5}.tool-privacy-card__mark{grid-row:1 / span 2;width:10px;height:10px;margin-top:.28rem;background:var(--tool-positive);box-shadow:5px 5px 0 var(--ember)}.tool-privacy-card strong{color:var(--ink)}.tool-main{padding-bottom:clamp(2.5rem,6vw,4rem)}.tool-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr);gap:clamp(1.2rem,3vw,2rem);align-items:start}.tool-input-panel,.tool-result-panel{min-width:0;border:1px solid var(--tool-border);background:var(--tool-surface);box-shadow:var(--shadow)}.tool-input-panel{padding:clamp(1.2rem,3vw,1.75rem)}.tool-input-panel__head{margin-bottom:1.4rem;padding-bottom:1rem;border-bottom:1px solid var(--tool-border)}.tool-input-panel__head h2,.tool-result-panel__head h2,.tool-context h2,.tool-cta-band h2{margin:0}.tool-input-panel__head p:last-child{max-width:52ch;margin:.55rem 0 0;color:var(--ink-soft);font-size:.92rem}.tool-form{display:grid;gap:1.15rem}.tool-field{display:grid;gap:.38rem}.tool-field label,.tool-field legend,.tool-field__label{color:var(--ink);font-size:.91rem;font-weight:600;line-height:1.35}.tool-field__hint{margin:0;color:var(--ink-faint);font-size:.78rem;line-height:1.45}.tool-input-wrap{position:relative}.tool-input-wrap__prefix,.tool-input-wrap__suffix{position:absolute;top:50%;transform:translateY(-50%);color:var(--ink-faint);font-size:.9rem;font-weight:500;pointer-events:none}.tool-input-wrap__prefix{left:.85rem}.tool-input-wrap__suffix{right:.85rem}.tool-input-wrap--prefix input{padding-left:2rem}.tool-input-wrap--suffix input{padding-right:3rem}.tool-field input,.tool-field select,.tool-field textarea{width:100%;min-height:48px;padding:.68rem .82rem;border:1px solid var(--ink-faint);border-radius:var(--tool-radius);background:#fff;color:var(--ink);font:inherit;font-size:1rem;line-height:1.4;transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}.tool-field textarea{min-height:7rem;resize:vertical}.tool-field input:hover,.tool-field select:hover,.tool-field textarea:hover{border-color:var(--ink)}.tool-field input:focus,.tool-field select:focus,.tool-field textarea:focus{border-color:var(--ember);outline:none;box-shadow:0 0 0 3px #d43d0f2e}.tool-field input[aria-invalid=true],.tool-field select[aria-invalid=true]{border-color:var(--tool-error);background:var(--tool-error-soft)}.tool-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.tool-fieldset{min-width:0;padding:0;border:0}.tool-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:.5rem}.tool-choice{position:relative;display:flex;min-height:48px;align-items:flex-start;gap:.65rem;padding:.72rem;border:1px solid var(--tool-border);border-radius:var(--tool-radius);background:var(--paper);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease),transform .15s var(--ease)}.tool-choice:hover{border-color:var(--ink-faint);transform:translateY(-1px)}.tool-choice:has(input:checked){border-color:var(--ember);background:var(--tool-accent-soft)}.tool-choice input{width:18px;height:18px;min-height:0;margin-top:.1rem;accent-color:var(--ember-deep)}.tool-choice input:focus-visible{outline:var(--tool-focus);outline-offset:2px}.tool-choice__copy{display:grid;gap:.15rem}.tool-choice__copy strong{font-size:.88rem;line-height:1.3}.tool-choice__copy small{color:var(--ink-soft);font-size:.76rem;line-height:1.35}.tool-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding-top:.35rem}.tool-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:.65rem 1.2rem;border:1px solid transparent;border-radius:var(--tool-radius);background:var(--ink);color:var(--paper);font:inherit;font-size:.88rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease)}.tool-button:hover{background:var(--ember-deep);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}.tool-button:active{transform:translateY(0)}.tool-button:focus-visible{outline:var(--tool-focus);outline-offset:2px}.tool-button:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.tool-button--quiet{min-height:40px;padding-inline:.9rem;border-color:var(--tool-border);background:transparent;color:var(--ink-soft)}.tool-button--quiet:hover{border-color:var(--ember);background:var(--paper-deep);color:var(--ember-deep);box-shadow:none}.tool-form-error{min-height:1.35rem;margin:0;color:var(--tool-error);font-size:.82rem;font-weight:600}.tool-result-panel{position:sticky;top:6.3rem;min-height:32rem}.tool-result-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;border-bottom:1px solid var(--tool-border)}.tool-result-panel__head .tool-kicker{margin-bottom:.35rem}.tool-result-panel__head h2{font-size:1.35rem}.tool-local-note,.tool-chip{display:inline-flex;align-items:center;min-height:28px;padding:.25rem .6rem;border:1px solid var(--tool-border);border-radius:999px;color:var(--ink-soft);font-size:.7rem;font-weight:600;letter-spacing:.03em;line-height:1.2}.tool-empty{display:flex;min-height:24rem;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.tool-empty__mark{display:grid;grid-template-columns:repeat(2,13px);gap:4px;margin-bottom:1.2rem;transform:rotate(45deg)}.tool-empty__mark i{width:13px;height:13px;background:var(--line)}.tool-empty__mark i:nth-child(2){background:var(--ember)}.tool-empty__mark i:nth-child(3){background:var(--ink)}.tool-empty h3{margin:0 0 .5rem}.tool-empty p{max-width:34ch;margin:0;color:var(--ink-soft);font-size:.9rem}.tool-result{padding:clamp(1.25rem,3vw,1.7rem)}.tool-result:focus{outline:var(--tool-focus);outline-offset:-3px}.tool-verdict{margin-bottom:1.25rem;padding:1rem 1rem 1rem 1.2rem;border-left:4px solid var(--ember);background:var(--tool-accent-soft)}.tool-verdict--positive{border-left-color:var(--tool-positive);background:var(--tool-positive-soft)}.tool-verdict--warning{border-left-color:var(--tool-warning);background:var(--tool-warning-soft)}.tool-verdict--error{border-left-color:var(--tool-error);background:var(--tool-error-soft)}.tool-verdict__label{display:block;margin-bottom:.25rem;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.tool-verdict h3{margin:0;font-size:clamp(1.2rem,2.5vw,1.55rem)}.tool-verdict p{margin:.55rem 0 0;color:var(--ink-soft);font-size:.92rem}.tool-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:1.2rem 0;border:1px solid var(--tool-border);background:var(--tool-border)}.tool-metric{min-width:0;padding:.9rem;background:var(--tool-surface)}.tool-metric__label{display:block;margin-bottom:.25rem;color:var(--ink-faint);font-size:.7rem;font-weight:600;letter-spacing:.05em;line-height:1.3;text-transform:uppercase}.tool-metric__value{display:block;overflow-wrap:anywhere;color:var(--ink);font-family:var(--font-display);font-size:clamp(1.25rem,3vw,1.75rem);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.15}.tool-result-section{margin-top:1.35rem}.tool-result-section h3{margin:0 0 .65rem;font-size:1.05rem}.tool-result-section p{color:var(--ink-soft);font-size:.9rem}.tool-action-list,.tool-warning-list,.tool-spec-list{margin:0;padding:0;list-style:none}.tool-action-list{counter-reset:tool-action}.tool-action-list li{counter-increment:tool-action;position:relative;min-height:2.6rem;padding:.55rem 0 .55rem 2.5rem;border-top:1px solid var(--tool-border);color:var(--ink-soft);font-size:.88rem}.tool-action-list li:before{content:counter(tool-action);position:absolute;top:.5rem;left:0;display:grid;width:1.65rem;height:1.65rem;place-items:center;background:var(--ink);color:var(--paper);font-family:var(--font-display);font-size:.82rem;font-weight:700}.tool-warning-list li,.tool-spec-list li{position:relative;padding:.45rem 0 .45rem 1.25rem;border-top:1px solid var(--tool-border);color:var(--ink-soft);font-size:.86rem}.tool-warning-list li:before,.tool-spec-list li:before{content:"";position:absolute;top:.9rem;left:.1rem;width:7px;height:7px;background:var(--ember)}.tool-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;padding:1rem 1.4rem;border-top:1px solid var(--tool-border);background:var(--paper-deep)}.tool-copy-status{color:var(--tool-positive);font-size:.78rem;font-weight:600}.tool-context{padding-block:clamp(2.5rem,6vw,4.5rem);border-top:1px solid var(--tool-border)}.tool-context__grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(16rem,.7fr);gap:clamp(2rem,7vw,5rem);align-items:end}.tool-context p{max-width:65ch;margin:.8rem 0 0;color:var(--ink-soft)}.tool-context__link{display:grid;gap:.35rem;padding-top:.8rem;border-top:3px solid var(--ember)}.tool-context__link span:first-child{color:var(--ink-faint);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tool-context__link a{font-family:var(--font-display);font-size:1.05rem;font-weight:600;text-decoration:none}.tool-cta-band{border-top:3px solid var(--ember);background:radial-gradient(620px 260px at 12% 0%,rgba(212,61,15,.18),transparent 62%),var(--ink);color:var(--paper)}.tool-cta-band__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;padding-block:clamp(2.5rem,6vw,4rem)}.tool-cta-band .tool-kicker{color:#f19a78}.tool-cta-band p:not(.tool-kicker){max-width:58ch;margin:.75rem 0 0;color:#d9d2ca}.tool-cta-band .cta{margin:0;white-space:nowrap}.tools-hub-hero{padding-bottom:2.2rem}.tools-hub-hero h1{max-width:15ch}.tools-hub-intro{max-width:68ch}.tools-hub-hero__layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(18rem,.55fr);gap:clamp(2rem,7vw,5rem);align-items:end}.tools-hub-principles{list-style:none;margin:0;padding:0;border-top:3px solid var(--ember)}.tools-hub-principles li{display:grid;grid-template-columns:2.2rem 1fr;gap:0 .6rem;margin:0;padding:.8rem 0;border-bottom:1px solid var(--tool-border)}.tools-hub-principles span{grid-row:1 / span 2;color:var(--ember-deep);font-size:.7rem;font-weight:600;letter-spacing:.1em}.tools-hub-principles strong{font-family:var(--font-display);font-size:1rem;line-height:1.3}.tools-hub-principles small{color:var(--ink-faint);font-size:.76rem;line-height:1.45}.tool-category{padding-block:clamp(1.5rem,4vw,2.75rem);border-top:1px solid var(--tool-border)}.tool-category__head{display:grid;grid-template-columns:.45fr 1fr;gap:2rem;margin-bottom:1.2rem}.tool-category__head h2{margin:0}.tool-category__head p{max-width:54ch;margin:0;color:var(--ink-soft)}.tool-card-grid{counter-reset:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid var(--tool-border);background:var(--tool-border)}.tool-card-grid--single{grid-template-columns:1fr}.tool-card{position:relative;display:flex;min-height:19rem;flex-direction:column;padding:clamp(1.25rem,3vw,1.75rem);background:var(--tool-surface);transition:background .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.tool-card__content{display:flex;min-width:0;flex:1;flex-direction:column}.tool-card--featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.tool-card--featured .tool-card__content{padding:clamp(1.25rem,3vw,1.75rem)}.tool-card__visual,.tool-card__visual picture,.tool-card__visual img{display:block;width:100%;height:100%}.tool-card__visual{min-height:19rem;overflow:hidden;border-left:1px solid var(--tool-border);background:var(--paper-deep)}.tool-card__visual img{object-fit:cover;transition:transform .32s var(--ease),filter .18s var(--ease)}.tool-card--featured:hover .tool-card__visual img{transform:scale(1.018);filter:contrast(1.03)}.tool-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--ember);transform:scaleX(0);transform-origin:left;transition:transform .22s var(--ease)}.tool-card:hover{z-index:1;background:#fff;transform:translateY(-2px);box-shadow:var(--shadow)}.tool-card:hover:before{transform:scaleX(1)}.tool-card--planned{background:var(--paper-deep);box-shadow:none}.tool-card--planned:hover{transform:none;box-shadow:none}.tool-card--planned:before{display:none}.tool-card--planned .tool-card__visual img{opacity:.72;filter:saturate(.45) contrast(.92)}.tool-card__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem}.tool-card__number{color:var(--ink-faint);font-size:.72rem;font-weight:600;letter-spacing:.13em}.tool-card h3{margin:1.6rem 0 .65rem;font-size:clamp(1.25rem,2.3vw,1.55rem)}.tool-card p{color:var(--ink-soft);font-size:.92rem}.tool-card__outcome{margin-top:auto;padding-top:1.25rem}.tool-card__link,.tool-card__pending{display:inline-flex;align-items:center;gap:.45rem;margin-top:.8rem;font-size:.86rem;font-weight:600}.tool-card__link{color:var(--ember-deep);text-decoration:none}.tool-card__link span{transition:transform .18s var(--ease)}.tool-card__link:hover span{transform:translate(4px)}.tool-card__pending{color:var(--ink-faint)}.tool-result{scroll-margin-top:6rem}.diagram-library-page .tool-hero h1{max-width:15ch}.diagram-library{display:grid;gap:clamp(1.25rem,3vw,2rem);padding-bottom:clamp(2.5rem,6vw,4rem)}.diagram-library-card{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-height:0;overflow:hidden;border:1px solid var(--tool-border);background:var(--tool-surface);box-shadow:var(--shadow)}.diagram-library-card__media{display:block;min-width:0;overflow:hidden;border-bottom:1px solid var(--tool-border);background:#eef3f7}.diagram-library-card__media img{display:block;width:100%;height:auto;object-fit:contain;object-position:center;transition:transform .32s var(--ease),filter .18s var(--ease)}.diagram-library-card__media:hover img{transform:scale(1.015);filter:contrast(1.025)}.diagram-library-card__copy{display:flex;min-width:0;flex-direction:column;min-height:20rem;padding:clamp(1.35rem,3vw,2rem)}.diagram-library-card__meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--ink-faint);font-size:.72rem;font-weight:600;letter-spacing:.12em}.diagram-library-card h2{margin:1.4rem 0 .7rem}.diagram-library-card p{color:var(--ink-soft);font-size:.92rem}.diagram-library-card ul{margin:.35rem 0 1.2rem;color:var(--ink-soft);font-size:.86rem}.diagram-library-card__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1rem;margin-top:auto}.diagram-library-card__actions>a:not(.tool-button){color:var(--ember-deep);font-size:.82rem;font-weight:600;text-decoration:none}@media(max-width:560px){.diagram-library-card__copy{min-height:0}.diagram-library-card__actions .tool-button{width:100%}}.tool-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--tool-border)}.tool-table-wrap:focus-visible{outline:var(--tool-focus);outline-offset:2px}.tool-table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.8rem}.tool-table th,.tool-table td{padding:.65rem .7rem;border-bottom:1px solid var(--tool-border);text-align:left;vertical-align:top}.tool-table th{background:var(--paper-deep);font-weight:600}.tool-table tbody tr:last-child td{border-bottom:0}.tool-table td[data-numeric]{font-variant-numeric:tabular-nums;text-align:right}.tool-flow{display:grid;grid-template-columns:repeat(4,minmax(7rem,1fr));gap:1.5rem;margin:1rem 0;padding:0;list-style:none}.tool-flow li{position:relative;display:grid;min-height:5.5rem;place-items:center;padding:.75rem;border:1px solid var(--tool-border);background:var(--tool-surface);font-size:.78rem;font-weight:600;line-height:1.35;text-align:center}.tool-flow li:not(:last-child):after{content:"";position:absolute;top:50%;left:100%;width:1.5rem;border-top:2px solid var(--ember)}.tool-flow li:not(:last-child):before{content:"";position:absolute;z-index:1;top:calc(50% - 4px);left:calc(100% + 1.08rem);width:8px;height:8px;border-top:2px solid var(--ember);border-right:2px solid var(--ember);transform:rotate(45deg)}.tool-route-list{display:grid;gap:.8rem}.tool-route-row{padding:1rem;border:1px solid var(--tool-border);background:var(--paper)}.tool-route-row__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.tool-route-row__head h3{margin:0;font-size:1rem}.tool-route-remove{min-height:32px;padding:.25rem .6rem;border:0;background:transparent;color:var(--tool-error);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.tool-route-remove:focus-visible{outline:var(--tool-focus)}@media(max-width:900px){.tool-hero__grid,.tool-shell,.tool-context__grid,.tools-hub-hero__layout{grid-template-columns:1fr}.tool-result-panel{position:static;min-height:0}.tool-privacy-card{max-width:34rem}.tool-category__head{grid-template-columns:1fr;gap:.6rem}.tool-flow{grid-template-columns:1fr;gap:1rem}.tool-flow li{min-height:4rem}.tool-flow li:not(:last-child):after{top:100%;left:50%;width:0;height:1rem;border-top:0;border-left:2px solid var(--ember)}.tool-flow li:not(:last-child):before{top:calc(100% + .42rem);left:calc(50% - 3px);transform:rotate(135deg)}}@media(max-width:640px){.tool-hero{padding-top:2rem}.tool-field-grid,.tool-choice-grid,.tool-metric-grid,.tool-card-grid{grid-template-columns:1fr}.tool-result-panel__head{display:grid}.tool-local-note{width:max-content}.tool-cta-band__inner{grid-template-columns:1fr}.tool-cta-band .cta{width:100%;text-align:center}.tool-form-actions .tool-button{width:100%}.tool-card{min-height:16rem}.tool-card--featured{grid-template-columns:1fr}.tool-card--featured .tool-card__content{min-height:16rem}.tool-card__visual{min-height:12rem;border-top:1px solid var(--tool-border);border-left:0}}@media(prefers-reduced-motion:no-preference){.tool-hero__grid>*,.tool-shell>*{animation:rise .5s var(--ease) both}.tool-hero__grid>:nth-child(2),.tool-shell>:nth-child(2){animation-delay:.09s}}@media(prefers-reduced-motion:reduce){.tools-page *,.tools-page *:before,.tools-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.site-head,.site-foot,.tool-hero,.tool-input-panel,.tool-context,.tool-cta-band,.tool-result-actions{display:none!important}body{background:#fff;color:#000;font-size:11pt}body:before{display:none}.tool-main,.tool-shell,.tool-result{display:block!important;width:100%;max-width:none;margin:0;padding:0;border:0;box-shadow:none}.tool-result-panel{display:block!important;position:static;width:100%;max-width:none;margin:0;border:0;box-shadow:none}.tool-result-panel__head{padding:0 0 1rem}.tool-empty,.tool-result[hidden]{display:none!important}}
