*{box-sizing:border-box}body{margin:0;background:#fff;color:#18212b;font:16px/1.65 Arial,Helvetica,sans-serif}header{background:#18212b;border-bottom:2px solid #a34d25;padding:20px max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}header a{color:#fff;text-decoration:none;font-size:14px}.brand{font:bold 21px/1.1 Georgia,serif}.brand span{display:block;color:#e6ad8d}main{max-width:1160px;margin:auto;padding:36px 24px 60px}h1,h2{font-family:Georgia,serif;line-height:1.2}h1{font-size:40px;margin:6px 0 12px}h2{font-size:25px;margin:0 0 18px}.eyebrow{color:#994722;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin:0}.title-row{display:flex;align-items:center;justify-content:space-between}.intro{margin:0 0 28px;color:#626b72}.workspace{display:grid;grid-template-columns:380px minmax(0,1fr);gap:40px}.input-panel{border-right:1px solid #ddd;padding-right:30px}label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}input{width:100%;padding:12px;border:1px solid #abb2b7;border-radius:3px;font:16px Arial;margin:5px 0 16px}button{border:1px solid #8d3818;border-radius:3px;background:#994722;color:#fff;padding:12px 18px;font:700 14px Arial;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.quiet{background:#fff;color:#793313;border-color:#cbbbad}.presets{display:flex;gap:10px;flex-wrap:wrap}.presets button{font-size:12px;padding:9px}#structure{display:block;width:100%;height:220px;border:0;margin-top:14px}#structure svg{max-width:100%;height:auto}.method,.muted{font-size:13px;color:#626b72}.method{line-height:1.65}#formula{font-weight:700;margin:0 0 16px}#message{font-size:14px;color:#793313;min-height:24px}details{border-top:1px solid #ddd;margin-top:20px;padding-top:15px;font-size:13px}summary{font-weight:700;cursor:pointer}.job{display:flex;width:100%;text-align:left;justify-content:space-between;gap:20px;margin-bottom:12px}.job span{font-weight:400;color:#626b72}#result{border-top:2px solid #a34d25;margin-top:25px;padding-top:24px}canvas{display:block;width:100%;height:auto;background:#fafafa;border:1px solid #ddd;touch-action:none}dl{display:grid;grid-template-columns:1fr auto;gap:0;margin:20px 0}dt,dd{margin:0;padding:8px 0;border-bottom:1px solid #eee;font-size:14px}dd{font-weight:700;padding-left:20px}.login{max-width:470px;margin:65px auto}.login form{margin-top:28px}.login button{width:100%}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #994722;outline-offset:3px}@media(max-width:780px){.workspace{grid-template-columns:1fr;gap:30px}.input-panel{border-right:0;border-bottom:1px solid #ddd;padding:0 0 25px}h1{font-size:32px}main{padding-top:26px}.login{margin:30px auto}.job{flex-direction:column;gap:6px}.title-row{align-items:flex-start;gap:15px}}

select{width:100%;padding:10px;border:1px solid #abb2b7;border-radius:3px;background:white;color:#18212b;font:14px Arial;margin:5px 0 16px}#formula-options{margin:18px 0;padding:15px;background:#f8f5f2;border-left:2px solid #a34d25}#pubchem-record{display:block;margin-top:10px;font-size:13px;color:#793313}.presets{margin-top:14px}#draw{margin-bottom:3px}

.login #show-password{width:auto;padding:8px 12px;font-size:13px}.login #show-password+p{margin:8px 0 16px}.title-row>button{white-space:nowrap;flex-shrink:0}

#progress-panel{margin:24px 0;border-top:2px solid #a34d25;padding-top:20px}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.progress-heading h3{margin:0;font:700 23px Georgia,serif}#progress-status{font-size:13px;color:#793313;font-weight:700}#stage-list{list-style:none;padding:0;margin:18px 0;display:grid;gap:0}#stage-list li{position:relative;padding:9px 10px 9px 28px;border-bottom:1px solid #eee}#stage-list li:before{content:'○';position:absolute;left:2px;color:#9c9c9c}#stage-list strong{font-size:14px;display:block}#stage-list span{font-size:12px;color:#626b72}#stage-list .complete:before{content:'✓';color:#326a4b}#stage-list .active{background:#f9f2ed;border-left:2px solid #a34d25}#stage-list .active:before{content:'●';color:#a34d25;animation:pulse 1.5s ease-in-out infinite}#stage-list .failed:before{content:'!';color:#a12626;font-weight:700}#stage-list .skipped{opacity:.6}#progress-detail{font-size:14px}#history-list{font-size:13px;padding-left:18px}.job.selected{border-color:#994722;background:#fbf6f2}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){#stage-list .active:before{animation:none}}

#stage-details{margin:10px 0;padding-top:10px}#stage-details>summary{font-size:14px}#progress-panel{margin:18px 0;padding-top:16px}#progress-timing{margin:5px 0}#progress-detail{margin:12px 0 0}#result{margin-top:18px;padding-top:20px}

#result-title,#progress-title,.job{overflow-wrap:anywhere}#jobs{max-height:330px;overflow-y:auto;padding-right:3px}#run-again{margin-left:8px}.method,.muted,details{font-size:14px}.presets button{font-size:13px}.job span{font-size:13px}#structure{height:210px}#run,#run-again{margin-top:8px}

/* One compact row per molecular identity; attempts live in a single history. */
#jobs{max-height:360px;border-top:1px solid #d7dce0;padding:0}.molecule-row{padding:11px 0;border-bottom:1px solid #d7dce0}.molecule-row.selected{background:#fbf7f3;border-left:3px solid #994722;padding-left:11px}.molecule-select{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;width:100%;padding:0;border:0;background:transparent;color:#18212b;text-align:left;font-size:15px;line-height:1.4}.molecule-select strong{font-weight:700}.molecule-identity{display:block;color:#626b72;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;margin-top:3px;overflow-wrap:anywhere}.molecule-meta{display:flex;gap:8px 16px;justify-content:space-between;flex-wrap:wrap;margin-top:6px;color:#626b72;font-size:12px}.run-state{font-size:12px;font-weight:700;white-space:nowrap}.run-state.success{color:#326a4b}.run-state.error{color:#99382c}.run-state.notice{color:#795129}.text-action{padding:0;border:0;background:transparent;color:#793313;text-decoration:underline;text-underline-offset:3px;font:700 12px/1.5 Arial,Helvetica,sans-serif;text-align:left}.text-action:hover{color:#a34d25}.next-step{font-size:14px;color:#4f5961;margin:8px 0 0}.next-step:before{content:'Next: ';font-weight:700;color:#18212b}#run-meta{margin:6px 0;font-size:12px}.older-run-notice{margin:8px 0 4px;padding:7px 10px;border-left:2px solid #994722;background:#fbf6f2;font-size:13px}#history-list{list-style:none;padding:0;margin:12px 0 0}.run-history-choice{display:flex;width:100%;justify-content:space-between;align-items:flex-start;gap:12px;padding:9px 2px;background:transparent;border:0;border-bottom:1px solid #e5e7e9;border-radius:0;color:#626b72;text-align:left;font-size:12px;font-weight:400;line-height:1.5}.run-history-choice strong{color:#18212b;font-size:12px;white-space:nowrap}.run-history-choice.selected{color:#793313;background:#fbf6f2}.run-audit-note{font-size:12px;color:#626b72;margin:10px 0}#progress-panel{margin-top:22px}#progress-next:empty{display:none}@media(max-width:480px){.molecule-select{flex-direction:column;gap:6px}.run-history-choice{flex-direction:column;gap:3px}.molecule-meta{display:block}.molecule-meta .text-action{display:block;margin-top:5px}}
