.towmatch{--bg:#f6f1e6;--surface:#fffdf8;--sunken:#eee4cf;--ink:#1b1638;--muted:#5c5670;--line:#ddd2b8;--accent:#e87820;--accent-ink:#fff;--accent-soft:#f7e8d0;--good:#17704a;--good-bg:#dcefe4;--tight:#8a5800;--tight-bg:#f6e7c6;--over:#b3261e;--over-bg:#f8deda;--font-display:"Outfit","Arial Narrow",sans-serif;--font-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--r:10px}.towmatch *,.towmatch :before,.towmatch :after{box-sizing:border-box}.towmatch{background:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.45}.towmatch p{margin:0}.towmatch :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.towmatch .wrap{max-width:1320px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));flex-direction:column;gap:24px;margin:0 auto;padding-block:28px 56px;display:flex}.towmatch .top{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:16px;display:flex}.towmatch .eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:12px}.towmatch h1{font-family:var(--font-display);letter-spacing:.01em;text-transform:uppercase;margin:6px 0 10px;font-size:clamp(46px,7vw,76px);font-weight:800;line-height:.88}.towmatch .lede{max-width:62ch;color:var(--muted)}.towmatch .top-tools{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.towmatch .mode-pick{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.towmatch .seg-mode{background:var(--surface)}.towmatch .seg-mode span{white-space:nowrap;padding:11px 16px;font-size:14px}@media (width<=720px){.towmatch .top-tools,.towmatch .mode-pick{align-items:stretch;width:100%}.towmatch .seg-mode span{white-space:normal;padding:10px 8px}}.towmatch .btn{font:600 14px/1 var(--font-body);border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;padding:10px 14px}.towmatch .btn:hover{border-color:var(--ink)}.towmatch .btn.armed{background:var(--over-bg);border-color:var(--over);color:var(--over)}.towmatch .btn-add{font:600 13px/1 var(--font-body);border:1px dashed var(--muted);color:var(--ink);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;padding:9px 12px}.towmatch .btn-add:hover{border-style:solid;border-color:var(--ink)}.towmatch .btn-x{font:500 12px/1 var(--font-body);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;padding:6px 8px}.towmatch .btn-x:hover{border-color:var(--line);color:var(--over)}.towmatch .btn-x:disabled{opacity:.35;cursor:not-allowed}.towmatch .main{grid-template-columns:minmax(0,1fr);grid-template-areas:"results""inputs";gap:20px;display:grid}.towmatch .results{flex-direction:column;grid-area:results;gap:20px;min-width:0;display:flex}.towmatch .inputs{flex-direction:column;grid-area:inputs;gap:20px;min-width:0;display:flex}@media (width>=1080px){.towmatch .main{grid-template-columns:minmax(340px,400px) minmax(0,1fr);grid-template-areas:"inputs results";align-items:start}.towmatch .results{max-height:calc(100vh - 32px);padding-right:2px;position:sticky;top:16px;overflow-y:auto}}.towmatch .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.towmatch .panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;display:flex}.towmatch h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;text-wrap:balance;margin:0;font-size:25px;font-weight:700;line-height:1}.towmatch h3{font:600 12px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0}.towmatch .panel-sub{color:var(--muted);font-size:13px}.towmatch .legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.towmatch .legend span{align-items:center;gap:6px;display:inline-flex}.towmatch .pill{font-style:normal;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--surface);background:var(--muted);border-radius:999px;padding:4px 7px;font-size:11px;font-weight:600;line-height:1;display:inline-block}.towmatch .pill.s-good{background:var(--good)}.towmatch .pill.s-tight{background:var(--tight)}.towmatch .pill.s-over{background:var(--over)}.towmatch .pill.big{padding:6px 11px;font-size:13px}.towmatch .matrix-scroll{margin:0 -6px;padding:0 0 4px;overflow-x:auto}.towmatch .matrix{border-collapse:separate;border-spacing:6px;table-layout:fixed;width:100%;min-width:640px}.towmatch .matrix th{text-align:left;vertical-align:bottom;padding:2px 4px;font-weight:400}.towmatch .matrix thead th:first-child{width:23%}.towmatch .matrix tbody th{vertical-align:middle}.towmatch .matrix td{vertical-align:top;padding:0}.towmatch .matrix td.empty{color:var(--muted);background:var(--sunken);border-radius:var(--r);padding:18px;font-size:14px}.towmatch .corner{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px}.towmatch .mh-name{overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.2;display:block}.towmatch .mh-sub{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;font-size:11px;display:block}.towmatch .tag{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:var(--sunken);color:var(--muted);border-radius:3px;margin-top:5px;padding:3px 5px;font-size:10px;line-height:1;display:inline-block}.towmatch .tag-example{background:var(--accent);color:var(--accent-ink)}.towmatch .cell{border-radius:var(--r);cursor:pointer;text-align:left;width:100%;min-height:96px;font:inherit;color:var(--ink);background:var(--sunken);border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:5px;padding:10px 12px;display:flex}.towmatch .cell.s-good{background:var(--good-bg)}.towmatch .cell.s-tight{background:var(--tight-bg)}.towmatch .cell.s-over{background:var(--over-bg)}.towmatch .cell:hover{border-color:var(--muted)}.towmatch .cell.is-sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.towmatch .cell-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:2px;font-size:21px;font-weight:600;line-height:1}.towmatch .cell-cap{color:var(--muted);font-size:12px;line-height:1.25}.towmatch .cell-note{font-family:var(--font-mono);color:var(--muted);font-size:10.5px;line-height:1.25}.towmatch .detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px 16px;display:flex}.towmatch .detail-head h2{overflow-wrap:anywhere;margin-top:4px;font-size:30px}.towmatch .detail-head h2 .on{font-family:var(--font-body);text-transform:none;letter-spacing:0;color:var(--muted);font-size:15px;font-weight:500}.towmatch .verdict-line{max-width:65ch;font-size:16px}.towmatch .warn{color:var(--over);font-size:14px;font-weight:600}.towmatch .empty-state{color:var(--muted);max-width:60ch}.towmatch .gauges{flex-direction:column;gap:18px;display:flex}.towmatch .g-top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.towmatch .g-label{font-weight:600}.towmatch .g-val{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.towmatch .g-val b{color:var(--ink);font-weight:600}.towmatch .g-track{background:var(--sunken);border-radius:3px;height:14px;margin:9px 0 7px;position:relative}.towmatch .g-buf{background:repeating-linear-gradient(135deg,var(--tight) 0 1.5px,transparent 1.5px 6px);opacity:.55;position:absolute;top:0;bottom:0}.towmatch .g-fill{background:var(--muted);border-radius:3px;transition:width .25s;position:absolute;top:0;bottom:0;left:0}.towmatch .s-good .g-fill{background:var(--good)}.towmatch .s-tight .g-fill{background:var(--tight)}.towmatch .s-over .g-fill{background:var(--over)}.towmatch .g-mark{background:var(--ink);width:2px;margin-left:-1px;position:absolute;top:-5px;bottom:-5px}.towmatch .g-foot{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.towmatch .g-status{font-weight:600}.towmatch .s-good .g-status{color:var(--good)}.towmatch .s-tight .g-status{color:var(--tight)}.towmatch .s-over .g-status{color:var(--over)}.towmatch .detail-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@media (width>=720px){.towmatch .detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}}.towmatch .ticket{font-family:var(--font-mono);background:var(--bg);border:1px dashed var(--muted);font-variant-numeric:tabular-nums;border-radius:4px;flex-direction:column;gap:3px;min-width:0;padding:14px 16px;font-size:13px;display:flex}.towmatch .tk-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:2px;padding-bottom:6px;font-size:11px;display:flex}.towmatch .tk-h{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:10px;font-size:11px}.towmatch .tk-row{align-items:baseline;gap:6px;display:flex}.towmatch .tk-row>span:first-child{overflow-wrap:anywhere;min-width:0}.towmatch .tk-row .lead{border-bottom:1px dotted var(--line);flex:1;min-width:12px;transform:translateY(-4px)}.towmatch .tk-row.total{border-top:1px solid var(--ink);margin-top:2px;padding-top:4px;font-weight:600}.towmatch .tk-row.sub{color:var(--muted)}.towmatch .side-col{flex-direction:column;gap:12px;min-width:0;display:flex}.towmatch .cap{background:var(--accent-soft);border-radius:4px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.towmatch .cap-num{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:46px;font-weight:800;line-height:1}.towmatch .cap-num span{font-family:var(--font-body);color:var(--muted);margin-left:4px;font-size:15px;font-weight:500}.towmatch .cap-sub{font-size:14px}.towmatch .cap-fine{color:var(--muted);font-size:12px}.towmatch .sub-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:4px;display:flex}.towmatch .fgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.towmatch .f{flex-direction:column;gap:4px;min-width:0;display:flex}.towmatch .f>span{color:var(--muted);font-size:12px;font-weight:600}.towmatch .f small{color:var(--muted);font-size:12px;line-height:1.3}.towmatch input[type=number],.towmatch input[type=text],.towmatch select{width:100%;font:500 15px/1.2 var(--font-body);border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:4px;min-width:0;padding:8px 10px}.towmatch input[type=number]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.towmatch input:hover,.towmatch select:hover{border-color:var(--muted)}.towmatch input:focus,.towmatch select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.towmatch .inp{display:block;position:relative}.towmatch .inp input{padding-right:42px}.towmatch .inp em{color:var(--muted);pointer-events:none;font-size:12px;font-style:normal;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.towmatch .people{flex-direction:column;gap:6px;display:flex}.towmatch .prow{grid-template-columns:minmax(0,1fr) 58px 96px auto;align-items:center;gap:6px;display:grid}.towmatch .prow.head{color:var(--muted);font-size:12px;font-weight:600}.towmatch .seg{border:1px solid var(--line);border-radius:4px;display:flex;overflow:hidden}.towmatch .seg label{flex:1;position:relative}.towmatch .seg input{opacity:0;pointer-events:none;position:absolute}.towmatch .seg span{text-align:center;cursor:pointer;color:var(--muted);padding:9px 8px;font-size:13px;font-weight:600;display:block}.towmatch .seg label+label span{border-left:1px solid var(--line)}.towmatch .seg input:checked+span{background:var(--ink);color:var(--surface)}.towmatch .seg input:focus-visible+span{outline:2px solid var(--accent);outline-offset:-2px}.towmatch .unit{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:14px;display:flex}.towmatch .unit:first-child{border-top:0;padding-top:0}.towmatch .unit-head{align-items:center;gap:8px;display:flex}.towmatch .unit-head input{background:0 0;font-size:16px;font-weight:600}.towmatch .unit-note input{color:var(--muted);background:0 0;padding-block:6px;font-size:13px}.towmatch .unit-row{grid-template-columns:minmax(0,1fr) 128px;gap:8px;display:grid}.towmatch .ro{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.5}.towmatch .ro.warn{color:var(--over);font-weight:500}.towmatch .ro b{color:var(--ink);font-weight:600}.towmatch .notes{border-top:2px solid var(--ink);grid-template-columns:minmax(0,1fr);gap:20px;padding-top:18px;display:grid}@media (width>=900px){.towmatch .notes{grid-template-columns:repeat(3,minmax(0,1fr))}}.towmatch .notes section{flex-direction:column;gap:10px;min-width:0;display:flex}.towmatch .notes ul{flex-direction:column;gap:8px;max-width:65ch;margin:0;padding-left:18px;font-size:14px;display:flex}.towmatch .notes a{color:var(--accent)}.towmatch .notes p{color:var(--muted);max-width:65ch;font-size:14px}@media (width<=420px){.towmatch .fgrid,.towmatch .unit-row{grid-template-columns:minmax(0,1fr)}.towmatch .prow{grid-template-columns:minmax(0,1fr) 50px 80px auto}}@media (prefers-reduced-motion:reduce){.towmatch .g-fill{transition:none}}.dark .towmatch{--bg:#14102a;--surface:#241e44;--sunken:#1b1638;--ink:#f3e6c8;--muted:#c9bfa8;--line:#f3e6c838;--accent:#f0a01a;--accent-ink:#1b1638;--accent-soft:#2a2450;--good:#5bd19a;--good-bg:#12301f;--tight:#e8b44c;--tight-bg:#34280f;--over:#f27c72;--over-bg:#3b1815;color-scheme:dark}.towmatch .picker-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.towmatch .picker-field{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);flex-direction:column;flex:170px;gap:5px;font-size:11px;font-weight:600;display:flex}.towmatch .picker-field select{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);width:100%;color:var(--ink);font-family:var(--font-body);letter-spacing:0;text-transform:none;padding:9px 10px;font-size:15px;font-weight:600}.towmatch .picker-field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.towmatch .picker-add{border:1px solid var(--accent);border-radius:var(--r);background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);cursor:pointer;flex:none;padding:10px 16px;font-size:15px;font-weight:700}.towmatch .picker-add:hover{filter:brightness(1.07)}.towmatch .picker .panel-sub{margin:10px 0 0}.towmatch .quick-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}@media (width>=720px){.towmatch .quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.towmatch .quick-group{border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:10px;min-width:0;margin:0;padding:12px 14px 14px;display:flex}.towmatch .quick-group legend{font:600 12px/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:0 6px}.towmatch .quick-group .picker-field{text-transform:none;letter-spacing:0;font-family:var(--font-body);flex:none;font-size:13px}.towmatch .quick-group input{border:1px solid var(--line);border-radius:var(--r);background:var(--bg);width:100%;color:var(--ink);font-family:var(--font-mono);padding:9px 10px;font-size:15px}.towmatch .quick-group input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
