{"title":"Portal Three Kingdoms Singles","description":null,"products":[{"product_id":"council-of-advisors-portal-three-kingdoms","title":"Council of Advisors - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003eWhen this creature enters, draw a card.\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"2\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/2.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"U\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/U.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Human Advisor\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e1\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-uncommon\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eUncommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eLiu Shangying\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":39308243173582,"sku":"MTG-PTK-040-1","price":10.25,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":39308243337422,"sku":"MTG-PTK-040-2","price":8.2,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":39308243468494,"sku":"MTG-PTK-040-3","price":6.15,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":39308243632334,"sku":"MTG-PTK-040-4","price":4.1,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":39308243763406,"sku":"MTG-PTK-040-5","price":2.56,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/0c59f45b-46fa-4494-9b25-cf9d3e462539.png?v=1787755907"},{"product_id":"zodiac-ox-portal-three-kingdoms","title":"Zodiac Ox - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003e\n\u003cstrong\u003eSwampwalk\u003c\/strong\u003e \u003cem class=\"spc-reminder\"\u003e(This creature can't be blocked as long as defending player controls a Swamp.)\u003c\/em\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"3\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/3.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"G\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/G.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Ox\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e3\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-uncommon\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eUncommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eAi Desheng\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":39308797935822,"sku":"MTG-PTK-161-1","price":28.75,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":39308798034126,"sku":"MTG-PTK-161-2","price":23.0,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":39308798132430,"sku":"MTG-PTK-161-3","price":17.25,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":39308798263502,"sku":"MTG-PTK-161-4","price":11.5,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":39308798492878,"sku":"MTG-PTK-161-5","price":7.19,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/1a731b3a-0065-448d-841c-28700d78a4fd_326f9cd9-7117-4c20-a291-cf98ac05271e.png?v=1756692394"},{"product_id":"wolf-pack-portal-three-kingdoms","title":"Wolf Pack - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003eYou may have this creature assign its combat damage as though it weren't blocked.\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"6\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/6.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"G\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/G.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"G\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/G.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Wolf\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e7\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e6\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-rare\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eRare\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eYang Jun Kwon\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":39309331202254,"sku":"MTG-PTK-158-1","price":156.75,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":39309331366094,"sku":"MTG-PTK-158-2","price":125.4,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":39309331529934,"sku":"MTG-PTK-158-3","price":94.05,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":39309331628238,"sku":"MTG-PTK-158-4","price":62.7,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":39309331792078,"sku":"MTG-PTK-158-5","price":39.19,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/290f395d-0827-4f62-b117-4766d4ab5dca_67ddcc40-80d7-4bf2-8a4c-3c374a6e8414.png?v=1753649071"},{"product_id":"wielding-the-green-dragon-portal-three-kingdoms","title":"Wielding the Green Dragon - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003eTarget creature gets +4\/+4 until end of turn.\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"1\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/1.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"G\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/G.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eSorcery\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-common\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eCommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eQuan Xuejun\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":39309395624142,"sku":"MTG-PTK-157-1","price":7.5,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":39309395656910,"sku":"MTG-PTK-157-2","price":6.0,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":39309395689678,"sku":"MTG-PTK-157-3","price":4.5,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":39309395722446,"sku":"MTG-PTK-157-4","price":3.0,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":39309395755214,"sku":"MTG-PTK-157-5","price":1.88,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/2b138167-8129-4109-a58b-af26c95577e4.png?v=1755976644"},{"product_id":"fire-ambush-portal-three-kingdoms","title":"Fire Ambush - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003eFire Ambush deals 3 damage to any target.\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"1\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/1.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"R\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/R.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eSorcery\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-common\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eCommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eTang Xiaogu\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41726380081358,"sku":"MTG-PTK-111-1","price":6.25,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41726380114126,"sku":"MTG-PTK-111-2","price":5.0,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41726380146894,"sku":"MTG-PTK-111-3","price":3.75,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41726380179662,"sku":"MTG-PTK-111-4","price":2.5,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41726380212430,"sku":"MTG-PTK-111-5","price":1.56,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/4dd8bdbd-99c9-4fa7-936a-acc7f4238507.png?v=1787760899"},{"product_id":"zodiac-goat-portal-three-kingdoms","title":"Zodiac Goat - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003e\n\u003cstrong\u003eMountainwalk\u003c\/strong\u003e \u003cem class=\"spc-reminder\"\u003e(This creature can't be blocked as long as defending player controls a Mountain.)\u003c\/em\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"R\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/R.svg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Goat\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e1\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-common\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eCommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eQi Baocheng\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41726497849550,"sku":"MTG-PTK-132-1","price":15.0,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41726497882318,"sku":"MTG-PTK-132-2","price":12.0,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41726497915086,"sku":"MTG-PTK-132-3","price":9.0,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41726497947854,"sku":"MTG-PTK-132-4","price":6.0,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41726497980622,"sku":"MTG-PTK-132-5","price":3.75,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/52510462-2802-4e16-87d4-da376ee2e3be.png?v=1758065342"},{"product_id":"zodiac-pig-portal-three-kingdoms","title":"Zodiac Pig - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003e\n\u003cstrong\u003eSwampwalk\u003c\/strong\u003e \u003cem class=\"spc-reminder\"\u003e(This creature can't be blocked as long as defending player controls a Swamp.)\u003c\/em\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"3\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/3.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"B\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/B.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Boar\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e3\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-uncommon\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eUncommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eQi Baocheng\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41726513381582,"sku":"MTG-PTK-097-1","price":90.0,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41726513414350,"sku":"MTG-PTK-097-2","price":72.0,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41726513447118,"sku":"MTG-PTK-097-3","price":54.0,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41726513479886,"sku":"MTG-PTK-097-4","price":36.0,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41726513512654,"sku":"MTG-PTK-097-5","price":22.5,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/52e364b5-55ca-4df5-8755-6643218b0969.png?v=1758065328"},{"product_id":"yellow-scarves-cavalry-portal-three-kingdoms","title":"Yellow Scarves Cavalry - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\n\u003cdiv class=\"spc-line\"\u003e\n\u003cstrong\u003eHorsemanship\u003c\/strong\u003e \u003cem class=\"spc-reminder\"\u003e(This creature can't be blocked except by creatures with horsemanship.)\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spc-line\"\u003eThis creature can't block.\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"1\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/1.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"R\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/R.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Human Soldier\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e1\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-common\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eCommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eChen Weidong\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41728239108302,"sku":"MTG-PTK-125-1","price":13.25,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41728239141070,"sku":"MTG-PTK-125-2","price":10.6,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41728239173838,"sku":"MTG-PTK-125-3","price":7.95,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41728239206606,"sku":"MTG-PTK-125-4","price":5.3,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41728239239374,"sku":"MTG-PTK-125-5","price":3.31,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/84460666-4f6b-422c-b20e-dc1651c66e15_d90c46b2-96d3-471c-847d-979de3667cd9.png?v=1755895891"},{"product_id":"borrowing-100-000-arrows-portal-three-kingdoms","title":"Borrowing 100,000 Arrows - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003eDraw a card for each tapped creature target opponent controls.\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"2\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/2.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"U\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/U.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eSorcery\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-uncommon\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eUncommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eSong Shikai\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41728982188238,"sku":"MTG-PTK-035-1","price":35.0,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41728982253774,"sku":"MTG-PTK-035-2","price":28.0,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41728982352078,"sku":"MTG-PTK-035-3","price":21.0,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41728982417614,"sku":"MTG-PTK-035-4","price":14.0,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41728982483150,"sku":"MTG-PTK-035-5","price":8.75,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/96b5362a-bbca-4dc3-a320-3664609fe169.png?v=1787752815"},{"product_id":"riding-red-hare-portal-three-kingdoms","title":"Riding Red Hare - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003eTarget creature gets +3\/+3 and gains horsemanship until end of turn. \u003cem class=\"spc-reminder\"\u003e(It can't be blocked except by creatures with horsemanship.)\u003c\/em\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"2\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/2.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"W\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/W.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eSorcery\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-common\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eCommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eQi Baocheng\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41730528346318,"sku":"MTG-PTK-018-1","price":17.75,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41730528379086,"sku":"MTG-PTK-018-2","price":14.2,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41730528411854,"sku":"MTG-PTK-018-3","price":10.65,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41730528444622,"sku":"MTG-PTK-018-4","price":7.1,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41730528477390,"sku":"MTG-PTK-018-5","price":4.44,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/c0504a24-4b92-471a-8da4-02ec57eb43be.png?v=1756509581"},{"product_id":"zuo-ci-the-mocking-sage-portal-three-kingdoms","title":"Zuo Ci, the Mocking Sage - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\n\u003cdiv class=\"spc-line\"\u003e\n\u003cstrong\u003eHexproof\u003c\/strong\u003e \u003cem class=\"spc-reminder\"\u003e(This creature can't be the target of spells or abilities your opponents control.)\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spc-line\"\u003eZuo Ci can't be blocked by creatures with horsemanship.\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"1\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/1.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"G\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/G.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"G\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/G.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eLegendary Creature — Human Advisor\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-rare\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eRare\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eWang Yuqun\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41731846799566,"sku":"MTG-PTK-165-1","price":73.25,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41731846832334,"sku":"MTG-PTK-165-2","price":58.6,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41731846865102,"sku":"MTG-PTK-165-3","price":43.95,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41731846897870,"sku":"MTG-PTK-165-4","price":29.3,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41731846930638,"sku":"MTG-PTK-165-5","price":18.31,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/e3425241-efdc-4261-a2bb-58fbf4a9fe8c.png?v=1758063392"},{"product_id":"kongming-sleeping-dragon-portal-three-kingdoms","title":"Kongming, \"Sleeping Dragon\" - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003eOther creatures you control get +1\/+1.\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"2\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/2.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"W\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/W.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"W\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/W.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eLegendary Creature — Human Advisor\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e2\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-rare\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eRare\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eGao Yan\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41732473651406,"sku":"MTG-PTK-009-1","price":28.75,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41732473684174,"sku":"MTG-PTK-009-2","price":23.0,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41732473716942,"sku":"MTG-PTK-009-3","price":17.25,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41732473749710,"sku":"MTG-PTK-009-4","price":11.5,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41732473782478,"sku":"MTG-PTK-009-5","price":7.19,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/f4ae0a05-1870-4f4a-b8a2-bfb5381acacb_67829170-73b2-4466-8e04-774c3bba2db6.png?v=1753519547"},{"product_id":"zodiac-horse-portal-three-kingdoms","title":"Zodiac Horse - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003e\n\u003cstrong\u003eIslandwalk\u003c\/strong\u003e \u003cem class=\"spc-reminder\"\u003e(This creature can't be blocked as long as defending player controls an Island.)\u003c\/em\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\n\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"3\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/3.svg\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"G\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/G.svg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Horse\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e3\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e3\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-uncommon\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eUncommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eAi Desheng\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41733866062030,"sku":"MTG-PTK-159-1","price":70.25,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41733866127566,"sku":"MTG-PTK-159-2","price":56.2,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41733866193102,"sku":"MTG-PTK-159-3","price":42.15,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41733866258638,"sku":"MTG-PTK-159-4","price":28.1,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41733866291406,"sku":"MTG-PTK-159-5","price":17.56,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/fb24cb19-3409-45f7-b0e0-7c652064d2dd.png?v=1758065166"},{"product_id":"zodiac-rat-portal-three-kingdoms","title":"Zodiac Rat - Portal Three Kingdoms","description":"\u003cdiv class=\"spc-mtg\"\u003e\n \n  \u003cdiv class=\"spc-text\"\u003e\u003cdiv class=\"spc-line\"\u003e\n\u003cstrong\u003eSwampwalk\u003c\/strong\u003e \u003cem class=\"spc-reminder\"\u003e(This creature can't be blocked as long as defending player controls a Swamp.)\u003c\/em\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n \n  \n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eMana cost\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-costline\"\u003e\u003cimg class=\"spc-symbol\" loading=\"lazy\" alt=\"B\" src=\"https:\/\/svgs.scryfall.io\/card-symbols\/B.svg\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eType\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eCreature — Rat\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003ePower \/ toughness\u003c\/div\u003e\n\u003cdiv class=\"spc-value spc-pt\"\u003e\n\u003cspan\u003e1\u003c\/span\u003e\u003cspan class=\"spc-slash\"\u003e\/\u003c\/span\u003e\u003cspan\u003e1\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eRarity\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003e\u003cspan class=\"spc-rarity spc-rarity-common\"\u003e\u003cspan class=\"spc-dot\"\u003e\u003c\/span\u003eCommon\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \u003cdiv class=\"spc-row\"\u003e\n\u003cdiv class=\"spc-label\"\u003eArtist\u003c\/div\u003e\n\u003cdiv class=\"spc-value\"\u003eQi Baocheng\u003c\/div\u003e\n\u003c\/div\u003e\n \n  \n \n\u003c\/div\u003e\n \n\u003cstyle\u003e\n  .spc-mtg {\n    \/*\n      These are deliberately neutral semi-transparent greys, not fixed black or\n      white, so the panel reads correctly on a light or a dark theme without\n      needing a prefers-color-scheme block. Override them in your theme if you\n      want brand colours.\n    *\/\n    --spc-border: rgba(128, 128, 128, 0.3);\n    --spc-legal: #2f7d4f;\n    --spc-restricted: #b07419;\n    --spc-banned: #a93226;\n    --spc-neutral: #8a8a8a;\n \n    font-size: 0.95rem;\n    line-height: 1.55;\n  }\n \n  \/* ---------- Rules text ---------- *\/\n \n  .spc-mtg .spc-text {\n    margin: 0 0 1.25rem;\n  }\n  .spc-mtg .spc-line {\n    margin: 0 0 0.7rem;\n  }\n  .spc-mtg .spc-line:last-child {\n    margin-bottom: 0;\n  }\n  .spc-mtg .spc-text strong {\n    font-weight: 700;\n  }\n  .spc-mtg .spc-reminder {\n    font-style: italic;\n    opacity: 0.68;\n  }\n \n  \/* ---------- Double faced cards ---------- *\/\n \n  .spc-mtg .spc-face {\n    margin: 0 0 1rem;\n  }\n  .spc-mtg .spc-face-head {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 0.75rem;\n    font-weight: 600;\n  }\n  .spc-mtg .spc-face-cost {\n    display: inline-flex;\n    gap: 2px;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-face-type {\n    opacity: 0.62;\n    font-size: 0.875rem;\n    margin-bottom: 0.4rem;\n  }\n  .spc-mtg .spc-face-pt {\n    text-align: right;\n    font-weight: 600;\n    margin-top: 0.3rem;\n  }\n \n  \/* ---------- Info rows ---------- *\/\n \n  .spc-mtg .spc-row {\n    display: grid;\n    grid-template-columns: minmax(100px, 150px) 1fr;\n    gap: 0.75rem;\n    align-items: center;\n    padding: 0.6rem 0;\n    border-bottom: 1px solid var(--spc-border);\n  }\n  .spc-mtg .spc-row:last-of-type {\n    border-bottom: none;\n  }\n  .spc-mtg .spc-label {\n    font-weight: 600;\n    opacity: 0.62;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n  }\n  \/*\n    Links on the stat values are removed for now. Storepass search URLs do not\n    resolve on Shopify. When a working URL pattern exists, wrap the value in an\n    anchor and uncomment the .spc-value a rules below.\n \n    .spc-mtg .spc-value a {\n      color: inherit;\n      text-decoration: none;\n      border-bottom: 1px solid var(--spc-border);\n      transition: border-color 0.15s ease;\n    }\n    .spc-mtg .spc-value a:hover { border-bottom-color: currentColor; }\n    .spc-mtg .spc-value a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }\n  *\/\n \n  .spc-mtg .spc-costline {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 3px;\n    align-items: center;\n  }\n  .spc-mtg .spc-pt {\n    display: flex;\n    align-items: center;\n    gap: 0.3rem;\n  }\n  .spc-mtg .spc-slash {\n    opacity: 0.45;\n  }\n \n  .spc-mtg .spc-symbol {\n    width: 15px;\n    height: 15px;\n    vertical-align: -2px;\n    display: inline-block;\n  }\n \n  \/* ---------- Rarity ---------- *\/\n \n  .spc-mtg .spc-rarity {\n    display: inline-flex;\n    align-items: center;\n    gap: 0.45rem;\n  }\n  .spc-mtg .spc-dot {\n    width: 9px;\n    height: 9px;\n    border-radius: 50%;\n    flex-shrink: 0;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-rarity-common .spc-dot { background: currentColor; }\n  .spc-mtg .spc-rarity-uncommon .spc-dot { background: linear-gradient(135deg, #b9c4cc, #7d8a94); }\n  .spc-mtg .spc-rarity-rare .spc-dot { background: linear-gradient(135deg, #d9bb52, #a3822f); }\n  .spc-mtg .spc-rarity-mythic .spc-dot { background: linear-gradient(135deg, #f0762b, #c02c19); }\n  .spc-mtg .spc-rarity-special .spc-dot { background: linear-gradient(135deg, #c79bd6, #7b4b95); }\n  .spc-mtg .spc-rarity-bonus .spc-dot { background: linear-gradient(135deg, #7fc9d6, #2f7f93); }\n \n  \/* ---------- Legality ---------- *\/\n \n  .spc-mtg .spc-legal {\n    border-top: 1px solid var(--spc-border);\n    margin-top: 0.25rem;\n  }\n  .spc-mtg .spc-legal summary {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding: 0.75rem 0;\n    cursor: pointer;\n    font-weight: 600;\n    font-size: 0.8125rem;\n    letter-spacing: 0.02em;\n    text-transform: uppercase;\n    opacity: 0.62;\n    list-style: none;\n  }\n  .spc-mtg .spc-legal summary::-webkit-details-marker {\n    display: none;\n  }\n  .spc-mtg .spc-chev {\n    transition: transform 0.2s ease;\n    flex-shrink: 0;\n  }\n  .spc-mtg .spc-legal[open] .spc-chev {\n    transform: rotate(180deg);\n  }\n \n  .spc-mtg .spc-legal-grid {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 0.4rem 1rem;\n    padding-bottom: 0.9rem;\n  }\n  .spc-mtg .spc-legal-item {\n    display: flex;\n    align-items: center;\n    gap: 0.55rem;\n    min-width: 0;\n  }\n  .spc-mtg .spc-legal-name {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .spc-mtg .spc-badge {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 82px;\n    text-align: center;\n    padding: 0.15rem 0;\n    border-radius: 3px;\n    font-size: 0.6875rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: #fff;\n    background: var(--spc-neutral);\n  }\n  .spc-mtg .spc-badge-legal { background: var(--spc-legal); }\n  .spc-mtg .spc-badge-restricted { background: var(--spc-restricted); }\n  .spc-mtg .spc-badge-banned { background: var(--spc-banned); }\n  .spc-mtg .spc-badge-not_legal { background: var(--spc-neutral); }\n \n  \/* ---------- Mobile ---------- *\/\n \n  @media (max-width: 480px) {\n    .spc-mtg .spc-row {\n      grid-template-columns: 1fr;\n      gap: 0.1rem;\n    }\n    .spc-mtg .spc-legal-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n \n  @media (prefers-reduced-motion: reduce) {\n    .spc-mtg * {\n      transition: none !important;\n    }\n  }\n\u003c\/style\u003e","brand":"Portal Three Kingdoms","offers":[{"title":"Near Mint","offer_id":41733869863118,"sku":"MTG-PTK-098-1","price":64.5,"currency_code":"AUD","in_stock":true},{"title":"Lightly Played","offer_id":41733869895886,"sku":"MTG-PTK-098-2","price":51.6,"currency_code":"AUD","in_stock":false},{"title":"Moderately Played","offer_id":41733869928654,"sku":"MTG-PTK-098-3","price":38.7,"currency_code":"AUD","in_stock":false},{"title":"Heavily Played","offer_id":41733869961422,"sku":"MTG-PTK-098-4","price":25.8,"currency_code":"AUD","in_stock":false},{"title":"Damaged","offer_id":41733869994190,"sku":"MTG-PTK-098-5","price":16.13,"currency_code":"AUD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0552\/5395\/8862\/files\/fb6e5814-e1b5-48d2-9c4f-62b5727f333f_c8413f31-41b2-49f7-9585-4cf8f0845daf.png?v=1758062900"}],"url":"https:\/\/manamarket.com.au\/collections\/magic-the-gathering-portal-three-kingdoms-singles.oembed","provider":"Mana Market","version":"1.0","type":"link"}