    /* Two surfaces in one frame: drag the line, swap either side, or pick a ready pairing */
    .duo{background:var(--ink)}
    .duo .head h2 em{font-style:italic;color:var(--brass)}
    .duo-stage{position:relative;width:100%;aspect-ratio:2.3/1;max-height:62vh;overflow:hidden;background:var(--ink-2);touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:ew-resize;--pos:50%}
    .duo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--z,1));pointer-events:none;transition:opacity .45s ease}
    .duo-img.is-loading{opacity:.3}
    .duo-b-wrap{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
    .duo-line{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--stone);pointer-events:none}
    .duo-handle{position:absolute;top:50%;left:var(--pos);z-index:2;display:grid;place-items:center;width:56px;height:56px;margin:-28px 0 0 -28px;border:0;border-radius:50%;background:var(--stone);color:var(--tx);box-shadow:0 8px 24px rgba(0,0,0,.35);cursor:ew-resize;touch-action:none;transition:transform .2s var(--ease)}
    .duo-handle svg{width:26px;height:26px}
    .duo-handle:hover,.duo-stage.is-dragging .duo-handle{transform:scale(1.08)}
    .duo-tag{position:absolute;top:18px;max-width:42%;padding:8px 14px;background:rgba(15,21,19,.8);color:var(--on);font:400 18px/1.2 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transition:opacity .25s}
    .duo-tag-a{left:18px}
    .duo-tag-b{right:18px}
    .duo-tag.is-hidden{opacity:0}
    .duo-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px 32px;margin-top:22px}
    .duo-side{display:flex;align-items:center;gap:14px;min-width:0}
    .duo-side[data-side="b"]{flex-direction:row-reverse;text-align:right}
    .duo-thumb{flex:none;width:58px;height:58px;overflow:hidden;background:var(--ink-2)}
    .duo-thumb img{width:100%;height:100%;object-fit:cover}
    .duo-info{min-width:0}
    .duo-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;border:0;padding:0;background:none;color:var(--on);font:400 22px/1.15 var(--display);text-align:inherit;overflow:hidden;overflow-wrap:anywhere}
    .duo-name:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
    .duo-info small{display:block;font-size:14px;color:var(--on-mute)}
    .duo-acts{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px;font-size:14px}
    .duo-side[data-side="b"] .duo-acts{justify-content:flex-end}
    .duo-acts button{border:0;background:none;min-height:36px;display:inline-flex;align-items:center;padding:6px 2px;color:var(--brass);font-weight:600;text-decoration:underline;text-underline-offset:3px}
    .duo-acts button:hover{color:var(--on)}
    .duo-presets{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
    .duo-preset{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 15px 0 6px;border:1px solid var(--line-d);border-radius:999px;background:none;color:var(--on);font-size:14px;font-weight:500;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}
    .duo-preset i{display:flex;width:30px;height:30px;border-radius:50%;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
    .duo-preset i span{flex:1;background-size:cover;background-position:center}
    .duo-preset:hover{border-color:var(--on)}
    .duo-preset[aria-pressed="true"]{background:var(--stone);border-color:var(--stone);color:var(--tx)}
    .duo-foot{display:flex;justify-content:space-between;align-items:center;gap:14px 32px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid var(--line-d);font-size:14px;color:var(--on-mute)}
    .duo-foot p{margin:0;max-width:62ch}
    .duo-foot .link{color:var(--on)}

    /* Stone picker for either side */
    .picker-panel{width:min(940px,100%);padding:40px 36px 36px}
    .picker-panel h2{font-size:clamp(30px,3vw,40px);margin-bottom:6px}
    .picker-panel>p{color:var(--tx-mute);margin-bottom:18px}
    .picker-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:20px}
    .picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:18px 12px}
    .picker-item{min-width:0;border:0;padding:0;background:none;text-align:left;color:var(--tx)}
    .picker-item>span{display:block;aspect-ratio:1;overflow:hidden;background:var(--stone-2)}
    .picker-item img{width:100%;height:100%;object-fit:cover}
    .picker-item b{display:block;margin-top:7px;font:400 16px/1.2 var(--display);overflow-wrap:anywhere}
    .picker-item small{display:block;font-size:12px;color:var(--tx-mute)}
    .picker-item:hover b{text-decoration:underline;text-underline-offset:3px}
    .picker-item[aria-current="true"]>span{outline:3px solid var(--ink);outline-offset:2px}

    @media (max-width:960px){
      .duo-bar{grid-template-columns:1fr 1fr}
      .duo-presets{grid-column:1/-1;grid-row:1;justify-content:flex-start}
    }
    @media (max-width:720px){
      .duo-stage{aspect-ratio:4/5;max-height:none}
      .duo-tag{top:12px;max-width:calc(50% - 40px);padding:6px 10px;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
      .duo-tag-a{left:12px}
      .duo-tag-b{right:12px}
      .duo-handle{width:48px;height:48px;margin:-24px 0 0 -24px}
      .duo-presets{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
      .duo-presets::-webkit-scrollbar{display:none}
      .duo-preset{flex:none}
      .duo-side,.duo-side[data-side="b"]{flex-direction:column;align-items:flex-start;gap:8px}
      .duo-side[data-side="b"]{align-items:flex-end}
      .duo-thumb{width:46px;height:46px}
      .duo-info{width:100%}
      .duo-name{font-size:18px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
      .duo-acts{gap:2px 14px;font-size:13px}
      .picker-panel{padding:26px 16px}
      .picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    }