@tailwind base;@tailwind components;@tailwind utilities;:root,[data-theme-variant=light]{--font-marketing-display:"Plus Jakarta Sans","Manrope","Segoe UI",sans-serif;--font-marketing-body:"Manrope","Plus Jakarta Sans","Segoe UI",sans-serif;--font-display:"Space Grotesk","Sora",system-ui,-apple-system,sans-serif;--font-body:"Sora","Space Grotesk",system-ui,-apple-system,sans-serif;--app-bg:#eaf3e8;--app-bg-noise:rgba(31,122,71,.05);--app-bg-grid:rgba(31,122,71,.09);--bg-primary:#fff;--bg-secondary:#f4faf2;--bg-tertiary:#e7f3e4;--surface-elevated:#fff;--surface-soft:#eef7ec;--surface-glass:color-mix(in srgb,#fff 86%,transparent);--ove-canvas-bg:color-mix(in srgb,var(--bg-secondary) 86%,var(--bg-primary));--text-primary:#0f1f17;--text-secondary:#3f5b4e;--text-muted:#6b8790;--text-tertiary:#5f7b70;--border-color:#c7dcc4;--border-strong:#afc8b6;--primary:#1f7a47;--primary-hover:#145a32;--primary-contrast:#f8fffd;--primary-gradient:linear-gradient(135deg,#1f7a47,#145a32);--accent-gradient:var(--primary-gradient);--primary-softest:rgba(31,122,71,.09);--primary-soft:rgba(31,122,71,.14);--primary-soft-hover:rgba(31,122,71,.24);--primary-outline:rgba(31,122,71,.58);--primary-glow:rgba(31,122,71,.32);--success:#15803d;--warning:#b45309;--danger:#b91c1c;--message-user-bg:#e5f7e8;--message-user-text:#14532d;--message-assistant-bg:#f7fbf8;--message-assistant-text:#0f1f17;--message-user:var(--message-user-bg);--message-assistant:var(--message-assistant-bg);--message-system:#eef5ef;--message-system-text:#456255;--input-bg:#fff;--input-border:#b8d1bd;--input-highlight:hsla(0,0%,100%,.35);--scrollbar-track:#e3efe0;--scrollbar-thumb:#9fbeaa;--shadow-xs:0 1px 2px rgba(15,23,42,.06);--shadow-sm:0 4px 12px rgba(15,23,42,.08);--shadow-md:0 14px 34px rgba(15,23,42,.12);--shadow-lg:0 24px 58px rgba(15,23,42,.16);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.72);--panel-shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.02);--control-shadow:none;--button-primary-bg:var(--primary);--button-primary-bg-hover:var(--primary-hover);--button-primary-shadow:none;--button-primary-shadow-hover:none;--focus-ring:0 0 0 3px rgba(31,122,71,.26);--dialog-backdrop:rgba(15,23,42,.45);--blast-metric-gradient:linear-gradient(90deg,#0ea5e9,#22c55e)}[data-theme-variant=dark]{--app-bg:#060d15;--app-bg-noise:rgba(126,238,100,.05);--app-bg-grid:rgba(148,163,184,.1);--bg-primary:#0d1520;--bg-secondary:#0f1925;--bg-tertiary:#132030;--surface-elevated:#101b29;--surface-soft:#142232;--surface-glass:color-mix(in srgb,#0d1520 86%,transparent);--ove-canvas-bg:color-mix(in srgb,var(--bg-secondary) 86%,var(--bg-primary));--text-primary:#e5edf6;--text-secondary:#9fb1c5;--text-muted:#7f95a9;--text-tertiary:#8ea4b5;--border-color:rgba(148,163,184,.24);--border-strong:rgba(148,163,184,.38);--primary:#7fee64;--primary-hover:#70e25a;--primary-contrast:#06240d;--primary-gradient:linear-gradient(135deg,#7fee64,#5ddf86);--accent-gradient:var(--primary-gradient);--primary-softest:rgba(126,238,100,.12);--primary-soft:rgba(126,238,100,.18);--primary-soft-hover:rgba(126,238,100,.28);--primary-outline:rgba(126,238,100,.64);--primary-glow:rgba(126,238,100,.42);--success:#86efac;--warning:#fbbf24;--danger:#fca5a5;--message-user-bg:rgba(126,238,100,.16);--message-user-text:#d7ffd2;--message-assistant-bg:#0f1925;--message-assistant-text:#e5edf6;--message-user:var(--message-user-bg);--message-assistant:var(--message-assistant-bg);--message-system:rgba(148,163,184,.12);--message-system-text:#a6b8c8;--input-bg:#0f1925;--input-border:rgba(148,163,184,.36);--input-highlight:hsla(0,0%,100%,.04);--scrollbar-track:#0b131d;--scrollbar-thumb:#304255;--shadow-xs:0 1px 2px rgba(2,6,23,.34);--shadow-sm:0 8px 18px rgba(2,6,23,.42);--shadow-md:0 18px 40px rgba(2,6,23,.52);--shadow-lg:0 30px 64px rgba(2,6,23,.62);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.04);--panel-shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.02);--control-shadow:none;--button-primary-bg:var(--primary);--button-primary-bg-hover:var(--primary-hover);--button-primary-shadow:none;--button-primary-shadow-hover:none;--focus-ring:0 0 0 3px rgba(126,238,100,.3);--dialog-backdrop:rgba(2,6,23,.66);--blast-metric-gradient:linear-gradient(90deg,#38bdf8,#22c55e)}[data-theme-variant=green]{--app-bg:#d7f2d2;--app-bg-noise:rgba(16,185,129,.08);--app-bg-grid:rgba(22,163,74,.12);--bg-primary:#f5fff3;--bg-secondary:#ecfbe8;--bg-tertiary:#dff4d8;--surface-elevated:#fcfffb;--surface-soft:#e9f8e3;--surface-glass:color-mix(in srgb,#fcfffb 86%,transparent);--ove-canvas-bg:color-mix(in srgb,var(--bg-secondary) 88%,var(--bg-primary));--text-primary:#0d2c1b;--text-secondary:#2f5c43;--text-muted:#4f7a62;--text-tertiary:#5f876f;--border-color:#bdd9c0;--border-strong:#9dc3a4;--primary:#1f9d55;--primary-hover:#0f7a3f;--primary-contrast:#f4fff6;--primary-gradient:linear-gradient(135deg,#1f9d55,#0f7a3f);--accent-gradient:var(--primary-gradient);--primary-softest:rgba(31,157,85,.09);--primary-soft:rgba(31,157,85,.16);--primary-soft-hover:rgba(31,157,85,.26);--primary-outline:rgba(31,157,85,.56);--primary-glow:rgba(31,157,85,.34);--success:#15803d;--warning:#a16207;--danger:#b91c1c;--message-user-bg:#e0f5e5;--message-user-text:#0f5f32;--message-assistant-bg:#f4fbf3;--message-assistant-text:#0d2c1b;--message-user:var(--message-user-bg);--message-assistant:var(--message-assistant-bg);--message-system:#e5f1e4;--message-system-text:#3d6450;--input-bg:#fff;--input-border:#a8c9ad;--input-highlight:hsla(0,0%,100%,.4);--scrollbar-track:#d8ecd9;--scrollbar-thumb:#88b896;--shadow-xs:0 1px 2px rgba(10,42,28,.07);--shadow-sm:0 6px 14px rgba(10,42,28,.1);--shadow-md:0 14px 32px rgba(10,42,28,.14);--shadow-lg:0 24px 54px rgba(10,42,28,.16);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.72);--panel-shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.04);--control-shadow:none;--button-primary-bg:var(--primary);--button-primary-bg-hover:var(--primary-hover);--button-primary-shadow:none;--button-primary-shadow-hover:none;--focus-ring:0 0 0 3px rgba(31,157,85,.28);--dialog-backdrop:rgba(8,30,19,.42);--blast-metric-gradient:linear-gradient(90deg,#16a34a,#4ade80)}#portal{position:fixed;inset:0;pointer-events:none;z-index:2000}#portal>*{pointer-events:auto}.tippy-box[data-theme~=notebook-slash]{background:transparent;box-shadow:none;border:0}.tippy-box[data-theme~=notebook-slash]>.tippy-content{padding:0}.notebook-surface .ProseMirror{padding:2.75rem 3rem 8rem}.notebook-surface .ProseMirror:not(.dragging) :is(p,h1,h2,h3,blockquote,pre,ul,ol,li,table,hr).ProseMirror-selectednode{outline:none!important;background:color-mix(in srgb,var(--primary-softest) 88%,transparent);box-shadow:none}.notebook-surface .ProseMirror :is(p,h1,h2,h3,blockquote,pre,ul,ol,table,hr){position:relative;border-radius:.8rem;transition:background-color .14s ease}.notebook-surface .ProseMirror :is(p,h1,h2,h3,blockquote,pre,ul,ol,table,hr):hover{background:color-mix(in srgb,var(--primary-softest) 64%,transparent)}.notebook-surface .drag-handle{position:fixed;width:1.2rem;height:1.5rem;border-radius:.45rem;opacity:1;cursor:-webkit-grab;cursor:grab;z-index:50;transition:opacity .14s ease,background-color .14s ease,box-shadow .14s ease;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' style='fill: rgba(63, 91, 78, 0.72)'%3E%3Cpath d='M3,2 C2.44771525,2 2,1.55228475 2,1 C2,0.44771525 2.44771525,0 3,0 C3.55228475,0 4,0.44771525 4,1 C4,1.55228475 3.55228475,2 3,2 Z M3,6 C2.44771525,6 2,5.55228475 2,5 C2,4.44771525 2.44771525,4 3,4 C3.55228475,4 4,4.44771525 4,5 C4,5.55228475 3.55228475,6 3,6 Z M3,10 C2.44771525,10 2,9.55228475 2,9 C2,8.44771525 2.44771525,8 3,8 C3.55228475,8 4,8.44771525 4,9 C4,9.55228475 3.55228475,10 3,10 Z M7,2 C6.44771525,2 6,1.55228475 6,1 C6,0.44771525 6.44771525,0 7,0 C7.55228475,0 8,0.44771525 8,1 C8,1.55228475 7.55228475,2 7,2 Z M7,6 C6.44771525,6 6,5.55228475 6,5 C6,4.44771525 6.44771525,4 7,4 C7.55228475,4 8,4.44771525 8,5 C8,5.55228475 7.55228475,6 7,6 Z M7,10 C6.44771525,10 6,9.55228475 6,9 C6,8.44771525 6.44771525,8 7,8 C7.55228475,8 8,8.44771525 8,9 C8,9.55228475 7.55228475,10 7,10 Z'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:50%;background-size:.75rem .75rem}.notebook-surface .drag-handle:hover{background-color:color-mix(in srgb,var(--primary-softest) 90%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border-strong) 65%,transparent)}.notebook-surface .drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing;background-color:color-mix(in srgb,var(--primary-soft) 92%,transparent)}.notebook-surface .drag-handle.hide{opacity:0;pointer-events:none}.notebook-surface .notebook-delete-handle{position:fixed;display:flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;padding:0;border:none;background:transparent;color:color-mix(in srgb,var(--text-primary) 42%,transparent);cursor:pointer;opacity:1;z-index:50;border-radius:.25rem;transition:opacity .14s ease,background-color .14s ease,color .14s ease}.notebook-surface .notebook-delete-handle-inset{width:1.9rem;height:1.9rem;border-radius:.75rem;background:color-mix(in srgb,var(--surface-elevated) 94%,#fff);color:color-mix(in srgb,var(--danger) 82%,var(--text-primary));box-shadow:0 8px 18px color-mix(in srgb,var(--bg-primary) 14%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--danger) 16%,transparent)}.notebook-surface .notebook-delete-handle svg{width:14px;height:14px}.notebook-surface .notebook-delete-handle-inset svg{width:16px;height:16px}.notebook-surface .notebook-delete-handle:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:color-mix(in srgb,var(--danger) 84%,var(--text-primary))}.notebook-surface .notebook-delete-handle-inset:hover{background:color-mix(in srgb,var(--danger) 12%,var(--surface-elevated))}.notebook-surface .notebook-delete-handle:active{background:color-mix(in srgb,var(--danger) 18%,transparent);color:color-mix(in srgb,var(--danger) 92%,var(--text-primary))}.notebook-surface .notebook-delete-handle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.notebook-surface .notebook-delete-handle.hide{opacity:0;pointer-events:none}@media (max-width:640px){.notebook-surface .ProseMirror{padding:1.5rem 1rem 5rem}.notebook-surface .drag-handle,.notebook-surface .notebook-delete-handle{display:none;pointer-events:none}}[data-theme-variant=white]{--app-bg:#f8fafc;--app-bg-noise:rgba(59,130,246,.04);--app-bg-grid:rgba(148,163,184,.12);--bg-primary:#fff;--bg-secondary:#f8fafc;--bg-tertiary:#f1f5f9;--surface-elevated:#fff;--surface-soft:#f8fafc;--surface-glass:color-mix(in srgb,#fff 86%,transparent);--ove-canvas-bg:color-mix(in srgb,var(--bg-secondary) 86%,var(--bg-primary));--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--text-tertiary:#64748b;--border-color:#e2e8f0;--border-strong:#cbd5e1;--primary:#3b82f6;--primary-hover:#2563eb;--primary-contrast:#fff;--primary-gradient:linear-gradient(135deg,#3b82f6,#2563eb);--accent-gradient:var(--primary-gradient);--primary-softest:rgba(59,130,246,.08);--primary-soft:rgba(59,130,246,.12);--primary-soft-hover:rgba(59,130,246,.2);--primary-outline:rgba(59,130,246,.6);--primary-glow:rgba(59,130,246,.4);--success:#15803d;--warning:#b45309;--danger:#b91c1c;--message-user-bg:#eff6ff;--message-user-text:#1e3a8a;--message-assistant-bg:#f8fafc;--message-assistant-text:#0f172a;--message-user:var(--message-user-bg);--message-assistant:var(--message-assistant-bg);--message-system:#f1f5f9;--message-system-text:#475569;--input-bg:#fff;--input-border:#e2e8f0;--input-highlight:hsla(0,0%,100%,.5);--scrollbar-track:#f1f5f9;--scrollbar-thumb:#cbd5e1;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.82);--panel-shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.03);--control-shadow:none;--button-primary-bg:var(--primary);--button-primary-bg-hover:var(--primary-hover);--button-primary-shadow:none;--button-primary-shadow-hover:none;--focus-ring:0 0 0 3px rgba(59,130,246,.26);--dialog-backdrop:rgba(15,23,42,.48);--blast-metric-gradient:linear-gradient(90deg,#3b82f6,#0ea5e9)}[data-theme-variant=black]{--app-bg:#1e1e1e;--app-bg-noise:rgba(14,99,156,.12);--app-bg-grid:rgba(82,82,91,.15);--bg-primary:#1e1e1e;--bg-secondary:#252526;--bg-tertiary:#2d2d30;--surface-elevated:#252526;--surface-soft:#2d2d30;--surface-glass:color-mix(in srgb,#252526 86%,transparent);--ove-canvas-bg:color-mix(in srgb,var(--bg-secondary) 86%,var(--bg-primary));--text-primary:#d4d4d4;--text-secondary:#a6a6a6;--text-muted:#7a7a7a;--text-tertiary:#8a8a8a;--border-color:#3c3c3c;--border-strong:#4b4b4b;--primary:#0e639c;--primary-hover:#17b;--primary-contrast:#f8fbff;--primary-gradient:linear-gradient(135deg,#0e639c,#17b);--accent-gradient:var(--primary-gradient);--primary-softest:rgba(14,99,156,.18);--primary-soft:rgba(14,99,156,.24);--primary-soft-hover:rgba(14,99,156,.32);--primary-outline:rgba(14,99,156,.6);--primary-glow:rgba(14,99,156,.45);--success:#86efac;--warning:#f59e0b;--danger:#f87171;--message-user-bg:#0e639c;--message-user-text:#fff;--message-assistant-bg:#252526;--message-assistant-text:#d4d4d4;--message-user:var(--message-user-bg);--message-assistant:var(--message-assistant-bg);--message-system:#1f1f1f;--message-system-text:#9da5b4;--input-bg:#1f1f1f;--input-border:#3c3c3c;--input-highlight:hsla(0,0%,100%,.04);--scrollbar-track:#1e1e1e;--scrollbar-thumb:#3c3c3c;--shadow-xs:0 1px 2px rgba(0,0,0,.28);--shadow-sm:0 8px 18px rgba(0,0,0,.38);--shadow-md:0 18px 36px rgba(0,0,0,.46);--shadow-lg:0 30px 56px rgba(0,0,0,.54);--shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.04);--panel-shadow-inset:inset 0 1px 0 hsla(0,0%,100%,.02);--control-shadow:none;--button-primary-bg:var(--primary);--button-primary-bg-hover:var(--primary-hover);--button-primary-shadow:none;--button-primary-shadow-hover:none;--focus-ring:0 0 0 3px rgba(14,99,156,.35);--dialog-backdrop:rgba(0,0,0,.58);--blast-metric-gradient:linear-gradient(90deg,#38bdf8,#22d3ee)}:root{--radius-xs:0.375rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--viewer-header-height:72px;--viewer-toolbar-height:48px;--viewer-footer-height:30px;--z-overlay-modal:2200}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:var(--font-marketing-body,"Manrope"),"Avenir Next","Segoe UI",sans-serif;color:var(--text-primary);background:radial-gradient(circle at 14% 8%,var(--app-bg-noise) 0,transparent 34%),radial-gradient(circle at 88% 12%,color-mix(in srgb,var(--app-bg-noise) 82%,transparent) 0,transparent 36%),linear-gradient(180deg,color-mix(in srgb,var(--app-bg) 88%,#fff 12%),var(--app-bg));overflow:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.32;background-image:linear-gradient(to right,var(--app-bg-grid) 1px,transparent 1px),linear-gradient(to bottom,var(--app-bg-grid) 1px,transparent 1px);background-size:34px 34px}#__next,body>div,main{position:relative;z-index:1}button,input,select,textarea{font:inherit}a{color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:2px solid var(--scrollbar-track)}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--scrollbar-thumb) 85%,var(--text-tertiary))}:where(.viewer-top-bar,.viewer-toolbar-row,.chat-panel-header,.files-header,.viewer-footer){background:var(--surface-glass);border-color:var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:where(.viewer-tool-body,.batch-panel,.share-dialog,.files-dialog,.upload-choice-dialog,.version-sidebar,.graph-history-panel,.proposed-changes,.alignment-view,.tool-panel-result,.database-result,.parts-panel-item,.cloning-loop-card,.primer-preview-map-group,.chat-message-bubble,.chat-reasoning,.chat-tool-approval,.chat-attachment-chip,.files-item,.app-dropzone-card,.plasmid-dropzone-card,.files-dropzone-card){background:var(--surface-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}:where(.batch-panel-overlay,.files-dialog-backdrop,.share-dialog-backdrop,.upload-choice-backdrop){position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--dialog-backdrop);-webkit-backdrop-filter:none;backdrop-filter:none;z-index:var(--z-overlay-modal)}:where(.toolbar-button,.btn-secondary,.tool-panel-secondary,.files-header-button,.btn-user,.tool-panel-icon-button,.custom-find-nav-btn,.custom-find-options-btn,.custom-find-close-btn,.share-remove,.upload-choice-close,.share-dialog-close,.files-item-delete,.files-item-download,.alignment-run-remove,.tool-panel-close){border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-secondary);box-shadow:var(--control-shadow);transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}:where(.toolbar-button,.btn-secondary,.tool-panel-secondary,.files-header-button,.btn-user,.tool-panel-icon-button,.custom-find-nav-btn,.custom-find-options-btn,.custom-find-close-btn,.share-remove,.upload-choice-close,.share-dialog-close,.files-item-delete,.files-item-download,.alignment-run-remove,.tool-panel-close):not(:disabled):hover{background:var(--bg-tertiary);border-color:var(--border-strong);color:var(--text-primary);transform:translateY(-1px)}:where(.btn-primary,.tool-panel-primary,.files-empty-action,.share-copy-button){border:1px solid color-mix(in srgb,var(--primary) 55%,var(--border-color));background:var(--button-primary-bg);color:var(--primary-contrast);box-shadow:var(--button-primary-shadow);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}:where(.btn-primary,.tool-panel-primary,.files-empty-action,.share-copy-button):not(:disabled):hover{background:var(--button-primary-bg-hover);transform:translateY(-1px);box-shadow:var(--button-primary-shadow-hover)}a.btn-primary,a.btn-secondary{text-decoration:none}a.btn-primary:active,a.btn-primary:focus-visible,a.btn-primary:hover{color:var(--primary-contrast);text-decoration:none}a.btn-secondary:active,a.btn-secondary:focus-visible,a.btn-secondary:hover{color:var(--text-primary);text-decoration:none}.plasmo-quickstart-popover{max-width:340px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface-elevated);color:var(--text-primary);box-shadow:var(--shadow-lg)}.plasmo-quickstart-popover .driver-popover-title{color:var(--text-primary);font-weight:700}.plasmo-quickstart-popover .driver-popover-description,.plasmo-quickstart-popover .driver-popover-progress-text{color:var(--text-secondary)}:where(.tool-panel-input,.tool-panel-textarea,.composer-input,.custom-find-input,.custom-find-select,.custom-find-number,.share-invite-input,.share-role-select,.project-name-input,.files-dialog-textarea,.alignment-read-import-select,.codon-option-control,.proposed-primer-target-select){background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-primary);box-shadow:inset 0 1px 0 var(--input-highlight);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}:where(.tool-panel-input,.tool-panel-textarea,.composer-input,.custom-find-input,.custom-find-select,.custom-find-number,.share-invite-input,.share-role-select,.project-name-input,.files-dialog-textarea,.alignment-read-import-select,.codon-option-control,.proposed-primer-target-select):focus{outline:none;border-color:var(--primary-outline);box-shadow:var(--focus-ring)}:where(.status-pill,.tool-panel-chip,.graph-history-chip,.files-count,.share-role-badge,.access-pill,.presence-bar){border-radius:999px;border:1px solid var(--border-color);background:color-mix(in srgb,var(--surface-soft) 90%,transparent);color:var(--text-secondary)}:where(.tool-panel-title,.viewer-tool-title,.alignment-panel-title,.chat-panel-header-title,.files-title,.project-title-row,.version-header h3,.graph-history-node-label){font-family:var(--font-marketing-display,"Plus Jakarta Sans"),"Avenir Next","Segoe UI",sans-serif;letter-spacing:-.01em}:where(.toolbar-button,.btn-secondary,.tool-panel-secondary,.files-header-button,.btn-user,.tool-panel-icon-button,.custom-find-nav-btn,.custom-find-options-btn,.custom-find-close-btn,.share-remove,.upload-choice-close,.share-dialog-close,.files-item-delete,.files-item-download,.alignment-run-remove,.tool-panel-close,.btn-primary,.tool-panel-primary,.files-empty-action,.share-copy-button,.tool-panel-input,.tool-panel-textarea,.composer-input,.custom-find-input,.custom-find-select,.custom-find-number,.share-invite-input,.share-role-select,.project-name-input,.files-dialog-textarea,.alignment-read-import-select,.codon-option-control,.proposed-primer-target-select):focus-visible{outline:none;box-shadow:var(--focus-ring)}[data-theme=dark] :where(.viewer-tool-body,.batch-panel,.share-dialog,.files-dialog,.upload-choice-dialog,.version-sidebar,.graph-history-panel,.proposed-changes,.alignment-view,.tool-panel-result,.database-result,.parts-panel-item,.cloning-loop-card,.primer-preview-map-group,.chat-message-bubble,.chat-reasoning,.chat-tool-approval,.chat-attachment-chip,.files-item){box-shadow:var(--shadow-sm),var(--panel-shadow-inset)}:root{--assistant-strip-width:48px}.app-shell{display:flex;height:100vh;height:100svh;height:100dvh;min-height:100vh;min-height:100svh;min-height:100dvh;width:100vw;overflow:visible;position:relative;padding-top:var(--viewer-header-height);box-sizing:border-box}.app-dropzone-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--dialog-backdrop) 82%,transparent);border:2px dashed color-mix(in srgb,var(--primary) 45%,transparent);display:flex;align-items:center;justify-content:center;z-index:1200;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.app-dropzone-card{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-strong);padding:16px 20px;border-radius:var(--radius-lg);font-size:.95rem;font-weight:700;letter-spacing:.01em;box-shadow:var(--shadow-lg)}.assistant-strip{width:var(--assistant-strip-width);background:var(--surface-glass);border-right:1px solid var(--border-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;gap:18px;justify-content:flex-start;padding:14px 0;box-shadow:var(--shadow-sm)}.strip-action{position:relative}.strip-button{width:40px;height:40px;border-radius:12px;border:1px solid transparent;background:var(--surface-soft);color:var(--text-secondary);cursor:pointer;transition:border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.strip-button,.strip-icon-stack{display:inline-flex;align-items:center;justify-content:center}.strip-icon-stack{position:relative;width:16px;height:16px}.strip-icon{position:absolute;inset:0;display:inline-flex;align-items:center;justify-content:center;transition:opacity .18s ease,transform .18s ease}.strip-icon-stack[data-state=closed] .strip-icon-inactive,.strip-icon-stack[data-state=open] .strip-icon-active{opacity:1;transform:scale(1) rotate(0deg)}.strip-icon-stack[data-state=closed] .strip-icon-active,.strip-icon-stack[data-state=open] .strip-icon-inactive{opacity:0;transform:scale(.82) rotate(-10deg)}.strip-button:hover{border-color:var(--border-strong);background:var(--bg-tertiary);color:var(--text-primary);transform:translateY(-1px)}.strip-button.active{border-color:color-mix(in srgb,var(--primary) 60%,var(--border-strong));background:var(--primary-softest);color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 34%,transparent)}.strip-tooltip{position:absolute;left:52px;top:50%;transform:translateY(-50%);padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--surface-elevated) 90%,var(--text-primary) 10%);color:var(--text-primary);border:1px solid var(--border-color);font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none;box-shadow:var(--shadow-sm)}.strip-action:hover .strip-tooltip{opacity:1;transform:translateY(-50%)}@media (max-height:900px){.assistant-strip{padding:10px 0;gap:12px}.strip-button{width:36px;height:36px;border-radius:10px}}@media (max-width:1600px){:root{--assistant-strip-width:40px}.assistant-strip{padding:5px 0;gap:6px}.strip-button{width:30px;height:30px;border-radius:7px}.strip-button svg,.strip-icon-stack{width:16px;height:16px}.strip-tooltip{left:40px}}@media (max-width:1280px){:root{--assistant-strip-width:34px}.assistant-strip{padding:4px 0;gap:5px}.strip-button{width:26px;height:26px;border-radius:6px}.strip-button svg,.strip-icon-stack{width:14px;height:14px}.strip-tooltip{left:34px}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 8px);transform:translate(-50%,-4px);opacity:0;pointer-events:none;background:color-mix(in srgb,var(--surface-elevated) 90%,var(--text-primary) 10%);color:var(--text-primary);border:1px solid var(--border-color);padding:6px 10px;border-radius:10px;font-size:.72rem;font-weight:500;line-height:1.3;letter-spacing:.01em;max-width:260px;text-align:center;white-space:normal;box-shadow:var(--shadow-md);transition:opacity .15s ease,transform .15s ease;transition-delay:0s;z-index:2000}[data-tooltip]:focus-visible:after,[data-tooltip]:hover:after{opacity:1;transform:translate(-50%);transition-delay:.5s}[data-tooltip][data-tooltip-placement=top]:after{top:auto;bottom:calc(100% + 8px);transform:translate(-50%,4px)}[data-tooltip][data-tooltip-placement=top]:focus-visible:after,[data-tooltip][data-tooltip-placement=top]:hover:after{transform:translate(-50%)}.app-container{overflow:visible;position:relative;padding-bottom:0}.app-container,.workspace-surface{display:flex;flex:1 1;min-width:0;min-height:0}.workspace-surface.is-hidden{display:none}.viewer-panel{flex:1 1;display:flex;flex-direction:column;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-secondary) 86%,var(--bg-primary)),var(--bg-secondary));position:relative;min-width:0}.viewer-top-bar{position:fixed;top:0;left:0;right:0;z-index:50;padding:2px 22px 2px 8px;min-height:var(--assistant-strip-width,48px);border-bottom:1px solid var(--border-color)}.viewer-toolbar-row{position:relative;z-index:40;padding:0 24px;min-height:var(--side-header-height,48px);flex-direction:column;justify-content:center;gap:12px;overflow:visible}.viewer-header-top,.viewer-toolbar-row{align-items:center;display:flex;border-bottom:1px solid var(--border-color)}.viewer-header-top{justify-content:space-between;flex-wrap:nowrap;gap:6px 10px;width:100%;padding-bottom:4px}.viewer-topbar-left{gap:12px;flex:1 1}.viewer-topbar-left,.viewer-topbar-right{display:flex;align-items:center;min-width:0}.viewer-topbar-right{gap:8px;flex-wrap:nowrap;justify-content:flex-end;flex:0 0 auto;margin-left:auto}.presence-bar{gap:6px;padding:3px 6px}.presence-avatar,.presence-bar{display:inline-flex;align-items:center;border-radius:999px}.presence-avatar{width:28px;height:28px;justify-content:center;font-size:.7rem;font-weight:700;color:var(--primary-contrast);border:2px solid var(--surface-elevated);overflow:hidden;box-shadow:var(--shadow-xs)}.presence-avatar img{width:100%;height:100%;object-fit:cover}.presence-avatar.is-self{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 34%,transparent)}.presence-avatar-more{background:color-mix(in srgb,var(--text-tertiary) 20%,transparent);color:var(--text-primary);border:1px dashed color-mix(in srgb,var(--text-tertiary) 35%,transparent)}.viewer-share-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.viewer-share-pill{border-radius:999px;padding:8px 14px;font-weight:600}.viewer-network-badge{display:inline-flex;align-items:center;justify-content:center;min-width:72px;height:34px;padding:0 12px;border-radius:999px;border:1px solid transparent;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.viewer-network-badge--offline{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent);border-color:color-mix(in srgb,var(--warning) 35%,transparent)}.viewer-network-badge--online{color:var(--success);background:color-mix(in srgb,var(--success) 15%,transparent);border-color:color-mix(in srgb,var(--success) 35%,transparent)}.topbar-projects-button{flex-shrink:0}.viewer-top-bar .viewer-header-top{padding-bottom:0;border-bottom:none}@media (max-height:900px),(max-width:1400px){.viewer-header-top{gap:8px 12px}.viewer-toolbar-row{padding:6px 20px;gap:8px}.project-title-row{font-size:.95rem}}@media (max-width:1600px){.viewer-top-bar{padding:1px 12px 1px 6px;min-height:var(--assistant-strip-width)}.viewer-header-top{gap:4px 8px;padding-bottom:2px}.project-title-row{font-size:.85rem}.viewer-toolbar-row{padding:0 12px;gap:6px;min-height:var(--side-header-height);justify-content:center}}@media (max-width:1200px){.viewer-top-bar{padding:0 10px 0 6px}.viewer-header-top{gap:6px 10px;padding-bottom:3px}}@media (max-width:1280px){.viewer-top-bar{padding:0 8px 0 6px;min-height:var(--assistant-strip-width)}.viewer-header-top{gap:4px 6px;padding-bottom:2px}.project-title-row{font-size:.82rem}}.project-title-row{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;font-size:.95rem;font-weight:600;letter-spacing:.05em;color:var(--text-primary);min-width:0;overflow:hidden}.project-title-editable,.project-title-sequence,.project-title-text{min-width:0;white-space:nowrap}.project-title-icon{width:26px;height:26px;padding:1px;border:1px solid color-mix(in srgb,var(--border-strong) 90%,transparent);border-radius:999px;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--surface-elevated) 96%,transparent),color-mix(in srgb,var(--surface-soft) 92%,var(--surface-elevated)));box-shadow:var(--shadow-xs);display:block;flex-shrink:0}.project-title-separator{color:var(--text-secondary);font-weight:400}.project-title-editable{overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.project-title-editable.editable{cursor:text;border-radius:6px;padding:2px 6px;margin:-2px -6px;transition:background-color .16s ease}.project-title-editable.editable:hover{background:color-mix(in srgb,var(--bg-tertiary) 88%,transparent)}.project-title-sequence{flex:1 1;min-width:2ch;overflow:hidden;text-overflow:ellipsis;color:var(--text-secondary);font-weight:500}.access-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;font-size:11px}.access-pill.readonly{border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.access-pill.share{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.project-name-input{font-size:inherit;font-weight:inherit;font-family:inherit;letter-spacing:inherit;border:none;border-bottom:1.5px solid var(--primary);border-radius:0;padding:0 0 1px;margin:0;outline:none;background:transparent;color:var(--text-primary);field-sizing:content;min-width:2ch}.viewer-header-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;width:100%;margin-top:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:8px;min-width:0}.toolbar-panel-buttons{display:inline-flex;align-items:center;gap:10px}.toolbar-menu-section.toolbar-menu-panels{display:none}.toolbar-tools{z-index:2}.custom-find-bar,.toolbar-tools{position:relative;display:inline-flex;align-items:center}.custom-find-panel{position:absolute;top:calc(100% + 10px);left:0;z-index:60;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:8px;min-width:360px}.custom-find-input-row{display:flex;align-items:center;gap:4px}.custom-find-input{flex:1 1;height:36px;padding:0 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-primary);font-size:14px;color:var(--text-primary);outline:none;min-width:180px}.custom-find-input:focus{box-shadow:0 0 0 2px var(--primary-soft-hover);border-color:var(--primary-outline)}.custom-find-input::placeholder{color:var(--text-tertiary)}.custom-find-count{font-size:12px;color:var(--text-secondary);padding:0 6px;min-width:44px;text-align:center}.custom-find-close-btn,.custom-find-nav-btn,.custom-find-options-btn{width:28px;height:28px;border:none;border-radius:6px;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:background .15s,color .15s}.custom-find-close-btn:hover,.custom-find-nav-btn:hover,.custom-find-options-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.custom-find-nav-btn:disabled{opacity:.4;cursor:not-allowed}.custom-find-nav-btn:disabled:hover{background:transparent;color:var(--text-secondary)}.custom-find-options-btn.is-active{background:var(--primary-soft);color:var(--primary)}.custom-find-options{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:8px}.custom-find-option-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.custom-find-label{font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:4px}.custom-find-info-icon{display:inline-flex;align-items:center;color:var(--text-tertiary);cursor:help}.custom-find-select{height:32px;padding:0 28px 0 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);font-size:13px;color:var(--text-primary);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.custom-find-select:focus{outline:none;border-color:var(--primary-outline)}.custom-find-number{width:60px;height:32px;padding:0 8px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);font-size:13px;color:var(--text-primary);text-align:center}.custom-find-number:focus{outline:none;border-color:var(--primary-outline)}.custom-find-number:disabled{opacity:.5;cursor:not-allowed}.custom-find-checkbox-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer}.custom-find-checkbox-label input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.custom-find-hint{font-size:11px;color:var(--text-tertiary);margin-left:4px}.toolbar-button{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s,color .2s,transform .2s}.toolbar-button img,.toolbar-button svg{color:inherit}.toolbar-icon{width:18px;height:18px;display:block}.toolbar-icon--blast{background-color:currentColor;mask:url(/blast.svg) center/contain no-repeat;-webkit-mask:url(/blast.svg) center/contain no-repeat}.toolbar-button.is-active{border-color:color-mix(in srgb,var(--primary) 55%,var(--border-strong));background:var(--primary-softest);color:var(--primary);box-shadow:0 0 0 1px color-mix(in srgb,var(--primary) 30%,transparent)}.toolbar-button.is-active svg{color:var(--primary)}.toolbar-divider{width:1px;height:28px;background:var(--border-color);margin:0 6px}.toolbar-toggle{width:auto;padding:0 12px;gap:8px;border-radius:999px}.toolbar-toggle-label{font-size:12px;font-weight:600}.toolbar-toggle.is-active{border-color:color-mix(in srgb,var(--primary) 45%,transparent);background:var(--primary-soft);color:var(--primary)}[data-theme=dark] .custom-find-options-btn.is-active,[data-theme=dark] .strip-button.active,[data-theme=dark] .toolbar-button.is-active,[data-theme=dark] .toolbar-toggle.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}[data-theme=dark] .custom-find-options-btn.is-active svg,[data-theme=dark] .strip-button.active svg,[data-theme=dark] .toolbar-button.is-active svg,[data-theme=dark] .toolbar-toggle.is-active svg{color:currentColor}.toolbar-tooltip{display:inline-flex;align-items:center}.toolbar-button.is-disabled,.toolbar-button:disabled{opacity:.6;cursor:not-allowed}.toolbar-button.is-disabled{pointer-events:none}.toolbar-menu{position:absolute;top:calc(100% + 10px);left:0;z-index:1001;width:320px;background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:14px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:14px}.toolbar-menu-compact{width:220px;padding:10px 12px;gap:10px}.toolbar-menu-checkbox-row{justify-content:space-between;width:100%}.toolbar-menu-compact .toolbar-menu-title{font-size:.65rem}.toolbar-menu-section{display:flex;flex-direction:column;gap:8px}.toolbar-menu-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.toolbar-menu-item{display:inline-flex;align-items:center;gap:8px;text-align:left;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-primary);cursor:pointer}.toolbar-menu-item.is-active{border-color:var(--primary);background:var(--primary-softest);color:var(--primary)}.toolbar-menu-item svg{color:currentColor}.toolbar-menu-item:hover{border-color:var(--primary)}.toolbar-menu-item:disabled{opacity:.55;cursor:not-allowed;border-color:var(--border-color)}.toolbar-menu-divider{height:1px;margin:4px 0;background:var(--border-color)}@media (max-width:1150px){.toolbar-panel-buttons{display:none}.toolbar-menu-section.toolbar-menu-panels{display:flex}.toolbar-toggle-label{display:none}}@media (max-width:1600px){.toolbar-toggle-label{display:none}.toolbar-toggle{width:36px;padding:0;justify-content:center}.toolbar-button{width:32px;height:32px;border-radius:8px}.toolbar-divider{height:22px}}@media (max-width:400px){.toolbar-right{width:100%;justify-content:flex-start}}@media (max-width:900px){.custom-find-panel{min-width:min(280px,85vw)}}@media (max-height:900px){.viewer-header-bottom{gap:8px}.toolbar-left,.toolbar-right{gap:8px;row-gap:6px}.toolbar-button{width:36px;height:36px;border-radius:10px}.toolbar-divider{height:24px}}.toolbar-menu-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.toolbar-menu-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);background-position:50%;background-repeat:no-repeat;background-size:11px 11px;cursor:pointer;transition:border-color .2s,background-color .2s,box-shadow .2s}.toolbar-menu-checkbox input[type=checkbox]:checked{border-color:var(--primary);background-color:var(--primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z'/%3E%3C/svg%3E")}.toolbar-menu-checkbox input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.toolbar-menu-checkbox input[type=checkbox]:disabled{opacity:.55;cursor:not-allowed}.view-toggle{border:none;background:transparent;padding:0;cursor:pointer}.view-toggle:disabled{opacity:.6;cursor:not-allowed}.view-toggle-track{width:64px;height:36px;border-radius:18px;border:1px solid var(--border-color);background:var(--surface-soft);display:inline-flex;align-items:center;justify-content:space-between;padding:6px 8px;position:relative;gap:6px;transition:border-color .2s,background .2s}.view-toggle:hover .view-toggle-track{border-color:var(--primary);background:var(--primary-softest)}.view-toggle-icon{color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;z-index:2}.view-toggle-icon.is-active{color:var(--primary)}.view-toggle-icon--linear svg{transform:scaleY(.7)}.view-toggle-thumb{position:absolute;top:50%;left:4px;width:28px;height:28px;border-radius:999px;background:var(--surface-elevated);border:1px solid var(--border-color);box-shadow:var(--control-shadow);transition:transform .2s ease;z-index:1;transform:translateY(-50%)}.view-toggle-thumb.is-right{transform:translate(28px,-50%)}.view-toggle--edit .view-toggle-track{width:112px;padding:6px;justify-content:space-between;gap:0}.view-toggle-text{font-size:.75rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em;z-index:2;display:inline-flex;align-items:center;gap:4px;line-height:1}.view-toggle-text.is-active{color:var(--primary)}.view-toggle--edit .view-toggle-thumb{width:55px;left:4px}.view-toggle--edit .view-toggle-thumb.is-right{transform:translate(50px,-50%)}.btn-user{width:40px;height:40px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-secondary);display:inline-flex;justify-content:center;align-items:center;cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden;padding:0}.btn-user:hover{border-color:var(--border-strong);background:var(--bg-tertiary)}.btn-user-avatar{width:18px;height:18px;border-radius:999px;object-fit:cover;display:block}.btn-user-initials{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:var(--text-primary)}.viewer-sign-in-button{min-height:40px;padding:10px 16px;border-radius:16px;font-size:14px;-webkit-tap-highlight-color:transparent}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid transparent;font-size:.8rem;max-width:280px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-pill-ok{border-color:color-mix(in srgb,var(--success) 40%,transparent);background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success)}.status-pill-error{border-color:color-mix(in srgb,var(--danger) 38%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.viewer-content{flex:1 1;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0}.plasmid-dropzone-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--dialog-backdrop) 68%,transparent);border:2px dashed color-mix(in srgb,var(--primary) 50%,transparent);display:flex;align-items:center;justify-content:center;z-index:40;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.plasmid-dropzone-card{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-strong);padding:14px 18px;border-radius:var(--radius-lg);font-size:.9rem;font-weight:700;box-shadow:var(--shadow-md)}[data-theme=dark] .viewer-body,[data-theme=dark] .viewer-content,[data-theme=dark] .viewer-main{background:var(--bg-primary)}.viewer-content--alignment{overflow:hidden}.viewer-placeholder{flex:1 1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--text-secondary)}.viewer-placeholder p{margin:0;font-size:.95rem}.viewer-loading-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--border-color);border-top-color:var(--primary);animation:tool-panel-spin .8s linear infinite}.viewer-switching-overlay{position:absolute;inset:0;background:color-mix(in srgb,var(--surface-elevated) 72%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:30}.viewer-switching-card,.viewer-switching-overlay{display:flex;align-items:center;justify-content:center}.viewer-switching-card{flex-direction:column;gap:10px;min-width:220px;padding:18px 20px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--surface-elevated);box-shadow:var(--shadow-md);color:var(--text-secondary);text-align:center}.viewer-switching-card p{margin:0;font-size:.95rem}.alignment-workspace{flex:1 1;min-height:0;display:flex;flex-direction:column;padding:12px 16px;overflow:hidden}.alignment-panel--full,.readset-viewer{flex:1 1;min-height:0}.readset-viewer{display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px}.readset-viewer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.readset-viewer__title-block{min-width:0}.readset-viewer__eyebrow{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--primary-softest);color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.readset-viewer__title{margin:8px 0 4px;font-size:1.15rem;line-height:1.2;color:var(--text-primary)}.readset-viewer__detail-meta,.readset-viewer__list-meta,.readset-viewer__meta{margin:0;color:var(--text-secondary);font-size:.85rem}.readset-viewer__body{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-gap:12px;gap:12px}.readset-viewer__detail,.readset-viewer__sidebar{min-height:0;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-elevated)}.readset-viewer__sidebar{display:flex;flex-direction:column;overflow:hidden}.readset-viewer__detail-header,.readset-viewer__sidebar-header{padding:12px 14px;border-bottom:1px solid var(--border-color)}.readset-viewer__sidebar-header{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}.readset-viewer__list{flex:1 1;min-height:0;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:8px}.readset-viewer__list-item{width:100%;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-soft);padding:10px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .2s ease,background .2s ease}.readset-viewer__list-item:hover{border-color:var(--primary-outline)}.readset-viewer__list-item.is-active{border-color:var(--primary);background:var(--primary-softest)}.readset-viewer__detail-title,.readset-viewer__list-name{margin:0;color:var(--text-primary);font-size:.95rem;font-weight:600}.readset-viewer__detail{display:flex;flex-direction:column;overflow:hidden}.readset-viewer__detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.readset-viewer__nav{display:inline-flex;gap:8px}.readset-viewer__sequence-frame{flex:1 1;min-height:0;overflow:auto;padding:14px}.readset-viewer__sequence{min-width:-moz-fit-content;min-width:fit-content;display:flex;flex-direction:column;gap:8px}.readset-viewer__sequence-line{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.readset-viewer__sequence-offset{color:var(--text-tertiary);font-size:.8rem;text-align:right}.readset-viewer__sequence-bases,.readset-viewer__sequence-offset{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.readset-viewer__sequence-bases{color:var(--text-primary);font-size:.86rem;white-space:pre-wrap;word-break:break-word}.structure-viewer{flex:1 1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px}.structure-viewer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.structure-viewer__title-block{min-width:0;flex:1 1 320px}.structure-viewer__eyebrow{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:var(--primary-softest);color:var(--primary);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.structure-viewer__title{margin:8px 0 4px;font-size:1.15rem;line-height:1.2;color:var(--text-primary)}.structure-viewer__detail-label,.structure-viewer__meta{margin:0;color:var(--text-secondary);font-size:.85rem}.structure-viewer__controls{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border-color);border-radius:999px;background:var(--surface-soft)}.structure-viewer__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:700;line-height:1;padding:8px 10px;border-radius:999px;cursor:pointer;transition:background-color .12s ease,color .12s ease}.structure-viewer__toggle:hover:not(:disabled){background:var(--surface-elevated);color:var(--text-primary)}.structure-viewer__toggle.is-active{background:var(--primary);color:#fff}.structure-viewer__toggle:disabled{cursor:not-allowed;opacity:.45}.structure-viewer__body{flex:1 1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);grid-gap:12px;gap:12px}.structure-viewer__canvas,.structure-viewer__details{min-height:0;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-elevated)}.structure-viewer__canvas{overflow:hidden;padding:12px}.structure-renderer,.structure-renderer-shell{width:100%;height:100%;min-height:320px}.structure-renderer-shell{position:relative}.structure-renderer__loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--text-secondary)}.structure-renderer__loading p{margin:0}.structure-renderer--hidden{visibility:hidden}.structure-viewer__details{overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.structure-viewer__detail-block{display:flex;flex-direction:column;gap:6px}.structure-viewer__detail-text{margin:0;color:var(--text-primary);font-size:.84rem;line-height:1.5}.structure-viewer__legend{display:flex;flex-direction:column;gap:6px;margin-top:4px}.structure-viewer__legend-title{color:var(--text-secondary);font-size:.78rem;font-weight:700}.structure-viewer__legend-bar{height:10px;border-radius:999px;border:1px solid rgba(0,0,0,.08)}.structure-viewer__legend-labels{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.76rem}.structure-viewer__detail-code{display:block;padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.82rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.alignment-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:6px;border-bottom:1px solid var(--border-color)}.alignment-panel-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.alignment-panel-close{flex-shrink:0}.viewer-tool-panel{position:relative;width:520px;min-width:0;max-width:calc(100% - 280px);padding:12px 14px 12px 16px;display:flex;flex-direction:column;gap:10px;border-left:1px solid var(--border-color);background:color-mix(in srgb,var(--surface-glass) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:0;overflow:hidden;flex:0 0 auto}.viewer-tool-panel.is-drag-collapsed{padding:0;border-left:none;gap:0;background:transparent}.viewer-tool-panel.is-drag-collapsed .viewer-tool-body,.viewer-tool-panel.is-drag-collapsed .viewer-tool-header,.viewer-tool-panel.is-drag-collapsed .viewer-tool-resize-handle{display:none}.viewer-tool-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.viewer-tool-title{font-size:.95rem;font-weight:600;color:var(--text-primary)}.viewer-tool-subtitle{font-size:.82rem;color:var(--text-secondary)}.tool-panel-close{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.tool-panel-close:hover{border-color:var(--primary);color:var(--primary)}.viewer-tool-body{background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:12px;flex:1 1;min-height:0;overflow:auto;display:flex;flex-direction:column}.viewer-tool-body--digest{min-height:0;overflow:hidden}.viewer-tool-resize-handle{position:absolute;left:0;top:0;bottom:0;width:10px;cursor:col-resize;z-index:2}.viewer-tool-resize-handle:after{content:"";position:absolute;left:4px;top:50%;width:2px;height:64px;border-radius:999px;background:color-mix(in srgb,var(--text-tertiary) 28%,transparent);transform:translateY(-50%);transition:background .2s ease}.viewer-tool-panel:hover .viewer-tool-resize-handle:after{background:color-mix(in srgb,var(--primary) 44%,transparent)}@media (max-width:900px){.readset-viewer,.structure-viewer{padding:12px}.readset-viewer__body,.structure-viewer__body{grid-template-columns:1fr}.readset-viewer__sidebar{max-height:220px}.structure-viewer__details{max-height:280px}.readset-viewer__sequence-line{grid-template-columns:56px minmax(0,1fr);gap:10px}.viewer-tool-panel{width:100%!important;min-width:0;max-width:100%;max-height:min(60vh,520px);border-left:none;border-top:1px solid var(--border-color);padding:10px 12px}.viewer-tool-resize-handle{display:none}}.tool-panel-scroll{height:100%;overflow:auto;flex:1 1;min-height:0}.restriction-tool .restriction-ladder-row{display:flex;align-items:flex-start;gap:8px}.restriction-tool .restriction-ladder-icon{display:inline-flex;width:18px;height:18px;margin-top:10px;background-color:var(--text-secondary);-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE5IDVhMiAyIDAgMCAwLTIgMnYxMSIgLz48cGF0aCBkPSJNMiAxOGMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIiAvPjxwYXRoIGQ9Ik03IDEzaDEwIiAvPjxwYXRoIGQ9Ik03IDloMTAiIC8+PHBhdGggZD0iTTkgNWEyIDIgMCAwIDAtMiAydjExIiAvPjwvc3ZnPg==");-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:url("data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE5IDVhMiAyIDAgMCAwLTIgMnYxMSIgLz48cGF0aCBkPSJNMiAxOGMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIiAvPjxwYXRoIGQ9Ik03IDEzaDEwIiAvPjxwYXRoIGQ9Ik03IDloMTAiIC8+PHBhdGggZD0iTTkgNWEyIDIgMCAwIDAtMiAydjExIiAvPjwvc3ZnPg==");mask-repeat:no-repeat;mask-position:center;mask-size:contain}.restriction-tool .restriction-ladder-input{flex:1 1 240px}.restriction-tool .restriction-ladder-button{margin-top:4px}.restriction-tool-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.restriction-partial-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.restriction-partial-note{font-size:.7rem;color:var(--text-secondary)}.restriction-enzyme-picker{margin-bottom:12px}.restriction-tabs{display:flex;gap:18px;border-bottom:1px solid var(--border-color);margin-bottom:8px}.restriction-tab{background:transparent;padding:6px 0 8px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;border:none;border-bottom:2px solid transparent}.restriction-tab.is-active{color:var(--text-primary);border-bottom-color:var(--primary)}.restriction-tool{color:var(--text-primary);font-size:.85rem}.tool-panel-tabs{display:flex;gap:18px;border-bottom:1px solid var(--border-color);margin-bottom:6px}.tool-panel-tab{background:transparent;padding:6px 0 8px;font-size:.85rem;color:var(--text-secondary);cursor:pointer;border:none;border-bottom:2px solid transparent}.tool-panel-tab.is-active{color:var(--text-primary);border-bottom-color:var(--primary)}.tool-panel-tab:disabled{cursor:not-allowed;opacity:.6}.alignment-view-layout{display:flex;flex-direction:column;gap:12px;flex:1 1;min-height:0}.alignment-view-toolbar-row{align-items:center}.alignment-view-toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px;flex:0 0 auto}.alignment-view-toolbar-controls{min-height:32px;display:flex;align-items:center;gap:10px;flex:0 0 auto}.alignment-view-toolbar-controls .veZoomAlignmentSlider{width:108px!important;margin:0!important;padding-top:0!important}.alignment-view-toolbar-controls .veZoomAlignmentSlider .bp3-slider{margin-bottom:0!important}.alignment-view-toolbar-controls .bp3-popover-target,.alignment-view-toolbar-controls .bp3-popover-wrapper{display:inline-flex;align-items:center}.alignment-run-content{display:flex;flex-direction:column;gap:2px}.alignment-run-title{font-size:.85rem;font-weight:600;color:var(--text-primary)}.alignment-run-meta{font-size:.72rem;color:var(--text-secondary)}.alignment-run-remove{width:34px;min-width:34px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.alignment-run-remove svg{pointer-events:none}.alignment-run-remove:hover{border-color:var(--primary);color:var(--primary)}.msa-panel{gap:12px;min-height:0}.msa-panel,.msa-run-list{display:flex;flex-direction:column}.msa-run-list{gap:8px}.msa-viewer{flex:1 1;min-height:420px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--surface-elevated);overflow:hidden}.alignment-import-overlay{z-index:90}.alignment-import-dialog{width:min(760px,92vw);max-height:84vh}.alignment-import-tree{display:flex;flex-direction:column;gap:10px}.alignment-import-tree-node{border:1px solid var(--border-color);border-radius:12px;background:var(--bg-secondary)}.alignment-import-tree-toggle{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:8px;text-align:left;padding:10px 12px;cursor:pointer;color:var(--text-primary)}.alignment-import-tree-toggle:hover{background:var(--bg-tertiary)}.alignment-import-tree-caret{width:12px;color:var(--text-secondary)}.alignment-import-tree-project{font-size:.84rem;font-weight:600}.alignment-import-tree-files{padding:0 10px 10px 32px;display:flex;flex-direction:column;gap:8px}.alignment-import-tree-file-list{display:flex;flex-direction:column;gap:6px}.alignment-import-tree-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;font-size:.8rem;color:var(--text-secondary)}.alignment-import-tree-file-name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alignment-import-tree-file-kind{font-size:.72rem;color:var(--text-muted);text-transform:capitalize}.alignment-import-actions{justify-content:flex-end}.alignment-read-import-row{display:flex;align-items:center;gap:8px;width:100%;flex-wrap:wrap}.alignment-read-import-select{flex:1 1 220px;width:auto;min-width:0}.restriction-tool .bp3-control.bp3-checkbox{font-size:.82rem;color:var(--text-secondary)}.restriction-tool .bp3-control.bp3-checkbox .bp3-control-indicator{border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary)}.restriction-tool .bp3-control.bp3-checkbox input:checked~.bp3-control-indicator{background:var(--primary);border-color:var(--primary)}.restriction-tool .bp3-button{border-radius:10px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.restriction-tool .bp3-button.bp3-intent-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.restriction-tool .bp3-input,.restriction-tool .bp3-input-group input{border-radius:10px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.restriction-tool .ve-digest-outer-container{max-width:100%;width:100%}.restriction-tool .ve-digest-container{width:100%;min-width:min(520px,100%);border-radius:12px;overflow:hidden}.restriction-tool .ve-digest-column{width:clamp(72px,28%,120px);min-width:0}.restriction-tool .ve-digest-label-column{width:clamp(64px,24%,100px)}.restriction-tool .ve-digest-lane{margin-inline:clamp(6px,2vw,20px);text-align:center}.restriction-tool .ve-digest-summary{padding:3px 3px 3px 7px;width:100%;max-width:100%;box-sizing:border-box}.restriction-tool .ve-digest-header{font-size:.85rem}.restriction-tool .ve-digest-lane-label{font-size:.72rem;line-height:1.1;color:hsla(0,0%,100%,.85);margin-top:2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.restriction-tool a{color:var(--primary);cursor:pointer;text-decoration:none}.restriction-tool a:hover{text-decoration:underline}.restriction-tool a[href*="teselagen.com/en/articles/5489322"],.restriction-tool a[href*=restriction-digest]{display:none}.bp3-dialog{border-radius:18px;border:1px solid var(--border-color);background:var(--surface-elevated);box-shadow:var(--shadow-lg);color:var(--text-primary)}.bp3-dialog-header{padding:14px 18px;background:var(--surface-soft);border-bottom:1px solid var(--border-color);border-top-left-radius:18px;border-top-right-radius:18px}.bp3-dialog-header .bp3-heading{font-size:1rem;font-weight:600;color:var(--text-primary)}.bp3-dialog-header .bp3-dialog-close-button{width:32px;height:32px;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-secondary)}.bp3-dialog-header .bp3-dialog-close-button:hover{color:var(--primary);border-color:var(--primary)}.bp3-dialog-body{background:var(--surface-elevated);color:var(--text-primary)}.veEnzymeDialog{height:min(560px,75vh)!important;padding:0!important}.veEnzymeDialogInner{gap:16px}.veEnzymeDialogEnzymeGroups{background:var(--surface-soft);border-right:1px solid var(--border-color)!important;padding:12px!important;border-radius:12px}.veEnzymeDialogEnzymeGroups h5{font-size:.9rem;margin-bottom:8px;color:var(--text-primary)}.veEnzymeDialogEnzymeGroups .bp3-menu-item{border-radius:10px;padding:6px 10px}.veEnzymeDialogEnzymeGroups .bp3-menu-item.bp3-active{background:var(--primary-soft);color:var(--primary)}.veEnzymeDialogEnzymes{padding:4px 0}.veEnzymeDialogSearch .bp3-input{border-radius:12px;color:var(--text-primary)}.veEnzymeDialogEnzymesList,.veEnzymeDialogSearch .bp3-input{border:1px solid var(--border-color);background:var(--surface-soft)}.veEnzymeDialogEnzymesList{border-radius:12px;padding:8px;gap:6px}.veEnzymeDialogEnzyme{border-radius:10px;padding:4px 8px;color:var(--text-primary)}.veEnzymeDialogEnzyme.bp3-active{background:var(--primary-soft-hover);color:var(--primary)}.veEnzymeDialog .bp3-anchor-button,.veEnzymeDialog .bp3-button{border-radius:10px;border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-primary)}.veEnzymeDialog .bp3-button.bp3-intent-primary,.veEnzymeDialog .bp3-button.bp3-intent-success{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.veEnzymeDialog .bp3-button.bp3-minimal{border:1px solid transparent;background:transparent}.restriction-tool .ve-digest-column span{font-size:11px!important;line-height:1.05}.tool-panel-grid{display:flex;flex-direction:column;gap:10px;flex:1 1;min-height:0;overflow:auto}.tool-panel-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tool-panel-label{font-size:.8rem;color:var(--text-secondary);flex:1 1}.tool-panel-input{width:120px;min-width:0;padding:6px 8px;border-radius:10px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary)}.tool-panel-checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-secondary)}.tool-panel-primary,.tool-panel-secondary{padding:8px 12px;border-radius:12px;border:1px solid var(--border-color);cursor:pointer;font-size:.85rem;font-weight:600}.tool-panel-primary{background:var(--primary-soft);color:var(--primary)}.tool-panel-secondary{background:var(--bg-secondary);color:var(--text-secondary)}.tool-panel-button-loading{display:inline-flex;align-items:center;gap:8px}.tool-panel-button-stack{display:inline-flex;flex-direction:column;align-items:center;gap:2px;line-height:1.1}.tool-panel-icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0}.tool-panel-primary:disabled,.tool-panel-secondary:disabled{opacity:.6;cursor:not-allowed}.tool-panel-result{border:1px dashed var(--border-color);border-radius:12px;padding:10px;background:var(--surface-soft);display:flex;flex-direction:column;gap:6px}.tool-panel-result.is-clickable{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.tool-panel-result.is-clickable:hover{border-color:var(--primary);box-shadow:var(--shadow-sm)}.tool-panel-result.is-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.tool-panel-result-header{display:flex;justify-content:space-between;font-size:.8rem;font-weight:600;color:var(--text-primary)}.tool-panel-seq{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.8rem;color:var(--text-primary);word-break:break-all}.tool-panel-description,.tool-panel-meta,.tool-panel-status{font-size:.78rem;color:var(--text-secondary)}.tool-panel-status--error{color:var(--danger)}.tool-panel-status-list{margin:6px 0 0 16px;padding:0;list-style:disc;display:grid;grid-gap:2px;gap:2px}.tool-panel-description{line-height:1.4}.tool-panel-spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-color);border-top-color:var(--primary);animation:tool-panel-spin .8s linear infinite}@keyframes tool-panel-spin{to{transform:rotate(1turn)}}.tool-panel-row-stack{align-items:flex-start;flex-direction:column}.tool-panel-enzyme-grid{display:flex;flex-wrap:wrap;gap:8px;width:100%;align-items:flex-start}.tool-panel-input-stack{display:flex;flex-direction:column;gap:6px;width:100%;min-width:220px;flex:1 1 220px}.tool-panel-enzyme-grid .tool-panel-secondary{align-self:flex-start;flex:0 0 auto;white-space:nowrap}.tool-panel-input-wide,.tool-panel-textarea{width:100%;min-width:220px}.tool-panel-textarea{padding:8px 10px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-primary);font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.cloning-enzyme-field{display:flex;flex-direction:column;gap:4px;flex:1 1 120px;min-width:120px}.cloning-enzyme-field .tool-panel-input-stack{min-width:120px;flex:0 0 auto;width:100%}.cloning-enzyme-field .tool-panel-input-wide{min-width:120px}.cloning-enzyme-field .tool-panel-meta{margin-left:2px}.cloning-enzyme-field--full{min-width:180px;flex:1 1 180px}.cloning-insert-row{padding-block:6px}.cloning-insert-stack{gap:8px;margin:6px 0}.cloning-insert-entry,.cloning-insert-stack{display:flex;flex-direction:column;width:100%}.cloning-insert-entry{gap:6px}.cloning-insert-box{display:flex;align-items:stretch;gap:8px;width:100%;min-width:0;margin:0}.cloning-insert-textarea{flex:1 1 auto;min-width:0;padding-right:34px}.cloning-insert-textarea-wrap{position:relative;flex:1 1;min-width:0;display:flex}.cloning-insert-remove{position:absolute;top:6px;right:8px;width:22px;height:22px;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-elevated);color:var(--text-secondary);font-size:.76rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;z-index:1}.cloning-insert-remove:hover{border-color:var(--danger);color:var(--danger)}.cloning-insert-add-row{width:100%;display:flex;justify-content:center}.cloning-insert-add{min-width:28px;height:28px;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-soft);color:var(--text-primary);font-size:1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.cloning-insert-add:hover{border-color:var(--primary-outline);background:var(--primary-softest)}.cloning-overhang{flex:0 0 auto;min-width:44px;padding:0 8px;border-radius:10px;border:1px solid var(--border-color);background:var(--surface-soft);display:flex;align-items:center;justify-content:center;font-size:.76rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:var(--text-secondary)}.cloning-overhang-stack{display:flex;flex-direction:column;align-items:center;line-height:1.1;gap:2px}.cloning-overhang-input{width:100%;min-width:34px;max-width:72px;border:none;outline:none;background:transparent;color:var(--text-primary);text-align:center;text-transform:uppercase;font-size:.75rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.cloning-overhang-input::placeholder{color:var(--text-tertiary);text-transform:none}.cloning-overhang-seq{font-weight:600;color:var(--text-primary)}.cloning-overhang-type{font-size:.68rem;color:var(--text-secondary)}.cloning-overhang.is-empty{color:var(--text-tertiary)}.cloning-overhang.is-blunt{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.tool-panel-suggestions{width:100%;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-soft);padding:6px;display:flex;flex-direction:column;gap:4px;max-height:160px;overflow-y:auto;scrollbar-gutter:stable}.tool-panel-result-list{display:flex;flex-direction:column;gap:6px}.tool-panel-result-line{font-size:.78rem;color:var(--text-secondary)}.tool-panel-primer-block,.tool-panel-result-line{display:flex;flex-direction:column;gap:4px}.tool-panel-suggestion{width:100%;text-align:left;border:none;background:transparent;color:var(--text-primary);padding:6px 8px;border-radius:8px;font-size:.8rem;cursor:pointer}.tool-panel-suggestion.is-active,.tool-panel-suggestion:hover{background:var(--surface-elevated)}.tool-panel-chip-group{display:flex;flex-wrap:wrap;gap:8px}.tool-panel-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--surface-soft);font-size:.78rem;color:var(--text-primary);cursor:pointer}.tool-panel-chip.tool-panel-chip--single-cutter{color:#ff8b72;font-weight:600;background:color-mix(in srgb,#ff8b72 16%,var(--surface-soft));border-color:color-mix(in srgb,#ff8b72 42%,var(--border-color))}.tool-panel-chip.tool-panel-chip--double-cutter{color:#67b7ff;font-weight:600;background:color-mix(in srgb,#67b7ff 16%,var(--surface-soft));border-color:color-mix(in srgb,#67b7ff 42%,var(--border-color))}.tool-panel-chip.tool-panel-chip--single-cutter:hover{background:color-mix(in srgb,#ff8b72 24%,var(--surface-soft))}.tool-panel-chip.tool-panel-chip--double-cutter:hover{background:color-mix(in srgb,#67b7ff 24%,var(--surface-soft))}.tool-panel-chip input{margin:0}.tool-panel-chip.is-active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.parts-panel{gap:12px}.parts-panel-controls{align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;gap:8px}.parts-panel-filter{display:inline-flex;align-items:center;gap:8px}.parts-panel-filter .tool-panel-label{flex:0 0 auto}.parts-panel-filter .tool-panel-input{width:148px}.parts-panel-add{margin-left:auto;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1}.parts-panel-list{display:flex;flex-direction:column;gap:8px}.parts-panel-item{width:100%}.parts-panel-name-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.parts-panel-name-row .files-item-name{flex:1 1;min-width:0}.parts-panel-stars{display:inline-flex;align-items:center;gap:2px;flex-shrink:0}.parts-panel-star{color:color-mix(in srgb,var(--text-muted) 70%,transparent)}.parts-panel-star.is-filled{color:#d5a621;fill:currentColor}.parts-panel-meta{font-size:.75rem;color:var(--text-secondary);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.parts-panel-pagination{display:flex;align-items:center;gap:8px}.primer-region-block{gap:6px}.primer-region-title{font-weight:600;color:var(--text-primary)}.primer-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%;align-items:stretch}.primer-region-field{display:flex;flex-direction:column;gap:6px;min-width:0}.primer-region-field .tool-panel-input{width:100%}@media (max-width:720px){.primer-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primer-region-length{grid-column:1/-1}}.primer-design-panel{padding-inline:10px;overflow-x:hidden;overflow-y:auto;max-width:100%;container-type:inline-size}.primer-design-panel,.primer-design-panel *{box-sizing:border-box}.primer-constraints-block{gap:6px}.primer-constraints-title{font-weight:600;color:var(--text-primary)}.primer-constraints-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;width:100%}.primer-constraints-field{display:flex;flex-direction:column;gap:6px;min-width:0}.primer-constraints-field .tool-panel-input{width:100%}@media (max-width:900px){.primer-constraints-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 760px){.primer-design-panel .primer-constraints-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (max-width: 520px){.primer-design-panel .primer-constraints-grid,.primer-design-panel .primer-region-grid{grid-template-columns:minmax(0,1fr)}.primer-design-panel .primer-region-length{grid-column:auto}}.primer-range-box{width:100%;padding:8px 10px;border-radius:12px;border:1px solid var(--border-color);background:var(--surface-soft);display:flex;flex-direction:column;gap:6px;min-width:0}.primer-range-title{font-size:.72rem;color:var(--text-secondary);text-align:center}.primer-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.primer-range-item{display:flex;flex-direction:column;gap:4px;min-width:0}.primer-range-subtitle{font-size:.68rem;color:var(--text-secondary);text-align:center}.primer-range-fields .tool-panel-input{width:100%;min-width:0;padding:5px 6px;border-radius:9px;font-size:.78rem}.tool-panel-warning{padding:8px 10px;border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 42%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent);font-size:.78rem;color:var(--danger);display:flex;flex-direction:column;gap:4px}.database-results{display:flex;flex-direction:column;gap:10px}.database-result{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border-color);border-radius:12px;background:var(--surface-soft)}.database-result-actions{display:flex;align-items:center;gap:8px}.database-action-icon{width:20px;height:20px;border-radius:6px;background:color-mix(in srgb,var(--surface-soft) 70%,var(--bg-tertiary));color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center}.database-action-icon-button{width:32px;height:32px;padding:0;border-radius:10px}.database-result-main{display:flex;flex-direction:column;gap:4px}.database-result-title{font-size:.82rem;font-weight:600;color:var(--text-primary)}.database-result-meta{font-size:.74rem;color:var(--text-muted)}.project-limit-overlay{z-index:calc(var(--z-overlay-modal) + 100)}.batch-panel{width:min(720px,92vw);max-height:80vh;background:var(--surface-elevated);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:var(--text-primary);display:flex;flex-direction:column;overflow:hidden}.batch-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border-color)}.batch-panel-body{padding:16px 18px;display:flex;flex-direction:column;gap:16px;overflow:auto}.batch-panel-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.batch-panel-empty{color:var(--text-secondary);font-size:.85rem}.alignment-summary-grid{display:grid;grid-gap:8px;gap:8px}.alignment-summary-row{display:grid;grid-template-columns:1.3fr repeat(4,1fr);grid-gap:8px;gap:8px;font-size:.78rem;color:var(--text-secondary)}.alignment-summary-name{color:var(--text-primary);font-weight:600}.alignment-view{border-radius:12px;border:1px solid var(--border-color);overflow:hidden;min-height:0;flex:1 1;position:relative}.alignment-view,.alignment-view .alignmentView{background:var(--surface-soft);display:flex;flex-direction:column}.alignment-view .alignmentView{border-radius:12px;overflow:visible;justify-content:flex-start!important;height:100%!important;overflow-y:hidden!important}.alignment-view .alignmentView-top-container{padding-top:8px;padding-bottom:0;flex:1 1 auto;min-height:0;overflow:auto}.alignment-view .alignmentViewBottomBar{padding-top:4px!important;margin-top:auto!important;flex:0 0 auto!important;align-items:flex-end;position:relative!important;z-index:10;background:var(--surface-soft);border-top:25px solid var(--border-color)!important}.alignment-view .alignmentViewTrackContainer .veLinearView{padding-bottom:0!important;height:auto!important}.alignment-view .alignmentViewTrackContainer{align-items:flex-start}.alignment-view .alignmentViewTrackContainer .veLinearView .veRowItemWrapper{height:auto!important;max-height:none!important}.alignment-view .alignmentViewTrackContainer .alignmentTrackName{padding-top:0!important;padding-bottom:0!important}.alignment-view .alignmentViewTrackContainer .alignmentTrackName>div:first-child{display:flex!important;align-items:center!important;gap:8px}.alignment-view .alignmentViewTrackContainer .alignmentTrackName>div:first-child>div:last-child{margin-top:0!important;margin-bottom:0!important;line-height:1.1;white-space:nowrap}.alignment-view .alignmentViewTrackContainer .veRowItem{display:flex;flex-direction:column;min-height:0!important}.alignment-view .alignmentViewTrackContainer .veRowItem .veRowViewFeaturesContainer,.alignment-view .alignmentViewTrackContainer .veRowItem .veRowViewLabelsContainer,.alignment-view .alignmentViewTrackContainer .veRowItem .veRowViewPrimersContainer{order:30;margin-top:0!important;margin-bottom:0!important}.alignment-view .alignmentViewTrackContainer .veRowItem .veRowItemSequenceContainer{order:80;margin-top:0!important;margin-bottom:0!important}.alignment-view .alignmentTrackName,.alignment-view .veAlignmentName,.alignment-view .veAlignmentType{font-size:1.1rem!important}[data-theme=dark] .alignment-view .alignmentTrackName,[data-theme=dark] .alignment-view .alignmentTrackName *,[data-theme=dark] .alignment-view .veAlignmentName,[data-theme=dark] .alignment-view .veAlignmentName *,[data-theme=dark] .alignment-view .veAlignmentType,[data-theme=dark] .alignment-view .veAlignmentType *{color:var(--text-primary)!important;fill:var(--text-primary)!important}.alignment-view .ve-monospace-font,.alignment-view .veAxis text{font-size:14px!important}.alignment-view .ve-alignment-top-bar .bp3-popover-wrapper:has(.tg-alignment-visibility-toggle),.alignment-view .ve-alignment-top-bar .tg-alignment-visibility-toggle{display:none!important}.tg-alignment-visibility-toggle{width:28px!important;height:28px!important;border-radius:999px!important;border:1px solid var(--border-color)!important;background:var(--surface-soft)!important;color:var(--text-secondary)!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center!important;margin:0!important}.tg-alignment-visibility-toggle.bp3-active,.tg-alignment-visibility-toggle.bp3-intent-primary,.tg-alignment-visibility-toggle:hover{border-color:var(--primary)!important;background:var(--primary-soft)!important;color:var(--primary)!important}.tg-alignment-visibility-toggle .bp3-icon{color:inherit!important;margin:0!important}.tg-alignment-visibility-toggle .bp3-icon-caret-down{display:none}.alignmentAnnotationVisibilityToolInner{width:280px;padding:14px!important;border-radius:16px!important;border:1px solid var(--border-color)!important;background:var(--surface-elevated)!important;box-shadow:var(--shadow-md)!important}.alignmentAnnotationVisibilityToolInner .bp3-menu-item{border:1px solid var(--border-color);border-radius:10px;padding:8px 10px;background:var(--surface-soft);color:var(--text-primary)}.alignmentAnnotationVisibilityToolInner .bp3-menu-item.bp3-active,.alignmentAnnotationVisibilityToolInner .bp3-menu-item:hover{border-color:var(--primary);background:var(--primary-softest);color:var(--primary)}.alignmentAnnotationVisibilityToolInner .bp3-tag{background:var(--primary-soft);color:var(--primary)}.methylation-grid{display:flex;flex-direction:column;gap:10px}.methylation-row{display:grid;grid-template-columns:1.1fr repeat(3,1fr);grid-gap:8px;gap:8px;font-size:.78rem;color:var(--text-secondary);padding:8px;border-radius:10px;border:1px solid var(--border-color)}.methylation-row.is-sensitive{border-color:color-mix(in srgb,var(--danger) 48%,transparent);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.methylation-name{font-weight:600;color:var(--text-primary)}.methylation-note{grid-column:1/-1;font-size:.74rem;color:var(--text-secondary)}