:root{--bg:#f4f1ec;--surface:#fff;--surface2:#edeae3;--border:#c8c3b8;--accent:#2563eb;--accent-h:#1d4ed8;--accent-hover:#1d4ed8;--accent-light:#dbeafe;--text:#1a1814;--text-muted:#6b6560;--label:#3d3a35;--radius:8px;--shadow-md:0 4px 16px #0000001f;--card-shadow:0 2px 8px #00000012, 0 0 0 1px var(--border);--card-shadow-h:0 8px 24px #00000021, 0 0 0 1px var(--accent)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:IBM Plex Sans,sans-serif}nav:not(.breadcrumb-bar):not(.site-nav),.site-nav{background:var(--text);z-index:100;justify-content:space-between;align-items:center;height:52px;padding:0 2rem;display:flex;position:sticky;top:0}.nav-logo{color:#fff;letter-spacing:.04em;flex-shrink:0;min-width:160px;font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:600;text-decoration:none}.nav-logo span{color:#93c5fd}.nav-links{gap:1.5rem;list-style:none;display:flex}.nav-links a{color:#fff9;letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.73rem;text-decoration:none;transition:color .15s}.nav-links a:hover{color:#fff}.breadcrumb-bar{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.4rem;padding:.55rem 2rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:flex}.breadcrumb-bar a{color:var(--accent);text-decoration:none}.breadcrumb-bar a:hover{text-decoration:underline}.breadcrumb-sep{color:var(--border)}.breadcrumb-current{color:var(--text-muted)}main{max-width:700px;margin:0 auto;padding:3rem 2rem 5rem}.page-title{margin-bottom:.5rem;font-family:IBM Plex Serif,serif;font-size:2rem;font-weight:300;line-height:1.2}.page-desc{color:var(--text-muted);margin-bottom:2.5rem;font-size:.95rem;line-height:1.6}.calculator-form,.results,.chart-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:2rem}.calculator-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}label{color:var(--text);font-size:.9rem;font-weight:500}.label-helper{color:var(--text-muted);font-size:.75rem;font-weight:400}input[type=number],input[type=text],input[type=date],select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;max-width:100%;padding:.6rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.88rem;transition:border-color .15s,box-shadow .15s}input[type=number]:focus,input[type=text]:focus,input[type=date]:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}input[type=number]::placeholder,input[type=text]::placeholder,input[type=date]::placeholder,textarea::placeholder{color:var(--border)}select{cursor:pointer}textarea{resize:vertical;min-height:80px}input[readonly]{background:var(--surface2);cursor:default}input:disabled{background:var(--surface2);cursor:not-allowed;opacity:.45}.button-group{gap:.75rem;margin-top:1rem;display:flex}button{border-radius:var(--radius);cursor:pointer;border:none}.btn-calculate,.btn-reset{flex:1;padding:.75rem 1.5rem;font-family:IBM Plex Sans,sans-serif;font-size:.9rem;font-weight:600;transition:background .2s,transform .2s}.btn-calculate{background:var(--accent);color:#fff}.btn-calculate:hover{background:var(--accent-h);transform:translateY(-1px)}.btn-reset{background:var(--surface2);color:var(--text);border:1px solid var(--border)}.btn-reset:hover{background:var(--border)}.results{gap:1.5rem;margin-top:2rem;display:none}.results.show{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.result-item{flex-direction:column;gap:.4rem;display:flex}.result-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:.75rem}.result-value{color:var(--accent);overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:1.1rem;font-weight:600;line-height:1.2}.result-note{color:var(--text-muted);overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.74rem;line-height:1.35}.formula-section{background:var(--surface2);border-radius:var(--radius);margin-top:2rem;padding:1.5rem;font-size:.85rem;line-height:1.9}.formula-section h3{margin-bottom:.75rem;font-size:.9rem}.formula-section p{margin-bottom:.9rem}.formula-section code{background:var(--surface);color:var(--accent);border-radius:3px;padding:.2rem .4rem;font-family:IBM Plex Mono,monospace}.formula-section math{math-style:normal;background:var(--surface);color:var(--accent);vertical-align:middle;border-radius:3px;padding:.2rem .4rem;font-size:1.05rem;line-height:1.8}.formula-section math *{math-depth:0;font-size:1em}.formula-section .formula-paren{font-weight:700}.formula-section .formula-paren-1{color:#005ea8}.formula-section .formula-paren-2{color:#8a4b00}.formula-section .formula-paren-3{color:#006b4f}.formula-section .formula-paren-4{color:#8b3a8a}.content-section{color:var(--text);margin-top:2.5rem;font-size:.95rem;line-height:1.7}.content-section h2{margin-bottom:1rem;font-family:IBM Plex Serif,serif;font-size:1.45rem;font-weight:400;line-height:1.25}.content-section h3{margin:1.75rem 0 .65rem;font-size:1rem}.content-section p{margin-bottom:1rem}.content-section ul{margin:0 0 1rem 1.25rem}.content-section li{margin-bottom:.45rem}.content-section code{background:var(--surface);border:1px solid var(--border);color:var(--accent);overflow-wrap:anywhere;border-radius:3px;max-width:100%;padding:.15rem .4rem;font-family:IBM Plex Mono,monospace;display:inline-block}.chart-section{margin-top:2rem;display:none}.chart-section.show{display:block}.chart-section h3{color:var(--text);margin-bottom:1.5rem;font-size:1rem}.chart-container{width:100%;height:400px;position:relative}footer{background:var(--text);color:#ffffff73;text-align:center;letter-spacing:.04em;padding:1.5rem 2rem;font-family:IBM Plex Mono,monospace;font-size:.7rem}footer a{color:#fff9;text-decoration:none}footer a:hover{color:#fff}.tool-card-page{flex-direction:column;align-items:center;padding:0 0 2rem;display:flex}.tool-card-page .site-nav{width:100%}.tool-card-page .breadcrumb-bar{width:100%;max-width:none;margin-bottom:2rem}.tool-card-page>.card,.tool-card-page>.info-panel{margin-bottom:2rem}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:12px;width:100%;max-width:720px;overflow:hidden}.protein-card{max-width:680px}.card-header{background:var(--text);color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex}.card-header h1{letter-spacing:.07em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.82rem;font-weight:600}.header-btns{flex-shrink:0;gap:.5rem;display:flex}.btn-ghost{color:#fff;border-radius:var(--radius);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff40;padding:.3rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.75rem;transition:background .15s}.btn-ghost:hover{background:#ffffff38}.mw-bar{background:var(--surface2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex}.mw-bar label{color:var(--label);white-space:nowrap;font-size:.88rem;font-weight:600}.mw-bar input{width:110px}.mw-bar .unit-tag{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.78rem}.sequence-bar{align-items:flex-start}.sequence-bar .input-group{width:min(100%,360px)}.sequence-bar input[type=text]{width:100%}.card-body{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.75rem;display:flex}.protein-card .card-body{gap:0}.section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.section:last-child{margin-bottom:0}.section-title{background:var(--surface2);border-bottom:1px solid var(--border);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.5rem;padding:.45rem .85rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600;display:flex}.section-title .arrow{color:var(--accent);font-size:.8rem}.section-body{flex-direction:column;gap:.6rem;padding:.85rem;display:flex}.calc-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.calc-row input[type=number],.calc-row input[type=text]{width:100px;padding:.42rem .6rem}.calc-row .volume-input{width:75px}.sel-wrap{align-items:center;display:inline-flex;position:relative}.sel-wrap select{appearance:none;padding:.42rem 1.8rem .42rem .6rem;font-size:.82rem}.sel-wrap:after{content:"▾";color:var(--text-muted);pointer-events:none;font-size:.65rem;position:absolute;right:.5rem}.op{color:var(--text-muted);padding:0 .1rem;font-family:IBM Plex Mono,monospace;font-size:.8rem}.btn-calc{background:var(--accent);color:#fff;border-radius:var(--radius);letter-spacing:.02em;white-space:nowrap;padding:.48rem 1.1rem;font-family:IBM Plex Mono,monospace;font-size:.82rem;font-weight:600;transition:background .15s,transform .1s}.btn-calc:hover{background:var(--accent-hover)}.btn-calc:disabled{color:#f8fafc;cursor:not-allowed;opacity:1;background:#c7cdd8}.btn-calc:disabled:hover{background:#c7cdd8}.btn-calc:active{transform:scale(.97)}.molecules-row{align-items:center;gap:.5rem;display:flex}.molecules-row input{width:180px}.mol-label{color:var(--text-muted);font-size:.82rem;font-style:italic}.input-group{flex-direction:column;gap:.4rem;display:flex}.input-label{color:var(--label);font-size:.82rem;font-weight:600}.conversion-options{flex-wrap:wrap;gap:.5rem;display:flex}.option-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;padding:.5rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;transition:background .15s,border-color .15s,box-shadow .15s}.option-btn:hover{border-color:var(--accent);background:var(--accent-light)}.option-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.seq-info{color:var(--text-muted);flex-wrap:wrap;gap:1rem;font-size:.78rem;display:flex}.result-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.format-control{color:var(--text-muted);align-items:center;gap:.4rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:flex}.format-control select{padding:.35rem .55rem;font-size:.75rem}.result-output{word-break:break-all;min-height:50px;padding:.75rem;font-size:.75rem}textarea.result-output[readonly]{background:var(--surface2);cursor:default}.result-actions{flex-wrap:wrap;gap:.5rem;display:flex}.align-start{align-self:flex-start}.pi-settings-grid,.pi-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.pi-result-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.pi-error{color:#b42318;font-size:.82rem;line-height:1.4}.pi-chart-section{display:none}.pi-chart-section.show{display:block}.pi-charge-table{grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:.45rem;display:grid}.pi-charge-row{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.2rem;padding:.45rem .55rem;display:flex}.pi-charge-row span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.68rem}.pi-charge-row strong{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.9rem}.result-glow{transition:box-shadow .3s;box-shadow:0 0 0 3px var(--accent-light)!important;border-color:var(--accent)!important}.card-footer{background:var(--surface2);border-top:1px solid var(--border);color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;gap:.3rem;padding:.6rem 1.25rem;font-family:IBM Plex Mono,monospace;font-size:.68rem;display:flex}.info-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:720px;box-shadow:var(--card-shadow);margin-top:1rem}.info-panel summary{letter-spacing:.08em;text-transform:uppercase;color:var(--text);cursor:pointer;padding:.75rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:600}.info-panel summary:hover{color:var(--accent)}.info-panel-body{border-top:1px solid var(--border);color:var(--text-muted);padding:1rem;font-size:.9rem;line-height:1.65}.info-panel-body h2{color:var(--text);margin:1rem 0 .4rem;font-size:.95rem}.info-panel-body h2:first-child{margin-top:0}.info-panel-body p{margin-bottom:.7rem}.tool-content{width:100%;max-width:680px;color:var(--text-muted);margin:2rem auto;font-size:.94rem;line-height:1.7}.tool-content h2{color:var(--text);margin:0 0 1rem;font-size:1.35rem;line-height:1.3}.tool-content-section{margin-top:1.25rem}.tool-content-section h3{color:var(--text);margin:0 0 .45rem;font-size:1rem}.tool-content-section h4{color:var(--text);margin:1rem 0 .4rem;font-size:.94rem;font-weight:700}.tool-content p{margin:0 0 .75rem}.tool-etymology-note{color:var(--text);margin-top:1.5rem;padding-top:.1rem;font-family:IBM Plex Serif,serif}.tool-content strong{color:var(--text);font-weight:700}.tool-content sup{font-size:.78em;line-height:0;position:relative;top:-.35em}.scientific-notation{white-space:nowrap}.calculation-example{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);margin:.75rem 0 1rem;padding:.75rem .9rem;font-family:IBM Plex Mono,monospace;font-size:.9rem;line-height:1.65;overflow-x:auto}.calculation-example p{white-space:nowrap;margin:0}.calculation-example p+p{margin-top:.25rem}.tool-content ul{margin:0;padding-left:1.15rem}.tool-content li{margin-bottom:.35rem}.sequence-example{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);gap:.25rem;margin:.75rem 0 1rem;padding:.75rem;display:grid}.sequence-example span{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.7rem}.sequence-example code{color:var(--accent);overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.9rem}.movie-note{font-size:.82rem;font-style:italic}.movie-note a{color:var(--accent);text-decoration:none}.movie-note a:hover{text-decoration:underline}.lab-book-actions{border-top:1px solid var(--border);background:var(--surface);grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:grid}.protein-card .lab-book-actions{width:100%}.lab-book-actions[hidden]{display:none}.lab-book-title{letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:600}.lab-book-helper,.lab-book-status{color:var(--text-muted);font-size:.78rem}.lab-book-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.lab-book-download{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.lab-book-button{white-space:nowrap;min-width:150px}.lab-book-status{grid-column:1/-1;min-height:1rem;font-family:IBM Plex Mono,monospace}.lab-book-preview{box-sizing:border-box;white-space:pre-wrap;grid-column:1/-1;width:100%;max-width:100%;min-height:130px;font-size:.75rem;line-height:1.45}.dilution-lab-book{border:1px solid var(--border);border-radius:var(--radius);margin-top:1.25rem}.center{color:#d33;text-align:center}.large{font-size:1.25rem}.calc-page{max-width:920px;padding-top:.5rem;padding-bottom:2.5rem}.calc-page .tool-content{margin-bottom:0}.calc-header{margin-bottom:1.5rem}.calc-header h1{margin-bottom:.65rem;font-family:IBM Plex Serif,serif;font-size:clamp(2rem,4vw,2.6rem);font-weight:300;line-height:1.15}.calc-subtitle{color:var(--text-muted);max-width:720px;font-size:.98rem;line-height:1.6}.scenario-section,.calc-panel,.related-tool{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.scenario-section{margin-bottom:1.25rem;padding:1.25rem}.scenario-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.9rem;font-family:IBM Plex Mono,monospace;font-size:.74rem;font-weight:600}.scenario-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.scenario-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:118px;color:var(--text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1rem .85rem;transition:border-color .15s,box-shadow .15s,transform .15s,background .15s;display:flex}.scenario-btn:hover,.scenario-btn:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.scenario-btn.active{background:var(--accent-light);border-color:var(--accent)}.scenario-btn:active{transform:translateY(1px)}.btn-title{font-size:1.12rem;font-weight:600;line-height:1.3}.btn-formula{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.8rem;line-height:1.35}.calc-panel{padding:1.5rem;display:none}.calc-panel.active{display:block}.panel-header{border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:1rem}.panel-title{margin-bottom:.35rem;font-size:1.1rem;font-weight:600}.panel-equation{color:var(--accent);background:var(--accent-light);border-radius:4px;margin-bottom:.75rem;padding:.25rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.8rem;display:inline-block}.panel-desc,.field-hint,.result-interpretation,.formula-ref,.related-tool{color:var(--text-muted);line-height:1.6}.panel-desc{font-size:.9rem}.solve-for-row,.action-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.solve-for-row{color:var(--text-muted);margin-bottom:1.25rem;font-family:IBM Plex Mono,monospace;font-size:.78rem}.solve-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:.4rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.78rem}.solve-btn:hover,.solve-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.input-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.field-group{flex-direction:column;gap:.35rem;display:flex}.field-group label{line-height:1.35}.field-hint{font-size:.76rem}.calc-page .checkbox-row{color:var(--text-muted);align-items:center;gap:.5rem;margin-top:1rem;font-size:.88rem;line-height:1.4;display:flex}.calc-page .checkbox-row input{flex:none}.input-with-unit{grid-template-columns:minmax(0,1fr) minmax(96px,auto);gap:.5rem;display:grid}.action-row{margin-top:1.5rem}.action-row .btn-calculate,.action-row .btn-reset{flex:0 180px}.error-box,.result-box{border-radius:var(--radius);margin-top:1rem;padding:1rem;display:none}.error-box.visible,.result-box.visible{display:block}.error-box{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;font-size:.88rem}.result-box{background:var(--accent-light);border:1px solid #bfdbfe}.result-box .result-label{margin-bottom:.35rem}.result-interpretation{margin-top:.5rem;font-size:.88rem}.formula-ref{background:var(--surface2);border-radius:var(--radius);margin-top:1.25rem;padding:1rem;font-size:.8rem}.related-tool{margin-top:1.5rem;padding:1rem 1.25rem;font-size:.85rem}.protein-related-tool{width:100%;max-width:680px;margin-top:0;margin-bottom:2rem}.bio-card-page .protein-card,.bio-card-page .protein-related-tool,.bio-card-page .tool-content{width:100%;min-width:0}.bio-card-page .card-header h1,.bio-card-page .section-title,.bio-card-page .mw-bar .unit-tag,.bio-card-page .mol-label,.bio-card-page .seq-info,.bio-card-page .card-footer span{overflow-wrap:anywhere}.related-tool strong{color:var(--text)}.related-tool a{color:var(--accent);font-weight:600;text-decoration:none}.related-tool a:hover{text-decoration:underline}.serial-dilution-page .checkbox-row{color:var(--text-muted);align-items:center;gap:.45rem;margin-top:.35rem;font-size:.82rem;display:flex}.serial-dilution-page .checkbox-row input{flex:none}.stock-concentration-field{grid-column:1/-1}.stock-unit-grid{grid-template-columns:minmax(120px,.8fr) minmax(170px,1fr) minmax(160px,1.1fr);gap:.5rem;display:grid}.stock-unit-column{flex-direction:column;gap:.35rem;display:flex}.dilution-factor-field input{max-width:12rem}.custom-factor-panel{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-top:1.25rem;padding:1rem}.custom-factor-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:.75rem;display:grid}.serial-results{margin-top:1.25rem}.result-tabs{border-bottom:1px solid var(--border);margin-bottom:1rem;display:flex}.result-tabs button{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;color:var(--text);border-bottom:0;margin-right:-1px;padding:.65rem 1rem;font-size:.9rem}.result-tabs button:hover,.result-tabs button.active{background:var(--surface2)}.result-tabs button.active{font-weight:600}.summary-heading{color:var(--label);letter-spacing:.1em;text-transform:uppercase;margin:1.5rem 0 .85rem;font-family:IBM Plex Mono,monospace;font-size:.78rem;font-weight:600}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.35rem;min-width:0;padding:1rem;display:flex}.summary-card strong{color:var(--accent);overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:1.05rem}.serial-actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.serial-actions .btn-reset{flex:0 auto}.copy-status{color:var(--text-muted);margin-top:.65rem;font-size:.82rem}.serial-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;overflow-x:auto}.serial-table{border-collapse:collapse;width:100%;min-width:760px}.serial-table caption{letter-spacing:.09em;text-align:left;text-transform:uppercase;padding:.85rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.74rem;font-weight:600}.serial-table th,.serial-table td{border-top:1px solid var(--border);text-align:left;white-space:nowrap;padding:.75rem .85rem;font-size:.86rem}.serial-table th{background:var(--surface2);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.72rem}.serial-table td{font-family:IBM Plex Mono,monospace}.serial-table .stock-row td{background:#f8fafc;font-weight:600}.tube-diagram-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;padding:1.75rem 1rem 1rem;overflow-x:auto}.tube-diagram{align-items:flex-end;min-width:max-content;display:flex}.tube-stage{align-items:flex-end;display:flex}.tube-node{text-align:center;flex-direction:column;flex:0 0 78px;align-items:center;gap:.25rem;display:flex}.tube-shell{background:var(--surface2);border:2px solid #aaa69c;border-top:0;border-radius:0 0 22px 22px;width:40px;height:72px;position:relative;overflow:hidden}.tube-shell:before,.tube-shell:after{background:var(--surface);content:"";z-index:2;width:6px;height:15px;position:absolute;top:-1px}.tube-shell:before{left:-2px}.tube-shell:after{right:-2px}.tube-fill{background:var(--tube-color);height:var(--tube-fill);position:absolute;bottom:0;left:0;right:0}.tube-node strong{color:var(--text);overflow-wrap:anywhere;max-width:78px;font-family:IBM Plex Mono,monospace;font-size:.78rem;line-height:1.2}.tube-node span{color:var(--text-muted);font-size:.74rem}.tube-arrow{color:var(--text);flex-direction:column;flex:0 0 34px;justify-content:center;align-items:center;gap:.05rem;padding-bottom:18px;display:flex}.tube-arrow span{font-family:IBM Plex Mono,monospace;font-size:1.2rem;line-height:1}.tube-arrow small{color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.62rem}.protocol-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;padding:1.25rem;font-size:.92rem;line-height:1.65}.protocol-box h2{margin-bottom:.75rem;font-size:1.05rem}.protocol-box ol{margin-left:1.25rem}.protocol-box li{margin-bottom:.65rem}.protocol-box p{color:var(--text-muted);margin-top:.85rem}@media print{.site-nav,.breadcrumb-bar,footer,.calc-header,.calc-panel,.content-section,.serial-actions,.result-tabs,.copy-status{display:none!important}body{background:#fff}main,.calc-page{max-width:none;padding:0}.serial-results{margin:0}}.home-page .hero{border-bottom:1px solid var(--border);background:var(--surface);text-align:center;padding:2.75rem 2rem 2.5rem;position:relative;overflow:hidden}.home-page .hero:before{content:"";background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.35;background-size:40px 40px;position:absolute;inset:0}.home-page .hero-inner{z-index:1;position:relative}.home-page .hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.65rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600}.home-page .hero h1{color:var(--text);margin-bottom:.6rem;font-family:IBM Plex Serif,serif;font-size:clamp(1.85rem,4.5vw,3rem);font-weight:300;line-height:1.08}.home-page .hero h1 em{color:var(--accent);font-style:italic}.home-page .hero-sub{color:var(--text-muted);max-width:500px;margin:0 auto 1.25rem;font-size:1rem;line-height:1.5}.home-page .hero-etymology{color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:.35rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:inline-block}.home-page .hero-etymology b{color:var(--text)}.home-page main{max-width:1100px}.home-page .category-section+.category-section{margin-top:1.65rem}.home-page .category-header{align-items:baseline;gap:1rem;margin-bottom:.9rem;display:flex}.home-page .category-title{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600}.home-page .category-line{background:var(--border);flex:1;height:1px}.home-page .category-count{color:var(--border);font-family:IBM Plex Mono,monospace;font-size:.68rem}.home-page .calc-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.home-page .calc-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--card-shadow);color:inherit;flex-direction:column;text-decoration:none;transition:box-shadow .2s,transform .2s;animation:.4s both fadeUp;display:flex}.home-page .calc-card:hover{box-shadow:var(--card-shadow-h);transform:translateY(-2px)}.home-page .calc-card:first-child{animation-delay:50ms}.home-page .calc-card:nth-child(2){animation-delay:.1s}.home-page .calc-card:nth-child(3){animation-delay:.15s}.home-page .calc-card:nth-child(4){animation-delay:.2s}.home-page .calc-card:nth-child(5){animation-delay:.25s}.home-page .calc-card:nth-child(6){animation-delay:.3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.home-page .card-accent-bar{border-radius:var(--radius) var(--radius) 0 0;background:var(--accent);height:3px}.home-page .calc-card .card-body{flex-direction:column;flex:1;gap:0;padding:.95rem 1.1rem 1.1rem;display:flex}.home-page .card-heading{align-items:center;gap:.55rem;margin-bottom:.45rem;display:flex}.home-page .card-icon{text-align:center;flex:0 0 24px;justify-content:center;align-items:center;width:24px;font-size:1.25rem;line-height:1;display:flex}.home-page .card-icon-img{width:22px;height:22px;-webkit-mask:var(--card-icon-url) center / contain no-repeat;mask:var(--card-icon-url) center / contain no-repeat;-webkit-mask:var(--card-icon-url) center / contain no-repeat;background:currentColor;display:block}.home-page .card-title{color:var(--text);font-family:IBM Plex Sans,sans-serif;font-size:.92rem;font-weight:600;line-height:1.3}.home-page .card-desc{color:var(--text-muted);flex:1;font-size:.8rem;line-height:1.55}@media (max-width:800px){.home-page .card-desc{display:none}}.home-page .card-footer-row{border-top:1px solid var(--surface2);justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;display:flex}.home-page .card-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface2);border-radius:4px;padding:.2rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.65rem}.home-page .card-arrow{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.78rem;transition:transform .2s}.home-page .calc-card:hover .card-arrow{transform:translate(3px)}.home-page .calc-card.coming-soon{opacity:.5;pointer-events:none}.home-page .calc-card.coming-soon .card-accent-bar{background:var(--border)}.home-page .coming-badge{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);background:var(--surface2);border:1px dashed var(--border);border-radius:4px;padding:.2rem .5rem;font-family:IBM Plex Mono,monospace;font-size:.62rem}.periodic-page{--element-alkali-metal:#f6c86b;--element-alkaline-earth-metal:#e8dc75;--element-transition-metal:#efaaa6;--element-post-transition-metal:#a9c9cf;--element-metalloid:#8fd0b5;--element-nonmetal:#91d5e8;--element-halogen:#a9c9f4;--element-noble-gas:#c5b6eb;--element-lanthanide:#e7b4d7;--element-actinide:#dda9ba}.periodic-page .periodic-main{width:100%;max-width:1420px;padding-top:2.5rem}.periodic-header{max-width:760px;margin-bottom:1.5rem}.periodic-header .hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.65rem;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:600}.periodic-header h1{margin-bottom:.7rem;font-family:IBM Plex Serif,serif;font-size:clamp(2rem,5vw,3rem);font-weight:300;line-height:1.1}.periodic-header>p:last-child{color:var(--text-muted);line-height:1.65}.periodic-controls{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:minmax(220px,1fr) minmax(190px,.65fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;padding:1rem;display:grid}.periodic-search,.periodic-filter{min-width:0}.periodic-controls label{margin-bottom:.45rem;display:block}.periodic-controls input[type=search],.periodic-controls select{width:100%}.periodic-controls input[type=search]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);outline:none;padding:.6rem .75rem;font-family:IBM Plex Mono,monospace;font-size:.88rem}.periodic-controls input[type=search]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.periodic-match-count{min-width:128px;color:var(--text-muted);text-align:right;padding-bottom:.7rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}.periodic-workspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:1rem;display:grid}.periodic-table-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:1rem}.periodic-table-scroll{max-width:100%;padding-bottom:.4rem;overflow-x:auto}.periodic-mobile-grid{display:none}.periodic-table-grid{grid-template-rows:repeat(7,70px);grid-template-columns:repeat(18,54px);gap:4px;width:max-content;min-width:1040px;display:grid}.element-cell{min-width:0;height:70px;color:var(--text);background:var(--element-color);text-align:center;border:1px solid #1a181438;border-radius:5px;grid-template-rows:auto 1fr auto auto;align-items:center;padding:.24rem .18rem;transition:opacity .15s,transform .15s,box-shadow .15s;display:grid;overflow:hidden}.element-cell:hover{z-index:2;transform:translateY(-2px);box-shadow:0 4px 10px #00000029}.element-cell:focus-visible,.legend-item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.element-cell.element-muted{opacity:.18}.element-cell.element-selected{box-shadow:0 0 0 3px var(--text);z-index:3;transform:translateY(-1px)}.element-number{justify-self:start;padding-left:.12rem;font-family:IBM Plex Mono,monospace;font-size:.53rem}.element-symbol{align-self:end;font-family:IBM Plex Serif,serif;font-size:1.08rem;line-height:1}.element-name,.element-mass{text-overflow:ellipsis;max-width:100%;font-family:IBM Plex Mono,monospace;font-size:.42rem;line-height:1.25;overflow:hidden}.series-placeholder{border:1px dashed var(--border);color:var(--text-muted);border-radius:5px;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:.58rem;display:flex}.lanthanide-placeholder{grid-area:6/3}.actinide-placeholder{grid-area:7/3}.element-series{grid-template-columns:86px auto;align-items:center;gap:.75rem;width:max-content;margin-top:.75rem;display:grid}.series-label{color:var(--text-muted);text-align:right;font-family:IBM Plex Mono,monospace;font-size:.62rem}.series-grid{grid-template-columns:repeat(15,54px);gap:4px;display:grid}.element-series-cell{width:54px}.element-detail{background:var(--surface);border:1px solid var(--border);border-top:5px solid var(--element-color);border-radius:var(--radius);min-width:0;position:sticky;top:68px;overflow:hidden}.element-detail-heading{background:color-mix(in srgb, var(--element-color) 42%, white);grid-template-columns:auto auto 1fr;align-items:center;gap:.75rem;padding:1.1rem;display:grid}.element-detail-heading .detail-number{align-self:start;font-family:IBM Plex Mono,monospace;font-size:.7rem}.element-detail-heading>strong{font-family:IBM Plex Serif,serif;font-size:2.6rem;font-weight:500;line-height:1}.element-detail-heading h2{font-size:1rem;line-height:1.2}.element-detail-heading p{color:var(--text-muted);margin-top:.2rem;font-size:.72rem}.element-property-grid{grid-template-columns:1fr 1fr;padding:.35rem 1rem 1rem;display:grid}.element-property-grid>div{border-bottom:1px solid var(--surface2);min-width:0;padding:.75rem .25rem}.element-property-grid dt{color:var(--text-muted);margin-bottom:.3rem;font-size:.64rem;line-height:1.25}.element-property-grid dd{overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace;font-size:.78rem}.element-alkali-metal{--element-color:var(--element-alkali-metal)}.element-alkaline-earth-metal{--element-color:var(--element-alkaline-earth-metal)}.element-transition-metal{--element-color:var(--element-transition-metal)}.element-post-transition-metal{--element-color:var(--element-post-transition-metal)}.element-metalloid{--element-color:var(--element-metalloid)}.element-nonmetal{--element-color:var(--element-nonmetal)}.element-halogen{--element-color:var(--element-halogen)}.element-noble-gas{--element-color:var(--element-noble-gas)}.element-lanthanide{--element-color:var(--element-lanthanide)}.element-actinide{--element-color:var(--element-actinide)}.periodic-legend{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1rem;padding:1rem}.periodic-legend h2{margin-bottom:.75rem;font-size:.9rem}.legend-items{flex-wrap:wrap;gap:.5rem;display:flex}.legend-item{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);align-items:center;gap:.4rem;padding:.35rem .55rem;font-family:IBM Plex Mono,monospace;font-size:.62rem;display:inline-flex}.legend-item[aria-pressed=true]{border-color:var(--text);color:var(--text);box-shadow:0 0 0 1px var(--text)}.legend-item span{background:var(--element-color);border:1px solid #1a181433;border-radius:2px;flex:0 0 .75rem;width:.75rem;height:.75rem}.periodic-notes{max-width:850px}.periodic-notes h2{margin-bottom:.75rem;font-size:1rem}.periodic-notes a{color:var(--accent)}.periodic-sources{margin-bottom:0}@media (max-width:980px){.periodic-workspace{grid-template-columns:minmax(0,1fr)}.element-detail{position:static}}@media (max-width:760px){.periodic-page .periodic-main{padding:2rem 1rem 4rem}.periodic-controls{grid-template-columns:1fr}.periodic-match-count{text-align:left;min-width:0;padding:0}.periodic-table-section{background:0 0;border:0;padding:0}.periodic-table-scroll{display:none}.periodic-mobile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.element-cell,.element-series-cell{width:100%;height:96px;padding:.45rem;grid-area:auto!important}.element-symbol{font-size:1.45rem}.element-name,.element-mass{font-size:.55rem}.series-placeholder{display:none}}@media (max-width:390px){.periodic-mobile-grid{gap:.35rem}.element-cell,.element-series-cell{height:90px;padding:.35rem}.element-property-grid{grid-template-columns:1fr}}.home-page .search-wrap{max-width:420px;margin-bottom:1.35rem;position:relative}.home-page .search-wrap input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);outline:none;padding:.6rem .9rem .6rem 2.4rem;font-family:IBM Plex Mono,monospace;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.home-page .search-wrap input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-light)}.home-page .search-wrap input::placeholder{color:var(--border)}.home-page .search-icon{color:var(--text-muted);pointer-events:none;font-size:.8rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.directory-page .directory-main{max-width:1000px}.directory-page .directory-header{max-width:680px;margin-bottom:2rem}.directory-page .directory-header h1{margin-bottom:.65rem;font-family:IBM Plex Serif,serif;font-size:clamp(1.75rem,4vw,2.55rem);font-weight:300;line-height:1.12}.directory-page .directory-header p:last-child{color:var(--text-muted);font-size:1rem;line-height:1.6}.directory-page .directory-note{max-width:760px;color:var(--text-muted);margin-top:2rem;line-height:1.7}.directory-page .directory-note h2{color:var(--text);margin-bottom:.5rem;font-size:1.1rem}@media (max-width:700px){nav:not(.breadcrumb-bar):not(.site-nav),.site-nav{padding:0 1rem}.nav-links{display:none}.breadcrumb-bar{white-space:nowrap;padding:.55rem 1rem;overflow-x:auto}main{padding:2rem 1rem 4rem}.page-title{font-size:1.65rem}.calculator-form,.results,.chart-section{padding:1.25rem}.button-group,.card-header,.mw-bar,.molecules-row,.lab-book-actions{flex-direction:column;align-items:stretch}.lab-book-actions{display:flex}.lab-book-buttons{justify-content:stretch}.btn-calculate,.btn-reset,.btn-calc,.btn-ghost,.option-btn,.align-start{width:100%}.results.show{grid-template-columns:1fr}.chart-container{height:300px}.tool-card-page{padding:0 .75rem 2rem}.tool-card-page .site-nav,.tool-card-page .breadcrumb-bar{width:calc(100% + 1.5rem)}.tool-card-page .breadcrumb-bar{margin-bottom:1rem}.bio-card-page{align-items:stretch}.bio-card-page .site-nav,.bio-card-page .breadcrumb-bar{width:100%}.bio-card-page .protein-card,.bio-card-page .protein-related-tool,.bio-card-page .tool-content{max-width:100%}.bio-card-page .mw-bar label,.bio-card-page .scientific-notation,.bio-card-page .calculation-example p{white-space:normal}.bio-card-page .card-footer{gap:.45rem}.card{border-radius:10px;max-width:100%}.card-header h1{line-height:1.35}.header-btns{flex-direction:column;width:100%}.card-body{padding:1rem}.section-title{line-height:1.35}.calc-row{grid-template-columns:1fr;align-items:stretch;display:grid}.calc-row input[type=number],.calc-row input[type=text],.calc-row .volume-input,.mw-bar input,.molecules-row input,.sel-wrap,.sel-wrap select{width:100%}.op{padding:0}.conversion-options{flex-direction:column}.scenario-section,.calc-panel{padding:1rem}.scenario-grid,.input-grid,.input-with-unit,.stock-unit-grid{grid-template-columns:1fr}.dilution-factor-field input{max-width:100%}.scenario-btn{min-height:96px}.action-row .btn-calculate,.action-row .btn-reset{flex-basis:100%}.home-page .hero{padding:2rem 1.25rem 1.75rem}.home-page main{padding:2rem 1.25rem 4rem}.home-page .calc-grid{grid-template-columns:1fr}}
.unit-converter-page .tool-content{margin-top:0}.unit-converter-controls{grid-template-columns:minmax(140px,180px) minmax(220px,260px) auto;justify-content:start;align-items:start;gap:.75rem;margin-bottom:1rem;display:grid}.unit-converter-controls>*{min-width:0}.unit-converter-page .calc-panel{display:block}.unit-converter-page .panel-title{margin-bottom:.35rem}.unit-mode-control{max-width:280px;margin-bottom:1rem}.unit-mode-control label{font-weight:700}.unit-overview{color:var(--text-muted);max-width:760px;margin:1.25rem 0;font-size:.98rem;line-height:1.65}.unit-converter-page input,.unit-converter-page select,.unit-converter-page .btn-reset,.unit-converter-page .btn-calculate{height:44px;padding-top:0;padding-bottom:0}.unit-reset-button{align-self:start;min-width:96px;margin-top:1.55rem;padding-left:1rem;padding-right:1rem}.unit-conversion-table-wrap{margin-top:1.25rem;overflow-x:auto}.unit-conversion-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem}.unit-conversion-table th,.unit-conversion-table td{border-bottom:1px solid var(--border);text-align:left;padding:.8rem .5rem}.unit-conversion-table thead th{color:var(--text-muted);letter-spacing:.04em;font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:500}.unit-conversion-table th{color:var(--text);font-weight:600}.unit-conversion-table tbody th{font-family:IBM Plex Mono,monospace;font-size:.88rem;font-weight:500}.unit-conversion-table td{color:var(--text-muted)}.unit-conversion-table td:nth-child(2){color:#047857;font-weight:600}.unit-conversion-table td:nth-child(3),.unit-conversion-table td:nth-child(4),.unit-conversion-table td:nth-child(5){overflow-wrap:anywhere;font-family:IBM Plex Mono,monospace}.unit-conversion-table td:nth-child(4),.unit-conversion-table td:nth-child(5){color:var(--text)}.selected-unit-row{background:var(--accent-light)}.unit-copy-status{color:var(--text-muted);margin-top:.65rem;font-size:.82rem}.unit-error-text{color:#991b1b}.unit-converter-content{max-width:760px}.related-converters{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1.5rem}.related-converters-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem;display:flex}.related-converters-header h2{font-size:1rem}.related-converters-header a{color:var(--accent);font-size:.82rem;text-decoration:none}.related-converters-grid{border-top:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.related-converters-grid a{border-bottom:1px solid var(--border);color:var(--accent);justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.75rem;font-size:.88rem;font-weight:600;text-decoration:none;display:flex}.related-converters-grid a:nth-child(odd){border-right:1px solid var(--border)}.related-converters-grid a:hover{background:var(--accent-light);color:var(--accent)}.related-converters-grid span:first-child{overflow-wrap:anywhere}.related-converters-grid span:last-child{color:var(--accent);flex:none}.unit-directory-main{max-width:1060px}.unit-directory-tree{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:420px;margin-bottom:2rem;padding:1rem 1.1rem;font-family:IBM Plex Mono,monospace}.unit-directory-tree strong{letter-spacing:.04em;text-transform:uppercase;margin-bottom:.55rem;font-size:.82rem;display:block}.unit-directory-tree ul{list-style:none}.unit-directory-tree li{align-items:center;gap:.55rem;line-height:1.7;display:flex}.unit-directory-tree li:before{color:var(--text-muted);content:"├─"}.unit-directory-tree li:last-child:before{content:"└─"}.unit-directory-tree a{color:var(--text);font-size:.88rem;text-decoration:none}.unit-directory-tree a:hover{color:var(--accent)}.unit-directory-group+.unit-directory-group{margin-top:2rem}.unit-directory-description{color:var(--text-muted);margin:-.35rem 0 .9rem;font-size:.88rem;line-height:1.55}@media (max-width:700px){.unit-converter-controls{grid-template-columns:1fr}.unit-reset-button{width:100%;margin-top:0}.unit-directory-tree{max-width:none}.related-converters-header{flex-direction:column;align-items:flex-start;gap:.35rem}.related-converters-grid{grid-template-columns:1fr}.related-converters-grid a:nth-child(odd){border-right:0}}
