#monomer{min-height:100svh}.hero.xp{height:100svh;min-height:640px;position:relative;overflow:hidden}.xp-canvas{left:25%;right:25%;top:var(--bar-h);width:50%;height:calc(100% - var(--bar-h));touch-action:pan-y;cursor:pointer;z-index:1;position:absolute;bottom:0}.xp.xp-open .xp-canvas{cursor:grab}.xp.xp-open .xp-canvas:active{cursor:grabbing}.hero-credit{left:var(--margin);top:calc(var(--bar-h) + var(--s-6));z-index:2;transition:opacity var(--dur-base) var(--ease-out);position:absolute}.hero-intro{left:var(--margin);bottom:var(--s-12);max-width:30ch;font-size:var(--fs-body);z-index:2;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-slow) var(--ease-out);position:absolute}.hero-scroll{right:calc(var(--margin) + 8px);bottom:var(--s-12);z-index:2;transition:opacity var(--dur-base);position:absolute}.xp-teaser{left:25%;right:25%;bottom:var(--s-12);z-index:2;text-align:center;color:var(--ink-2);transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-slow) var(--ease-out);position:absolute}.xp-teaser:hover{color:var(--ink)}.xp-hint{left:25%;right:25%;bottom:var(--s-12);text-align:center;z-index:2;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease-out) .5s;position:absolute}.xp-open .xp-hint{opacity:1}.xp-open .hero-scroll{opacity:0}.xp-open .hero-credit,.xp-open .hero-intro,.xp-open .xp-teaser{opacity:0;pointer-events:none}.xp-open .hero-intro,.xp-open .xp-teaser{transform:translateY(8px)}.xp-panels{inset:calc(var(--bar-h) + var(--s-8)) var(--margin) var(--s-24);z-index:2;pointer-events:none;visibility:hidden;position:absolute}.xp-open .xp-panels{visibility:visible}.xp-panels-in{grid-template-columns:repeat(var(--cols),minmax(0,1fr));column-gap:var(--gutter);height:100%;display:grid}.xp-left{gap:var(--s-3);padding-top:var(--s-4);pointer-events:auto;flex-direction:column;grid-column:1/5;min-width:0;display:flex}.xp-right{min-width:0;padding-top:var(--s-4);pointer-events:auto;grid-column:9/13}.xp-top{justify-content:space-between;align-items:baseline;gap:var(--s-4);display:flex}.xp-close{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.xp-close:hover{text-decoration:none}.xp-name{font-size:var(--fs-h1);line-height:var(--lh-tight);overflow-wrap:anywhere;min-height:1em}.xp-formula{letter-spacing:.04em;color:var(--ink-2);font-size:1.125rem}.xp-data{border-top:1px solid var(--rule)}.xp-data>div{justify-content:space-between;gap:var(--s-4);padding:var(--s-2) 0;border-bottom:1px solid var(--rule);font-size:var(--fs-small);display:flex}.xp-data dd{text-align:right;overflow-wrap:anywhere;min-width:0}.xp-ctrl{gap:var(--s-2);flex-wrap:wrap;display:flex}.xp-sel{gap:var(--s-3);padding-top:var(--s-3);border-top:1px solid var(--ink);font-size:var(--fs-small);grid-template-columns:76px 1fr;min-height:84px;display:grid}.xp-sel .small{color:var(--ink-2)}.xp-tabs{border-bottom:1px solid var(--ink);display:flex}.xp-tabs button{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);transition:color var(--dur-fast);border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px 0}.xp-tabs button:hover{color:var(--ink)}.xp-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}.xp-pane{padding-top:var(--s-4);gap:var(--s-3);display:grid}.xp-pane>p.small{max-width:36ch}.tiles{gap:var(--s-2);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.tile{aspect-ratio:1;border:1px solid var(--ink);background:var(--paper);transition:outline-color var(--dur-fast),transform var(--dur-fast) var(--ease-out);border-radius:50%;align-content:center;place-items:center;line-height:1;display:grid;position:relative}.tile b{font-family:var(--font-mono);font-size:clamp(.95rem,1.4vw,1.25rem);font-weight:500}.tile small{font-family:var(--font-mono);color:var(--ink-3);margin-top:2px;font-size:9px}.tile.hydrophobic{background:var(--ink);color:var(--paper)}.tile.hydrophobic small{color:var(--ink-3)}.tile.positive:after,.tile.negative:after{font-family:var(--font-mono);font-size:12px;line-height:1;position:absolute;top:-3px;right:2px}.tile.positive:after{content:"+"}.tile.negative:after{content:"−"}.tile:hover{transform:translateY(-2px)}.tile.on{outline:2px solid var(--ink);outline-offset:3px}.tile:disabled{opacity:.35;cursor:not-allowed;transform:none}.tile-key{align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.06em;display:flex}.tile-key .k{border:1px solid var(--ink);width:12px;height:12px;margin-left:var(--s-2);border-radius:50%;place-items:center;font-size:9px;display:inline-grid}.tile-key .k:first-child{margin-left:0}.tile-key .k.hydrophobic{background:var(--ink)}.slots{align-items:center;gap:var(--s-3);display:flex}.slot{border:1px dashed var(--ink);border-radius:50%;align-content:center;place-items:center;width:64px;height:64px;line-height:1;display:grid}.slot b{font-family:var(--font-mono);font-size:1.25rem;font-weight:500}.slot .label{font-size:9px}.slot.filled{border-style:solid}.slot.filled.hydrophobic{background:var(--ink);color:var(--paper)}.slot.filled.hydrophobic .label{color:var(--ink-3)}.slot:hover{outline:1px solid var(--ink);outline-offset:3px}.plus{color:var(--ink-3)}.join{background:var(--ink);color:var(--paper);border:1px solid var(--ink);transition:background var(--dur-fast),color var(--dur-fast);margin-left:auto;padding:12px 22px;font-weight:500}.join:hover:not(:disabled){background:var(--paper);color:var(--ink)}.join:disabled{color:var(--ink-3);border-color:var(--ink-3);cursor:not-allowed;background:0 0}.pp-list{border-top:1px solid var(--rule)}.pp-row{gap:2px var(--s-3);text-align:left;width:100%;padding:var(--s-3) var(--s-2);border-bottom:1px solid var(--rule);transition:background var(--dur-fast);grid-template-columns:1fr auto;display:grid}.pp-row:hover,.pp-row.on{background:var(--paper-2)}.pp-row .nm{letter-spacing:-.01em;font-size:1.125rem;font-weight:300}.pp-row .mono{color:var(--ink-2);align-self:center;font-size:12px}.pp-row small{color:var(--ink-2);font-size:var(--fs-small);grid-column:1/-1}.xp-tip{z-index:5;pointer-events:none;background:var(--paper);border:1px solid var(--ink);white-space:nowrap;padding:4px 8px;font-size:11px;position:absolute;top:0;left:0}.xp-tip[hidden],.xp-water[hidden]{display:none}.xp-water{z-index:4;pointer-events:none;color:var(--ink);font-size:12px;position:absolute;top:0;left:0}#bond{margin-top:var(--s-24)}.bond-pin{height:100svh;min-height:560px;padding:calc(var(--bar-h) + var(--s-8)) var(--margin) var(--s-8);column-gap:var(--gutter);border-top:1px solid var(--rule);grid-template-columns:minmax(0,4fr) minmax(0,8fr);display:grid;position:relative}.bond-readout{gap:var(--s-4);padding-top:var(--s-6);flex-direction:column;align-self:start;display:flex}.ro-name{font-size:var(--fs-h1);min-height:1em}.ro-data{border-top:1px solid var(--rule)}.ro-data>div{justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--rule);display:flex}.ro-data dd{font-size:var(--fs-small);text-align:right}.bond-line{color:var(--ink-2);max-width:34ch;min-height:3.2em}.legend{gap:var(--s-2) var(--s-4);font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);flex-wrap:wrap;align-items:center;margin-top:auto;display:flex}.lg{align-items:center;gap:6px;display:inline-flex}.lg svg{width:18px;height:18px;overflow:visible}.k-hydro{fill:var(--ink)}.k-polar{fill:var(--paper);stroke:var(--ink);stroke-width:1px}.k-sig{fill:var(--signal)}.k-sign{font-family:var(--font-mono);fill:var(--ink);font-size:10px}.bond-main{min-height:0;position:relative}.bond-seq{left:0;top:var(--s-6);letter-spacing:.15em;z-index:2;font-size:clamp(1.5rem,3vw,2.75rem);line-height:1;position:absolute}#bond-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.res .c{stroke:var(--ink);stroke-width:1px}.res.hydrophobic .c{fill:var(--ink)}.res.polar .c,.res.positive .c,.res.negative .c{fill:var(--paper)}.res .l{font-family:var(--font-mono);text-anchor:middle;dominant-baseline:central;font-size:20px}.res.hydrophobic .l{fill:var(--paper)}.res.polar .l,.res.positive .l,.res.negative .l{fill:var(--ink)}.res .sig{fill:var(--signal);stroke:var(--signal)}.res .lsig{fill:var(--paper)}.res .chg{font-family:var(--font-mono);fill:var(--ink);text-anchor:middle;dominant-baseline:central;font-size:13px}.res .rn{font-family:var(--font-mono);fill:var(--ink-3);text-anchor:middle;font-size:10px}.bond{stroke:var(--ink);stroke-width:1.5px;fill:none}.bond.forming{stroke:var(--signal)}.h2o{font-family:var(--font-mono);fill:var(--ink);text-anchor:middle;font-size:11px}.ss{fill:none;stroke:var(--signal);stroke-width:1.5px}.sslabel{font-family:var(--font-mono);fill:var(--signal);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.bond-final{right:var(--margin);bottom:calc(var(--s-8) + var(--s-6));opacity:0;text-align:right;position:absolute}.bond-final .h1{font-size:var(--fs-h1)}.bond-final p{margin:var(--s-2) 0 0 auto;max-width:44ch;color:var(--ink-2);font-size:var(--fs-small)}.bond-final{max-width:calc(100% - var(--margin) * 2)}#fold{margin-top:var(--s-48)}.fold-pin{height:100svh;min-height:560px;padding:calc(var(--bar-h) + var(--s-8)) var(--margin) var(--s-8);column-gap:var(--gutter);border-top:1px solid var(--rule);grid-template-columns:minmax(0,4fr) minmax(0,8fr);display:grid;position:relative}.fold-copy{gap:var(--s-4);padding-top:var(--s-6);flex-direction:column;display:flex}.fold-copy .h1{font-size:var(--fs-h2);max-width:14ch;line-height:1}.fold-line{color:var(--ink-2);max-width:34ch}.fold-steps{font-size:var(--fs-small);color:var(--ink-3);margin-top:var(--s-4);border-top:1px solid var(--rule);list-style:none}.fold-steps li{padding:var(--s-2) 0;border-bottom:1px solid var(--rule);transition:color var(--dur-base)}.fold-steps li.on{color:var(--ink)}.fold-meta{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;margin-top:auto}.fold-meta>div{justify-content:space-between;gap:var(--s-4);border-top:1px solid var(--rule);padding:6px 0;display:flex}.fold-meta dt{color:var(--ink-3)}.fold-meta a{text-underline-offset:3px;text-decoration:underline}.fold-stage{min-height:0;position:relative}#fold-canvas{touch-action:pan-y;cursor:grab;width:100%;height:100%;position:absolute;inset:0}#fold-canvas:active{cursor:grabbing}.fold-hint{right:var(--s-6);position:absolute;bottom:0}#index{margin-top:var(--s-48);padding-bottom:var(--s-32)}.idx-head{padding-bottom:var(--s-8);align-items:end}.idx-title{grid-column:1/8}.idx-title .h1{margin-top:var(--s-2)}.idx-ctrl{gap:var(--s-3);flex-direction:column;grid-column:8/13;align-items:flex-end;display:flex}.ctrl-row{gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}.ctrl-row .label{margin-right:var(--s-2)}.chip{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--ink);transition:background var(--dur-fast),color var(--dur-fast);border-radius:999px;padding:6px 12px}.chip:hover{background:var(--paper-2)}.chip.on{background:var(--ink);color:var(--paper)}.table{padding-inline:var(--margin)}.tr{column-gap:var(--gutter);border-top:1px solid var(--rule);text-align:left;width:100%;min-height:64px;transition:background var(--dur-fast);grid-template-columns:44px minmax(150px,1.2fr) minmax(0,2.2fr) 64px 92px 128px minmax(0,1.3fr) 32px;align-items:center;display:grid}.tr.th{min-height:36px}#rows .tr{cursor:pointer}#rows .tr:hover,#rows .tr:focus-visible{background:var(--paper-2)}#rows .tr:last-child{border-bottom:1px solid var(--rule)}.tr .nm{letter-spacing:-.02em;font-size:1.375rem;font-weight:300;line-height:1.1}.tr .sq{font-family:var(--font-mono);letter-spacing:.12em;white-space:nowrap;font-size:13px;overflow:hidden}.tr .mono{font-size:13px}.tr .rl{font-size:var(--fs-small);color:var(--ink-2)}.tr .go{text-align:right;color:var(--ink-3);transition:color var(--dur-fast)}.tr:hover .go{color:var(--ink)}.thumb{object-fit:contain;mix-blend-mode:multiply;pointer-events:none;opacity:0;z-index:60;width:150px;height:150px;transition:opacity var(--dur-fast);will-change:transform;position:fixed;top:0;left:0}.thumb.on{opacity:1}.detail{z-index:200;background:var(--paper);border-left:1px solid var(--rule);width:min(980px,100%);transition:transform var(--dur-slow) var(--ease-out);overscroll-behavior:contain;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(101%)}.detail.on{transform:none}.detail-inner{padding:calc(var(--bar-h) + var(--s-8)) var(--margin) calc(var(--s-16) + var(--safe-bottom))}.d-close{height:var(--bar-h);padding:var(--safe-top) var(--margin) 0;z-index:2;color:var(--ink);position:fixed;top:0;right:0}.d-close:hover{text-underline-offset:3px;text-decoration:underline}.d-head .h1{margin-top:var(--s-2)}.d-role{color:var(--ink-2);margin-top:var(--s-3)}.d-sec{margin-top:var(--s-12)}.d-sec>.label{padding-bottom:var(--s-3);border-bottom:1px solid var(--rule);display:block}.sq-view{margin-top:var(--s-4);gap:var(--s-2);display:grid}.sq-chain>.label{margin-bottom:var(--s-2);display:block}.sq-row{align-items:center;gap:var(--s-2);grid-template-columns:44px 1fr;display:grid}.sq-row .rn{font-family:var(--font-mono);font-size:var(--fs-label);color:var(--ink-3);text-align:right;padding-right:var(--s-2)}.sq-cells{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;display:grid}.rc{aspect-ratio:1;border:1px solid var(--ink);max-width:44px;font-family:var(--font-mono);background:var(--paper);border-radius:50%;place-items:center;font-size:clamp(.75rem,1.8vw,1.0625rem);display:grid;position:relative}.rc.hydrophobic{background:var(--ink);color:var(--paper)}.rc.positive:after,.rc.negative:after{color:var(--ink);font-size:11px;line-height:1;position:absolute;top:-6px;right:-3px}.rc.positive:after{content:"+"}.rc.negative:after{content:"−"}.d-data{column-gap:var(--gutter);grid-template-columns:1fr 1fr;display:grid}.d-data>div{justify-content:space-between;gap:var(--s-4);padding:var(--s-3) 0;border-bottom:1px solid var(--rule);font-size:var(--fs-small);display:flex}.d-data dt{font-family:var(--font-mono);font-size:var(--fs-label);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3)}.d-data dd{text-align:right;overflow-wrap:anywhere;min-width:0}.d-data a{text-underline-offset:3px;text-decoration:underline}.d-img{gap:var(--gutter);margin-top:var(--s-4);grid-template-columns:1fr 1fr;align-items:start;display:grid}.d-img figure{border:1px solid var(--rule);background:var(--paper)}.d-img img{mix-blend-mode:multiply;width:100%;height:auto}.d-img figcaption{padding:var(--s-2) var(--s-3);border-top:1px solid var(--rule)}.d-view3d{aspect-ratio:1;border:1px solid var(--rule);position:relative}.d-view3d canvas{cursor:grab;width:100%;height:100%;position:absolute;inset:0}.d-desc{margin-top:var(--s-4);max-width:var(--measure)}.d-desc cite{margin-top:var(--s-3);font-style:normal;display:block}.d-nav{margin-top:var(--s-16);padding-top:var(--s-4);border-top:1px solid var(--rule);justify-content:space-between;display:flex}.d-nav a:hover{text-underline-offset:3px;text-decoration:underline}#shopband{margin-top:var(--s-48);border-top:1px solid var(--ink);padding-block:var(--s-24)}.shopband{align-items:end}.sb-a{grid-column:1/9}.sb-a .h1{margin-top:var(--s-3)}.sb-b{gap:var(--s-4);flex-direction:column;grid-column:9/13;display:flex}.ruo-note{padding-top:var(--s-3);border-top:1px solid var(--ink)}.shop-btn{color:var(--paper);background:var(--ink);border:1px solid var(--ink);transition:background var(--dur-fast),color var(--dur-fast);align-self:flex-start;padding:14px 22px;display:inline-block}.shop-btn:hover{background:var(--paper);color:var(--ink)}#colophon{margin-top:var(--s-48);padding-bottom:var(--s-24);border-top:1px solid var(--rule);padding-top:var(--s-12)}.colophon .col-a{grid-column:2/6}.colophon .col-a .h2{margin-top:var(--s-3)}.colophon .col-b{grid-column:7/13}.src>div{gap:var(--gutter);padding:var(--s-3) 0;border-top:1px solid var(--rule);font-size:var(--fs-small);grid-template-columns:130px 1fr;display:grid}.src dd{max-width:var(--measure)}.src a{text-underline-offset:3px;text-decoration:underline}.disclaimer{margin-top:var(--s-8);padding-top:var(--s-4);border-top:1px solid var(--ink);max-width:var(--measure)}.shop-link{margin-top:var(--s-12)}.shop-link a{color:var(--ink);text-underline-offset:4px;text-decoration:underline}.reduced .bond-pin,.reduced .fold-pin{height:auto;min-height:0}.reduced #bond-svg{height:340px;margin-top:var(--s-12);position:relative}.reduced .bond-seq{position:relative;top:0}.reduced .bond-final{opacity:1;text-align:left;margin-top:var(--s-6);position:relative;bottom:auto;right:auto}.reduced .bond-main{flex-direction:column;display:flex}.reduced .fold-stage{height:70svh}@media (width<=767px){.hero.xp{height:auto;min-height:0;padding:calc(var(--bar-h) + var(--s-2)) var(--margin) calc(var(--s-12) + var(--safe-bottom));gap:var(--s-4);flex-direction:column;display:flex;overflow:visible}.xp-canvas{height:54svh;min-height:320px;width:calc(100% + var(--margin) * 2);margin-inline:calc(var(--margin) * -1);order:-1;position:relative;inset:auto}.hero-credit{position:static}.hero-intro{max-width:24ch;position:static}.hero-scroll{display:none}.xp-teaser{text-align:left;padding:0;position:static}.xp-open .hero-intro,.xp-open .xp-teaser{display:none}.xp-hint{text-align:left;order:2;position:static}.xp-panels{visibility:hidden;transition:grid-template-rows .8s var(--ease-out),visibility 0s .8s;grid-template-rows:0fr;display:grid;position:static;inset:auto}.xp-open .xp-panels{visibility:visible;grid-template-rows:1fr;transition-delay:0s}.xp-panels-in{gap:var(--s-6);flex-direction:column;height:auto;min-height:0;display:flex;overflow:hidden}.xp-left,.xp-right{grid-column:auto;width:100%;padding-top:0}.xp-name{font-size:var(--fs-h2)}.xp-sel{grid-template-columns:64px 1fr}.tile b{font-size:1.1rem}.bond-pin,.fold-pin{padding-top:calc(var(--bar-h) + var(--s-4));row-gap:var(--s-4);grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr}.bond-readout{gap:var(--s-2);padding-top:0}.ro-name{font-size:var(--fs-h2)}.bond-line,.legend{display:none}.ro-data>div{padding:var(--s-2) 0}.bond-final{right:var(--margin)}.bond-final .h1{font-size:var(--fs-h2)}.fold-copy .h1{max-width:none}.fold-line,.fold-steps,.fold-meta{display:none}.bond-pin,.fold-pin{padding-bottom:calc(var(--s-4) + var(--safe-bottom))}.bond-final{bottom:calc(var(--s-4) + var(--safe-bottom))}#colophon{padding-bottom:calc(var(--s-24) + var(--safe-bottom))}.tr{grid-template-columns:36px minmax(0,1fr) 78px 24px;min-height:60px}.tr>:nth-child(3),.tr>:nth-child(4),.tr>:nth-child(6),.tr>:nth-child(7){display:none}.idx-title,.idx-ctrl{grid-column:1/-1}.idx-ctrl{align-items:flex-start}.ctrl-row{justify-content:flex-start}.colophon .col-a,.colophon .col-b{grid-column:1/-1}.colophon .col-b{margin-top:var(--s-8)}.src>div{grid-template-columns:1fr;gap:2px}.d-data,.d-img{grid-template-columns:1fr}.sb-a,.sb-b{grid-column:1/-1}.sb-b{margin-top:var(--s-6)}.bar-mid,#bar-readout{display:none}.bar{grid-template-columns:1fr auto}.rail{display:none}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
