@charset "UTF-8";
.poly-page { --poly-accent: #c5b4e8; --poly-gold: #ddc798; }
.poly-page .guide-toc { top: 120px; }
.poly-page .guide-section { scroll-margin-top: 115px; }
.poly-page .guide-kicker { color: var(--poly-accent); }
.poly-page .guide-hero h1 em { color: #d9c8f4; }
.poly-hero { grid-template-columns: 1fr 1.1fr; gap: 0; padding-block: 38px 38px; min-height: 490px; }
.poly-hero::before { background: radial-gradient(ellipse at 75% 50%, #55468021, transparent 65%); }
.poly-hero .guide-hero-copy { position: relative; z-index: 1; padding-block: 25px; }
.poly-hero h1 { font-size: clamp(34px, 3.3vw, 49px); letter-spacing: 0; }
.poly-hero .guide-lead { max-width: 485px; }
.poly-hero-art { position: relative; min-width: 0; margin: 0 -40px 0 -25px; }
.poly-hero-art img { display: block; width: 100%; height: auto; mix-blend-mode: lighten; }
.poly-hero-book { width: min(100%, 490px); aspect-ratio: 1; overflow: hidden; margin-inline: auto; }
.poly-hero-book img { width: 200%; max-width: none; height: 100%; }
.poly-hero-art figcaption { font-size: 12px; text-align: center; letter-spacing: 2px; color: #c8bddf; margin-top: -10px; }
.poly-hero-art figcaption span { display: block; font-size: 10px; letter-spacing: 1px; color: #8c9db2; margin-top: 4px; }
.poly-hero-facts { display: flex; gap: 30px; margin-top: 30px; }
.poly-hero-facts > span { font-size: 12px; color: #90a6b9; }
.poly-hero-facts > span + span { border-left: 1px solid #6677914a; padding-left: 30px; }
.poly-hero-facts strong { display: block; font-size: 15px; color: #dfd7ed; font-weight: 500; margin-bottom: 3px; }
.poly-path { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--line); padding-block: 27px; }
.poly-path > a { display: flex; align-items: center; gap: 15px; padding: 6px 20px; min-height: 72px; border-right: 1px solid var(--line); }
.poly-path > a:first-child { padding-left: 0; }
.poly-path > a:last-child { border-right: 0; padding-right: 0; }
.poly-path > a > .icon { width: 27px; height: 27px; color: #b1a2d2; flex-shrink: 0; }
.poly-path small { display: block; color: #91a4b7; font-size: 11px; }
.poly-path strong { color: #d6dce6; font-weight: 500; font-size: 15px; }
.poly-path > a > span:last-child { margin-left: auto; color: #a89bc0; }
.poly-path a:hover strong { color: #d7c4f6; }
.poly-card-steps { list-style: none; padding: 0; margin: 0; }
.poly-card-steps li { display: grid; grid-template-columns: 42px 1fr; gap: 21px; padding-block: 25px; border-top: 1px solid var(--line); }
.poly-card-steps li:last-child { padding-bottom: 0; }
.poly-step-index { color: #ac99c9; font-size: 24px; font-family: Georgia,serif; }
.poly-card-steps h3 { font-size: 19px; font-weight: 500; margin-bottom: 9px; }
.poly-card-steps p { color: #a8bbcb; font-size: 14px; margin: 0; }
.poly-card-steps .guide-text-link { font-size: 13px; margin-top: 4px; }
.poly-inline-link { color: #b8e7f4; text-decoration: underline; text-underline-offset: 4px; }
.poly-tier-picker { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 6px; margin-bottom: 15px; }
.poly-tier-picker button { cursor: pointer; padding: 14px 4px; background: #101a28; border: 1px solid #7e8ea42e; color: #b4c2d2; min-height: 77px; font: inherit; }
.poly-tier-picker small { display: block; font-size: 10px; letter-spacing: 1px; opacity: .7; margin-bottom: 4px; }
.poly-tier-picker span { font-size: 14px; }
.poly-tier-picker button:hover { background: #21263c; border-color: #bfadd97a; }
.poly-tier-picker [aria-pressed="true"] { background: #29263e; color: #e4d4fc; border-color: #b29acb; box-shadow: inset 0 -2px #c2a4e6; }
.poly-tier-detail { background: radial-gradient(ellipse at 100% 0%,#59436530,transparent 60%),#101c2a; border: 1px solid #a89abd4d; padding: 30px; }
.poly-tier-heading { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.poly-tier-heading .guide-kicker { font-size: 10px; margin-bottom: 6px; }
.poly-tier-heading h3 { font-size: 27px; font-weight: 500; }
.poly-tier-seal { width: 60px; height: 60px; display: grid; place-items: center; color: #d5c6ec; border: 1px solid #b1a0cf55; font-family: Georgia,serif; font-size: 26px; transform: rotate(-5deg); }
.poly-tier-description { font-size: 14px; color: #aec0d1; margin: 15px 0 25px; min-height: 27px; }
.poly-primary-stats { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 15px; padding-bottom: 25px; border-bottom: 1px solid #8a9bb133; }
.poly-primary-stats dt { color: #9db2c7; font-size: 12px; }
.poly-primary-stats dd { color: #e5d6fa; font-size: 32px; font-weight: 500; letter-spacing: 1px; font-variant-numeric: tabular-nums; margin: 4px 0 0; }
.poly-secondary-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px 24px; padding-top: 23px; }
.poly-secondary-stats div { display: flex; justify-content: space-between; gap: 10px; }
.poly-secondary-stats dt { font-size: 12px; color: #a5b7c7; }
.poly-secondary-stats dd { font-size: 14px; color: #dce3ed; font-variant-numeric: tabular-nums; margin: 0; }
.poly-tier-detail > a { font-size: 13px; margin-top: 22px; }
.poly-full-table { margin-top: 18px; border-bottom: 1px solid var(--line); }
.poly-full-table > summary { cursor: pointer; padding: 15px 0; color: #bfd5e6; font-size: 14px; }
.poly-full-table > summary > span { float: right; color: #b4a1cf; }
.poly-full-table[open] > summary > span { transform: rotate(45deg); }
.poly-full-table .guide-caption { margin-top: 0; }
.poly-table-scroll { overflow: auto; margin-block: 15px 25px; }
.poly-table-scroll table { width: 100%; min-width: 790px; border-collapse: collapse; font-size: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.poly-table-scroll caption { text-align: left; font-size: 12px; color: #98aebf; margin-bottom: 15px; }
.poly-table-scroll th,.poly-table-scroll td { padding: 12px 13px; border-bottom: 1px solid #7b96b12d; text-align: right; }
.poly-table-scroll thead th { background: #172335; color: #c2d1e1; font-weight: 500; }
.poly-table-scroll tbody th { text-align: left; background: #101b2a; color: #c5b9df; font-weight: 500; position: sticky; left: 0; }
.poly-table-scroll td { color: #c0cfdf; }
.poly-prerequisite { display: flex; align-items: center; gap: 17px; padding: 20px 24px; background: #25223377; border-left: 2px solid #c5addc; margin-bottom: 24px; }
.poly-prerequisite > .icon { color: #c5addc; width: 30px; height: 30px; }
.poly-prerequisite span { font-size: 12px; color: #b1a6c3; }
.poly-prerequisite strong { display: block; color: #e1d1f2; font-size: 16px; font-weight: 500; }
.poly-prerequisite a { font-size: 12px; color: #c0c8df; margin-left: auto; }
.poly-book-flow { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; counter-reset: steps; }
.poly-book-flow li { position: relative; padding: 24px 22px; border: 1px solid #9b8eb538; background: #121a28; margin-right: -1px; }
.poly-book-flow li + li::before { content: '→'; position: absolute; left: -12px; top: 65px; color: #c7b7de; background: #131c2a; padding: 2px; z-index: 1; }
.poly-flow-number { font-size: 11px; color: #9e92b4; letter-spacing: 2px; }
.poly-book-flow svg { display: block; height: 75px; width: 75px; margin: 18px 0; stroke: #b4a0d2; fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
.poly-book-flow li:last-child svg { stroke: #e0c995; }
.poly-book-flow h3 { font-size: 16px; font-weight: 500; margin-bottom: 10px; }
.poly-book-flow p { font-size: 13px; color: #a7b7c8; margin: 0; }
.poly-page-journey { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 13px; font-size: 12px; color: #c5bfd7; padding-block: 0 25px; }
.poly-page-journey span { border-bottom: 1px solid #a397be44; padding-block: 5px; }
.poly-page-journey b { color: #8d82a4; font-weight: 400; }
.poly-collection-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.poly-collection-grid article { padding: 27px; background: #111d2a; border-top: 1px solid #a292c280; }
.poly-eyebrow { color: #b6a5d2; font-size: 11px; letter-spacing: 1px; margin-bottom: 10px; }
.poly-collection-grid h3 { font-size: 19px; line-height: 1.65; font-weight: 500; margin-bottom: 15px; }
.poly-collection-grid p:not(.poly-eyebrow) { font-size: 13px; color: #acbecd; }
.poly-page-indicators { display: flex; gap: 20px; flex-wrap: wrap; margin-top: 25px; font-size: 12px; color: #c4ccd6; }
.poly-page-indicators i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; border: 1px solid #768395; margin-right: 7px; }
.poly-page-indicators .is-complete { background: #8de0b6; border-color: #8de0b6; box-shadow: 0 0 10px #8de0b640; }
.poly-page-bonus > small { font-size: 11px; color: #879eb0; display: block; margin-top: 15px; }
.poly-collection-grid .poly-set-bonus { background: radial-gradient(ellipse at top right,#7c623422,transparent 80%),#171f29; border-color: #d7bd7c80; }
.poly-set-bonus .poly-eyebrow { color: #e0ca9b; }
.poly-set-bonus dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-block: 20px; }
.poly-set-bonus dt { color: #aebdcb; font-size: 12px; }
.poly-set-bonus dd { color: #ead8b0; font-size: 25px; line-height: 1.5; margin: 4px 0 0; }
.poly-set-bonus p:last-child { margin-bottom: 0; }
.poly-duplicates { display: flex; align-items: start; gap: 20px; margin-top: 25px; padding: 25px 0 0; border-top: 1px solid var(--line); }
.poly-duplicates > .icon { width: 27px; height: 27px; margin-top: 5px; color: #aaa0c6; flex-shrink: 0; }
.poly-duplicates h3 { font-size: 17px; font-weight: 500; margin-bottom: 8px; }
.poly-duplicates p { font-size: 14px; color: #a7bdce; margin-bottom: 0; }
.poly-rental-panel { padding: 28px; background: linear-gradient(130deg,#172539,#101b29); border: 1px solid #7c9cbe44; }
.poly-rental-title { display: flex; align-items: center; gap: 18px; }
.poly-rental-title > .icon { width: 40px; height: 40px; color: #acc9e5; }
.poly-rental-title .poly-eyebrow { color: #99bbd6; margin-bottom: 2px; }
.poly-rental-title h3 { font-size: 23px; font-weight: 500; }
.poly-rental-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; margin-top: 27px; }
.poly-rental-stats dt { font-size: 12px; color: #a1b9cc; }
.poly-rental-stats dd { font-size: 29px; color: #c8e8f5; margin: 3px 0 0; }
.poly-rental-panel > p { font-size: 12px; color: #a4b6c9; margin: 19px 0 0; }
.poly-rental-rules { margin-top: 22px; }
.poly-rental-rules > div { display: grid; grid-template-columns: 160px 1fr; gap: 20px; border-bottom: 1px solid var(--line); padding: 17px 0; font-size: 14px; }
.poly-rental-rules dt { color: #c1d4e2; }
.poly-rental-rules dd { color: #9fb6c8; margin: 0; }
.poly-walk { display: grid; grid-template-columns: 1fr 180px; gap: 35px; align-items: center; }
.poly-walk h3 { font-size: 21px; font-weight: 500; margin-bottom: 15px; }
.poly-walk p { font-size: 14px; color: #a8bfcd; }
.poly-walk code { color: #cfbbed; letter-spacing: 1px; }
.poly-command { display: inline-flex; align-items: center; gap: 20px; font-size: 12px; color: #8da3b8; padding: 9px 15px; border: 1px solid #8e8bac45; margin-top: 12px; }
.poly-command code { font-size: 18px; }
.poly-walk figure { margin: 0; text-align: center; }
.poly-walk img { width: 160px; height: auto; border: 1px solid #af9f7055; }
.poly-walk figcaption { font-size: 11px; color: #889fb1; margin-top: 10px; }
.poly-page button:focus-visible,.poly-page a:focus-visible,.poly-page summary:focus-visible,.poly-table-scroll:focus-visible { outline: 2px solid #d6bbfb; outline-offset: 4px; }
@media(max-width:1100px) { .poly-path > a { padding-inline: 13px; gap: 10px; } .poly-path > a > .icon { width: 22px; } .poly-path strong { font-size: 14px; } .poly-hero-art { margin-right: -15px; } .poly-book-flow li { padding-inline: 17px; } }
@media(max-width:960px) { .poly-hero { grid-template-columns: 1fr 1fr; min-height: 0; } .poly-page .poly-hero h1 { font-size: 36px; } .poly-hero-art { margin-inline: -25px -15px; } .poly-hero .guide-lead { font-size: 14px; } .poly-path { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 0; } .poly-path > a:nth-child(2) { border-right: 0; } .poly-path > a:nth-child(3) { padding-left: 0; } .poly-path > a { padding-inline: 22px; } .poly-page .guide-toc { position: static; } .poly-page .guide-toc nav { gap: 0 24px; } }
@media(max-width:640px) {
  .poly-page .poly-hero { display: flex; flex-direction: column; padding-block: 15px 30px; gap: 0; }
  .poly-hero .guide-hero-copy { padding-block: 12px 0; width: 100%; }
  .poly-page .poly-hero h1 { font-size: clamp(31px,8.1vw,42px); margin-bottom: 17px; line-height: 1.5; }
  .poly-hero .guide-kicker { font-size: 10px; margin-bottom: 15px; letter-spacing: 2px; }
  .poly-hero .guide-lead { font-size: 14px; margin-bottom: 21px; }
  .poly-hero .guide-hero-actions { gap: 10px; }
  .poly-hero .guide-hero-actions a { min-height: 47px; padding-inline: 15px; font-size: 13px; }
  .poly-hero-facts { gap: 24px; margin-top: 22px; }
  .poly-hero-facts > span + span { padding-left: 24px; }
  .poly-hero-facts strong { font-size: 14px; }
  .poly-hero-art { width: calc(100% + 24px); margin: 14px -12px 0; }
  .poly-hero-art figcaption { margin-top: -3px; font-size: 11px; }
  .poly-path { padding-block: 22px; gap: 14px 0; }
  .poly-path > a { gap: 10px; padding: 5px 12px; min-height: 62px; }
  .poly-path > a:nth-child(2n) { padding-right: 0; }
  .poly-path > a > .icon { width: 22px; height: 22px; }
  .poly-path small { font-size: 10px; }
  .poly-path strong { font-size: 13px; }
  .poly-path > a > span:last-child { display: none; }
  .poly-page .guide-section-title { font-size: 25px; }
  .poly-card-steps li { grid-template-columns: 30px 1fr; gap: 15px; padding-block: 22px; }
  .poly-step-index { font-size: 22px; }
  .poly-card-steps h3 { font-size: 18px; }
  .poly-tier-picker { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
  .poly-tier-picker button { min-height: 64px; padding-block: 10px; }
  .poly-tier-picker small { font-size: 9px; margin-bottom: 1px; }
  .poly-tier-picker button:last-child { grid-column: span 2; }
  .poly-tier-detail { padding: 24px 20px; }
  .poly-tier-heading h3 { font-size: 25px; }
  .poly-tier-seal { width: 50px; height: 50px; font-size: 22px; }
  .poly-primary-stats { gap: 13px; grid-template-columns: 1.15fr 1fr 1fr; }
  .poly-primary-stats dd { font-size: 26px; letter-spacing: 0; }
  .poly-secondary-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 22px; }
  .poly-prerequisite { flex-wrap: wrap; gap: 12px; padding: 18px; }
  .poly-prerequisite strong { font-size: 15px; }
  .poly-prerequisite a { width: 100%; margin-left: 42px; }
  .poly-book-flow { grid-template-columns: 1fr; gap: 14px; }
  .poly-book-flow li { display: grid; grid-template-columns: 65px 1fr; gap: 0 16px; margin: 0; padding: 22px 20px; }
  .poly-flow-number { grid-column: 1; grid-row: 1; }
  .poly-book-flow svg { grid-column: 1; grid-row: 2 / span 2; width: 60px; height: 60px; margin: 10px 0 0; }
  .poly-book-flow h3 { grid-column: 2; grid-row: 1; font-size: 17px; }
  .poly-book-flow p { grid-column: 2; grid-row: 2 / span 2; font-size: 14px; }
  .poly-book-flow li + li::before { content: '↓'; top: -19px; left: 46px; padding: 0 5px; }
  .poly-page-journey { display: grid; grid-template-columns: 1fr; gap: 4px; padding-bottom: 22px; }
  .poly-page-journey span { padding: 5px 0; border: 0; }
  .poly-page-journey b { display: inline-block; transform: rotate(90deg); width: 20px; height: 20px; line-height: 20px; }
  .poly-collection-grid { grid-template-columns: 1fr; gap: 20px; }
  .poly-collection-grid article { padding: 25px; }
  .poly-collection-grid p:not(.poly-eyebrow) { font-size: 14px; }
  .poly-duplicates { gap: 14px; }
  .poly-duplicates h3 { font-size: 17px; }
  .poly-rental-panel { padding: 25px; }
  .poly-rental-rules > div { grid-template-columns: 1fr; gap: 7px; }
  .poly-walk { grid-template-columns: 1fr; gap: 25px; }
  .poly-walk h3 { font-size: 20px; }
  .poly-walk img { width: 170px; }
}
@media(prefers-reduced-motion:reduce) { .poly-page * { scroll-behavior: auto; } }
@media print { .poly-hero-art,.poly-path,.mobile-actions { display: none; } .poly-tier-picker { display: none; } .poly-tier-detail,.poly-collection-grid article,.poly-rental-panel { break-inside: avoid; } }
