:root{--sub-0:#0b0c0e;--sub-1:#131417;--sub-2:#1a1c20;--line:#2c2f35;--line-strong:#3a3e45;--fg-0:#eceae4;--fg-1:#b7b4ac;--fg-2:#8a8880;--sig:#e0a94a;--sig-wash:#e0a94a1f;--ink:#0b0c0e;--err:#d8503e;--err-text:#e4715f;--err-wash:#d8503e1a;--r:0;--ease:cubic-bezier(.2, .6, .2, 1);--dur:.16s;--font-display:"Archivo", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--sub-0);color:var(--fg-1);font-family:var(--font-display);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--sub-0)}body{background:var(--sub-0);min-width:320px;min-height:100vh;margin:0;position:relative}body:before{content:"";pointer-events:none;z-index:1;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}#root{z-index:2;position:relative}img,svg{max-width:100%;display:block}.skip-link{z-index:100;background:var(--sig);color:var(--ink);font-family:var(--font-mono);transition:top var(--dur) var(--ease);padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;text-decoration:none;position:absolute;top:-48px;left:0}.skip-link:focus{top:0}.console{text-align:left;width:100%;max-width:1180px;margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem);overflow-x:hidden}.masthead{border-bottom:2px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;padding-bottom:1.25rem;display:flex}.masthead-id{flex-direction:column;gap:.5rem;display:flex}.wordmark{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--fg-0);text-wrap:balance;margin:0;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;line-height:1}.classification{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);max-width:65ch;margin:0;font-size:.8rem;font-weight:400;line-height:1.4}.meta-row{flex-wrap:wrap;gap:1.5rem;margin:0;display:flex}.meta-item{flex-direction:column;gap:.2rem;display:flex}.meta-item dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);font-size:.72rem;font-weight:500}.meta-item dd{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--fg-0);margin:0;font-size:.9rem;font-weight:500}.meta-item dd.status-ready{color:var(--fg-2)}.meta-item dd.status-working{color:var(--sig)}.meta-item dd.status-error{color:var(--err-text)}.grid{border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:0;margin-top:2.5rem;display:grid}.bay{flex-direction:column;align-items:stretch;min-width:0;padding:clamp(1.5rem,2.5vw,2.25rem);display:flex}.bay--intake{border-right:1px solid var(--line)}.bay-head{align-items:baseline;gap:1rem;margin-bottom:1.5rem;display:flex}.panel-index{font-family:var(--font-display);letter-spacing:-.02em;color:var(--line-strong);-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:.9}.panel-title{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-0);text-wrap:balance;margin:0;font-size:1rem;font-weight:600;line-height:1.1}.label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-2);margin:0 0 .5rem;font-size:.72rem;font-weight:500;display:block}.value{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--fg-0);font-size:.9rem;font-weight:500;display:block}.readout-figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--sig);font-size:1.1rem;font-weight:600}.field-group{margin-bottom:1.5rem}.field-group:last-child{margin-bottom:0}.dropzone{border:1px solid var(--line);border-radius:var(--r);background:var(--sub-2);touch-action:manipulation;min-height:260px;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);position:relative}.dropzone--active{border-color:var(--sig);background:var(--sig-wash)}.dropzone:focus-within{outline:2px solid var(--sig);outline-offset:2px}.dropzone-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.dropzone-input:disabled{cursor:not-allowed}.dropzone-surface{text-align:center;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;height:100%;min-height:260px;padding:1.5rem;display:flex}.dropzone-icon{color:var(--fg-2);width:40px;height:40px;transition:color var(--dur) var(--ease)}.dropzone--active .dropzone-icon{color:var(--sig)}.dropzone-text{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-1);margin:0;font-size:.8rem;font-weight:500}.dropzone-caption{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);margin:0;font-size:.72rem}.preview{object-fit:contain;background:var(--sub-2);width:100%;height:100%;min-height:260px}.age-segments{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin:.5rem 0 0;padding:0;display:grid}.age-segments:disabled{opacity:1}.segment{border:1px solid var(--line);cursor:pointer;touch-action:manipulation;min-height:44px;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);justify-content:center;align-items:center;margin:-1px 0 0 -1px;padding:.5rem;display:flex;position:relative}.segment:hover{border-color:var(--sig)}.segment:focus-within{outline:2px solid var(--sig);outline-offset:-2px}.segment--selected{background:var(--sig-wash);border-top:2px solid var(--sig)}.segment-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.segment-text{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--fg-2);font-variant-numeric:tabular-nums;font-size:.78rem;font-weight:500}.segment--selected .segment-text{color:var(--fg-0)}fieldset.age-segments:disabled .segment{cursor:not-allowed}.btn{border-radius:var(--r);background:var(--sig);width:100%;min-height:44px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:filter var(--dur) var(--ease), transform var(--dur) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);border:none;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.9em 1.5em;font-size:.85rem;font-weight:600;display:flex}.btn:hover:not(:disabled){filter:brightness(1.06)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--sig);outline-offset:2px}.btn:disabled{background:var(--sub-2);color:var(--fg-2);cursor:not-allowed;filter:none;transform:none}.btn-tick{gap:.2em;display:inline-flex}.btn-tick span{width:3px;height:8px;animation:btn-tick-pulse 1s var(--ease) infinite;background:currentColor}.btn-tick span:nth-child(2){animation-delay:.15s}.btn-tick span:nth-child(3){animation-delay:.3s}@keyframes btn-tick-pulse{0%,to{opacity:.3}50%{opacity:1}}.error{border-left:2px solid var(--err);background:var(--err-wash);border-radius:var(--r);margin-top:1rem;padding:.75rem 1rem}.error .label{color:var(--err-text);margin-bottom:.3rem}.error p{color:var(--err-text);font-family:var(--font-display);margin:0;font-size:.95rem;line-height:1.55}.synth-region{flex:1;display:flex}.state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:260px;padding:1.5rem 0;display:flex}.state--result{text-align:left;align-items:stretch;gap:1.25rem}.state--loading{position:relative;overflow:hidden}.state--loading:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#eceae40d 0 1px,#0000 1px 3px);position:absolute;inset:0}.state-icon{color:var(--line-strong);width:56px;height:56px}.helper{font-family:var(--font-display);color:var(--fg-1);max-width:40ch;margin:0;font-size:.95rem;line-height:1.55}.telemetry-bar{background:var(--sub-2);width:100%;max-width:220px;height:2px;position:relative;overflow:hidden}.telemetry-bar-fill{background:var(--sig);width:40%;height:100%;animation:telemetry-sweep 1.3s var(--ease) infinite;position:absolute;top:0;left:0;transform:translate(-100%)}@keyframes telemetry-sweep{0%{transform:translate(-100%)}to{transform:translate(300%)}}.result{object-fit:contain;background:var(--sub-2);width:100%;min-height:200px;animation:result-fade var(--dur) var(--ease) both}.compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.compare-item{flex-direction:column;gap:.5rem;margin:0;display:flex}.compare-item .result{aspect-ratio:1;height:auto;min-height:0}.compare-item .label{margin:0}@keyframes result-fade{0%{opacity:0}to{opacity:1}}.readout{border-left:2px solid var(--sig);margin:0;padding:.5rem 0 .5rem .9rem}.readout-row{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.readout-row dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--sig);font-size:.72rem;font-weight:500}.readout-row dd{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--fg-0);margin:0;font-size:.9rem;font-weight:500}.download{border:1px solid var(--line);border-radius:var(--r);min-height:44px;color:var(--fg-1);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:border-color var(--dur) var(--ease), background-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;justify-content:center;align-self:flex-start;align-items:center;gap:.4em;padding:.6em 1.2em;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.download:hover{border-color:var(--sig);background:var(--sig-wash);color:var(--fg-0)}.download:focus-visible{outline:2px solid var(--sig);outline-offset:2px}.baseline{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;margin-top:2.5rem;padding-top:1.25rem;display:flex}.baseline p{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-2);margin:0;font-size:.72rem}.icon{fill:none;stroke:currentColor;width:40px;height:40px}.icon-lg{width:56px;height:56px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--sig);outline-offset:2px}@media (width<=768px){.grid{grid-template-columns:1fr}.bay--intake{border-right:none;border-bottom:1px solid var(--line)}.age-segments{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.telemetry-bar-fill{background:repeating-linear-gradient(90deg, var(--sig) 0px, var(--sig) 8px, transparent 8px, transparent 16px);width:100%;animation:none;transform:none}.btn-tick span{opacity:1;animation:none}body:before{display:none}}
