.app{max-width:var(--layout-max);margin:0 auto;padding:var(--sp-5)}header{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-7)}header h1{margin:0;color:var(--color-heading);font-size:var(--fs-lg);font-weight:600;letter-spacing:.01em}.app-shell{display:flex;align-items:flex-start;gap:var(--sp-7)}.branch-sidebar{flex:0 0 var(--rail-w);position:sticky;top:var(--sp-5);z-index:5;transition:flex-basis .18s ease}.branch-sidebar.is-collapsed{flex-basis:var(--rail-w-collapsed)}.branch-collapse-toggle{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-bottom:16px;padding:5px 8px;font:inherit;font-size:.78em;color:var(--color-text-muted);background:transparent;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;transition:color .2s,border-color .2s}.branch-collapse-toggle:hover{color:var(--color-text);border-color:var(--color-text-muted)}.branch-collapse-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.branch-trunk-short,.branch-flyout-title,.branch-sidebar.is-collapsed .branch-trunk-full{display:none}.branch-sidebar.is-collapsed .branch-trunk-short{display:inline}.branch-sidebar.is-collapsed .branch-trunk-node,.branch-sidebar.is-collapsed .branch-trunk-node-disabled{padding-left:0;padding-right:0;text-align:center}.branch-sidebar.is-collapsed .branch-trunk-item{position:relative;margin-bottom:12px}.branch-sidebar.is-collapsed .branch-flyout{display:none;position:absolute;left:100%;top:-8px;z-index:30;margin-left:10px;min-width:176px;padding:10px 12px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px #0000002e}.branch-sidebar.is-collapsed .branch-trunk-item.is-open .branch-flyout{display:block}.branch-sidebar.is-collapsed .branch-flyout:before{content:"";position:absolute;left:-10px;top:0;width:10px;height:100%}.branch-sidebar.is-collapsed .branch-flyout-title{display:block;font-size:.72em;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.branch-sidebar.is-collapsed .branch-leaf-list{margin:8px 0 0;padding:0;border-left:none}.branch-sidebar.is-collapsed .branch-leaf-item:before{display:none}@media (prefers-reduced-motion: reduce){.branch-sidebar{transition:none}}.branch-trunk-list{list-style:none;margin:0;padding:0}.branch-trunk-item{margin-bottom:22px}.branch-trunk-node{display:block;padding:9px 12px;border-radius:6px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-heading);font-weight:600;font-size:.92em;text-decoration:none;transition:background .2s,border-color .2s,color .2s}.branch-trunk-node:hover{border-color:var(--color-primary)}.branch-trunk-node.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.branch-trunk-node-disabled{display:block;padding:9px 12px;border-radius:6px;background:var(--color-bg-muted);border:1px dashed var(--color-border);color:var(--color-text-faint);font-weight:600;font-size:.92em}.branch-leaf-list{list-style:none;margin:8px 0 0 12px;padding:2px 0 2px 16px;border-left:2px solid var(--color-border)}.branch-leaf-item{position:relative;margin:4px 0}.branch-leaf-item:before{content:"";position:absolute;left:-16px;top:15px;width:14px;height:2px;background:var(--color-border)}.branch-leaf-node{display:block;padding:6px 10px;border-radius:5px;font-size:.85em;color:var(--color-text-muted);text-decoration:none;transition:background .15s,color .15s}.branch-leaf-node:hover{background:var(--color-bg-muted);color:var(--color-text)}.branch-leaf-node.active{background:var(--color-primary);color:#fff;font-weight:600}main{flex:1;min-width:0;padding:0}@media (max-width: 820px){.app-shell{flex-direction:column}.branch-sidebar,.branch-sidebar.is-collapsed{position:static;flex:none;width:100%}.branch-collapse-toggle{display:none}.branch-sidebar.is-collapsed .branch-trunk-full,.branch-sidebar.is-collapsed .branch-flyout{display:block;position:static;margin-left:0;min-width:0;padding:0;background:none;border:none;box-shadow:none}.branch-sidebar.is-collapsed .branch-trunk-short,.branch-sidebar.is-collapsed .branch-flyout-title{display:none}.branch-sidebar.is-collapsed .branch-leaf-list{margin:8px 0 0 12px;padding:2px 0 2px 16px;border-left:2px solid var(--color-border)}.branch-sidebar.is-collapsed .branch-leaf-item:before{display:block}.branch-sidebar.is-collapsed .branch-flyout:before{display:none}.branch-sidebar.is-collapsed .branch-trunk-node,.branch-sidebar.is-collapsed .branch-trunk-node-disabled{padding-left:12px;padding-right:12px;text-align:left}.branch-trunk-list{display:flex;flex-wrap:wrap;gap:16px}.branch-leaf-list{margin-left:8px}}section{margin-bottom:var(--sp-7);padding:var(--sp-5);background:var(--color-bg-muted);border-radius:var(--r-md)}section h2{margin:0 0 var(--sp-4);color:var(--color-heading);border-bottom:1px solid var(--color-border);padding-bottom:var(--sp-3)}input[type=file],input[type=number],input[type=text]{padding:var(--sp-2) var(--sp-3);border:1px solid var(--color-border);border-radius:var(--r-sm);font-size:var(--fs-base);background:var(--color-surface);color:var(--color-text);transition:border-color .15s,box-shadow .15s}input[type=number]:focus,input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}select{padding:7px var(--sp-3);border:1px solid var(--color-border);border-radius:var(--r-sm);font-size:var(--fs-base);background:var(--color-surface);color:var(--color-text);font-family:inherit}button{padding:9px var(--sp-4);background:var(--color-bg-muted);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-base);transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--color-border)}button:disabled{opacity:.55;cursor:not-allowed}table{width:100%;border-collapse:collapse;margin-top:10px;background:var(--color-surface)}table th,table td{padding:var(--sp-3);text-align:left;border-bottom:1px solid var(--color-border);font-size:var(--fs-base)}table td{font-variant-numeric:tabular-nums}table th{background:var(--color-bg-muted);color:var(--color-text-muted);font-weight:600;font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em}table tr:hover{background:var(--color-bg-muted)}label{display:block;margin:10px 0;font-size:14px}label input{margin-right:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:9px var(--sp-4);border-radius:var(--r-sm);border:1px solid transparent;font-size:var(--fs-base);font-weight:600;font-family:inherit;cursor:pointer;line-height:var(--lh-tight);white-space:nowrap;transition:background .15s,border-color .15s,color .15s,opacity .15s}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover:not(:disabled){background:var(--color-success-hover)}.btn-secondary{background:var(--color-bg-muted);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-border)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-bg-muted);color:var(--color-text)}.btn-sm{padding:5px var(--sp-3);font-size:var(--fs-xs);border-radius:var(--r-xs)}.btn-lg{padding:var(--sp-3) var(--sp-6);font-size:var(--fs-md)}.btn-block{display:flex;width:100%}.card{margin-bottom:var(--sp-6);padding:var(--sp-5) var(--sp-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--r-lg);box-shadow:var(--el-sm)}.card-header{margin:0 0 var(--sp-5);padding-bottom:var(--sp-4);border-bottom:1px solid var(--color-border)}.card-eyebrow{display:block;font-size:var(--fs-2xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--sp-1)}.card-title{margin:0;color:var(--color-heading);font-size:var(--fs-lg);font-weight:700;line-height:var(--lh-heading)}.card-subtitle{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--color-text-muted)}.field{display:block;margin:0 0 16px}.field:last-child{margin-bottom:0}.field-label{display:block;font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:6px}.field-hint{display:block;font-size:12px;color:var(--color-text-faint);margin-top:5px;line-height:1.4}.field-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.field-group{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px}.field-group:last-child{margin-bottom:0}.peak-card{width:270px;padding:14px;margin-bottom:0}.peak-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.peak-card-header .card-eyebrow{margin-bottom:0}.peak-param-grid{display:flex;flex-direction:column;gap:6px}.peak-param-row{display:grid;grid-template-columns:18px 1fr 18px;align-items:center;column-gap:6px}.peak-param-symbol{font-size:13px;font-weight:700;color:var(--color-text);text-align:center;line-height:1;cursor:help;border-bottom:1px dotted var(--color-text-faint)}.peak-param-input{width:100%;padding:6px 8px;font-size:12px;font-variant-numeric:tabular-nums;text-overflow:ellipsis}.peak-param-checkbox{width:16px;height:16px;margin:0;cursor:pointer;justify-self:center}.peak-param-nofix{font-size:11px;color:var(--color-text-faint);text-align:center;cursor:help}.peak-param-hint{font-size:11px;color:var(--color-text-muted);margin:6px 0 0;line-height:1.35}.status-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap;line-height:1.6}.status-chip-neutral{background:color-mix(in srgb,var(--color-text-muted) 14%,transparent);color:var(--color-text-muted)}.status-chip-info{background:color-mix(in srgb,var(--color-primary) 16%,transparent);color:var(--color-primary-hover)}.status-chip-success{background:color-mix(in srgb,var(--color-success) 16%,transparent);color:var(--color-success-strong)}.status-chip-warning{background:color-mix(in srgb,var(--color-warning) 20%,transparent);color:var(--color-warning)}.status-chip-danger{background:color-mix(in srgb,var(--color-danger) 16%,transparent);color:var(--color-danger)}.status-chip-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.results-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.metric-tile{flex:1 1 140px;padding:14px 16px;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:10px}.metric-tile-hero{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg-muted));border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border))}.metric-label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:5px}.metric-value{display:block;font-size:1.5em;font-weight:700;color:var(--color-heading);font-variant-numeric:tabular-nums}.metric-tile-hero .metric-value{color:var(--color-primary-hover)}.result-row{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--color-border);font-size:13.5px}.result-row:last-child{border-bottom:none}.result-row-label{color:var(--color-text-muted)}.result-row-value{color:var(--color-text);font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;color:var(--color-text-muted)}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--color-bg-muted);color:var(--color-text-faint);margin-bottom:14px;font-size:1.3em}.empty-state-headline{margin:0 0 4px;font-weight:600;color:var(--color-heading);font-size:.95em}.empty-state-description{margin:0;font-size:.85em;max-width:320px;line-height:1.4}.dropzone{margin-top:8px;padding:24px;border:2px dashed var(--color-text-faint);border-radius:6px;background:var(--color-surface);text-align:center;cursor:pointer;color:var(--color-text-muted);transition:border-color .2s,background .2s}.dropzone:hover{border-color:var(--color-primary)}.dropzone.dropzone-active{border-color:var(--color-primary);background:var(--color-bg-muted)}.dropzone.dropzone-disabled{cursor:not-allowed;opacity:.6}.dropzone p{margin:0;font-size:14px}.fit-progress{display:flex;align-items:center;gap:10px;margin-top:10px;max-width:400px}.fit-progress-track{flex:1;height:8px;border-radius:4px;background:var(--color-border);overflow:hidden}.fit-progress-fill{height:100%;border-radius:4px;background:repeating-linear-gradient(45deg,var(--color-success),var(--color-success) 10px,var(--color-success-hover) 10px,var(--color-success-hover) 20px);background-size:28px 28px;animation:fit-progress-stripes .6s linear infinite;transition:width .2s ease-out}.fit-progress-label{font-size:.85em;color:var(--color-text-muted);white-space:nowrap}@keyframes fit-progress-stripes{0%{background-position:0 0}to{background-position:28px 0}}.toast-viewport{position:fixed;bottom:16px;right:16px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:360px;width:100%;list-style:none;margin:0;padding:0;outline:none}.toast-root{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:6px;border:1px solid;background:var(--color-surface);box-shadow:0 4px 16px #0000001f;font-size:.85em}.toast-root[data-state=open]{animation:toast-slide-in .2s ease-out}.toast-root[data-state=closed]{animation:toast-slide-out .15s ease-in forwards}.toast-root-success{border-color:var(--color-success-border);color:var(--color-success-strong)}.toast-root-error{border-color:var(--color-error-border);color:var(--color-error)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-body{flex:1;min-width:0}.toast-title{margin:0;font-weight:600}.toast-description{margin:2px 0 0;color:var(--color-text-muted);line-height:1.3}.toast-close{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:var(--color-text-faint);padding:0}.toast-close:hover{color:var(--color-text)}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.hb-dataset-list{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:380px;overflow-y:auto;padding-right:4px}.hb-view-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--color-border)}.hb-view-tab{padding:6px 14px;border:1px solid var(--color-border);border-bottom:none;border-radius:4px 4px 0 0;background:var(--color-bg-muted);color:var(--color-text-muted);cursor:pointer}.hb-view-tab-active{background:var(--color-surface);color:var(--color-heading);font-weight:600;border-color:var(--color-primary);box-shadow:inset 0 2px 0 var(--color-primary)}.hb-dataset-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;cursor:pointer}.hb-dataset-row-active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary) inset}.hb-drag-handle{cursor:grab;color:var(--color-text-faint);font-size:1.1em;background:none;border:none;padding:0;line-height:1;touch-action:none;-webkit-user-select:none;user-select:none}.hb-drag-handle:active{cursor:grabbing}.hb-dataset-label{flex:1;min-width:0;border:1px solid transparent;padding:4px 6px;font-size:14px;background:transparent;color:var(--color-text)}.hb-dataset-label:hover,.hb-dataset-label:focus{border-color:var(--color-border);background:var(--color-bg-muted)}.hb-dataset-temp{width:70px;flex:none;border:1px solid transparent;padding:4px 6px;font-size:14px;background:transparent;color:var(--color-text)}.hb-dataset-temp:hover,.hb-dataset-temp:focus{border-color:var(--color-border);background:var(--color-bg-muted)}.hb-dataset-remove{padding:2px 8px;background:var(--color-danger);font-size:14px;line-height:1}.hb-dataset-remove:hover:not(:disabled){background:var(--color-danger-hover)}.card-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-header--collapsible{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:nowrap}.card-header--collapsed{margin-bottom:0;padding-bottom:0;border-bottom:none}.card-header-main{flex:1 1 auto;min-width:0}.card-collapse-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:4px;margin:-2px -4px 0 0;color:var(--color-text-muted);cursor:pointer;line-height:1}.card-collapse-btn:hover{color:var(--color-text)}.card-collapse-caret{display:inline-block;font-size:.7em;line-height:1}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.theme-toggle:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary);background:var(--color-bg-muted)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.theme-toggle svg{display:block}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000080}.dialog-overlay[data-state=open]{animation:dialog-fade-in .15s ease-out}.dialog-overlay[data-state=closed]{animation:dialog-fade-out .1s ease-in forwards}.dialog-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;width:min(90vw,440px);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;padding:20px;box-shadow:0 20px 60px #00000040}.dialog-content[data-state=open]{animation:dialog-zoom-in .15s ease-out}.dialog-content[data-state=closed]{animation:dialog-zoom-out .1s ease-in forwards}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-fade-out{0%{opacity:1}to{opacity:0}}@keyframes dialog-zoom-in{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes dialog-zoom-out{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.96)}}.dialog-title{margin:0 0 8px;font-size:1.1em;font-weight:600;color:var(--color-heading)}.dialog-description{margin:0 0 20px;font-size:.9em;color:var(--color-text-muted);line-height:1.4}.dialog-footer{display:flex;justify-content:flex-end;gap:8px}.dialog-button-secondary,.dialog-button-danger{padding:8px 16px}.dialog-button-secondary{background:var(--color-bg-muted);color:var(--color-text)}.dialog-button-secondary:hover{background:var(--color-border)}.dialog-button-danger{background:var(--color-danger);color:#fff}.dialog-button-danger:hover{background:var(--color-danger-hover)}.dialog-close{position:absolute;top:12px;right:12px;background:none;border:none;cursor:pointer;font-size:1.3em;line-height:1;color:var(--color-text-faint);padding:2px 6px;border-radius:4px}.dialog-close:hover{color:var(--color-text);background:var(--color-bg-muted)}.tooltip-content{z-index:1000;max-width:260px;background:var(--color-heading);color:var(--color-bg);font-size:.8em;line-height:1.35;padding:6px 10px;border-radius:5px;box-shadow:0 4px 12px #0003}.tooltip-content[data-state=delayed-open],.tooltip-content[data-state=instant-open]{animation:dialog-fade-in .12s ease-out}.toggle-pill-group{display:inline-flex;gap:2px;border:1px solid var(--color-border);border-radius:5px;padding:2px;background:var(--color-bg-muted)}.toggle-pill{padding:5px 12px;font-size:13px;background:transparent;color:var(--color-text-muted);border:none;border-radius:3px;cursor:pointer;transition:background .15s,color .15s}.toggle-pill:hover:not(:disabled){background:var(--color-surface);color:var(--color-text)}.toggle-pill[data-state=on]{background:var(--color-primary);color:#fff}.toggle-pill:disabled{opacity:.5;cursor:not-allowed}.range-slider{display:flex;flex-direction:column;gap:6px;width:100%;max-width:420px}.range-slider--disabled{opacity:.5;pointer-events:none}.range-slider__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:11px}.range-slider__label{text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--color-text-muted)}.range-slider__readout{font-variant-numeric:tabular-nums;color:var(--color-text)}.range-slider__reset{margin-left:8px;background:none;border:none;padding:0;font-size:inherit;color:var(--color-primary);cursor:pointer}.range-slider__reset:hover{text-decoration:underline}.range-slider__track{position:relative;height:20px}.range-slider__track-base{position:absolute;inset-inline:0;top:50%;transform:translateY(-50%);height:4px;border-radius:9999px;background:var(--color-border)}.range-slider__track-active{position:absolute;top:50%;transform:translateY(-50%);height:4px;border-radius:9999px;background:var(--color-primary);opacity:.75}.range-slider__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;pointer-events:none}.range-slider__input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:9999px;background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border);pointer-events:auto;cursor:grab}.range-slider__input::-webkit-slider-thumb:active{cursor:grabbing}.range-slider__input::-moz-range-thumb{width:14px;height:14px;border-radius:9999px;background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 0 0 1px var(--color-border);pointer-events:auto;cursor:grab}.range-slider__input::-webkit-slider-runnable-track,.range-slider__input::-moz-range-track{background:transparent}.range-slider__input:focus-visible::-webkit-slider-thumb{outline:2px solid var(--color-primary);outline-offset:2px}.popover-content{z-index:60;min-width:180px;max-width:320px;padding:10px 12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 28px #0000002e;font-size:.9em;color:var(--color-text)}.popover-content:focus{outline:none}.popover-content[data-state=open]{animation:popover-in .12s ease-out}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.scroll-area{position:relative;overflow:hidden}.scroll-area__viewport{width:100%;height:100%}.scroll-area__scrollbar{display:flex;-webkit-user-select:none;user-select:none;touch-action:none;padding:2px;background:transparent}.scroll-area__scrollbar[data-orientation=vertical]{width:10px}.scroll-area__scrollbar[data-orientation=horizontal]{flex-direction:column;height:10px}.scroll-area__thumb{flex:1;background:var(--color-border);border-radius:9999px}.scroll-area__thumb:hover{background:var(--color-text-faint)}.loading-spinner{display:inline-block;border-style:solid;border-color:var(--color-border);border-top-color:var(--color-primary);border-radius:9999px;animation:loading-spin .7s linear infinite;vertical-align:-.15em}@keyframes loading-spin{to{transform:rotate(360deg)}}.pulsing-dots{display:inline-flex;gap:3px;align-items:center;vertical-align:middle}.pulsing-dots span{width:4px;height:4px;border-radius:9999px;background:currentColor;opacity:.3;animation:pulsing-dot 1s ease-in-out infinite}.pulsing-dots span:nth-child(2){animation-delay:.15s}.pulsing-dots span:nth-child(3){animation-delay:.3s}@keyframes pulsing-dot{0%,to{opacity:.3}50%{opacity:1}}.smart-truncate{display:inline-block;max-width:100%;min-width:0;vertical-align:bottom;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.smart-truncate--middle{display:inline-flex;flex-wrap:nowrap}.smart-truncate__head{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.smart-truncate__tail{flex:none;white-space:pre}.param-table{display:flex;flex-direction:column;gap:8px}.param-table__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.param-table__title{font-size:12px;font-weight:600;color:var(--color-text-muted)}.param-table__actions{display:flex;gap:12px}.param-table__link{background:none;border:none;padding:0;font-size:12px;color:var(--color-primary);cursor:pointer}.param-table__link:hover:not(:disabled){text-decoration:underline}.param-table__link:disabled{color:var(--color-text-faint);cursor:not-allowed}.param-table__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.param-table__th{padding:6px 10px;background:var(--color-bg-muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.param-table__th--fix{text-align:center}.param-table__row{display:contents}.param-table__name{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid var(--color-border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--color-text)}.param-table__tag{font-family:inherit;font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:4px;padding:0 4px}.param-table__input{border:none;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);background:transparent;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-variant-numeric:tabular-nums;color:var(--color-text);width:100%}.param-table__input:focus{outline:none;background:var(--color-bg-muted)}.param-table__fix{display:flex;align-items:center;justify-content:center;padding:6px 12px;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.param-table__modal{max-width:min(920px,94vw);width:920px;max-height:88vh;overflow-y:auto}.param-table__modal-body{display:flex;flex-wrap:wrap;gap:20px;margin-top:12px}.param-table__modal-inputs{flex:1 1 320px;min-width:0}.param-table__modal-preview{flex:1 1 380px;min-width:0}.sticky-results-bar{position:sticky;bottom:0;z-index:30;margin:24px -8px 0;padding:0 8px;pointer-events:none}.sticky-results-bar__inner{pointer-events:auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 -2px 16px #0000001f}.sticky-results-bar__title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}.sticky-results-bar__metrics{display:flex;gap:18px;flex-wrap:wrap;flex:1 1 auto}.sticky-results-bar__metric{display:inline-flex;align-items:baseline;gap:6px}.sticky-results-bar__metric-label{font-size:11px;color:var(--color-text-muted)}.sticky-results-bar__metric-value{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text)}.sticky-results-bar__view{background:none;border:1px solid var(--color-border);border-radius:6px;padding:4px 10px;font-size:12px;color:var(--color-primary);cursor:pointer}.sticky-results-bar__view:hover{background:var(--color-bg-muted)}.phase-stepper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.phase-stepper:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:6px}.phase-stepper__label{font-size:13px;font-weight:600;color:var(--color-text)}.phase-stepper__arrow{padding:4px 10px;font-size:12px;line-height:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer}.phase-stepper__arrow:hover:not(:disabled){border-color:var(--color-primary)}.phase-stepper__arrow:disabled{opacity:.4;cursor:not-allowed}.phase-stepper__counter{display:inline-flex;align-items:center;gap:6px;min-width:84px;justify-content:center;padding:5px 12px;font-size:13px;font-variant-numeric:tabular-nums;background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);cursor:pointer}.phase-stepper__counter:hover{border-color:var(--color-primary)}.phase-stepper__tuned-tag{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--color-primary);border-radius:4px;padding:1px 4px}.phase-stepper__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:4px;min-width:200px;padding-right:4px}.phase-stepper__cell{padding:4px 0;font-size:11px;font-variant-numeric:tabular-nums;background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);cursor:pointer}.phase-stepper__cell:hover{border-color:var(--color-primary);color:var(--color-text)}.phase-stepper__cell--tuned{border-color:var(--color-primary);color:var(--color-primary);font-weight:700}.phase-stepper__cell--current{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.range-single{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:999px;background:var(--color-border);cursor:pointer;vertical-align:middle}.range-single::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-surface);box-shadow:0 1px 3px #00000040;cursor:pointer}.range-single::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary);box-shadow:0 1px 3px #00000040;cursor:pointer}.range-single:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.range-single:disabled{opacity:.5;cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--color-primary);width:15px;height:15px;cursor:pointer}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed}.note{font-size:.85em;color:var(--color-text-muted);line-height:1.5;margin:6px 0 0}.note--error{color:var(--color-error)}.plot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px;margin-top:12px;align-items:start}.plot-grid>*{min-width:0}.inline-controls{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-start}.inline-controls>*{min-width:0}.why-note{margin:8px 0 0;font-size:.85em}.why-note>summary{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;cursor:pointer;color:var(--color-text-faint);list-style:none;-webkit-user-select:none;user-select:none;border-radius:50%;transition:color .15s,background .15s}.why-note>summary::marker,.why-note>summary::-webkit-details-marker{display:none}.why-note>summary:before{content:"ⓘ";font-size:1.15em;line-height:1}.why-note>summary:hover,.why-note[open]>summary{color:var(--color-primary);background:var(--color-bg-muted)}.why-note>summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.why-note[open]>summary{margin-bottom:6px}.why-note>p,.why-note>div{color:var(--color-text-muted);line-height:1.5;margin:0}@media (min-width: 1600px){.app{max-width:1480px}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:10px}.table-wrap>table{margin-top:0;min-width:520px}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:8px 32px 8px 10px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 17px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer;max-width:100%}select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}select:disabled{opacity:.55;cursor:not-allowed}.plot-skeleton{display:flex;align-items:center;justify-content:center;width:100%;border:1px dashed var(--color-border);border-radius:8px;background:var(--color-bg-muted);color:var(--color-text-faint);font-size:.85em}@media (max-width: 640px){.app{padding:12px}main{padding:12px 0}.field-group,.inline-controls{flex-direction:column;align-items:stretch;gap:12px}.field-group input,.field-group select,.inline-controls input,.inline-controls select{width:100%!important;max-width:100%}.inline-controls .range-single{width:100%!important;margin-right:0!important}.card{padding:14px}h1{font-size:1.6em}.peak-card{width:100%}}input,select{max-width:100%}.input-xs{width:70px;max-width:100%}.input-sm{width:90px;max-width:100%}.input-md{width:110px;max-width:100%}.input-lg{width:140px;max-width:100%}.input-full{width:100%}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.region-table{width:100%;min-width:480px;border-collapse:collapse}.region-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid var(--color-border);white-space:nowrap}.region-table td{padding:5px 8px;border-bottom:1px solid var(--color-border);vertical-align:middle}.region-table tbody tr{cursor:pointer}.region-table tbody tr.is-active{background:var(--color-bg-subtle, rgba(127, 127, 127, .08))}.region-table tbody tr.is-active td:first-child{box-shadow:inset 2px 0 0 var(--color-primary)}.region-table tbody tr.is-empty .region-label-input{color:var(--color-warning)}.region-swatch{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle}.region-label-input{width:100%;min-width:90px;padding:4px 6px;font:inherit;font-size:.86rem;color:var(--color-text);background:transparent;border:1px solid transparent;border-radius:4px}.region-label-input:hover{border-color:var(--color-border)}.region-label-input:focus{outline:none;background:var(--color-bg);border-color:var(--color-primary)}@media (max-width: 640px){.region-table{min-width:420px}.region-label-input{min-width:70px}}.region-plot-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px}.region-plot{border:1px solid transparent;border-radius:8px;transition:border-color .12s ease,box-shadow .12s ease}.region-plot.is-drawing{border-color:var(--region-draw-color, var(--color-primary));box-shadow:0 0 0 3px color-mix(in srgb,var(--region-draw-color, var(--color-primary)) 18%,transparent)}.region-plot.is-drawing .js-plotly-plot .nsewdrag{cursor:crosshair}.region-draw-hint{font-weight:600}@media (prefers-reduced-motion: reduce){.region-plot{transition:none}}.region-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.region-tab{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;font:inherit;font-size:.85rem;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;cursor:pointer}.region-tab:hover{color:var(--color-text);border-color:var(--color-text-muted)}.region-tab.is-active{color:var(--color-text);border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.region-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.region-tab-dot{color:var(--color-warning);font-size:1.1em;line-height:1}.inline-controls>.field{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.module-header{display:block;margin-bottom:var(--sp-5)}.module-header-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-4);flex-wrap:wrap}.module-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:0;padding:0;list-style:none;font-size:var(--fs-sm);color:var(--color-text-faint)}.module-crumbs li{display:flex;align-items:center;gap:var(--sp-2)}.module-crumbs a{color:var(--color-text-muted);text-decoration:none}.module-crumbs a:hover{color:var(--color-primary);text-decoration:underline}.module-crumbs [aria-current=page]{color:var(--color-heading);font-weight:600}.module-crumb-sep{color:var(--color-border)}.module-header h1{margin:0;color:var(--color-heading);font-size:var(--fs-2xl);font-weight:700}.module-header-subtitle{max-width:68ch;margin:var(--sp-2) 0 0;color:var(--color-text-muted);font-size:var(--fs-md);line-height:var(--lh-body)}.module-header-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-3)}.module-header-actions{display:flex;gap:var(--sp-2);align-items:center}.workflow-steps{position:sticky;top:0;z-index:4;margin-bottom:var(--sp-5);padding:var(--sp-2) var(--sp-3);background:color-mix(in srgb,var(--color-bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:var(--r-lg)}.workflow-steps ol{display:flex;align-items:stretch;gap:var(--sp-1);margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:thin}.workflow-step{flex:1 1 0;min-width:118px}.workflow-step button{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:transparent;border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer;text-align:left;transition:background .15s,color .15s,border-color .15s}.workflow-step button:hover:not(:disabled){background:var(--color-bg-muted)}.workflow-step button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.workflow-step button:disabled{cursor:default;opacity:1}.workflow-step-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;border-radius:var(--r-pill);border:1.5px solid currentColor;font-size:var(--fs-2xs);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.workflow-step-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-step.is-pending button{color:var(--color-text-faint)}.workflow-step.is-active button{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 35%,transparent)}.workflow-step.is-done button{color:var(--color-success-strong)}.workflow-step.is-done .workflow-step-mark{background:var(--color-success);border-color:var(--color-success);color:#fff}.workflow-step.is-stale button{color:var(--color-warning)}.workflow-step.is-stale .workflow-step-mark{background:var(--color-warning-bg);border-color:var(--color-warning)}.module-stale-note{max-width:78ch;margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--color-warning-bg);color:var(--color-warning);border:1px solid color-mix(in srgb,var(--color-warning) 35%,transparent);border-radius:var(--r-md);font-size:var(--fs-sm)}@media (max-width: 820px){.workflow-steps{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}}.header-nav{display:flex;align-items:center;gap:14px}header h1 a{color:inherit;text-decoration:none}.header-link{color:var(--color-text-muted);font-size:.88em;font-weight:600;text-decoration:none;padding:5px 10px;border-radius:6px;transition:color .15s,background .15s}.header-link:hover,.header-link.active{color:var(--color-primary);background:var(--color-bg-muted)}.welcome-hero,.welcome-section{padding:0;background:none;border-radius:0}.welcome-section h2{border-bottom:none;padding-bottom:0}.welcome-hero{display:grid;grid-template-columns:minmax(280px,1fr) minmax(0,1.15fr);gap:36px;align-items:center;margin-bottom:52px}.welcome-eyebrow{margin:0 0 10px;font-size:.78em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary)}.welcome-hero-copy h1{margin:0 0 14px;font-size:2.1em;line-height:1.15;text-wrap:balance;color:var(--color-heading)}.welcome-lede{margin:0 0 24px;max-width:46ch;font-size:1.02em;line-height:1.6;color:var(--color-text-muted)}.welcome-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-5)}.welcome-actions{display:flex;flex-wrap:wrap;gap:12px}.welcome-actions .btn{text-decoration:none}.welcome-hero-shot{margin:0}.hero-slides{position:relative;aspect-ratio:1792 / 996;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;background:var(--color-bg-muted);box-shadow:0 10px 30px #0000001f;transition:border-color .15s}.hero-slides:hover{border-color:var(--color-primary)}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;display:block;opacity:0;pointer-events:none;transition:opacity .5s ease}.hero-slide.is-active{opacity:1;pointer-events:auto}.hero-slide:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media (prefers-reduced-motion: reduce){.hero-slide{transition:none}}.welcome-card-shot img,.tutorial-thumb img{display:block;width:100%;height:auto}.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}.welcome-hero-shot figcaption{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px;font-size:.85em;color:var(--color-text-faint)}.welcome-hero-shot figcaption a{color:var(--color-text-muted)}.hero-dots{display:flex;flex-shrink:0;gap:2px}.hero-dot{display:grid;place-items:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:none;cursor:pointer}.hero-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-border);transition:background .15s,transform .15s}.hero-dot:hover:before{background:var(--color-text-faint)}.hero-dot.is-active:before{background:var(--color-primary);transform:scale(1.15)}.hero-dot:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.welcome-section{margin-bottom:48px}.welcome-section h2{margin:0 0 20px;font-size:1.35em;color:var(--color-heading)}.welcome-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--sp-6)}.welcome-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.welcome-card:hover{border-color:var(--color-primary);box-shadow:0 6px 20px #0000001a}.welcome-card-shot{display:block;border-bottom:1px solid var(--color-border);background:var(--color-bg-muted)}.welcome-card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px}.welcome-card-module{font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint)}.welcome-card-body h3{margin:0;font-size:1.08em;color:var(--color-heading)}.welcome-card-body p{margin:0;font-size:.9em;line-height:1.55;color:var(--color-text-muted)}.welcome-card-links{display:flex;gap:16px;margin-top:4px;font-size:.88em;font-weight:600}.welcome-card-links a{color:var(--color-primary);text-decoration:none}.welcome-card-links a:hover{text-decoration:underline}.welcome-card.is-coming-soon{border-style:dashed;background:var(--color-bg-muted)}.welcome-card.is-coming-soon:hover{border-color:var(--color-border);box-shadow:none}.welcome-card-shot-empty{aspect-ratio:1792 / 996;background:repeating-linear-gradient(-45deg,transparent 0 10px,color-mix(in srgb,var(--color-border) 45%,transparent) 10px 11px)}.welcome-card-soon{color:var(--color-text-faint);font-weight:600}@media (max-width: 900px){.welcome-hero{grid-template-columns:1fr;gap:28px}.welcome-hero-copy h1{font-size:1.7em}}.tutorials-lede{max-width:68ch;margin:-6px 0 28px;line-height:1.6;color:var(--color-text-muted)}.tutorial-player-card{display:block;padding:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;margin-bottom:44px}.tutorial-video{display:block;width:100%;aspect-ratio:1792 / 996;max-height:74vh;object-fit:contain;background:#0d0f13;border-bottom:1px solid var(--color-border)}.tutorial-player-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px 36px;padding:20px 24px 24px}.tutorial-player-heading{grid-column:1}.tutorial-player-heading h2{margin:6px 0 8px;font-size:1.25em;color:var(--color-heading);border-bottom:none;padding-bottom:0}.tutorial-tag{display:block;font-size:.72em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}.tutorial-blurb{margin:0;font-size:.92em;line-height:1.55;color:var(--color-text-muted)}.tutorial-steps{grid-column:2;grid-row:1 / span 2;margin:0;list-style:decimal outside;padding-left:20px;font-size:.9em;line-height:1.5;color:var(--color-text)}.tutorial-steps li+li{margin-top:9px}.tutorial-steps li::marker{color:var(--color-text-faint);font-variant-numeric:tabular-nums}.tutorial-open-link{grid-column:1;justify-self:start;align-self:start;text-decoration:none}.tutorials-library-heading{margin:0 0 18px;font-size:1.15em;color:var(--color-heading)}.tutorial-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.tutorial-card{display:flex;flex-direction:column;width:100%;height:100%;padding:0;text-align:left;font:inherit;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s}.tutorial-card:hover{border-color:var(--color-primary);box-shadow:0 6px 18px #0000001a}.tutorial-card.is-active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary) inset}.tutorial-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tutorial-thumb{position:relative;display:block;border-bottom:1px solid var(--color-border);background:var(--color-bg-muted)}.tutorial-duration{position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:4px;background:#000000b8;color:#fff;font-size:.75em;font-weight:600;font-variant-numeric:tabular-nums}.tutorial-card-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px 16px}.tutorial-card-title{font-size:1em;font-weight:600;color:var(--color-heading)}.tutorial-card-blurb{font-size:.85em;line-height:1.5;color:var(--color-text-muted)}@media (max-width: 900px){.tutorial-player-body{grid-template-columns:1fr}.tutorial-player-heading,.tutorial-steps,.tutorial-open-link{grid-column:1;grid-row:auto}}.welcome-points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px 32px}.welcome-points li{border-top:2px solid var(--color-primary);padding-top:14px}.welcome-points h3{margin:0 0 10px;font-size:1.02em;color:var(--color-heading);text-wrap:balance}.welcome-points p{margin:0 0 10px;font-size:.9em;line-height:1.6;color:var(--color-text-muted)}.welcome-points p:last-child{margin-bottom:0}.example-data{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:12px}.example-data-hint{flex:1 1 260px;font-size:.82em;line-height:1.45;color:var(--color-text-faint)}.example-data-size{white-space:nowrap}.example-data-error{flex-basis:100%;font-size:.82em;color:var(--color-error)}.welcome-lede-quiet{margin-top:-12px;font-size:.92em;color:var(--color-text-faint)}.contact{--contact-ground: #1b3fa0;--contact-ground-deep: #14307d;--contact-ink: #ffffff}.contact-panel{position:relative;overflow:hidden;margin-bottom:var(--sp-6);padding:var(--sp-8) var(--sp-6);border-radius:var(--r-lg);background:linear-gradient(160deg,var(--contact-ground) 0%,var(--contact-ground-deep) 100%);color:var(--contact-ink)}.contact-lattice{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;color:var(--contact-ink);opacity:.16;pointer-events:none}.contact-inner{position:relative;max-width:640px;margin:0 auto}.contact-inner h1{margin:0 0 var(--sp-4);color:var(--contact-ink);font-size:var(--fs-3xl);font-weight:800;letter-spacing:-.02em;text-align:center}.contact-lede{margin:0 auto var(--sp-7);max-width:54ch;color:color-mix(in srgb,var(--contact-ink) 82%,transparent);font-size:var(--fs-md);line-height:var(--lh-body);text-align:center}.contact-form{display:flex;flex-direction:column;gap:var(--sp-3)}.contact-field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-field input,.contact-field textarea{display:block;width:100%;padding:var(--sp-3) var(--sp-4);border:2px solid transparent;border-radius:var(--r-md);background:#fff;color:#1a1a1a;font-family:inherit;font-size:var(--fs-md);line-height:var(--lh-body)}.contact-field textarea{resize:vertical;min-height:160px}.contact-field input::placeholder,.contact-field textarea::placeholder{color:#6b7280}.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:none;border-color:#f6b26b;box-shadow:0 0 0 3px #f6b26b59}.contact-actions{display:flex;justify-content:flex-end;margin-top:var(--sp-2)}.contact-submit{padding:var(--sp-3) var(--sp-7);background:transparent;color:var(--contact-ink);border:2px solid var(--contact-ink);border-radius:var(--r-md);font-family:inherit;font-size:var(--fs-md);font-weight:600;cursor:pointer;transition:background .15s,color .15s}.contact-submit:hover{background:var(--contact-ink);color:var(--contact-ground)}.contact-submit:focus-visible{outline:3px solid #f6b26b;outline-offset:2px}.contact-fallback{margin:var(--sp-6) 0 0;color:color-mix(in srgb,var(--contact-ink) 78%,transparent);font-size:var(--fs-sm);text-align:center}.contact-fallback a{color:var(--contact-ink);text-decoration:underline;text-underline-offset:2px}@media (max-width: 640px){.contact-panel{padding:var(--sp-7) var(--sp-4)}.contact-inner h1{font-size:var(--fs-2xl)}.contact-actions{justify-content:stretch}.contact-submit{width:100%}}.engine-panel{margin-bottom:var(--sp-6);padding:var(--sp-5);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--r-lg);box-shadow:var(--el-sm)}.engine-panel-head{display:flex;align-items:flex-start;gap:var(--sp-3)}.engine-panel-spinner{flex:0 0 auto;margin-top:2px;border-top-color:var(--color-primary)}.engine-panel-title{flex:1;min-width:0}.engine-panel-title h3{margin:0 0 var(--sp-1);font-size:var(--fs-md);font-weight:600;color:var(--color-heading)}.engine-panel-lede{margin:0;max-width:62ch;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--color-text-muted)}.engine-panel-pct{flex:0 0 auto;font-size:var(--fs-lg);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-primary);line-height:1}.engine-track{margin-top:var(--sp-4);height:6px;border-radius:var(--r-pill);background:var(--color-bg-muted);overflow:hidden}.engine-track-slim{margin-top:var(--sp-2);height:4px}.engine-track-fill{height:100%;border-radius:var(--r-pill);background:var(--color-primary);transition:width .24s linear}.engine-steps{margin:var(--sp-4) 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--sp-1)}.engine-step{display:flex;align-items:baseline;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-sm)}.engine-step.is-active{background:var(--color-bg-muted)}.engine-step-mark{flex:0 0 14px;font-size:var(--fs-xs);line-height:1.4;color:var(--color-text-faint)}.engine-step.is-done .engine-step-mark{color:var(--color-success)}.engine-step.is-active .engine-step-mark{color:var(--color-primary);animation:engine-step-pulse 1.4s ease-in-out infinite}.engine-step-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.engine-step-label{color:var(--color-text);font-weight:500}.engine-step.is-pending .engine-step-label{color:var(--color-text-faint);font-weight:400}.engine-step-detail{font-size:var(--fs-xs);color:var(--color-text-muted);display:none}.engine-step.is-active .engine-step-detail{display:block}.engine-step-size{flex:0 0 auto;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--color-text-faint)}.engine-step.is-active .engine-step-size{color:var(--color-text-muted)}.engine-panel-foot{margin:var(--sp-4) 0 0;max-width:72ch;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--color-text-faint)}.engine-panel-error{margin:var(--sp-3) 0 0;padding:var(--sp-3);border-radius:var(--r-sm);background:var(--color-bg-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs);color:var(--color-error);overflow-wrap:anywhere}.engine-panel.is-error{border-left-color:var(--color-danger)}.engine-panel.is-error .engine-panel-mark{flex:0 0 20px;height:20px;margin-top:1px;border-radius:var(--r-pill);background:var(--color-danger);color:#fff;font-size:var(--fs-xs);font-weight:700;display:flex;align-items:center;justify-content:center}.engine-panel.is-error .btn{margin-top:var(--sp-4)}.engine-panel.is-ready{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-left-color:var(--color-success)}.engine-panel.is-ready p{margin:0;font-size:var(--fs-sm);color:var(--color-text-muted)}.engine-panel.is-ready strong{color:var(--color-text)}.engine-panel.is-ready .engine-panel-mark{color:var(--color-success);font-size:var(--fs-md)}@keyframes engine-step-pulse{0%,to{opacity:1}50%{opacity:.35}}.engine-inline{margin:var(--sp-4) 0 0;max-width:420px}.engine-inline-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.engine-inline-text{font-size:var(--fs-sm);color:var(--color-text-muted)}.engine-inline-text strong{font-variant-numeric:tabular-nums;color:var(--color-text)}.engine-inline-note{font-size:var(--fs-xs);color:var(--color-text-faint)}.engine-inline.is-error{display:flex;align-items:baseline;gap:var(--sp-2);flex-wrap:wrap}.engine-inline.is-error .engine-inline-text{color:var(--color-error)}.engine-inline-retry{padding:0;border:0;background:none;font:inherit;font-size:var(--fs-sm);color:var(--color-primary);text-decoration:underline;cursor:pointer}.engine-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--r-pill);background:var(--color-surface);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.engine-chip.is-ready{border-color:var(--color-success-border);color:var(--color-success-strong)}.engine-chip-dot{width:6px;height:6px;border-radius:var(--r-pill);background:var(--color-success)}.engine-chip.is-error{border-color:var(--color-error-border);color:var(--color-error);cursor:pointer}@media (prefers-reduced-motion: reduce){.engine-step.is-active .engine-step-mark{animation:none}.engine-track-fill{transition:none}}@media (max-width: 640px){.engine-panel{padding:var(--sp-4)}.engine-step-size{display:none}}.fit-diag{margin-top:var(--sp-6);padding:var(--sp-5);border:1px solid var(--color-border);border-radius:var(--r-lg);background:var(--color-bg-muted)}.fit-diag>h3{margin:0 0 var(--sp-1);font-size:var(--fs-md);color:var(--color-heading)}.fit-diag h4{margin:var(--sp-5) 0 var(--sp-2);font-size:var(--fs-sm);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.fit-diag h4:first-of-type{margin-top:var(--sp-4)}.fit-diag-lede{margin:0;max-width:76ch;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--color-text-muted)}.fit-diag .table-wrap{background:var(--color-surface);border-radius:var(--r-md)}.fit-diag tr.is-current{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.fit-diag-current{font-size:var(--fs-xs);color:var(--color-text-faint)}.fit-diag-bands{display:flex;flex-direction:column;gap:var(--sp-3)}.fit-diag-band{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--color-surface);border-left:3px solid var(--color-border)}.fit-diag-band.is-danger{border-left-color:var(--color-danger)}.fit-diag-band.is-warning{border-left-color:var(--color-warning)}.fit-diag-band.is-info{border-left-color:var(--color-primary)}.fit-diag-pairs{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5)}.fit-diag-pairs li{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--color-text-muted)}.fit-diag-pairs strong{color:var(--color-text);font-weight:600}.fit-diag-verdict{margin:var(--sp-2) 0 0;max-width:76ch;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--color-text-muted)}.fit-diag-clear{margin:0;font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--color-text-faint);max-width:76ch}.fit-diag-flag{font-weight:600;color:var(--color-warning)}.fit-diag .note{margin-top:var(--sp-3);max-width:76ch}/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:#f4f6f9;--color-bg-muted:#eceff4;--color-surface:#fff;--color-border:#dfe3ea;--color-heading:#2c3e50;--color-text:#000000de;--color-text-muted:#555;--color-text-faint:#888;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-success:#16a34a;--color-success-hover:#15803d;--color-success-strong:#166534;--color-danger:#dc2626;--color-danger-hover:#b91c1c;--color-error:#a01818;--color-error-border:#f0b4b4;--color-success-border:#a3d9b1;--color-warning:#a15c00;--color-warning-bg:#fff4e0}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-3{margin:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.uppercase{text-transform:uppercase}.line-through{text-decoration-line:line-through}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}[data-theme=dark]{--color-bg:#14171c;--color-bg-muted:#1b1f26;--color-surface:#1e222a;--color-border:#333944;--color-heading:#e8ecf1;--color-text:#dde1e8;--color-text-muted:#9aa2b1;--color-text-faint:#767e8c;--color-primary:#5b8def;--color-primary-hover:#7aa5f5;--color-success:#34d399;--color-success-hover:#4ade80;--color-success-strong:#4fd394;--color-danger:#f87171;--color-danger-hover:#fca5a5;--color-disabled:#5c6570;--color-error:#ff6b6b;--color-error-border:#7a2f2f;--color-success-border:#2f6b47;--color-warning:#e8a94a;--color-warning-bg:#3a2f1a;--color-table-header-bg:#232830}:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-7:32px;--sp-8:40px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:36px;--lh-tight:1.2;--lh-heading:1.25;--lh-body:1.6;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:9999px;--el-sm:0 1px 2px #1018280d;--el-md:0 4px 14px #10182814;--layout-max:1320px;--rail-w:220px;--rail-w-collapsed:46px}[data-theme=dark]{--el-sm:0 1px 2px #0006;--el-md:0 6px 18px #00000073}:root{color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Plus Jakarta Sans,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background-color:var(--color-bg);min-width:320px;min-height:100vh;color:var(--color-text);margin:0;padding:0}h1,h2,h3,h4{margin:0 0 var(--sp-3);line-height:var(--lh-heading);text-wrap:balance}p{margin:0 0 var(--sp-3)}h1{font-size:var(--fs-3xl);line-height:1.1}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}button{font-family:inherit}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
