@font-face{font-family:Archivo Expanded;src:url(./archivo-expanded-black-DDAwHIDr.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(./archivo-regular-DOI1V58r.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(./archivo-italic-OHATKut5.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Archivo;src:url(./archivo-semibold-PrYkx9JO.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(./archivo-bold-Ck6R5aEn.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(./archivo-bold-italic-A4tYVI8h.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Archivo Condensed;src:url(./archivo-condensed-regular-BHcDRlqf.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Serif;src:url(./noto-serif-regular-CHfL0rgi.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Serif;src:url(./noto-serif-italic-CQ5-hFWi.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Noto Serif;src:url(./noto-serif-bold-CgTNNcyM.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Noto Serif;src:url(./noto-serif-bold-italic-C8uTtCjC.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root{--ts-blue:#1a9ad7;--ts-blue-dark:#0a587e;--ts-navy:#002247;--ts-gray:#7e7e7c;--ts-black:#000;--ts-white:#fff;--ts-near-white:#f9f9fb;--ts-near-black:#212326;--ts-orange:#e07a3c;--ts-amber:#f2b134;--ts-green:#7fb03b;--ts-raspberry:#c2417f;--ts-font-display:"Archivo Expanded", "Archivo", "Noto Serif", Arial, sans-serif;--ts-font-sans:"Archivo", "Noto Serif", Arial, sans-serif;--ts-font-serif:"Noto Serif", "Archivo", Georgia, serif;--ts-font-narrow:"Archivo Condensed", "Archivo", "Noto Serif", "Arial Narrow", sans-serif;--app-bg:var(--ts-near-white);--app-surface:var(--ts-white);--app-text:var(--ts-near-black);--app-muted:color-mix(in srgb, var(--ts-gray) 70%, var(--ts-near-black));--app-link:var(--ts-blue-dark);--app-border:color-mix(in srgb, var(--ts-navy) 13%, var(--ts-white));--app-border-strong:color-mix(in srgb, var(--ts-navy) 24%, var(--ts-white));--app-tint:color-mix(in srgb, var(--ts-blue) 9%, var(--ts-white));--app-on-dark-soft:color-mix(in srgb, var(--ts-white) 78%, var(--ts-blue));--app-radius:12px;--app-radius-small:8px;--app-shadow:0 1px 2px #0022470f, 0 6px 20px #00224712;--app-shadow-hover:0 2px 4px #00224714, 0 14px 32px #00224721;--app-stripe:linear-gradient(90deg, var(--ts-blue) 0 52%, var(--ts-green) 52% 64%, var(--ts-amber) 64% 76%, var(--ts-orange) 76% 88%, var(--ts-raspberry) 88% 100%);--m-heat:var(--ts-orange);--m-heat-ink:color-mix(in srgb, var(--ts-orange) 72%, var(--ts-black));--m-heat-tint:color-mix(in srgb, var(--ts-orange) 12%, var(--ts-white));--m-cool:var(--ts-blue);--m-cool-ink:color-mix(in srgb, var(--ts-blue) 75%, var(--ts-black));--m-cool-tint:color-mix(in srgb, var(--ts-blue) 12%, var(--ts-white));--m-moist-add:var(--ts-green);--m-moist-add-ink:color-mix(in srgb, var(--ts-green) 62%, var(--ts-black));--m-moist-add-tint:color-mix(in srgb, var(--ts-green) 12%, var(--ts-white));--m-moist-remove:var(--ts-raspberry);--m-moist-remove-ink:color-mix(in srgb, var(--ts-raspberry) 82%, var(--ts-black));--m-moist-remove-tint:color-mix(in srgb, var(--ts-raspberry) 12%, var(--ts-white));--m-exchange:var(--ts-amber);--m-exchange-ink:color-mix(in srgb, var(--ts-amber) 50%, var(--ts-black));--m-exchange-tint:color-mix(in srgb, var(--ts-amber) 12%, var(--ts-white));--m-mix:var(--ts-navy);--m-mix-ink:var(--ts-navy);--m-mix-tint:color-mix(in srgb, var(--ts-navy) 8%, var(--ts-white));--status-info-ink:var(--ts-blue-dark);--status-info-tint:color-mix(in srgb, var(--ts-blue) 9%, var(--ts-white));--status-caution-ink:color-mix(in srgb, var(--ts-amber) 50%, var(--ts-black));--status-caution-tint:color-mix(in srgb, var(--ts-amber) 16%, var(--ts-white));--status-error-ink:color-mix(in srgb, var(--ts-raspberry) 82%, var(--ts-black));--status-error-tint:color-mix(in srgb, var(--ts-raspberry) 12%, var(--ts-white));--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-fast:.14s;--dur-med:.26s;--dur-slow:.48s}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-med:0s;--dur-slow:0s}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:16px}body{background:var(--app-bg);min-height:100vh;color:var(--app-text);font-family:var(--ts-font-sans);margin:0;font-size:.9375rem;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4{color:var(--ts-navy);line-height:1.25}a{color:var(--app-link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--ts-navy)}img,svg{max-width:100%}:focus-visible{outline:3px solid var(--ts-blue);outline-offset:2px}::selection{background:color-mix(in srgb, var(--ts-blue) 25%, var(--ts-white))}[data-meaning]{--accent:var(--m-mix);--accent-ink:var(--m-mix-ink);--accent-tint:var(--m-mix-tint)}[data-meaning=heat]{--accent:var(--m-heat);--accent-ink:var(--m-heat-ink);--accent-tint:var(--m-heat-tint)}[data-meaning=cool]{--accent:var(--m-cool);--accent-ink:var(--m-cool-ink);--accent-tint:var(--m-cool-tint)}[data-meaning=moist-add]{--accent:var(--m-moist-add);--accent-ink:var(--m-moist-add-ink);--accent-tint:var(--m-moist-add-tint)}[data-meaning=moist-remove]{--accent:var(--m-moist-remove);--accent-ink:var(--m-moist-remove-ink);--accent-tint:var(--m-moist-remove-tint)}[data-meaning=exchange]{--accent:var(--m-exchange);--accent-ink:var(--m-exchange-ink);--accent-tint:var(--m-exchange-tint)}[data-meaning=reference]{--accent:var(--ts-gray);--accent-ink:var(--app-muted);--accent-tint:color-mix(in srgb, var(--ts-gray) 10%, var(--ts-white))}.muted{color:var(--app-muted)}.small{font-size:.8125rem}.serif{font-family:var(--ts-font-serif)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}kbd{border:1px solid var(--app-border-strong);background:var(--app-surface);min-width:1.6em;color:var(--ts-navy);font-family:var(--ts-font-sans);text-align:center;border-bottom-width:2px;border-radius:4px;padding:.05em .4em;font-size:.8em;font-weight:600;line-height:1.4;display:inline-block}.skip-link{z-index:100;border-radius:var(--app-radius-small);background:var(--ts-white);color:var(--ts-navy);padding:8px 16px;font-weight:700;position:absolute;top:-100px;left:16px}.skip-link:focus{top:12px}.icon{flex:none;display:block}.icon--flip{transform:rotate(180deg)}.panel-empty{color:var(--app-muted);text-align:center;margin:0;padding:24px 8px}.card{border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);min-width:0;box-shadow:var(--app-shadow);padding:16px}.card__title{color:var(--ts-navy);font-family:var(--ts-font-sans);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:700;line-height:1.3}.card__title:before{content:"";background:var(--ts-blue);border-radius:2px;width:24px;height:3px;margin-bottom:6px;display:block}.btn{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-small);background:var(--app-surface);min-height:36px;color:var(--ts-navy);font:inherit;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-fast);justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:.875rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ts-blue-dark);background:var(--app-tint);color:var(--ts-blue-dark)}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{border-color:var(--app-border);background:var(--app-bg);color:var(--app-muted);cursor:not-allowed;opacity:.75;transform:none}.btn--primary{border-color:var(--ts-navy);background:var(--ts-navy);color:var(--ts-white)}.btn--primary:hover{border-color:var(--ts-blue-dark);background:var(--ts-blue-dark);color:var(--ts-white)}.btn--ghost{color:var(--app-link);background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--app-tint);color:var(--ts-navy);border-color:#0000}.btn--ghost:disabled{background:0 0;border-color:#0000}.btn--danger{border-color:var(--status-error-ink);background:var(--status-error-tint);color:var(--status-error-ink)}.btn--danger:hover{border-color:var(--status-error-ink);background:var(--status-error-ink);color:var(--ts-white)}.btn--small{min-height:30px;padding:0 10px;font-size:.8125rem}.btn--icon{width:36px;padding:0}.btn--icon.btn--small{width:30px}.btn--on-dark{border-color:color-mix(in srgb, var(--ts-white) 28%, transparent);background:color-mix(in srgb, var(--ts-white) 8%, transparent);color:var(--ts-white)}.btn--on-dark:hover{border-color:color-mix(in srgb, var(--ts-white) 55%, transparent);background:color-mix(in srgb, var(--ts-white) 16%, transparent);color:var(--ts-white)}.btn--on-dark[aria-pressed=true]{border-color:var(--ts-white);background:var(--ts-white);color:var(--ts-navy)}.seg{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-small);background:var(--app-bg);gap:2px;padding:3px;display:inline-flex}.seg--block{width:100%;display:flex}.seg--block .seg__opt{flex:1 1 0}.seg__opt{min-height:28px;color:var(--app-muted);font:inherit;cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast), box-shadow var(--dur-fast);background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:.8125rem;font-weight:600;line-height:1.2}.seg__opt:hover{background:var(--app-tint);color:var(--ts-navy)}.seg__opt[aria-pressed=true]{background:var(--ts-navy);color:var(--ts-white);box-shadow:0 1px 3px color-mix(in srgb, var(--ts-navy) 30%, transparent)}.seg__opt:focus-visible{outline-offset:0}.seg--on-dark{border-color:color-mix(in srgb, var(--ts-white) 28%, transparent);background:color-mix(in srgb, var(--ts-white) 8%, transparent)}.seg--on-dark .seg__opt{color:var(--app-on-dark-soft)}.seg--on-dark .seg__opt:hover{background:color-mix(in srgb, var(--ts-white) 14%, transparent);color:var(--ts-white)}.seg--on-dark .seg__opt[aria-pressed=true]{background:var(--ts-white);color:var(--ts-navy)}.field{gap:4px;min-width:0;display:grid}.field__head{justify-content:space-between;align-items:center;gap:8px;min-height:20px;display:flex}.field__label{color:var(--ts-navy);font-size:.8125rem;font-weight:600;line-height:1.3}.field__control{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-small);background:var(--app-surface);min-width:0;transition:border-color var(--dur-fast), box-shadow var(--dur-fast);align-items:stretch;display:flex;overflow:hidden}.field__control:hover{border-color:color-mix(in srgb, var(--ts-navy) 45%, var(--ts-white))}.field__control:focus-within{border-color:var(--ts-blue-dark);outline:3px solid var(--ts-blue);outline-offset:1px}.field__input{width:100%;min-width:0;min-height:34px;color:var(--app-text);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:auto;padding:6px 10px;font-size:.9375rem}.field__input:disabled{color:var(--app-muted)}.field__input--text{font-variant-numeric:normal}textarea.field__input{resize:vertical;line-height:1.5}.field__unit{border-left:1px solid var(--app-border);background:var(--app-bg);color:var(--app-muted);white-space:nowrap;flex:none;align-items:center;padding:0 10px;font-size:.8125rem;display:flex}.field__help{color:var(--app-muted);font-family:var(--ts-font-serif);animation:fade-in var(--dur-med) var(--ease-out);margin:0;font-size:.78rem;line-height:1.45}.field--error .field__control{border-color:var(--status-error-ink);box-shadow:0 0 0 3px var(--status-error-tint)}.field__error{color:var(--status-error-ink);margin:0;font-size:.78rem;font-weight:600;line-height:1.4}.field__error:before{content:"! ";font-weight:800}.field__kept{color:var(--app-muted);animation:fade-in var(--dur-med) var(--ease-out);margin:0;font-size:.78rem;font-weight:600;line-height:1.4}.field__info{border:1px solid var(--app-border-strong);background:var(--app-surface);width:20px;height:20px;color:var(--app-muted);font:italic 700 .7rem/1 var(--ts-font-serif);cursor:pointer;transition:color var(--dur-fast), border-color var(--dur-fast), background-color var(--dur-fast);border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.field__info:hover,.field__info[aria-expanded=true]{border-color:var(--ts-blue-dark);background:var(--app-tint);color:var(--ts-blue-dark)}.field__row{grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:12px;display:grid}.field__slider{--fill:50%;background:linear-gradient(to right, var(--ts-blue) var(--fill), var(--app-border-strong) var(--fill));cursor:pointer;appearance:none;border-radius:3px;width:100%;height:6px;margin:0}.field__slider:focus-visible{outline-offset:6px}.field__slider::-webkit-slider-thumb{border:2px solid var(--ts-blue-dark);background:var(--app-surface);width:18px;height:18px;box-shadow:var(--app-shadow);transition:transform var(--dur-fast) var(--ease-out);appearance:none;border-radius:50%}.field__slider:hover::-webkit-slider-thumb{transform:scale(1.15)}.field__slider:active::-webkit-slider-thumb{transform:scale(1.15)}.field__slider::-moz-range-thumb{border:2px solid var(--ts-blue-dark);background:var(--app-surface);border-radius:50%;width:16px;height:16px}.select{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-small);background:linear-gradient(45deg, transparent 50%, var(--ts-navy) 50%) calc(100% - 17px) 50% / 5px 5px no-repeat, linear-gradient(135deg, var(--ts-navy) 50%, transparent 50%) calc(100% - 12px) 50% / 5px 5px no-repeat, var(--app-surface);width:100%;min-height:36px;color:var(--app-text);font:inherit;cursor:pointer;appearance:none;transition:border-color var(--dur-fast);padding:6px 32px 6px 10px;font-size:.875rem}.select:hover{border-color:color-mix(in srgb, var(--ts-navy) 45%, var(--ts-white))}.select:focus-visible{border-color:var(--ts-blue-dark);outline-offset:1px}.select--small{min-height:30px;font-size:.8125rem}.field--toggle{gap:2px}.toggle-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.toggle{color:var(--app-text);cursor:pointer;align-items:center;gap:10px;font-size:.875rem;line-height:1.3;display:inline-flex;position:relative}.toggle__input{opacity:0;width:1px;height:1px;position:absolute}.toggle__track{background:var(--ts-gray);width:34px;height:20px;transition:background-color var(--dur-fast);border-radius:999px;flex:none;position:relative}.toggle__thumb{background:var(--ts-white);width:16px;height:16px;box-shadow:0 1px 2px color-mix(in srgb, var(--ts-navy) 35%, transparent);transition:transform var(--dur-fast) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.toggle__input:checked+.toggle__track{background:var(--ts-blue-dark)}.toggle__input:checked+.toggle__track .toggle__thumb{transform:translate(14px)}.toggle__input:focus-visible+.toggle__track{outline:3px solid var(--ts-blue);outline-offset:2px}.toggle:hover .toggle__track{box-shadow:0 0 0 4px var(--app-tint)}.chip{background:var(--app-tint);color:var(--ts-blue-dark);font:inherit;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-flex}button.chip{cursor:pointer;transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast)}.chip--heat{background:var(--m-heat-tint);color:var(--m-heat-ink)}.chip--cool{background:var(--m-cool-tint);color:var(--m-cool-ink)}.chip--moist-add{background:var(--m-moist-add-tint);color:var(--m-moist-add-ink)}.chip--moist-remove{background:var(--m-moist-remove-tint);color:var(--m-moist-remove-ink)}.chip--exchange{background:var(--m-exchange-tint);color:var(--m-exchange-ink)}.chip--mix{background:var(--m-mix-tint);color:var(--m-mix-ink)}button.chip:hover{border-color:currentColor}.chip--preset{border-color:var(--app-border-strong);background:var(--app-surface);color:var(--ts-navy);white-space:normal;text-align:left;padding:3px 10px}button.chip--preset:hover{border-color:var(--accent,var(--ts-blue-dark));background:var(--accent-tint,var(--app-tint))}.chip--preset[aria-pressed=true]{border-color:var(--ts-navy);background:var(--ts-navy);color:var(--ts-white)}button.chip--preset[aria-pressed=true]:hover{background:var(--ts-blue-dark);color:var(--ts-white)}.tag{border:1px solid var(--app-border-strong);color:var(--app-muted);letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;border-radius:999px;margin-left:6px;padding:0 6px;font-size:.6875rem;font-style:normal;font-weight:600;display:inline-block}.tag--warn{border-color:var(--status-error-ink);color:var(--status-error-ink)}.tabs{border-bottom:1px solid var(--app-border);scrollbar-width:none;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.tab{color:var(--app-muted);font:inherit;white-space:nowrap;cursor:pointer;transition:color var(--dur-fast), background-color var(--dur-fast);background:0 0;border:0;border-radius:8px 8px 0 0;align-items:center;gap:6px;padding:12px 14px;font-size:.875rem;font-weight:600;display:inline-flex;position:relative}.tab:after{content:"";background:var(--ts-blue);height:3px;transition:transform var(--dur-med) var(--ease-out);border-radius:3px 3px 0 0;position:absolute;bottom:0;left:10px;right:10px;transform:scaleX(0)}.tab:hover{background:var(--app-tint);color:var(--ts-navy)}.tab[aria-selected=true]{color:var(--ts-navy)}.tab[aria-selected=true]:after{transform:scaleX(1)}.tab:focus-visible{outline-offset:-3px}.tab__count{background:var(--ts-navy);min-width:20px;color:var(--ts-white);text-align:center;border-radius:999px;padding:0 6px;font-size:.6875rem;line-height:18px}.center-tabs{padding:0}.tab-panel{animation:fade-in var(--dur-med) var(--ease-out);padding:16px}.tab-panel:focus-visible{outline-offset:-3px}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:5;border-bottom:4px solid var(--ts-blue);border-image:var(--app-stripe) 1;background:var(--ts-navy);color:var(--ts-white);position:relative}.app-header__inner{flex-wrap:wrap;align-items:center;gap:8px 16px;max-width:1920px;min-height:68px;margin:0 auto;padding:10px 16px;display:flex}.brand{align-items:center;gap:16px;min-width:0;margin-right:auto;display:flex}.brand__logo{width:auto;height:44px;display:block}.brand__text{border-left:1px solid color-mix(in srgb, var(--ts-white) 35%, transparent);flex-direction:column;gap:2px;min-width:0;padding-left:16px;display:flex}.brand__title{color:var(--ts-white);font-family:var(--ts-font-display);letter-spacing:.005em;white-space:nowrap;margin:0;font-size:1.125rem;font-weight:900;line-height:1.1}.brand__project{max-width:32ch;color:var(--app-on-dark-soft);font:inherit;text-overflow:ellipsis;text-underline-offset:.2em;white-space:nowrap;cursor:pointer;transition:color var(--dur-fast), text-decoration-color var(--dur-fast);background:0 0;border:0;border-radius:4px;align-self:flex-start;padding:0;font-size:.8125rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;overflow:hidden}.brand__project:hover{color:var(--ts-white);text-decoration-color:currentColor}.brand__project--empty{font-style:italic}.app-header__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.hdr-chip{border:1px solid color-mix(in srgb, var(--ts-white) 22%, transparent);background:color-mix(in srgb, var(--ts-white) 6%, transparent);min-height:32px;color:var(--app-on-dark-soft);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;transition:background-color var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.8125rem;display:inline-flex}.hdr-chip:hover{border-color:color-mix(in srgb, var(--ts-white) 50%, transparent);background:color-mix(in srgb, var(--ts-white) 14%, transparent);color:var(--ts-white)}.hdr-btn{min-height:34px}.hdr-export{display:flex}.app-main{flex:1 0 auto;grid-template:"left center right""left tabs right"1fr/320px minmax(0,1fr) 340px;align-items:start;gap:16px;width:100%;max-width:1920px;margin:0 auto;padding:16px;display:grid}.app-left{grid-area:left}.app-center{grid-area:center;gap:12px;min-width:0;display:grid}.app-right{grid-area:right}.app-tabs{grid-area:tabs;min-width:0}.app-left,.app-right{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--app-border-strong) transparent;align-content:start;gap:16px;min-width:0;max-height:calc(100vh - 24px);margin:-4px;padding:4px;display:grid;position:sticky;top:12px;overflow-y:auto}.app-footer{border-top:4px solid var(--ts-blue);border-image:var(--app-stripe) 1;background:var(--ts-navy);color:var(--app-on-dark-soft);font-size:.8125rem}.app-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px;max-width:1920px;margin:0 auto;padding:16px;display:flex}.app-footer__source{max-width:72ch;font-family:var(--ts-font-serif);margin:0}.app-footer__meta{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 20px;display:flex}.app-footer__company{color:var(--ts-white);font-weight:600}.app-footer__link{color:var(--ts-white);font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;text-decoration:underline;display:inline-flex}.app-footer__link:hover{text-decoration-thickness:2px}.mode-picker{padding:16px 12px 12px}.mode-picker__head{justify-content:space-between;align-items:flex-start;gap:8px;padding:0 4px;display:flex}.mode-picker__toggle{margin-top:-4px}.mode-picker__toggle .icon{transition:transform var(--dur-med) var(--ease-out)}.mode-picker__select{display:none}.mode-picker__list{animation:fade-in var(--dur-med) var(--ease-out)}@media (width>=760px){.mode-picker__list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--app-border-strong) transparent;background:linear-gradient(var(--app-surface) 40%, transparent) top / 100% 24px no-repeat local, linear-gradient(transparent, var(--app-surface) 60%) bottom / 100% 24px no-repeat local, radial-gradient(farthest-side at 50% 0, color-mix(in srgb, var(--ts-navy) 16%, transparent), transparent) top / 100% 8px no-repeat scroll, radial-gradient(farthest-side at 50% 100%, color-mix(in srgb, var(--ts-navy) 16%, transparent), transparent) bottom / 100% 8px no-repeat scroll;max-height:clamp(220px,100vh - 500px,600px);margin:4px -4px 0;padding:2px 4px;overflow-y:auto}}.mode-picker__group+.mode-picker__group{margin-top:8px}.mode-picker__cat{color:var(--app-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 2px;padding:0 8px;font-size:.6875rem;font-weight:700}.mode-picker__items{gap:2px;margin:0;padding:0;list-style:none;display:grid}.mode-btn{border-radius:var(--app-radius-small);width:100%;min-height:34px;color:var(--app-text);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:4px 8px;font-size:.875rem;line-height:1.25;display:flex;position:relative}.mode-btn .mode-icon{transition:transform var(--dur-med) var(--ease-out);flex:none}.mode-btn:hover{background:var(--accent-tint);color:var(--ts-navy)}.mode-btn:hover .mode-icon{transform:scale(1.12)}.mode-btn[aria-current=true]{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:var(--accent-tint);color:var(--ts-navy);font-weight:700}.mode-btn[aria-current=true]:before{content:"";background:var(--accent);border-radius:3px;width:3px;position:absolute;top:7px;bottom:7px;left:-1px}.mode-btn:focus-visible{outline-offset:0}.mode-btn__text{min-width:0;display:grid}.mode-btn__tagline{color:var(--app-muted);font-family:var(--ts-font-serif);font-size:.75rem;font-weight:400;line-height:1.35}.mode-btn--summary{margin-top:4px}.inputs__head{align-items:flex-start;gap:12px;display:flex}.inputs__icon{background:var(--accent-tint);border-radius:10px;flex:none;padding:4px}.inputs__titles{flex:auto;min-width:0}.inputs__title{color:var(--ts-navy);font-family:var(--ts-font-display);margin:0;font-size:.95rem;font-weight:900;line-height:1.2}.inputs__tagline{color:var(--app-muted);margin:4px 0 0;font-size:.8125rem;line-height:1.45}.inputs__presets{gap:6px;margin-top:12px;display:grid}.inputs__presets-head{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.inputs__reset{flex:none;margin:0 -8px 0 0}.undo-redo{flex:none;gap:2px;margin-left:auto;display:flex}.undo-redo .btn--icon{width:30px;min-height:30px;padding:0}.inputs__presets-label{color:var(--app-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.inputs__chips{flex-wrap:wrap;gap:6px;display:flex}.inputs__group{border-top:1px solid var(--app-border);margin-top:16px;padding-top:12px}.inputs__group-title{color:var(--ts-navy);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.6875rem;font-weight:700}.inputs__fields{gap:12px;display:grid}.inputs__field{min-width:0;animation:fade-in var(--dur-med) var(--ease-out)}.inputs__editor{margin-top:16px}.state-field{border:0;gap:6px;margin:0;padding:0;position:relative}.state-field__legend{float:left;width:100%;margin-bottom:4px;padding:0 28px 0 0}.state-field>.field__info{position:absolute;top:0;right:0}.state-field__kindrow{clear:both;align-items:center;gap:8px;display:flex}.state-field__kind{flex:auto;min-width:0}.state-field__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;display:grid}.state-field__pair>.field{grid-row:span 4;grid-template-rows:subgrid;align-content:start}.state-field__pair>.field>.field__head{align-self:end}.state-field__pair .field__label{color:var(--app-text);font-weight:400}.state-field__resolved{color:var(--app-muted);font-variant-numeric:tabular-nums;margin:0;font-size:.78rem}.state-field__fog{color:var(--status-error-ink);font-weight:600}.chart-card{padding:0}.chart-card__toolbar{border-bottom:1px solid var(--app-border);padding:8px 12px}.chart-card__toolbar:has(>:empty){display:none}.chart-frame{aspect-ratio:4/3;width:100%;min-height:360px;max-height:calc(100vh - 210px);transition:opacity var(--dur-med), filter var(--dur-med);position:relative}.chart-frame:focus{outline:none}.chart-frame__chart{width:100%;height:100%;display:block;position:absolute;inset:0}.chart-frame--dimmed{opacity:.55;filter:grayscale(.6)}.loads__stale{color:var(--status-error-ink);margin:0 0 8px;font-weight:600;display:none}.app-main--stale .loads,.app-main--stale .metrics{opacity:.6;transition:opacity var(--dur-med)}.chart-card__playback{border-top:1px solid var(--app-border);padding:8px 12px}.chart-card__playback:has(>:empty){display:none}.error-banner{border:1px solid color-mix(in srgb, var(--ts-raspberry) 35%, var(--ts-white));border-left:5px solid var(--ts-raspberry);border-radius:var(--app-radius);background:var(--status-error-tint);color:var(--status-error-ink);animation:slide-down var(--dur-med) var(--ease-out);align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.error-banner__icon{margin-top:2px}.error-banner__msg{margin:0;font-weight:700}.error-banner__sub{color:var(--app-text);margin:2px 0 0}.readout__head{justify-content:space-between;align-items:flex-end;gap:4px 8px;min-height:1.5rem;margin-bottom:8px;display:flex}.readout__head .card__title{flex:none;margin:0}.readout__body{display:grid}.readout__content,.readout__body>.readout__empty{grid-area:1/1;min-width:0}.readout--empty .readout__content{visibility:hidden}.readout__body>.readout__empty{text-align:center;flex-direction:column;justify-content:center;align-self:stretch;align-items:center;padding:16px 20px}.readout__body>.readout__empty .icon{margin:0}.readout__hint--touch{display:none}@media (hover:none) and (pointer:coarse){.readout__hint--pointer{display:none}.readout__hint--touch{display:inline}}.readout__source{min-width:0;max-width:100%;color:var(--app-muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:.75rem;font-weight:600;display:inline-flex;overflow:hidden}.readout__source--selected{color:var(--ts-blue-dark)}.readout__live{background:var(--ts-green);width:8px;height:8px;animation:live-pulse 1.6s var(--ease-out) infinite;border-radius:50%;flex:none}.readout__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;display:grid}.readout__row{border:1px solid var(--app-border);border-radius:var(--app-radius-small);background:var(--app-bg);min-width:0;padding:3px 8px 4px}.readout dt{min-width:0;color:var(--app-muted);flex-wrap:wrap;align-items:baseline;gap:2px 6px;font-size:.7rem;line-height:1.3;display:flex}.readout__list:not(.readout__list--learn) dt{white-space:nowrap;flex-wrap:nowrap;overflow:hidden}.readout__list:not(.readout__list--learn) .readout__name{text-overflow:ellipsis;overflow:hidden}.readout__sym{color:var(--app-muted);font-family:var(--ts-font-serif);font-size:.72rem;font-style:italic}.readout dd{color:var(--ts-navy);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.875rem;font-weight:700;line-height:1.35;overflow:hidden}.readout__row--tdb,.readout__row--twb,.readout__row--tdp,.readout__row--rh{border-color:color-mix(in srgb, var(--ts-blue) 25%, var(--ts-white));background:var(--app-tint)}.readout__row--tdb dd,.readout__row--twb dd,.readout__row--tdp dd,.readout__row--rh dd{font-size:.9375rem}.readout__def{color:var(--app-muted);font-family:var(--ts-font-serif);flex-basis:100%;font-size:.75rem;line-height:1.4}.readout__list--learn{grid-template-columns:minmax(0,1fr);gap:0}.readout__list--learn .readout__row{border:0;border-bottom:1px dashed var(--app-border);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:6px 0;display:grid}.readout__list--learn .readout__row:last-child{border-bottom:0}.readout__list--learn dt{color:var(--app-text);font-size:.8125rem}.readout__list--learn dd{text-align:right;margin:0}.readout__fog{border-radius:var(--app-radius-small);background:var(--status-caution-tint);min-height:32px;color:var(--status-caution-ink);align-items:center;gap:6px;margin:0;padding:4px 10px;font-size:.78rem;line-height:1.4;display:inline-flex}.readout__empty{border:1px dashed var(--app-border-strong);border-radius:var(--app-radius-small);color:var(--app-muted);font-family:var(--ts-font-serif);align-self:start;align-items:flex-start;gap:10px;margin:0;padding:12px;font-size:.8125rem;line-height:1.5;display:flex}.readout__empty .icon{color:var(--ts-blue-dark);margin-top:2px}.readout__actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.loads__head{justify-content:space-between;align-items:flex-end;gap:8px;margin-bottom:12px;display:flex}.loads__head .card__title{margin:0}.warn-chip{background:var(--status-info-tint);color:var(--status-info-ink);font:inherit;cursor:pointer;transition:box-shadow var(--dur-fast);border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.warn-chip:hover{box-shadow:var(--app-shadow)}.warn-chip--caution{background:var(--status-caution-tint);color:var(--status-caution-ink)}.warn-chip--error{background:var(--status-error-tint);color:var(--status-error-ink)}.loads__list{gap:12px;display:grid}.load-card{border:1px solid var(--app-border);border-radius:var(--app-radius-small);background:var(--app-surface);transition:border-color var(--dur-fast), box-shadow var(--dur-fast);padding:12px 12px 12px 16px;position:relative;overflow:hidden}.load-card:before{content:"";background:var(--accent);width:4px;position:absolute;top:0;bottom:0;left:0}.load-card:hover,.load-card--hot{border-color:color-mix(in srgb, var(--accent) 55%, var(--ts-white));box-shadow:var(--app-shadow)}.load-card__head{align-items:center;gap:8px;display:flex}.load-card__icon{background:var(--accent-tint);width:28px;height:28px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;display:grid}.load-card__name{min-width:0;color:var(--ts-navy);flex:auto;margin:0;font-size:.875rem;font-weight:700}.load-card__duty{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.load-card__total{flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin:8px 0 0;display:flex}.load-card__value{color:var(--ts-navy);font-family:var(--ts-font-display);font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:900;line-height:1.05}.load-card__unit{color:var(--app-muted);font-size:.875rem;font-weight:600}.load-card__tons{background:var(--accent-tint);color:var(--accent-ink);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:.8125rem;font-weight:700}.load-card__dir{color:var(--app-muted);margin:2px 0 0}.split{margin-top:10px}.split__bar{background:var(--app-border);border-radius:5px;height:10px;display:flex;overflow:hidden}.split__seg{background:var(--accent);height:100%;transition:width var(--dur-slow) var(--ease-out);display:block}.split__seg+.split__seg{box-shadow:inset 2px 0 0 var(--app-surface)}.split__legend{flex-wrap:wrap;gap:2px 14px;margin:6px 0 0;font-size:.75rem;display:flex}.split__legend>div{align-items:baseline;gap:6px;display:flex}.split__legend dt{color:var(--app-muted);align-items:center;gap:5px;display:inline-flex}.split__legend dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.split__key{background:var(--accent);border-radius:2px;width:8px;height:8px}.load-card__rows{border-top:1px solid var(--app-border);gap:2px;margin:10px 0 0;padding-top:8px;font-size:.8125rem;display:grid}.load-card__rows>div{justify-content:space-between;gap:8px;display:flex}.load-card__rows dt{color:var(--app-muted)}.load-card__rows dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.load-card__note{color:var(--app-muted);margin:8px 0 0;font-size:.75rem;line-height:1.45}.metrics__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.metric{border:1px solid var(--app-border);border-radius:var(--app-radius-small);background:var(--app-bg);min-width:0;padding:8px 10px}.metric--em{border-color:color-mix(in srgb, var(--ts-blue) 30%, var(--ts-white));background:var(--app-tint)}.metric__label{color:var(--app-muted);font-size:.75rem;line-height:1.3}.metric__value{overflow-wrap:anywhere;color:var(--ts-navy);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:.9375rem;font-weight:700}.metric--em .metric__value{font-size:1.125rem}.metric__help{color:var(--app-muted);font-family:var(--ts-font-serif);margin:4px 0 0;font-size:.72rem;line-height:1.4}.warnings__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.warning{border:1px solid #0000;border-left:4px solid var(--ts-blue);border-radius:var(--app-radius-small);background:var(--status-info-tint);width:100%;color:var(--status-info-ink);font:inherit;text-align:left;animation:fade-in var(--dur-med) var(--ease-out);align-items:flex-start;gap:10px;padding:10px 12px;font-size:.8125rem;line-height:1.45;display:flex}.warning--caution{border-left-color:var(--ts-amber);background:var(--status-caution-tint);color:var(--status-caution-ink)}.warning--error{border-left-color:var(--ts-raspberry);background:var(--status-error-tint);color:var(--status-error-ink)}.warning--link{cursor:pointer;transition:box-shadow var(--dur-fast), border-color var(--dur-fast)}.warning--link:hover{box-shadow:var(--app-shadow);border-color:currentColor}.warning[aria-pressed=true]{border-color:currentColor}.warning__icon{margin-top:1px}.warning__text{flex:auto;min-width:0}.warning__state{background:var(--app-surface);white-space:nowrap;border:1px solid;border-radius:999px;flex:none;padding:1px 7px;font-size:.6875rem;font-weight:700}.table-scroll{border:1px solid var(--app-border);border-radius:var(--app-radius-small);max-width:100%;overflow-x:auto}.table-scroll:focus-visible{outline-offset:1px}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.8125rem}.data-table thead th{background:var(--ts-navy);color:var(--ts-white);text-align:left;vertical-align:bottom;white-space:nowrap;padding:8px;font-weight:600;position:sticky;top:0}.data-table .num{text-align:right}.th__name{display:block}.th__unit{color:var(--app-on-dark-soft);font-size:.6875rem;font-weight:400;display:block}.data-table tbody th,.data-table tbody td{border-top:1px solid var(--app-border);text-align:left;white-space:nowrap;padding:6px 8px;font-weight:400}.data-table tbody td.num{text-align:right}.data-table tbody tr{transition:background-color var(--dur-fast)}.states__table tbody:first-of-type tr{cursor:pointer}.data-table tbody tr:hover,.data-table tbody tr.is-hover{background:var(--app-tint)}.data-table tbody tr.is-selected{background:color-mix(in srgb, var(--ts-blue) 16%, var(--ts-white));box-shadow:inset 3px 0 0 var(--ts-blue)}.data-table tr.is-reference td{color:var(--app-muted);font-style:italic}.data-table__id{width:52px}.data-table__label{min-width:150px;white-space:normal!important}.data-table__section th{background:var(--app-bg);color:var(--ts-navy);letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;padding:8px 10px!important;font-weight:700!important}.state-marker{border:3px solid var(--accent,var(--ts-navy));background:var(--app-surface);min-width:28px;height:28px;color:var(--ts-navy);font:inherit;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out);border-radius:14px;place-items:center;padding:0 4px;font-size:.6875rem;font-weight:800;line-height:1;display:grid}tr:hover .state-marker,tr.is-hover .state-marker,.state-marker[aria-pressed=true]{transform:scale(1.15)}.state-marker[aria-pressed=true]{background:var(--accent-tint)}.pin-marker{border:2px solid var(--ts-white);background:var(--ts-navy);width:11px;height:11px;box-shadow:0 0 0 1px var(--ts-navy);flex:none;margin:0 8px;display:inline-block;transform:rotate(45deg)}.pin-marker--large{width:18px;height:18px;margin:8px auto 12px}.states__bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:12px;display:flex}.states__bar p{margin:0}.math__list{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.math-line{border:1px solid var(--app-border);border-radius:var(--app-radius-small);background:var(--app-bg);padding:12px 14px}.math-line__label{color:var(--ts-navy);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem;font-weight:700}.math-line__eq{font-family:var(--ts-font-sans);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;grid-template-columns:max-content minmax(0,1fr);gap:3px 10px;margin:0;font-size:.875rem;display:grid}.math-line__row{display:contents}.math-line__key{color:var(--app-muted);white-space:nowrap;padding-top:.15em;font-size:.6875rem;font-weight:600;line-height:1.5}.math-line__eq dd{margin:0}.math-line__formula{color:var(--ts-blue-dark);font-weight:600}.math-line__text{color:var(--app-text)}.math-line__result{color:var(--ts-navy);font-weight:700}.math-line__note{color:var(--app-muted);margin:6px 0 0;font-size:.75rem;line-height:1.45}.math__source{margin:12px 0 0}.explainer{max-width:84ch}.explainer__head{align-items:flex-start;gap:16px;display:flex}.explainer__icon{background:var(--app-tint);border-radius:14px;flex:none;padding:6px}.explainer__title{color:var(--ts-navy);font-family:var(--ts-font-display);margin:0;font-size:1.25rem;font-weight:900}.explainer__summary{font-family:var(--ts-font-serif);margin:6px 0 0;font-size:.9375rem;line-height:1.65}.explainer__section h3{color:var(--ts-navy);font-family:var(--ts-font-sans);letter-spacing:.1em;text-transform:uppercase;margin:20px 0 8px;font-size:.75rem;font-weight:700}.explainer__section p,.explainer__section li{font-family:var(--ts-font-serif);font-size:.875rem;line-height:1.65}.explainer__section p{margin:0 0 12px}.explainer__section ul{margin:0;padding-left:20px}.explainer__section ul li::marker{color:var(--ts-blue)}.explainer__steps{counter-reset:step;gap:8px;margin:0;padding:0;list-style:none;display:grid}.explainer__steps li{counter-increment:step;min-height:24px;padding-left:36px;position:relative}.explainer__steps li:before{content:counter(step);background:var(--ts-navy);width:24px;height:24px;color:var(--ts-white);font:700 .75rem/24px var(--ts-font-sans);text-align:center;border-radius:50%;position:absolute;top:0;left:0}.explainer__cols{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:0 32px;display:grid}.pinned__list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pinned__item{border:1px solid var(--app-border);border-radius:var(--app-radius-small);transition:border-color var(--dur-fast);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;display:flex}.pinned__item:hover{border-color:var(--app-border-strong)}.pinned__main{flex:240px;min-width:0}.pinned__label{width:100%;color:var(--ts-navy);font:inherit;background:0 0;border:1px solid #0000;border-radius:6px;margin-left:-6px;padding:2px 6px;font-weight:700}.pinned__label:hover{border-color:var(--app-border-strong)}.pinned__label:focus{border-color:var(--ts-blue-dark);background:var(--app-surface)}.pinned__props{color:var(--app-muted);font-variant-numeric:tabular-nums;margin:2px 0 0}.pinned__actions{gap:6px;display:flex}.pinned__foot{justify-content:flex-end;margin-top:12px;display:flex}.pinned-empty p{max-width:60ch;font-family:var(--ts-font-serif);margin:0 auto;line-height:1.6}.dialog{border-radius:var(--app-radius);background:var(--app-surface);width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--app-text);box-shadow:0 24px 64px color-mix(in srgb, var(--ts-navy) 32%, transparent);border:0;padding:0;overflow:hidden}.dialog[open]{animation:pop-in var(--dur-med) var(--ease-out)}.dialog::backdrop{background:color-mix(in srgb, var(--ts-navy) 52%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog--wide{width:min(900px,100vw - 32px)}.dialog__panel{flex-direction:column;max-height:calc(100vh - 32px);display:flex}.dialog__head{border-bottom:1px solid var(--app-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 14px;display:flex;position:relative}.dialog__head:before{content:"";background:var(--app-stripe);height:4px;position:absolute;top:0;left:0;right:0}.dialog__title{color:var(--ts-navy);font-family:var(--ts-font-display);margin:0;font-size:1.125rem;font-weight:900}.dialog__subtitle{color:var(--app-muted);margin:4px 0 0;font-size:.8125rem}.dialog__close{margin:-6px -8px 0 0}.dialog__body{padding:16px 20px 20px;overflow-y:auto}.dialog__foot{border-top:1px solid var(--app-border);background:var(--app-bg);justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.settings{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px 32px;display:grid}.settings__section{align-content:start;gap:12px;display:grid}.settings__title{color:var(--ts-navy);letter-spacing:.1em;text-transform:uppercase;margin:12px 0 0;font-size:.6875rem;font-weight:700}.settings__section>.settings__title:first-child{margin-top:0}.settings__note{color:var(--app-muted);font-variant-numeric:tabular-nums;margin:0}.settings__note strong{color:var(--ts-navy)}.settings__toggles{gap:10px;display:grid}.settings__overlay{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;display:grid}.settings__swatch{width:20px;height:10px;margin-top:5px;display:block}.settings__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.radio-cards{gap:8px;display:grid}.radio-card{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-small);cursor:pointer;transition:border-color var(--dur-fast), background-color var(--dur-fast), box-shadow var(--dur-fast);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.radio-card:hover{border-color:var(--ts-blue-dark)}.radio-card:has(input:checked){border-color:var(--ts-blue-dark);background:var(--app-tint);box-shadow:inset 0 0 0 1px var(--ts-blue-dark)}.radio-card:has(input:focus-visible){outline:3px solid var(--ts-blue);outline-offset:2px}.radio-card input{accent-color:var(--ts-blue-dark);flex:none;margin:3px 0 0}.radio-card__title{color:var(--ts-navy);font-size:.875rem;font-weight:700;display:block}.radio-card__desc{color:var(--app-muted);font-family:var(--ts-font-serif);margin-top:2px;font-size:.78rem;line-height:1.45;display:block}.project-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.project-form>.field:first-child,.project-form__notes{grid-column:1/-1}.field__note{color:var(--app-muted);margin:2px 0 0;line-height:1.4}.link-btn{color:var(--ts-blue-dark);font:inherit;text-align:left;text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.link-btn:hover{text-decoration-thickness:2px}.shortcuts{border-collapse:collapse;width:100%;font-size:.875rem}.shortcuts tr+tr{border-top:1px solid var(--app-border)}.shortcuts th{text-align:left;white-space:nowrap;width:1%;padding:8px 16px 8px 0;font-weight:400}.shortcuts td{padding:8px 0}.dialog__body>.settings__title{margin:16px 0 4px}.learn-drawer{z-index:30;border-right:1px solid var(--app-border);background:var(--app-surface);width:min(380px,100vw);box-shadow:8px 0 40px color-mix(in srgb, var(--ts-navy) 22%, transparent);overscroll-behavior:contain;animation:drawer-in var(--dur-med) var(--ease-out);padding:0 20px 24px;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.learn-drawer:focus{outline:none}.learn-drawer__head{z-index:1;border-bottom:1px solid var(--app-border);background:var(--app-surface);justify-content:space-between;align-items:flex-start;gap:12px;margin:0 -20px;padding:20px 20px 12px;display:flex;position:sticky;top:0}.learn-drawer__head:before{content:"";background:var(--app-stripe);height:4px;position:absolute;top:0;left:0;right:0}.learn-drawer__eyebrow{color:var(--ts-blue-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 2px;font-size:.6875rem;font-weight:700}.learn-drawer__title{font-family:var(--ts-font-display);margin:0;font-size:1.125rem;font-weight:900}.learn-drawer__lead{margin:12px 0;font-size:.875rem;line-height:1.6}.learn-drawer__actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.glossary{gap:8px;margin:0;padding:0;list-style:none;display:grid}.glossary__item{border:1px solid var(--app-border);transition:border-color var(--dur-med), box-shadow var(--dur-med), background-color var(--dur-med);border-radius:10px;padding:10px 12px}.glossary__item.is-pulsing{border-color:var(--ts-blue);background:var(--app-tint);box-shadow:0 0 0 3px color-mix(in srgb, var(--ts-blue) 22%, transparent)}.glossary__top{align-items:center;gap:8px;display:flex}.glossary__swatch{flex:none;width:20px;height:16px}.glossary__name{flex:auto;margin:0;font-size:.875rem;font-weight:700}.glossary__sym{color:var(--app-muted);font-family:var(--ts-font-serif);white-space:nowrap;font-size:.8125rem;font-style:italic}.glossary__def{font-family:var(--ts-font-serif);margin:6px 0 0;font-size:.8125rem;line-height:1.55}.glossary__foot{justify-content:space-between;align-items:center;min-height:28px;margin-top:4px;display:flex}.glossary__show{margin-left:auto}.hdr-btn--glossary{animation:pop-in var(--dur-med) var(--ease-out)}.tour{z-index:50;position:fixed;inset:0}.tour__spot{box-shadow:0 0 0 3px var(--ts-blue), 0 0 0 9999px color-mix(in srgb, var(--ts-navy) 58%, transparent);pointer-events:none;transition:top var(--dur-slow) var(--ease-out), left var(--dur-slow) var(--ease-out), width var(--dur-slow) var(--ease-out), height var(--dur-slow) var(--ease-out);border-radius:14px;position:fixed}.tour__spot--none{width:0;height:0;box-shadow:0 0 0 9999px color-mix(in srgb, var(--ts-navy) 58%, transparent);top:50%;left:50%}.tour__card{border-radius:var(--app-radius);background:var(--app-surface);width:min(340px,100vw - 24px);box-shadow:0 24px 64px color-mix(in srgb, var(--ts-navy) 35%, transparent);transition:top var(--dur-slow) var(--ease-out), left var(--dur-slow) var(--ease-out);animation:pop-in var(--dur-med) var(--ease-out);padding:20px 18px 14px;position:fixed;overflow:hidden}.tour__card:before{content:"";background:var(--app-stripe);height:4px;position:absolute;top:0;left:0;right:0}.tour__count{color:var(--ts-blue-dark);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.6875rem;font-weight:700}.tour__title{font-family:var(--ts-font-display);margin:4px 0 0;font-size:1.05rem;font-weight:900}.tour__body{margin:8px 0 0;font-size:.875rem;line-height:1.6}.tour__dots{gap:6px;margin-top:12px;display:flex}.tour__dot{background:var(--app-border-strong);width:6px;height:6px;transition:width var(--dur-med) var(--ease-out), background-color var(--dur-med);border-radius:3px}.tour__dot.is-on{background:var(--ts-blue);width:18px}.tour__actions{align-items:center;gap:8px;margin-top:12px;display:flex}.tour__actions .btn--ghost{margin-left:-10px}.tour__spacer{flex:1}.toaster{z-index:60;pointer-events:none;gap:8px;width:min(460px,100vw - 32px);display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{border-left:4px solid var(--ts-blue);background:var(--ts-navy);color:var(--ts-white);box-shadow:0 12px 32px color-mix(in srgb, var(--ts-navy) 30%, transparent);pointer-events:auto;animation:toast-in var(--dur-med) var(--ease-out);border-radius:10px;align-items:center;gap:10px;padding:10px 8px 10px 14px;font-size:.875rem;line-height:1.4;display:flex}.toast--success{border-left-color:var(--ts-green)}.toast--success .toast__icon{color:var(--ts-green)}.toast--error{border-left-color:var(--ts-raspberry)}.toast--error .toast__icon{color:var(--ts-amber)}.toast__icon{color:var(--ts-blue)}.toast__msg{flex:auto}.toast__close{width:28px;height:28px;color:var(--app-on-dark-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid}.toast__close:hover{background:color-mix(in srgb, var(--ts-white) 14%, transparent);color:var(--ts-white)}.toast__action{border:1px solid color-mix(in srgb, var(--ts-white) 55%, transparent);min-height:30px;color:var(--ts-white);font:inherit;cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:4px 12px;font-weight:700}.toast__action:hover{background:var(--ts-white);color:var(--ts-navy)}.toast__action:focus-visible,.toast__close:focus-visible{outline:3px solid var(--ts-blue);outline-offset:2px}html.present{font-size:112.5%}html.present .app-main{grid-template:"center"/minmax(0,1fr);max-width:none}html.present .app-left,html.present .app-right,html.present .app-tabs,html.present .app-footer{display:none}html.present .chart-frame{aspect-ratio:auto;height:calc(100vh - 340px);min-height:420px;max-height:none}html.present .pb__line{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}html.present .pb__narration{min-height:2.7rem}html.present .pb:has(.pb__row+.pb__row) .pb__narration{min-height:calc(5.4rem + 6px)}html.present .pb:has(.pb__row+.pb__row+.pb__row) .pb__narration{min-height:calc(8.1rem + 12px)}@media screen and (width>=760px) and (height>=500px){html.present .app{height:100dvh;min-height:0}html.present .app-header__inner{min-height:0;padding-block:6px}html.present .brand__logo{height:36px}html.present .app-main{flex-direction:column;flex:auto;align-items:stretch;min-height:0;padding-block:10px;display:flex}html.present .app-center{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}html.present .chart-card{flex-direction:column;flex:auto;min-height:0;display:flex}html.present .chart-frame{flex:auto;height:auto;min-height:240px}html.present .chart-card__playback .pb__narration{margin-top:6px}}.present-bar{animation:slide-down var(--dur-med) var(--ease-out);flex-wrap:wrap;align-items:center;gap:12px;display:flex}.present-bar__mode{flex:0 320px}.present-bar__loads{flex-wrap:wrap;flex:auto;gap:8px;margin:0;padding:0;list-style:none;display:flex}.present-bar__hint{color:var(--app-muted);flex-wrap:wrap;gap:2px 14px;margin:0 0 0 auto;font-size:.8125rem;display:flex}.present-pill{border-left:4px solid var(--accent);border-radius:var(--app-radius-small);background:var(--accent-tint);padding:6px 14px;display:grid}.present-pill__name{color:var(--accent-ink);letter-spacing:.06em;text-transform:uppercase;font-size:.6875rem;font-weight:700}.present-pill__value{color:var(--ts-navy);font-family:var(--ts-font-display);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:900}@media (width<=1279px){.hdr-chip__text{display:none}}@media (width<=1199px){.app-main{grid-template:"left center""left right""left tabs"1fr/300px minmax(0,1fr)}.app-right{grid-template-rows:auto 1fr auto auto;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"readout loads""compass loads""metrics metrics""warnings warnings";align-items:start;max-height:none;margin:0;padding:0;position:static;overflow:visible}.app-right>.readout{grid-area:readout}.app-right>.loads{grid-area:loads}.app-right>.compass-slot{grid-area:compass}.app-right>.metrics{grid-area:metrics}.app-right>.warnings{grid-area:warnings}.loads__list{grid-template-columns:minmax(0,1fr)}.metrics__grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}.chart-frame{max-height:calc(100vh - 180px)}}@media (width<=899px){.hdr-btn__label{display:none}.hdr-btn{width:36px;padding:0}.brand__project{max-width:22ch}}@media (width<=759px){.app-header__inner{padding:8px 16px}.brand{gap:12px}.brand__logo{height:36px}.brand__text{padding-left:12px}.brand__title{font-size:.95rem}.app-main{grid-template:"center""left""right""tabs"/minmax(0,1fr);gap:12px;padding:12px 16px 16px}.app-left{max-height:none;margin:0;padding:0;position:static;overflow:visible}.app-right{grid-template:none/minmax(0,1fr)}.app-right>.readout,.app-right>.loads,.app-right>.compass-slot,.app-right>.metrics,.app-right>.warnings{grid-area:auto}.app-right>.readout--empty,.mode-picker__list,.mode-picker__toggle,.mode-btn--summary{display:none}.mode-picker__select{display:block}.chart-frame{aspect-ratio:1;min-height:300px;max-height:none}.card{padding:14px}.tab-panel{padding:12px}.settings__grid,.project-form{grid-template-columns:minmax(0,1fr)}.dialog__body{padding:14px 16px 16px}.learn-drawer{width:100vw}.app-footer__inner{padding:16px}}@keyframes fade-in{0%{opacity:0}}@keyframes slide-down{0%{opacity:0;transform:translateY(-6px)}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes drawer-in{0%{opacity:.4;transform:translate(-24px)}}@keyframes live-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--ts-green) 55%, transparent)}to{box-shadow:0 0 0 8px color-mix(in srgb, var(--ts-green) 0%, transparent)}}html.reduce-motion{--dur-fast:0s;--dur-med:0s;--dur-slow:0s}html.reduce-motion *,html.reduce-motion :before,html.reduce-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.split__seg,.split__key,.pin-marker,.readout__live,.toggle__track,.toggle__thumb{forced-color-adjust:none}.seg__opt[aria-pressed=true],.mode-btn[aria-current=true],.tab[aria-selected=true],.chip--preset[aria-pressed=true]{outline-offset:-2px;outline:2px solid canvastext}}@media print{@page{margin:.5in}*,:before,:after{transition:none!important;animation:none!important}html,html.present{font-size:10pt}body{background:var(--ts-white);min-height:0}.app-header,.app-footer,.error-banner,.data-table thead th,.load-card:before,.split__seg,.split__key{-webkit-print-color-adjust:exact;print-color-adjust:exact}.skip-link,.app-header__actions,.app-left,.chart-card__toolbar,.chart-card__playback,.readout,.compass-slot,.warn-chip,.tabs,.states__bar,.pinned__foot,.pinned__actions,.toaster,.learn-drawer,.tour,.present-bar,.error-banner__fix,.app-footer__link,.explainer button{display:none!important}html.present .app,.app{height:auto;min-height:0;display:block}html.present .app-main,.app-main{max-width:none;height:auto;padding:12px 0 0;display:block}html.present .app-center,.app-center,html.present .app-footer{display:block}.card{box-shadow:none;break-inside:avoid}.chart-card{margin-top:8px}.error-banner{break-inside:avoid;break-after:avoid;margin:0 0 8px}html.present .chart-card .chart-frame,.chart-card .chart-frame{aspect-ratio:auto;opacity:1;filter:none;height:auto;min-height:0;max-height:none}.chart-frame .chart-frame__chart,.chart-frame .pc-root{height:auto;min-height:0;position:static;overflow:visible}.chart-frame .pc-svg{display:block;position:static;width:100%!important;height:auto!important}.chart-frame .pc-hit,.chart-frame .pc-float,.chart-frame .pc-pop-wrap,.chart-frame .pc-tip,.chart-frame .pc-card,.chart-frame .pc-cursor,.chart-frame .pc-preview,.chart-frame .pc-rose,.chart-frame .pc-guide{display:none!important}html.present .app-right,.app-right{grid-template:none/minmax(0,1fr);gap:12px;max-height:none;margin:12px 0;padding:0;display:grid;position:static;overflow:visible}.app-right>*,.app-right>.readout,.app-right>.loads,.app-right>.compass-slot,.app-right>.metrics,.app-right>.warnings{grid-area:auto}.app-main--stale .loads,.app-main--stale .metrics{opacity:1}.loads__stale{display:block}.loads__list{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics__grid{grid-template-columns:repeat(3,minmax(0,1fr))}html.present .app-tabs,.app-tabs{display:block}.center-tabs{border:0}.tab-panel[data-print=show][hidden]{display:block!important}.tab-panel[data-print-title]:before{content:attr(data-print-title);color:var(--ts-navy);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:700;display:block}.brand__project--empty{display:none}.tab-panel{padding:12px 0}.data-table tr,.math-line{break-inside:avoid}.table-scroll{border:0;overflow:visible}.tab-panel .sch__scroll{contain:none;overflow:visible}.tab-panel .sch__svg{max-width:100%;height:auto}.data-table{font-size:8pt}}.pc-root{background:var(--app-surface);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;min-height:280px;position:relative;overflow:hidden}.pc-svg,.pc-hit{display:block;position:absolute;inset:0}.pc-svg{pointer-events:none}.pc-hit{z-index:1;touch-action:pan-y;outline:none}.pc-hit__plot{cursor:crosshair}.pc-hit__seg{cursor:crosshair;pointer-events:stroke}.pc-hit.is-panning,.pc-hit.is-panning *{cursor:grabbing}.pc-handle{cursor:pointer;outline:none}.pc-handle--drag{cursor:grab}.pc-handle.is-shadowed{pointer-events:none}.pc-hit.is-dragging,.pc-hit.is-dragging *{cursor:grabbing}.pc-handle__ring{stroke:#0000;stroke-width:3px;transition:stroke var(--dur-fast) var(--ease-out)}.pc-handle--drag:hover .pc-handle__ring{stroke:color-mix(in srgb, var(--ts-blue) 35%, transparent);stroke-dasharray:3 3}.pc-handle:focus-visible .pc-handle__ring{stroke:var(--ts-blue);stroke-dasharray:none}.pc-fade{transition:opacity var(--dur-fast) var(--ease-out)}.pc-cursor{transition:opacity .16s var(--ease-out)}.pc-cursor.is-leaving{opacity:0}.pc-cursor__line{stroke-dasharray:1;stroke-dashoffset:0;animation:pc-draw .16s var(--ease-out) both}.pc-cursor__pill{animation:pc-fade-in .16s var(--ease-out) both}.pc-preview{animation:pc-fade-in .18s var(--ease-out) both}.pc-rose{animation:pc-fade-in .14s var(--ease-out) both}.pc-guide{animation:pc-fade-in .12s var(--ease-out) both}.pc-parcel__halo{transform-box:fill-box;transform-origin:50%;animation:1.1s ease-in-out infinite pc-pulse}@keyframes pc-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes pc-pulse{0%,to{opacity:.75;transform:scale(.85)}50%{opacity:1;transform:scale(1.12)}}@keyframes pc-pop-in{0%{opacity:0;transform:translateY(3px)scale(.98)}to{opacity:1;transform:none}}.pc-root.is-reduced *,.pc-root.is-reduced :before,.pc-root.is-reduced :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.pc-root *,.pc-root :before,.pc-root :after{transition:none!important;animation:none!important}}.pc-float{z-index:3;pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.pc-tip{border:1px solid var(--app-border-strong);border-radius:var(--app-radius-small);background:color-mix(in srgb, var(--app-surface) 94%, transparent);box-shadow:var(--app-shadow);color:var(--app-text);font:600 12px/1.35 var(--ts-font-sans);font-variant-numeric:tabular-nums;white-space:nowrap;grid-template-columns:auto auto auto auto;align-items:baseline;gap:1px 5px;padding:6px 10px;display:grid}.pc-tip__v{text-align:right;font-weight:700}.pc-tip__k{color:var(--app-muted);margin-right:8px}.pc-tip__k:nth-child(4n){margin-right:0}.pc-tip--drag{border-color:var(--ts-blue-dark)}.pc-tip__note{color:var(--ts-blue-dark);grid-column:1/-1;margin-bottom:2px;font-size:11.5px}.pc-tip__note--limit{color:var(--status-caution-ink)}.pc-tip--fog{color:var(--app-muted);font-family:var(--ts-font-serif);font-style:italic;font-weight:400;display:block}.pc-card__inner{border:1px solid var(--app-border);border-top:3px solid var(--pc-accent,var(--ts-navy));border-radius:var(--app-radius-small);background:var(--app-surface);width:252px;box-shadow:var(--app-shadow-hover);color:var(--app-text);font:400 12px/1.35 var(--ts-font-sans);animation:pc-pop-in .14s var(--ease-out) both;padding:10px 12px}.pc-card__head{align-items:center;gap:9px;margin-bottom:7px;display:flex}.pc-card__badge{border:2.5px solid var(--pc-accent,var(--ts-navy));min-width:26px;height:26px;color:var(--ts-navy);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0 4px;font-size:12px;font-weight:700;display:inline-flex}.pc-card__badge.is-ref{min-width:0;height:auto;color:var(--app-muted);border-width:1.5px;padding:1px 7px;font-size:11px}.pc-card__dot{background:var(--pc-accent,var(--ts-navy));border-radius:999px;flex:none;width:12px;height:12px}.pc-card__titles{flex-direction:column;min-width:0;display:flex}.pc-card__title{color:var(--ts-navy);font-size:13px;font-weight:700;line-height:1.2}.pc-card__sub{color:var(--app-muted);font-size:11.5px}.pc-card__rows{margin:0;display:grid}.pc-card__row{border-top:1px solid color-mix(in srgb, var(--ts-navy) 6%, var(--ts-white));justify-content:space-between;gap:12px;padding:2px 0;display:flex}.pc-card__row:first-child{border-top:0}.pc-card__row dt{color:var(--app-muted)}.pc-card__row dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}.pc-card__hint{background:var(--app-tint);color:var(--ts-blue-dark);border-radius:6px;margin:8px 0 0;padding:6px 8px;font-size:11.5px;font-weight:600}.pc-card__warn{background:var(--status-caution-tint);color:var(--status-caution-ink);border-radius:6px;margin:0 0 6px;padding:4px 8px;font-size:11.5px;font-weight:600}.pc-card__note{color:var(--app-muted);font-family:var(--ts-font-serif);margin:8px 0 0;font-size:11.5px;line-height:1.45}.pc-root.is-compact .pc-card__inner{width:210px;padding:8px 10px;font-size:11.5px}.pc-root.is-compact .pc-card__row.is-minor,.pc-root.is-compact .pc-card__note{display:none}.pc-root.is-present .pc-tip{font-size:14px}.pc-root.is-present .pc-card__inner{width:290px;font-size:13.5px}.pc-root.is-present .pc-card__title{font-size:15px}.pc-pop-wrap{z-index:4;pointer-events:auto}.pc-pop{border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);width:240px;box-shadow:var(--app-shadow-hover);color:var(--app-text);font:400 12.5px/1.35 var(--ts-font-sans);-webkit-user-select:text;user-select:text;animation:pc-pop-in .14s var(--ease-out) both;padding:10px}.pc-pop__head{border-bottom:1px solid var(--app-border);padding:0 4px 8px}.pc-pop__title{color:var(--ts-navy);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.pc-pop__sub{color:var(--app-muted);font-variant-numeric:tabular-nums}.pc-pop__actions{gap:2px;margin-top:6px;display:grid}.pc-pop .pc-pop__btn{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.pc-pop__meta{color:var(--app-muted);font-size:11px;font-weight:400}.pc-pop__chev{color:var(--app-muted);font-size:11px}.pc-pop__modes{border-top:1px solid var(--app-border);overscroll-behavior:contain;max-height:210px;margin:2px 0 0;padding:2px 0 0;overflow-y:auto}.pc-pop__group-label{color:var(--app-muted);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px 2px;font-size:10.5px;font-weight:700}.pc-pop__mode{width:100%;color:var(--app-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:5px 8px;display:block}.pc-pop__mode:hover,.pc-pop__mode:focus-visible{background:var(--app-tint);color:var(--ts-navy)}.pc-pop__mode.is-disabled{color:var(--app-muted);cursor:not-allowed}.pc-pop__mode.is-disabled:hover{color:var(--app-muted);background:0 0}.pc-pop__reason{font-family:var(--ts-font-serif);margin-top:1px;font-size:11px;line-height:1.35;display:block}.pc-pop__note{color:var(--app-muted);font-family:var(--ts-font-serif);margin:8px 4px 0;font-size:12px;line-height:1.45}.pc-pop__foot{justify-content:flex-end;margin-top:8px;display:flex}.pc-toolbar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pc-toolbar__chips{display:contents}@media (width<=759px){.pc-toolbar__chips{scrollbar-width:none;overscroll-behavior-x:contain;flex:100%;gap:6px;min-width:0;margin:-2px -4px 0;padding:2px 4px 4px;display:flex;overflow-x:auto}.pc-toolbar__chips::-webkit-scrollbar{display:none}.pc-toolbar__chips>.pc-chip{flex:none}}.pc-toolbar__zoom{flex-wrap:nowrap;gap:4px;margin-left:auto;padding-left:6px;display:flex}.pc-toolbar .pc-chip{border:1px solid var(--app-border-strong);background:var(--app-surface);min-height:28px;color:var(--app-muted);font:600 12px/1.2 var(--ts-font-sans);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 8px;display:inline-flex}.pc-toolbar .pc-chip:hover{border-color:color-mix(in srgb, var(--pc-chip-color) 55%, var(--ts-white));color:var(--app-text)}.pc-toolbar .pc-chip.is-on{border-color:color-mix(in srgb, var(--pc-chip-color) 55%, var(--ts-white));background:color-mix(in srgb, var(--pc-chip-color) 11%, var(--ts-white));color:var(--ts-navy)}.pc-chip__swatch{color:var(--pc-chip-color);opacity:.4;transition:opacity var(--dur-fast) var(--ease-out);flex:none}.pc-chip.is-on .pc-chip__swatch{opacity:1}.pc-tool{align-items:center;gap:4px;display:inline-flex}.pc-tool[aria-disabled=true]{opacity:.55}.pc-tool__icon{flex:none}@media (forced-colors:active){.pc-toolbar .pc-chip.is-on{outline:2px solid canvastext}.pc-handle:focus-visible .pc-handle__ring{stroke:highlight}}.compass{flex-direction:column;gap:6px;min-width:0;display:flex}.compass__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;display:flex}.compass__title{margin:0}.compass__anchor{color:var(--app-muted);font-variant-numeric:tabular-nums;font-size:.8rem}.compass__dial{-webkit-user-select:none;user-select:none;touch-action:manipulation;width:100%;max-width:380px;height:auto;margin:0 auto;display:block;overflow:visible}.compass__turn{transition:transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) linear}.compass__needle{transition:transform var(--dur-slow) var(--ease-out)}.compass__arrow,.compass__btn{cursor:pointer}.compass__arrow.is-blocked,.compass__btn.is-blocked{cursor:not-allowed}.compass__shaft{transition:stroke-width var(--dur-fast) var(--ease-out)}.compass__dial.has-active .compass__arrow:not(.is-active),.compass__dial.has-active .compass__btn:not(.is-active),.compass__dial.has-active .compass__leader:not(.is-active){opacity:.32}.compass__leader{transition:opacity var(--dur-fast) linear}.compass__btn{outline:none}.compass__badge{transform-box:fill-box;transform-origin:50%;transition:transform var(--dur-fast) var(--ease-out)}.compass__btn.is-active .compass__badge,.compass__btn:hover .compass__badge{transform:scale(1.14)}.compass__focus{opacity:0}.compass__btn:focus-visible .compass__focus{opacity:1}.compass__flow{animation:.8s linear infinite compass-flow}@keyframes compass-flow{to{stroke-dashoffset:-18px}}.compass__ping{opacity:0;transform-box:fill-box;transform-origin:50%}.compass__btn.is-pinged .compass__ping{animation:compass-ping .6s var(--ease-out)}@keyframes compass-ping{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.3)}}.compass__protractor-band{transition:stroke-width var(--dur-fast) var(--ease-out), opacity var(--dur-fast) linear;opacity:.75}.compass__protractor:hover .compass__protractor-band,.compass__protractor.is-lit .compass__protractor-band{opacity:1;stroke-width:9px}.compass__shr-mark{pointer-events:none}.compass__desc{min-height:4.2em;color:var(--app-text);margin:0;font-size:.86rem;line-height:1.4}.compass__desc-title{font-weight:700}.compass__muted{color:var(--app-muted)}.compass__blocked{color:var(--status-error-ink)}.compass__process{border-radius:var(--app-radius-small);background:var(--m-mix-tint);color:var(--ts-navy);align-items:center;gap:8px;padding:6px 10px;font-size:.84rem;line-height:1.35;display:flex}.compass__needle-key{flex:none;width:30px;height:10px}.compass__foot{color:var(--app-muted);font-family:var(--ts-font-serif);margin:2px 0 0;font-size:.74rem}.compass__sr{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.compass__learn{border-left:3px solid var(--ts-blue);border-radius:0 var(--app-radius-small) var(--app-radius-small) 0;background:var(--app-tint);font-family:var(--ts-font-serif);margin:4px 0 0;padding:8px 10px;font-size:.8rem;line-height:1.45}.compass__legend{gap:2px;margin:4px 0 0;padding:0;list-style:none;display:grid}.compass__legend-item{border-radius:var(--app-radius-small);width:100%;color:var(--app-text);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-fast) linear;background:0 0;border:0;align-items:flex-start;gap:10px;padding:6px 8px;display:flex}.compass__legend-item.is-blocked{cursor:not-allowed}.compass__legend-item:hover,.compass__legend-item.is-active{background:var(--app-tint)}.compass__legend-item:focus-visible{outline:3px solid var(--ts-blue);outline-offset:1px}.compass__legend-icon{flex:none;width:24px;height:24px;margin-top:1px}.compass__legend-text{flex-direction:column;gap:1px;min-width:0;display:flex}.compass__legend-label{font-size:.86rem;font-weight:700}.compass__legend-desc{color:var(--app-muted);font-family:var(--ts-font-serif);font-size:.78rem;line-height:1.4}.compass__ink--heat{color:var(--m-heat-ink)}.compass__ink--cool{color:var(--m-cool-ink)}.compass__ink--moistAdd{color:var(--m-moist-add-ink)}.compass__ink--moistRemove{color:var(--m-moist-remove-ink)}.compass__ink--exchange{color:var(--m-exchange-ink)}.compass__ink--mix{color:var(--m-mix-ink)}.compass--reduced .compass__turn,.compass--reduced .compass__needle,.compass--reduced .compass__badge,.compass--reduced .compass__shaft,.compass--reduced .compass__protractor-band{transition:none}.compass--reduced .compass__flow,.compass--reduced .compass__ping{animation:none}@media (prefers-reduced-motion:reduce){.compass__flow,.compass__ping{animation:none}}@media (forced-colors:active){.compass__process{border:1px solid canvastext}}@media print{.compass__desc,.compass__foot,.compass__legend{display:none}}.sch{min-width:0;position:relative}.sch__scroll{contain:inline-size;overscroll-behavior-x:contain;scrollbar-width:thin;overflow:auto hidden}.sch__svg{max-width:none;font-family:var(--ts-font-sans);-webkit-user-select:none;user-select:none;display:block;overflow:visible}.sch__placeholder{min-height:160px}.sch__hint{font-family:var(--ts-font-serif);color:var(--app-muted);margin:6px 0 0;font-size:.8rem;line-height:1.45}.sch--empty{text-align:center;justify-items:center;gap:6px;padding:24px 16px 20px;display:grid}.sch-empty__art{max-width:100%;height:auto;margin-bottom:4px}.sch-empty__title{color:var(--ts-navy);margin:0;font-weight:700}.sch-empty__text{max-width:34em;font-family:var(--ts-font-serif);color:var(--app-muted);margin:0;font-size:.875rem}.sch-streak{fill:none;stroke-linecap:round}.sch-streak--1{stroke-dasharray:3 17;animation:.6s linear infinite sch-flow-20}.sch-streak--2{stroke-dasharray:7 17;animation:.66s linear infinite sch-flow-24}.sch-streak--3{stroke-dasharray:2 20;animation:.7s linear infinite sch-flow-22}.sch--playing .sch-streak--1{animation-duration:.36s}.sch--playing .sch-streak--2{animation-duration:.4s}.sch--playing .sch-streak--3{animation-duration:.42s}@keyframes sch-flow-20{to{stroke-dashoffset:-20px}}@keyframes sch-flow-24{to{stroke-dashoffset:-24px}}@keyframes sch-flow-22{to{stroke-dashoffset:-22px}}.sch-spin{transform-box:fill-box;transform-origin:50%;animation:1s linear infinite sch-rotate}.sch-spin--slow{animation-duration:16s}.sch-spin--wheel{animation-duration:6s}.sch-spin--fan{animation-duration:.9s}@keyframes sch-rotate{to{transform:rotate(360deg)}}.sch-drip{transform-box:fill-box}.sch-drip--on{animation:1.1s ease-in infinite sch-drip}@keyframes sch-drip{0%{opacity:0;transform:translateY(-7px)}25%{opacity:1}to{opacity:0;transform:translateY(11px)}}.sch-plume{opacity:.75}.sch-plume--on{stroke-dasharray:48;animation:1.5s ease-out infinite sch-plume}@keyframes sch-plume{0%{stroke-dashoffset:48px;opacity:.2}35%{opacity:1}to{stroke-dashoffset:0;opacity:0}}.sch-shimmer--on{animation:.8s ease-in-out infinite alternate sch-shimmer}@keyframes sch-shimmer{0%{opacity:.5;transform:translateY(-2px)}to{opacity:1;transform:translateY(2px)}}.sch-flame--on{transform-box:fill-box;transform-origin:50% 100%;animation:.45s ease-in-out infinite alternate sch-flame}@keyframes sch-flame{0%{transform:scale(.92,.88)}to{transform:scale(1.04,1.08)}}.sch-comp{outline:none}.sch-comp[role=button]{cursor:pointer}.sch-comp__halo{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.sch-comp--hover .sch-comp__halo{opacity:1}.sch-comp--active .sch-comp__halo{opacity:1;filter:drop-shadow(0 0 6px var(--accent));animation:1.2s ease-in-out infinite sch-glow}@keyframes sch-glow{50%{opacity:.55}}.sch-focus{fill:none;stroke:var(--ts-blue);stroke-width:3px;opacity:0;pointer-events:none}.sch-comp:focus-visible .sch-focus,.sch-marker:focus-visible .sch-focus{opacity:1}.sch-marker{cursor:pointer;outline:none}.sch-marker circle{transition:r var(--dur-fast) var(--ease-out), stroke-width var(--dur-fast) var(--ease-out)}.sch-marker__halo{opacity:0;transition:opacity var(--dur-fast) var(--ease-out)}.sch-marker--hover .sch-marker__halo,.sch-marker--selected .sch-marker__halo{opacity:1}.sch-parcel__halo{transform-box:fill-box;transform-origin:50%;animation:1s ease-in-out infinite sch-parcel}@keyframes sch-parcel{50%{opacity:.12;transform:scale(1.3)}}.sch--reduced *,.pb--reduced *{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.sch *,.pb *{transition:none!important;animation:none!important}}.pb{min-width:0;container-type:inline-size}.pb__bar{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"controls scrub right";align-items:center;gap:8px 16px;display:grid}.pb__controls{grid-area:controls;align-items:center;gap:4px;display:flex}.pb__play{border-radius:999px;min-width:44px;min-height:44px}.pb__right{grid-area:right;align-items:center;gap:12px;display:flex}.pb__count{color:var(--app-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600}.pb__scrub{--rows:1;--range-h:calc(var(--rows) * 11px + 5px);min-width:0;min-height:calc(var(--range-h) + 20px);grid-area:scrub;position:relative}.pb__track{pointer-events:none;align-content:start;gap:3px;display:grid;position:absolute;inset:4px 0 0}.pb__row{height:8px;position:relative}.pb__block{box-shadow:inset -2px 0 0 var(--app-surface);border-radius:4px;position:absolute;top:0;bottom:0;overflow:hidden}.pb__fill{height:100%}.pb__block--heat{background:color-mix(in srgb, var(--m-heat) 26%, var(--app-surface))}.pb__block--heat .pb__fill{background:var(--m-heat)}.pb__block--cool{background:color-mix(in srgb, var(--m-cool) 26%, var(--app-surface))}.pb__block--cool .pb__fill{background:var(--m-cool)}.pb__block--moist-add{background:color-mix(in srgb, var(--m-moist-add) 26%, var(--app-surface))}.pb__block--moist-add .pb__fill{background:var(--m-moist-add)}.pb__block--moist-remove{background:color-mix(in srgb, var(--m-moist-remove) 26%, var(--app-surface))}.pb__block--moist-remove .pb__fill{background:var(--m-moist-remove)}.pb__block--exchange{background:color-mix(in srgb, var(--m-exchange) 26%, var(--app-surface))}.pb__block--exchange .pb__fill{background:var(--m-exchange)}.pb__block--mix{background:color-mix(in srgb, var(--m-mix) 26%, var(--app-surface))}.pb__block--mix .pb__fill{background:var(--m-mix)}.pb__block--ref{background:var(--app-border)}.pb__block--ref .pb__fill{background:var(--app-muted)}@media (forced-colors:active){.pb__block{border:1px solid canvastext}.pb__fill{background:highlight!important}}.pb__marks{height:14px;margin-top:1px;position:relative}.pb__mark{color:var(--app-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.7rem;font-weight:700;line-height:14px;position:absolute;top:0;transform:translate(-50%)}.pb__mark:first-child{transform:none}.pb__mark:last-child{transform:translate(-100%)}.pb__range{width:100%;height:var(--range-h);appearance:none;cursor:pointer;background:0 0;margin:0;position:absolute;top:0;left:0}.pb__range:disabled{cursor:default}.pb__range::-webkit-slider-runnable-track{background:0 0;height:100%}.pb__range::-moz-range-track{background:0 0}.pb__range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;margin-top:calc((var(--range-h) - 18px) / 2);border:3px solid var(--ts-navy);background:var(--app-surface);box-shadow:var(--app-shadow);border-radius:50%}.pb__range::-moz-range-thumb{border:3px solid var(--ts-navy);background:var(--app-surface);width:12px;height:12px;box-shadow:var(--app-shadow);border-radius:50%}.pb__range:disabled::-webkit-slider-thumb{border-color:var(--app-border-strong)}.pb__range:disabled::-moz-range-thumb{border-color:var(--app-border-strong)}.pb__range:focus-visible{outline:3px solid var(--ts-blue);outline-offset:2px;border-radius:6px}.pb__narration{gap:6px;min-height:1.6em;margin-top:10px;display:grid}.pb__hint,.pb__line{font-family:var(--ts-font-serif);margin:0;font-size:.9rem;line-height:1.5}.pb__hint{color:var(--app-muted)}.pb__line{color:var(--app-text)}.pb__line--idle{opacity:.55}.pb__stream{font-family:var(--ts-font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--ts-navy);margin-right:8px;font-size:.72rem;font-weight:700}.pb__chip{vertical-align:1px;font-family:var(--ts-font-sans);margin-right:8px}@container (width<=520px){.pb__bar{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"controls right""scrub scrub"}.pb__right{justify-self:end}}@container (width<=400px){.pb__count{display:none}}.export-menu{display:inline-flex;position:relative}.export-menu__button{gap:6px}.export-menu__icon{justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.export-menu__chevron{opacity:.8;transition:transform var(--dur-fast) var(--ease-out);margin-left:-2px;display:inline-flex}.export-menu__button[aria-expanded=true] .export-menu__chevron{transform:rotate(180deg)}@media (width<=899px){.export-menu__chevron{display:none}}.export-menu__panel{z-index:20;border:1px solid var(--app-border);border-radius:var(--app-radius);background:var(--app-surface);width:316px;max-width:calc(100vw - 32px);max-height:calc(100vh - 100px);color:var(--app-text);box-shadow:var(--app-shadow-hover);transform-origin:100% 0;animation:export-menu-in var(--dur-fast) var(--ease-out);padding:6px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}@keyframes export-menu-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.export-menu__group{flex-direction:column;display:flex}.export-menu__group-label{color:var(--app-muted);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px 4px;font-size:.6875rem;font-weight:700}.export-menu__sep{background:var(--app-border);height:1px;margin:6px 4px 2px}.export-menu__item{border-radius:var(--app-radius-small);width:100%;color:var(--ts-navy);font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dur-fast);background:0 0;border:0;align-items:center;gap:10px;padding:7px 10px;display:flex}.export-menu__item:hover,.export-menu__item:focus-visible{background:var(--app-tint)}.export-menu__item:focus-visible{outline:3px solid var(--ts-blue);outline-offset:-3px}.export-menu__item[aria-disabled=true]{cursor:not-allowed}.export-menu__item[aria-disabled=true] .export-menu__item-label,.export-menu__item[aria-disabled=true] .export-menu__item-icon{color:var(--app-muted)}.export-menu__item-icon{border-radius:var(--app-radius-small);background:var(--app-tint);width:32px;height:32px;color:var(--ts-blue-dark);transition:background-color var(--dur-fast), color var(--dur-fast), transform var(--dur-fast) var(--ease-out);flex:none;justify-content:center;align-items:center;display:inline-flex}.export-menu__item:hover:not([aria-disabled=true]) .export-menu__item-icon,.export-menu__item:focus-visible:not([aria-disabled=true]) .export-menu__item-icon{background:var(--ts-navy);color:var(--ts-white);transform:translateY(-1px)}.export-menu__item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.export-menu__item-label{font-size:.875rem;font-weight:600;line-height:1.25}.export-menu__item-hint{color:var(--app-muted);font-family:var(--ts-font-serif);font-size:.75rem;line-height:1.3}.export-menu__item--busy .export-menu__item-hint{color:var(--ts-blue-dark)}.export-spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite export-spin;display:inline-block}@keyframes export-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.export-spinner{animation:1.6s ease-in-out infinite export-pulse}.export-menu__panel{animation:none}}:root.reduce-motion .export-spinner{animation:1.6s ease-in-out infinite export-pulse}:root.reduce-motion .export-menu__panel{animation:none}@keyframes export-pulse{50%{opacity:.35}}@media (forced-colors:active){.export-menu__item:focus-visible{outline-color:highlight}.export-spinner{border-color:highlight canvastext canvastext}}@media print{.export-menu{display:none}}
