@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-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,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;--color-red-50:#fef2f2;--color-red-500:#fb2c36;--color-amber-50:#fffbeb;--color-amber-700:#b75000;--color-emerald-50:#ecfdf5;--color-emerald-100:#d0fae5;--color-emerald-200:#a4f4cf;--color-emerald-600:#009767;--color-emerald-800:#005f46;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cad5e2;--color-slate-400:#90a1b9;--color-slate-500:#62748e;--color-slate-600:#45556c;--color-slate-800:#1d293d;--color-slate-900:#0f172b;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-50:lab(96.5005% 4.18508 1.52328);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-amber-50:lab(98.6252% -.635922 8.42309);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-emerald-50:lab(97.8462% -6.94966 1.85487);--color-emerald-100:lab(94.9004% -17.0769 5.63836);--color-emerald-200:lab(90.2247% -31.039 9.47084);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-800:lab(35.3675% -33.1188 8.04002);--color-slate-50:lab(98.1434% -.369519 -1.05966);--color-slate-100:lab(96.286% -.852436 -2.46847);--color-slate-200:lab(91.7353% -.998765 -4.76968);--color-slate-300:lab(84.7652% -1.94535 -7.93337);--color-slate-400:lab(65.5349% -2.25151 -14.5072);--color-slate-500:lab(48.0876% -2.03595 -16.5814);--color-slate-600:lab(35.5623% -1.74978 -15.4316);--color-slate-800:lab(16.132% -.318035 -14.6672);--color-slate-900:lab(7.78673% 1.82345 -15.0537)}}}@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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,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;-webkit-text-decoration:inherit;-webkit-text-decoration: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{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]){appearance:button}::file-selector-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{.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}.relative{position:relative}.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}}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing)*8)}.h-40{height:calc(var(--spacing)*40)}.h-48{height:calc(var(--spacing)*48)}.h-56{height:calc(var(--spacing)*56)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-96{height:calc(var(--spacing)*96)}.h-\[620px\]{height:620px}.w-10{width:calc(var(--spacing)*10)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-56{width:calc(var(--spacing)*56)}.w-full{width:100%}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-emerald-100{border-color:var(--color-emerald-100)}.border-emerald-200{border-color:var(--color-emerald-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-50\/40{background-color:#ecfdf566}@supports (color:color-mix(in lab, red, red)){.bg-emerald-50\/40{background-color:color-mix(in oklab,var(--color-emerald-50)40%,transparent)}}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-5{padding-inline:calc(var(--spacing)*5)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.py-10{padding-block:calc(var(--spacing)*10)}.py-24{padding-block:calc(var(--spacing)*24)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.text-center{text-align:center}.text-left{text-align:left}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-amber-700{color:var(--color-amber-700)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-800{color:var(--color-emerald-800)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.running{animation-play-state:running}@media (hover:hover){.hover\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:text-red-500:hover{color:var(--color-red-500)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media (min-width:48rem){.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}}@media (min-width:64rem){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--canvas:#f0f4f9;--surface:#fcfdff;--surface-muted:#f2f6fb;--ink:#091326;--muted:#5a6a80;--muted-light:#8697ab;--line:#d7dfe8;--brand:#206ce7;--brand-strong:#0055d0;--brand-soft:#e3f0ff;--navy:#030c1d;--navy-soft:#0d1727;--success:#00a060;--warning:#d58800;--danger:#d73337;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--shadow-panel:0 1px 2px #0c121a14,0 4px 14px #0c121a0d;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px}@supports (color:lab(0% 0 0)){:root{--canvas:lab(95.9316% -.833392 -2.87603);--surface:lab(99.4181% -.212014 -.721097);--surface-muted:lab(96.7436% -.833571 -2.8761);--ink:lab(5.95697% .662416 -13.8357);--muted:lab(44.1848% -2.17909 -14.3651);--muted-light:lab(61.6508% -2.98822 -12.4319);--line:lab(88.3788% -1.44121 -5.40311);--brand:lab(46.9268% 13.7028 -69.7937);--brand-strong:lab(38.3281% 20.1351 -73.1586);--brand-soft:lab(94.1139% -2.54968 -12.6917);--navy:lab(3.19517% .567593 -11.3947);--navy-soft:lab(7.59118% -.380792 -12.3665);--success:lab(57.9933% -52.6627 24.473);--warning:lab(63.6482% 26.7959 77.9622);--danger:lab(49.2539% 63.2983 39.3808);--shadow-panel:0 1px 2px lab(5.19304% -.298686 -6.50336/.08),0 4px 14px lab(5.19304% -.298686 -6.50336/.05)}}.lab-tool-page{--tool-accent:#00697c}@supports (color:lab(0% 0 0)){.lab-tool-page{--tool-accent:lab(40.2363% -22.5515 -18.9513)}}.lab-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.lab-calculation-panel,.oligo-input-panel,.oligo-metrics-panel,.oligo-structure-panel,.qpcr-data-panel,.qpcr-curve-panel,.qpcr-results-panel,.plate-setup-panel,.plate-mix-panel,.plate-preview-panel{padding:22px}.lab-calculation-panel{align-content:start;gap:18px;display:grid}.lab-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.lab-field{min-width:0;color:var(--muted);gap:6px;font-size:11px;font-weight:650;display:grid}.lab-field>div{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.lab-field .input{border-radius:var(--radius-sm)0 0 var(--radius-sm);font-variant-numeric:tabular-nums;min-width:0}.lab-field em{border:1px solid var(--line);border-radius:0 var(--radius-sm)var(--radius-sm)0;min-width:58px;color:var(--muted);background:var(--surface-muted);border-left:0;place-items:center;padding:0 10px;font-size:10px;font-style:normal;display:grid}.lab-result-row{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:14px;display:grid}.lab-result{border:1px solid var(--brand);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3px 8px;min-height:84px;padding:13px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.lab-result{border:1px solid color-mix(in oklch,var(--brand)16%,var(--line))}}.lab-result{border-radius:var(--radius-md);background:var(--brand-soft)}@supports (color:color-mix(in lab, red, red)){.lab-result{background:color-mix(in oklch,var(--brand-soft)58%,var(--surface))}}.lab-result span{color:var(--muted);grid-column:1/-1;align-self:start;font-size:10px;font-weight:680}.lab-result strong{color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:22px;font-weight:720;overflow:hidden}.lab-result small{color:var(--brand-strong);padding-bottom:3px;font-size:10px;font-weight:680}.lab-segment{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);gap:3px;width:fit-content;padding:3px;display:flex}.lab-segment button{cursor:pointer;min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:11px;font-weight:680}.lab-segment button:hover,.lab-segment button.active{color:var(--brand-strong);background:var(--surface);box-shadow:0 1px 3px #12242e14}.lab-tool-footer{justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px 2px;display:flex}.lab-tool-footer p,.lab-method-note{color:var(--muted);margin:0;font-size:11px;line-height:1.65}.lab-panel-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.lab-panel-head h2,.lab-panel-head p{margin:0}.lab-panel-head h2{font-size:17px}.lab-panel-head p{color:var(--muted);margin-top:4px;font-size:12px}.oligo-layout{grid-template-columns:minmax(380px,.84fr) minmax(440px,1.16fr);align-items:start;gap:16px;display:grid}.oligo-input-panel{gap:16px;display:grid}.oligo-input-panel>label,.oligo-condition-grid label{color:var(--muted);gap:6px;font-size:11px;font-weight:650;display:grid}.oligo-sequence{text-transform:uppercase;min-height:96px;font-family:SFMono-Regular,Consolas,monospace;line-height:1.7}.oligo-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.oligo-results{gap:16px;display:grid}.oligo-metrics{border-radius:var(--radius-md);background:var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:18px 0 0;padding:1px;display:grid;overflow:hidden}.oligo-metrics div{background:var(--surface-muted);text-align:center;align-content:center;gap:6px;min-height:96px;padding:12px;display:grid}.oligo-metrics dt{color:var(--muted);font-size:10px}.oligo-metrics dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:21px;font-weight:720}.oligo-metrics small{color:var(--muted-light);margin-top:2px;font-size:9px;font-weight:600;display:block}.oligo-structure-panel{gap:10px;display:grid}.oligo-risk{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:12px;min-height:52px;padding:0 13px;display:grid}.oligo-risk span{font-size:12px;font-weight:650}.oligo-risk strong{font-variant-numeric:tabular-nums;font-size:12px}.oligo-risk em{min-height:24px;color:var(--success);background:#daf7e3;background:lab(94.7394% -12.4067 6.35767);border-radius:999px;place-items:center;font-size:9px;font-style:normal;font-weight:700;display:grid}.oligo-risk em[data-risk=中]{color:#885800;color:lab(41.7684% 19.1458 73.2966);background:#fff0d1;background:lab(95.5261% 2.02972 19.535)}.oligo-risk em[data-risk=高]{color:var(--danger);background:#ffecea;background:lab(95.0829% 9.19622 4.96011)}.qpcr-layout{grid-template-columns:minmax(560px,1.35fr) minmax(300px,.65fr);align-items:start;gap:16px;display:grid}.qpcr-data-panel,.qpcr-curve-panel{gap:16px;display:grid}.qpcr-table{gap:7px;display:grid}.qpcr-table-head,.qpcr-table-row{grid-template-columns:1.2fr 1fr .7fr .7fr 34px;align-items:center;gap:8px;display:grid}.qpcr-table-head{color:var(--muted);padding:0 5px;font-size:10px;font-weight:680}.qpcr-table-row .input{min-width:0;height:38px;font-size:11px}.qpcr-table-row button,.mix-table button{border-radius:var(--radius-sm);cursor:pointer;width:34px;height:34px;color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.qpcr-table-row button:hover,.mix-table button:hover{color:var(--danger);background:#ffecea;background:lab(95.0829% 9.19622 4.96011)}.qpcr-control-select{color:var(--muted);grid-template-columns:auto minmax(130px,220px);align-items:center;gap:10px;font-size:11px;display:grid}.qpcr-curve-input{min-height:168px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.75}.qpcr-curve-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.qpcr-curve-metrics div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);gap:4px;padding:12px;display:grid}.qpcr-curve-metrics dt{color:var(--muted);font-size:9px}.qpcr-curve-metrics dd{font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:720}.qpcr-results-panel{margin-top:16px}.qpcr-result-table{border:1px solid var(--line);border-radius:var(--radius-md);margin-top:14px;overflow-x:auto}.qpcr-result-table>div{border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;grid-template-columns:1.25fr 1fr repeat(3,.8fr);gap:12px;min-width:650px;padding:11px 14px;font-size:11px;display:grid}.qpcr-result-table>div:first-child{color:var(--muted);background:var(--surface-muted);font-size:10px}.qpcr-result-table>div:last-child{border-bottom:0}.plate-layout{grid-template-columns:minmax(350px,.72fr) minmax(560px,1.28fr);align-items:start;gap:16px;display:grid}.plate-editor-column,.plate-setup-panel,.plate-mix-panel{gap:16px;display:grid}.plate-setup-panel>label{color:var(--muted);gap:6px;font-size:11px;font-weight:650;display:grid}.plate-sample-input{min-height:130px;line-height:1.65}.plate-options{justify-content:space-between;align-items:center;gap:14px;display:flex}.plate-options>label:first-child{color:var(--muted);grid-template-columns:auto 72px;align-items:center;gap:8px;font-size:11px;display:grid}.plate-check{color:var(--ink);align-items:center;gap:7px;font-size:11px;font-weight:650;display:inline-flex}.plate-check input{accent-color:var(--brand-strong)}.mix-table{gap:7px;display:grid}.mix-table>div{grid-template-columns:minmax(110px,1fr) 84px 72px 34px;align-items:center;gap:8px;display:grid}.mix-table>div:first-child{color:var(--muted);font-size:9px;font-weight:680}.mix-table .input{min-width:0;height:38px;font-size:11px}.mix-table strong{text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.plate-overage{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:minmax(0,1fr) 76px auto;align-items:center;gap:7px;padding-top:13px;font-size:11px;display:grid}.plate-preview-panel{min-width:0;position:sticky;top:76px;overflow:hidden}.plate-grid{gap:3px;margin-top:18px;padding-bottom:7px;display:grid;overflow:auto}.plate-grid>span,.plate-grid>strong{min-width:22px;min-height:22px;color:var(--muted-light);border-radius:4px;place-items:center;font-size:7px;font-weight:650;display:grid}.plate-grid>span{border:1px solid var(--line);background:var(--surface-muted)}.plate-grid>span.filled{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.plate-grid>span.filled{border-color:color-mix(in oklch,var(--brand)40%,var(--line))}}.plate-grid>span.filled{color:var(--brand-strong);background:var(--brand-soft)}.plate-grid>span.control{color:#714400;color:lab(33.5793% 18.925 55.7825);background:#fff0d5;background:lab(95.4726% 2.21425 15.4397);border-color:#c29e6b;border-color:lab(67.553% 8.68043 31.9728)}.plate-grid-384>span,.plate-grid-384>strong{min-width:17px;min-height:17px;font-size:5px}.plate-legend{color:var(--muted);flex-wrap:wrap;gap:13px;margin-top:12px;font-size:10px;display:flex}.plate-legend span{align-items:center;gap:5px;display:inline-flex}.plate-legend i{border:1px solid var(--line);background:var(--surface-muted);border-radius:3px;width:10px;height:10px}.plate-legend i.sample{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.plate-legend i.sample{border-color:color-mix(in oklch,var(--brand)40%,var(--line))}}.plate-legend i.sample{background:var(--brand-soft)}.plate-legend i.control{background:#fff0d5;background:lab(95.4726% 2.21425 15.4397);border-color:#c29e6b;border-color:lab(67.553% 8.68043 31.9728)}.gel-quant-result{gap:8px;display:grid}.gel-quant-result svg{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;height:92px}.gel-quant-result line{stroke:var(--line-strong);stroke-width:.7px}.gel-quant-result polyline{fill:none;stroke:var(--brand-strong);stroke-width:1.4px;vector-effect:non-scaling-stroke}.gel-quant-result dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;display:grid}.gel-quant-result dl div{border:1px solid var(--line);background:var(--surface-muted);border-radius:6px;gap:2px;padding:7px;display:grid}.gel-quant-result dt{color:var(--muted);font-size:8px}.gel-quant-result dd{font-variant-numeric:tabular-nums;margin:0;font-size:11px;font-weight:720}@media (max-width:1040px){.oligo-layout,.qpcr-layout,.plate-layout{grid-template-columns:1fr}.plate-preview-panel{position:static}}@media (max-width:720px){.lab-tool-grid,.lab-fields,.oligo-condition-grid{grid-template-columns:1fr}.oligo-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.qpcr-table-head{display:none}.qpcr-table-row{border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:repeat(2,minmax(0,1fr)) 34px;padding:10px}.qpcr-table-row button{grid-area:1/3/span 2}.qpcr-control-select{grid-template-columns:1fr}.lab-tool-footer{flex-direction:column;align-items:stretch}}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:MiSans,HarmonyOS Sans SC,PingFang SC,Noto Sans CJK SC,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--brand)}@supports (color:color-mix(in lab, red, red)){:focus-visible{outline:3px solid color-mix(in oklch,var(--brand)32%,transparent)}}:focus-visible{outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell{min-height:100dvh}.sidebar{z-index:30;color:#9db0c7;color:lab(70.8907% -2.70998 -14.4161);background:var(--navy);flex-direction:column;width:256px;padding:24px 20px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand-lockup{color:#f6f9fc;color:lab(97.6703% -.411928 -1.83777);justify-content:center;align-items:center;padding:0 8px 28px;display:flex}.brand-logo-image{object-fit:contain;background:#ddf3f9;background:lab(94.3776% -6.80324 -5.47599);border-radius:10px;width:174px;height:58px;padding:6px 8px;box-shadow:0 2px 8px #00020738;box-shadow:0 2px 8px lab(.423008% .207126 -2.60996/.22)}.brand-mark{background:var(--brand);color:#f6f9fc;color:lab(97.6703% -.411928 -1.83777);border-radius:13px;place-items:center;width:48px;height:48px;font-size:24px;font-weight:800;display:grid}.brand-name{font-size:23px;font-weight:750;line-height:1;display:block}.brand-subtitle{white-space:nowrap;color:#8ba4c0;color:lab(66.2588% -4.27419 -17.5513);margin-top:7px;font-size:12px;display:block}.sidebar-nav{flex-direction:column;gap:7px;display:flex}.nav-link{color:#94a6be;color:lab(67.419% -2.91342 -14.3379);border-radius:10px;align-items:center;gap:14px;min-height:45px;padding:0 15px;font-size:14px;transition:background .16s,color .16s,transform .16s;display:flex}.nav-link:hover{background:var(--navy-soft);color:#f6f9fc;color:lab(97.6703% -.411928 -1.83777);transform:translate(2px)}.nav-link.active{color:#fbfcfd;color:lab(98.8362% -.166595 -.736153);background:var(--brand)}.sidebar-footer{gap:14px;margin-top:auto;display:grid}.storage-panel{background:var(--navy-soft);border-radius:12px;padding:16px}.storage-line{justify-content:space-between;align-items:center;font-size:12px;display:flex}.progress-track{background:#303845;background:lab(23.3447% -1.09814 -9.05751);border-radius:999px;height:6px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--brand);transform-origin:0;height:100%;transition:transform .22s}.profile-row{color:#f6f9fc;color:lab(97.6703% -.411928 -1.83777);border-top:1px solid #242c38;border-top:1px solid lab(17.5391% -.995815 -9.02221);align-items:center;gap:8px;padding-top:15px;display:flex}.profile-link{border-radius:9px;flex:1;align-items:center;gap:11px;min-width:0;display:flex}.profile-link>span:last-child{gap:3px;min-width:0;display:grid}.profile-link strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.profile-link small{color:#8ea0b8;color:lab(65.0881% -2.6623 -14.3968)}.profile-signout{cursor:pointer;color:#94a6be;color:lab(67.419% -2.91342 -14.3379);background:0 0;border:0;border-radius:9px;flex:none;place-items:center;width:36px;height:36px;display:grid}.profile-signout:hover{color:#fff;background:var(--navy-soft)}.avatar{background:var(--brand-strong);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.main-frame{min-height:100dvh;padding-left:256px}.topbar{z-index:20;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in oklch,var(--surface)94%,transparent)}}.topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1{margin:0;font-size:18px;font-weight:720}.topbar-actions{align-items:center;gap:12px;display:flex}.global-search{width:280px;height:40px;color:var(--muted-light);background:var(--surface-muted);border:1px solid #0000;border-radius:10px;align-items:center;gap:9px;padding:0 13px;display:flex}.global-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.content{width:min(100%,1560px);margin:0 auto;padding:28px 24px 64px}.page-intro{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.page-title{margin:0;font-size:28px;font-weight:760;line-height:1.25}.page-description{color:var(--muted);margin:7px 0 0;font-size:15px;line-height:1.6}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel)}.section-title{margin:0;font-size:18px;font-weight:720;line-height:1.35}.muted{color:var(--muted)}.subtle{color:var(--muted-light)}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-weight:650;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)}.button:disabled{cursor:not-allowed;opacity:.46;box-shadow:none;transform:none}.button-primary{color:#fbfcfd;color:lab(98.8362% -.166595 -.736153);background:var(--brand-strong);box-shadow:0 3px 8px #154fac2e;box-shadow:0 3px 8px lab(34.5795% 10.8658 -55.8389/.18)}.button-primary:hover{background:var(--brand)}.button-secondary{color:var(--ink);border-color:var(--line);background:var(--surface)}.button-secondary:hover{background:var(--surface-muted);border-color:#a7b9d1;border-color:lab(74.372% -2.73556 -14.4267)}.button-ghost{color:var(--muted);background:0 0}.button-ghost:hover{color:var(--brand-strong);background:var(--brand-soft)}.button-danger{color:var(--danger);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.button-danger{border-color:color-mix(in oklch,var(--danger)22%,var(--line))}}.button-danger{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.button-danger{background:color-mix(in oklch,var(--danger)5%,var(--surface))}}.button-sm{min-height:34px;padding:0 12px;font-size:13px}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;min-height:25px;padding:2px 10px;font-size:12px;font-weight:620;display:inline-flex}.badge-blue{color:var(--brand-strong);background:var(--brand-soft)}.badge-green{color:#007443;color:lab(42.6449% -46.4099 21.5701);background:#daf7e4;background:lab(94.7406% -12.6049 5.86338)}.badge-amber{color:#aa6400;color:lab(49.5811% 28.8773 81.6539);background:#ffefd5;background:lab(95.4523% 3.34349 17.282)}.badge-gray{color:var(--muted);background:var(--surface-muted)}.input{width:100%;min-height:42px;color:var(--ink);background:var(--surface);border:1px solid #bfccdb;border:1px solid lab(81.3995% -2.30494 -8.956);border-radius:9px;outline:none;padding:0 13px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.input:focus{box-shadow:0 0 0 3px color-mix(in oklch,var(--brand)13%,transparent)}}.input::placeholder{color:var(--muted-light)}.textarea{resize:vertical;min-height:110px;padding-block:12px}.field{gap:7px;display:grid}.field label{font-size:13px;font-weight:650}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-pill{border:1px solid var(--line);cursor:pointer;min-height:38px;color:var(--muted);background:var(--surface);border-radius:999px;padding:0 16px;transition:all .15s}.filter-pill:hover{color:var(--ink);border-color:#a4b6ce;border-color:lab(73.1922% -2.26346 -14.5442)}.filter-pill.active{color:#fff;border-color:var(--brand-strong);background:var(--brand-strong)}.empty-state{text-align:center;color:var(--muted);padding:56px 24px}.skeleton{background:#dde2e8;background:lab(89.5468% -.977516 -3.61105);border-radius:8px;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.mobile-menu{display:none}.dialog-overlay{z-index:60;background:#02060f80;background:lab(1.50818% .0164509 -4.0905/.5);animation:.15s ease-out fadeIn;position:fixed;inset:0}.dialog-content{z-index:61;border:1px solid var(--line);background:var(--surface);border-radius:16px;width:min(100vw - 24px,540px);max-height:calc(100dvh - 40px);animation:.19s cubic-bezier(.22,1,.36,1) dialogIn;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 24px 70px #0205113d;box-shadow:0 24px 70px lab(1.48411% .282519 -5.19811/.24)}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 20px;display:flex}.dialog-head h2{margin:0;font-size:20px}.dialog-head p{max-width:48ch;color:var(--muted);margin:7px 0 0;font-size:13px;line-height:1.55}.dialog-form{gap:18px;padding:24px;display:grid}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}@keyframes fadeIn{0%{opacity:0}}@keyframes dialogIn{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))scale(.985)}}@media (max-width:900px){.sidebar{transition:transform .22s cubic-bezier(.22,1,.36,1);transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:25;background:#03060d6b;background:lab(1.52065% -.00759214 -3.13168/.42);position:fixed;inset:0}.main-frame{padding-left:0}.topbar{height:64px;padding:0 16px}.mobile-menu{display:inline-flex}.global-search{display:none}.content{padding:24px 16px 48px}.page-intro{flex-direction:column;align-items:flex-start;margin-bottom:22px}.topbar .button-primary span{display:none}}@media (max-width:560px){.page-title{font-size:24px}.topbar-actions .badge{display:none}.content{padding-inline:12px}.button{min-height:42px}}.login-page{background:var(--surface-muted);grid-template-columns:minmax(480px,46%) 1fr;min-height:100dvh;display:grid}.login-brand{color:#f6f9fc;color:lab(97.6703% -.411928 -1.83777);background:var(--navy);place-items:center;min-height:100dvh;padding:64px 7vw;display:grid}.login-brand-inner{width:min(100%,560px)}.login-logo{align-items:center;gap:14px;font-size:27px;font-weight:760;display:flex}.login-brand h1{margin:82px 0 22px;font-size:clamp(46px,4vw,66px);font-weight:780;line-height:1.42}.login-brand>div>p{color:#8ca7c7;color:lab(67.3895% -4.2814 -19.3784);max-width:620px;margin:0;font-size:18px;line-height:1.75}.login-features{gap:28px;margin-top:72px;display:grid}.login-features>div{align-items:center;gap:16px;display:flex}.login-features>div>span{color:#5bb5ff;color:lab(70.6365% -10.7276 -46.2096);background:#172537;background:lab(13.9697% -1.15342 -14.0842);border-radius:10px;flex:none;place-items:center;width:42px;height:42px;display:grid}.login-features p{gap:5px;margin:0;display:grid}.login-features strong{font-size:16px}.login-features small{color:#839ebd;color:lab(63.9065% -4.2235 -19.3583);font-size:14px}.login-form-wrap{place-items:center;min-height:100dvh;padding:40px;display:grid}.login-form{gap:22px;width:min(100%,430px);display:grid}.login-form h2{margin:0;font-size:34px;line-height:1.2}.login-form>p:first-of-type{color:var(--muted);margin:-12px 0 18px;font-size:16px}.login-form .button{width:100%;min-height:48px;font-size:16px}.auth-icon{width:48px;height:48px;color:var(--brand-strong);background:var(--brand-soft);border-radius:13px;place-items:center;display:grid}.auth-caption{text-align:center;line-height:1.6;color:var(--muted-light)!important;margin:-8px 0 0!important;font-size:13px!important}.auth-back{cursor:pointer;color:var(--muted);background:0 0;border:0;justify-self:start;align-items:center;gap:7px;margin-bottom:4px;padding:0;font-weight:620;display:inline-flex}.auth-back:hover{color:var(--brand-strong)}.auth-resend{cursor:pointer;color:var(--brand-strong);background:0 0;border:0;justify-self:center;padding:2px 4px;font-weight:650}.auth-resend:disabled{cursor:default;color:var(--muted-light)}.otp-input{text-align:center;letter-spacing:9px;min-height:56px;font-size:25px;font-weight:720}.login-divider{color:var(--muted-light);align-items:center;gap:16px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.login-register{text-align:center;color:var(--muted);margin:2px 0 0}.login-register a{color:var(--brand-strong);font-weight:650}.profile-page{background:var(--surface-muted);place-items:center;min-height:100dvh;padding:40px 20px;display:grid}.profile-card{border:1px solid var(--line);background:var(--surface);border-radius:18px;width:min(100%,560px);padding:36px;box-shadow:0 18px 60px #0a121f1a;box-shadow:0 18px 60px lab(5.13221% -.0256523 -9.94164/.1)}.profile-brand{align-items:center;gap:13px;display:flex}.profile-brand .brand-mark{border-radius:12px;width:44px;height:44px}.profile-brand>span:last-child{gap:3px;display:grid}.profile-brand strong{font-size:20px}.profile-brand small{color:var(--muted)}.profile-progress{color:var(--muted-light);align-items:center;gap:10px;margin:36px 0 30px;font-size:13px;font-weight:650;display:flex}.profile-progress span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.profile-progress .done{color:var(--success)}.profile-progress .active{color:var(--brand-strong)}.profile-progress i{background:var(--line);flex:1;height:1px}.profile-card header h1{margin:0;font-size:30px}.profile-card header p{color:var(--muted);margin:10px 0 0;line-height:1.65}.profile-card form{gap:20px;margin-top:28px;display:grid}.profile-card form .field small{color:var(--muted-light);font-size:12px}.profile-card form label em{color:var(--muted-light);font-style:normal;font-weight:500}.profile-card form .input:disabled{color:var(--muted);background:var(--surface-muted)}.profile-card form .button{min-height:48px;margin-top:4px}.profile-footnote{color:var(--muted-light);text-align:center;margin:18px 0 0;font-size:12px}@media (max-width:560px){.profile-page{background:var(--surface);place-items:stretch stretch;padding:0}.profile-card{min-height:100dvh;box-shadow:none;border:0;border-radius:0;padding:28px 20px}.profile-card header h1{font-size:27px}}.dashboard-hello{justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 24px;display:flex}.dashboard-hello h2{margin:0;font-size:24px;line-height:1.25}.dashboard-hello p{color:var(--muted);margin:7px 0 0;font-size:14px}.metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.metric-panel{flex-direction:column;min-height:164px;padding:20px;display:flex}.metric-top{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.metric-icon{width:42px;height:42px;color:var(--brand-strong);background:var(--brand-soft);border-radius:11px;place-items:center;display:grid}.metric-panel strong{margin-top:16px;font-size:32px;line-height:1}.metric-panel small{color:var(--muted);margin-top:10px}.metric-panel .progress-track{background:#d7dfe8;background:lab(88.3788% -1.44121 -5.40311);margin-top:auto}.chart-grid{grid-template-columns:minmax(320px,1.22fr) minmax(220px,.76fr) minmax(270px,1fr);align-items:stretch;gap:16px;margin-top:16px;display:grid}.chart-panel{padding:22px}.activity-panel,.status-panel,.reagent-usage-panel{min-width:0}.chart-panel-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.reagent-usage-panel .chart-panel-head small{color:var(--muted-light);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.chart-empty{min-height:280px;color:var(--muted-light);place-items:center;font-size:13px;display:grid}.activity-range{background:var(--surface-muted);border-radius:8px;gap:3px;padding:3px;display:flex}.activity-range button{cursor:pointer;min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:11px;font-weight:650}.activity-range button.active{color:var(--brand-strong);background:var(--surface);box-shadow:0 1px 2px #0c121a14;box-shadow:0 1px 2px lab(5.19304% -.298686 -6.50336/.08)}.activity-block{flex-direction:column;min-height:248px;margin-top:16px;display:flex}.activity-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 14px;font-size:13px;display:flex}.activity-summary strong{color:var(--ink);font-weight:650}.activity-summary b{color:var(--brand-strong)}.heatmap-scroll{flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;padding:8px 0;display:flex;overflow-x:auto}.heatmap-months{width:calc(var(--heatmap-columns)*18px);grid-template-columns:repeat(var(--heatmap-columns),14px);height:22px;color:var(--muted-light);column-gap:4px;margin-left:28px;font-size:10px;display:grid}.heatmap-months span{white-space:nowrap}.heatmap-body{gap:8px;width:max-content;display:flex}.heatmap-days{width:20px;height:122px;color:var(--muted-light);grid-template-rows:repeat(4,1fr);font-size:10px;display:grid}.heatmap-days span{align-items:center;display:flex}.heatmap-grid{grid-template-rows:repeat(7,14px);grid-auto-columns:14px;grid-auto-flow:column;gap:4px;height:122px;display:grid}.heatmap-cell{background:#e0e5eb;background:lab(90.7068% -.977844 -3.61125);border-radius:3px;width:14px;height:14px;display:block}.heatmap-cell.level-1{background:#9de1ac;background:lab(83.9073% -30.1444 18.6266)}.heatmap-cell.level-2{background:#50bf72;background:lab(69.4294% -45.7628 28.6863)}.heatmap-cell.level-3{background:#009345;background:lab(53.3926% -52.5977 33.6015)}.heatmap-cell.level-4{background:#006b2e;background:lab(39.2072% -46.7043 30.1247)}.heatmap-legend{color:var(--muted-light);justify-content:flex-end;align-items:center;gap:4px;margin-top:8px;font-size:10px;display:flex}.recent-panel{margin-top:16px;overflow:hidden}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:64px;padding:0 22px;display:flex}.panel-head a{color:var(--brand-strong);font-size:14px;font-weight:620}.recent-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:14px 22px;transition:background .15s;display:flex}.recent-row:last-child{border-bottom:0}.recent-row:hover{background:var(--surface-muted)}.recent-row>div{gap:5px;min-width:0;display:grid}.recent-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.recent-row span{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;overflow:hidden}@media (max-width:1320px){.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:980px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1120px){.chart-grid{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.activity-panel{grid-column:1/-1}}@media (max-width:720px){.dashboard-hello{flex-direction:column;align-items:flex-start}.metric-grid,.chart-grid{grid-template-columns:1fr}.activity-panel{grid-column:auto}.metric-panel{min-height:152px}.chart-panel-head{flex-direction:column;align-items:flex-start}.reagent-usage-panel .chart-panel-head{flex-direction:row}.heatmap-scroll{align-items:flex-start}}.info-banner{color:var(--brand-strong);background:var(--brand-soft);border:1px solid #9bc5f4;border:1px solid lab(77.7609% -6.11886 -27.8432);border-radius:10px;margin:-8px 0 22px;padding:13px 16px;font-size:13px}.protocol-library{gap:34px;display:grid}.protocol-library .info-banner{margin-bottom:-10px}.protocol-section{gap:18px;display:grid}.protocol-section-row{justify-content:space-between;align-items:center;gap:22px;display:flex}.protocol-section-title{align-items:center;gap:13px;display:flex}.protocol-section-title>span{color:var(--brand-strong)}.protocol-section-title h2{margin:0;font-size:21px}.protocol-section-title p{color:var(--muted);margin:4px 0 0;font-size:13px}.protocol-section-actions{align-items:center;gap:10px;display:flex}.protocol-categories{margin-top:-5px}.list-search{width:310px;height:42px;color:var(--muted-light);background:var(--surface);border:1px solid #b9c6d4;border:1px solid lab(79.0792% -2.29949 -8.9534);border-radius:10px;flex:none;align-items:center;gap:9px;padding:0 13px;display:flex}.list-search input{background:0 0;border:0;outline:0;width:100%;min-width:0}.protocol-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;display:grid}.protocol-card{flex-direction:column;min-height:200px;padding:20px;transition:transform .17s,border-color .17s,box-shadow .17s;display:flex}.protocol-card:hover{border-color:#a9c0de;border-color:lab(76.6557% -3.24371 -17.9628);transform:translateY(-2px);box-shadow:0 10px 24px #0c172314;box-shadow:0 10px 24px lab(7.10301% -.987217 -10.464/.08)}.protocol-card-title{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.protocol-card-badges{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.protocol-card h3{margin:0;font-size:18px;line-height:1.4}.protocol-card>p{color:var(--muted);margin:10px 0 0;line-height:1.6}.protocol-meta{color:var(--muted-light);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;display:flex}.protocol-meta span{align-items:center;gap:5px;display:inline-flex}.protocol-meta .protocol-public-code{color:var(--brand-strong);background:var(--brand-soft);border-radius:5px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:650}.protocol-card-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;display:flex}.protocol-card-foot a{color:var(--brand-strong);font-weight:650}.protocol-card-actions,.protocol-review-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.protocol-review-actions .button{white-space:nowrap;min-height:40px}.protocol-empty{text-align:center;color:var(--muted);box-shadow:none;border-style:dashed;padding:34px 24px}.protocol-code-opener{border:1px solid var(--line);background:var(--surface);border-radius:11px;grid-template-columns:minmax(220px,1fr) minmax(260px,.8fr) auto;align-items:center;gap:14px;margin-bottom:18px;padding:15px 18px;display:grid}.protocol-code-opener>div{gap:3px;display:grid}.protocol-code-opener>div span{color:var(--muted);font-size:12px}.protocol-code-opener label{border:1px solid var(--line-strong);min-height:40px;color:var(--muted);background:var(--surface-muted);border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.protocol-code-opener input{width:100%;min-width:0;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:0}.back-link{color:var(--muted);align-items:center;gap:7px;margin-bottom:20px;display:inline-flex}.back-link:hover{color:var(--brand-strong)}.protocol-hero{justify-content:space-between;align-items:center;gap:28px;padding:28px;display:flex}.protocol-hero-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.protocol-hero h2{margin:0;font-size:26px}.protocol-hero p{color:var(--muted);margin:13px 0 0;font-size:16px;line-height:1.6}.protocol-summary{color:var(--muted-light);flex-wrap:wrap;gap:20px;margin-top:18px;font-size:13px;display:flex}.protocol-summary span{align-items:center;gap:6px;display:inline-flex}.protocol-create{white-space:nowrap;min-height:50px;padding-inline:22px}.protocol-actions{flex:none;gap:10px;width:min(100%,390px);display:grid}.protocol-manage-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.protocol-manage-actions .protocol-edit{width:auto}.protocol-manage-actions .button{white-space:nowrap}.protocol-name-input{margin-top:14px}.protocol-meta-fields{grid-template-columns:minmax(0,1.7fr) minmax(180px,.7fr);gap:12px;margin-top:14px;display:grid}.protocol-meta-fields .protocol-name-input{margin-top:0}.protocol-description-editor{color:var(--muted);grid-column:1/-1;gap:7px;font-size:12px;font-weight:650;display:grid}.protocol-description-editor .textarea{resize:vertical;min-height:92px;font-weight:400}.confirm-dialog{width:min(100vw - 24px,480px)}.confirm-dialog-body{align-items:flex-start;gap:12px;padding:24px;display:flex}.confirm-dialog-body svg{color:var(--danger);flex:none}.confirm-dialog-body p{margin:0;line-height:1.65}.confirm-dialog-actions{padding:0 24px 22px}.protocol-actions .protocol-create,.protocol-edit{width:100%}.protocol-print-actions{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.protocol-print-actions .button{white-space:nowrap;padding-inline:9px}.protocol-detail-grid{grid-template-columns:minmax(0,1.85fr) minmax(320px,.9fr);align-items:start;gap:18px;margin-top:18px;display:grid}.protocol-side{gap:18px;display:grid}.steps-panel,.materials-panel,.environment-panel{padding:26px}.protocol-step-head{border-bottom:1px solid var(--line);color:var(--muted-light);grid-template-columns:54px 106px 1fr;gap:14px;margin-top:24px;padding:0 12px 14px;font-size:12px;font-weight:650;display:grid}.protocol-step-list{margin:0;padding:0;list-style:none}.protocol-step-list li{border-bottom:1px solid var(--line);grid-template-columns:54px 106px 1fr;gap:14px;padding:22px 12px;display:grid}.protocol-step-list li.without-duration{grid-template-columns:54px 106px 1fr}.protocol-step-list li.without-duration>.step-content{grid-column:3}.protocol-step-list li:last-child{border-bottom:0;padding-bottom:4px}.protocol-step-list li.substep{border-left:2px solid var(--brand-soft);margin-left:28px}.protocol-step-list small{color:var(--brand-strong);align-items:flex-start;gap:6px;padding-top:8px;font-size:13px;display:flex}.protocol-step-list h4{margin:3px 0 7px;font-size:16px}.protocol-step-list p{color:#304158;color:lab(26.721% -1.52841 -16.0252);margin:0;line-height:1.7}.step-content{min-width:0}.step-kind-line{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:7px;display:flex}.record-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.record-fields span{border:1px solid var(--line);color:var(--muted);border-radius:8px;gap:8px;padding:9px 11px;font-size:12px;display:grid}.record-fields i{background:#b5bfcb;background:lab(76.7691% -1.87236 -7.17877);height:1px}.environment-panel .section-title{align-items:center;gap:9px;display:flex}.environment-panel .section-title svg{color:var(--brand-strong)}.environment-panel dl{gap:15px;margin:22px 0 0;display:grid}.environment-panel dl>div{grid-template-columns:105px 1fr;gap:10px;display:grid}.environment-panel dt{color:var(--muted-light);align-items:flex-start;gap:7px;display:flex}.environment-panel dt svg{color:#809bba;color:lab(62.7454% -4.20302 -19.3514);flex:none}.environment-panel dd{color:#2d3b4f;color:lab(24.4284% -1.45678 -14.2709);margin:0;line-height:1.5}.environment-note{color:var(--brand-strong);background:var(--brand-soft);border-radius:9px;align-items:flex-start;gap:8px;margin:20px 0 0;padding:11px 13px;font-size:12px;line-height:1.5;display:flex}.environment-note svg{flex:none}.material-group{margin-top:22px}.material-group h4{align-items:center;gap:8px;margin:0 0 10px;font-size:14px;display:flex}.material-group h4 svg{color:var(--brand-strong)}.material-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.material-card{border:1px solid var(--line);background:var(--surface-muted);border-radius:10px;gap:4px;min-width:0;padding:12px;display:grid}.material-card strong{overflow-wrap:anywhere;font-size:13px;line-height:1.45}.material-card span{color:var(--muted);font-size:11px;line-height:1.4}.material-catalog-link{width:fit-content;color:var(--brand-strong);text-decoration:underline;-webkit-text-decoration-color:var(--brand);-webkit-text-decoration-color:var(--brand);-webkit-text-decoration-color:var(--brand);text-decoration-color:var(--brand);align-items:center;gap:4px;font-size:11px;line-height:1.4;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.material-catalog-link{-webkit-text-decoration-color:color-mix(in oklch,var(--brand)30%,transparent);-webkit-text-decoration-color:color-mix(in oklch,var(--brand)30%,transparent);-webkit-text-decoration-color:color-mix(in oklch,var(--brand)30%,transparent);text-decoration-color:color-mix(in oklch,var(--brand)30%,transparent)}}.material-catalog-link{text-underline-offset:2px}.material-catalog-link:hover{color:var(--brand);text-decoration-color:currentColor}.material-catalog-link:active{transform:scale(.98)}.material-catalog-link:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}.print-check{display:none}.step-data-table{max-width:100%;margin-top:12px;overflow-x:auto}.step-data-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:12px}.step-data-table th,.step-data-table td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 9px}.step-data-table th{color:var(--muted);background:var(--surface-muted);font-weight:650}.table-write-line{border-bottom:1px solid #a5afbb;border-bottom:1px solid lab(70.9686% -1.86241 -7.17384);min-width:36px;height:15px;display:block}.timeline{gap:0;margin:26px 0 0;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";background:#c0d7f2;background:lab(84.8313% -3.84909 -15.9868);width:1px;position:absolute;top:20px;bottom:20px;left:20px}.timeline li{grid-template-columns:44px 1fr;gap:16px;padding-bottom:34px;display:grid;position:relative}.timeline li:last-child{padding-bottom:0}.step-index{z-index:1;width:fit-content;min-width:42px;height:42px;color:var(--brand-strong);background:var(--surface);border:2px solid #9bc9fa;border:2px solid lab(78.9016% -6.36679 -29.5435);border-radius:999px;place-items:center;padding:0 7px;font-weight:750;display:grid}.references-panel{padding:24px}.references-panel .section-title{align-items:center;gap:8px;display:flex}.references-panel .section-title svg{color:var(--brand-strong)}.references-panel ol{color:var(--muted);overflow-wrap:anywhere;gap:9px;margin:16px 0 0;padding-left:22px;font-size:12px;line-height:1.65;display:grid}.timeline h4{margin:3px 0 7px;font-size:17px}.timeline p{color:#304158;color:lab(26.721% -1.52841 -16.0252);margin:0;line-height:1.7}.timeline small{color:var(--muted-light);align-items:center;gap:6px;margin-top:10px;display:flex}.step-note{color:#ab5f00;color:lab(48.3156% 32.1424 92.9878);background:#fff1da;background:lab(96.0254% 2.91106 15.3096);border-radius:9px;align-items:flex-start;gap:9px;margin-top:12px;padding:11px 13px;font-size:13px;display:flex}.material-list{margin-top:24px}.material-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:15px 0;display:flex}.material-list strong{color:var(--muted-light);text-align:right;font-weight:520}.tag-list{flex-wrap:wrap;gap:7px;margin-top:26px;display:flex}.protocol-print-header,.print-brand-logo,.protocol-print-border,.compact-section-title,.protocol-record-sheet{display:none}.protocol-editor-dialog{width:min(100vw - 24px,1240px)}.protocol-editor-body{background:var(--surface-muted);gap:22px;max-height:calc(100dvh - 210px);padding:22px 24px;display:grid;overflow-y:auto}.editor-section{border:1px solid var(--line);background:var(--surface);border-radius:13px;padding:20px}.editor-section-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.editor-section-head h3{margin:0;font-size:18px}.editor-section-head p{color:var(--muted);margin:5px 0 0;font-size:12px}.material-catalog-picker{margin-top:18px;position:relative}.material-catalog-search{border:1px solid var(--line-strong);min-height:44px;color:var(--muted);background:var(--surface);border-radius:9px;align-items:center;gap:9px;padding:0 13px;display:flex}.material-catalog-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.material-catalog-search:focus-within{box-shadow:0 0 0 3px color-mix(in oklch,var(--brand)12%,transparent)}}.material-catalog-search input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:13px}.material-catalog-results{z-index:5;border:1px solid var(--line);background:var(--surface);max-height:280px;box-shadow:0 14px 34px var(--ink);border-radius:10px;padding:5px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.material-catalog-results{box-shadow:0 14px 34px color-mix(in oklch,var(--ink)14%,transparent)}}.material-catalog-results>p{color:var(--muted);text-align:center;margin:0;padding:18px;font-size:12px}.material-catalog-results button{width:100%;min-height:50px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;padding:8px 10px;display:flex}.material-catalog-results button:hover{background:var(--brand-soft)}.material-catalog-results button:disabled{cursor:default;opacity:.55}.material-catalog-results button>span{gap:4px;min-width:0;display:grid}.material-catalog-results strong,.material-catalog-results small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-catalog-results strong{font-size:13px}.material-catalog-results small{color:var(--muted);font-size:11px}.material-catalog-results em{color:var(--brand-strong);flex:none;font-size:11px;font-style:normal;font-weight:700}.editor-material-list,.editor-step-list{gap:10px;margin-top:14px;display:grid}.editor-step-list{gap:0}.editor-step-unit{display:grid}.editor-material-row{grid-template-columns:1.35fr .7fr .7fr 1fr 1fr 38px;align-items:center;gap:8px;display:grid}.editor-remove{width:36px;min-height:36px;color:var(--danger);padding:0}.step-add-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.editor-step-card{border:1px solid var(--line);background:var(--surface-muted);border-radius:11px;padding:15px}.editor-step-card>header{align-items:center;gap:9px;display:flex}.editor-step-order-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.editor-step-order-actions .button{width:36px;min-height:36px;padding:0}.editor-step-order-actions .button:disabled{opacity:.32}.editor-step-order-actions .editor-remove{margin-left:3px}.editor-step-number{min-width:28px;height:28px;color:var(--brand-strong);background:var(--brand-soft);border-radius:999px;place-items:center;padding:0 7px;font-size:12px;font-weight:720;display:grid}.editor-step-order-actions .step-level-action{width:auto;color:var(--brand-strong);padding:0 8px;font-size:11px}.editor-step-fields{grid-template-columns:1fr 150px;gap:9px;margin-top:12px;display:grid}.editor-step-fields .textarea{grid-column:1/-1;min-height:78px}.editor-step-fields .textarea~.input{grid-column:1/-1}.step-editor-workspace{grid-column:1/-1;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);align-items:start;gap:12px;display:grid}.step-writing-pane{gap:8px;display:grid}.step-writing-pane>label{color:var(--muted);font-size:11px;font-weight:700}.step-writing-pane>.textarea{resize:vertical;background:var(--surface);min-height:210px;font-size:14px;line-height:1.75}.protocol-rich-editor{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.protocol-rich-editor:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.protocol-rich-editor:focus-within{box-shadow:0 0 0 3px color-mix(in oklch,var(--brand)14%,transparent)}}.protocol-rich-editor-content{min-height:210px;color:var(--ink);white-space:pre-wrap;outline:none;padding:12px 13px;font-size:14px;line-height:1.75}.protocol-rich-editor-content p{margin:0 0 8px}.protocol-rich-editor-content p:last-child{margin-bottom:0}.protocol-rich-editor-content p.is-editor-empty:first-child:before{float:left;height:0;color:var(--muted-light);content:attr(data-placeholder);pointer-events:none}.protocol-rich-editor>small{border-top:1px solid var(--line);color:var(--muted);background:var(--surface-muted);padding:7px 12px;font-size:10px;display:block}.protocol-rich-entity{border:1px solid var(--brand);padding:1px 5px;display:inline}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity{border:1px solid color-mix(in oklch,var(--brand)24%,var(--line))}}.protocol-rich-entity{color:var(--brand-strong);background:var(--brand-soft);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity{background:color-mix(in oklch,var(--brand-soft)58%,var(--surface))}}.protocol-rich-entity{font-weight:680;line-height:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone}.protocol-rich-entity-reagent{border-color:#1a6e7c}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-reagent{border-color:color-mix(in oklch,#1a6e7c 28%,var(--line))}}.protocol-rich-entity-reagent{color:#1a6e7c;background:#1a6e7c}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-reagent{background:color-mix(in oklch,#1a6e7c 8%,var(--surface))}}.protocol-rich-entity-consumable{border-color:#12242e}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-consumable{border-color:color-mix(in oklch,#12242e 20%,var(--line))}}.protocol-rich-entity-consumable{color:#12242e;background:#12242e}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-consumable{background:color-mix(in oklch,#12242e 6%,var(--surface))}}.protocol-rich-entity-instrument{border-color:#1e3a5f}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-instrument{border-color:color-mix(in oklch,#1e3a5f 28%,var(--line))}}.protocol-rich-entity-instrument{color:#1e3a5f;background:#1e3a5f}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-instrument{background:color-mix(in oklch,#1e3a5f 8%,var(--surface))}}.protocol-rich-entity-temperature{border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-temperature{border-color:color-mix(in oklch,var(--warning)30%,var(--line))}}.protocol-rich-entity-temperature{color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-temperature{color:color-mix(in oklch,var(--warning)76%,var(--ink))}}.protocol-rich-entity-temperature{background:var(--warning)}@supports (color:color-mix(in lab, red, red)){.protocol-rich-entity-temperature{background:color-mix(in oklch,var(--warning)10%,var(--surface))}}.protocol-rich-entity-duration{color:var(--muted);background:var(--surface-muted)}.protocol-step-rich-content{color:var(--muted);white-space:pre-wrap;margin:0;font-size:13px;line-height:1.7}.protocol-rich-line{display:block}.protocol-rich-line+.protocol-rich-line{margin-top:4px}.step-component-stream{gap:9px;display:grid}.step-component-stream:empty{display:none}.step-component-stream .step-component-block{background:var(--surface-muted)}@supports (color:color-mix(in lab, red, red)){.step-component-stream .step-component-block{background:color-mix(in oklch,var(--surface-muted)68%,var(--surface))}}.step-components-pane{gap:10px;min-width:0;display:grid;position:sticky;top:0}.step-components-pane .step-component-options{grid-template-columns:repeat(2,minmax(0,1fr))}.step-component-selection{border:1px solid var(--brand);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px 9px;display:grid}@supports (color:color-mix(in lab, red, red)){.step-component-selection{border:1px solid color-mix(in oklch,var(--brand)22%,var(--line))}}.step-component-selection{background:var(--brand-soft);border-radius:7px}.step-component-selection span{color:var(--brand-strong);font-size:10px;font-weight:720}.step-component-selection strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.step-insert-control{place-items:center;min-height:38px;display:grid;position:relative}.step-insert-control>button{cursor:pointer;min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.step-insert-control>button:hover,.step-insert-control.open>button{color:var(--brand-strong);background:var(--brand-soft)}.step-insert-control>button:active{transform:scale(.97)}.step-insert-types{z-index:3;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 24px var(--ink);border-radius:9px;flex-wrap:wrap;justify-content:center;gap:6px;margin:2px 0 9px;padding:8px;display:flex}@supports (color:color-mix(in lab, red, red)){.step-insert-types{box-shadow:0 8px 24px color-mix(in oklch,var(--ink)9%,transparent)}}.step-insert-types button{border:1px solid var(--line);cursor:pointer;min-height:36px;color:var(--ink);background:var(--surface);border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:11px;font-weight:650;display:inline-flex}.step-insert-types button:hover{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.step-insert-types button:hover{border-color:color-mix(in oklch,var(--brand)28%,var(--line))}}.step-insert-types button:hover{color:var(--brand-strong);background:var(--brand-soft)}.step-insert-types button:active{transform:scale(.97)}.step-component-palette{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.step-component-palette-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.step-component-palette-head>div{gap:2px;display:grid}.step-component-palette-head strong{font-size:13px}.step-component-palette-head small,.step-component-palette-head>span{color:var(--muted);font-size:11px}.step-component-palette-head>span{background:var(--surface-muted);font-variant-numeric:tabular-nums;border-radius:999px;padding:3px 7px}.step-component-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.step-component-options>button{border:1px solid var(--line);cursor:pointer;min-height:58px;color:var(--brand-strong);background:var(--surface);text-align:left;border-radius:8px;grid-template-columns:24px minmax(0,1fr) 16px;align-items:center;gap:7px;padding:8px 9px;display:grid}.step-component-options>button>span{gap:2px;min-width:0;display:grid}.step-component-options>button strong{color:var(--ink);font-size:11px}.step-component-options>button small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.35;overflow:hidden}.step-component-options>button:hover:not(:disabled){border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.step-component-options>button:hover:not(:disabled){border-color:color-mix(in oklch,var(--brand)32%,var(--line))}}.step-component-options>button:hover:not(:disabled){background:var(--brand-soft)}.step-component-options>button:active:not(:disabled){transform:scale(.98)}.step-component-options>button:disabled{cursor:default;color:var(--muted-light);background:var(--surface-muted);opacity:.72}.step-material-picker .material-catalog-search select{border:1px solid var(--line);min-height:30px;color:var(--ink);background:var(--surface);border-radius:6px;outline:none;padding:0 7px;font-size:11px}.step-material-picker .material-catalog-search select:focus-visible{border-color:var(--brand)}.step-component-block{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-column:1/-1;overflow:hidden}.step-component-block>header{border-bottom:1px solid var(--line);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:0 11px;display:flex}.step-component-block>header>span{color:var(--brand-strong);align-items:center;gap:7px;display:inline-flex}.step-component-block>header strong{color:var(--ink);font-size:11px}.step-component-block>header .button{width:32px;min-height:32px;color:var(--muted);padding:0}.step-component-block>div{padding:11px}.step-component-block>div>.input,.step-component-block>div>.textarea{width:100%}.step-component-block .step-material-editor{border:0;padding:0}.step-component-block .step-table-editor{grid-column:auto}.protocol-duration-total{border:1px solid var(--line-strong);min-height:42px;color:var(--muted);background:var(--surface-muted);border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:0 13px;display:grid}.protocol-duration-total svg{color:var(--brand-strong)}.protocol-duration-total span,.protocol-duration-total strong{white-space:nowrap}.protocol-duration-total strong{color:var(--ink);font-size:14px}.step-material-editor{border:1px solid var(--line);background:var(--surface);border-radius:9px;grid-column:1/-1;gap:10px;padding:12px;display:grid}.step-material-toolbar{align-items:center;gap:7px;display:flex}.step-material-toolbar>strong{margin-right:auto;font-size:12px}.step-material-picker{margin-top:0}.step-material-results{box-shadow:0 8px 22px var(--ink);margin-top:6px;position:static}@supports (color:color-mix(in lab, red, red)){.step-material-results{box-shadow:0 8px 22px color-mix(in oklch,var(--ink)10%,transparent)}}.step-material-list{gap:7px;display:grid}.step-material-row{grid-template-columns:105px minmax(180px,1fr) 150px 36px;align-items:center;gap:7px;display:grid}.step-material-mention{color:var(--brand-strong);text-overflow:ellipsis;white-space:nowrap;grid-column:2/-1;font-size:10px;overflow:hidden}.step-inline-components{flex-wrap:wrap;align-items:center;gap:6px;margin-left:6px;display:inline-flex}.step-inline-reagent,.step-inline-fact{border:1px solid var(--brand);align-items:center;gap:4px;padding:2px 6px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.step-inline-reagent,.step-inline-fact{border:1px solid color-mix(in oklch,var(--brand)18%,var(--line))}}.step-inline-reagent,.step-inline-fact{color:var(--ink);background:var(--brand-soft);border-radius:5px}@supports (color:color-mix(in lab, red, red)){.step-inline-reagent,.step-inline-fact{background:color-mix(in oklch,var(--brand-soft)48%,var(--surface))}}.step-inline-reagent,.step-inline-fact{white-space:nowrap;font-size:11px;line-height:1.45}.step-inline-reagent>svg{color:var(--brand-strong)}.step-inline-reagent strong,.step-inline-fact strong{font-size:inherit;font-weight:650}.step-inline-fact svg{color:var(--brand-strong)}.step-block-components{gap:8px;margin-top:10px;display:grid}.protocol-material-summary-list{border-top:1px solid var(--line);gap:0;margin-top:14px;display:grid}.protocol-material-summary-list>div{border-bottom:1px solid var(--line);grid-template-columns:78px minmax(0,1fr) minmax(100px,auto);align-items:center;gap:12px;padding:11px 0;display:grid}.protocol-material-summary-list strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.protocol-material-summary-list span{color:var(--muted);text-align:right;font-size:12px}.protocol-reference-editor .textarea{resize:vertical;min-height:120px;margin-top:14px;line-height:1.65}.protocol-share-dialog{width:min(100vw - 24px,680px)}.protocol-share-content{grid-template-columns:240px minmax(0,1fr);gap:22px;padding:24px;display:grid}.protocol-share-qr{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;gap:6px;padding:10px;display:grid}.protocol-share-qr img{width:200px;height:200px}.protocol-share-qr>svg,.protocol-share-qr>span{color:var(--muted);font-size:11px}.protocol-share-fields{align-content:center;gap:16px;display:grid}.protocol-share-fields label{color:var(--muted);gap:7px;font-size:12px;display:grid}.protocol-share-fields label>div{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;grid-template-columns:minmax(0,1fr) 38px;align-items:center;min-width:0;display:grid;overflow:hidden}.protocol-share-fields strong,.protocol-share-fields input{min-width:0;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:10px 12px;font-size:14px}.protocol-share-fields button{border:0;border-left:1px solid var(--line);width:38px;height:38px;color:var(--brand-strong);cursor:pointer;background:0 0;place-items:center;display:grid}.step-table-editor{grid-column:1/-1;gap:10px;display:grid}.step-table-scroll{border:1px solid var(--line);background:var(--surface);border-radius:9px;overflow-x:auto}.step-table-editor table{border-collapse:collapse;width:100%;min-width:680px}.step-table-editor th,.step-table-editor td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:110px;padding:0}.step-table-editor th:last-child,.step-table-editor td:last-child{border-right:0}.step-table-editor tbody tr:last-child td{border-bottom:0}.step-table-editor th{height:40px;color:var(--muted);background:var(--surface-muted);text-align:left;padding:7px 9px;font-size:11px}.step-table-editor th span{margin-right:6px}.step-table-editor th button{float:right;cursor:pointer;width:20px;height:20px;color:var(--danger);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:inline-grid}.step-table-editor td input{background:0 0;border:0;outline:0;width:100%;min-height:38px;padding:7px 9px}.step-table-editor td input:focus{box-shadow:inset 0 0 0 2px var(--brand)}@supports (color:color-mix(in lab, red, red)){.step-table-editor td input:focus{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--brand)38%,transparent)}}.step-table-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.step-table-actions>div{gap:7px;display:flex}.step-table-actions .input{width:180px;height:34px}.protocol-editor-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:16px 24px;display:flex}.print-dialog{width:min(100vw - 24px,620px)}.paper-options{grid-template-columns:repeat(3,1fr);gap:12px;padding:24px;display:grid}.paper-option{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:12px;justify-items:center;gap:6px;padding:16px 10px;display:grid;position:relative}.paper-option.active{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand)}@supports (color:color-mix(in lab, red, red)){.paper-option.active{box-shadow:0 0 0 3px color-mix(in oklch,var(--brand)12%,transparent)}}.paper-option input{opacity:0;pointer-events:none;position:absolute}.paper-preview{background:#fff;border:1px solid #acb9c7;border:1px solid lab(74.4386% -2.28778 -8.94781);border-radius:3px;width:62px;height:82px;box-shadow:0 3px 8px #11161f14;box-shadow:0 3px 8px lab(7.13753% -.43682 -7.17928/.08)}.paper-preview.b5{width:58px;height:82px}.paper-preview.custom{width:54px;height:84px}.paper-option strong{margin-top:5px;font-size:13px}.paper-option small{color:var(--muted);font-size:11px}.print-dialog-actions{padding:0 24px 22px}.protocol-import-dialog{width:min(100vw - 24px,680px)}.protocol-import-body{gap:16px;padding:22px 24px;display:grid}.protocol-schema-note{border:1px solid var(--line);background:var(--surface-muted);border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:15px;display:grid}.protocol-schema-note>svg{color:var(--brand-strong)}.protocol-schema-note p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.55}.protocol-file-drop{cursor:pointer;min-height:150px;color:var(--muted);background:var(--surface);text-align:center;border:1px dashed #93a7be;border:1px dashed lab(67.4387% -3.37419 -14.1912);border-radius:12px;align-content:center;place-items:center;gap:7px;padding:20px;display:grid}.protocol-file-drop:hover{border-color:var(--brand);background:var(--brand-soft)}@supports (color:color-mix(in lab, red, red)){.protocol-file-drop:hover{background:color-mix(in oklch,var(--brand-soft)45%,var(--surface))}}.protocol-file-drop.valid{border-color:var(--success);background:#eefbf2;background:lab(97.3444% -5.65112 2.6293)}.protocol-file-drop.invalid{border-color:var(--danger);background:#fff4f2;background:lab(96.9344% 5.50759 2.96432)}.protocol-file-drop strong{color:var(--ink)}.protocol-file-drop span{font-size:12px}.protocol-file-drop input{opacity:0;width:1px;height:1px;position:absolute}.protocol-file-error{color:var(--danger);margin:-6px 0 0;font-size:12px}.protocol-import-actions{padding:0 24px 22px}@media (max-width:1100px){.protocol-section-row{flex-direction:column;align-items:stretch}.protocol-section-actions{width:100%}.protocol-section-actions .list-search{flex:1}.protocol-detail-grid{grid-template-columns:1fr}}@media (max-width:760px){.protocol-hero{flex-direction:column;align-items:stretch;padding:20px}.protocol-actions,.protocol-create{width:100%}.protocol-print-actions{grid-template-columns:1fr}.protocol-section-actions{flex-direction:column;align-items:stretch}.list-search{width:100%}.steps-panel,.materials-panel,.environment-panel,.references-panel{padding:20px}.environment-panel dl,.protocol-grid{grid-template-columns:1fr}.protocol-step-head{display:none}.protocol-step-list li{grid-template-columns:44px 1fr;padding-inline:0}.protocol-step-list li.substep{margin-left:12px;padding-left:10px}.protocol-step-list li>small{grid-area:1/2;justify-self:end}.protocol-step-list li>div{grid-column:2}.record-fields{grid-template-columns:1fr}.protocol-editor-body{padding:14px}.editor-section{padding:15px}.editor-section-head{flex-direction:column}.editor-material-row{grid-template-columns:1fr 1fr 38px}.editor-material-row>:nth-child(4),.editor-material-row>:nth-child(5){grid-column:span 1}.editor-step-fields{grid-template-columns:1fr}.editor-step-fields .textarea,.editor-step-fields .textarea~.input{grid-column:1}.step-component-options{grid-template-columns:repeat(2,minmax(0,1fr))}.step-material-toolbar{flex-direction:column;align-items:stretch}.step-material-toolbar>strong{margin:0 0 2px}.step-material-toolbar .button{width:100%}.step-material-row{grid-template-columns:1fr 1fr 36px}.step-material-row>:first-child{grid-column:1}.step-material-row>:nth-child(2){grid-area:1/2/auto/-1}.step-material-row>:nth-child(3){grid-column:1/3}.step-material-row>:last-child{grid-column:3}.protocol-material-summary-list>div{grid-template-columns:72px 1fr}.protocol-material-summary-list span{text-align:left;grid-column:2}.step-table-actions{flex-direction:column;align-items:stretch}.step-table-actions>div{width:100%}.step-table-actions .input{width:100%;min-width:0}.paper-options{grid-template-columns:1fr}.paper-option{grid-template-columns:auto 1fr;place-items:center start}.paper-preview{grid-row:span 2}.protocol-share-content{grid-template-columns:1fr}.print-image-settings article{grid-template-columns:92px minmax(0,1fr)}.step-material-row>.editor-remove{grid-area:2/3}.step-material-row>.step-material-mention{grid-area:3/1/auto/3}.protocol-step-list li.without-duration{grid-template-columns:44px 1fr}.protocol-step-list li.without-duration>.step-content{grid-column:2}}@media (max-width:480px){.step-component-options{grid-template-columns:1fr}.step-insert-types{justify-content:flex-start}}@media (max-width:620px){.protocol-section-actions>.button{width:100%}.protocol-schema-note{grid-template-columns:auto 1fr}.protocol-schema-note>.button{grid-column:1/-1;width:100%}}@media (max-width:760px){.protocol-code-opener{grid-template-columns:1fr}.protocol-code-opener .button{width:100%}}@media print{.sidebar,.topbar,.back-link,.protocol-actions,.protocol-hero{display:none!important}.main-frame{padding-left:0}.content{width:100%;padding:0}body{color:#101827;background:#fff;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-size:7.5pt;line-height:1.35}body[data-protocol-paper=custom] .protocol-detail-page{padding:3mm}body[data-protocol-paper=custom] .protocol-print-border{z-index:9999;pointer-events:none;border:.5pt dashed #64748b;display:block;position:fixed;inset:0 0 -6mm}.protocol-print-header{border-bottom:1.2pt solid #1e3a5f;padding-bottom:3mm;display:block}.print-title-row{justify-content:space-between;align-items:center;gap:8mm;display:flex}.protocol-print-header h1{margin:0 0 2.5mm;font-size:15pt;font-weight:650}.protocol-print-meta{grid-template-columns:repeat(2,1fr);gap:12mm;font-size:8pt;display:grid}.protocol-print-meta span:last-child{text-align:right}body[data-protocol-print=full] .print-brand-logo,body[data-experiment-print=full] .print-brand-logo{object-fit:contain;width:34mm;height:auto;display:block}.panel{box-shadow:none;break-inside:auto;border:0;border-radius:0}.protocol-detail-grid{flex-direction:column;gap:2.5mm;margin-top:2.5mm;display:flex}.protocol-side{display:contents}.environment-panel{order:1}.materials-panel{order:2}.references-panel{order:3}.steps-panel{order:4}body[data-protocol-print] .references-panel,body[data-experiment-print] .references-panel{display:none!important}.steps-panel,.materials-panel,.environment-panel,.references-panel{width:100%;padding:0}.references-panel ol{gap:.8mm;margin:0;padding-left:5mm;font-size:6.6pt;line-height:1.35}.section-title{background:#e9eef6;margin:0 0 1mm;padding:1mm 2mm;font-size:9pt;line-height:1.2}.environment-panel dl{border-top:.5pt solid #d5dce7;border-left:.5pt solid #d5dce7;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.environment-panel dl>div{border-bottom:.5pt solid #d5dce7;border-right:.5pt solid #d5dce7;grid-template-columns:22mm 1fr;gap:0}.environment-panel dt,.environment-panel dd{padding:1mm 1.5mm;font-size:7.2pt;line-height:1.3}.environment-panel dt{border-right:.5pt solid #d5dce7}.environment-panel svg,.environment-note svg,.material-group h4 svg,.protocol-step-list svg{display:none}.environment-note{border-radius:0;margin:1mm 0 0;padding:1mm 1.5mm;font-size:7pt}.material-group{break-inside:avoid;margin-top:1.5mm}.material-group h4{margin-bottom:.7mm;font-size:8pt}.material-cards{grid-template-columns:repeat(3,1fr);gap:1mm}.material-card{background:#fff;border-radius:0;grid-template-columns:4mm 1fr;gap:.2mm 1mm;padding:1.2mm;font-size:7pt}.material-card .print-check{grid-area:1/1}.material-card strong,.material-card>span:not(.print-check),.material-card>.material-catalog-link{grid-column:2}.material-catalog-link{color:var(--muted);text-decoration:none}.material-catalog-link svg{display:none}.material-card strong{font-size:7.5pt}.material-card span{font-size:6.7pt}.material-card>span:not(.print-check),.material-card>.material-catalog-link{line-height:1.15}.tag-list,.protocol-step-head{display:none}.protocol-step-list li{break-inside:avoid;grid-template-columns:4mm 7mm 13mm 1fr;gap:1.5mm;padding:1.6mm 0}.protocol-step-list li>.print-check{grid-area:auto/1}.protocol-step-list li>.step-index{grid-area:auto/2}.protocol-step-list li>small{grid-area:auto/3;justify-self:start}.protocol-step-list li>.step-content{grid-area:auto/4;width:100%}.protocol-step-list li.without-duration{grid-template-columns:4mm 7mm 1fr}.protocol-step-list li.without-duration>.step-content{grid-column:3}.print-check{border:.7pt solid #64748b;border-radius:.5mm;width:3.2mm;height:3.2mm;margin-top:.8mm;display:block}.step-index{border:.7pt solid #1d4ed8;width:fit-content;min-width:5mm;height:5mm;padding:0 .8mm;font-size:7.5pt}body[data-protocol-print] .protocol-step-list li.without-duration{grid-template-columns:4mm 7mm 13mm 1fr}body[data-protocol-print] .protocol-step-list li.without-duration>.step-content{grid-column:4}body[data-protocol-print] .step-index{color:#12242e;text-align:center;background:0 0;border:0;border-radius:0;width:7mm;min-width:0;height:auto;padding:.6mm 0 0;font-size:6.8pt;line-height:1.2;display:block}.protocol-step-list small{padding-top:.6mm;font-size:6.8pt}.protocol-step-list h4{margin:0 0 .6mm;font-size:8pt}.protocol-step-list p{font-size:7.2pt;line-height:1.35}body[data-protocol-print] .step-inline-components{gap:1mm;margin-top:1mm}body[data-protocol-print] .step-inline-reagent,body[data-protocol-print] .step-inline-fact{background:#f7f8fa;border:.5pt solid #cbd2dc;border-radius:.5mm;gap:.7mm;padding:.35mm 1mm;font-size:6.2pt;line-height:1.35}body[data-protocol-print] .step-inline-reagent>svg,body[data-protocol-print] .step-inline-fact>svg{display:block}body[data-protocol-print] .protocol-step-rich-content,body[data-experiment-print] .protocol-step-rich-content{font-size:7.2pt;line-height:1.35}body[data-protocol-print] .protocol-rich-entity,body[data-experiment-print] .protocol-rich-entity{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:0 0;border:0;border-radius:0;padding:0;font-weight:700}body[data-protocol-print] .step-block-components{gap:1mm;margin-top:1mm}.step-note{border-radius:0;margin-top:1mm;padding:1mm 1.5mm;font-size:6.8pt}.badge{min-height:0;padding:1mm 2mm;font-size:6.5pt}.record-fields{grid-template-columns:repeat(3,1fr);gap:1mm;margin-top:1.5mm}.record-fields span{border-radius:0;padding:1.5mm;font-size:7pt}.step-data-table{margin-top:1mm;overflow:visible}.step-data-table table{table-layout:fixed;min-width:0;font-size:6.8pt}.step-data-table th,.step-data-table td{overflow-wrap:anywhere;border-color:#b8c1cf;padding:.9mm 1mm;line-height:1.25}.step-data-table th{background:#f1f4f8;font-size:6.5pt}.table-write-line{height:3mm}.protocol-step-list li{break-inside:avoid}body[data-protocol-print] .protocol-step-list li,body[data-experiment-print] .experiment-print-document ol>li{border-bottom:0!important}body[data-protocol-print=compact] .environment-panel,body[data-protocol-print=compact] .environment-note,body[data-protocol-print=compact] .step-note,body[data-protocol-print=compact] .record-fields,body[data-protocol-print=compact] .screen-section-title{display:none}body[data-protocol-print=compact] .compact-section-title{display:inline}body[data-protocol-print=compact] .protocol-record-sheet{break-inside:avoid;gap:3mm;margin-top:3mm;display:grid}body[data-protocol-print=compact] .protocol-record-sheet h3{border-bottom:.7pt solid #000;margin:0 0 1mm;padding:1mm 2mm;font-size:8.4pt}body[data-protocol-print=compact] .protocol-record-sheet span{border-bottom:.5pt solid #000;height:5mm;display:block}}.experiment-list-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.experiment-filters{margin-bottom:0}.experiment-table-wrap{overflow:hidden}.project-filter-banner{color:var(--brand-strong);background:var(--brand-soft);border:1px solid #a4c8f1;border:1px solid lab(78.9435% -5.24935 -24.5955);border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:12px 15px;display:flex}.project-filter-banner span,.project-filter-banner a{align-items:center;gap:7px;display:inline-flex}.project-filter-banner a{font-size:12px;font-weight:650}.experiment-table{grid-template-columns:minmax(160px,.85fr) minmax(260px,1.5fr) 120px 130px;align-items:center;gap:18px;padding:0 22px;display:grid}.experiment-table-head{min-height:54px;color:var(--muted);background:var(--surface-muted);font-size:13px}.experiment-row{border-top:1px solid var(--line);min-height:91px;transition:background .15s}.experiment-row:hover{background:var(--surface-muted)}.experiment-row>div>small{color:var(--muted);font-size:11px;display:block}.experiment-row>div{gap:5px;min-width:0;display:grid}.experiment-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experiment-project-name{color:var(--muted);font-size:13px;font-weight:620}.experiment-hero{padding:26px}.experiment-print-document{display:none}.experiment-print-dialog{width:min(100vw - 24px,760px);max-height:calc(100dvh - 24px);overflow-y:auto}.print-image-settings{border-top:1px solid var(--line);gap:10px;margin-top:18px;padding-top:16px;display:grid}.print-image-settings>header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.print-image-settings>header span{color:var(--muted);font-size:12px}.print-image-settings article{border:1px solid var(--line);background:var(--surface-muted);border-radius:10px;grid-template-columns:132px minmax(0,1fr);gap:14px;padding:12px;display:grid}.print-image-thumb{border:1px solid var(--line);background:#fff;border-radius:7px;height:88px;overflow:hidden}.print-image-thumb img{object-fit:contain;width:100%;height:100%}.print-image-settings article>div:last-child{align-content:center;gap:8px;display:grid}.print-image-settings article label{color:var(--muted);gap:5px;font-size:12px;display:grid}.print-image-settings input[type=range]{width:100%;accent-color:var(--brand-strong)}.print-image-size-presets{gap:6px;display:flex}.print-image-size-presets button{border:1px solid var(--line);min-height:30px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:7px;padding:0 11px}.print-image-size-presets button.active{color:var(--brand-strong);border-color:var(--brand);background:var(--brand-soft)}.image-editor-dialog{flex-direction:column;width:min(100vw - 24px,1120px);max-height:calc(100dvh - 24px);display:flex;overflow:hidden}.image-editor-body{background:var(--surface-muted);grid-template-columns:minmax(0,1fr) 270px;gap:20px;min-height:0;padding:22px 24px;display:grid;overflow-y:auto}.image-editor-stage-wrap{border:1px solid var(--line);background:#080b12;border-radius:12px;place-items:center;min-height:430px;display:grid;overflow:hidden}.image-editor-stage{-webkit-user-select:none;user-select:none;touch-action:none;max-width:100%;max-height:66vh;line-height:0;position:relative}.image-editor-stage img{object-fit:contain;max-width:100%;max-height:66vh;display:block}.image-editor-loading{color:#cbd5e1;font-size:13px}.image-crop-box{z-index:2;cursor:move;touch-action:none;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #020617a8}.crop-handle{background:var(--brand);border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute}.crop-handle.nw{cursor:nwse-resize;top:-8px;left:-8px}.crop-handle.ne{cursor:nesw-resize;top:-8px;right:-8px}.crop-handle.sw{cursor:nesw-resize;bottom:-8px;left:-8px}.crop-handle.se{cursor:nwse-resize;bottom:-8px;right:-8px}.image-annotation{z-index:4;color:#fff;cursor:grab;touch-action:none;background:0 0;border:0;padding:6px;font-family:system-ui,sans-serif;font-weight:650;line-height:1.2;position:absolute;transform:translate(-50%,-50%)}.image-marker-line{z-index:3;cursor:grab;touch-action:none;background:0 0;border:0;height:20px;position:absolute;transform:translate(-50%,-50%)}.image-marker-line:before{content:"";background:#fff;border-radius:999px;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.image-marker-line.strong:before{height:5px}.image-marker-line.has-label span{color:#fff;font-size:inherit;white-space:nowrap;font-weight:650;line-height:1;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}.image-marker-line.has-label.label-right span{left:calc(100% + 10px);right:auto}.image-marker-line.has-label.strong span{font-weight:800}.image-editor-tools{align-content:start;gap:12px;display:grid}.image-editor-tools section{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:11px;padding:15px;display:grid}.image-editor-tools h3{align-items:center;gap:7px;margin:0;font-size:14px;display:flex}.image-editor-tools p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.annotation-input{gap:8px;display:grid}.annotation-list,.marker-list{gap:6px;display:grid}.annotation-list>div,.marker-list>div{border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:7px 8px;font-size:12px;display:flex}.annotation-list span,.marker-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.annotation-list button,.marker-list button{min-width:28px;min-height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:2px;display:grid}.image-adjustment-control{gap:6px;display:grid}.image-adjustment-control>span{color:var(--muted);grid-template-columns:18px 1fr auto;align-items:center;gap:5px;font-size:12px;display:grid}.image-adjustment-control strong{color:var(--ink);font-variant-numeric:tabular-nums}.image-adjustment-control input{width:100%;accent-color:var(--brand-strong)}.record-card-actions{align-items:center;gap:7px;display:flex}.record-card-actions>button{cursor:pointer;min-width:34px;min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.record-card-actions>button:hover{color:var(--brand-strong);background:var(--brand-soft)}.experiment-workspace-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.88fr);align-items:start;gap:16px;margin-top:16px;display:grid}.workspace-column-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:15px;display:flex}.workspace-column-head>div{align-items:center;gap:10px;display:flex}.workspace-column-head>div>span{color:var(--brand-strong);letter-spacing:.08em;font-size:11px;font-weight:760}.workspace-column-head h3{margin:0;font-size:17px}.records-workspace-panel{padding:24px}.record-panel-head{justify-content:flex-end;align-items:center;gap:12px;display:flex}.record-panel-head h3{margin:0;font-size:15px}.record-type-actions,.experiment-export-actions{flex-wrap:wrap;gap:7px;display:flex}.record-composer{border:1px solid var(--line);background:var(--surface-muted);border-radius:10px;gap:9px;margin-top:15px;padding:14px;display:grid}.record-composer .textarea{resize:vertical;min-height:90px}.record-composer .button{justify-self:end}.record-composer-title{justify-content:space-between;align-items:center;display:flex}.record-composer-title>button{cursor:pointer;width:28px;height:28px;color:var(--muted);background:0 0;border:0;font-size:20px}.record-step-link{border:0;gap:7px;min-width:0;margin:0;padding:0;display:grid}.record-step-link>span{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.record-step-options{flex-wrap:wrap;gap:7px;display:flex}.record-step-options label{border:1px solid var(--line);color:var(--muted);background:var(--surface);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:7px 9px;font-size:12px;display:inline-flex}.record-step-options input{accent-color:var(--brand-strong)}.record-table-builder{gap:9px;min-width:0;display:grid}.record-table-size{align-items:flex-end;gap:9px;display:flex}.record-table-size label{color:var(--muted);gap:5px;font-size:11px;display:grid}.record-table-size .input{width:76px}.record-table-size>span{color:var(--muted-light);padding-bottom:10px}.record-table-wrap.draft{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin-top:0}.record-table-wrap.draft table{min-width:520px}.record-table-wrap.draft th,.record-table-wrap.draft td{padding:0}.record-table-wrap.draft input{width:100%;min-height:38px;color:var(--ink);background:0 0;border:0;outline:0;padding:7px 8px;font-size:12px}.record-table-wrap.draft th input{color:var(--muted);font-weight:650}.record-column-meta{border-top:1px solid var(--line);grid-template-columns:minmax(72px,1fr) minmax(64px,.7fr) auto;display:grid}.record-column-meta select,.record-column-meta input{border-right:1px solid var(--line);min-width:0;color:var(--muted);background:0 0;font-size:11px}.record-column-meta label{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:0 7px;font-size:10px;font-weight:550;display:flex}.record-column-meta label input{width:auto;min-height:auto;accent-color:var(--brand-strong)}.record-table-wrap.draft input:focus{box-shadow:inset 0 0 0 2px var(--brand)}@supports (color:color-mix(in lab, red, red)){.record-table-wrap.draft input:focus{box-shadow:inset 0 0 0 2px color-mix(in oklch,var(--brand)52%,transparent)}}.record-image-picker{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.record-save-actions{justify-content:flex-end;gap:8px;display:flex}.attachment-picker-only .attachment-head{margin:0}.attachment-picker-only .button{white-space:nowrap;height:100%}.experiment-record-list{gap:10px;margin-top:16px;display:grid}.experiment-record-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:14px}.experiment-record-card.archived{opacity:.65;background:var(--surface-muted)}.experiment-record-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.experiment-record-card>header>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.experiment-record-card h4{margin:0;font-size:14px}.record-version{color:var(--muted-light);font-variant-numeric:tabular-nums;font-size:11px}.experiment-record-card>header>button{cursor:pointer;color:var(--danger);background:0 0;border:0}.experiment-record-card p{color:var(--muted);white-space:pre-wrap;margin:11px 0 0;line-height:1.65}.legacy-record>div:last-child>p{margin:11px 0 0}.experiment-record-card img{border:1px solid var(--line);object-fit:contain;max-width:100%;max-height:320px;margin-top:12px}.record-table-wrap{margin-top:12px;overflow-x:auto}.record-table-wrap table{border-collapse:collapse;width:100%;font-size:12px}.record-table-wrap th,.record-table-wrap td{border:1px solid var(--line);text-align:left;padding:8px}.record-table-wrap th{background:var(--surface-muted)}.record-history{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.record-history summary{color:var(--muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.record-history ol{gap:7px;margin:9px 0 0;padding:0;list-style:none;display:grid}.record-history li{color:var(--muted);grid-template-columns:auto 1fr auto;gap:8px;font-size:11px;display:grid}.record-history time{color:var(--muted-light)}.record-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;padding:28px 12px}.record-attachments{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.record-attachments .attachment-head{align-items:center;margin-bottom:12px}.record-attachments .attachment-head p{display:none}.record-attachments .attachment-head .section-title{font-size:15px}.experiment-title-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.experiment-title-row h2{margin:0;font-size:25px}.experiment-title-row p{color:var(--muted);margin:12px 0 0}.experiment-title-row p a{color:var(--brand-strong);font-weight:620}.hero-progress{align-items:center;gap:12px;margin-top:18px;display:flex}.hero-progress .progress-track{background:#dae2eb;background:lab(89.5388% -1.44202 -5.40354);width:260px}.hero-progress strong{color:var(--muted);font-size:13px}.hero-actions{flex-wrap:wrap;gap:9px;display:flex}.success-banner{color:#00673a;color:lab(37.875% -43.1314 20.0468);background:#dff9e9;background:lab(95.8337% -11.1 4.90811);border:1px solid #9edbb7;border:1px solid lab(82.5111% -25.637 11.3186);border-radius:11px;align-items:center;gap:10px;margin-top:16px;padding:14px 17px;display:flex}.experiment-tabs{border:1px solid var(--line);background:var(--surface);border-radius:12px;gap:4px;margin:16px 0;padding:4px;display:flex;overflow-x:auto}.experiment-tabs button{cursor:pointer;min-height:42px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1 0 auto;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-weight:650;display:flex}.experiment-tabs button.active{color:#fff;background:var(--brand-strong)}.execution-panel{padding:24px}.execution-hint{color:var(--muted-light);margin:0 0 18px;font-size:12px}.execution-list{gap:10px;display:grid}.execution-step{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);background:var(--surface);border-radius:12px;grid-template-columns:28px 1fr;gap:13px;padding:16px;transition:border-color .15s,background .15s,transform .15s;display:grid}.execution-step:hover{border-color:#9ebade;border-color:lab(74.2921% -3.61747 -21.4543);transform:translateY(-1px)}.execution-check{color:var(--muted-light);cursor:pointer;background:0 0;border:0;place-items:start center;padding:0;display:grid}.execution-check:disabled{cursor:default}.execution-step.next{background:var(--brand-soft);border-color:#84b4f0;border-color:lab(71.7769% -4.81433 -35.0659)}@supports (color:color-mix(in lab, red, red)){.execution-step.next{background:color-mix(in oklch,var(--brand-soft)55%,var(--surface))}}.execution-step.done{background:#f0fbf4;background:lab(97.6518% -4.7071 2.19014);border-color:#badfc7;border-color:lab(85.5936% -15.7957 7.34663)}.execution-step.done .execution-check{color:var(--success)}.execution-step-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.execution-step p{color:var(--muted);margin:7px 0 0;line-height:1.6}.execution-step-meta{flex-wrap:wrap;gap:12px;display:flex}.execution-step small{color:var(--muted-light);align-items:center;gap:5px;margin-top:8px;display:flex}.execution-step em{color:#a76100;color:lab(48.4133% 28.9996 82.945);background:#fff1da;background:lab(96.0254% 2.91106 15.3096);border-radius:8px;margin-top:10px;padding:10px 12px;font-size:12px;font-style:normal;display:block}.step-linked-results{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;margin-top:11px;font-size:11px;display:flex}.step-linked-results a{border:1px solid var(--brand);padding:4px 7px}@supports (color:color-mix(in lab, red, red)){.step-linked-results a{border:1px solid color-mix(in oklch,var(--brand)25%,var(--line))}}.step-linked-results a{color:var(--brand-strong);background:var(--brand-soft);border-radius:6px}.step-execution-details{border-top:1px solid var(--line);margin-top:12px}.step-execution-details summary{color:var(--muted);cursor:pointer;align-items:center;gap:6px;padding-top:11px;font-size:12px;font-weight:650;display:flex}.step-usage-editor{gap:10px;margin-top:11px;display:grid}.step-usage-list{gap:7px;display:grid}.step-usage-list>div{grid-template-columns:minmax(110px,1.2fr) repeat(3,minmax(88px,1fr));align-items:center;gap:7px;display:grid}.step-usage-list strong{font-size:12px}.step-usage-list .input{min-width:0;min-height:34px;padding:6px 8px;font-size:11px}.step-deviation-field{gap:6px;display:grid}.step-deviation-field>span{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.step-deviation-field .textarea{resize:vertical;min-height:70px}.step-usage-editor>.button{justify-self:end}.note-panel,.data-table-panel,.data-chart-panel{padding:24px}.note-head,.attachment-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.note-head p,.attachment-head p{color:var(--muted);margin:7px 0 0;font-size:13px}.save-state{color:var(--success);font-size:12px}.rich-editor{border:1px solid var(--line);border-radius:12px;overflow:hidden}.editor-toolbar{border-bottom:1px solid var(--line);background:var(--surface-muted);gap:4px;padding:7px;display:flex}.editor-toolbar button{cursor:pointer;width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.editor-toolbar button:hover,.editor-toolbar button.active{color:var(--brand-strong);background:var(--brand-soft)}.editor-content{outline:0;min-height:260px;padding:18px;line-height:1.75}.editor-content p{margin:0 0 12px}.editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--muted-light)}.data-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:16px;display:grid}.data-form{grid-template-columns:1.25fr .8fr .7fr 42px;gap:8px;display:grid}.data-form .button{padding:0}.data-table{margin-top:18px}.data-table>div:not(.empty-attachment){border-top:1px solid var(--line);grid-template-columns:1fr 90px 100px 32px;align-items:center;gap:8px;min-height:48px;display:grid}.data-table button{cursor:pointer;color:var(--muted-light);background:0 0;border:0}.attachment-list{gap:8px;display:grid}.attachment-list>div{border:1px solid var(--line);border-radius:10px;align-items:center;gap:12px;padding:13px;display:flex}.attachment-list>div>svg{color:var(--brand-strong)}.attachment-list span{flex:1;gap:3px;min-width:0;display:grid}.attachment-list small{color:var(--muted)}.attachment-delete{cursor:pointer;min-width:64px;min-height:36px;color:var(--danger);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:5px;font-size:12px;font-weight:650;display:inline-flex}.attachment-delete:hover{background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.attachment-delete:hover{background:color-mix(in oklch,var(--danger)7%,var(--surface))}}.empty-attachment{text-align:center;color:var(--muted);border:1px dashed #b9c6d4;border:1px dashed lab(79.0792% -2.29949 -8.9534);border-radius:10px;padding:32px 16px}@media (max-width:1050px){.experiment-workspace-grid{grid-template-columns:1fr}}@media (max-width:900px){.experiment-table{grid-template-columns:minmax(130px,.75fr) minmax(220px,1.35fr) 100px 110px;gap:12px}.data-grid{grid-template-columns:1fr}}@media (max-width:720px){.experiment-list-toolbar{flex-direction:column-reverse;align-items:stretch}.experiment-list-toolbar>.button{width:100%}.project-filter-banner{flex-direction:column;align-items:flex-start}.experiment-table{grid-template-columns:1fr 94px;padding:0 15px}.experiment-table-head>:first-child,.experiment-table-head>:last-child,.experiment-row>:first-child,.experiment-row>:last-child{display:none}.experiment-title-row{flex-direction:column}.hero-actions{width:100%}.hero-progress .progress-track{width:min(55vw,220px)}.data-form{grid-template-columns:1fr 1fr}.data-form .button{width:42px}}.project-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.project-card{flex-direction:column;min-height:238px;padding:22px;display:flex}.project-card-link{border-radius:var(--radius-lg);display:block}.project-card-link .project-card{height:100%;transition:transform .17s,border-color .17s,box-shadow .17s}.project-card-link:hover .project-card{border-color:#9ebade;border-color:lab(74.2921% -3.61747 -21.4543);transform:translateY(-2px);box-shadow:0 10px 24px #0c172314;box-shadow:0 10px 24px lab(7.10301% -.987217 -10.464/.08)}.project-icon{width:44px;height:44px;color:var(--brand-strong);background:var(--brand-soft);border-radius:11px;place-items:center;display:grid}.project-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-owner{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-participants{align-items:center;margin-top:16px;display:flex}.project-participants>span{border:2px solid var(--surface);width:28px;height:28px;color:var(--brand-strong);background:var(--brand-soft);border-radius:50%;place-items:center;margin-left:-6px;font-size:11px;font-weight:720;display:grid}.project-participants>span:first-child{margin-left:0}.project-participants small{color:var(--muted-light);margin-left:7px}.project-code{color:var(--brand-strong);margin-top:18px;font-size:12px;font-weight:720}.project-card h3{margin:5px 0 0;font-size:19px}.project-card>p{color:var(--muted);margin:11px 0 0;line-height:1.65}.project-foot{border-top:1px solid var(--line);color:var(--muted-light);justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;font-size:12px;display:flex}.project-foot span{align-items:center;gap:5px;display:inline-flex}.project-detail-page{gap:18px;display:grid}.project-detail-page .back-link{margin-bottom:0}.project-detail-hero{justify-content:space-between;align-items:center;gap:28px;padding:28px;display:flex}.project-detail-main{flex:1;min-width:0}.project-detail-hero .project-code{margin:0}.project-detail-hero h2{margin:6px 0 0;font-size:26px}.project-detail-hero p{max-width:70ch;color:var(--muted);margin:10px 0 0;line-height:1.6}.project-detail-metrics{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:17px;font-size:13px;display:flex}.project-detail-metrics span{align-items:center;gap:6px;display:inline-flex}.project-team-meta{color:var(--muted);flex-wrap:wrap;gap:8px 22px;margin-top:13px;font-size:12px;display:flex}.project-team-meta span{gap:7px;display:inline-flex}.project-team-meta strong{color:var(--ink)}.project-manage-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.project-delete-button{color:var(--danger)}.project-inline-editor{border:1px solid var(--line);background:var(--surface-muted);border-radius:11px;grid-template-columns:minmax(0,1.25fr) minmax(150px,.75fr);gap:12px;margin-top:18px;padding:18px;display:grid}.project-description-field{grid-column:1/-1}.project-inline-editor .textarea{min-height:84px}.project-inline-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.project-member-editor{border:1px solid var(--line);background:var(--surface-muted);border-radius:11px;gap:14px;margin-top:18px;padding:16px;display:grid}.project-member-options{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;display:grid}.project-member-options label{border:1px solid var(--line);cursor:pointer;background:var(--surface);border-radius:9px;grid-template-columns:18px 36px minmax(0,1fr);align-items:center;gap:9px;min-height:58px;padding:8px 10px;display:grid}.project-member-options .member-avatar{width:34px;height:34px;font-size:12px}.project-member-options label>span:last-child{gap:2px;min-width:0;display:grid}.project-member-options small{color:var(--muted)}.project-delete-confirm{border:1px solid var(--danger);justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:14px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.project-delete-confirm{border:1px solid color-mix(in oklch,var(--danger)32%,var(--line))}}.project-delete-confirm{background:#fff4f2;background:lab(96.9622% 4.58759 2.46798);border-radius:10px}.project-delete-confirm p{color:#873f3b;color:lab(36.3825% 31.3207 17.8871);margin:0;font-size:13px}.project-delete-confirm>div{gap:8px;display:flex}.project-bundle-button{flex:none}.project-detail-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,.7fr);align-items:start;gap:18px;display:grid}.project-experiments-panel,.project-files-panel{overflow:hidden}.panel-head.compact{min-height:58px}.panel-head.compact .section-title{margin:0}.panel-head.compact p{color:var(--muted);margin:4px 0 0;font-size:12px}.project-experiment-list{display:grid}.project-experiment-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:13px;min-height:78px;padding:13px 20px;display:grid}.project-experiment-row:first-child{border-top:0}.project-experiment-row>a{gap:5px;min-width:0;display:grid}.project-experiment-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.project-experiment-row a span{color:var(--muted);font-size:11px}.project-ai-column{gap:14px;display:grid}.project-ai-slot{min-height:184px;padding:20px}.project-ai-slot>span{width:39px;height:39px;color:var(--brand-strong);background:var(--brand-soft);border-radius:10px;place-items:center;display:grid}.project-ai-slot h3{margin:14px 0 0;font-size:16px}.project-ai-slot p{color:var(--muted);margin:7px 0 16px;font-size:12px;line-height:1.55}.project-ai-slot .button{width:100%}.project-file-tree{padding:17px 22px 22px}.file-tree-root,.file-tree-folder,.file-tree-children>*{align-items:center;gap:8px;display:flex}.file-tree-root{min-height:38px;color:var(--brand-strong)}.project-file-tree section{border-left:1px solid var(--line);margin-left:9px;padding-left:23px;position:relative}.file-tree-folder{min-height:40px}.file-tree-folder:before{content:"";border-top:1px solid var(--line);width:16px;position:absolute;left:0}.file-tree-folder a{color:var(--ink);font-size:13px;font-weight:650}.file-tree-folder small{color:var(--muted-light);margin-left:auto;font-size:11px}.file-tree-children{border-left:1px solid var(--line);margin-left:23px;padding:0 0 8px 15px;display:grid}.file-tree-children>*{min-height:34px;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:6px;padding:0 8px;font-size:12px}.file-tree-children button{cursor:pointer}.file-tree-children button:hover{color:var(--brand-strong);background:var(--brand-soft)}.file-tree-children span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file-tree-children small{color:var(--muted-light);margin-left:auto}@media (max-width:980px){.project-detail-grid{grid-template-columns:1fr}.project-ai-column{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.project-detail-hero{flex-direction:column;align-items:stretch;padding:20px}.project-bundle-button{width:100%}.project-manage-actions .button{flex:1}.project-inline-editor{grid-template-columns:1fr;padding:14px}.project-inline-editor .field,.project-inline-actions{grid-column:1}.project-inline-actions .button{width:auto}.project-delete-confirm{flex-direction:column;align-items:stretch}.project-delete-confirm>div .button{flex:1}.project-ai-column{grid-template-columns:1fr}.project-experiment-row{grid-template-columns:1fr auto}.project-experiment-row>.button{grid-column:1/-1;width:100%}.panel-head.compact{flex-direction:column;align-items:flex-start;padding-block:14px}.project-file-tree{padding-inline:14px}}.kanban{grid-template-columns:repeat(4,minmax(245px,1fr));gap:14px;padding-bottom:8px;display:grid;overflow-x:auto}.kanban-column{background:var(--surface-muted);border-radius:14px;min-width:245px;padding:13px}@supports (color:color-mix(in lab, red, red)){.kanban-column{background:color-mix(in oklch,var(--surface-muted)82%,var(--canvas))}}.kanban-head{color:var(--muted);justify-content:space-between;align-items:center;padding:2px 2px 13px;display:flex}.kanban-list{gap:9px;display:grid}.kanban-card{box-shadow:none;padding:15px}.kanban-card h3{margin:0;font-size:14px;line-height:1.45}.kanban-card p{color:var(--muted);margin:7px 0 0;font-size:12px}.kanban-card>div{color:var(--muted-light);justify-content:space-between;align-items:center;gap:8px;margin-top:14px;font-size:12px;display:flex}.kanban-card>div>span:first-child{align-items:center;gap:5px;display:inline-flex}.kanban-actions{gap:1px;display:flex}.kanban-actions .button{width:30px;min-height:30px;padding:0}.kanban-empty{text-align:center;color:var(--muted-light);padding:28px 10px;font-size:13px}.team-list{overflow:hidden}.team-dashboard{gap:18px;display:grid}.team-dashboard .page-intro{margin-bottom:0}.team-stat-strip{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.team-stat-strip>div{border-right:1px solid var(--line);align-content:center;gap:7px;min-height:122px;padding:18px 22px;display:grid}.team-stat-strip>div:last-child{border-right:0}.team-stat-strip span{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.team-stat-strip span svg{color:var(--brand-strong)}.team-stat-strip strong{font-variant-numeric:tabular-nums;font-size:27px}.team-stat-strip small{color:var(--muted-light)}.team-dashboard-grid{grid-template-columns:minmax(0,1.6fr) minmax(310px,.72fr);gap:18px;display:grid}.team-activity-panel{overflow:hidden}.team-activity-panel>div:last-child{padding:0 12px 10px}.team-project-ranking{overflow:hidden}.team-project-ranking>div:last-child{display:grid}.team-project-ranking>div:last-child a{border-top:1px solid var(--line);grid-template-columns:36px minmax(0,1fr) 28px 18px;align-items:center;gap:10px;min-height:62px;padding:10px 16px;transition:background .15s,transform .12s;display:grid}.team-project-ranking>div:last-child a:active{transform:scale(.98)}.team-project-ranking .member-avatar{width:34px;height:34px;font-size:12px}.team-project-ranking a>span:nth-child(2){gap:2px;min-width:0;display:grid}.team-project-ranking small{color:var(--muted)}.team-project-ranking b{text-align:right;font-variant-numeric:tabular-nums}.team-table-head{min-height:44px;color:var(--muted-light);background:var(--surface-muted);grid-template-columns:44px minmax(200px,1fr) 90px 90px 90px 78px 42px;align-items:center;gap:14px;padding:0 20px;font-size:11px;font-weight:680;display:grid}.team-table-head span:first-child{grid-column:1/3}.team-table-head span:not(:first-child){text-align:right}.team-row.team-data-row{grid-template-columns:44px minmax(200px,1fr) 90px 90px 90px 78px 42px}.team-data-row>.team-number{text-align:right;font-variant-numeric:tabular-nums}.team-data-row>.badge{justify-self:end}.member-workspace{gap:18px;display:grid}.member-workspace-head{border-radius:var(--radius-lg);color:#e2ecf7;color:lab(93.0225% -1.91954 -6.40185);background:#0f2948;background:lab(16.1086% -.827923 -22.3835);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:164px;padding:26px 30px;display:grid}.member-workspace-head>.member-avatar{width:56px;height:56px;font-size:19px}.member-workspace-head>div>span,.member-workspace-head p{color:#a4b6ca;color:lab(73.2718% -3.46005 -12.3189);font-size:12px}.member-workspace-head h2{color:#f0f6fc;color:lab(96.5116% -1.09199 -3.57032);margin:4px 0;font-size:25px}.member-workspace-head p{margin:0}.member-workspace-head dl{grid-template-columns:repeat(3,96px);margin:0;display:grid}.member-workspace-head dl>div{border-left:1px solid #97a7b759;border-left:1px solid lab(67.4805% -2.99993 -10.5739/.35);gap:5px;padding-left:20px;display:grid}.member-workspace-head dt{color:#a4b6ca;color:lab(73.2718% -3.46005 -12.3189);font-size:11px}.member-workspace-head dd{font-variant-numeric:tabular-nums;margin:0;font-size:22px;font-weight:730}.member-workspace-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.member-resource-panel{overflow:hidden}.member-resource-panel .section-title{align-items:center;gap:7px;display:inline-flex}.member-resource-list,.member-experiment-table{display:grid}.member-resource-list>a,.member-experiment-table>a{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:11px 18px;display:flex}.member-resource-list>a>span,.member-experiment-table>a>span{gap:4px;min-width:0;display:grid}.member-resource-list strong,.member-experiment-table strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.member-resource-list small,.member-resource-list time,.member-experiment-table small,.member-experiment-table time{color:var(--muted);font-size:11px}.member-resource-list>p,.member-experiment-table>p{color:var(--muted);margin:0;padding:28px 18px}.member-experiment-table>a{grid-template-columns:minmax(0,1fr) 82px 90px;display:grid}.member-experiment-table time{text-align:right}.team-empty{text-align:center;align-content:center;place-items:center;gap:10px;min-height:280px;padding:40px;display:grid}.team-empty>svg{color:var(--brand-strong)}.team-empty h2,.team-empty p{margin:0}.team-empty h2{font-size:20px}.team-empty p{color:var(--muted)}.team-row{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr 130px 42px;align-items:center;gap:14px;min-height:76px;padding:12px 20px;display:grid}.team-row:last-child{border-bottom:0}.member-avatar{width:42px;height:42px;color:var(--brand-strong);background:var(--brand-soft);border-radius:50%;place-items:center;font-weight:720;display:grid}.member-avatar.green{color:#006a3d;color:lab(39.0369% -43.0594 20.0125);background:#dcf6e5;background:lab(94.6735% -11.0199 5.12637)}.member-avatar.amber{color:#a26000;color:lab(47.3022% 27.7219 86.0262);background:#fff0d8;background:lab(95.4362% 3.1445 15.2594)}.member-avatar.violet{color:#724aab;color:lab(39.6801% 33.0382 -46.413);background:#f1ebff;background:lab(93.8615% 5.32234 -9.73097)}.team-row>div{gap:4px;min-width:0;display:grid}.team-row>div span{text-overflow:ellipsis;color:var(--muted);font-size:13px;overflow:hidden}.audit-list{overflow:hidden}.audit-row{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr 130px;align-items:center;gap:15px;min-height:86px;padding:14px 20px;display:grid}.audit-row:last-child{border-bottom:0}.audit-icon{width:40px;height:40px;color:var(--brand-strong);background:var(--brand-soft);border-radius:50%;place-items:center;display:grid}.audit-row>div{gap:3px;display:grid}.audit-row>div span{color:var(--muted)}.audit-row>div small,.audit-row time{color:var(--muted-light);font-size:12px}.pricing-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.pricing-card{flex-direction:column;padding:26px;display:flex}.pricing-card.featured{border-color:#71a7ef;border-color:lab(66.9201% -2.92662 -42.1444)}.pricing-card>.badge{align-self:flex-start}.pricing-card h3{margin:18px 0 0;font-size:21px}.price{margin-top:14px;font-size:36px;font-weight:780}.price small{color:var(--muted);font-size:13px;font-weight:500}.pricing-card>p{color:var(--muted);margin:8px 0 0}.pricing-card ul{gap:11px;margin:25px 0 30px;padding:0;list-style:none;display:grid}.pricing-card li{color:var(--muted);align-items:center;gap:8px;display:flex}.pricing-card li svg{color:var(--success)}.pricing-card .button{margin-top:auto}.utility-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.utility-card{border:1px solid var(--line);border-radius:var(--radius-lg);min-height:190px;color:inherit;background:var(--surface);flex-direction:column;align-items:flex-start;padding:22px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.utility-card:hover{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.utility-card:hover{border-color:color-mix(in oklch,var(--brand)32%,var(--line))}}.utility-card:hover{box-shadow:var(--shadow-panel);transform:translateY(-2px)}.utility-card:active{transform:scale(.98)}.utility-card-icon{border-radius:var(--radius-md);width:46px;height:46px;color:var(--brand-strong);background:var(--brand-soft);place-items:center;display:grid}.utility-card-copy{gap:7px;margin-top:18px;display:grid}.utility-card-copy strong{font-size:17px}.utility-card-copy small{color:var(--muted);line-height:1.55}.utility-card-action{color:var(--brand-strong);align-items:center;gap:5px;margin-top:auto;padding-top:20px;font-size:13px;font-weight:680;display:flex}.tools-library{gap:30px;display:grid}.tools-command{border-bottom:1px solid var(--line);gap:14px;padding-bottom:22px;display:grid}.tools-search{border:1px solid var(--line);border-radius:var(--radius-md);min-height:48px;color:var(--muted-light);background:var(--surface);box-shadow:var(--shadow-panel);align-items:center;gap:10px;padding:0 15px;display:flex}.tools-search:focus-within{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.tools-search:focus-within{border-color:color-mix(in oklch,var(--brand)50%,var(--line))}}.tools-search:focus-within{box-shadow:0 0 0 3px var(--brand-soft)}.tools-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:14px}.tools-category-filter{flex-wrap:wrap;gap:7px;display:flex}.tools-category-filter button{border-radius:var(--radius-sm);cursor:pointer;min-height:40px;color:var(--muted);background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:680;transition:transform .14s,color .14s,background .14s,border-color .14s;display:inline-flex}.tools-category-filter button:hover,.tools-category-filter button[aria-pressed=true]{border-color:var(--line);color:var(--brand-strong);background:var(--brand-soft)}.tools-category-filter button:active{transform:scale(.96)}.tools-category-filter span{background:var(--surface);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:10px;display:grid}.tools-pinned-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.tools-pinned-sections>section{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);overflow:hidden}.tools-pinned-sections header{border-bottom:1px solid var(--line);color:var(--brand-strong);align-items:center;gap:10px;padding:16px 18px;display:flex}.tools-pinned-sections h2,.tools-pinned-sections p{margin:0}.tools-pinned-sections h2{color:var(--ink);font-size:15px}.tools-pinned-sections p{color:var(--muted);margin-top:2px;font-size:11px}.tools-compact-list{display:grid}.tools-compact-list a{min-height:58px;color:var(--ink);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;padding:9px 18px;transition:transform .14s,background .14s;display:grid}.tools-compact-list a+a{border-top:1px solid var(--line)}.tools-compact-list a:hover{background:var(--surface-muted)}.tools-compact-list a:active{transform:scale(.99)}.tools-compact-list strong{font-size:13px}.tools-compact-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-row:2;font-size:10px;overflow:hidden}.tools-compact-list svg{color:var(--muted-light);grid-area:1/2/span 2}.tools-section-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px;display:flex}.tools-section-head h2,.tools-section-head p{margin:0}.tools-section-head h2{font-size:18px}.tools-section-head p{color:var(--muted);margin-top:3px;font-size:12px}.tool-catalog-card{min-width:0;position:relative}.tool-catalog-card .utility-card{height:100%;padding-right:56px}.tool-favorite-button{z-index:2;border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--muted-light);background:var(--surface-muted);border:0;place-items:center;transition:transform .14s,color .14s,background .14s;display:grid;position:absolute;top:15px;right:15px}.tool-favorite-button:hover,.tool-favorite-button[aria-pressed=true]{color:var(--brand-strong);background:var(--brand-soft)}.tool-favorite-button:active{transform:scale(.96)}.tool-method-badge{border-top:1px solid var(--line);gap:2px;width:100%;margin-top:14px;padding-top:11px;display:grid}.tool-method-badge strong{color:var(--brand-strong);font-size:11px}.tool-method-badge small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.tool-method-badge[data-kind=数据库检索] strong{color:#884d00;color:lab(39.1775% 25.7933 67.7264)}.tool-method-badge[data-kind=近似预估] strong{color:#0b7643;color:lab(43.5473% -38.5456 19.9158)}.tools-empty{border:1px dashed var(--line);border-radius:var(--radius-md);min-height:116px;color:var(--muted);background:var(--surface-muted);text-align:center;place-items:center;margin:0;padding:24px;font-size:13px;display:grid}.tool-history{padding-top:2px}.tool-history-table{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);overflow:hidden}.tool-history-head,.tool-history-row{grid-template-columns:minmax(180px,1.4fr) minmax(170px,1fr) 64px 112px 150px;align-items:center;gap:14px;padding:11px 16px;display:grid}.tool-history-head{min-height:40px;color:var(--muted);background:var(--surface-muted);letter-spacing:.04em;font-size:10px;font-weight:760}.tool-history-row+.tool-history-row{border-top:1px solid var(--line)}.tool-history-row>span{gap:3px;min-width:0;display:grid}.tool-history-row a{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:720;overflow:hidden}.tool-history-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.tool-history-row>strong,.tool-history-row time{font-variant-numeric:tabular-nums;font-size:11px}.tool-history-row time{color:var(--muted)}.tool-history-actions{grid-auto-flow:column;justify-content:end;gap:5px!important;display:flex!important}.tool-history-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-height:36px;color:var(--ink);background:var(--surface);align-items:center;gap:5px;padding:0 9px;font-size:11px;transition:transform .14s,background .14s;display:inline-flex}.tool-history-actions button:hover{background:var(--surface-muted)}.tool-history-actions button:active{transform:scale(.96)}.tool-history-actions button.danger{color:var(--danger)}.tool-history-error,.tool-run-error{color:var(--danger);font-size:12px}.tool-run-toolbar{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);grid-template-columns:minmax(220px,240px) minmax(0,1fr);align-items:end;gap:14px 18px;margin-top:24px;padding:18px;display:grid}.tool-run-method{align-self:center;align-items:center;gap:10px;display:flex}.tool-run-method>span{border-radius:var(--radius-sm);min-height:28px;color:var(--brand-strong);background:var(--brand-soft);white-space:nowrap;align-items:center;padding:0 8px;font-size:10px;font-weight:760;display:inline-flex}.tool-run-method>div{gap:2px;min-width:0;display:grid}.tool-run-method strong,.tool-run-method small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tool-run-method strong{font-size:12px}.tool-run-method small{color:var(--muted);font-size:10px}.tool-run-fields{grid-template-columns:1.4fr repeat(3,1fr);gap:8px;display:grid}.tool-run-fields label{min-width:0;color:var(--muted);gap:5px;font-size:10px;font-weight:680;display:grid}.tool-run-fields .input{min-width:0;height:40px;font-size:12px}.tool-run-actions{grid-column:1/-1;justify-content:flex-end;gap:7px;display:flex}.tool-run-actions .button{white-space:nowrap}.tool-run-error,.tool-run-version-note{grid-column:1/-1;margin:0}.tool-run-version-note{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.qpcr-diagnostic-warning{border-radius:var(--radius-sm);color:#783f00;color:lab(33.2967% 26.5602 56.9412);background:#ffebd0;background:lab(94.2509% 4.37978 17.0189);margin:0;padding:9px 11px;font-size:11px}.qpcr-replicate-summary{border-top:1px solid var(--line);gap:9px;margin-top:18px;padding-top:16px;display:grid}.qpcr-replicate-summary h3{margin:0;font-size:14px}.qpcr-replicate-summary article{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);gap:8px;padding:12px;display:grid}.qpcr-replicate-summary article>div{justify-content:space-between;gap:10px;display:flex}.qpcr-replicate-summary article>div span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.qpcr-replicate-summary dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.qpcr-replicate-summary dl div{gap:2px;display:grid}.qpcr-replicate-summary dt{color:var(--muted);font-size:10px}.qpcr-replicate-summary dd{font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:720}.qpcr-replicate-summary p{color:#783f00;color:lab(33.2967% 26.5602 56.9412);margin:0;font-size:10px}.crispr-region-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.crispr-region-fields label{color:var(--muted);gap:5px;font-size:11px;display:grid}.guide-flags small{color:var(--muted-light);margin-top:3px;font-size:9px;display:block}.assembly-full-sequence{grid-column:1/-1!important}.assembly-full-sequence textarea{resize:vertical;min-height:76px}.assembly-internal-sites{border-top:1px solid var(--line);gap:7px;padding:12px 20px;display:grid}.assembly-internal-sites h3,.assembly-internal-sites p{margin:0}.assembly-internal-sites h3{font-size:14px}.assembly-internal-sites p{border-radius:var(--radius-sm);color:var(--danger);background:#ffecea;background:lab(95.0829% 9.19622 4.96011);justify-content:space-between;gap:12px;padding:9px 10px;font-size:11px;display:flex}.lab-tool-footer-actions,.plasmid-result-actions{align-items:center;gap:7px;display:flex}@media (max-width:1050px){.tools-pinned-sections{grid-template-columns:1fr}.tool-run-toolbar{grid-template-columns:1fr;align-items:stretch}.tool-run-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-run-actions{justify-content:flex-end}}@media (max-width:760px){.tools-library{gap:24px}.tools-category-filter{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tools-category-filter button{flex:none}.tool-history-head{display:none}.tool-history-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.tool-history-row>span:nth-child(2),.tool-history-row>strong,.tool-history-row time{font-size:10px}.tool-history-actions{flex-direction:column;grid-area:1/2/span 2}.tool-run-fields{grid-template-columns:1fr}.tool-run-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.tool-run-actions .button{width:100%;padding-inline:8px}}.sequence-tool{gap:13px;padding:24px;display:grid}.sequence-tool>label{font-size:13px;font-weight:680}.utility-heading{align-items:center;gap:12px;margin-bottom:5px;display:flex}.utility-heading>span{border-radius:var(--radius-md);width:42px;height:42px;color:var(--brand-strong);background:var(--brand-soft);place-items:center;display:grid}.utility-heading h2,.utility-heading p{margin:0}.utility-heading h2{font-size:18px}.utility-heading p{color:var(--muted);margin-top:3px;font-size:13px}.sequence-input{min-height:126px;padding-block:12px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.65}.sequence-stats{color:var(--muted);font-variant-numeric:tabular-nums;gap:18px;font-size:13px;display:flex}.sequence-stats strong{color:var(--ink)}.sequence-tool>.button{justify-self:start}.primer-design-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.75fr);align-items:start;gap:16px;display:grid}.primer-input-panel,.primer-settings-panel{padding:24px}.primer-input-panel{gap:13px;display:grid}.primer-input-panel>label,.primer-window-field{color:var(--ink);font-size:13px;font-weight:680}.primer-template-input{min-height:214px;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.65}.primer-template-meta{min-height:28px;color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:13px;display:flex}.primer-template-meta strong{color:var(--ink)}.primer-warning{color:#9f6100;color:lab(47.3645% 25.4174 74.6686)}.primer-input-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:3px;display:flex}.primer-panel-title{color:var(--brand-strong);align-items:center;gap:9px;margin-bottom:19px;display:flex}.primer-panel-title h2{color:var(--ink);margin:0;font-size:17px}.primer-settings-panel{position:sticky;top:76px}.primer-settings-grid{gap:16px;display:grid}.primer-settings-grid fieldset{border:0;min-width:0;margin:0;padding:0}.primer-settings-grid legend{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:680}.primer-settings-grid fieldset>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.primer-settings-grid label{color:var(--muted);gap:6px;font-size:11px;display:grid}.primer-settings-grid .input{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.primer-window-field{gap:7px;display:grid}.primer-method-note{border-top:1px solid var(--line);color:var(--muted);margin:19px 0 0;padding-top:16px;font-size:12px;line-height:1.65}.primer-results{margin-top:22px}.primer-results-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.primer-results-head h2,.primer-results-head p{margin:0}.primer-results-head h2{font-size:18px}.primer-results-head p{color:var(--muted);margin-top:5px;font-size:13px}.primer-results-count{color:var(--brand-strong);font-size:12px;font-weight:720}.primer-error{border:1px solid var(--danger);padding:14px 16px}@supports (color:color-mix(in lab, red, red)){.primer-error{border:1px solid color-mix(in oklch,var(--danger)24%,var(--line))}}.primer-error{border-radius:var(--radius-md);color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.primer-error{background:color-mix(in oklch,var(--danger)5%,var(--surface))}}.primer-error{font-size:13px}.primer-result-list{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);overflow:hidden}.primer-result-row{border-bottom:1px solid var(--line);grid-template-columns:74px minmax(360px,1.5fr) minmax(230px,.72fr) auto;align-items:center;gap:20px;min-height:150px;padding:19px 20px;display:grid}.primer-result-row:last-child{border-bottom:0}.primer-result-row>.button{min-height:40px}.primer-rank{border-right:1px solid var(--line);align-content:center;align-self:stretch;justify-items:center;gap:5px;display:grid}.primer-rank strong{color:var(--brand-strong);font-variant-numeric:tabular-nums;font-size:24px;line-height:1}.primer-rank span{color:var(--muted-light);font-variant-numeric:tabular-nums;font-size:10px}.primer-pair-copy{gap:13px;min-width:0;display:grid}.primer-result-sequence{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:4px 9px;min-width:0;display:grid}.primer-result-sequence>span{color:var(--muted);font-size:11px;font-weight:680}.primer-result-sequence code{color:var(--ink);letter-spacing:.025em;scrollbar-width:thin;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:650;overflow-x:auto}.primer-result-sequence small{color:var(--muted-light);font-variant-numeric:tabular-nums;grid-column:2;font-size:10px}.primer-pair-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;display:grid}.primer-pair-metrics>div{border-right:1px solid var(--line);gap:5px;min-width:0;padding:2px 11px;display:grid}.primer-pair-metrics>div:first-child{padding-left:0}.primer-pair-metrics>div:last-child{border-right:0;padding-right:0}.primer-pair-metrics dt{color:var(--muted-light);white-space:nowrap;font-size:10px}.primer-pair-metrics dd{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0;font-size:12px;font-weight:700}.molecular-input-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.72fr);align-items:start;gap:16px;display:grid}.molecular-input-panel,.enzyme-panel{padding:24px}.molecular-input-panel{gap:13px;display:grid}.molecular-input-panel>label{font-size:13px;font-weight:680}.molecular-sequence-input{min-height:238px;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.65}.molecular-actions{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.molecular-error{color:var(--danger);margin:0;font-size:13px}.molecular-panel-title{color:var(--brand-strong);align-items:center;gap:9px;margin-bottom:16px;display:flex}.molecular-panel-title h2{color:var(--ink);margin:0;font-size:17px}.molecular-panel-title>span{color:var(--muted);margin-left:auto;font-size:12px}.enzyme-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.enzyme-options label{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-muted);align-items:center;gap:9px;min-height:48px;padding:7px 9px;display:flex}.enzyme-options label.selected{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.enzyme-options label.selected{border-color:color-mix(in oklch,var(--brand)42%,var(--line))}}.enzyme-options label.selected{background:var(--brand-soft)}.enzyme-options input{accent-color:var(--brand-strong)}.enzyme-options span{gap:2px;min-width:0;display:grid}.enzyme-options strong{font-size:12px}.enzyme-options small{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:9px}.molecular-results{margin-top:22px}.molecular-results-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:12px;display:flex}.molecular-results-head h2,.molecular-results-head p{margin:0}.molecular-results-head h2{font-size:18px}.molecular-results-head p{color:var(--muted);margin-top:5px;font-size:13px}.topology-switch{border-radius:var(--radius-md);background:var(--surface-muted);padding:3px;display:flex}.topology-switch button{border-radius:var(--radius-sm);cursor:pointer;min-width:58px;min-height:36px;color:var(--muted);background:0 0;border:0;padding:0 12px;font-size:12px;font-weight:680}.topology-switch button.active{color:var(--brand-strong);background:var(--surface);box-shadow:0 1px 3px #12242e24}.topology-switch button:active{transform:scale(.96)}.plasmid-results-grid{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);grid-template-columns:minmax(380px,1.25fr) minmax(280px,.75fr);display:grid;overflow:hidden}.plasmid-map-panel{border-right:1px solid var(--line);background:var(--surface-muted);place-items:center;min-width:0;padding:24px;display:grid}.plasmid-circular-map{width:min(100%,420px);height:auto;overflow:visible}.plasmid-map-name{fill:var(--ink);font-size:15px;font-weight:720}.plasmid-map-length{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.plasmid-linear-map{width:90%;height:180px;position:relative}.plasmid-linear-axis{background:#cad6d9;border-radius:4px;width:100%;height:8px;position:absolute;top:50%;transform:translateY(-50%)}.plasmid-linear-feature{border-radius:6px;min-width:4px;height:24px;position:absolute;top:calc(50% - 12px)}.feature-legend{flex-wrap:wrap;justify-content:center;gap:8px 14px;display:flex}.feature-legend span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.feature-legend i{border-radius:50%;width:9px;height:9px}.digest-panel{min-width:0;padding:24px}.digest-panel h3{margin:0 0 10px;font-size:14px}.digest-panel h3:not(:first-child){border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.site-list{max-height:210px;overflow-y:auto}.site-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:38px;font-size:12px;display:flex}.site-list span{color:var(--muted);font-variant-numeric:tabular-nums}.empty-copy{color:var(--muted);font-size:13px}.fragment-list{gap:10px;display:grid}.fragment-list>div{grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:10px;display:grid}.fragment-list span{background:var(--brand);border-radius:4px;min-width:2px;height:7px;display:block}.fragment-list strong{text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.crispr-workbench{grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);align-items:start;gap:16px;display:grid}.crispr-settings-panel{padding:24px}.crispr-settings-panel>h2{margin:0 0 15px;font-size:17px}.nuclease-options{gap:8px;display:grid}.nuclease-options button{border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;text-align:left;min-height:66px;color:var(--ink);background:var(--surface-muted);gap:5px;padding:11px 13px;display:grid}.nuclease-options button.active{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.nuclease-options button.active{border-color:color-mix(in oklch,var(--brand)48%,var(--line))}}.nuclease-options button.active{background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}@supports (color:color-mix(in lab, red, red)){.nuclease-options button.active{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--brand)16%,transparent)}}.nuclease-options button:active{transform:scale(.98)}.nuclease-options strong{font-size:14px}.nuclease-options span{color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.crispr-method-facts{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin:20px 0 0;padding:17px 0;display:grid}.crispr-method-facts>div{border-right:1px solid var(--line);gap:5px;min-width:0;padding:0 10px;display:grid}.crispr-method-facts>div:first-child{padding-left:0}.crispr-method-facts>div:last-child{border-right:0;padding-right:0}.crispr-method-facts dt{color:var(--muted-light);font-size:10px}.crispr-method-facts dd{margin:0;font-size:11px;font-weight:680}.crispr-settings-panel>p{color:var(--muted);margin:17px 0 0;font-size:12px;line-height:1.7}.crispr-sequence-meta{color:var(--muted);font-variant-numeric:tabular-nums;gap:18px;font-size:13px;display:flex}.crispr-sequence-meta strong{color:var(--ink)}.guide-results{margin-top:22px}.guide-results-head{justify-content:space-between;align-items:flex-end;gap:16px;min-height:46px;margin-bottom:12px;display:flex}.guide-results-head h2,.guide-results-head p{margin:0}.guide-results-head h2{font-size:18px}.guide-results-head p{color:var(--muted);margin-top:5px;font-size:13px}.guide-table{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-panel);overflow-x:auto}.guide-table-head,.guide-row{grid-template-columns:40px minmax(190px,1.2fr) 56px 105px 50px 48px minmax(130px,.8fr) 70px;align-items:center;gap:8px;min-width:900px;padding-inline:15px;display:grid}.guide-table-head{min-height:44px;color:var(--muted);background:var(--surface-muted);font-size:10px;font-weight:720}.guide-row{border-top:1px solid var(--line);font-variant-numeric:tabular-nums;min-height:64px;font-size:12px}.guide-row code{letter-spacing:.02em;scrollbar-width:thin;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:650;overflow-x:auto}.guide-rank{color:var(--brand-strong);font-size:15px}.guide-score{color:var(--brand-strong);font-size:14px}.guide-row>span{color:var(--muted)}.guide-flags{color:var(--success)!important}.guide-flags.warning{color:#8d5400!important;color:lab(41.5875% 23.7305 69.091)!important}.guide-copy{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-width:70px;min-height:40px;color:var(--brand-strong);background:var(--surface);justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:680;display:inline-flex}.guide-copy:active{transform:scale(.96)}.virtual-gel-workbench{grid-template-columns:minmax(360px,.78fr) minmax(480px,1.22fr);align-items:start;gap:16px;display:grid}.virtual-gel-controls{gap:16px;min-width:0;display:grid}.gel-settings-panel,.gel-lanes-panel{padding:22px}.gel-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:15px;display:grid}.gel-settings-grid label,.gel-lane-draft label{color:var(--muted);gap:6px;font-size:11px;display:grid}.gel-settings-grid .input{min-width:0;color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px}.gel-lanes-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.gel-lanes-head h2,.gel-lanes-head p{margin:0}.gel-lanes-head h2{font-size:17px}.gel-lanes-head p{color:var(--muted);margin-top:4px;font-size:12px}.gel-add-lane{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-height:40px;color:var(--brand-strong);background:var(--surface);white-space:nowrap;align-items:center;gap:5px;padding:0 11px;font-size:11px;font-weight:680;display:inline-flex}.gel-add-lane:active,.gel-remove-lane:active{transform:scale(.96)}.gel-add-lane:focus-visible,.gel-remove-lane:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.gel-add-lane:disabled,.gel-remove-lane:disabled{cursor:not-allowed;opacity:.42}.gel-lane-editor{gap:9px;display:grid}.gel-lane-draft{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:28px minmax(92px,.72fr) minmax(130px,1fr) 40px;align-items:end;gap:8px;min-width:0;padding:11px;display:grid}.gel-lane-draft>span{color:var(--brand-strong);text-align:center;align-self:center;font-size:13px;font-weight:740}.gel-lane-draft .input{min-width:0;height:40px;color:var(--ink);background:var(--surface);font-size:12px}.gel-remove-lane{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--danger);background:var(--surface);place-items:center;padding:0;display:grid}.gel-control-actions{justify-content:space-between;gap:10px;margin-top:14px;display:flex}.gel-lanes-panel>.molecular-error{margin-top:11px}.virtual-gel-preview{position:sticky;top:76px;overflow:hidden}.gel-preview-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:84px;padding:17px 20px;display:flex}.gel-preview-head>div:first-child{align-items:center;gap:11px;display:flex}.gel-preview-head>div:first-child>span{border-radius:var(--radius-md);width:40px;height:40px;color:var(--brand-strong);background:var(--brand-soft);place-items:center;display:grid}.gel-preview-head h2,.gel-preview-head p{margin:0}.gel-preview-head h2{font-size:17px}.gel-preview-head p{color:var(--muted);margin-top:4px;font-size:12px}.gel-preview-head dl{margin:0;display:flex}.gel-preview-head dl>div{border-left:1px solid var(--line);gap:3px;padding:0 12px;display:grid}.gel-preview-head dt{color:var(--muted-light);font-size:9px}.gel-preview-head dd{font-variant-numeric:tabular-nums;margin:0;font-size:11px;font-weight:720}.gel-canvas{background:#070e13;background:lab(3.71578% -1.46474 -3.13586);place-items:center;min-height:470px;padding:18px;display:grid}.virtual-gel-svg{width:100%;max-height:540px}.gel-polarity{fill:#a6bcc1;fill:lab(74.6568% -6.78679 -5.4662);font-size:20px;font-weight:700}.gel-lane-label{fill:#b6c8ca;fill:lab(79.3014% -6.07953 -3.25352);font-size:12px;font-weight:700}.gel-run-label{fill:#879da0;fill:lab(63.1059% -7.58398 -4.05352);font-size:10px}.gel-preview-empty{color:#a2bdc2;color:lab(74.722% -8.64399 -5.72677);text-align:center;place-items:center;gap:8px;display:grid}.gel-preview-empty strong{color:#cce3e7;color:lab(88.6028% -7.22525 -4.78694);font-size:14px}.gel-preview-empty span{font-size:12px}.gel-lane-key{flex-wrap:wrap;gap:8px 14px;padding:14px 20px 0;display:flex}.gel-lane-key span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.gel-lane-key strong{width:20px;height:20px;color:var(--brand-strong);background:var(--brand-soft);border-radius:50%;place-items:center;font-size:9px;display:grid}.gel-method-note{color:var(--muted);margin:0;padding:14px 20px 18px;font-size:11px;line-height:1.7}.assembly-workbench{grid-template-columns:minmax(390px,.88fr) minmax(500px,1.12fr);align-items:start;gap:16px;display:grid}.assembly-editor-column{gap:16px;min-width:0;display:grid}.assembly-method-panel,.assembly-fragment-panel{padding:22px}.assembly-method-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px;display:grid}.assembly-method-options button{border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;min-height:68px;color:var(--ink);background:var(--surface-muted);text-align:left;gap:5px;padding:12px 14px;display:grid}.assembly-method-options button:hover,.assembly-method-options button.active{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.assembly-method-options button:hover,.assembly-method-options button.active{border-color:color-mix(in oklch,var(--brand)42%,var(--line))}}.assembly-method-options button:hover,.assembly-method-options button.active{background:var(--brand-soft)}.assembly-method-options button:active,.assembly-topology button:active,.assembly-add:active,.assembly-fragment-actions button:active{transform:scale(.96)}.assembly-method-options strong{font-size:13px}.assembly-method-options span{color:var(--muted);font-size:11px}.assembly-topology{border-top:1px solid var(--line);align-items:center;gap:5px;margin-top:14px;padding-top:14px;display:flex}.assembly-topology>span{color:var(--muted);margin-right:auto;font-size:12px;font-weight:650}.assembly-topology button{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-width:58px;min-height:38px;color:var(--muted);background:var(--surface);padding:0 10px;font-size:12px;font-weight:680}.assembly-topology button.active{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.assembly-topology button.active{border-color:color-mix(in oklch,var(--brand)42%,var(--line))}}.assembly-topology button.active{color:var(--brand-strong);background:var(--brand-soft)}.assembly-fragment-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.assembly-fragment-head h2,.assembly-fragment-head p{margin:0}.assembly-fragment-head h2{font-size:17px}.assembly-fragment-head p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.55}.assembly-add{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-height:40px;color:var(--brand-strong);background:var(--surface);flex:none;align-items:center;gap:5px;padding:0 11px;font-size:11px;font-weight:680;display:inline-flex}.assembly-add:disabled,.assembly-fragment-actions button:disabled{cursor:not-allowed;opacity:.38}.assembly-fragment-list{gap:10px;display:grid}.assembly-fragment{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:30px minmax(0,1fr) 40px;align-items:start;gap:10px;min-width:0;padding:12px;display:grid}.assembly-fragment-index{color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:760;display:grid}.assembly-fragment-fields{grid-template-columns:minmax(110px,1fr) 100px;gap:9px;min-width:0;display:grid}.assembly-fragment-fields label{min-width:0;color:var(--muted);gap:5px;font-size:10px;display:grid}.assembly-fragment-fields .input{min-width:0;height:40px;color:var(--ink);background:var(--surface);font-size:12px}.assembly-fragment-fields label:nth-child(n+3){grid-column:1/-1}.assembly-sequence-input{letter-spacing:.025em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,monospace}.assembly-fragment-actions{gap:5px;display:grid}.assembly-fragment-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--muted);background:var(--surface);place-items:center;padding:0;display:grid}.assembly-fragment-actions button.danger{color:var(--danger)}.assembly-editor-actions{justify-content:space-between;gap:10px;margin-top:15px;display:flex}.assembly-preview-panel{position:sticky;top:76px;overflow:hidden}.assembly-preview-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:84px;padding:17px 20px;display:flex}.assembly-preview-head>div:first-child{align-items:center;gap:11px;display:flex}.assembly-preview-head>div:first-child>span{border-radius:var(--radius-md);width:40px;height:40px;color:var(--brand-strong);background:var(--brand-soft);place-items:center;display:grid}.assembly-preview-head>div:first-child>span.valid{color:var(--success);background:#daf7e3;background:lab(94.7394% -12.4067 6.35767)}.assembly-preview-head>div:first-child>span.invalid{color:var(--danger);background:#ffecea;background:lab(95.0829% 9.19622 4.96011)}.assembly-preview-head h2,.assembly-preview-head p{margin:0}.assembly-preview-head h2{font-size:17px}.assembly-preview-head p{color:var(--muted);margin-top:4px;font-size:12px}.assembly-status{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:11px;display:inline-flex}.assembly-status.valid{color:#005d32;color:lab(34.2521% -38.9513 20.1915);background:#daf7e3;background:lab(94.7394% -12.4067 6.35767)}.assembly-status.invalid{color:var(--danger);background:#ffecea;background:lab(95.0829% 9.19622 4.96011)}.assembly-preview-empty{min-height:500px;color:var(--muted-light);background:var(--surface-muted);align-content:center;place-items:center;gap:9px;display:grid}.assembly-preview-empty strong{color:var(--ink);font-size:14px}.assembly-preview-empty span{font-size:12px}.assembly-map-stage{background:var(--surface-muted);place-items:center;min-height:360px;padding:8px 20px;display:grid}.assembly-map{width:min(100%,390px)}.assembly-map-label{fill:#fff;font-size:11px;font-weight:780}.assembly-map-count{fill:var(--ink);font-variant-numeric:tabular-nums;font-size:27px;font-weight:760}.assembly-map-unit{fill:var(--muted);font-size:11px}.assembly-map-kind{fill:var(--brand-strong);letter-spacing:.05em;font-size:10px;font-weight:720}.assembly-linear-wrap{place-items:center;gap:22px;width:100%;display:grid}.assembly-linear-wrap>strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:18px}.assembly-linear-map{width:min(100%,560px);height:54px;box-shadow:0 0 0 1px var(--line);border-radius:8px;display:flex;overflow:hidden}.assembly-linear-map div{color:#fff;place-items:center;min-width:38px;display:grid}.assembly-linear-map span{font-size:11px;font-weight:760}.assembly-fragment-key{border-block:1px solid var(--line);flex-wrap:wrap;gap:8px 16px;padding:14px 20px;display:flex}.assembly-fragment-key>span{color:var(--ink);align-items:center;gap:6px;font-size:11px;display:inline-flex}.assembly-fragment-key i{border-radius:50%;width:8px;height:8px}.assembly-fragment-key small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.assembly-junction-section{padding:17px 20px 6px}.assembly-junction-section h3{margin:0 0 10px;font-size:14px}.assembly-junction-list{gap:7px;display:grid}.assembly-junction-list>div{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);grid-template-columns:20px minmax(0,1fr);gap:9px;padding:11px;display:grid}.assembly-junction-list>div.valid>span{color:var(--success)}.assembly-junction-list>div.invalid>span{color:var(--danger)}.assembly-junction-list p{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 10px;min-width:0;margin:0;display:grid}.assembly-junction-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.assembly-junction-list code{color:var(--brand-strong);text-overflow:ellipsis;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;overflow:hidden}.assembly-junction-list small{color:var(--muted);grid-column:1/-1;font-size:10px}.assembly-method-note{color:var(--muted);margin:0;padding:13px 20px 18px;font-size:11px;line-height:1.65}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.gel-workbench{grid-template-columns:250px minmax(0,1fr) 290px;grid-template-areas:"left main right";align-items:start;gap:14px;display:grid}.gel-workbench-main{grid-area:main;min-width:0;overflow:hidden}.gel-workbench-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:16px 20px;display:flex}.gel-workbench-head>div:first-child{min-width:0}.gel-workbench-kicker{color:#006b7b;color:lab(40.4764% -29.5625 -20.1458);letter-spacing:.08em;margin-bottom:4px;font-size:11px;font-weight:760;display:block}.gel-workbench-head h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;overflow:hidden}.gel-workbench-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.gel-saved-status{color:var(--muted-light);margin-top:3px;font-size:10px;display:block}.gel-export-format select{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:40px;color:var(--ink);background:var(--surface);padding:0 26px 0 10px;font-size:12px;font-weight:680}.gel-export-format select:disabled{cursor:not-allowed;color:var(--muted-light);background:var(--surface-muted)}.gel-editor-stage-wrap{background:#080e14;background:lab(3.68067% -.738166 -3.62844);place-items:center;min-height:570px;padding:24px;display:grid}.gel-editor-stage{max-width:none;max-height:none;margin-inline:auto}.gel-editor-stage-wrap.has-image{place-items:initial;scrollbar-color:oklch(45% .02 245) oklch(16% .015 245);display:block;position:relative;overflow:auto}.gel-editor-stage-scroll{width:max-content;min-width:100%;min-height:430px;padding:56px 24px 24px}.gel-editor-stage img{object-fit:fill;transform-origin:50%;width:100%;max-width:none;height:100%;max-height:none}.gel-zoom-toolbar{z-index:8;border-radius:var(--radius-md);background:#0f171ef0;background:lab(7.21303% -1.87187 -5.98189/.94);grid-template-columns:40px 62px 40px;width:142px;height:40px;display:grid;position:sticky;top:12px;left:calc(100% - 154px);overflow:hidden;box-shadow:0 8px 24px #00000047}.gel-zoom-toolbar button{color:#d5e0e9;color:lab(88.4041% -2.41369 -6.17851);cursor:pointer;background:0 0;border:0;place-items:center;min-width:40px;min-height:40px;padding:0;display:grid}.gel-zoom-toolbar button+button{border-left:1px solid #333c43;border-left:1px solid lab(24.596% -2.25344 -6.10428)}.gel-zoom-toolbar button:hover:not(:disabled){background:#1b2c32;background:lab(16.5892% -5.50172 -6.58758)}.gel-zoom-toolbar button:active:not(:disabled){transform:scale(.96)}.gel-zoom-toolbar button:disabled{opacity:.36;cursor:not-allowed}.gel-zoom-toolbar .gel-zoom-value{font-variant-numeric:tabular-nums;font-size:12px;font-weight:720}.gel-upload-empty{border-radius:var(--radius-md);cursor:pointer;color:#cadae7;color:lab(86.0827% -3.29375 -8.55187);background:#10171e;background:lab(7.19132% -1.40467 -6.19333);border:1px dashed #6c7985;border:1px dashed lab(50.1172% -3.18429 -8.50138);align-content:center;place-items:center;gap:9px;min-width:260px;min-height:184px;padding:24px;transition:transform .15s,border-color .15s,background .15s;display:grid}.gel-upload-empty:hover{background:#111f27;background:lab(10.7196% -4.1019 -7.55511);border-color:#6fbbcd;border-color:lab(71.5506% -21.3083 -16.7223)}.gel-upload-empty:active{transform:scale(.96)}.gel-upload-empty>span{border-radius:var(--radius-md);color:#43cfe5;color:lab(76.5498% -33.302 -22.2909);background:#112a33;background:lab(15.4602% -7.41003 -9.12853);place-items:center;width:54px;height:54px;display:grid}.gel-upload-empty strong{font-size:15px}.gel-upload-empty small{color:#8f9daa;color:lab(64.0399% -3.23859 -8.52578)}.gel-tool-rail{gap:12px;display:grid}.gel-tool-rail-left{grid-area:left}.gel-tool-rail-right{grid-area:right}.gel-tool-rail section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-panel);gap:11px;padding:16px;display:grid}.gel-tool-rail h3{align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.gel-tool-rail h3 svg{color:#006b7b;color:lab(40.4764% -29.5625 -20.1458)}.gel-tool-rail p{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.gel-tool-rail .button{width:100%}.gel-rotate-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.gel-rotate-actions .button{padding-inline:7px}.image-lane-box{z-index:5;cursor:move;touch-action:none;border:1px solid #00d6e8;border:1px solid lab(78.0062% -41.33 -22.0166);position:absolute;box-shadow:inset 0 0 0 1px #02061773}.image-lane-label{color:#dcf8fb;color:lab(95.6316% -9.10911 -4.87131);white-space:nowrap;background:#00596b;background:lab(33.425% -28.7496 -24.2694);align-items:center;min-height:22px;padding:0 7px;font-size:10px;font-weight:720;line-height:1;display:inline-flex;position:absolute;top:-25px;left:-1px}.lane-handle{background:#39f3fc;background:lab(87.4351% -43.8416 -18.012);border:1px solid #001f27;border:1px solid lab(9.71606% -9.03687 -9.41073);width:11px;height:11px;position:absolute}.lane-handle.nw{cursor:nwse-resize;top:-6px;left:-6px}.lane-handle.ne{cursor:nesw-resize;top:-6px;right:-6px}.lane-handle.sw{cursor:nesw-resize;bottom:-6px;left:-6px}.lane-handle.se{cursor:nwse-resize;bottom:-6px;right:-6px}.gel-marker-search{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:40px;color:var(--muted-light);background:var(--surface-muted);align-items:center;gap:8px;padding:0 10px;display:flex}.gel-marker-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.gel-marker-results{gap:6px;display:grid}.gel-marker-results>button{border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;min-height:48px;color:var(--ink);background:var(--surface);text-align:left;grid-template-columns:minmax(0,1fr) 46px;align-items:center;gap:8px;padding:7px 9px;transition:transform .14s,border-color .14s,background .14s;display:grid}.gel-marker-results>button:hover,.gel-marker-results>button.active{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.gel-marker-results>button:hover,.gel-marker-results>button.active{border-color:color-mix(in oklch,var(--brand)35%,var(--line))}}.gel-marker-results>button:hover,.gel-marker-results>button.active{background:var(--brand-soft)}.gel-marker-results>button:active{transform:scale(.96)}.gel-marker-results>button>span:first-child{gap:2px;min-width:0;display:grid}.gel-marker-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gel-marker-results small{color:var(--muted);font-size:10px}.gel-marker-results>button>span:last-child{flex-direction:column;justify-content:space-between;align-items:center;height:30px;padding:2px 0;display:flex}.gel-marker-results i{background:#006e7e;background:lab(41.6387% -29.6252 -20.1615);border-radius:999px;width:17px;height:1px}.gel-marker-results i.strong{width:24px;height:2px}.gel-marker-template-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.gel-marker-template-actions a{color:var(--brand-strong);font-size:11px;font-weight:650}.gel-marker-template-actions .button{width:auto}.gel-marker-item{grid-template-columns:minmax(70px,auto) minmax(58px,1fr) 28px}.gel-marker-item input{width:100%;min-width:0;accent-color:var(--brand-strong)}.gel-annotation-item{grid-template-columns:minmax(72px,1fr) minmax(60px,.8fr) 28px!important}.annotation-list>.gel-annotation-item{display:grid}.gel-annotation-item input{width:100%;min-width:0;accent-color:var(--brand-strong)}@media (max-width:1180px){.gel-workbench{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"main main""left right"}}@media (max-width:620px){.gel-workbench{grid-template-columns:1fr;grid-template-areas:"main""left""right"}.gel-workbench-head{flex-direction:column;align-items:stretch}.gel-workbench-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.gel-workbench-actions .button{width:100%;padding-inline:10px}.gel-export-format select{width:100%}.gel-editor-stage-wrap{min-height:360px}.gel-editor-stage-scroll{min-height:360px;padding:56px 12px 16px}.gel-upload-empty{width:100%;min-width:0}.gel-tool-rail{grid-template-columns:1fr}}.site-category-nav{flex-wrap:wrap;gap:8px;margin-bottom:30px;display:flex}.site-category-nav a{border:1px solid var(--line);border-radius:var(--radius-md);min-height:40px;color:var(--muted);background:var(--surface);align-items:center;gap:8px;padding:0 13px;font-size:13px;font-weight:650;transition:border-color .15s,color .15s,background .15s,transform .15s;display:inline-flex}.site-category-nav a:hover{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.site-category-nav a:hover{border-color:color-mix(in oklch,var(--brand)28%,var(--line))}}.site-category-nav a:hover{color:var(--brand-strong);background:var(--brand-soft)}.site-category-nav a:active{transform:scale(.97)}.site-category-nav span{min-width:20px;height:20px;color:var(--brand-strong);background:var(--brand-soft);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding-inline:5px;font-size:11px;display:grid}.site-categories{gap:34px;display:grid}.site-category{scroll-margin-top:84px}.site-category-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.site-category-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--brand-strong);background:var(--brand-soft);flex:none;place-items:center;display:grid}.site-category-head h2{margin:0;font-size:18px;line-height:1.35}.site-category-head p{color:var(--muted);margin:3px 0 0;font-size:13px}.site-category-list{border-radius:var(--radius-lg);background:var(--line);box-shadow:var(--shadow-panel);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;display:grid;overflow:hidden}.site-row{background:var(--surface);grid-template-columns:42px minmax(0,1fr) 22px;align-items:center;gap:14px;min-height:72px;padding:11px 18px;transition:background .15s,transform .15s;display:grid}.site-row:hover{background:var(--surface-muted)}.site-row:active{transform:scale(.99)}.site-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--brand-strong);background:var(--brand-soft);place-items:center;display:grid}.site-row>span:nth-child(2){gap:4px;display:grid}.site-row small{color:var(--muted)}.site-row>svg{color:var(--muted-light)}.admin-sidebar{background:#01071a;background:lab(2.05403% .908181 -10.7877)}.advanced-tool-page{--tool-accent:#006678}@supports (color:lab(0% 0 0)){.advanced-tool-page{--tool-accent:lab(39.0742% -22.4956 -18.9373)}}.advanced-two-column{align-items:start;gap:var(--space-lg);grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);display:grid}.advanced-input-panel,.advanced-result-panel{align-content:start;gap:var(--space-lg);min-width:0;padding:var(--space-xl);display:grid}.advanced-result-panel{min-height:410px}.advanced-panel-title{align-items:center;gap:var(--space-md);display:flex}.advanced-panel-title>svg{color:var(--tool-accent);flex:none}.advanced-panel-title h2{margin:0;font-size:17px;line-height:1.25}.advanced-panel-title p{color:var(--muted);margin:4px 0 0;font-size:12px}.advanced-sequence-field{color:var(--muted);gap:7px;font-size:11px;font-weight:680;display:grid;position:relative}.advanced-sequence-field textarea{resize:vertical;min-height:132px;color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.65}.advanced-sequence-field small{color:var(--muted-light);background:var(--surface);padding:2px 5px;position:absolute;bottom:7px;right:9px}@supports (color:color-mix(in lab, red, red)){.advanced-sequence-field small{background:color-mix(in oklch,var(--surface)90%,transparent)}}.advanced-sequence-field small{font-size:9px;font-weight:600}.advanced-inline-field{align-items:center;gap:var(--space-md);color:var(--muted);grid-template-columns:minmax(0,1fr) minmax(112px,.45fr);font-size:12px;font-weight:680;display:grid}.advanced-upload{min-height:112px;padding:var(--space-lg);border:1px dashed var(--tool-accent);align-content:center;place-items:center;gap:5px;display:grid}@supports (color:color-mix(in lab, red, red)){.advanced-upload{border:1px dashed color-mix(in oklch,var(--tool-accent)42%,var(--line))}}.advanced-upload{border-radius:var(--radius-md);color:var(--tool-accent);background:var(--brand-soft)}@supports (color:color-mix(in lab, red, red)){.advanced-upload{background:color-mix(in oklch,var(--brand-soft)38%,var(--surface))}}.advanced-upload{cursor:pointer;text-align:center}.advanced-upload input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.advanced-upload strong{color:var(--ink);font-size:13px}.advanced-upload span{color:var(--muted);font-size:10px}.advanced-error{color:var(--danger);margin:0;font-size:11px}.advanced-metrics{gap:var(--space-sm);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.advanced-metrics-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.advanced-metrics>div{min-width:0;min-height:76px;padding:var(--space-md);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);align-content:space-between;gap:7px;display:grid}.advanced-metrics dt{color:var(--muted);font-size:10px}.advanced-metrics dd{color:var(--ink);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;font-weight:760;overflow:hidden}.alignment-output{max-height:460px;padding:var(--space-lg);border:1px solid var(--line);border-radius:var(--radius-sm);background:#f3f8fa;background:lab(97.1371% -1.53571 -1.47935);gap:14px;display:grid;overflow:auto}.alignment-output pre{color:#003140;color:lab(17.83% -10.9026 -14.1655);margin:0;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.55}.advanced-empty{min-height:260px;color:var(--muted);text-align:center;place-items:center;font-size:12px;display:grid}.advanced-method-note{max-width:88ch;margin-top:var(--space-lg);padding:var(--space-md)2px;color:var(--muted);font-size:10px;line-height:1.7}.orf-list{gap:7px;max-height:540px;display:grid;overflow:auto}.orf-list article{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);grid-template-columns:28px minmax(0,1fr) 32px;align-items:center;gap:10px;padding:10px;display:grid}.orf-list article>span{width:26px;height:26px;color:var(--brand-strong);background:var(--brand-soft);border-radius:50%;place-items:center;font-size:10px;font-weight:760;display:grid}.orf-list article>div{gap:4px;min-width:0;display:grid}.orf-list strong{font-size:11px}.orf-list code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.orf-list button{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.orf-list button:hover{color:var(--brand-strong);background:var(--brand-soft)}.composition-chart{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:4px;min-height:170px;padding:18px 12px 9px;display:flex}.composition-chart div{flex:1;place-items:end center;gap:4px;display:grid}.composition-chart span,.composition-chart small{color:var(--muted);font-size:8px}.composition-chart i{background:var(--tool-accent);border-radius:3px 3px 0 0;width:min(16px,75%);min-height:3px;max-height:132px}.curve-data-input{min-height:188px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.6}.curve-preview{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);width:100%;min-height:210px}.curve-preview line{stroke:var(--line);stroke-width:1px}.curve-preview polyline{fill:none;stroke:var(--tool-accent);stroke-width:2px;vector-effect:non-scaling-stroke}.curve-preview circle{fill:var(--tool-accent)}.curve-preview circle.outlier{fill:var(--danger)}.curve-residual-list{flex-wrap:wrap;gap:6px;display:flex}.curve-residual-list span{color:var(--muted);background:var(--surface-muted);border-radius:6px;gap:5px;padding:5px 7px;font-size:9px;display:inline-flex}.curve-residual-list span.outlier{color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab, red, red)){.curve-residual-list span.outlier{background:color-mix(in oklch,var(--danger)7%,var(--surface))}}.rna-structure{padding:var(--space-lg);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);gap:8px;display:grid;overflow-x:auto}.rna-structure code{color:#003542;color:lab(19.1553% -15.9007 -15.6556);letter-spacing:.06em;white-space:pre;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}.rna-pairs{flex-wrap:wrap;gap:6px;display:flex}.rna-pairs span{color:var(--brand-strong);background:var(--brand-soft);font-variant-numeric:tabular-nums;border-radius:6px;padding:5px 7px;font-size:9px}.advanced-field-grid{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.advanced-field-grid label{min-width:0;color:var(--muted);gap:6px;font-size:10px;font-weight:680;display:grid}.ngs-pool-table{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.ngs-pool-table>div{gap:var(--space-md);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 150px;padding:10px 12px;font-size:11px;display:grid}.ngs-pool-table>div:last-child{border-bottom:0}.ngs-pool-table>div:first-child{color:var(--muted);background:var(--surface-muted);font-size:9px}.ngs-pool-table strong{font-variant-numeric:tabular-nums}@media (max-width:980px){.advanced-two-column{grid-template-columns:1fr}.advanced-result-panel{min-height:0}}@media (max-width:640px){.advanced-input-panel,.advanced-result-panel{padding:var(--space-lg)}.advanced-metrics,.advanced-metrics-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.advanced-field-grid,.advanced-inline-field{grid-template-columns:1fr}.composition-chart{justify-content:flex-start;overflow-x:auto}.composition-chart div{min-width:18px}}.admin-sidebar .brand-lockup{padding-bottom:22px}.admin-nav-label{color:#697c92;color:lab(51.19% -3.20727 -14.1269);letter-spacing:.12em;margin:0 14px 10px;font-size:10px;font-weight:760}.admin-sidebar .nav-link.active{color:#030b1c;color:lab(2.88708% .596941 -10.9005);background:#b0ddff;background:lab(85.9115% -9.48945 -33.7801)}.admin-identity{color:#f6f9fc;color:lab(97.6703% -.411928 -1.83777);border-top:1px solid #1d2735;border-top:1px solid lab(15.1855% -.949442 -10.7518);align-items:center;gap:11px;min-width:0;padding-top:16px;display:flex}.admin-identity>span:last-child{gap:4px;min-width:0;display:grid}.admin-identity strong,.admin-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-identity strong{font-size:13px}.admin-identity small{color:#8294ab;color:lab(60.4556% -2.85032 -14.3128);font-size:11px}.admin-signout{cursor:pointer;color:#94a6be;color:lab(67.419% -2.91342 -14.3379);background:0 0;border:1px solid #222c3a;border:1px solid lab(17.5097% -1.0256 -10.7737);border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:38px;font-size:12px;font-weight:650;display:flex}.admin-signout:hover{color:#f6f9fc;color:lab(97.6703% -.411928 -1.83777);background:var(--navy-soft)}.admin-topbar{height:68px}.admin-topbar-title{align-items:center;gap:10px;display:flex}.admin-topbar-title>div{gap:2px;display:grid}.admin-topbar-title span{color:var(--muted-light);letter-spacing:.08em;font-size:10px;font-weight:720}.admin-role-badge{border:1px solid var(--brand);align-items:center;gap:7px;min-height:32px;padding:0 11px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.admin-role-badge{border:1px solid color-mix(in oklch,var(--brand)18%,var(--line))}}.admin-role-badge{color:var(--brand-strong);background:var(--brand-soft);border-radius:8px;font-size:12px;font-weight:700}.admin-content{width:min(100%,1420px)}.admin-protocol-library{padding-top:2px}.admin-team-metrics{gap:10px;display:flex}.admin-team-groups{gap:14px;display:grid}.admin-team-group{overflow:hidden}.admin-team-group>header{border-bottom:1px solid var(--line);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:24px;min-height:92px;padding:20px 22px;display:flex}.admin-team-group>header>div:first-child{grid-template-columns:auto auto 1fr;align-items:center;gap:8px 10px;display:grid}.admin-team-group h2{margin:0;font-size:18px}.admin-team-group>header>div:first-child>span{color:var(--muted);font-size:12px}.admin-team-group.unassigned>header{background:var(--surface-muted)}@supports (color:color-mix(in lab, red, red)){.admin-team-group.unassigned>header{background:color-mix(in oklch,var(--surface-muted)65%,var(--surface))}}.admin-team-owner{text-align:right;grid-template-columns:auto auto;gap:3px 12px;display:grid}.admin-team-owner small,.admin-team-owner span{color:var(--muted-light);font-size:11px}.admin-team-owner time{color:var(--muted);justify-content:flex-end;align-items:center;gap:5px;font-size:11px;display:inline-flex}.admin-team-members{display:grid}.admin-team-member-head,.admin-team-member-row{grid-template-columns:minmax(160px,.8fr) minmax(240px,1.4fr) 150px;align-items:center;gap:16px;min-height:48px;padding:0 22px;display:grid}.admin-team-member-head{color:var(--muted-light);background:var(--surface);letter-spacing:.04em;font-size:10px;font-weight:720}.admin-team-member-row{border-top:1px solid var(--line)}.admin-team-member-row strong,.admin-team-member-row span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.admin-team-member-row span{color:var(--muted)}.admin-team-member-row .badge{justify-self:start}.admin-team-table{overflow:hidden}.admin-team-head,.admin-team-row{grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) 110px 150px;align-items:center;gap:18px;padding:0 22px;display:grid}.admin-team-head{min-height:48px;color:var(--muted-light);background:var(--surface-muted);font-size:11px;font-weight:700}.admin-team-row{border-top:1px solid var(--line);min-height:82px}.admin-team-row>div{gap:5px;min-width:0;display:grid}.admin-team-row strong,.admin-team-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-team-row strong{font-size:13px}.admin-team-row small{color:var(--muted-light);font-size:11px}.admin-team-row>.badge{justify-self:start}.admin-team-date{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:12px;display:inline-flex}.admin-reagent-toolbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.admin-reagent-page-actions{align-items:center;gap:10px;display:flex}.admin-reagent-toolbar .protocol-categories{margin:0}.admin-reagent-table{overflow:hidden}.admin-reagent-head,.admin-reagent-row{grid-template-columns:minmax(200px,1.1fr) 76px minmax(150px,.8fr) minmax(130px,.68fr) minmax(150px,.8fr) minmax(210px,auto);align-items:center;gap:14px;padding:0 20px;display:grid}.admin-reagent-head{min-height:48px;color:var(--muted-light);background:var(--surface-muted);font-size:11px;font-weight:700}.admin-reagent-row{border-top:1px solid var(--line);min-height:78px}.admin-reagent-row>strong{font-size:13px}.admin-reagent-row>.badge{justify-self:start}.admin-reagent-row>div{gap:5px;min-width:0;display:grid}.admin-reagent-row span,.admin-reagent-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-reagent-row span{font-size:12px}.admin-reagent-row small{color:var(--muted-light);font-size:11px}.admin-reagent-product-link a{width:fit-content;color:var(--brand-strong);align-items:center;gap:5px;font-size:12px;font-weight:650;display:inline-flex}.admin-reagent-product-link a:hover{text-underline-offset:3px;text-decoration:underline}.admin-reagent-edit{min-height:40px;color:var(--brand-strong);white-space:nowrap;justify-self:end;gap:5px;padding-inline:9px}.admin-reagent-actions{flex-wrap:wrap;justify-content:flex-end;gap:3px!important;display:flex!important}.admin-reagent-review-actions{gap:3px;display:flex}.admin-reagent-status-filter{margin-left:auto!important}.admin-reagent-delete{min-height:40px;color:var(--danger);white-space:nowrap;gap:5px;padding-inline:9px}.reagent-dialog{width:min(100vw - 24px,620px)}.reagent-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;display:grid}.reagent-name-field,.reagent-product-link-field{grid-column:1/-1}.reagent-total{border-color:var(--brand)}@supports (color:color-mix(in lab, red, red)){.reagent-total{border-color:color-mix(in oklch,var(--brand)20%,var(--line))}}.reagent-total{color:var(--brand-strong);background:var(--brand-soft)}.admin-protocol-summary{min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:0 4px;font-size:13px;display:flex}.admin-protocol-summary span:first-child{color:var(--ink);align-items:center;gap:8px;display:flex}.admin-protocol-list{gap:10px;display:grid}.admin-protocol-row{min-height:116px;box-shadow:none;grid-template-columns:140px minmax(0,1fr) 24px;align-items:center;gap:22px;padding:20px 22px;transition:border-color .15s,background .15s;display:grid}.admin-protocol-row:hover{background:var(--brand-soft);border-color:#9ab3d4;border-color:lab(71.992% -3.39603 -19.6949)}@supports (color:color-mix(in lab, red, red)){.admin-protocol-row:hover{background:color-mix(in oklch,var(--brand-soft)28%,var(--surface))}}.admin-protocol-code{justify-items:start;gap:9px;display:grid}.admin-protocol-code>span,.official-code{color:var(--brand-strong);letter-spacing:.035em;font-size:14px;font-weight:780}.admin-protocol-row h3{margin:0;font-size:16px}.admin-protocol-row p{max-width:76ch;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:7px 0 0;font-size:13px;overflow:hidden}.admin-protocol-meta{color:var(--muted-light);flex-wrap:wrap;gap:14px;margin-top:12px;font-size:12px;display:flex}.admin-protocol-meta span{align-items:center;gap:5px;display:inline-flex}.admin-row-arrow{color:var(--muted-light);font-size:26px}.admin-protocol-hero{justify-content:space-between;align-items:flex-start;gap:28px;padding:27px 30px;display:flex}.admin-protocol-hero>div{min-width:0}.admin-protocol-hero p{max-width:76ch;color:var(--muted);margin:13px 0 0;line-height:1.65}.official-code{border:1px solid var(--line);background:var(--surface-muted);border-radius:8px;flex:none;padding:8px 11px}.admin-protocol-detail-grid{grid-template-columns:minmax(340px,.72fr) minmax(500px,1.28fr);align-items:start;gap:16px;margin-top:16px;display:grid}.admin-protocol-detail-grid>.panel{overflow:hidden}.admin-protocol-detail-grid .section-title{border-bottom:1px solid var(--line);padding:20px 22px}.admin-material-table{display:grid}.admin-material-table>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.4fr) .7fr .8fr;gap:12px;padding:13px 22px;font-size:12px;display:grid}.admin-material-table>div:last-child{border-bottom:0}.admin-material-table .admin-material-head{color:var(--muted-light);background:var(--surface-muted);font-size:11px;font-weight:680}.admin-step-list{margin:0;padding:0;list-style:none;display:grid}.admin-step-list li{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(0,1fr) auto;align-items:start;gap:14px;min-height:82px;padding:17px 22px;display:grid}.admin-step-list li:last-child{border-bottom:0}.admin-step-list li>span{width:28px;height:28px;color:var(--brand-strong);background:var(--brand-soft);border-radius:7px;place-items:center;font-size:12px;font-weight:760;display:grid}.admin-step-list strong{font-size:13px}.admin-step-list p{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.55}.admin-step-list small{color:var(--muted-light);white-space:nowrap}.review-total{border:1px solid var(--warning);align-items:center;gap:8px;min-height:40px;padding:0 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.review-total{border:1px solid color-mix(in oklch,var(--warning)28%,var(--line))}}.review-total{color:#8a5100;color:lab(40.4718% 20.9245 49.2772);background:#fff5e7;background:lab(97.1539% 1.85162 9.44778);border-radius:9px}.review-total span{font-size:13px}.review-total strong{text-align:right;min-width:20px;font-size:18px}.review-kind-rail{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);grid-template-columns:repeat(3,1fr);margin-bottom:16px;display:grid;overflow:hidden}.review-kind-rail button{border:0;border-right:1px solid var(--line);cursor:pointer;min-height:62px;color:var(--muted);text-align:left;background:0 0;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:0 18px;transition:color .15s,background .15s;display:grid}.review-kind-rail button:last-child{border-right:0}.review-kind-rail button:hover{color:var(--ink);background:var(--surface-muted)}.review-kind-rail button.active{color:var(--brand-strong);background:var(--brand-soft)}.review-kind-rail button span{font-weight:680}.review-kind-rail button b{min-width:25px;height:25px;color:var(--muted);background:var(--surface-muted);border-radius:999px;place-items:center;font-size:12px;display:grid}.review-kind-rail button.active b{color:var(--brand-strong);background:var(--surface)}.admin-review-layout{grid-template-columns:minmax(420px,.9fr) minmax(460px,1.1fr);align-items:start;gap:16px;display:grid}.review-queue-panel{overflow:hidden}.review-queue-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:10px 14px;display:flex}.review-scope{background:var(--surface-muted);border-radius:8px;gap:3px;padding:3px;display:flex}.review-scope button{cursor:pointer;min-height:31px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:0 12px;font-size:12px;font-weight:650}.review-scope button.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 2px #0c121a14;box-shadow:0 1px 2px lab(5.19304% -.298686 -6.50336/.08)}.review-search{border:1px solid var(--line);width:170px;height:36px;color:var(--muted-light);background:var(--surface);border-radius:8px;align-items:center;gap:7px;padding:0 10px;display:flex}.review-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.review-queue-list{max-height:650px;overflow-y:auto}.review-queue-row{border:0;border-bottom:1px solid var(--line);cursor:pointer;width:100%;min-height:112px;color:var(--ink);text-align:left;background:0 0;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:12px;padding:17px;transition:background .15s;display:grid}.review-queue-row:last-child{border-bottom:0}.review-queue-row:hover{background:var(--surface-muted)}.review-queue-row.active{background:var(--brand-soft)}@supports (color:color-mix(in lab, red, red)){.review-queue-row.active{background:color-mix(in oklch,var(--brand-soft)68%,var(--surface))}}.review-kind-mark{width:36px;height:36px;color:var(--brand-strong);background:var(--brand-soft);border-radius:9px;place-items:center;display:grid}.review-kind-mark.team{color:#007140;color:lab(41.3605% -42.9274 19.9499);background:#dcf6e5;background:lab(94.6735% -11.0199 5.12637)}.review-kind-mark.catalog{color:#9f6100;color:lab(47.3645% 25.4174 74.6686);background:#fff1dd;background:lab(96.0096% 2.69821 13.3083)}.review-row-copy{gap:5px;min-width:0;display:grid}.review-row-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.review-row-copy small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px;overflow:hidden}.review-row-copy time{color:var(--muted-light);align-items:center;gap:5px;font-size:11px;display:inline-flex}.review-empty{min-height:280px;color:var(--muted);place-items:center;display:grid}.review-inspector{min-height:510px;position:sticky;top:76px;overflow:hidden}.review-inspector-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 22px;display:flex}.review-request-id{color:var(--brand-strong);letter-spacing:.04em;font-size:11px;font-weight:720}.review-inspector-head h3{margin:7px 0 0;font-size:21px}.review-inspector-head p{color:var(--muted);margin:8px 0 0;font-size:13px}.review-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 26px 20px;display:grid}.review-facts>div{border-bottom:1px solid var(--line);gap:5px;padding:15px 0;display:grid}.review-facts>div:nth-child(odd){padding-right:18px}.review-facts>div:nth-child(2n){border-left:1px solid var(--line);padding-left:18px}.review-facts dt{color:var(--muted-light);font-size:11px}.review-facts dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:620}.review-target-link{border:1px solid var(--line);color:var(--brand-strong);border-radius:8px;justify-content:space-between;align-items:center;margin:0 26px 20px;padding:11px 13px;font-size:13px;font-weight:650;display:flex}.review-target-link:hover{background:var(--brand-soft)}.review-decision{border-top:1px solid var(--line);background:var(--surface-muted);gap:10px;padding:20px 26px 24px;display:grid}.review-decision>label{font-size:12px;font-weight:680}.review-decision .textarea{background:var(--surface);min-height:92px}.review-decision .textarea:disabled{color:var(--muted);background:var(--surface-muted)}@supports (color:color-mix(in lab, red, red)){.review-decision .textarea:disabled{background:color-mix(in oklch,var(--surface-muted)75%,var(--surface))}}.review-decision-actions{justify-content:flex-end;gap:9px;display:flex}.review-completed{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.review-inspector-empty{min-height:510px;color:var(--muted-light);align-content:center;place-items:center;gap:10px;display:grid}@media (max-width:1050px){.admin-review-layout{grid-template-columns:minmax(350px,.9fr) minmax(400px,1.1fr)}.step-editor-workspace{grid-template-columns:1fr}.step-components-pane{position:static}}@media (max-width:1100px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1040px){.utility-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1120px){.primer-design-layout{grid-template-columns:1fr}.primer-settings-panel{position:static}.primer-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primer-result-row{grid-template-columns:64px minmax(0,1fr) auto}.primer-pair-metrics{grid-column:2}}@media (max-width:1080px){.molecular-input-grid,.plasmid-results-grid{grid-template-columns:1fr}.plasmid-map-panel{border-right:0;border-bottom:1px solid var(--line)}.crispr-workbench{grid-template-columns:1fr}}@media (max-width:1120px){.virtual-gel-workbench{grid-template-columns:1fr}.virtual-gel-preview{position:static}.assembly-workbench{grid-template-columns:1fr}.assembly-preview-panel{position:static}}@media (max-width:820px){.pricing-grid,.site-category-list{grid-template-columns:1fr}.audit-row{grid-template-columns:42px 1fr}.audit-row time{grid-column:2}.admin-review-layout,.admin-protocol-detail-grid{grid-template-columns:1fr}.review-inspector{position:static}.admin-team-group>header{flex-direction:column;align-items:flex-start}.admin-team-owner{text-align:left}.admin-team-owner time{justify-content:flex-start}.admin-team-head,.admin-team-row{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 90px}.admin-team-head>:last-child,.admin-team-date{display:none}.admin-reagent-toolbar{flex-direction:column;align-items:stretch}.admin-reagent-toolbar .list-search{width:100%}.admin-reagent-status-filter{margin-left:0!important}.admin-reagent-head,.admin-reagent-row{grid-template-columns:minmax(180px,1fr) 80px minmax(160px,.8fr) minmax(210px,auto)}.admin-reagent-head>:nth-child(3),.admin-reagent-row>:nth-child(3),.admin-reagent-head>:nth-child(5),.admin-reagent-row>:nth-child(5){display:none}}@media (max-width:620px){.utility-grid{grid-template-columns:1fr}.utility-card{min-height:170px}.record-save-actions{flex-direction:column;align-items:stretch}.record-save-actions .button{width:100%}.record-history li{grid-template-columns:auto 1fr}.record-history time{grid-column:2}.step-usage-list>div{border-bottom:1px solid var(--line);grid-template-columns:1fr;padding:10px 0}}@media (max-width:700px){.primer-input-panel,.primer-settings-panel{padding:18px}.primer-settings-grid{grid-template-columns:1fr}.primer-result-row{grid-template-columns:42px minmax(0,1fr);gap:13px;padding:17px 14px}.primer-rank{grid-row:1/span 2}.primer-pair-copy{grid-column:2}.primer-pair-metrics{grid-column:2;grid-template-columns:1fr;gap:7px}.primer-pair-metrics>div{border:0;justify-content:space-between;padding:0;display:flex}.primer-result-row>.button{grid-column:2;justify-self:start}.primer-result-sequence{grid-template-columns:1fr}.primer-result-sequence small{grid-column:1}.primer-input-actions{justify-content:flex-start}}@media (max-width:620px){.molecular-input-panel,.enzyme-panel,.digest-panel,.plasmid-map-panel{padding:18px}.molecular-actions{justify-content:flex-start}.molecular-results-head{flex-direction:column;align-items:flex-start}.enzyme-options{grid-template-columns:1fr 1fr}.plasmid-circular-map{width:100%}.crispr-settings-panel{padding:18px}.crispr-method-facts{grid-template-columns:1fr;gap:10px}.crispr-method-facts>div:nth-child(n){border:0;justify-content:space-between;padding:0;display:flex}.guide-results-head{flex-direction:column;align-items:flex-start}.gel-settings-panel,.gel-lanes-panel{padding:18px}.gel-settings-grid{grid-template-columns:1fr 1fr}.gel-lanes-head{flex-direction:column;align-items:stretch}.gel-add-lane{align-self:flex-start}.gel-lane-draft{grid-template-columns:28px minmax(0,1fr) 40px}.gel-lane-draft label:first-of-type{grid-column:2}.gel-lane-draft label:last-of-type{grid-area:2/2}.gel-lane-draft>span{grid-row:1/span 2}.gel-remove-lane{grid-area:1/3}.gel-control-actions{justify-content:flex-start}.gel-preview-head{flex-direction:column;align-items:flex-start}.gel-preview-head dl>div:first-child{border-left:0;padding-left:0}.gel-canvas{min-height:360px;padding:8px}.assembly-method-panel,.assembly-fragment-panel{padding:18px}.assembly-fragment-head{flex-direction:column;align-items:stretch}.assembly-add{align-self:flex-start}.assembly-fragment{grid-template-columns:28px minmax(0,1fr)}.assembly-fragment-fields{grid-template-columns:1fr}.assembly-fragment-fields label:nth-child(n){grid-column:1}.assembly-fragment-actions{grid-column:1/-1;padding-left:38px;display:flex}.assembly-preview-head{flex-direction:column;align-items:flex-start}.assembly-map-stage{min-height:310px;padding-inline:4px}.assembly-junction-list p{grid-template-columns:1fr}.assembly-junction-list code,.assembly-junction-list small{grid-column:1}}@media (max-width:390px){.assembly-method-options{grid-template-columns:1fr}.assembly-editor-actions{grid-template-columns:1fr 1fr;display:grid}.assembly-editor-actions .button{width:100%;padding-inline:8px}}@media (max-width:620px){.review-kind-rail{grid-template-columns:1fr}.review-kind-rail button{border-right:0;border-bottom:1px solid var(--line);min-height:52px}.review-kind-rail button:last-child{border-bottom:0}.review-queue-toolbar{flex-direction:column;align-items:stretch}.review-search{width:100%}.review-queue-list{max-height:none}.review-queue-row{grid-template-columns:36px minmax(0,1fr)}.review-queue-row>.badge{grid-column:2;justify-self:start}.review-inspector-head,.review-decision{padding-inline:18px}.review-facts{grid-template-columns:1fr;padding-inline:18px}.review-facts>div:nth-child(n){border-left:0;padding-inline:0}.review-target-link{margin-inline:18px}.admin-role-badge{display:none}.admin-protocol-row{grid-template-columns:1fr 22px;gap:12px;padding:18px}.admin-protocol-code{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.admin-protocol-row>div:nth-child(2){min-width:0}.admin-protocol-summary{flex-direction:column;align-items:flex-start}.admin-protocol-hero{flex-direction:column;align-items:stretch;padding:22px 18px}.official-code{align-self:flex-start}.admin-material-table>div{grid-template-columns:minmax(0,1.2fr) .7fr}.admin-material-table>div>:last-child{display:none}.admin-step-list li{grid-template-columns:28px minmax(0,1fr)}.admin-step-list small{grid-column:2}.admin-team-metrics{width:100%}.admin-team-metrics>div{flex:1}.admin-team-group>header{padding:17px}.admin-team-member-head{display:none}.admin-team-member-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 17px}.admin-team-member-row>span{grid-area:2/1}.admin-team-member-row>.badge{grid-area:1/2/span 2}.admin-team-head{display:none}.admin-team-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px 17px}.admin-team-row>div:nth-child(2){grid-column:1}.admin-team-row>.badge{grid-area:1/2}.admin-reagent-page-actions{justify-content:space-between;width:100%}.reagent-form-grid{grid-template-columns:1fr}.reagent-name-field,.reagent-product-link-field{grid-column:auto}.admin-reagent-head{display:none}.admin-reagent-row{grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:15px 17px}.admin-reagent-row>:nth-child(3){grid-column:1;display:grid}.admin-reagent-row>:nth-child(4){grid-column:1}.admin-reagent-row>:nth-child(5){grid-column:1/-1;display:grid}.admin-reagent-row>.badge{grid-area:1/2}.admin-reagent-actions{grid-area:auto/1/auto/-1;justify-content:flex-start}}@media (max-width:560px){.team-row{grid-template-columns:40px 1fr 36px;padding-inline:14px}.team-row>.badge{display:none}.project-foot{flex-direction:column;align-items:flex-start}.site-category-nav{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-12px;padding-inline:12px;overflow-x:auto}.site-category-nav::-webkit-scrollbar{display:none}.site-category-nav a{flex:none}.site-category-head{align-items:flex-start}.site-row{padding-inline:13px}}@media (max-width:980px){.team-dashboard-grid,.member-workspace-grid{grid-template-columns:1fr}.team-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.team-stat-strip>div:nth-child(2){border-right:0}.team-stat-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (max-width:720px){.team-table-head{display:none}.team-row.team-data-row{grid-template-columns:40px minmax(0,1fr) 36px}.team-data-row>.team-number,.team-data-row>.badge{display:none}.member-workspace-head{grid-template-columns:50px minmax(0,1fr);padding:22px 18px}.member-workspace-head dl{grid-column:1/-1;grid-template-columns:repeat(3,1fr);width:100%}.member-workspace-head dl>div:first-child{border-left:0;padding-left:0}}@media (max-width:480px){.team-stat-strip{grid-template-columns:1fr}.team-stat-strip>div{border-right:0;border-bottom:1px solid var(--line);min-height:96px}.team-stat-strip>div:last-child{border-bottom:0}.member-experiment-table>a{grid-template-columns:minmax(0,1fr) auto}.member-experiment-table time{text-align:left;grid-column:1/-1}}@media (max-width:840px){.login-page{grid-template-columns:1fr}.login-brand{place-items:start;min-height:auto;padding:32px 24px}.login-brand h1{margin:38px 0 12px;font-size:36px;line-height:1.35}.login-brand>div>p{font-size:15px}.login-features{display:none}.login-form-wrap{min-height:auto;padding:48px 20px}}@media (max-width:620px){.record-panel-head{flex-direction:column;align-items:stretch}.record-type-actions .button{flex:1}.execution-panel,.records-workspace-panel{padding:16px}.experiment-export-actions{width:100%}.experiment-export-actions .button{flex:1}.record-image-picker{grid-template-columns:1fr}.attachment-picker-only .button{width:100%}.protocol-meta-fields,.image-editor-body{grid-template-columns:1fr}.image-editor-stage-wrap{min-height:300px}}@media print{html{background:#fff!important}body{font-size:7pt;line-height:1.3}.protocol-print-header{padding-bottom:2.5mm}.protocol-print-header h1{margin-bottom:2mm;font-size:14pt}.protocol-print-meta{grid-template-columns:auto auto;justify-content:start;gap:5mm;font-size:7.4pt}.protocol-print-meta span:last-child{text-align:left}.section-title{font-size:8.4pt}.protocol-step-list h4{font-size:7.5pt}.protocol-step-list p,.environment-panel dt,.environment-panel dd{font-size:6.7pt}.material-card strong{font-size:7pt}.material-card span,.material-card>.material-catalog-link,.step-data-table,.protocol-step-list small{font-size:6.3pt}body[data-protocol-print=compact] .protocol-print-header,body[data-protocol-print=compact] .section-title,body[data-protocol-print=compact] .step-data-table th,body[data-protocol-print=compact] .step-note,body[data-protocol-print=compact] .badge,body[data-protocol-print=compact] .protocol-step-list li,body[data-protocol-print=compact] .step-index{color:#000;background:0 0;border-color:#000}body[data-protocol-print=compact] .protocol-print-header{border-color:#000}body[data-protocol-print=compact] *{box-shadow:none!important}body[data-protocol-print=compact] .protocol-detail-page *{color:#000!important;background:0 0!important;border-color:#000!important}body[data-experiment-print] .sidebar,body[data-experiment-print] .topbar,body[data-experiment-print] .experiment-detail-page>:not(.experiment-print-document){display:none!important}body[data-experiment-print] .experiment-print-document{color:#111;display:block}body[data-experiment-print],body[data-experiment-print] .main-frame,body[data-experiment-print] .content,body[data-experiment-print] .experiment-detail-page,body[data-experiment-print] .experiment-print-document{background:#fff!important}body[data-experiment-print]{-webkit-print-color-adjust:exact;print-color-adjust:exact}body[data-experiment-print] .experiment-print-document>header{border-bottom:1.2pt solid #1d4ed8;padding-bottom:2.5mm}body[data-experiment-print] .experiment-print-document h1{margin:0 0 2mm;font-size:14pt}body[data-experiment-print] .experiment-print-document>header>div{gap:5mm;font-size:7.4pt;display:flex}body[data-experiment-print] .experiment-print-document>header p{margin:1.5mm 0 0;font-size:6.8pt}body[data-experiment-print] .experiment-print-document h2{background:#edf1f5;border-bottom:.7pt solid #111;margin:3mm 0 1mm;padding:1mm 1.5mm;font-size:8.4pt}body[data-experiment-print] .experiment-print-materials{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2mm;display:grid}body[data-experiment-print] .experiment-print-materials article{break-inside:avoid;border:.5pt solid #c8ced7;grid-template-columns:minmax(0,1fr) auto;gap:.2mm 2mm;padding:1.2mm 1.5mm;display:grid}body[data-experiment-print] .experiment-print-materials strong{font-size:6.9pt}body[data-experiment-print] .experiment-print-materials span{color:#4b5563;font-size:6.3pt;line-height:1.15}body[data-experiment-print] .experiment-print-materials small{color:#667085;grid-column:1/-1;font-size:5.9pt;line-height:1.15}body[data-experiment-print] .experiment-print-document ol{margin:0;padding:0;list-style:none}body[data-experiment-print] .experiment-print-document li{break-inside:avoid;border-bottom:.4pt solid #c8ced7;grid-template-columns:5mm 13mm 1fr;gap:1.5mm;padding:1.5mm 0;display:grid}body[data-experiment-print] .experiment-print-document li.without-duration{grid-template-columns:5mm 13mm 1fr}body[data-experiment-print] .experiment-print-document li.without-duration>div{grid-column:3}body[data-experiment-print] .experiment-print-document li>small{font-size:6.3pt}body[data-experiment-print] .experiment-print-document li p{margin:.5mm 0 0;font-size:6.7pt}body[data-experiment-print] .experiment-print-document table{border-collapse:collapse;width:100%;margin-top:1mm;font-size:6.3pt}body[data-experiment-print] .experiment-print-document th,body[data-experiment-print] .experiment-print-document td{text-align:left;border:.5pt solid #9299a3;padding:.8mm 1mm}body[data-experiment-print] .experiment-print-document th{background:#f0f2f4}body[data-experiment-print] .experiment-print-records article{break-inside:avoid;border-bottom:.4pt solid #c8ced7;padding:1.5mm 0}body[data-experiment-print] .experiment-print-records h3{margin:0 0 .7mm;font-size:7.3pt}body[data-experiment-print] .experiment-print-records p{white-space:pre-wrap;margin:0}body[data-experiment-print] .experiment-print-records img{width:var(--print-image-width,72%);object-fit:contain;max-width:100%;max-height:90mm;margin:1mm auto 0;display:block}body[data-experiment-print] .experiment-print-image{break-inside:auto}body[data-experiment-print] .experiment-print-image img{break-inside:avoid}body[data-experiment-print=compact] .experiment-print-document h2,body[data-experiment-print=compact] .experiment-print-document th{background:0 0}body[data-experiment-print=compact] .experiment-print-document *{color:#000!important;box-shadow:none!important;background:0 0!important;border-color:#000!important}body[data-experiment-print=compact] .experiment-print-materials{grid-template-columns:1fr}body[data-protocol-print=full] .protocol-detail-page,body[data-protocol-print=full] .protocol-detail-page *,body[data-experiment-print=full] .experiment-print-document,body[data-experiment-print=full] .experiment-print-document *{color:#000!important}body[data-protocol-print=full] .protocol-print-header,body[data-experiment-print=full] .experiment-print-document>header{border-color:#1e3a5f}body[data-protocol-print=full] .section-title,body[data-experiment-print=full] .experiment-print-document h2{background:#dfebed;border-color:#1a6e7c}body[data-protocol-print=full] .section-title{border-left:2pt solid #1a6e7c}body[data-experiment-print=full] .experiment-print-document h2{border-bottom:0;border-left:2pt solid #1a6e7c}body[data-protocol-print=full] .environment-panel dl,body[data-protocol-print=full] .environment-panel dl>div,body[data-protocol-print=full] .environment-panel dt,body[data-protocol-print=full] .material-card,body[data-protocol-print=full] .print-check,body[data-protocol-print=full] .table-write-line,body[data-protocol-print=full] .protocol-step-list li,body[data-protocol-print=full] .step-data-table th,body[data-protocol-print=full] .step-data-table td,body[data-protocol-print=full] .record-fields span,body[data-experiment-print=full] .experiment-print-materials article,body[data-experiment-print=full] .experiment-print-document li,body[data-experiment-print=full] .experiment-print-document th,body[data-experiment-print=full] .experiment-print-document td,body[data-experiment-print=full] .experiment-print-records article{border-color:#1e3a5f}body[data-protocol-print=full] .step-index{border-color:#1a6e7c}body[data-protocol-print=full] .print-check,body[data-protocol-print=full] .protocol-step-list li,body[data-experiment-print=full] .experiment-print-document li,body[data-experiment-print=full] .experiment-print-records article{border-color:#12242e}body[data-protocol-print=full] .step-data-table th,body[data-experiment-print=full] .experiment-print-document th{background:#e4e7ec}body[data-protocol-print=full] .step-inline-reagent,body[data-protocol-print=full] .step-inline-fact,body[data-protocol-print=full] .environment-note,body[data-protocol-print=full] .step-note,body[data-protocol-print=full] .badge,body[data-protocol-print=full] .record-fields span{background:#eaf2f3;border-color:#1a6e7c}body[data-protocol-print=full] .protocol-print-border{border-color:#12242e}body[data-protocol-print] .protocol-rich-entity-material,body[data-experiment-print] .protocol-rich-entity-material,body[data-protocol-print] .protocol-rich-entity-reagent,body[data-experiment-print] .protocol-rich-entity-reagent{color:#1a6e7c!important}body[data-protocol-print] .protocol-rich-entity-consumable,body[data-experiment-print] .protocol-rich-entity-consumable{color:#12242e!important}body[data-protocol-print] .protocol-rich-entity-instrument,body[data-experiment-print] .protocol-rich-entity-instrument,body[data-protocol-print] .protocol-rich-entity-temperature,body[data-experiment-print] .protocol-rich-entity-temperature{color:#1e3a5f!important}body[data-protocol-print] .protocol-rich-entity-duration,body[data-experiment-print] .protocol-rich-entity-duration{color:#12242e!important}}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
