/* Collectible portrait stamps identify progress in each skill. */
.logic-rank-banner{margin:0 0 34px;border:1px solid var(--line);border-radius:12px;background:#fff8f0;color:var(--ink);overflow:hidden}
.logic-rank-banner-main{display:grid;grid-template-columns:160px minmax(0,1fr) minmax(200px,.85fr);align-items:center;gap:24px;padding:24px 29px}
.logic-rank-portrait{width:160px;display:flex;align-items:center;flex-direction:column}
.logic-rank-stamp{display:block;width:160px;height:160px;object-fit:contain;mix-blend-mode:multiply;transform:rotate(-4deg)}
.logic-rank-portrait-level{font-size:11px;letter-spacing:1.6px;font-variant-numeric:tabular-nums;color:var(--muted);margin-top:6px}
.logic-rank-eyebrow{display:block;font-size:11px;letter-spacing:1.5px;font-weight:600;color:#92516c;margin-bottom:10px}
.logic-rank-banner h2{font-family:var(--serif);font-size:clamp(31px,3.1vw,46px);line-height:1.15;letter-spacing:-1.3px;margin:0 0 10px;overflow-wrap:anywhere}
.logic-rank-banner h2>span{font-size:.44em;letter-spacing:0;color:var(--muted);white-space:nowrap}
.logic-rank-banner .logic-rank-distance{font-size:15px;line-height:1.5;margin:0;color:#775367;max-width:32ch}
.logic-rank-basis{display:block;margin-top:7px;font-size:12px;color:var(--muted)}
.logic-rank-next{align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:25px}
.logic-rank-next>strong{font-size:16px;font-weight:600;line-height:1.4;max-width:27ch}
.logic-rank-completion{display:flex;justify-content:space-between;gap:12px;font-size:12px;line-height:1.4;margin-top:18px;color:var(--muted);font-variant-numeric:tabular-nums}
.logic-rank-meter{height:4px;border-radius:5px;background:#efd8e2;margin-top:8px;overflow:hidden}
.logic-rank-meter>span{height:100%;display:block;background:var(--brand);border-radius:5px}
.logic-rank-ladder{border-top:1px solid var(--line);background:#fffafb}
.logic-rank-ladder>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 29px;cursor:pointer;list-style:none;font-size:14px;font-weight:600}
.logic-rank-ladder>summary::-webkit-details-marker{display:none}
.logic-rank-ladder>summary:hover{background:#fceaf1}
.logic-rank-ladder-prompt{display:flex;align-items:center;gap:13px;font-size:12px;font-weight:400;color:var(--muted)}
.logic-rank-ladder-prompt>span{font-size:17px;line-height:1;transition:transform .2s}
.logic-rank-ladder[open] .logic-rank-ladder-prompt>span{transform:rotate(45deg)}
.logic-rank-ladder-body{padding:7px 29px 22px}
.logic-rank-ladder-body>p{font-size:14px;color:var(--muted);max-width:72ch;line-height:1.6;margin:0 0 17px}
.logic-rank-ladder ol{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.logic-rank-ladder li{display:flex;align-items:center;gap:11px;min-height:64px;border:1px solid var(--line);border-radius:7px;padding:9px 13px;font-size:16px;background:#fff8f0}
.logic-rank-ladder-number{font-size:11px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:var(--muted);min-width:19px}
.logic-rank-ladder-stamp{display:block;width:52px;height:52px;flex-shrink:0;object-fit:contain;mix-blend-mode:multiply}
.logic-rank-ladder-name{flex:1;font-family:var(--serif)}
.logic-rank-ladder-status{font-size:11px;color:var(--muted);text-align:right;max-width:66px}
.logic-rank-ladder li.is-current{background:#f8e0e9;box-shadow:inset 3px 0 var(--brand)}
.logic-rank-ladder li.is-current .logic-rank-ladder-name,.logic-rank-ladder li.is-current .logic-rank-ladder-status{font-weight:600}
.logic-rank-ladder li.is-reached .logic-rank-ladder-status:before{content:"✓ ";color:var(--brand)}
.logic-rank-ladder-body>.logic-rank-method{font-size:12px;max-width:none;margin:0}
.logic-rank-banner.is-summit .logic-rank-meter>span{background:#a1853c}
.logic-rank-card{display:flex;align-items:center;gap:10px;padding:13px 0;margin:0 0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink)}
.logic-rank-card-stamp{display:block;flex:0 0 58px;width:58px;height:66px;object-fit:contain;mix-blend-mode:multiply}
.logic-rank-card-copy{display:flex;flex-direction:column;min-width:0;gap:4px}
.logic-rank-card-kicker{font-size:9px;letter-spacing:1px;color:var(--muted);line-height:1.3}
.logic-rank-card-copy>strong{font-family:var(--serif);font-size:20px;font-weight:400;line-height:1.2;overflow-wrap:anywhere}
.logic-rank-card-next,.logic-rank-card-distance{font-size:11px;color:var(--muted);line-height:1.4}
@media(max-width:1100px){.logic-rank-banner-main{grid-template-columns:120px minmax(0,1fr) minmax(165px,.8fr);gap:20px;padding:24px}.logic-rank-portrait,.logic-rank-stamp{width:120px}.logic-rank-stamp{height:120px}.logic-rank-next{padding-left:20px}.logic-rank-next>strong{font-size:14px}.logic-rank-banner h2{font-size:34px}.logic-rank-ladder>summary{padding:13px 24px}.logic-rank-ladder-body{padding:7px 24px 21px}}
@media(max-width:670px){.logic-rank-banner-main{grid-template-columns:106px minmax(0,1fr);padding:20px 17px;gap:14px}.logic-rank-portrait,.logic-rank-stamp{width:106px}.logic-rank-stamp{height:106px}.logic-rank-portrait-level{font-size:10px;letter-spacing:1px}.logic-rank-banner h2{font-size:31px}.logic-rank-eyebrow{font-size:10px;margin-bottom:8px}.logic-rank-next{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:17px 0 0;margin-top:1px}.logic-rank-next>strong{max-width:none;font-size:15px}.logic-rank-completion{margin-top:14px}.logic-rank-ladder>summary{padding:14px 17px}.logic-rank-ladder-prompt{font-size:11px;gap:6px}.logic-rank-ladder-body{padding:7px 17px 20px}.logic-rank-ladder ol{grid-template-columns:1fr}.logic-rank-card{gap:7px;flex-wrap:wrap;padding:11px 0}.logic-rank-card-stamp{flex-basis:48px;width:48px;height:54px}.logic-rank-card-kicker{font-size:9px;letter-spacing:.6px}.logic-rank-card-copy>strong{font-size:18px}.logic-rank-card-next{font-size:11px}}
@media(prefers-reduced-motion:reduce){.logic-rank-ladder-prompt>span{transition:none}}

.logic-rank-requirement{font-size:13px;line-height:1.45;max-width:38ch;color:var(--muted);margin:9px 0 0}
