:root{--background:#f5f6f8;--surface:#fff;--surface-secondary:#f9fafb;--surface-tertiary:#f2f5f8;--border:#d9dee7;--border-subtle:#e8ebf0;--text:#18212f;--text-secondary:#586474;--text-tertiary:#5f6b7b;--primary:#2563eb;--primary-hover:#1d4ed8;--success:#0f766e;--warning:#b45309;--danger:#b91c1c;--fragment-a:#3b82f6;--fragment-b:#16a34a;--insert:#9a5200;--overlap:#7c3aed;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--shadow-sm:0 1px 2px #18212f0a;--shadow-md:0 8px 24px #18212f0f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--control-height:36px;--topbar-height:56px;color:var(--text);background:var(--background);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--background);color:var(--text);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}code,.sequence-input,.sequence-preview,.inline-sequence-preview,.primer-sequence{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh;padding:var(--space-4)}.app{gap:var(--space-4);width:min(1600px,100%);margin:0 auto;display:grid}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.app-topbar{min-height:var(--topbar-height);padding:var(--space-3) var(--space-4);gap:var(--space-3);grid-template-columns:auto minmax(220px,1fr) auto auto;align-items:center;display:grid}.topbar-brand,.topbar-actions,.topbar-status,.panel-header,.action-row,.workflow-stage-row,.result-tabs,.construct-label-row,.empty-state-actions{gap:var(--space-2);align-items:center;display:flex}.topbar-brand{min-width:0}.product-mark{border-radius:var(--radius-sm);background:var(--primary);color:#fff;letter-spacing:.04em;place-items:center;width:32px;height:32px;font-size:.78rem;font-weight:700;display:grid}.topbar-brand strong{font-size:.98rem;display:block}.topbar-subtitle{color:var(--text-tertiary);font-size:.78rem;display:block}.topbar-project,.topbar-example{min-width:0}.topbar-project-readonly{gap:2px;display:grid}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;position:relative}.topbar-status{flex-wrap:wrap;justify-content:flex-end}.topbar-menu{position:relative}.menu-panel{right:0;top:calc(100% + var(--space-2));min-width:220px;padding:var(--space-3);gap:var(--space-2);z-index:20;display:grid;position:absolute}.notice-banner{padding:var(--space-3) var(--space-4);gap:var(--space-3);color:var(--warning);background:#fff9f0;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.notice-details summary{cursor:pointer;color:var(--text-secondary)}.empty-state{gap:var(--space-6);align-content:center;justify-items:start;min-height:360px;padding:min(8vw,72px);display:grid}.empty-state h1{max-width:18ch;margin:0;font-size:clamp(1.9rem,4vw,3rem);line-height:1.05}.empty-state-copy{gap:var(--space-3);display:grid}.hero-text,.field-helper,.panel p,.primer-card-header p,.reaction-card p{color:var(--text-secondary);margin:0}.eyebrow,.field-label,.preview-label,.status-title{color:var(--text-tertiary);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:700}.button{min-height:var(--control-height);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:0 12px;transition:border-color .12s,background .12s,color .12s}.inline-link-button{color:var(--primary);background:0 0;border:0;padding:0;text-decoration:underline}.button:hover:not(:disabled){border-color:var(--primary)}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{border-color:var(--primary);background:var(--primary);color:#fff}.dialog-backdrop{padding:var(--space-4);z-index:40;background:#0b14127a;place-items:center;display:grid;position:fixed;inset:0}.dialog{width:min(520px,100%);padding:var(--space-4);gap:var(--space-3);display:grid}.button-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.button-secondary{background:var(--surface)}.pill{border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:24px;padding:0 8px;font-size:.76rem;font-weight:600;display:inline-flex}.pill-muted{background:var(--surface-secondary);color:var(--text-secondary)}.pill-success{color:var(--success);background:#eefbf8;border-color:#0f766e33}.pill-watch{color:var(--warning);background:#fff7ed;border-color:#b4530933}.pill-alert{color:var(--danger);background:#fef2f2;border-color:#b91c1c33}.text-input,.sequence-input,.tab-button,.timeline-step,.workflow-step,.object-select-button{border:1px solid var(--border);border-radius:var(--radius-sm)}.text-input,select.text-input,.topbar-project .text-input,.topbar-example .text-input{width:100%;min-height:var(--control-height);background:var(--surface);color:var(--text);padding:0 10px}.sequence-input{background:var(--surface);width:100%;min-height:128px;color:var(--text);resize:vertical;padding:10px 12px;line-height:1.45}.short-input{min-height:84px}.workbench-mobile-actions{display:none}.workbench-layout{gap:var(--space-4);grid-template-columns:236px minmax(0,1fr) 340px;align-items:start;display:grid}.workflow-sidebar,.workspace-pane,.inspector-pane,.timeline-dock{padding:var(--space-4)}.workflow-sidebar{gap:var(--space-4);top:var(--space-4);min-width:0;display:grid;position:sticky;overflow-x:hidden}.workflow-step-list,.sidebar-summary,.workspace-stack,.proposal-stack,.candidate-stack,.recipe-stack,.reaction-stack,.import-result-stack{gap:var(--space-3);display:grid}.workflow-step{gap:var(--space-3);text-align:left;background:var(--surface);grid-template-columns:28px minmax(0,1fr);width:100%;padding:10px;display:grid}.workflow-step-active{border-color:var(--primary);background:#eff6ff}.workflow-step-index{background:var(--surface-secondary);width:28px;height:28px;color:var(--text-secondary);border-radius:50%;place-items:center;font-size:.78rem;font-weight:700;display:grid}.workflow-step-active .workflow-step-index{background:var(--primary);color:#fff}.workflow-step-copy{gap:2px;min-width:0;display:grid}.workflow-step-copy strong{font-size:.92rem}.step-status{font-size:.8rem;font-weight:500}.step-status-complete{color:var(--success)}.step-status-warning{color:var(--warning)}.step-status-error{color:var(--danger)}.step-status-pending{color:var(--text-secondary)}.workspace-pane,.inspector-pane{min-width:0;overflow-x:hidden}.workspace-section{padding:var(--space-4);min-width:0;max-width:100%}.workspace-two-column{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.fragment-editor-pair{align-items:center;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);display:grid}.fragment-swap-control{justify-content:center;display:flex}.fragment-swap-control .button{white-space:nowrap}.field-grid,.metric-grid,.primer-grid,.primer-review-layout,.export-grid,.import-record-grid,.toggle-grid{gap:var(--space-3);min-width:0;max-width:100%;display:grid}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-grid,.primer-grid,.import-record-grid,.export-grid,.toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-card{gap:8px;display:grid}.metric,.status-block,.preview-block,.primer-card,.primer-detail-panel,.reaction-card,.candidate-card,.recipe-card,.rail-card{padding:var(--space-3);background:var(--surface-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.metric strong,.rail-meta strong{overflow-wrap:anywhere;min-width:0;margin-top:6px;font-size:1.1rem;line-height:1.15;display:block}.compact-metric strong{font-size:.96rem}.status-block,.preview-block,.proposal-card,.property-list{gap:10px;min-width:0;max-width:100%;display:grid}.status-list{color:var(--text-secondary);margin:0;padding-left:18px}.status-note{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-secondary);overflow-wrap:anywhere;min-width:0;max-width:100%;margin:0;padding:10px 12px}.status-note-success{color:var(--success);background:#eefbf8;border-color:#0f766e2e}.status-note-alert{color:var(--danger);background:#fef2f2;border-color:#b91c1c2e}.inline-button{margin-left:8px}.inline-sequence-preview,.sequence-preview,.primer-sequence{overflow-wrap:anywhere;color:var(--text);font-size:.88rem;line-height:1.5;display:block}.sequence-preview,.inline-sequence-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#fbfcfd;padding:10px}.primer-sequence{border-radius:var(--radius-sm);background:#fbfcfd;padding:10px}.primer-tail{color:var(--insert)}.primer-body{color:var(--text)}.object-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.object-select-button{background:var(--surface);justify-self:start;min-height:36px;padding:0 10px}.phone-primer-selector{gap:var(--space-2);max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.phone-primer-chip{white-space:nowrap;background:var(--surface);min-height:44px;padding:0 14px}.phone-primer-chip-active{border-color:var(--primary);color:var(--primary);background:#eff6ff}.phone-primer-detail{gap:var(--space-3);min-width:0;max-width:100%;display:grid}.primer-review-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start}.primer-review-table-wrap{overflow-x:auto}.primer-review-table{border-collapse:collapse;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-secondary);width:100%;overflow:hidden}.primer-review-table th,.primer-review-table td{border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle;padding:12px}.primer-review-table thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);font-size:.76rem}.primer-review-table tbody tr:last-child th,.primer-review-table tbody tr:last-child td{border-bottom:0}.primer-review-row-selected{background:#eff6ff}.primer-row-button{width:100%;min-height:44px;color:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700}.primer-row-button-selected{color:var(--primary)}.issue-drawer,.issue-preview-list,.issue-sections{gap:var(--space-3);display:grid}.issue-preview-item{padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-secondary);gap:10px;display:grid}.issue-preview-item p{color:var(--text-secondary);margin:0}.advanced-disclosure{padding:0;overflow:hidden}.advanced-disclosure>summary{padding:var(--space-4);cursor:pointer;font-weight:600;list-style:none}.advanced-disclosure>summary::-webkit-details-marker{display:none}.advanced-disclosure[open]>summary{border-bottom:1px solid var(--border)}.advanced-section{padding:var(--space-4);border-top:1px solid var(--border-subtle)}.canvas-stack,.construct-workspace,.primer-direction-grid{gap:var(--space-3);display:grid}.construct-label-row{color:var(--text-secondary);justify-content:space-between;font-size:.82rem;font-weight:600}.construct-summary-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.construct-strip{align-items:stretch;gap:8px;padding-top:18px;display:flex;position:relative}.construct-strip-exact{gap:0}.construct-strip-inserted{gap:8px}.construct-button{min-height:92px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);text-align:left}.construct-button span,.construct-button strong{display:block}.construct-active{box-shadow:inset 0 0 0 2px var(--primary)}.construct-exact-left{border-top-right-radius:0;border-bottom-right-radius:0}.construct-exact-right{border-top-left-radius:0;border-bottom-left-radius:0}.block-a{background:#3b82f614;border-color:#3b82f659}.block-b{background:#16a34a14;border-color:#16a34a59}.block-insert{background:#7c3aed14;border-color:#7c3aed40}.construct-overlap-button{min-height:56px;color:var(--text);text-align:center;box-shadow:var(--shadow-sm);z-index:1;background:#fff7edf5;border:1px solid #b4530959;border-radius:999px;padding:8px 12px;position:absolute;top:0;left:50%;transform:translate(-50%)}.construct-overlap-button:after{content:"";background:#b4530973;width:2px;height:14px;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.construct-overlap-button span,.construct-overlap-button strong{display:block}.construct-overlap-button-exact{background:linear-gradient(90deg,#3b82f61f 0 50%,#16a34a1f 50% 100%),#fffffff5}.construct-overlap-button-inserted{background:linear-gradient(90deg,#3b82f61f 0 34%,#7c3aed1f 34% 66%,#16a34a1f 66% 100%),#fffffff5}.primer-direction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primer-direction-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);text-align:left;gap:4px;padding:12px;display:grid}.primer-direction-card strong{font-size:.9rem}.primer-direction-card span{color:var(--text-secondary);font-size:.8rem}.primer-direction-card-active{border-color:var(--primary);background:#eff6ff}.rail-card{gap:10px;display:grid}.rail-meta{justify-content:space-between;gap:var(--space-2);align-items:baseline;display:flex}.rail-track{background:var(--surface-tertiary);border-radius:999px;height:16px;position:relative;overflow:hidden}.rail-selection{border-radius:999px;position:absolute;top:0;bottom:0}.rail-a{background:var(--fragment-a)}.rail-b{background:var(--fragment-b)}.rail-caption{color:var(--text-secondary);font-size:.82rem}.result-tabs{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;padding-bottom:4px}.tab-button,.timeline-step{min-height:var(--control-height);background:var(--surface);color:var(--text-secondary);padding:0 12px}.tab-button-active,.timeline-step-active{border-color:var(--primary);color:var(--primary);background:#eff6ff}.property-list{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.property-row{gap:var(--space-3);background:var(--surface-secondary);grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 12px;display:grid}.property-row+.property-row{border-top:1px solid var(--border-subtle)}.property-row span{color:var(--text-secondary)}.property-row>:last-child{text-align:right;overflow-wrap:anywhere;min-width:0}.panel-header,.action-row{min-width:0;max-width:100%}.compare-table{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.compare-row{gap:var(--space-3);background:var(--surface);grid-template-columns:minmax(0,1.5fr) 1fr 1fr;padding:10px 12px;display:grid}.compare-row+.compare-row{border-top:1px solid var(--border-subtle)}.compare-header{background:var(--surface-secondary);color:var(--text-secondary)}.timeline-dock{padding:var(--space-4)}.timeline-step{white-space:nowrap}.inspector-pane{gap:var(--space-3);top:var(--space-4);display:grid;position:sticky}.proposal-card{justify-content:space-between;gap:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-secondary);align-items:flex-start;padding:12px;display:flex}.toggle-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-secondary);align-items:center;gap:10px;padding:10px 12px;display:flex}.toggle-card input{margin:0}.candidate-card,.recipe-card{gap:var(--space-3);display:grid}.reaction-card h3,.primer-card h3,.primer-detail-panel h3,.candidate-card h3,.recipe-card h3,.workspace-section h2,.sidebar-header h2,.panel-header h2,.panel-header h3{margin:0}.preview-block{min-width:0}.workflow-stage-row{flex-wrap:wrap}.sidebar-actions,.sidebar-summary{gap:var(--space-3);display:grid}@media (width<=1280px){.workbench-layout{grid-template-columns:220px minmax(0,1fr) 320px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1100px){.app-topbar{grid-template-columns:1fr}.topbar-status,.topbar-actions{justify-content:flex-start}.workbench-mobile-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.workbench-layout{grid-template-columns:1fr}.workflow-sidebar{padding:var(--space-3);position:static}.workflow-step-list{max-width:100%;display:flex;overflow-x:auto}.workflow-step{flex:none;min-width:190px}.sidebar-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.inspector-pane{top:var(--space-3);right:var(--space-3);bottom:var(--space-3);width:min(360px, calc(100vw - (var(--space-3) * 2)));z-index:30;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;pointer-events:none;transform:translateX(calc(100% + var(--space-3)));transition:transform .16s,opacity .16s,visibility .16s;position:fixed;overflow:auto}.inspector-pane.is-open{opacity:1;visibility:visible;pointer-events:auto;display:grid;transform:translate(0)}}@media (width<=800px){.app-shell{padding:var(--space-3)}.empty-state{padding:var(--space-5)}.app-topbar{grid-template-columns:1fr;align-items:start}.topbar-actions,.topbar-status{justify-content:flex-start}.empty-state-actions{flex-direction:column;align-items:stretch;width:100%}.empty-state-actions .button{width:100%}.field-grid,.workspace-two-column,.fragment-editor-pair,.primer-grid,.primer-review-layout,.import-record-grid,.export-grid,.toggle-grid,.compact-grid,.metric-grid,.primer-direction-grid{grid-template-columns:1fr}.fragment-swap-control{order:0}.proposal-card{flex-direction:column;align-items:stretch}.notice-banner{grid-template-columns:1fr}.sidebar-header,.sidebar-summary,.sidebar-actions{display:none}.compare-row{grid-template-columns:1fr}.construct-strip{gap:var(--space-3);flex-direction:column;padding-top:0}.construct-strip-exact{gap:var(--space-3)}.construct-overlap-button{position:static;transform:none;width:100%!important}.construct-overlap-button:after{display:none}.construct-exact-left,.construct-exact-right{border-radius:var(--radius-md)}.button,.tab-button,.timeline-step,.object-select-button,.phone-primer-chip{min-height:44px}.panel-header{flex-wrap:wrap}}
