/* Focused workbench layer. Calculation and account behaviour stay in index.html. */ body { background: var(--bg-end); } .workspace-nav { position: sticky; top: 0; z-index: 20; min-height: 62px; padding: 0 28px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--panel-strong) 94%, transparent); box-shadow: 0 6px 20px rgba(20, 35, 28, 0.06); backdrop-filter: blur(18px); } .workspace-nav > a { position: relative; min-height: 62px; padding: 21px 14px 18px; color: var(--muted); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; } .workspace-nav > a:first-child { margin-right: 16px; padding-left: 0; color: var(--ink); font-size: 17px; font-weight: 800; letter-spacing: 0.02em; } .workspace-nav > a:hover, .workspace-nav > a.active { color: var(--accent-strong); } .workspace-nav > a.active::after { position: absolute; right: 14px; bottom: 0; left: 14px; height: 3px; border-radius: 3px 3px 0 0; background: var(--accent); content: ""; } .shell { max-width: 1500px; padding: 28px 32px 58px; } .hero { gap: 15px; margin-bottom: 20px; padding: 23px 25px 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-strong); box-shadow: 0 12px 32px rgba(20, 35, 28, 0.08); } .hero-top { min-height: 34px; justify-content: flex-start; } .hero-top .account-chip, .hero-top .toolbar, #usagePanel { display: none !important; } .hero h1 { font-size: 30px; letter-spacing: 0; } .hero > p { display: block; max-width: 760px; font-size: 14px; } .queue-panel { grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: color-mix(in srgb, var(--panel) 82%, var(--accent-soft)); } .queue-panel .metric { min-height: 74px; padding: 14px 16px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; } .queue-panel .metric:last-child { border-right: 0; } .queue-panel .metric strong { margin-bottom: 8px; font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; } .queue-panel .metric-value { color: var(--ink); font-size: 20px; font-weight: 750; } .layout { grid-template-columns: minmax(370px, 450px) minmax(0, 1fr); gap: 20px; min-height: calc(100vh - 148px); } .panel { border-radius: 10px; background: var(--panel-strong); box-shadow: 0 12px 32px rgba(20, 35, 28, 0.07); backdrop-filter: none; } .panel-inner { padding: 20px; } .control-panel { top: 82px; } .control-panel .panel-inner { counter-reset: workbench-step; } .section { padding-bottom: 22px; margin-bottom: 22px; } .section h2 { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; font-size: 16px; letter-spacing: 0; } #workflowModeSection h2::before, #modelSection h2::before, #strandSection h2::before, #computeSection h2::before, #designSection > h2::before { display: inline-grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--accent-soft); color: var(--accent-strong); content: counter(workbench-step, decimal-leading-zero); counter-increment: workbench-step; font-size: 11px; font-weight: 800; } label { gap: 7px; color: var(--muted); font-size: 12px; font-weight: 650; } input, select, textarea { border-radius: 7px; border-color: var(--line); padding: 10px 11px; box-shadow: inset 0 1px 1px rgba(20, 35, 28, 0.025); } input:focus, select:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 13%, transparent); outline: 0; } .strand-card, .result-card { border-radius: 8px; border-color: var(--line); background: var(--card-strong); box-shadow: 0 4px 14px rgba(20, 35, 28, 0.04); } .strand-card { padding: 15px; } .sequence-field textarea { min-height: 98px; letter-spacing: 0.06em; } .section-note, .minor-note { line-height: 1.6; } .design-preflight { border-radius: 8px; border-color: color-mix(in srgb, var(--accent) 20%, var(--line)); background: color-mix(in srgb, var(--accent-soft) 55%, var(--card-strong)); } .control-panel > .panel-inner > .actions { bottom: -20px; margin: 0 -20px 20px; padding: 13px 20px; border-color: var(--line); } .control-panel > .panel-inner > .actions #runBtn { min-width: 150px; font-weight: 750; } .results-panel > .panel-inner { min-height: 100%; } .results { gap: 14px; } .result-card h3 { font-size: 16px; } .meta-chip { border-radius: 5px; } @media (max-width: 1100px) { .layout { grid-template-columns: minmax(330px, 410px) minmax(0, 1fr); } } @media (max-width: 900px) { .workspace-nav { overflow-x: auto; padding: 0 16px; } .shell { padding: 20px 16px 44px; } .layout { grid-template-columns: 1fr; } .control-panel { position: static; } } @media (max-width: 600px) { body { overflow-x: hidden; } .hero, .layout, .panel { min-width: 0; } .workspace-nav { max-width: 100vw; } .workspace-nav > a:first-child { display: none; } .shell { width: 100%; max-width: 100vw; margin: 0; overflow: hidden; } .hero { padding: 18px; } .hero-top { display: grid; grid-template-columns: 1fr; align-items: stretch; } .hero-top .pill { justify-self: start; } .hero h1 { font-size: 25px; } .queue-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); } .queue-panel .metric:nth-child(2) { border-right: 0; } .queue-panel .metric:nth-child(-n + 2) { border-bottom: 1px solid var(--line); } .panel-inner { padding: 16px; } .grid.cols-2 { grid-template-columns: 1fr; } .strand-meta-grid { grid-template-columns: 1fr 1fr; } .strand-meta-grid .remove-btn { grid-column: 1 / -1; } .control-panel > .panel-inner > .actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } .control-panel > .panel-inner > .actions #runBtn { grid-column: 1 / -1; width: 100%; } .control-panel > .panel-inner > .actions button { min-width: 0; padding-right: 10px; padding-left: 10px; line-height: 1.3; white-space: normal; } }