{
  "version": 3,
  "sources": ["/cdn/shop/t/199/assets/pab-mockup-bridge.js?pab_build=20260915_2"],
  "sourcesContent": ["(function(){function syncCustomDenominationHelp(){var help=document.getElementById(\"pab-custom-denom-help\");if(!help)return;help.innerHTML='Enter numbers only. The $ sign and commas are added automatically.<br><span>Custom denomination will appear on your proof, not the live preview.</span>';}if(document.readyState===\"loading\"){document.addEventListener(\"DOMContentLoaded\",syncCustomDenominationHelp,{once:true});}else{syncCustomDenominationHelp();}var PAB_FRESH_QUERY=\"pab_reset\",restoreInFlight=null;function checked(selector){return document.querySelector(\"#pab-mockup-root \"+selector+\":checked\")}function designNameInput(){var root=document.getElementById(\"pab-mockup-root\");return root?root.querySelector(\"#design-name\"):null}function syncDesignNameToLegacyFields(){var input=designNameInput(),name=input?String(input.value||\"\").trim():\"\";return[\"billNameSubmit\",\"billNameTop\",\"billName\"].forEach(function(id){var el=document.getElementById(id);el&&(el.value=name)}),name}function setMockupDesignNameError(hasError,message){var input=designNameInput(),errorEl=document.querySelector(\"#pab-mockup-root [data-pab-design-name-error]\");input&&(input.classList.toggle(\"input-error\",!!hasError),input.setAttribute(\"aria-invalid\",hasError?\"true\":\"false\")),errorEl&&(hasError?(errorEl.hidden=!1,errorEl.textContent=message||\"Please enter a bill name between 3 and 30 characters.\"):errorEl.hidden=!0)}function validateMockupDesignName(){if(syncDesignNameToLegacyFields(),typeof window.validatePabBillName==\"function\"){var input=designNameInput();return window.validatePabBillName(input?input.value:\"\")}return typeof window.getPabBillNameValidation==\"function\"?window.getPabBillNameValidation():{valid:!0,value:syncDesignNameToLegacyFields(),message:\"\"}}function scrollMockupDesignNameIntoView(){var input=designNameInput();if(input){var field=input.closest(\".name-field\")||input,bottomInset=typeof window.getPabStickyBarInset==\"function\"?window.getPabStickyBarInset():160;field.style.scrollMarginTop=\"96px\",field.style.scrollMarginBottom=bottomInset+\"px\",field.scrollIntoView({behavior:\"smooth\",block:\"center\"}),input.focus({preventScroll:!0})}}function mockupAtcButtons(){return[document.getElementById(\"add-cart\"),document.getElementById(\"mobile-cart\"),document.querySelector(\"[data-pab-mobile-next]\")].filter(function(btn){return btn&&(!btn.hasAttribute(\"data-pab-mobile-next\")||document.body.dataset.pabMobileGuideStep===\"checkout\")})}function setMockupAtcState(state){mockupAtcButtons().forEach(function(btn){btn.dataset.pabAtcDefaultLabel||(btn.dataset.pabAtcDefaultLabel=btn.textContent.trim()||\"Add to Cart\");var editing=!!(window.PABEditMode&&window.PABEditMode.active);if(state===\"adding\"){btn.disabled=!0,btn.classList.add(\"adding\"),btn.classList.remove(\"success\"),btn.textContent=editing?\"Updating...\":\"Adding...\",btn.style.opacity=\"0.7\";return}if(state===\"success\"){btn.disabled=!0,btn.classList.remove(\"adding\"),btn.classList.add(\"success\"),btn.textContent=editing?\"Updated \\u2713\":\"Added \\u2713\",btn.style.opacity=\"1\";return}btn.disabled=!1,btn.classList.remove(\"adding\",\"success\"),btn.textContent=editing?\"Update Cart\":btn.dataset.pabAtcDefaultLabel,btn.style.opacity=\"\"})}function syncMockupAtcFromMain(){var mainBtn=document.querySelector(\"#customOrderForm .add-to-cart-btn\");mainBtn&&(mainBtn.classList.contains(\"adding\")||/Adding/i.test(mainBtn.textContent||\"\")?setMockupAtcState(\"adding\"):mainBtn.classList.contains(\"success\")||/Added/i.test(mainBtn.textContent||\"\")?setMockupAtcState(\"success\"):setMockupAtcState(\"idle\"))}function syncPreviewImageField(form,src){var field=document.getElementById(\"billPreviewImageField\");field||(field=document.createElement(\"input\"),field.type=\"hidden\",field.id=\"billPreviewImageField\",field.name=\"properties[_preview_image]\",form.appendChild(field)),field.value=src||\"\"}function readMockupPreviewImageSrc(root){var previewImage=root.querySelector(\"#bill-image\")||document.getElementById(\"bill-image\");return!previewImage||!previewImage.src||previewImage.style.display===\"none\"||root.querySelector(\".bill-inner.custom-sample\")?\"\":String(previewImage.currentSrc||previewImage.src).trim()}function syncOriginalForm(){var _a,_b,_c,_d,_e,_f,_g;var root=document.getElementById(\"pab-mockup-root\"),form=document.getElementById(\"customOrderForm\");if(!(!root||!form)){var tier=((_b=(_a=root.querySelector(\".tier.selected\"))==null?void 0:_a.dataset.tier)==null?void 0:_b.toLowerCase())||\"premium\",tierRadio=form.querySelector('input[name=\"tier\"][value=\"'+tier+'\"]');tierRadio&&(tierRadio.checked=!0,tierRadio.dispatchEvent(new Event(\"change\",{bubbles:!0})));var quantityField=root.querySelector(\"#qty\"),quantity=String((quantityField==null?void 0:quantityField.value)||(quantityField==null?void 0:quantityField.textContent)||\"\").replace(/[^0-9]/g,\"\")||\"2\",stackInput=document.getElementById(\"stackCount\");stackInput&&(stackInput.value=quantity,stackInput.dispatchEvent(new Event(\"input\",{bubbles:!0})),stackInput.dispatchEvent(new Event(\"change\",{bubbles:!0})));var series=((_c=root.querySelector(\"#series .selected\"))==null?void 0:_c.dataset.series)||\"New Series\",denomination=((_d=root.querySelector(\"#denoms .selected\"))==null?void 0:_d.dataset.denom)||\"100\",seriesField=document.getElementById(\"billSeriesField\"),denominationField=document.getElementById(\"billDenominationField\"),isCustomDenom=denomination===\"$custom\"||denomination===\"custom\",denomProperty=isCustomDenom?\"Custom\":\"$\"+String(denomination).replace(/^\\$/,\"\");seriesField&&(seriesField.value=series),denominationField&&(denominationField.value=denomProperty);var customField=document.getElementById(\"billCustomDenominationField\");customField&&(customField.value=isCustomDenom&&window.PABCustomDenomination?window.PABCustomDenomination.value():\"\");var baseBillField=document.getElementById(\"billBaseBillField\");baseBillField&&(baseBillField.value=isCustomDenom&&window.PABBaseBill?window.PABBaseBill.property():\"\"),syncDesignNameToLegacyFields();var paper=checked(\"#paper input\");[\"standardPaper\",\"flamePaper\",\"durablePaper\"].forEach(function(id){var input=document.getElementById(id);input&&(input.checked=!1)});var paperMap={Signature:\"standardPaper\",\"Flame-Retardant\":\"flamePaper\",\"Premium Durable\":\"durablePaper\"},paperTarget=document.getElementById(paperMap[paper==null?void 0:paper.dataset.label]||\"standardPaper\");paperTarget&&(paperTarget.checked=!0);var realaged=document.getElementById(\"realAged\");realaged&&(realaged.checked=!!((_e=document.getElementById(\"realaged-option\"))!=null&&_e.checked));var uv=document.getElementById(\"uvInk\");uv&&(uv.checked=!!((_f=document.getElementById(\"uv-option\"))!=null&&_f.checked));var serial=document.getElementById(\"serialNumbers\");serial&&(serial.checked=!!((_g=document.getElementById(\"serial-option\"))!=null&&_g.checked));var rush=document.getElementById(\"rushService\");rush&&window.PABRushService&&(rush.checked=!!window.PABRushService.get());var denomChangeOption=root.querySelector(\"#denom-change-option\"),denomChange=document.getElementById(\"denominationChange\");denomChange&&(denomChangeOption&&(denomChange.checked=tier===\"ultimate\"||!!denomChangeOption.checked,denomChange.disabled=tier===\"ultimate\"),denomChange.dispatchEvent(new Event(\"change\",{bubbles:!0}))),syncPreviewImageField(form,(function(){var previewSrc=readMockupPreviewImageSrc(root);return previewSrc||(window.PAB&&typeof window.PAB.resolvePabPreviewImageUrl==\"function\"?window.PAB.resolvePabPreviewImageUrl(series,denomProperty):\"\")})()),typeof window.calculateTotal==\"function\"&&window.calculateTotal()}}function addedConfirmation(){return document.getElementById(\"pab-added-confirmation\")}function positionAddedConfirmation(){var confirmation=addedConfirmation();if(confirmation){var useMobileAction=window.matchMedia&&window.matchMedia(\"(max-width: 767px), (max-width: 932px) and (orientation: landscape) and (max-height: 500px)\").matches,action=document.getElementById(useMobileAction?\"mobile-cart\":\"add-cart\");action&&action.parentNode&&confirmation.nextSibling!==action&&action.parentNode.insertBefore(confirmation,action)}}function showAddedConfirmation(show){var confirmation=addedConfirmation();positionAddedConfirmation(),confirmation&&(confirmation.hidden=!show)}function defaultMockupState(){return{tier:\"premium\",stacks:2,billName:\"\",billSeries:\"New Series\",denomination:\"$100\",paper:\"signature\",finish:\"standard\",uv:!1,serials:!1,rush:!1,denomChange:!1,accessoryItems:[]}}function hasFreshBuilderRequest(){try{var params=new URLSearchParams(window.location.search);return params.get(PAB_FRESH_QUERY)===\"1\"||params.get(\"new\")===\"true\"}catch(_e){return!1}}function removeFreshBuilderQuery(){try{var url=new URL(window.location.href);url.searchParams.delete(PAB_FRESH_QUERY),url.searchParams.delete(\"new\"),window.history.replaceState(Object.assign({},window.history.state||{}),document.title,url.pathname+url.search+url.hash)}catch(_e){}}function canonicalRecompute(){var pricesReady=window.PAB&&typeof window.PAB.ensureVariantPrices==\"function\"?window.PAB.ensureVariantPrices():Promise.resolve(),accessoriesReady=window.PAB&&typeof window.PAB.ensureAccessoryPrices==\"function\"?window.PAB.ensureAccessoryPrices():Promise.resolve();return Promise.all([pricesReady,accessoriesReady]).then(function(){return window.PABMockupState&&typeof window.PABMockupState.refresh==\"function\"&&window.PABMockupState.refresh(),syncOriginalForm(),window.PAB&&typeof window.PAB.refreshConfiguratorTotal==\"function\"?window.PAB.refreshConfiguratorTotal():(typeof window.calculateTotal==\"function\"&&window.calculateTotal(),null)})}var pabEditMode={active:!1,buildId:\"\"};function setEditMode(buildId){pabEditMode={active:!0,buildId:String(buildId||\"\")},window.PABEditMode=pabEditMode,document.dispatchEvent(new CustomEvent(\"pab:edit-mode\",{detail:pabEditMode}))}function clearEditMode(){if(!pabEditMode.active){window.PABEditMode=pabEditMode;return}pabEditMode={active:!1,buildId:\"\"},window.PABEditMode=pabEditMode,document.dispatchEvent(new CustomEvent(\"pab:edit-mode\",{detail:pabEditMode}))}window.PABEditMode=pabEditMode;function resetConfiguratorForFreshBuilder(){window.PABCartEditEntry&&window.PABCartEditEntry.cancel();return clearEditMode(),window.PAB&&typeof window.PAB.clearLastAddedConfiguratorState==\"function\"&&window.PAB.clearLastAddedConfiguratorState(),showAddedConfirmation(!1),setMockupAtcState(\"idle\"),window.PABMockupState&&typeof window.PABMockupState.restore==\"function\"&&window.PABMockupState.restore(defaultMockupState()),syncOriginalForm(),removeFreshBuilderQuery(),previewStateReady(),canonicalRecompute()}var WP8_MESSAGES={cartUnavailable:\"We could not load your cart just now. Your design has not been changed.\",buildMissing:\"That design is no longer in your cart, so we have started a new one.\",retry:\"Try again\",startFresh:\"Start a new design\"},restoreSequence=0;function requestedBuildId(){try{var explicit=new URLSearchParams(window.location.search).get(\"pab_edit\");if(explicit&&explicit.trim())return{id:explicit.trim(),source:\"url\"}}catch(_e){}if(window.PAB&&typeof window.PAB.currentConfiguratorHistoryBuildId==\"function\"){var fromHistory=window.PAB.currentConfiguratorHistoryBuildId();if(fromHistory)return{id:fromHistory,source:\"history\"}}return{id:\"\",source:\"none\"}}function announceRestoreProblem(message,allowRetry){var host=document.getElementById(\"pab-restore-notice\");if(host){host.hidden=!1,host.setAttribute(\"role\",\"status\"),host.setAttribute(\"aria-live\",\"polite\"),host.innerHTML=\"\";var text=document.createElement(\"p\");if(text.className=\"pab-restore-notice__text\",text.textContent=message,host.appendChild(text),allowRetry){var retry=document.createElement(\"button\");retry.type=\"button\",retry.className=\"pab-restore-notice__action\",retry.textContent=WP8_MESSAGES.retry,retry.addEventListener(\"click\",function(){host.hidden=!0,restoreLastAddedConfiguratorState()}),host.appendChild(retry)}var fresh=document.createElement(\"button\");fresh.type=\"button\",fresh.className=\"pab-restore-notice__action\",fresh.textContent=WP8_MESSAGES.startFresh,fresh.addEventListener(\"click\",function(){host.hidden=!0,resetConfiguratorForFreshBuilder()}),host.appendChild(fresh)}}function clearRestoreNotice(){var host=document.getElementById(\"pab-restore-notice\");host&&(host.hidden=!0,host.innerHTML=\"\")}function previewStateReady(){window.PABPreviewBoot&&window.PABPreviewBoot.stateReady()}function applyBuildToBuilder(state){var rush=document.getElementById(\"rushService\");if(rush)rush.checked=!!state.spec.rush;window.PABRushService&&window.PABRushService.set(!!state.spec.rush),window.PABMockupState.restore({tier:state.spec.tier,stacks:state.spec.stacks,billName:state.spec.billName,billSeries:state.spec.billSeries,denomination:state.spec.denomination,baseBill:state.spec.baseBill,paper:state.spec.paper,finish:state.spec.finish,uv:state.spec.uv,serials:state.spec.serials,denomChange:state.spec.denomChange,accessoryItems:state.spec.accessoryItems}),window.PABCustomDenomination&&window.PABCustomDenomination.restore(state.spec.customDenomination||\"\"),window.PABBaseBill&&window.PABBaseBill.restore(state.spec.baseBill||\"\"),syncOriginalForm(),previewStateReady()}function restoreLastAddedConfiguratorState(){if(restoreInFlight)return restoreInFlight;var ticket=++restoreSequence,isCurrent=function(){return ticket===restoreSequence};var editEntry=window.PABCartEditEntry,pageCart=editEntry&&editEntry.cart;if(editEntry){editEntry.cart=null;editEntry.start(restoreLastAddedConfiguratorState);}return restoreInFlight=Promise.resolve().then(function(){if(hasFreshBuilderRequest())return resetConfiguratorForFreshBuilder();if(window.PABOccasionOffer&&typeof window.PABOccasionOffer.interceptRestore===\"function\"){var offerRun=window.PABOccasionOffer.interceptRestore({applyBuildToBuilder:applyBuildToBuilder,canonicalRecompute:canonicalRecompute,clearRestoreNotice:clearRestoreNotice,clearEditMode:clearEditMode,setEditMode:setEditMode,showAddedConfirmation:showAddedConfirmation,setMockupAtcState:setMockupAtcState,requestedBuildId:requestedBuildId});if(offerRun)return offerRun;}if(!window.PAB||typeof window.PAB.buildStateFromCart!=\"function\"||!window.PABMockupState||typeof window.PABMockupState.restore!=\"function\")return showAddedConfirmation(!1),previewStateReady(),null;var requested=requestedBuildId();return requested.id?window.PAB.buildStateFromCart(requested.id,pageCart?{cartSnapshot:pageCart}:void 0).then(function(state){return isCurrent()?state.exists?(clearRestoreNotice(),requested.source===\"url\"?setEditMode(state.buildId||requested.id):clearEditMode(),applyBuildToBuilder(state),editEntry&&(setEditContext(state),editEntry.complete(state)),canonicalRecompute().then(function(cents){return isCurrent()?(setMockupAtcState(\"idle\"),showAddedConfirmation(requested.source!==\"url\"),setEditContext(state),cents):null})):(typeof window.PAB.clearLastAddedConfiguratorState==\"function\"&&window.PAB.clearLastAddedConfiguratorState(),requested.source===\"url\"&&announceRestoreProblem(WP8_MESSAGES.buildMissing,!1),showAddedConfirmation(!1),editEntry?editEntry.fail(\"That design is no longer in your cart. Return to your cart or start a new design.\",!1):resetConfiguratorForFreshBuilder()):null}).catch(function(err){return isCurrent()&&(console.warn(\"[PAB] cart read failed during restore:\",err&&err.message),announceRestoreProblem(WP8_MESSAGES.cartUnavailable,!0),editEntry&&editEntry.fail(WP8_MESSAGES.cartUnavailable,!0),setMockupAtcState(\"idle\")),null}):(showAddedConfirmation(!1),previewStateReady(),null)}).catch(function(err){return console.error(\"[PAB mockup] navigation restore failed:\",err),editEntry&&editEntry.fail(WP8_MESSAGES.cartUnavailable,!0),setMockupAtcState(\"idle\"),null}).finally(function(){restoreInFlight=null,previewStateReady()}),restoreInFlight}function setEditContext(state){var host=document.getElementById(\"pab-edit-context\");if(host){var explicit=requestedBuildId().source===\"url\";if(host.hidden=!explicit,!!explicit){var label=host.querySelector(\"[data-pab-edit-context-label]\");if(label){var name=String(state.spec&&state.spec.billName||\"\").trim();label.textContent=name?\"Editing \\u201C\"+name+\"\\u201D\":\"Editing your saved design\"}}}}document.addEventListener(\"DOMContentLoaded\",function(){if(!window.__PAB_MOCKUP_BRIDGE_BOUND__){window.__PAB_MOCKUP_BRIDGE_BOUND__=!0;var designInput=designNameInput();designInput&&designInput.addEventListener(\"input\",function(){setMockupDesignNameError(!1)});var mainBtn=document.querySelector(\"#customOrderForm .add-to-cart-btn\");mainBtn&&new MutationObserver(syncMockupAtcFromMain).observe(mainBtn,{attributes:!0,attributeFilter:[\"class\",\"style\"],childList:!0,characterData:!0,subtree:!0});var resetButton=document.getElementById(\"reset\");resetButton&&resetButton.addEventListener(\"click\",function(){window.PAB&&typeof window.PAB.clearLastAddedConfiguratorState==\"function\"&&window.PAB.clearLastAddedConfiguratorState(),showAddedConfirmation(!1)},!0),window.addEventListener(\"pageshow\",function(event){event.persisted&&restoreLastAddedConfiguratorState()}),window.addEventListener(\"resize\",positionAddedConfirmation,{passive:!0}),positionAddedConfirmation(),window.addEventListener(\"pab:mockup-add\",function(){var billResult,form,redirected;function atcErrorEl(){var el=document.getElementById(\"pab-mockup-atc-error\"),field;if(el)return el;el=document.createElement(\"p\");el.id=\"pab-mockup-atc-error\";el.className=\"pab-atc-error\";el.setAttribute(\"role\",\"alert\");el.hidden=!0;field=document.querySelector(\"#pab-mockup-root .summary\")||document.getElementById(\"pab-mockup-root\");field&&field.insertBefore(el,field.querySelector(\"#add-cart\"));return el}function showAtcError(message){var el=atcErrorEl();if(!el)return;el.hidden=!message;el.textContent=message||\"\";if(message&&typeof el.scrollIntoView==\"function\")el.scrollIntoView({behavior:\"smooth\",block:\"center\"})}function failAdd(err){var message=err&&err.message?err.message:\"There was an error adding to cart. Please try again.\";console.error(\"[PAB mockup] add failed:\",err);setMockupAtcState(\"idle\");window.__pabMockupAddBusy=!1;showAtcError(message)}if(window.__pabMockupAddBusy||window.PAB&&typeof window.PAB.isAddInFlight==\"function\"&&window.PAB.isAddInFlight())return;billResult=validateMockupDesignName();if(!billResult.valid){setMockupDesignNameError(!0,billResult.message),scrollMockupDesignNameIntoView();return}if(window.PABCustomDenomination&&!window.PABCustomDenomination.isValid()){window.PABCustomDenomination.showError();return}window.__pabMockupAddBusy=!0;showAtcError(\"\");setMockupDesignNameError(!1);setMockupAtcState(\"adding\");syncOriginalForm();form=document.getElementById(\"customOrderForm\");if(!form){failAdd(new Error(\"Your design could not be prepared for the cart. Please refresh and try again.\"));return}(function(){var pricesReady=window.PAB&&typeof window.PAB.ensureAccessoryPrices==\"function\"?window.PAB.ensureAccessoryPrices():Promise.resolve();pricesReady.then(function(){return window.PAB&&typeof window.PAB.refreshConfiguratorTotal==\"function\"?window.PAB.refreshConfiguratorTotal():(typeof window.calculateTotal==\"function\"&&window.calculateTotal(),null)}).then(function(){if(!window.PAB||typeof window.PAB.addCustomBuildToCart!=\"function\")throw new Error(\"PAB pricing module not loaded.\");syncOriginalForm();if(window.PABEditMode&&window.PABEditMode.active&&typeof window.PAB.updateCustomBuildFromForm==\"function\")return window.PAB.updateCustomBuildFromForm(form,window.PABEditMode.buildId);return window.PAB.addCustomBuildToCart(form)}).then(function(){setMockupAtcState(\"success\");showAddedConfirmation(!0);redirected=!0;setTimeout(function(){window.location.href=\"/cart\"},600)}).catch(function(err){failAdd(err)})})()}),restoreLastAddedConfiguratorState()}})})(),(function(){var SELECTORS=\"#shopify-pc__banner, #shopify-pc__prefs\",CLASS=\"pab-consent-visible\";function onScreen(el){if(!el)return!1;if(typeof el.checkVisibility==\"function\"){if(!el.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0}))return!1}else{var cs=getComputedStyle(el);if(cs.display===\"none\"||cs.visibility===\"hidden\"||parseFloat(cs.opacity)===0)return!1}var r=el.getBoundingClientRect();return r.width>0&&r.height>0}function sync(){for(var showing=!1,nodes=document.querySelectorAll(SELECTORS),i=0;i<nodes.length;i++)if(onScreen(nodes[i])){showing=!0;break}document.body.classList.toggle(CLASS,showing)}function start(){sync(),new MutationObserver(sync).observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[\"style\",\"class\",\"hidden\",\"aria-hidden\"]}),addEventListener(\"resize\",sync),addEventListener(\"orientationchange\",sync)}document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",start):start()})(),(function(){function init(){var root=document.getElementById(\"pab-mockup-root\");return;var previewColumn=root.querySelector(\".preview-column\"),orderColumn=root.querySelector(\".order-column\"),accessories=root.querySelector(\".accessories\"),bill=root.querySelector(\"#bill-preview\");if(!previewColumn||!orderColumn||!accessories||!bill)return;root.dataset.pabStickyPreviewReady=\"true\";var spacer=document.createElement(\"div\");spacer.className=\"pab-preview-dock-spacer\",spacer.setAttribute(\"aria-hidden\",\"true\"),bill.insertAdjacentElement(\"afterend\",spacer);var queued=!1,naturalBillHeight=0;function captureNaturalSize(){if(!root.classList.contains(\"pab-preview-docked\")){var rect=bill.getBoundingClientRect();rect.height>0&&(naturalBillHeight=rect.height)}}function resetDock(){root.classList.remove(\"pab-preview-visible\"),root.classList.remove(\"pab-preview-docked\"),root.classList.remove(\"pab-preview-suppress-transition\"),spacer.style.display=\"none\",spacer.style.height=\"\"}function update(){queued=!1;var mobile=window.matchMedia(\"(max-width: 767px), (max-width: 932px) and (orientation: landscape) and (max-height: 500px)\").matches;if(!mobile){resetDock(),captureNaturalSize();return}captureNaturalSize();var currentlyDocked=root.classList.contains(\"pab-preview-docked\"),previewRect=previewColumn.getBoundingClientRect(),rootRect=root.getBoundingClientRect(),accessoriesRect=accessories.getBoundingClientRect(),shouldDock=previewRect.bottom<=10&&rootRect.bottom>0,shouldShow=shouldDock&&accessoriesRect.top>window.innerHeight;if(!shouldDock){resetDock();return}spacer.style.height=Math.ceil(naturalBillHeight||bill.getBoundingClientRect().height)+\"px\",spacer.style.display=\"block\",currentlyDocked?root.classList.toggle(\"pab-preview-visible\",shouldShow):(root.classList.remove(\"pab-preview-visible\"),shouldShow||root.classList.add(\"pab-preview-suppress-transition\"),root.classList.add(\"pab-preview-docked\"),window.requestAnimationFrame(function(){shouldShow&&root.classList.contains(\"pab-preview-docked\")&&accessories.getBoundingClientRect().top>window.innerHeight&&root.classList.add(\"pab-preview-visible\"),shouldShow||window.requestAnimationFrame(function(){root.classList.remove(\"pab-preview-suppress-transition\")})}))}function queueUpdate(){queued||(queued=!0,window.requestAnimationFrame(update))}window.addEventListener(\"scroll\",queueUpdate,{passive:!0}),window.addEventListener(\"resize\",queueUpdate,{passive:!0}),bill.addEventListener(\"load\",queueUpdate,!0),update()}document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",init,{once:!0}):init()})(),(function(){function init(){var root=document.getElementById(\"pab-mockup-root\");return;var bill=root.querySelector(\"#bill-preview\");if(!bill)return;root.dataset.pabStickyWidthReady=\"true\";function captureNaturalWidth(){if(!root.classList.contains(\"pab-preview-docked\")){var width=bill.getBoundingClientRect().width;width>0&&root.style.setProperty(\"--pab-preview-docked-width\",Math.round(width)+\"px\")}}captureNaturalWidth(),window.addEventListener(\"scroll\",captureNaturalWidth,{passive:!0}),window.addEventListener(\"resize\",captureNaturalWidth,{passive:!0})}document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",init,{once:!0}):init()})(),(function(){function init(){var root=document.getElementById(\"pab-mockup-root\");if(!root||root.dataset.pabExploreDisclosureReady===\"true\")return;var section=root.querySelector(\"section.related.wrap\");if(!section)return;var header=section.firstElementChild,grid=section.querySelector(\".related-grid\"),heading=header&&header.querySelector(\"h2\");if(!header||!grid||!heading)return;root.dataset.pabExploreDisclosureReady=\"true\",heading.id||(heading.id=\"pab-related-heading\"),grid.id=\"pab-related-links\";var toggle=document.createElement(\"button\");toggle.type=\"button\",toggle.className=\"pab-related-toggle\",toggle.setAttribute(\"aria-controls\",grid.id),toggle.setAttribute(\"aria-labelledby\",heading.id+\" pab-related-toggle-label\"),toggle.innerHTML='<span id=\"pab-related-toggle-label\">View ideas</span><span class=\"pab-related-toggle-icon\" aria-hidden=\"true\">+</span>',header.appendChild(toggle);var mobileQuery=window.matchMedia(\"(max-width: 749px)\"),wasMobile=null;function setExpanded(expanded){toggle.setAttribute(\"aria-expanded\",expanded?\"true\":\"false\"),section.classList.toggle(\"is-expanded\",expanded),grid.hidden=!expanded,toggle.querySelector(\"#pab-related-toggle-label\").textContent=expanded?\"Hide ideas\":\"View ideas\",toggle.querySelector(\".pab-related-toggle-icon\").textContent=expanded?\"\\u2212\":\"+\"}function syncMode(){var mobile=mobileQuery.matches;mobile!==wasMobile&&(wasMobile=mobile,section.classList.toggle(\"pab-related-collapsible\",mobile),toggle.hidden=!mobile,mobile?setExpanded(!1):(section.classList.remove(\"is-expanded\"),grid.hidden=!1,toggle.setAttribute(\"aria-expanded\",\"true\")))}toggle.addEventListener(\"click\",function(){mobileQuery.matches&&setExpanded(toggle.getAttribute(\"aria-expanded\")!==\"true\")}),mobileQuery.addEventListener?mobileQuery.addEventListener(\"change\",syncMode):mobileQuery.addListener(syncMode),syncMode()}document.readyState===\"loading\"?document.addEventListener(\"DOMContentLoaded\",init,{once:!0}):init()})();;(function () {\n  var earlyRoot = document.getElementById(\"pab-mockup-root\");\n  if (earlyRoot) earlyRoot.dataset.pabStickyPreviewReady = \"true\";\n\n  function initPabPremiumPreview() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabPremiumPreviewReady === \"true\") return;\n\n    var stage = root.querySelector(\".bill-stage\");\n    var bill = root.querySelector(\"#bill-preview\");\n    var featuresButton = root.querySelector(\"#compare\");\n    var featuresPanel = root.querySelector(\"#tier-features\");\n    var uvModals = document.querySelectorAll(\"#pab-mockup-uv-modal, #uvInkPreviewModal\");\n    var footer = document.querySelector(\".footer-mobile\") ||\n      document.querySelector(\".footer-mobile-section\") ||\n      document.querySelector('[role=\"contentinfo\"]') ||\n      document.querySelector(\"footer\");\n    if (!stage || !bill) return;\n\n    var CALLOUT_DIM_KEY = \"pab-callouts-dim-v1\";\n    var EYE_SVG = '<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\"><path d=\"M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z\"/><circle cx=\"12\" cy=\"12\" r=\"2.75\"/></svg><span class=\"pab-preview-callouts__tip\" aria-hidden=\"true\"></span>';\n    function readCalloutsDimmed() {\n      try { return window.sessionStorage.getItem(CALLOUT_DIM_KEY) === \"1\"; } catch (_e) { return false; }\n    }\n    function writeCalloutsDimmed(dimmed) {\n      try { window.sessionStorage.setItem(CALLOUT_DIM_KEY, dimmed ? \"1\" : \"0\"); } catch (_e) {}\n    }\n\n    root.dataset.pabStickyPreviewReady = \"true\";\n    root.dataset.pabManualPreviewReady = \"true\";\n    root.dataset.pabPremiumPreviewReady = \"true\";\n\n    root.classList.remove(\n      \"pab-preview-docked\",\n      \"pab-preview-visible\",\n      \"pab-preview-suppress-transition\",\n      \"pab-preview-user-open\",\n      \"pab-preview-tab-eligible\",\n      \"pab-preview-entering\",\n      \"pab-preview-returning\",\n      \"pab-preview-return-to-origin\",\n      \"pab-preview-return-to-tab\"\n    );\n\n    root.querySelectorAll(\".pab-preview-tab, .pab-preview-close, .pab-preview-glass, .pab-preview-utility, .pab-card-zoom\").forEach(function (node) {\n      node.remove();\n    });\n    var legacySpacer = root.querySelector(\".pab-preview-dock-spacer\");\n    if (legacySpacer) legacySpacer.remove();\n\n    var tab = document.createElement(\"button\");\n    tab.type = \"button\";\n    tab.className = \"pab-preview-tab\";\n    tab.setAttribute(\"aria-controls\", \"bill-preview\");\n    tab.setAttribute(\"aria-expanded\", \"false\");\n    tab.setAttribute(\"aria-label\", \"Open Preview\");\n    tab.innerHTML = '<span class=\"pab-preview-tab__icon\" aria-hidden=\"true\"></span><span class=\"pab-preview-tab__label\">Open Preview</span>';\n\n    var close = document.createElement(\"button\");\n    close.type = \"button\";\n    close.className = \"pab-preview-close\";\n    close.setAttribute(\"aria-label\", \"Close Preview\");\n    close.setAttribute(\"aria-hidden\", \"true\");\n    close.textContent = \"\u00D7\";\n\n    var glass = document.createElement(\"div\");\n    glass.className = \"pab-preview-glass\";\n    glass.setAttribute(\"aria-hidden\", \"true\");\n\n    var zoomLayer = bill.querySelector(\":scope > .pab-preview-zoom-layer\");\n    if (!zoomLayer) {\n      zoomLayer = document.createElement(\"div\");\n      zoomLayer.className = \"pab-preview-zoom-layer\";\n      while (bill.firstChild) zoomLayer.appendChild(bill.firstChild);\n      bill.appendChild(zoomLayer);\n    }\n\n    var utility = document.createElement(\"div\");\n    utility.className = \"pab-preview-utility\";\n    utility.setAttribute(\"aria-label\", \"Preview controls\");\n\n    var zoomControls = document.createElement(\"div\");\n    zoomControls.className = \"pab-preview-zoom\";\n    zoomControls.setAttribute(\"role\", \"group\");\n    zoomControls.setAttribute(\"aria-label\", \"Preview zoom\");\n\n    var zoomOut = document.createElement(\"button\");\n    zoomOut.type = \"button\";\n    zoomOut.className = \"pab-preview-zoom__button\";\n    zoomOut.setAttribute(\"aria-label\", \"Zoom out\");\n    zoomOut.textContent = \"\u2212\";\n\n    var zoomStatus = document.createElement(\"button\");\n    zoomStatus.type = \"button\";\n    zoomStatus.className = \"pab-preview-zoom__status\";\n    zoomStatus.setAttribute(\"aria-label\", \"Reset preview to fit\");\n    zoomStatus.setAttribute(\"aria-live\", \"polite\");\n    zoomStatus.textContent = \"1\u00D7\";\n\n    var zoomIn = document.createElement(\"button\");\n    zoomIn.type = \"button\";\n    zoomIn.className = \"pab-preview-zoom__button\";\n    zoomIn.setAttribute(\"aria-label\", \"Zoom in\");\n    zoomIn.textContent = \"+\";\n\n    zoomControls.appendChild(zoomOut);\n    zoomControls.appendChild(zoomStatus);\n    zoomControls.appendChild(zoomIn);\n\n    var calloutToggle = document.createElement(\"button\");\n    calloutToggle.type = \"button\";\n    calloutToggle.className = \"pab-preview-callouts\";\n    calloutToggle.innerHTML = EYE_SVG;\n\n    var previewLabel = root.querySelector(\".preview-label\");\n    var chromeToggle = previewLabel && previewLabel.querySelector(\".pab-preview-callouts--chrome\");\n    if (!chromeToggle) {\n      chromeToggle = document.createElement(\"button\");\n      chromeToggle.type = \"button\";\n      chromeToggle.className = \"pab-preview-callouts pab-preview-callouts--chrome\";\n      chromeToggle.innerHTML = EYE_SVG;\n      if (previewLabel) previewLabel.appendChild(chromeToggle);\n    }\n\n    var cardZoom = document.createElement(\"div\");\n    cardZoom.className = \"pab-card-zoom\";\n    cardZoom.setAttribute(\"role\", \"group\");\n    cardZoom.setAttribute(\"aria-label\", \"Preview zoom\");\n\n    var cardZoomOut = document.createElement(\"button\");\n    cardZoomOut.type = \"button\";\n    cardZoomOut.className = \"pab-card-zoom__button\";\n    cardZoomOut.setAttribute(\"aria-label\", \"Zoom out\");\n    cardZoomOut.textContent = \"\u2212\";\n\n    var cardZoomStatus = document.createElement(\"button\");\n    cardZoomStatus.type = \"button\";\n    cardZoomStatus.className = \"pab-card-zoom__status\";\n    cardZoomStatus.setAttribute(\"aria-label\", \"Reset preview to 1\u00D7\");\n    cardZoomStatus.setAttribute(\"aria-live\", \"polite\");\n    cardZoomStatus.textContent = \"1\u00D7\";\n\n    var cardZoomIn = document.createElement(\"button\");\n    cardZoomIn.type = \"button\";\n    cardZoomIn.className = \"pab-card-zoom__button\";\n    cardZoomIn.setAttribute(\"aria-label\", \"Zoom in\");\n    cardZoomIn.textContent = \"+\";\n\n    cardZoom.appendChild(cardZoomOut);\n    cardZoom.appendChild(cardZoomStatus);\n    cardZoom.appendChild(cardZoomIn);\n    var previewMeta = root.querySelector(\".preview-meta\");\n    var previewStatus = root.querySelector(\".preview-status\");\n    if (previewMeta && previewStatus) previewMeta.insertBefore(cardZoom, previewStatus);\n    else if (previewMeta) previewMeta.appendChild(cardZoom);\n\n    var viewGroup = document.createElement(\"div\");\n    viewGroup.className = \"pab-preview-view\";\n    viewGroup.setAttribute(\"role\", \"group\");\n    viewGroup.setAttribute(\"aria-label\", \"Viewing controls\");\n    viewGroup.appendChild(calloutToggle);\n    viewGroup.appendChild(zoomControls);\n    utility.appendChild(close);\n    utility.appendChild(viewGroup);\n    root.appendChild(glass);\n    stage.insertBefore(utility, bill);\n    root.appendChild(tab);\n\n    var mobileQuery = window.matchMedia(\n      \"(max-width: 1199px), (max-width: 1399px) and (orientation: landscape)\"\n    );\n    var landscapeControlsQuery = window.matchMedia(\n      \"(max-width: 767px) and (orientation: landscape) and (max-height: 500px)\"\n    );\n    var portraitQuery = window.matchMedia(\n      \"(max-width: 480px) and (orientation: portrait)\"\n    );\n    var reduceMotion = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n    var previewOpen = false;\n    var returning = false;\n    var queued = false;\n    var closeTimer = 0;\n    var originTarget = null;\n    var originRel = null;\n    var motionFrame = 0;\n    var ALIGN_PX = 8;\n    var HANDOFF_MS = 180;\n    var FAST_SCROLL_PX = 24;\n    var inlineStandin = null;\n    var handoffing = false;\n    var lastSlotBand = null;\n    var handoffScrollY = 0;\n    var handoffReady = false;\n    var seenSlotAbove = false;\n    var seenSlotBelow = false;\n    var zoomLevels = [1, 1.5, 2, 3, 4];\n    var zoomValue = 1;\n    var panX = 0;\n    var panY = 0;\n    var dragStart = null;\n    var touchStart = null;\n    var calloutsDimmed = readCalloutsDimmed();\n    var featuresAutoPreviewOpen = false;\n    var featuresAutoPreviewDismissed = false;\n\n    function syncControls(open) {\n      tab.setAttribute(\"aria-expanded\", open ? \"true\" : \"false\");\n      tab.setAttribute(\"aria-label\", \"Open Preview\");\n      tab.setAttribute(\"aria-hidden\", open ? \"true\" : \"false\");\n      var tabLabel = tab.querySelector(\".pab-preview-tab__label\");\n      if (tabLabel) tabLabel.textContent = \"Open Preview\";\n      close.setAttribute(\"aria-hidden\", open ? \"false\" : \"true\");\n    }\n\n    function clampPan() {\n      var zoom = zoomValue;\n      if (zoom <= 1) {\n        panX = 0;\n        panY = 0;\n        return;\n      }\n      var maxX = Math.max(0, (bill.clientWidth * zoom - bill.clientWidth) / 2);\n      var maxY = Math.max(0, (bill.clientHeight * zoom - bill.clientHeight) / 2);\n      panX = Math.max(-maxX, Math.min(maxX, panX));\n      panY = Math.max(-maxY, Math.min(maxY, panY));\n    }\n\n    function formatZoom(zoom) {\n      if (Math.abs(zoom - 1.5) < 0.01) return \"1\u00BD\u00D7\";\n      if (Math.abs(zoom - Math.round(zoom)) < 0.01) return Math.round(zoom) + \"\u00D7\";\n      return zoom.toFixed(1).replace(/\\.0$/, \"\") + \"\u00D7\";\n    }\n\n    function renderZoom(animate) {\n      var zoom = zoomValue;\n      clampPan();\n      zoomLayer.classList.toggle(\"pab-preview-zoom-layer--instant\", animate === false);\n      zoomLayer.style.transform = \"translate3d(\" + panX + \"px,\" + panY + \"px,0) scale(\" + zoom + \")\";\n      zoomStatus.textContent = formatZoom(zoom);\n      cardZoomStatus.textContent = formatZoom(zoom);\n      var atMin = zoom <= 1.001;\n      var atMax = zoom >= 3.999;\n      zoomOut.disabled = atMin;\n      zoomIn.disabled = atMax;\n      cardZoomOut.disabled = atMin;\n      cardZoomIn.disabled = atMax;\n      bill.classList.toggle(\"pab-preview-is-zoomed\", zoom > 1);\n      window.requestAnimationFrame(function () {\n        zoomLayer.classList.remove(\"pab-preview-zoom-layer--instant\");\n      });\n    }\n\n    function setZoom(nextZoom, animate) {\n      zoomValue = Math.max(1, Math.min(4, nextZoom));\n      if (zoomValue <= 1) {\n        panX = 0;\n        panY = 0;\n      }\n      renderZoom(animate);\n    }\n\n    function stepZoom(direction) {\n      var index = direction > 0 ? zoomLevels.length - 1 : 0;\n      if (direction > 0) {\n        for (var i = 0; i < zoomLevels.length; i += 1) {\n          if (zoomLevels[i] > zoomValue + 0.01) {\n            index = i;\n            break;\n          }\n        }\n      } else {\n        for (var j = zoomLevels.length - 1; j >= 0; j -= 1) {\n          if (zoomLevels[j] < zoomValue - 0.01) {\n            index = j;\n            break;\n          }\n        }\n      }\n      setZoom(zoomLevels[index], true);\n    }\n\n    function resetZoom() {\n      zoomValue = 1;\n      panX = 0;\n      panY = 0;\n      renderZoom(true);\n    }\n\n    function syncCallouts() {\n      root.classList.toggle(\"pab-preview-callouts-dimmed\", calloutsDimmed);\n      root.classList.remove(\"pab-preview-callouts-hidden\");\n      var label = calloutsDimmed ? \"Show callouts at full brightness\" : \"Dim callouts\";\n      var tip = calloutsDimmed ? \"Show callouts\" : \"Dim callouts\";\n      root.querySelectorAll(\".pab-preview-callouts\").forEach(function (button) {\n        button.setAttribute(\"aria-pressed\", calloutsDimmed ? \"true\" : \"false\");\n        button.setAttribute(\"aria-label\", label);\n        button.classList.toggle(\"is-off\", calloutsDimmed);\n        var tipEl = button.querySelector(\".pab-preview-callouts__tip\");\n        if (tipEl) tipEl.textContent = tip;\n      });\n    }\n\n    function toggleCalloutsDimmed() {\n      calloutsDimmed = !calloutsDimmed;\n      writeCalloutsDimmed(calloutsDimmed);\n      syncCallouts();\n    }\n\n    function zoomInteractionEnabled() {\n      return previewOpen || landscapeControlsQuery.matches || (!mobileQuery.matches && zoomValue > 1);\n    }\n\n    function clearMotionStyles() {\n      if (motionFrame) {\n        window.cancelAnimationFrame(motionFrame);\n        window.clearTimeout(motionFrame);\n        motionFrame = 0;\n      }\n      [\n        \"--pab-preview-enter-x\",\n        \"--pab-preview-enter-y\",\n        \"--pab-preview-enter-scale\",\n        \"--pab-preview-return-x\",\n        \"--pab-preview-return-y\",\n        \"--pab-preview-return-scale\",\n        \"--pab-preview-to-left\",\n        \"--pab-preview-to-top\",\n        \"--pab-preview-to-width\",\n        \"--pab-preview-to-height\",\n        \"--pab-preview-to-radius\",\n        \"--pab-preview-to-image-radius\",\n        \"--pab-preview-to-padding\",\n        \"--pab-preview-origin-stage-height\",\n        \"--pab-preview-open-height\",\n        \"--pab-preview-static-left\",\n        \"--pab-preview-static-width\",\n        \"--pab-preview-static-height\",\n        \"--pab-handoff-from-left\",\n        \"--pab-handoff-from-top\",\n        \"--pab-handoff-from-width\",\n        \"--pab-handoff-from-height\",\n        \"--pab-handoff-to-left\",\n        \"--pab-handoff-to-top\",\n        \"--pab-handoff-to-width\",\n        \"--pab-handoff-to-height\"\n      ].forEach(function (property) {\n        root.style.removeProperty(property);\n      });\n      [\"transition\", \"transform\", \"opacity\", \"filter\", \"will-change\"].forEach(function (property) {\n        bill.style.removeProperty(property);\n      });\n    }\n\n    function syncOpenGeometry() {\n      if (!previewOpen) return;\n\n      /* Layout sizes ignore transform, so the glass tray matches the full\n         front-and-back preview instead of shrinking while it animates in. */\n      var openHeight = Math.max(bill.offsetHeight, bill.scrollHeight);\n      root.style.setProperty(\"--pab-preview-open-height\", Math.ceil(openHeight) + \"px\");\n      var billRect = bill.getBoundingClientRect();\n      var billTop = Math.max(0, Math.round(billRect.top));\n      root.style.setProperty(\"--pab-preview-bill-top\", billTop + \"px\");\n      root.style.setProperty(\"--pab-preview-bill-height\", Math.round(billRect.height) + \"px\");\n    }\n\n    function finishClose(returnFocus) {\n      window.clearTimeout(closeTimer);\n      closeTimer = 0;\n      handoffing = false;\n      lastSlotBand = null;\n      handoffScrollY = 0;\n      handoffReady = false;\n      seenSlotAbove = false;\n      seenSlotBelow = false;\n      removeStandin();\n      previewOpen = false;\n      returning = false;\n      root.classList.remove(\n        \"pab-preview-user-open\",\n        \"pab-preview-docked\",\n        \"pab-preview-visible\",\n        \"pab-preview-entering\",\n        \"pab-preview-returning\",\n        \"pab-preview-return-to-origin\",\n        \"pab-preview-return-to-tab\",\n        \"pab-preview-handoff\",\n        \"pab-preview-handoff-from\"\n      );\n      clearMotionStyles();\n      resetZoom();\n      originTarget = null;\n      originRel = null;\n      var imageEl = bill.querySelector(\".bill-image\");\n      if (imageEl) imageEl.style.removeProperty(\"object-fit\");\n      featuresAutoPreviewOpen = false;\n      syncControls(false);\n      if (returnFocus && root.classList.contains(\"pab-preview-tab-eligible\")) {\n        tab.focus({ preventScroll: true });\n      }\n    }\n\n    function centerOf(rect) {\n      return {\n        x: rect.left + rect.width / 2,\n        y: rect.top + rect.height / 2\n      };\n    }\n\n    function targetFor(reason, fromRect) {\n      var targetRect = tab.getBoundingClientRect();\n      var targetCenter = centerOf(targetRect);\n      var targetWidth = targetRect.width;\n\n      if (reason === \"origin\" && originTarget) {\n        targetCenter = {\n          x: originTarget.pageX - window.scrollX,\n          y: originTarget.pageY - window.scrollY\n        };\n        targetWidth = originTarget.width;\n      } else if (reason === \"origin\") {\n        targetRect = stage.getBoundingClientRect();\n        targetCenter = centerOf(targetRect);\n        targetWidth = targetRect.width;\n      }\n\n      return {\n        x: targetCenter.x,\n        y: targetCenter.y,\n        scale: reason === \"origin\"\n          ? Math.min(1, Math.max(0.58, targetWidth / Math.max(1, fromRect.width)))\n          : 0.18\n      };\n    }\n\n    function closePremium(options) {\n      options = options || {};\n      finishClose(options.returnFocus === true);\n    }\n\n    function openPremium() {\n      if (!root.classList.contains(\"pab-preview-tab-eligible\") || returning || handoffing) return;\n\n      window.clearTimeout(closeTimer);\n      clearMotionStyles();\n      resetZoom();\n      var originBillRect = bill.getBoundingClientRect();\n      var originStageRect = stage.getBoundingClientRect();\n      var originImage = bill.querySelector(\".bill-image\");\n      originRel = {\n        left: originBillRect.left - originStageRect.left,\n        top: originBillRect.top - originStageRect.top,\n        width: originBillRect.width,\n        height: originBillRect.height,\n        radius: getComputedStyle(bill).borderRadius || \"0px\",\n        imageRadius: originImage ? (getComputedStyle(originImage).borderRadius || \"11px\") : \"11px\",\n        padding: getComputedStyle(bill).padding\n      };\n      originTarget = {\n        pageX: originBillRect.left + window.scrollX + originBillRect.width / 2,\n        pageY: originBillRect.top + window.scrollY + originBillRect.height / 2,\n        width: originBillRect.width\n      };\n      root.style.setProperty(\"--pab-preview-origin-stage-height\", originStageRect.height + \"px\");\n      root.style.setProperty(\"--pab-preview-static-left\", Math.round(originBillRect.left) + \"px\");\n      root.style.setProperty(\"--pab-preview-static-width\", Math.round(originBillRect.width) + \"px\");\n      root.style.setProperty(\"--pab-preview-static-height\", Math.round(originBillRect.height) + \"px\");\n      previewOpen = true;\n      returning = false;\n      handoffing = false;\n      lastSlotBand = null;\n      handoffScrollY = 0;\n      handoffReady = false;\n      seenSlotAbove = false;\n      seenSlotBelow = false;\n      ensureStandin();\n      syncControls(true);\n      root.classList.remove(\n        \"pab-preview-visible\",\n        \"pab-preview-returning\",\n        \"pab-preview-return-to-origin\",\n        \"pab-preview-return-to-tab\",\n        \"pab-preview-handoff\",\n        \"pab-preview-handoff-from\"\n      );\n      root.classList.add(\"pab-preview-user-open\", \"pab-preview-docked\", \"pab-preview-entering\");\n      syncOpenGeometry();\n      void bill.offsetWidth;\n      motionFrame = window.requestAnimationFrame(function () {\n        if (!previewOpen) {\n          motionFrame = 0;\n          return;\n        }\n        root.classList.add(\"pab-preview-visible\");\n        root.classList.remove(\"pab-preview-entering\");\n        motionFrame = window.requestAnimationFrame(function () {\n          motionFrame = 0;\n          if (!previewOpen) return;\n          syncOpenGeometry();\n          lastSlotBand = null;\n          seenSlotAbove = false;\n          seenSlotBelow = false;\n          handoffReady = true;\n        });\n      });\n    }\n\n    function removeStandin() {\n      if (inlineStandin && inlineStandin.parentNode) inlineStandin.parentNode.removeChild(inlineStandin);\n      inlineStandin = null;\n    }\n\n    function ensureStandin() {\n      if (inlineStandin && inlineStandin.parentNode) {\n        syncStandinArtwork();\n        return;\n      }\n      removeStandin();\n      var standin = document.createElement(\"div\");\n      standin.className = \"pab-preview-inline-standin\";\n      standin.setAttribute(\"aria-hidden\", \"true\");\n      if (originRel) {\n        standin.style.width = Math.round(originRel.width) + \"px\";\n        standin.style.height = Math.round(originRel.height) + \"px\";\n      }\n      bill.insertAdjacentElement(\"beforebegin\", standin);\n      inlineStandin = standin;\n      syncStandinArtwork();\n    }\n\n    function syncStandinArtwork() {\n      if (!inlineStandin) return;\n      var artwork = bill.querySelector(\"#bill-image, .bill-image\");\n      if (!artwork || artwork.tagName !== \"IMG\") return;\n      var img = inlineStandin.querySelector(\"img\");\n      if (!img) {\n        img = document.createElement(\"img\");\n        img.alt = \"\";\n        img.className = \"bill-image\";\n        inlineStandin.appendChild(img);\n      }\n      var nextSrc = artwork.currentSrc || artwork.src;\n      if (img.src !== nextSrc) img.src = nextSrc;\n      var cs = window.getComputedStyle(artwork);\n      img.style.objectFit = cs.objectFit || \"fill\";\n      img.style.objectPosition = cs.objectPosition || \"center\";\n      img.style.borderRadius = cs.borderRadius || \"11px\";\n    }\n\n    function copyBox(rect) {\n      return {\n        left: rect.left,\n        top: rect.top,\n        width: rect.width,\n        height: rect.height,\n        bottom: rect.bottom,\n        right: rect.right\n      };\n    }\n\n    function artworkBox(rootEl) {\n      if (!rootEl) return null;\n      var rect = rootEl.getBoundingClientRect();\n      if (rect.width > 2 && rect.height > 2) return copyBox(rect);\n      return null;\n    }\n\n    function pageSlotRect() {\n      var fromStandin = artworkBox(inlineStandin);\n      if (fromStandin) return fromStandin;\n      if (!originRel || !stage) return null;\n      var stageRect = stage.getBoundingClientRect();\n      return {\n        left: stageRect.left + originRel.left,\n        top: stageRect.top + originRel.top,\n        width: originRel.width,\n        height: originRel.height,\n        bottom: stageRect.top + originRel.top + originRel.height,\n        right: stageRect.left + originRel.left + originRel.width\n      };\n    }\n\n    function framesAligned(a, b) {\n      return Math.abs(a.top - b.top) <= ALIGN_PX &&\n        Math.abs(a.left - b.left) <= ALIGN_PX &&\n        Math.abs(a.width - b.width) <= ALIGN_PX &&\n        Math.abs(a.height - b.height) <= ALIGN_PX;\n    }\n\n    function frameBand(slot, floating) {\n      if (slot.bottom < floating.top - ALIGN_PX) return \"above\";\n      if (slot.top > floating.bottom + ALIGN_PX) return \"below\";\n      return \"near\";\n    }\n\n    function checkAlignmentHandoff() {\n      if (!previewOpen || returning) return;\n      if (handoffing) {\n        if (Math.abs((window.scrollY || 0) - handoffScrollY) > FAST_SCROLL_PX) {\n          finishClose(false);\n        }\n        return;\n      }\n      if (!handoffReady || root.classList.contains(\"pab-preview-entering\")) return;\n\n      var slot = artworkBox(inlineStandin) || pageSlotRect();\n      var floating = artworkBox(bill);\n      if (!slot || !floating) return;\n\n      if (framesAligned(slot, floating)) {\n        startImageHandoff(floating, slot);\n        return;\n      }\n\n      var band = frameBand(slot, floating);\n      if (band === \"above\") seenSlotAbove = true;\n      if (band === \"below\") seenSlotBelow = true;\n      if (seenSlotAbove && seenSlotBelow) {\n        finishClose(false);\n        return;\n      }\n      lastSlotBand = band;\n    }\n\n    function startImageHandoff(fromRect, toRect) {\n      if (handoffing || returning) return;\n      if (zoomValue > 1.001) {\n        zoomValue = 1;\n        panX = 0;\n        panY = 0;\n        renderZoom(false);\n        fromRect = artworkBox(bill) || fromRect;\n        toRect = artworkBox(inlineStandin) || toRect;\n      }\n      if (!fromRect || !toRect) {\n        finishClose(false);\n        return;\n      }\n\n      syncStandinArtwork();\n      handoffing = true;\n      handoffScrollY = window.scrollY || 0;\n      root.style.setProperty(\"--pab-handoff-from-left\", Math.round(fromRect.left) + \"px\");\n      root.style.setProperty(\"--pab-handoff-from-top\", Math.round(fromRect.top) + \"px\");\n      root.style.setProperty(\"--pab-handoff-from-width\", Math.round(fromRect.width) + \"px\");\n      root.style.setProperty(\"--pab-handoff-from-height\", Math.round(fromRect.height) + \"px\");\n      root.style.setProperty(\"--pab-handoff-to-left\", Math.round(toRect.left) + \"px\");\n      root.style.setProperty(\"--pab-handoff-to-top\", Math.round(toRect.top) + \"px\");\n      root.style.setProperty(\"--pab-handoff-to-width\", Math.round(toRect.width) + \"px\");\n      root.style.setProperty(\"--pab-handoff-to-height\", Math.round(toRect.height) + \"px\");\n      root.classList.add(\"pab-preview-handoff-from\");\n      void bill.offsetWidth;\n      root.classList.add(\"pab-preview-handoff\");\n      if (reduceMotion.matches) {\n        finishClose(false);\n        return;\n      }\n      closeTimer = window.setTimeout(function () {\n        finishClose(false);\n      }, HANDOFF_MS);\n    }\n\n    function stageIsMeaningfullyVisible() {\n      var rect = stage.getBoundingClientRect();\n      var visiblePixels =\n        Math.min(window.innerHeight, rect.bottom) - Math.max(0, rect.top);\n      return visiblePixels > Math.min(48, Math.max(24, rect.height * 0.15));\n    }\n\n    function maybeAutoOpenFeaturesPreview() {\n      var featuresOpen = !!(\n        featuresButton &&\n        featuresPanel &&\n        (featuresButton.getAttribute(\"aria-expanded\") === \"true\" ||\n          featuresPanel.classList.contains(\"open\"))\n      );\n      if (\n        !featuresOpen ||\n        !portraitQuery.matches ||\n        featuresAutoPreviewDismissed ||\n        previewOpen ||\n        returning ||\n        stageIsMeaningfullyVisible()\n      ) {\n        return;\n      }\n\n      update();\n      window.requestAnimationFrame(function () {\n        if (\n          portraitQuery.matches &&\n          !previewOpen &&\n          !returning &&\n          !stageIsMeaningfullyVisible() &&\n          root.classList.contains(\"pab-preview-tab-eligible\")\n        ) {\n          featuresAutoPreviewOpen = true;\n          openPremium();\n        }\n      });\n    }\n\n    function update() {\n      queued = false;\n      if (root.hasAttribute('data-pab-tablet-preview')) {\n        root.classList.remove('pab-preview-tab-eligible');\n        if (previewOpen || returning) finishClose(false);\n        return;\n      }\n      var uvSampleOpen = Array.prototype.some.call(uvModals, function (modal) {\n        return !modal.hidden && modal.getAttribute(\"aria-hidden\") !== \"true\";\n      });\n      if (uvSampleOpen) {\n        root.classList.remove(\"pab-preview-tab-eligible\");\n        if (previewOpen || returning) finishClose(false);\n        return;\n      }\n\n      if (!mobileQuery.matches) {\n        root.classList.remove(\"pab-preview-tab-eligible\");\n        if (previewOpen || returning) {\n          closePremium({ reason: \"tab\", returnFocus: false });\n        } else {\n          finishClose(false);\n        }\n        return;\n      }\n\n      var stageRect = stage.getBoundingClientRect();\n      var footerRect = footer ? footer.getBoundingClientRect() : null;\n      var footerUsable = !!(footerRect && footerRect.height > 1 && footerRect.width > 1);\n      var originalPreviewPassed = stageRect.bottom <= 0;\n      var footerCoverage = footerUsable\n        ? Math.max(0, (window.innerHeight - footerRect.top) / window.innerHeight)\n        : 0;\n      var footerClose = footerCoverage >= 0.1;\n      var eligible = originalPreviewPassed && !footerClose;\n\n      if (previewOpen) syncOpenGeometry();\n\n      if (previewOpen && !returning) {\n        checkAlignmentHandoff();\n        if (handoffing) return;\n        if (footerClose) {\n          closePremium({ reason: \"footer\", returnFocus: false });\n          return;\n        }\n      }\n\n      if (previewOpen || returning) return;\n\n      root.classList.toggle(\"pab-preview-tab-eligible\", eligible);\n    }\n\n    function queueUpdate() {\n      if (queued) return;\n      queued = true;\n      window.requestAnimationFrame(update);\n    }\n\n    tab.addEventListener(\"click\", function () {\n      if (previewOpen) {\n        closePremium({ reason: \"tab\", returnFocus: true });\n      } else {\n        featuresAutoPreviewOpen = false;\n        openPremium();\n      }\n    });\n    close.addEventListener(\"click\", function () {\n      if (featuresAutoPreviewOpen) featuresAutoPreviewDismissed = true;\n      closePremium({ reason: \"tab\", returnFocus: true });\n    });\n    if (featuresButton && featuresPanel) {\n      featuresButton.addEventListener(\"click\", function () {\n        window.requestAnimationFrame(function () {\n          window.requestAnimationFrame(maybeAutoOpenFeaturesPreview);\n        });\n      });\n    }\n    zoomOut.addEventListener(\"click\", function () {\n      stepZoom(-1);\n    });\n    zoomStatus.addEventListener(\"click\", function () {\n      resetZoom();\n    });\n    zoomIn.addEventListener(\"click\", function () {\n      stepZoom(1);\n    });\n    cardZoomOut.addEventListener(\"click\", function () {\n      stepZoom(-1);\n    });\n    cardZoomStatus.addEventListener(\"click\", function () {\n      resetZoom();\n    });\n    cardZoomIn.addEventListener(\"click\", function () {\n      stepZoom(1);\n    });\n    calloutToggle.addEventListener(\"click\", toggleCalloutsDimmed);\n    chromeToggle.addEventListener(\"click\", toggleCalloutsDimmed);\n    syncCallouts();\n    bill.addEventListener(\"pointerdown\", function (event) {\n      if (event.pointerType !== \"mouse\" || !zoomInteractionEnabled() || zoomValue <= 1 || event.button !== 0) return;\n      dragStart = { x: event.clientX, y: event.clientY, panX: panX, panY: panY };\n      bill.setPointerCapture(event.pointerId);\n      bill.classList.add(\"pab-preview-is-panning\");\n      event.preventDefault();\n    });\n    bill.addEventListener(\"pointermove\", function (event) {\n      if (!dragStart) return;\n      panX = dragStart.panX + event.clientX - dragStart.x;\n      panY = dragStart.panY + event.clientY - dragStart.y;\n      renderZoom(false);\n      event.preventDefault();\n    });\n    function endPan(event) {\n      if (!dragStart) return;\n      dragStart = null;\n      bill.classList.remove(\"pab-preview-is-panning\");\n      if (event && bill.hasPointerCapture && bill.hasPointerCapture(event.pointerId)) {\n        bill.releasePointerCapture(event.pointerId);\n      }\n    }\n    bill.addEventListener(\"pointerup\", endPan);\n    bill.addEventListener(\"pointercancel\", endPan);\n\n    function touchDistance(a, b) {\n      var dx = b.clientX - a.clientX;\n      var dy = b.clientY - a.clientY;\n      return Math.sqrt(dx * dx + dy * dy);\n    }\n\n    function touchCenter(a, b) {\n      return { x: (a.clientX + b.clientX) / 2, y: (a.clientY + b.clientY) / 2 };\n    }\n\n    bill.addEventListener(\"touchstart\", function (event) {\n      if (!zoomInteractionEnabled()) return;\n      if (event.touches.length >= 2) {\n        var center = touchCenter(event.touches[0], event.touches[1]);\n        touchStart = {\n          mode: \"pinch\",\n          distance: Math.max(1, touchDistance(event.touches[0], event.touches[1])),\n          zoom: zoomValue,\n          centerX: center.x,\n          centerY: center.y,\n          panX: panX,\n          panY: panY\n        };\n        bill.classList.add(\"pab-preview-is-panning\");\n        event.preventDefault();\n      } else if (event.touches.length === 1 && zoomValue > 1) {\n        touchStart = {\n          mode: \"pan\",\n          x: event.touches[0].clientX,\n          y: event.touches[0].clientY,\n          panX: panX,\n          panY: panY\n        };\n        bill.classList.add(\"pab-preview-is-panning\");\n        event.preventDefault();\n      }\n    }, { passive: false });\n\n    bill.addEventListener(\"touchmove\", function (event) {\n      if (!touchStart || !zoomInteractionEnabled()) return;\n      if (touchStart.mode === \"pinch\" && event.touches.length >= 2) {\n        var center = touchCenter(event.touches[0], event.touches[1]);\n        var nextZoom = Math.max(1, Math.min(4,\n          touchStart.zoom * touchDistance(event.touches[0], event.touches[1]) / touchStart.distance));\n        var ratio = nextZoom / touchStart.zoom;\n        panX = touchStart.panX * ratio + (center.x - touchStart.centerX);\n        panY = touchStart.panY * ratio + (center.y - touchStart.centerY);\n        zoomValue = nextZoom;\n        renderZoom(false);\n        event.preventDefault();\n      } else if (touchStart.mode === \"pan\" && event.touches.length === 1) {\n        panX = touchStart.panX + event.touches[0].clientX - touchStart.x;\n        panY = touchStart.panY + event.touches[0].clientY - touchStart.y;\n        renderZoom(false);\n        event.preventDefault();\n      }\n    }, { passive: false });\n\n    function endTouch(event) {\n      if (!touchStart) return;\n      if (event.touches && event.touches.length >= 2) return;\n      if (event.touches && event.touches.length === 1 && zoomValue > 1) {\n        touchStart = {\n          mode: \"pan\",\n          x: event.touches[0].clientX,\n          y: event.touches[0].clientY,\n          panX: panX,\n          panY: panY\n        };\n        return;\n      }\n      touchStart = null;\n      bill.classList.remove(\"pab-preview-is-panning\");\n      renderZoom(true);\n    }\n    bill.addEventListener(\"touchend\", endTouch, { passive: true });\n    bill.addEventListener(\"touchcancel\", endTouch, { passive: true });\n    document.addEventListener(\"keydown\", function (event) {\n      if (event.key === \"Escape\" && previewOpen) {\n        closePremium({ reason: \"tab\", returnFocus: true });\n      }\n    });\n    window.addEventListener(\"scroll\", function () {\n      queueUpdate();\n      checkAlignmentHandoff();\n    }, { passive: true });\n    if (window.visualViewport) {\n      window.visualViewport.addEventListener(\"scroll\", function () {\n        queueUpdate();\n        checkAlignmentHandoff();\n      }, { passive: true });\n    }\n    window.addEventListener(\"resize\", queueUpdate, { passive: true });\n    bill.addEventListener(\"load\", queueUpdate, true);\n    uvModals.forEach(function (modal) {\n      new MutationObserver(queueUpdate).observe(modal, {\n        attributes: true,\n        attributeFilter: [\"hidden\", \"aria-hidden\", \"class\"]\n      });\n    });\n    if (mobileQuery.addEventListener) {\n      mobileQuery.addEventListener(\"change\", queueUpdate);\n    } else {\n      mobileQuery.addListener(queueUpdate);\n    }\n    syncCallouts();\n    resetZoom();\n    update();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initPabPremiumPreview, { once: true });\n  } else {\n    initPabPremiumPreview();\n  }\n})();\n\n\n;(function () {\n  var SERIES = [\"New Series\", \"2000 Series\", \"1990 Series\", \"Vintage Series\"];\n  var SERIES_SHORT = {\n    \"New Series\": \"New Series\",\n    \"2000 Series\": \"2000 Series\",\n    \"1990 Series\": \"1990 Series\",\n    \"Vintage Series\": \"Vintage Series\"\n  };\n  var DENOMS = [\"1\", \"2\", \"5\", \"10\", \"20\", \"50\", \"100\", \"500\", \"1000\", \"5000\", \"10000\", \"100000\", \"1000000\"];\n  var VALID = {\n    \"New Series\": [\"5\", \"10\", \"20\", \"50\", \"100\"],\n    \"2000 Series\": [\"5\", \"10\", \"20\", \"50\", \"100\"],\n    \"1990 Series\": [\"1\", \"2\", \"5\", \"10\", \"20\", \"50\", \"100\"],\n    \"Vintage Series\": [\"500\", \"1000\", \"5000\", \"10000\", \"100000\", \"1000000\"]\n  };\n  var ASSETS = {\n    \"New Series\": {\n      \"5\": \"NS_FIVE_DOLLAR.png\",\n      \"10\": \"NS_TEN_DOLLAR.png\",\n      \"20\": \"NS_TWENTY_DOLLAR.png\",\n      \"50\": \"NS_FIFTY_DOLLAR.png\",\n      \"100\": \"NS_ONE_HUNDRED_DOLLAR.png\"\n    },\n    \"2000 Series\": {\n      \"5\": \"2000s_FIVE_DOLLAR.png\",\n      \"10\": \"2000s_TEN_DOLLAR.png\",\n      \"20\": \"2000s_TWENTY_DOLLAR.png\",\n      \"50\": \"2000s_FIFTY_DOLLAR.png\",\n      \"100\": \"2000s_ONE_HUNDRED_DOLLAR.png\"\n    },\n    \"1990 Series\": {\n      \"1\": \"90s_ONE_DOLLAR.png\",\n      \"2\": \"90s_TWO_DOLLAR.png\",\n      \"5\": \"90s_FIVE_DOLLAR.png\",\n      \"10\": \"90s_TEN_DOLLAR.png\",\n      \"20\": \"90s_TWENTY_DOLLAR.png\",\n      \"50\": \"90s_FIFTY_DOLLAR.png\",\n      \"100\": \"90s_ONE_HUNDRED_DOLLAR.png\"\n    },\n    \"Vintage Series\": {\n      \"500\": \"PAB_VTG_FIVE_HUNDRED.png\",\n      \"1000\": \"PAB_VTG_ONE_THOUSAND.png\",\n      \"5000\": \"PAB_VTG_FIVE_THOUSAND.png\",\n      \"10000\": \"PAB_VTG_TEN_THOUSAND.png\",\n      \"100000\": \"PAB_VTG_ONE_HUNDRED_THOUSAND.png\",\n      \"1000000\": \"PAB_VTG_ONE_MILLION.png\"\n    }\n  };\n\n  function defaultDenomForSeries(seriesName) {\n    return seriesName === \"Vintage Series\" ? \"500\" : \"100\";\n  }\n\n  function initPabBillAppearance() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabBillAppearanceReady === \"true\") return;\n\n    var denoms = root.querySelector(\"#denoms\");\n    var series = root.querySelector(\"#series\");\n    var customInput = root.querySelector(\"#pab-custom-denom-input\");\n    var baseBills = root.querySelector(\"#pab-base-bill\");\n    var sourceCard = denoms && denoms.closest(\".format-card\");\n    if (!denoms || !series || !customInput || !baseBills || !sourceCard) return;\n\n    var assetBase = (function () {\n      var preview = root.querySelector(\"#bill-image\");\n      var candidate = preview && (preview.currentSrc || preview.src);\n      if (candidate && candidate.indexOf(\"/assets/\") >= 0) {\n        return candidate.slice(0, candidate.indexOf(\"/assets/\") + 8);\n      }\n      var script = Array.prototype.find.call(document.scripts, function (node) {\n        return node.src && node.src.indexOf(\"/assets/pab-mockup-bridge.js\") >= 0;\n      });\n      return script ? script.src.slice(0, script.src.indexOf(\"/assets/\") + 8) : \"/cdn/shop/files/\";\n    })();\n\n    function imageUrl(seriesName, denom) {\n      var file = ASSETS[seriesName] && ASSETS[seriesName][String(denom)];\n      return file ? assetBase + file : \"\";\n    }\n\n    function selectedData(container, attribute, fallback) {\n      var selected = container.querySelector(\".selected\") ||\n        container.querySelector('[aria-pressed=\"true\"]') ||\n        container.querySelector('[aria-checked=\"true\"]');\n      return selected && selected.dataset[attribute] ? selected.dataset[attribute] : fallback;\n    }\n\n    function cleanCustomValue(value) {\n      return String(value || \"\").replace(/[^0-9]/g, \"\");\n    }\n\n    function formatCustomValue(value) {\n      var digits = cleanCustomValue(value).replace(/^0+(?=\\d)/, \"\");\n      return digits.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n    }\n\n    function readState() {\n      var printed = selectedData(denoms, \"denom\", \"100\");\n      var isCustom = printed === \"$custom\" || printed === \"custom\";\n      var selectedSeries = selectedData(series, \"series\", \"New Series\");\n      var base = selectedData(baseBills, \"baseDenom\", \"100\");\n      if (!isCustom) base = String(printed).replace(/^\\$/, \"\");\n      if (!ASSETS[selectedSeries] || !ASSETS[selectedSeries][base]) {\n        base = defaultDenomForSeries(selectedSeries);\n      }\n      return {\n        isCustom: isCustom,\n        printed: isCustom ? \"custom\" : String(printed).replace(/^\\$/, \"\"),\n        customValue: cleanCustomValue(customInput.value),\n        designDenom: base,\n        series: selectedSeries\n      };\n    }\n\n    var summary = document.createElement(\"section\");\n    summary.className = \"pab-appearance-summary\";\n    summary.setAttribute(\"aria-labelledby\", \"pab-appearance-summary-title\");\n    summary.innerHTML =\n      '<div class=\"pab-appearance-summary__copy\">' +\n        '<p class=\"pab-appearance-kicker\">Bill appearance</p>' +\n        '<h3 id=\"pab-appearance-summary-title\">Your bill at a glance</h3>' +\n        '<dl class=\"pab-appearance-summary__facts\">' +\n          '<div><dt>Printed value</dt><dd data-pab-appearance-value></dd></div>' +\n          '<div><dt>Bill design</dt><dd data-pab-appearance-design></dd></div>' +\n        '</dl>' +\n      '</div>' +\n      '<div class=\"pab-appearance-summary__visual\">' +\n        '<div class=\"pab-appearance-summary__image-shell\">' +\n          '<img data-pab-appearance-image alt=\"\" decoding=\"async\">' +\n        '</div>' +\n        '<span>Front + back preview</span>' +\n      '</div>' +\n      '<button class=\"pab-appearance-change\" type=\"button\" aria-haspopup=\"dialog\">' +\n        '<span>Change</span><span aria-hidden=\"true\">\u203A</span>' +\n      '</button>';\n\n    var modal = document.createElement(\"div\");\n    modal.className = \"pab-appearance-modal\";\n    modal.hidden = true;\n    modal.innerHTML =\n      '<div class=\"pab-appearance-modal__backdrop\" data-pab-appearance-dismiss></div>' +\n      '<section class=\"pab-appearance-dialog\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"pab-appearance-dialog-title\" tabindex=\"-1\">' +\n        '<header class=\"pab-appearance-dialog__header\">' +\n          '<div><p class=\"pab-appearance-kicker\">Bill appearance</p><h2 id=\"pab-appearance-dialog-title\">Choose what your bill looks like</h2>' +\n          '<p>First choose the value to print. Then choose the real bill design it should use.</p></div>' +\n          '<button class=\"pab-appearance-dialog__close\" type=\"button\" aria-label=\"Close without saving\" data-pab-appearance-dismiss><span aria-hidden=\"true\"></span></button>' +\n        '</header>' +\n        '<div class=\"pab-appearance-dialog__body\">' +\n          '<section class=\"pab-appearance-step\" aria-labelledby=\"pab-appearance-step-value\">' +\n            '<div class=\"pab-appearance-step__heading\"><span>1</span><div><h3 id=\"pab-appearance-step-value\">Printed value</h3><p>The number customers will see on the finished bill.</p></div></div>' +\n            '<div class=\"pab-appearance-value-grid\" role=\"group\" aria-label=\"Printed value\"></div>' +\n            '<div class=\"pab-appearance-custom-field\" hidden>' +\n              '<label for=\"pab-appearance-custom-input\">Enter your custom value</label>' +\n              '<div class=\"pab-appearance-custom-field__control\"><span aria-hidden=\"true\">$</span><input id=\"pab-appearance-custom-input\" inputmode=\"numeric\" autocomplete=\"off\" maxlength=\"15\" placeholder=\"66\"></div>' +\n              '<p>Enter numbers only. Commas are added automatically.</p><p class=\"pab-appearance-error\" role=\"alert\" hidden>Please enter a custom value.</p>' +\n            '</div>' +\n          '</section>' +\n          '<section class=\"pab-appearance-step\" aria-labelledby=\"pab-appearance-step-design\">' +\n            '<div class=\"pab-appearance-step__heading\"><span>2</span><div><h3 id=\"pab-appearance-step-design\">Bill design</h3><p data-pab-design-instruction></p></div></div>' +\n            '<div class=\"pab-appearance-series-tabs\" role=\"tablist\" aria-label=\"Bill series\"></div>' +\n            '<div class=\"pab-appearance-design-grid\" role=\"listbox\" aria-label=\"Bill designs\"></div>' +\n          '</section>' +\n        '</div>' +\n        '<footer class=\"pab-appearance-dialog__footer\">' +\n          '<div class=\"pab-appearance-selection\" aria-live=\"polite\"><span>Selected</span><strong data-pab-dialog-selection></strong></div>' +\n          '<div><button class=\"pab-appearance-cancel\" type=\"button\" data-pab-appearance-dismiss>Cancel</button><button class=\"pab-appearance-save\" type=\"button\">Use this appearance</button></div>' +\n        '</footer>' +\n      '</section>';\n\n    sourceCard.insertAdjacentElement(\"beforebegin\", summary);\n    document.body.appendChild(modal);\n    sourceCard.classList.add(\"pab-appearance-source\");\n    root.dataset.pabBillAppearanceReady = \"true\";\n\n    var changeButton = summary.querySelector(\".pab-appearance-change\");\n    var summaryValue = summary.querySelector(\"[data-pab-appearance-value]\");\n    var summaryDesign = summary.querySelector(\"[data-pab-appearance-design]\");\n    var summaryImage = summary.querySelector(\"[data-pab-appearance-image]\");\n    var dialog = modal.querySelector(\".pab-appearance-dialog\");\n    var valueGrid = modal.querySelector(\".pab-appearance-value-grid\");\n    var customField = modal.querySelector(\".pab-appearance-custom-field\");\n    var modalCustomInput = modal.querySelector(\"#pab-appearance-custom-input\");\n    var customError = modal.querySelector(\".pab-appearance-error\");\n    var tabs = modal.querySelector(\".pab-appearance-series-tabs\");\n    var gallery = modal.querySelector(\".pab-appearance-design-grid\");\n    var instruction = modal.querySelector(\"[data-pab-design-instruction]\");\n    var dialogSelection = modal.querySelector(\"[data-pab-dialog-selection]\");\n    var saveButton = modal.querySelector(\".pab-appearance-save\");\n    var lastFocus = null;\n    var draft = readState();\n    var syncQueued = false;\n\n    function printedLabel(state) {\n      if (!state.isCustom) return \"$\" + state.printed;\n      return state.customValue ? \"$\" + formatCustomValue(state.customValue) : \"Custom value\";\n    }\n\n    function designLabel(state) {\n      return \"$\" + state.designDenom + \" \u00B7 \" + SERIES_SHORT[state.series];\n    }\n\n    function syncSummary() {\n      syncQueued = false;\n      var state = readState();\n      summaryValue.textContent = printedLabel(state);\n      summaryDesign.textContent = designLabel(state);\n      summaryImage.src = imageUrl(state.series, state.designDenom);\n      summaryImage.alt = \"$\" + state.designDenom + \" \" + state.series + \" bill design, front and back\";\n    }\n\n    function queueSummarySync() {\n      if (syncQueued) return;\n      syncQueued = true;\n      window.requestAnimationFrame(syncSummary);\n    }\n\n    function renderValues() {\n      valueGrid.innerHTML = \"\";\n      DENOMS.concat([\"custom\"]).forEach(function (value) {\n        var button = document.createElement(\"button\");\n        var selected = value === \"custom\" ? draft.isCustom : !draft.isCustom && draft.printed === value;\n        button.type = \"button\";\n        button.className = \"pab-appearance-value\" + (selected ? \" is-selected\" : \"\");\n        button.dataset.value = value;\n        button.setAttribute(\"aria-pressed\", selected ? \"true\" : \"false\");\n        button.textContent = value === \"custom\" ? \"Custom\" : \"$\" + value;\n        button.addEventListener(\"click\", function () {\n          draft.isCustom = value === \"custom\";\n          if (!draft.isCustom) {\n            draft.printed = value;\n            draft.designDenom = value;\n            if (!ASSETS[draft.series] || !ASSETS[draft.series][value]) draft.designDenom = defaultDenomForSeries(draft.series);\n          }\n          customError.hidden = true;\n          renderModal();\n          if (draft.isCustom) window.setTimeout(function () { modalCustomInput.focus(); }, 80);\n        });\n        valueGrid.appendChild(button);\n      });\n    }\n\n    function renderTabs() {\n      tabs.innerHTML = \"\";\n      SERIES.forEach(function (seriesName) {\n        var available = draft.isCustom || VALID[seriesName].indexOf(draft.designDenom) >= 0;\n        if (!available) return;\n        var button = document.createElement(\"button\");\n        var selected = draft.series === seriesName;\n        button.type = \"button\";\n        button.className = selected ? \"is-selected\" : \"\";\n        button.setAttribute(\"role\", \"tab\");\n        button.setAttribute(\"aria-selected\", selected ? \"true\" : \"false\");\n        button.textContent = SERIES_SHORT[seriesName];\n        button.addEventListener(\"click\", function () {\n          draft.series = seriesName;\n          if (!draft.isCustom && VALID[seriesName].indexOf(draft.designDenom) < 0) {\n            draft.designDenom = VALID[seriesName][0];\n          }\n          renderModal();\n        });\n        tabs.appendChild(button);\n      });\n    }\n\n    function renderGallery() {\n      gallery.innerHTML = \"\";\n      var choices = draft.isCustom ? VALID[draft.series] : [draft.designDenom];\n      choices.forEach(function (denom) {\n        if (!ASSETS[draft.series] || !ASSETS[draft.series][denom]) return;\n        var button = document.createElement(\"button\");\n        var selected = draft.designDenom === denom;\n        button.type = \"button\";\n        button.className = \"pab-appearance-design\" + (selected ? \" is-selected\" : \"\");\n        button.dataset.denom = denom;\n        button.setAttribute(\"role\", \"option\");\n        button.setAttribute(\"aria-selected\", selected ? \"true\" : \"false\");\n        button.innerHTML =\n          '<span class=\"pab-appearance-design__image\"><img loading=\"lazy\" decoding=\"async\" alt=\"$' + denom + ' ' + draft.series + ' bill, front and back\"></span>' +\n          '<span class=\"pab-appearance-design__label\"><strong>$' + denom + '</strong><span>' + SERIES_SHORT[draft.series] + '</span></span>' +\n          '<span class=\"pab-appearance-design__check\" aria-hidden=\"true\"></span>';\n        button.querySelector(\"img\").src = imageUrl(draft.series, denom);\n        button.addEventListener(\"click\", function () {\n          draft.designDenom = denom;\n          renderModal();\n        });\n        gallery.appendChild(button);\n      });\n    }\n\n    function renderModal() {\n      renderValues();\n      customField.hidden = !draft.isCustom;\n      modalCustomInput.value = formatCustomValue(draft.customValue);\n      instruction.textContent = draft.isCustom\n        ? \"Choose the familiar U.S. bill layout your custom value will be printed on. Every available denomination and series is shown.\"\n        : (draft.designDenom === \"1\" || draft.designDenom === \"2\")\n          ? \"$1 and $2 bills use the 1990 Series design.\"\n          : \"Choose the series for your $\" + draft.designDenom + \" bill. The artwork below shows the actual front and back.\";\n      renderTabs();\n      renderGallery();\n      dialogSelection.textContent = printedLabel(draft) + \" printed on \" + designLabel(draft);\n    }\n\n    function openModal() {\n      draft = readState();\n      lastFocus = document.activeElement;\n      renderModal();\n      modal.hidden = false;\n      document.documentElement.classList.add(\"pab-appearance-modal-open\");\n      window.requestAnimationFrame(function () {\n        modal.classList.add(\"is-open\");\n        dialog.focus({ preventScroll: true });\n      });\n    }\n\n    function closeModal() {\n      modal.classList.remove(\"is-open\");\n      document.documentElement.classList.remove(\"pab-appearance-modal-open\");\n      window.setTimeout(function () {\n        modal.hidden = true;\n        if (lastFocus && typeof lastFocus.focus === \"function\") lastFocus.focus({ preventScroll: true });\n      }, window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? 0 : 260);\n    }\n\n    function clickUnderlying(container, selector) {\n      var target = container.querySelector(selector);\n      if (target) target.click();\n      return target;\n    }\n\n    function saveAppearance() {\n      if (draft.isCustom && !cleanCustomValue(modalCustomInput.value)) {\n        customError.hidden = false;\n        modalCustomInput.focus();\n        return;\n      }\n      draft.customValue = cleanCustomValue(modalCustomInput.value);\n      if (draft.isCustom) {\n        clickUnderlying(denoms, '[data-denom=\"$custom\"]');\n        clickUnderlying(series, '[data-series=\"' + draft.series + '\"]');\n        customInput.value = draft.customValue;\n        [\"input\", \"change\", \"blur\"].forEach(function (name) {\n          customInput.dispatchEvent(new Event(name, { bubbles: true }));\n        });\n        if (window.PABMockupState && typeof window.PABMockupState.setFormat === \"function\") {\n          window.PABMockupState.setFormat({\n            billSeries: draft.series,\n            denomination: \"Custom\",\n            baseBill: \"$\" + draft.designDenom\n          });\n        }\n        if (window.PABBaseBill && typeof window.PABBaseBill.restore === \"function\") {\n          window.PABBaseBill.restore(\"$\" + draft.designDenom);\n        }\n      } else {\n        clickUnderlying(series, '[data-series=\"' + draft.series + '\"]');\n        clickUnderlying(denoms, '[data-denom=\"' + draft.printed + '\"]');\n        if (window.PABMockupState && typeof window.PABMockupState.setFormat === \"function\") {\n          window.PABMockupState.setFormat({\n            billSeries: draft.series,\n            denomination: \"$\" + draft.printed,\n            baseBill: \"\"\n          });\n        }\n      }\n      window.requestAnimationFrame(function () {\n        queueSummarySync();\n        document.dispatchEvent(new CustomEvent(\"pab:bill-appearance-change\", { detail: readState() }));\n      });\n      closeModal();\n    }\n\n    function trapFocus(event) {\n      if (event.key === \"Escape\") {\n        event.preventDefault();\n        closeModal();\n        return;\n      }\n      if (event.key !== \"Tab\") return;\n      var focusable = Array.prototype.filter.call(\n        dialog.querySelectorAll('button:not([disabled]), input:not([disabled]), [tabindex]:not([tabindex=\"-1\"])'),\n        function (node) { return !node.hidden && node.offsetParent !== null; }\n      );\n      if (!focusable.length) return;\n      var first = focusable[0];\n      var last = focusable[focusable.length - 1];\n      if (event.shiftKey && document.activeElement === first) {\n        event.preventDefault();\n        last.focus();\n      } else if (!event.shiftKey && document.activeElement === last) {\n        event.preventDefault();\n        first.focus();\n      }\n    }\n\n    changeButton.addEventListener(\"click\", openModal);\n    modal.querySelectorAll(\"[data-pab-appearance-dismiss]\").forEach(function (button) {\n      button.addEventListener(\"click\", closeModal);\n    });\n    saveButton.addEventListener(\"click\", saveAppearance);\n    modalCustomInput.addEventListener(\"input\", function () {\n      draft.customValue = cleanCustomValue(modalCustomInput.value);\n      modalCustomInput.value = formatCustomValue(draft.customValue);\n      customError.hidden = true;\n      dialogSelection.textContent = printedLabel(draft) + \" printed on \" + designLabel(draft);\n    });\n    dialog.addEventListener(\"keydown\", trapFocus);\n\n    [denoms, series, baseBills].forEach(function (container) {\n      container.addEventListener(\"click\", queueSummarySync);\n    });\n    customInput.addEventListener(\"input\", queueSummarySync);\n    new MutationObserver(queueSummarySync).observe(sourceCard, {\n      subtree: true,\n      attributes: true,\n      attributeFilter: [\"class\", \"hidden\", \"aria-pressed\", \"aria-checked\"]\n    });\n    syncSummary();\n  }\n\n  function initPabPrintedValue() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabPrintedValueReady === \"true\") return;\n\n    var denoms = root.querySelector(\"#denoms\");\n    var series = root.querySelector(\"#series\");\n    var customEngine = root.querySelector(\"#pab-custom-denom-field\");\n    var baseBills = root.querySelector(\"#pab-base-bill\");\n    var sourceCard = denoms && denoms.closest(\".format-card\");\n    var seriesBlock = series && series.closest(\".format-block\");\n    if (!denoms || !series || !customEngine || !baseBills || !sourceCard || !seriesBlock) return;\n\n    root.querySelectorAll(\".pab-appearance-summary, .pab-appearance-modal\").forEach(function (node) {\n      node.remove();\n    });\n    sourceCard.classList.remove(\"pab-appearance-source\");\n\n    var customTile = denoms.querySelector('[data-denom=\"$custom\"], [data-denom=\"custom\"]');\n    if (!customTile) return;\n    customTile.classList.remove(\"pab-printed-value-engine-control\");\n    customTile.removeAttribute(\"aria-hidden\");\n    customTile.removeAttribute(\"tabindex\");\n    var baseBillField = root.querySelector(\"#pab-base-bill-field\") || baseBills;\n    baseBillField.classList.add(\"pab-deferred-base-bill-engine\");\n    function hideDeferredBaseBillEngine() {\n      baseBillField.hidden = true;\n      baseBillField.setAttribute(\"aria-hidden\", \"true\");\n      baseBillField.style.setProperty(\"display\", \"none\", \"important\");\n    }\n    hideDeferredBaseBillEngine();\n    new MutationObserver(function () {\n      if (!baseBillField.hidden || baseBillField.style.display !== \"none\") hideDeferredBaseBillEngine();\n    }).observe(baseBillField, { attributes: true, attributeFilter: [\"class\", \"hidden\", \"style\", \"aria-hidden\"] });\n\n    var previewAssetBase = (function () {\n      var preview = root.querySelector(\"#bill-image\");\n      var candidate = preview && (preview.currentSrc || preview.src);\n      if (candidate && candidate.indexOf(\"/assets/\") >= 0) {\n        return candidate.slice(0, candidate.indexOf(\"/assets/\") + 8);\n      }\n      var script = Array.prototype.find.call(document.scripts, function (node) {\n        return node.src && node.src.indexOf(\"/assets/pab-mockup-bridge.js\") >= 0;\n      });\n      return script ? script.src.slice(0, script.src.indexOf(\"/assets/\") + 8) : \"/cdn/shop/files/\";\n    })();\n\n    function selectedDesignImageUrl() {\n      var file = ASSETS[currentSeries()] && ASSETS[currentSeries()][String(designDenom)];\n      return file ? previewAssetBase + file : \"\";\n    }\n\n    function selectedData(container, attribute, fallback) {\n      var selected = container.querySelector(\".selected\") ||\n        container.querySelector('[aria-pressed=\"true\"]') ||\n        container.querySelector('[aria-checked=\"true\"]');\n      return selected && selected.dataset[attribute] ? selected.dataset[attribute] : fallback;\n    }\n\n    function currentSeries() {\n      return selectedData(series, \"series\", \"New Series\");\n    }\n\n    function currentTier() {\n      var selected = root.querySelector(\".tier.selected\");\n      return selected && selected.dataset.tier ? String(selected.dataset.tier).toLowerCase() : \"premium\";\n    }\n\n    function isUnderlyingCustom() {\n      var value = selectedData(denoms, \"denom\", \"100\");\n      return value === \"$custom\" || value === \"custom\";\n    }\n\n    var designDenom = isUnderlyingCustom()\n      ? String(selectedData(baseBills, \"baseDenom\", \"100\")).replace(/^\\$/, \"\")\n      : String(selectedData(denoms, \"denom\", \"100\")).replace(/^\\$/, \"\");\n    var customMode = isUnderlyingCustom();\n    var syncing = false;\n    var preservedPreviewSrc = \"\";\n    var stabilizedPreviewSrc = \"\";\n\n    var section = document.createElement(\"div\");\n    section.className = \"format-block pab-custom-denomination-notice\";\n    section.hidden = !customMode;\n    section.innerHTML =\n      '<div class=\"pab-custom-denomination-notice__head\">' +\n        '<span class=\"pab-custom-denomination-notice__icon\" aria-hidden=\"true\"><span></span></span>' +\n        '<div class=\"pab-custom-denomination-notice__copy\">' +\n          '<div class=\"format-label\">CUSTOM VALUE</div>' +\n          '<strong>Your bill, with any number.</strong>' +\n          '<p>Type the exact face value in the field above. It will appear on your cart and order. The bill design selected above stays the same.</p>' +\n        '</div>' +\n        '<span class=\"pab-custom-denomination-notice__fee\"></span>' +\n      '</div>' +\n      '<dl class=\"pab-custom-denomination-notice__details\" aria-live=\"polite\">' +\n        '<div><dt>Bill design</dt><dd data-pab-custom-design></dd></div>' +\n        '<div><dt>Exact value</dt><dd data-pab-custom-denom-notice-value>Enter above</dd></div>' +\n      '</dl>';\n    var denominationBlock = denoms.closest(\".format-block\");\n    (denominationBlock || seriesBlock).insertAdjacentElement(\"afterend\", section);\n    root.dataset.pabPrintedValueReady = \"true\";\n\n    var selection = section.querySelector(\"[data-pab-custom-design]\");\n    var fee = section.querySelector(\".pab-custom-denomination-notice__fee\");\n    var exactValue = section.querySelector(\"[data-pab-custom-denom-notice-value]\");\n    var customValueInput = root.querySelector(\"#pab-custom-denom-input\");\n\n    function syncExactValueEcho() {\n      if (!exactValue) return;\n      var value = window.PABCustomDenomination && typeof window.PABCustomDenomination.value === \"function\"\n        ? window.PABCustomDenomination.value()\n        : \"\";\n      exactValue.textContent = value || \"Enter above\";\n    }\n\n    var customDenominationPositions = [\n      [4.3, 7.2], [97.4, 7.2], [86.5, 29.7], [97.6, 43.6],\n      [4.3, 46.4], [4.3, 60.7], [88.3, 75.7], [4.3, 96.1]\n    ];\n    var customDenominationOffsets = {\n      \"New Series\": { \"1\": [1.2, -1.4], \"2\": [0.4, -0.8], \"5\": [0, -0.3], \"10\": [0.2, 0.2], \"20\": [-0.4, 0.1], \"50\": [-0.2, 0.2], \"100\": [0, 0] },\n      \"2000 Series\": { \"1\": [1.4, -1.8], \"2\": [0.8, -1.1], \"5\": [0.4, -0.7], \"10\": [0.3, -0.2], \"20\": [0.1, -0.1], \"50\": [0.2, 0.1], \"100\": [0.2, 0.2] },\n      \"1990 Series\": { \"1\": [1.4, -1.8], \"2\": [0.8, -1.1], \"5\": [-0.2, 0.4], \"10\": [-0.1, 0.4], \"20\": [-0.3, 0.5], \"50\": [-0.2, 0.4], \"100\": [-0.3, 0.3] },\n      \"Vintage Series\": { \"500\": [0, 0], \"1000\": [0, 0], \"5000\": [0, 0], \"10000\": [0, 0], \"100000\": [0, 0], \"1000000\": [0, 0] }\n    };\n\n    var customCalloutBase = {\n      \"6\": [[28.9, 7.7]], \"2\": [[44.4, 5.6]], \"4A\": [[4.4, 14.1]],\n      \"17\": [[50.1, 11.6]], \"8\": [[55.9, 17.2]], \"3A\": [[11.6, 25.7]],\n      \"9A\": [[18.5, 25.7]], \"3B\": [[73.6, 25.6]], \"9B\": [[79.9, 25.5]],\n      \"7\": [[29.1, 29.1]], \"10A\": [[7, 35.3]], \"10B\": [[5.4, 40.3]],\n      \"1A\": [[38.2, 37.4]], \"1B\": [[35.1, 44.7]], \"5\": [[70.8, 42.6]],\n      \"4B\": [[94.6, 36.7]], \"15\": [[55.4, 52.3]], \"11\": [[25.9, 58.4]],\n      \"12\": [[37, 63.7]], \"14A\": [[48.8, 85.1]], \"14B\": [[42, 91.9]],\n      \"13\": [[32.6, 94.9]]\n    };\n    var customTierCallouts = {\n      standard: [\"1A\", \"1B\", \"17\", \"11\", \"12\"],\n      premium: [\"1A\", \"1B\", \"2\", \"3A\", \"3B\", \"4A\", \"4B\", \"5\", \"6\", \"7\", \"17\", \"11\", \"12\", \"13\", \"14A\", \"14B\"],\n      ultimate: [\"6\", \"2\", \"4A\", \"4B\", \"17\", \"8\", \"3A\", \"9A\", \"3B\", \"9B\", \"7\", \"10A\", \"10B\", \"1A\", \"1B\", \"5\", \"15\", \"11\", \"12\", \"14A\", \"14B\", \"13\"]\n    };\n    var customLayoutCallouts = {\n      simple: [\"1A\", \"1B\", \"2\", \"3A\", \"3B\", \"5\", \"6\", \"7\", \"17\", \"11\", \"12\"],\n      compact: [\"1A\", \"1B\", \"2\", \"3A\", \"3B\", \"5\", \"6\", \"7\", \"17\", \"11\", \"12\", \"13\", \"14A\", \"14B\"],\n      full: Object.keys(customCalloutBase)\n    };\n\n    function appendCustomCallout(number, point, offset) {\n      var callout = document.createElement(\"span\");\n      callout.className = \"callout\";\n      callout.dataset.callout = number;\n      callout.style.left = Math.max(2, Math.min(98, point[0] + offset[0])) + \"%\";\n      callout.style.top = Math.max(2, Math.min(98, point[1] + offset[1])) + \"%\";\n      callout.textContent = currentTier() === \"premium\" && (number === \"4A\" || number === \"4B\")\n        ? \"4\"\n        : number;\n      calloutHost.appendChild(callout);\n    }\n\n    function renderCustomTierCallouts() {\n      if (!calloutHost || !isUnderlyingCustom()) return;\n      if (window.PABMockupState && typeof window.PABMockupState.refreshCallouts === 'function') {\n        window.PABMockupState.refreshCallouts();\n        return;\n      }\n      var calibrated = window.PABMockupState &&\n        typeof window.PABMockupState.getCalloutLayout === \"function\"\n        ? window.PABMockupState.getCalloutLayout(currentSeries(), designDenom)\n        : null;\n      var offset = calibrated\n        ? [0, 0]\n        : (customDenominationOffsets[currentSeries()] || {})[String(designDenom)] || [0, 0];\n      var layoutName = designDenom === \"1\" || designDenom === \"2\"\n        ? \"simple\"\n        : designDenom === \"100\" ? \"full\" : \"compact\";\n      var allowed = new Set(calibrated ? calibrated.fields : customLayoutCallouts[layoutName]);\n      var fields = customTierCallouts[currentTier()] || customTierCallouts.premium;\n      syncing = true;\n      calloutHost.innerHTML = \"\";\n      fields.filter(function (number) { return allowed.has(number); }).forEach(function (number) {\n        var source = calibrated && calibrated.positions[number]\n          ? calibrated.positions[number]\n          : customCalloutBase[number] || [[50, 50]];\n        var point = source[0];\n        appendCustomCallout(number, point, offset);\n      });\n      var denominationPositions = calibrated && calibrated.positions[\"16\"]\n        ? calibrated.positions[\"16\"]\n        : customDenominationPositions;\n      denominationPositions.forEach(function (point) {\n        appendCustomCallout(\"16\", point, offset);\n      });\n      syncing = false;\n    }\n\n    function updatePresentation() {\n      customMode = isUnderlyingCustom();\n      section.hidden = !customMode;\n      root.classList.toggle(\"pab-custom-denomination-selected\", customMode);\n      if (!customMode) return;\n      selection.textContent = \"$\" + designDenom + \" \u00B7 \" + currentSeries();\n      fee.textContent = currentTier() === \"ultimate\" ? \"Included in Ultimate\" : \"+$25 one-time\";\n      syncExactValueEcho();\n    }\n\n    function applySelectedDesignPreview(preferredSrc) {\n      if (!isUnderlyingCustom()) return;\n      var preview = root.querySelector(\"#bill-image\");\n      var inner = root.querySelector(\".bill-inner\");\n      var callouts = root.querySelector(\"#callouts\");\n      if (!preview || !inner || !callouts) return;\n\n      if (preferredSrc) stabilizedPreviewSrc = preferredSrc;\n      var previewSrc = stabilizedPreviewSrc || selectedDesignImageUrl() || preservedPreviewSrc;\n      var sourceAttribute = preview.getAttribute(\"src\") || \"\";\n      if (previewSrc && sourceAttribute !== previewSrc) preview.setAttribute(\"src\", previewSrc);\n      if (previewSrc) {\n        stabilizedPreviewSrc = previewSrc;\n        preservedPreviewSrc = previewSrc;\n      }\n      preview.style.display = \"block\";\n      preview.style.opacity = \"1\";\n      inner.classList.remove(\"custom-sample\");\n      inner.style.display = \"none\";\n      renderCustomTierCallouts();\n      updatePresentation();\n    }\n\n    function stabilizeSelectedDesignPreview(preferredSrc) {\n      if (!isUnderlyingCustom()) {\n        stabilizedPreviewSrc = \"\";\n        updatePresentation();\n        return;\n      }\n      var targetSrc = preferredSrc || stabilizedPreviewSrc || selectedDesignImageUrl() || preservedPreviewSrc;\n      if (targetSrc) stabilizedPreviewSrc = targetSrc;\n      /* The legacy control may repaint Custom synchronously, in a microtask,\n         or on the next frame. Re-assert the chosen bill at each boundary;\n         the src guard prevents a reload when the image is already correct. */\n      applySelectedDesignPreview(targetSrc);\n      Promise.resolve().then(function () { applySelectedDesignPreview(targetSrc); });\n      window.requestAnimationFrame(function () {\n        applySelectedDesignPreview(targetSrc);\n        window.requestAnimationFrame(function () { applySelectedDesignPreview(targetSrc); });\n      });\n    }\n\n    var previewImage = root.querySelector(\"#bill-image\");\n    if (previewImage) {\n      new MutationObserver(function () {\n        if (syncing || !isUnderlyingCustom()) return;\n        var expected = stabilizedPreviewSrc || selectedDesignImageUrl();\n        if (expected && (previewImage.getAttribute(\"src\") || \"\") !== expected) {\n          previewImage.setAttribute(\"src\", expected);\n          previewImage.style.display = \"block\";\n          previewImage.style.opacity = \"1\";\n          preservedPreviewSrc = expected;\n        }\n      }).observe(previewImage, { attributes: true, attributeFilter: [\"src\", \"style\"] });\n    }\n\n    var calloutHost = root.querySelector(\"#callouts\");\n    if (calloutHost) {\n      new MutationObserver(function () {\n        if (syncing || !isUnderlyingCustom() || calloutHost.children.length) return;\n        renderCustomTierCallouts();\n      }).observe(calloutHost, { childList: true });\n    }\n\n    if (customValueInput) {\n      customValueInput.addEventListener(\"input\", syncExactValueEcho);\n      customValueInput.addEventListener(\"blur\", syncExactValueEcho);\n    }\n\n    denoms.addEventListener(\"click\", function (event) {\n      var button = event.target.closest(\"button[data-denom]\");\n      if (button !== customTile) return;\n      if (previewImage) {\n        var activeSrc = previewImage.getAttribute(\"src\") || previewImage.currentSrc || previewImage.src;\n        if (activeSrc) {\n          preservedPreviewSrc = activeSrc;\n          stabilizedPreviewSrc = activeSrc;\n        }\n      }\n    }, true);\n\n    denoms.addEventListener(\"click\", function (event) {\n      var button = event.target.closest(\"button[data-denom]\");\n      if (!button || syncing) return;\n      var value = String(button.dataset.denom || \"\").replace(/^\\$/, \"\");\n      if (button !== customTile) designDenom = value;\n      stabilizeSelectedDesignPreview(button === customTile ? preservedPreviewSrc : \"\");\n    });\n\n    series.addEventListener(\"click\", function () {\n      stabilizeSelectedDesignPreview(selectedDesignImageUrl());\n    });\n\n    root.addEventListener(\"click\", function (event) {\n      if (event.target.closest(\".tier\")) stabilizeSelectedDesignPreview();\n    });\n\n    if (customMode) stabilizeSelectedDesignPreview();\n    else updatePresentation();\n  }\n\n  function initPabDesktopIncludedFeatures() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabDesktopFeaturesReady === \"true\") return;\n    var button = root.querySelector(\"#compare\");\n    var panel = root.querySelector(\"#tier-features\");\n    if (!button || !panel) return;\n    root.dataset.pabDesktopFeaturesReady = \"true\";\n\n    function revealIfClosed() {\n      if (panel.classList.contains(\"open\") || button.getAttribute(\"aria-expanded\") === \"true\") return;\n      try { if (sessionStorage.getItem(\"pab-tier-features-hidden\") === \"1\") return; } catch (_e) {}\n      button.click();\n    }\n    window.requestAnimationFrame(function () {\n      window.requestAnimationFrame(revealIfClosed);\n    });\n  }\n\n  function initPabTabletHeaderNav() {\n    if (!document.body.classList.contains(\"page-print-a-bill\")) return;\n    var nav = document.getElementById(\"site-mobile-nav\");\n    if (!nav) return;\n    function sync() {\n      if (window.matchMedia(\"(max-width: 1199px)\").matches) {\n        nav.style.removeProperty(\"pointer-events\");\n      }\n    }\n    sync();\n    window.addEventListener(\"resize\", sync);\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", function () {\n      initPabPrintedValue();\n      initPabDesktopIncludedFeatures();\n      initPabTabletHeaderNav();\n    }, { once: true });\n  } else {\n    initPabPrintedValue();\n    initPabDesktopIncludedFeatures();\n    initPabTabletHeaderNav();\n  }\n})();\n\n;(function () {\n  var EDITOR_PARAM = \"pab_callout_editor\";\n  var STORAGE_KEY = \"pab-callout-layouts-v1\";\n  var CALLOUT_IDS = [\"1A\", \"1B\", \"2\", \"3A\", \"3B\", \"4A\", \"4B\", \"5\", \"6\", \"7\", \"8\", \"9A\", \"9B\", \"10A\", \"10B\", \"11\", \"12\", \"13\", \"14A\", \"14B\", \"15\", \"16\", \"17\"];\n  var SERIES_OPTIONS = {\n    \"New Series\": [\"5\", \"10\", \"20\", \"50\", \"100\"],\n    \"2000 Series\": [\"5\", \"10\", \"20\", \"50\", \"100\"],\n    \"1990 Series\": [\"1\", \"2\", \"5\", \"10\", \"20\", \"50\", \"100\"],\n    \"Vintage Series\": [\"500\", \"1000\", \"5000\", \"10000\", \"100000\", \"1000000\"]\n  };\n\n  function initPabCalloutEditor() {\n    if (new URLSearchParams(window.location.search).get(EDITOR_PARAM) !== \"1\") return;\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabCalloutEditorReady === \"true\") return;\n    var bill = root.querySelector(\"#bill-preview\");\n    var calloutHost = root.querySelector(\"#callouts\");\n    var denoms = root.querySelector(\"#denoms\");\n    var series = root.querySelector(\"#series\");\n    if (!bill || !calloutHost || !denoms || !series) return;\n    root.dataset.pabCalloutEditorReady = \"true\";\n    root.classList.add(\"pab-callout-editing\");\n\n    var saved = loadSaved();\n    var baselineByIdentity = {};\n    var draft = null;\n    var currentIdentity = \"\";\n    var currentBaselineKey = \"\";\n    var selectedUid = \"\";\n    var renderQueued = false;\n    var identityQueued = false;\n    var addedSequence = 0;\n\n    var layer = document.createElement(\"div\");\n    layer.className = \"callouts pab-callout-editor-layer\";\n    layer.setAttribute(\"aria-label\", \"Editable callout positions\");\n    bill.appendChild(layer);\n\n    var panel = document.createElement(\"aside\");\n    panel.className = \"pab-callout-editor\";\n    panel.setAttribute(\"aria-label\", \"Callout editor\");\n    panel.innerHTML =\n      '<header class=\"pab-callout-editor__header\">' +\n        '<div><span>Private preview tool</span><h2>Callout editor</h2></div>' +\n        '<button type=\"button\" data-editor-collapse aria-label=\"Collapse callout editor\">\u2212</button>' +\n      '</header>' +\n      '<div class=\"pab-callout-editor__body\">' +\n        '<div class=\"pab-callout-editor__chrome\">' +\n          '<p class=\"pab-callout-editor__intro\">Choose a bill, then drag its numbered markers into place. Each layout is saved separately.</p>' +\n          '<div class=\"pab-callout-editor__selectors\">' +\n            '<label>Series<select data-editor-series></select></label>' +\n            '<label>Denomination<select data-editor-denom></select></label>' +\n            '<label>Preview tier<select data-editor-tier><option value=\"standard\">Standard</option><option value=\"premium\">Premium</option><option value=\"ultimate\" selected>Ultimate</option></select></label>' +\n          '</div>' +\n          '<div class=\"pab-callout-editor__selection\" data-editor-selection hidden>' +\n            '<div><span>Selected marker</span><strong data-editor-selected-label></strong></div>' +\n            '<div class=\"pab-callout-editor__coordinates\">' +\n              '<label>X <input type=\"number\" min=\"0\" max=\"100\" step=\"0.1\" data-editor-x></label>' +\n              '<label>Y <input type=\"number\" min=\"0\" max=\"100\" step=\"0.1\" data-editor-y></label>' +\n            '</div>' +\n          '</div>' +\n        '</div>' +\n        '<section class=\"pab-callout-editor__section\">' +\n          '<div class=\"pab-callout-editor__section-head\"><div><span>Markers</span><strong data-editor-count></strong></div><button type=\"button\" data-editor-enable-all>Enable all</button></div>' +\n          '<div class=\"pab-callout-editor__list\" data-editor-list></div>' +\n        '</section>' +\n        '<div class=\"pab-callout-editor__footer\">' +\n          '<section class=\"pab-callout-editor__add\">' +\n            '<label>Add a marker<select data-editor-add-select></select></label>' +\n            '<button type=\"button\" data-editor-add>Add</button>' +\n          '</section>' +\n          '<div class=\"pab-callout-editor__actions\">' +\n            '<button type=\"button\" class=\"is-primary\" data-editor-save>Save this bill</button>' +\n            '<button type=\"button\" data-editor-reset>Reset this bill</button>' +\n            '<button type=\"button\" data-editor-export>Copy all layouts</button>' +\n          '</div>' +\n          '<p class=\"pab-callout-editor__status\" data-editor-status role=\"status\">Changes are preview-only until exported.</p>' +\n          '<textarea class=\"pab-callout-editor__export\" data-editor-export-text readonly hidden aria-label=\"Exported callout layout JSON\"></textarea>' +\n        '</div>' +\n      '</div>';\n    var previewColumn = root.querySelector(\".preview-column\");\n    var orderColumn = root.querySelector(\".order-column\");\n    var configurator = root.querySelector(\".configurator\");\n    if (orderColumn) orderColumn.setAttribute(\"hidden\", \"\");\n    if (previewColumn && previewColumn.parentNode) previewColumn.after(panel);\n    else if (configurator) configurator.appendChild(panel);\n    else root.appendChild(panel);\n\n    var seriesSelect = panel.querySelector(\"[data-editor-series]\");\n    var denomSelect = panel.querySelector(\"[data-editor-denom]\");\n    var tierSelect = panel.querySelector(\"[data-editor-tier]\");\n    var list = panel.querySelector(\"[data-editor-list]\");\n    var count = panel.querySelector(\"[data-editor-count]\");\n    var addSelect = panel.querySelector(\"[data-editor-add-select]\");\n    var selectionPanel = panel.querySelector(\"[data-editor-selection]\");\n    var selectedLabel = panel.querySelector(\"[data-editor-selected-label]\");\n    var xInput = panel.querySelector(\"[data-editor-x]\");\n    var yInput = panel.querySelector(\"[data-editor-y]\");\n    var status = panel.querySelector(\"[data-editor-status]\");\n    var exportText = panel.querySelector(\"[data-editor-export-text]\");\n\n    Object.keys(SERIES_OPTIONS).forEach(function (name) {\n      var option = document.createElement(\"option\");\n      option.value = name;\n      option.textContent = name;\n      seriesSelect.appendChild(option);\n    });\n    CALLOUT_IDS.forEach(function (id) {\n      var option = document.createElement(\"option\");\n      option.value = id;\n      option.textContent = id;\n      addSelect.appendChild(option);\n    });\n\n    function loadSaved() {\n      try {\n        var value = JSON.parse(window.localStorage.getItem(STORAGE_KEY) || \"{}\");\n        return value && value.version === 1 && value.layouts ? value : { version: 1, layouts: {} };\n      } catch (error) {\n        return { version: 1, layouts: {} };\n      }\n    }\n\n    function persistSaved() {\n      try {\n        window.localStorage.setItem(STORAGE_KEY, JSON.stringify(saved));\n        return true;\n      } catch (error) {\n        setStatus(\"This browser could not store the layout. Copy the JSON before leaving.\", true);\n        return false;\n      }\n    }\n\n    function clone(value) {\n      return JSON.parse(JSON.stringify(value));\n    }\n\n    function round(value) {\n      return Math.round(Math.max(0, Math.min(100, Number(value) || 0)) * 10) / 10;\n    }\n\n    function selectedData(container, attribute, fallback) {\n      var selected = container.querySelector(\".selected\") || container.querySelector('[aria-pressed=\"true\"]');\n      return selected && selected.dataset[attribute] ? selected.dataset[attribute] : fallback;\n    }\n\n    function currentState() {\n      var seriesName = selectedData(series, \"series\", \"New Series\");\n      var rawDenom = selectedData(denoms, \"denom\", \"100\");\n      var custom = rawDenom === \"$custom\" || rawDenom === \"custom\";\n      var denom = custom\n        ? selectedData(root.querySelector(\"#pab-base-bill\") || denoms, \"baseDenom\", \"100\")\n        : rawDenom;\n      var selectedTier = root.querySelector(\".tier.selected\");\n      return {\n        series: seriesName,\n        denom: String(denom || \"100\").replace(/^\\$/, \"\"),\n        tier: selectedTier && selectedTier.dataset.tier ? String(selectedTier.dataset.tier).toLowerCase() : \"premium\"\n      };\n    }\n\n    function identityFor(state) {\n      return state.series + \" | $\" + state.denom;\n    }\n\n    function captureCoreLayout() {\n      var occurrences = {};\n      return Array.prototype.map.call(calloutHost.querySelectorAll(\".callout\"), function (node) {\n        var id = String(node.dataset.callout || node.textContent || \"\").trim();\n        occurrences[id] = (occurrences[id] || 0) + 1;\n        return {\n          uid: \"core:\" + id + \":\" + occurrences[id],\n          id: id,\n          x: round(parseFloat(node.style.left)),\n          y: round(parseFloat(node.style.top)),\n          enabled: true,\n          added: false\n        };\n      }).filter(function (item) { return item.id; });\n    }\n\n    function mergeLayout(base, override) {\n      var savedMarkers = override && override.markers;\n      if (savedMarkers && savedMarkers.length) return savedMarkers.map(clone);\n      return (base || []).map(clone);\n    }\n\n    function syncSelectors(state) {\n      seriesSelect.value = state.series;\n      denomSelect.innerHTML = \"\";\n      (SERIES_OPTIONS[state.series] || []).forEach(function (denom) {\n        var option = document.createElement(\"option\");\n        option.value = denom;\n        option.textContent = \"$\" + denom;\n        denomSelect.appendChild(option);\n      });\n      if ((SERIES_OPTIONS[state.series] || []).indexOf(state.denom) < 0) state.denom = (SERIES_OPTIONS[state.series] || [\"100\"])[0];\n      denomSelect.value = state.denom;\n      tierSelect.value = state.tier;\n    }\n\n    function switchUnderlyingBill() {\n      var seriesButton = series.querySelector('[data-series=\"' + CSS.escape(seriesSelect.value) + '\"]');\n      var denomButton = denoms.querySelector('[data-denom=\"' + CSS.escape(denomSelect.value) + '\"]');\n      var tierButton = root.querySelector('.tier[data-tier=\"' + CSS.escape(tierSelect.value) + '\"]');\n      if (seriesButton) seriesButton.click();\n      if (denomButton) denomButton.click();\n      if (tierButton) tierButton.click();\n      queueIdentityRefresh(true);\n    }\n\n    function queueIdentityRefresh(force) {\n      if (identityQueued && !force) return;\n      identityQueued = true;\n      window.requestAnimationFrame(function () {\n        window.requestAnimationFrame(function () {\n          identityQueued = false;\n          loadIdentity();\n        });\n      });\n    }\n\n    function loadIdentity() {\n      var state = currentState();\n      var identity = identityFor(state);\n      var baselineKey = identity + \" | \" + state.tier;\n      syncSelectors(state);\n      var captured = captureCoreLayout();\n      if (captured.length) baselineByIdentity[baselineKey] = captured;\n      else if (!baselineByIdentity[baselineKey]) baselineByIdentity[baselineKey] = captured;\n      currentIdentity = identity;\n      currentBaselineKey = baselineKey;\n      draft = mergeLayout(baselineByIdentity[baselineKey], saved.layouts[identity]);\n      selectedUid = \"\";\n      setStatus(saved.layouts[identity] ? \"Saved layout loaded for \" + identity + \".\" : \"Editing the current \" + identity + \" layout.\");\n      render();\n    }\n\n    function setStatus(message, isError) {\n      status.textContent = message;\n      status.classList.toggle(\"is-error\", !!isError);\n    }\n\n    function markerLabel(item, index) {\n      var siblings = draft.filter(function (other) { return other.id === item.id; });\n      if (siblings.length < 2) return item.id;\n      return item.id + \" \u00B7 \" + (siblings.indexOf(item) + 1);\n    }\n\n    function renderLayer() {\n      layer.innerHTML = \"\";\n      draft.forEach(function (item, index) {\n        if (!item.enabled) return;\n        var marker = document.createElement(\"button\");\n        marker.type = \"button\";\n        marker.className = \"callout pab-callout-editor-marker\" + (item.uid === selectedUid ? \" is-selected\" : \"\");\n        marker.dataset.callout = item.id;\n        marker.dataset.editorUid = item.uid;\n        marker.style.left = item.x + \"%\";\n        marker.style.top = item.y + \"%\";\n        marker.textContent = item.id;\n        marker.setAttribute(\"aria-label\", \"Move callout \" + markerLabel(item, index));\n        layer.appendChild(marker);\n      });\n    }\n\n    function renderList() {\n      list.innerHTML = \"\";\n      draft.forEach(function (item, index) {\n        var row = document.createElement(\"div\");\n        row.className = \"pab-callout-editor__row\" + (item.uid === selectedUid ? \" is-selected\" : \"\");\n        row.dataset.editorUid = item.uid;\n        row.innerHTML =\n          '<button type=\"button\" class=\"pab-callout-editor__row-select\"><span>' + markerLabel(item, index) + '</span><small>' + item.x.toFixed(1) + ', ' + item.y.toFixed(1) + '</small></button>' +\n          '<button type=\"button\" class=\"pab-callout-editor__toggle\" aria-pressed=\"' + (item.enabled ? \"true\" : \"false\") + '\"><span aria-hidden=\"true\"></span><em>' + (item.enabled ? \"On\" : \"Off\") + '</em></button>' +\n          (item.added ? '<button type=\"button\" class=\"pab-callout-editor__delete\" aria-label=\"Delete added callout\">\u00D7</button>' : \"\");\n        list.appendChild(row);\n      });\n      count.textContent = draft.filter(function (item) { return item.enabled; }).length + \" visible\";\n    }\n\n    function renderSelection() {\n      var item = draft.find(function (entry) { return entry.uid === selectedUid; });\n      selectionPanel.hidden = !item;\n      if (!item) return;\n      selectedLabel.textContent = item.id;\n      xInput.value = item.x.toFixed(1);\n      yInput.value = item.y.toFixed(1);\n    }\n\n    function render(options) {\n      if (!draft) return;\n      var opts = options || {};\n      var body = panel.querySelector(\".pab-callout-editor__body\");\n      var bodyTop = body ? body.scrollTop : 0;\n      var listTop = list.scrollTop;\n      renderLayer();\n      if (!opts.markersOnly) renderList();\n      if (!opts.markersOnly) renderSelection();\n      list.scrollTop = listTop;\n      if (body) body.scrollTop = bodyTop;\n    }\n\n    function queueRender() {\n      if (renderQueued) return;\n      renderQueued = true;\n      window.requestAnimationFrame(function () {\n        renderQueued = false;\n        render();\n      });\n    }\n\n    function selectMarker(uid) {\n      selectedUid = uid;\n      render();\n    }\n\n    function updateSelectedCoordinate(axis, value) {\n      var item = draft.find(function (entry) { return entry.uid === selectedUid; });\n      if (!item) return;\n      item[axis] = round(value);\n      queueRender();\n      setStatus(\"Unsaved changes for \" + currentIdentity + \".\");\n    }\n\n    function addMarker() {\n      addedSequence += 1;\n      var id = addSelect.value;\n      var item = {\n        uid: \"added:\" + id + \":\" + Date.now() + \":\" + addedSequence,\n        id: id,\n        x: 50,\n        y: 50,\n        enabled: true,\n        added: true\n      };\n      draft.push(item);\n      selectedUid = item.uid;\n      render();\n      setStatus(\"Callout \" + id + \" added at the center. Drag it into place.\");\n    }\n\n    function saveCurrent() {\n      saved.layouts[currentIdentity] = {\n        series: currentState().series,\n        denomination: currentState().denom,\n        markers: clone(draft),\n        updatedAt: new Date().toISOString()\n      };\n      if (persistSaved()) setStatus(\"Saved \" + currentIdentity + \" in this browser.\");\n    }\n\n    function resetCurrent() {\n      delete saved.layouts[currentIdentity];\n      persistSaved();\n      draft = clone(baselineByIdentity[currentBaselineKey] || captureCoreLayout());\n      selectedUid = \"\";\n      render();\n      setStatus(\"Reset \" + currentIdentity + \" to the page default.\");\n    }\n\n    async function exportLayouts() {\n      var output = JSON.stringify(saved, null, 2);\n      exportText.hidden = false;\n      exportText.value = output;\n      exportText.focus({ preventScroll: true });\n      exportText.select();\n      try {\n        await navigator.clipboard.writeText(output);\n        setStatus(\"Copied every saved layout. Send this JSON to apply it permanently.\");\n      } catch (error) {\n        setStatus(\"The export is selected below. Copy it to apply the layouts permanently.\");\n      }\n    }\n\n    function pointerPosition(event) {\n      var rect = layer.getBoundingClientRect();\n      return {\n        x: round((event.clientX - rect.left) / rect.width * 100),\n        y: round((event.clientY - rect.top) / rect.height * 100)\n      };\n    }\n\n    layer.addEventListener(\"pointerdown\", function (event) {\n      var marker = event.target.closest(\".pab-callout-editor-marker\");\n      if (!marker) return;\n      event.preventDefault();\n      var uid = marker.dataset.editorUid;\n      selectedUid = uid;\n      layer.querySelectorAll(\".pab-callout-editor-marker.is-selected\").forEach(function (node) {\n        node.classList.remove(\"is-selected\");\n      });\n      marker.classList.add(\"is-selected\");\n      renderSelection();\n      marker.setPointerCapture(event.pointerId);\n      var move = function (moveEvent) {\n        var point = pointerPosition(moveEvent);\n        var item = draft.find(function (entry) { return entry.uid === uid; });\n        if (!item) return;\n        item.x = point.x;\n        item.y = point.y;\n        marker.style.left = item.x + \"%\";\n        marker.style.top = item.y + \"%\";\n        selectedLabel.textContent = item.id;\n        selectionPanel.hidden = false;\n        xInput.value = item.x.toFixed(1);\n        yInput.value = item.y.toFixed(1);\n      };\n      var end = function () {\n        marker.removeEventListener(\"pointermove\", move);\n        marker.removeEventListener(\"pointerup\", end);\n        marker.removeEventListener(\"pointercancel\", end);\n        setStatus(\"Unsaved position change for \" + currentIdentity + \".\");\n        render();\n      };\n      marker.addEventListener(\"pointermove\", move);\n      marker.addEventListener(\"pointerup\", end);\n      marker.addEventListener(\"pointercancel\", end);\n    });\n\n    layer.addEventListener(\"keydown\", function (event) {\n      var marker = event.target.closest(\".pab-callout-editor-marker\");\n      if (!marker || [\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\"].indexOf(event.key) < 0) return;\n      event.preventDefault();\n      var item = draft.find(function (entry) { return entry.uid === marker.dataset.editorUid; });\n      if (!item) return;\n      var amount = event.shiftKey ? 1 : 0.2;\n      if (event.key === \"ArrowLeft\") item.x = round(item.x - amount);\n      if (event.key === \"ArrowRight\") item.x = round(item.x + amount);\n      if (event.key === \"ArrowUp\") item.y = round(item.y - amount);\n      if (event.key === \"ArrowDown\") item.y = round(item.y + amount);\n      selectedUid = item.uid;\n      setStatus(\"Unsaved position change for \" + currentIdentity + \".\");\n      render();\n      window.requestAnimationFrame(function () {\n        layer.querySelector('[data-editor-uid=\"' + CSS.escape(item.uid) + '\"]')?.focus();\n      });\n    });\n\n    list.addEventListener(\"click\", function (event) {\n      var row = event.target.closest(\"[data-editor-uid]\");\n      if (!row) return;\n      var item = draft.find(function (entry) { return entry.uid === row.dataset.editorUid; });\n      if (!item) return;\n      if (event.target.closest(\".pab-callout-editor__delete\")) {\n        draft = draft.filter(function (entry) { return entry.uid !== item.uid; });\n        if (selectedUid === item.uid) selectedUid = \"\";\n        setStatus(\"Added callout \" + item.id + \" removed.\");\n        render();\n        return;\n      }\n      if (event.target.closest(\".pab-callout-editor__toggle\")) {\n        item.enabled = !item.enabled;\n        var toggle = row.querySelector(\".pab-callout-editor__toggle\");\n        var label = row.querySelector(\"em\");\n        if (toggle) toggle.setAttribute(\"aria-pressed\", item.enabled ? \"true\" : \"false\");\n        if (label) label.textContent = item.enabled ? \"On\" : \"Off\";\n        count.textContent = draft.filter(function (entry) { return entry.enabled; }).length + \" visible\";\n        setStatus((item.enabled ? \"Enabled \" : \"Disabled \") + markerLabel(item) + \". Save this bill when finished.\");\n        render({ markersOnly: true });\n        return;\n      }\n      if (event.target.closest(\".pab-callout-editor__row-select\")) selectMarker(item.uid);\n    });\n\n    panel.querySelector(\"[data-editor-collapse]\").addEventListener(\"click\", function () {\n      panel.classList.toggle(\"is-collapsed\");\n      this.textContent = panel.classList.contains(\"is-collapsed\") ? \"+\" : \"\u2212\";\n      this.setAttribute(\"aria-label\", panel.classList.contains(\"is-collapsed\") ? \"Expand callout editor\" : \"Collapse callout editor\");\n    });\n    panel.querySelector(\"[data-editor-add]\").addEventListener(\"click\", addMarker);\n    panel.querySelector(\"[data-editor-save]\").addEventListener(\"click\", saveCurrent);\n    panel.querySelector(\"[data-editor-reset]\").addEventListener(\"click\", resetCurrent);\n    panel.querySelector(\"[data-editor-export]\").addEventListener(\"click\", exportLayouts);\n    panel.querySelector(\"[data-editor-enable-all]\").addEventListener(\"click\", function () {\n      draft.forEach(function (item) { item.enabled = true; });\n      setStatus(\"All markers enabled for \" + currentIdentity + \".\");\n      render();\n    });\n    seriesSelect.addEventListener(\"change\", function () {\n      var allowed = SERIES_OPTIONS[seriesSelect.value] || [];\n      denomSelect.innerHTML = \"\";\n      allowed.forEach(function (denom) {\n        var option = document.createElement(\"option\");\n        option.value = denom;\n        option.textContent = \"$\" + denom;\n        denomSelect.appendChild(option);\n      });\n      if (allowed.indexOf(currentState().denom) >= 0) denomSelect.value = currentState().denom;\n      switchUnderlyingBill();\n    });\n    denomSelect.addEventListener(\"change\", switchUnderlyingBill);\n    tierSelect.addEventListener(\"change\", switchUnderlyingBill);\n    xInput.addEventListener(\"change\", function () { updateSelectedCoordinate(\"x\", xInput.value); });\n    yInput.addEventListener(\"change\", function () { updateSelectedCoordinate(\"y\", yInput.value); });\n\n    root.addEventListener(\"click\", function (event) {\n      if (event.target.closest(\".tier, #denoms [data-denom], #series [data-series]\")) queueIdentityRefresh();\n    });\n    new MutationObserver(function () {\n      if (document.activeElement && panel.contains(document.activeElement)) return;\n      if (!identityQueued) queueIdentityRefresh();\n    }).observe(calloutHost, { childList: true });\n\n    tierSelect.value = \"ultimate\";\n    var ultimateButton = root.querySelector('.tier[data-tier=\"ultimate\"]');\n    if (ultimateButton) ultimateButton.click();\n    loadIdentity();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initPabCalloutEditor, { once: true });\n  } else {\n    initPabCalloutEditor();\n  }\n})();\n;(function () {\n  function initPabEntireBillSync() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabEntireBillSyncReady === \"true\") return;\n    var panel = root.querySelector(\"#tier-features\");\n    var callouts = root.querySelector(\"#callouts\");\n    if (!panel || !callouts) return;\n    root.dataset.pabEntireBillSyncReady = \"true\";\n\n    var busy = false;\n    var queued = false;\n    var nestEntireQuery = window.matchMedia(\n      \"(min-width: 933px), (orientation: landscape) and (max-height: 500px)\"\n    );\n    var denominationPoints = [\n      [4.3, 7.2], [97.4, 7.2], [86.5, 29.7], [97.6, 43.6],\n      [4.3, 46.4], [4.3, 60.7], [88.3, 75.7], [4.3, 96.1]\n    ];\n\n    function tier() {\n      var selected = root.querySelector(\".tier.selected\");\n      return selected && selected.dataset.tier ? selected.dataset.tier.toLowerCase() : \"premium\";\n    }\n\n    function customSelected() {\n      var selected = root.querySelector(\"#denoms .selected\");\n      var value = selected && selected.dataset.denom;\n      return value === \"$custom\" || value === \"custom\";\n    }\n\n    function featureRow(number, label) {\n      var row = document.createElement(\"p\");\n      var marker = document.createElement(\"span\");\n      var copy = document.createElement(\"span\");\n      marker.className = \"feature-callout\";\n      marker.dataset.callout = number;\n      marker.tabIndex = 0;\n      marker.setAttribute(\"role\", \"button\");\n      marker.setAttribute(\"aria-label\", \"Highlight callout \" + number);\n      marker.textContent = number;\n      copy.textContent = label;\n      row.appendChild(marker);\n      row.appendChild(copy);\n      return row;\n    }\n\n    function syncFeaturePanel() {\n      var columns = panel.querySelector(\".feature-columns\");\n      if (!columns) return;\n\n      function findColumn(label) {\n        return Array.prototype.find.call(columns.children, function (column) {\n          var heading = column.querySelector(\"small\");\n          return heading && heading.textContent.trim().toUpperCase() === label;\n        });\n      }\n\n      function calloutNumbers(group) {\n        return group ? Array.prototype.map.call(\n          group.querySelectorAll(\".feature-callout\"),\n          function (node) { return node.dataset.callout; }\n        ).filter(function (number) {\n          return number === \"15\" || number === \"16\";\n        }) : [];\n      }\n\n      var selectedTier = tier();\n      var isCustom = customSelected();\n      var back = findColumn(\"BACK\");\n      var entire = findColumn(\"ENTIRE BILL\");\n      var nestedEntire = back ? back.querySelector(\".pab-entire-bill-under-back\") : null;\n      var wanted = [];\n      if (selectedTier === \"ultimate\") wanted.push(\"15\", \"16\");\n      else if (isCustom) wanted.push(\"16\");\n\n      var wantsNestedEntire = wanted.length > 0 && Boolean(back) && nestEntireQuery.matches;\n      var target = wantsNestedEntire ? nestedEntire : entire;\n      var opposite = wantsNestedEntire ? entire : nestedEntire;\n      var actual = calloutNumbers(target);\n      var oldBackRow = back ? back.querySelector(\".pab-custom-denomination-back-row\") : null;\n      if (oldBackRow) oldBackRow.remove();\n\n      if (\n        !oldBackRow &&\n        !opposite &&\n        actual.join(\",\") === wanted.join(\",\") &&\n        (wanted.length === 0 ? !target : Boolean(target))\n      ) return;\n\n      if (entire) entire.remove();\n      if (nestedEntire) nestedEntire.remove();\n      if (!wanted.length) {\n        return;\n      }\n\n      var group = document.createElement(\"div\");\n      if (wantsNestedEntire) group.className = \"pab-entire-bill-under-back\";\n      var heading = document.createElement(\"small\");\n      heading.textContent = \"ENTIRE BILL\";\n      group.appendChild(heading);\n      if (wanted.indexOf(\"15\") >= 0) group.appendChild(featureRow(\"15\", \"Custom Background or Color\"));\n      if (wanted.indexOf(\"16\") >= 0) group.appendChild(featureRow(\"16\", \"Custom Denomination\"));\n      (wantsNestedEntire ? back : columns).appendChild(group);\n    }\n    function callout(number, point) {\n      var node = document.createElement(\"span\");\n      node.className = \"callout\";\n      node.dataset.callout = number;\n      node.style.left = point[0] + \"%\";\n      node.style.top = point[1] + \"%\";\n      node.textContent = number;\n      callouts.appendChild(node);\n    }\n\n    function syncEntireBillCallouts() {\n      return;\n    }\n\n    function reconcile() {\n      queued = false;\n      if (busy) return;\n      busy = true;\n      syncFeaturePanel();\n      syncEntireBillCallouts();\n      busy = false;\n    }\n\n    function queueReconcile() {\n      if (queued) return;\n      queued = true;\n      window.requestAnimationFrame(reconcile);\n    }\n\n    root.addEventListener(\"click\", function (event) {\n      if (event.target.closest(\".tier, #denoms [data-denom], #series [data-series]\")) queueReconcile();\n    });\n    if (nestEntireQuery.addEventListener) {\n      nestEntireQuery.addEventListener(\"change\", queueReconcile);\n    } else {\n      nestEntireQuery.addListener(queueReconcile);\n    }\n    new MutationObserver(function () {\n      if (!busy) queueReconcile();\n    }).observe(panel, { childList: true, subtree: true });\n    new MutationObserver(function () {\n      if (!busy) queueReconcile();\n    }).observe(callouts, { childList: true });\n    queueReconcile();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initPabEntireBillSync, { once: true });\n  } else {\n    initPabEntireBillSync();\n  }\n})();\n\n(function () {\n  function initPabSeriesFieldSync() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabSeriesFieldSyncReady === \"true\") return;\n\n    root.dataset.pabSeriesFieldSyncReady = \"true\";\n\n    var legacySeriesValues = {\n      \"New Series\": \"new\",\n      \"2000 Series\": \"2000\",\n      \"1990 Series\": \"1990\"\n    };\n\n    function updateField(field, value) {\n      if (!field || field.value === value) return;\n      field.value = value;\n      field.dispatchEvent(new Event(\"input\", { bubbles: true }));\n      field.dispatchEvent(new Event(\"change\", { bubbles: true }));\n    }\n\n    function syncSelectedBill() {\n      var selectedSeries = root.querySelector(\"#series [data-series].selected\");\n      var selectedDenomination = root.querySelector(\"#denoms [data-denom].selected\");\n      var series = selectedSeries\n        ? String(selectedSeries.dataset.series || \"\")\n        : \"New Series\";\n      var denomination = selectedDenomination\n        ? String(selectedDenomination.dataset.denom || \"\")\n        : \"\";\n      var denominationProperty =\n        denomination === \"$custom\" || denomination === \"custom\"\n          ? \"Custom\"\n          : \"$\" + denomination.replace(/^\\$/, \"\");\n\n      updateField(document.getElementById(\"billSeriesField\"), series);\n      if (denomination) {\n        updateField(\n          document.getElementById(\"billDenominationField\"),\n          denominationProperty\n        );\n      }\n\n      // Keep the legacy selector aligned where it has a matching option, but\n      // never dispatch its old change handler: it predates Vintage Series.\n      var legacySeries = document.getElementById(\"billSeriesSelect\");\n      if (legacySeries) {\n        legacySeries.dataset.pabSelectedSeries = series;\n        if (legacySeriesValues[series]) {\n          legacySeries.value = legacySeriesValues[series];\n        }\n      }\n    }\n\n    root.addEventListener(\"click\", function (event) {\n      if (\n        event.target.closest(\n          \"#series [data-series], #denoms [data-denom]\"\n        )\n      ) {\n        requestAnimationFrame(function () {\n          requestAnimationFrame(syncSelectedBill);\n        });\n      }\n    });\n\n    [\"#series\", \"#denoms\"].forEach(function (selector) {\n      var node = root.querySelector(selector);\n      if (!node) return;\n      new MutationObserver(syncSelectedBill).observe(node, {\n        attributes: true,\n        subtree: true,\n        attributeFilter: [\"class\", \"aria-pressed\", \"hidden\"]\n      });\n    });\n\n    syncSelectedBill();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initPabSeriesFieldSync, {\n      once: true\n    });\n  } else {\n    initPabSeriesFieldSync();\n  }\n})();\n\n;(function () {\n  function initPabMobileAtcSuppression() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabAtcSuppressionReady === \"true\") return;\n\n    var bar = root.querySelector(\".mobile-bar\");\n    var footer = document.querySelector(\".footer-mobile\") ||\n      document.querySelector(\".footer-mobile-section\") ||\n      document.querySelector('[role=\"contentinfo\"]') ||\n      document.querySelector(\"footer\");\n    var quantityInput = root.querySelector(\"#qty\");\n    var quantitySection = quantityInput ? quantityInput.closest(\".config-section\") : null;\n    var designNameInput = root.querySelector(\"#design-name\");\n    if (!bar) return;\n\n    var totalLabel = bar.querySelector(\"small\");\n    if (totalLabel) {\n      totalLabel.textContent = \"EST. TOTAL \u00B7 FREE FEDEX\";\n      totalLabel.setAttribute(\n        \"aria-label\",\n        \"Estimated total. Tax excluded. Free FedEx shipping after final design approval and printing.\"\n      );\n    }\n\n    root.dataset.pabAtcSuppressionReady = \"true\";\n    var atcActivated = false;\n    var footerVisible = false;\n    var queued = false;\n\n    function activateAtQuantity() {\n      if (atcActivated) return;\n      if (!quantitySection) {\n        atcActivated = true;\n      } else {\n        var rect = quantitySection.getBoundingClientRect();\n        atcActivated = rect.top < window.innerHeight;\n      }\n      if (atcActivated) bar.classList.add(\"pab-atc-persistent\");\n    }\n\n    function modalOpen() {\n      return document.documentElement.classList.contains(\"pab-modal-open\") ||\n        document.documentElement.classList.contains(\"pab-appearance-modal-open\") ||\n        document.body.classList.contains(\"pab-modal-open\") ||\n        document.body.classList.contains(\"pab-mockup-modal-open\") ||\n        !!document.querySelector(\n          \"#pab-mockup-root .modal.show, \" +\n          \"#pab-mockup-root .pab-mockup-modal:not([hidden]), \" +\n          \".pab-appearance-modal.is-open\"\n        );\n    }\n\n    function nameEntryActive() {\n      return !!(designNameInput && document.activeElement === designNameInput);\n    }\n\n    function shouldSuppress() {\n      return footerVisible || modalOpen() || nameEntryActive();\n    }\n\n    function measureFooter() {\n      if (!footer) {\n        footerVisible = false;\n        return;\n      }\n      var rect = footer.getBoundingClientRect();\n      footerVisible = rect.top < window.innerHeight && rect.bottom > 0;\n    }\n\n    function sync() {\n      queued = false;\n      activateAtQuantity();\n      measureFooter();\n      bar.classList.toggle(\"pab-atc-suppressed\", shouldSuppress());\n    }\n\n    function queueSync() {\n      if (queued) return;\n      queued = true;\n      window.requestAnimationFrame(sync);\n    }\n\n    if (footer && \"IntersectionObserver\" in window) {\n      new IntersectionObserver(function (entries) {\n        footerVisible = entries.some(function (entry) {\n          return entry.isIntersecting;\n        });\n        bar.classList.toggle(\"pab-atc-suppressed\", shouldSuppress());\n      }, { threshold: 0 }).observe(footer);\n    }\n\n    if (designNameInput) {\n      designNameInput.addEventListener(\"focus\", queueSync);\n      designNameInput.addEventListener(\"blur\", queueSync);\n    }\n\n    new MutationObserver(queueSync).observe(document.documentElement, {\n      attributes: true,\n      childList: true,\n      subtree: true,\n      attributeFilter: [\"class\", \"hidden\", \"aria-hidden\"]\n    });\n    window.addEventListener(\"scroll\", queueSync, { passive: true });\n    window.addEventListener(\"resize\", queueSync, { passive: true });\n    window.addEventListener(\"orientationchange\", queueSync, { passive: true });\n    sync();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initPabMobileAtcSuppression, {\n      once: true\n    });\n  } else {\n    initPabMobileAtcSuppression();\n  }\n})();\n\n;(function () {\n  function initPabFeatureCalloutToggle() {\n    var root = document.getElementById(\"pab-mockup-root\");\n    if (!root || root.dataset.pabFeatureCalloutToggleReady === \"true\") return;\n\n    root.dataset.pabFeatureCalloutToggleReady = \"true\";\n    var activeNumber = null;\n    var tapSelectionQuery = window.matchMedia(\n      \"(max-width: 767px), (max-width: 1199px) and (orientation: landscape)\"\n    );\n\n    function featurePills() {\n      return root.querySelectorAll(\".feature-callout[data-callout]\");\n    }\n\n    function billCallouts() {\n      return root.querySelectorAll(\".callout[data-callout]\");\n    }\n\n    function linkedBillIds(number) {\n      return number === \"4\" ? [\"4\", \"4A\", \"4B\"] : [number];\n    }\n\n    function billCalloutMatches(callout, number) {\n      return linkedBillIds(number).indexOf(callout.dataset.callout) >= 0;\n    }\n\n    function highlightTargetsExist(number) {\n      if (!root.querySelector('.feature-callout[data-callout=\"' + number + '\"]')) return false;\n      return linkedBillIds(number).some(function (id) {\n        return root.querySelector('.callout[data-callout=\"' + id + '\"]');\n      });\n    }\n\n    function syncPills() {\n      featurePills().forEach(function (pill) {\n        var selected = !!activeNumber && pill.dataset.callout === activeNumber;\n        pill.classList.toggle(\"is-active\", selected);\n        pill.setAttribute(\"aria-pressed\", selected ? \"true\" : \"false\");\n        pill.setAttribute(\n          \"aria-label\",\n          (selected ? \"Clear callout \" : \"Highlight callout \") + pill.dataset.callout\n        );\n      });\n    }\n\n    function clearHighlight(focusedPill) {\n      var pillToBlur = focusedPill;\n      if (\n        !pillToBlur &&\n        document.activeElement &&\n        document.activeElement.matches(\".feature-callout[data-callout]\")\n      ) {\n        pillToBlur = document.activeElement;\n      }\n      activeNumber = null;\n      root.classList.remove(\"callout-guide-active\");\n      billCallouts().forEach(function (callout) {\n        callout.classList.remove(\"callout-highlight\");\n      });\n      syncPills();\n      if (pillToBlur && document.activeElement === pillToBlur) {\n        pillToBlur.blur();\n      }\n    }\n\n    function selectHighlight(number) {\n      activeNumber = number;\n      root.classList.add(\"callout-guide-active\");\n      billCallouts().forEach(function (callout) {\n        callout.classList.toggle(\n          \"callout-highlight\",\n          billCalloutMatches(callout, activeNumber)\n        );\n      });\n      syncPills();\n    }\n\n    function togglePill(pill) {\n      var number = pill.dataset.callout;\n      if (activeNumber === number) {\n        clearHighlight(pill);\n      } else {\n        selectHighlight(number);\n      }\n    }\n\n    root.addEventListener(\"click\", function (event) {\n      var pill = event.target.closest(\".feature-callout[data-callout]\");\n      if (!pill || !root.contains(pill)) return;\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      if (!tapSelectionQuery.matches) {\n        clearHighlight(pill);\n        return;\n      }\n      togglePill(pill);\n    }, true);\n\n    document.addEventListener(\"click\", function (event) {\n      if (\n        !tapSelectionQuery.matches ||\n        !activeNumber ||\n        (event.target.closest &&\n          event.target.closest(\".feature-callout[data-callout]\"))\n      ) {\n        return;\n      }\n      clearHighlight();\n    }, true);\n\n    root.addEventListener(\"keydown\", function (event) {\n      var pill = event.target.closest(\".feature-callout[data-callout]\");\n      if (!pill || !root.contains(pill) || (event.key !== \"Enter\" && event.key !== \" \")) return;\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      if (!tapSelectionQuery.matches) {\n        clearHighlight(pill);\n        return;\n      }\n      togglePill(pill);\n    }, true);\n\n    function syncInteractionMode() {\n      if (!tapSelectionQuery.matches) clearHighlight();\n    }\n\n    if (typeof tapSelectionQuery.addEventListener === \"function\") {\n      tapSelectionQuery.addEventListener(\"change\", syncInteractionMode);\n    } else {\n      tapSelectionQuery.addListener(syncInteractionMode);\n    }\n\n    new MutationObserver(function () {\n      if (activeNumber && !highlightTargetsExist(activeNumber)) {\n        clearHighlight();\n      } else {\n        syncPills();\n      }\n    }).observe(root, { childList: true, subtree: true });\n\n    syncPills();\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initPabFeatureCalloutToggle, {\n      once: true\n    });\n  } else {\n    initPabFeatureCalloutToggle();\n  }\n})();\n\n;(function loadPabGuidedMode() {\n  var source = Array.prototype.find.call(document.scripts, function (node) {\n    return node.src && node.src.indexOf(\"pab-mockup-bridge.js\") >= 0;\n  });\n  if (!source || document.querySelector('script[src*=\"pab-guided-mode.js\"]')) return;\n  var guided = document.createElement(\"script\");\n  guided.src = source.src.replace(\"pab-mockup-bridge.js\", \"pab-guided-mode.js\");\n  guided.defer = true;\n  source.after(guided);\n})();\n\n//# sourceMappingURL=/cdn/shop/t/137/assets/pab-mockup-bridge.js.map?v=79198213069564296451786906786\n\n\n"],
  "mappings": "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",
  "names": ["heading", "group"]
}
