.w-tplpg{--tpl-card-min:240px;--tf-r-control:10px;--tf-r-panel:12px;--tf-r-card:16px;--tf-r-pill:999px;--tf-tiny:11px;--tf-micro:12px;--tf-small:13px;--tf-body:14px;--tf-lead:15px;--tf-sub:17px;--tf-title:24px;--tf-display:32px;--tf-hero:44px;--tf-page:1344px;--tf-gutter:48px;--tf-card:304px;--tf-gap:20px;--tf-thumb:150px;--tf-search:360px;--tf-field:48px;--tf-action:44px;--tf-chip:36px;flex:1 1;min-width:0;min-height:0;display:grid;grid-template-columns:min(100%,var(--tf-page,1344px));justify-content:center;align-content:start;padding:26px var(--tf-gutter,48px) 40px;background:var(--page);overflow-y:auto;font-family:var(--body);animation:wtplpg .16s ease-out}@keyframes wtplpg{0%{opacity:0}to{opacity:1}}.w-tplpg-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:14px 28px;gap:14px 28px;margin-bottom:20px}.w-tplpg-head .w-tplpg-back{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 12px 0 9px;background:var(--card);border:1px solid var(--line);border-radius:var(--tf-r-control,10px);box-shadow:var(--sh-sm);font-size:var(--tf-small,13px);font-weight:550;color:var(--text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.w-tplpg-head .w-tplpg-back svg{width:15px;height:15px;flex-shrink:0;color:var(--text-3);transition:.15s}.w-tplpg-head .w-tplpg-back:hover{background:var(--card);border-color:var(--line-3);color:var(--accent-3)}.w-tplpg-head .w-tplpg-back:hover svg{color:var(--accent-3);transform:translateX(-1px)}.w-tplpg-head .w-tplpg-back:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}.w-tflowhead{grid-column:1;display:flex;flex-direction:column;gap:8px;min-width:0}.w-tflowhead p{font-size:var(--tf-small,13px);font-weight:600;letter-spacing:.04em;color:var(--text-3)}.w-tflowhead h1{margin:0;font-size:var(--tf-hero,44px);line-height:1.05;font-weight:700;letter-spacing:-.02em;color:var(--text)}.w-tflowhead p[data-sub]{font-size:var(--tf-sub,17px);font-weight:400;letter-spacing:0;line-height:1.45;color:var(--text-2)}.w-tflowsearch{grid-column:2;justify-self:end;position:relative;width:var(--tf-search,360px);max-width:100%}.w-tflowsearch svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-3);pointer-events:none}.w-tplpg-search{width:100%;height:var(--tf-field,48px);padding:0 16px 0 44px;background:var(--card);border:1px solid var(--line-3);border-radius:var(--tf-r-panel,12px);font-family:inherit;font-size:var(--tf-lead,15px);color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.w-tplpg-search::placeholder{color:var(--text-4)}.w-tplpg-search:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--line-3))}.w-tplpg-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.w-tplpg-search::-webkit-search-cancel-button{cursor:pointer}.w-tflowfilters{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-bottom:12px}.w-tflowfilters fieldset{display:flex;align-items:center;gap:4px;min-width:0;margin:0;padding:4px;background:var(--sunken);border:1px solid var(--line-2);border-radius:var(--tf-r-panel,12px)}.w-tflowfilters legend{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.w-tflowchip{position:relative;display:inline-flex;align-items:center;gap:7px;height:var(--tf-chip,36px);padding:0 16px;border-radius:calc(var(--tf-r-panel,12px) - 3px);font-size:var(--tf-body,14px);font-weight:500;color:var(--text-2);white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.w-tflowchip input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.w-tflowchip:hover{color:var(--text)}.w-tflowchip:has(input:focus-visible){outline:2px solid var(--accent-3);outline-offset:1px}.w-tflowchip input:focus-visible{outline:2px solid var(--accent-3);outline-offset:-1px;border-radius:inherit}.w-tflowchip[data-on]{background:var(--card);color:var(--text);box-shadow:var(--sh-sm)}.w-tflowchip b{font-family:var(--mono);font-size:var(--tf-micro,12px);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-3)}.w-tflowchip[data-on] b{color:var(--accent-3)}.w-tflowfilters>[role=status]{margin-left:auto;font-size:var(--tf-body,14px);font-weight:500;color:var(--text-2);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.w-tplpg-cats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.w-tplpg-cat{height:var(--tf-chip,36px);padding:0 14px;background:var(--card);border:1px solid var(--line-3);border-radius:var(--tf-r-pill,999px);font-family:inherit;font-size:13.5px;font-weight:500;color:var(--text-2);white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.w-tplpg-cat:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));color:var(--text)}.w-tplpg-cat:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}.w-tplpg-cat[aria-pressed=true]{font-weight:600}.w-tplpg-cat[aria-pressed=true],.w-tplpg-cat[aria-pressed=true]:hover{background:var(--text);border-color:var(--text);color:var(--card)}.w-tflownotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--tf-gap,20px);gap:var(--tf-gap,20px);margin-bottom:28px}.w-tflownote{display:flex;align-items:flex-start;gap:14px;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh-sm)}.w-tflownote>b{flex-shrink:0;display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--tf-r-pill,999px);font-family:var(--mono);font-size:var(--tf-small,13px);font-weight:600;white-space:nowrap}.w-tflownote>b[data-tone=free]{background:var(--ok-soft);color:var(--ok-ink)}.w-tflownote>b[data-tone=standard]{background:var(--accent-soft);color:var(--accent-soft-ink)}.w-tflownote>b[data-tone=complex]{background:var(--warn-soft);color:var(--warn-ink)}.w-tflownote>p{margin:0;min-width:0;font-size:var(--tf-body,14px);line-height:1.5;color:var(--text-2)}.w-tflownote>p b{font-weight:650;color:var(--text)}.w-tplpg-note{margin:0 0 18px;max-width:92ch;font-size:var(--tf-small,13px);line-height:1.55;color:var(--text-3)}.w-tplpg-note b{font-weight:650;color:var(--text-2)}.w-tplpg>.w-cart{margin:0 0 16px}.w-tplpg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,max(var(--tpl-card-min,240px),var(--tf-card,304px))),1fr));grid-gap:var(--tf-gap,20px);gap:var(--tf-gap,20px);align-content:start}.w-tplpg-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--tf-r-card,16px);box-shadow:var(--sh-sm);overflow:hidden;text-align:left;font-family:var(--body);color:var(--text-2);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.w-tplpg-card:focus-within,.w-tplpg-card:hover{border-color:var(--accent-3);box-shadow:var(--sh-lg);transform:translateY(-2px)}.w-tplpg-card:active{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.w-tplpg-card,.w-tplpg-card:focus-within,.w-tplpg-card:hover{transform:none;transition:border-color .2s ease,box-shadow .2s ease}}.w-tplpg-thumb{aspect-ratio:var(--tpl-thumb-ratio,1.6);border-bottom:1px solid var(--line)}.w-tplpg-shot{position:relative;display:block;width:100%}.w-tplpg-thumbhit{position:absolute;inset:0;padding:0;border:0;background:transparent;cursor:pointer}.w-tplpg-thumbhit:disabled{cursor:not-allowed}.w-tplpg-thumb:after{content:"";position:absolute;inset:0;pointer-events:none;background:transparent;transition:background-color .15s ease}.w-tplpg-card:focus-within .w-tplpg-thumb:after,.w-tplpg-card:hover .w-tplpg-thumb:after{background:color-mix(in srgb,var(--accent) 14%,transparent)}.w-tplpg-meta{display:flex;flex-direction:column;gap:7px;flex:1 1 auto;min-width:0;padding:18px 20px 4px}.w-tplpg-tags{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:8px;min-width:0;font-size:var(--tf-tiny,11px);line-height:1.45}.w-tplpg-tags>span:not([class]){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-3)}.w-tplpg-level{--tf-b1:var(--text-3);--tf-b2:var(--line-3);--tf-b3:var(--line-3);display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:var(--tf-tiny,11px);font-weight:600;letter-spacing:.01em;color:var(--text-2);white-space:nowrap}.w-tplpg-level:before{content:"";flex:0 0 14px;width:14px;height:12px;background:linear-gradient(var(--tf-b1) 0 0) 0 100%/4px 6px no-repeat,linear-gradient(var(--tf-b2) 0 0) 5px 100%/4px 9px no-repeat,linear-gradient(var(--tf-b3) 0 0) 10px 100%/4px 12px no-repeat}.w-tplpg-level[data-level=core]{--tf-b2:var(--text-3)}.w-tplpg-level[data-level=deep]{--tf-b2:var(--text-3);--tf-b3:var(--text-3);color:var(--text)}.w-tplpg-title{font-size:var(--tf-sub,17px);line-height:1.3;font-weight:600;letter-spacing:-.005em;color:var(--text)}.w-tplpg-blurb,.w-tplpg-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.w-tplpg-blurb{font-size:var(--tf-body,14px);line-height:1.5;color:var(--text-2)}.w-tplpg-card[data-standing=locked] .w-tplpg-thumb{opacity:.62;filter:saturate(.55);transition:opacity .15s ease,filter .15s ease}.w-tplpg-card[data-standing=locked]:focus-within .w-tplpg-thumb,.w-tplpg-card[data-standing=locked]:hover .w-tplpg-thumb{opacity:.82;filter:saturate(.85)}.w-tplpg-lock{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--tf-r-pill,999px);background:color-mix(in srgb,var(--card) 90%,transparent);border:1px solid var(--line-2);box-shadow:var(--sh-sm);color:var(--text-2);pointer-events:none}.w-tplpg-lock svg{width:14px;height:14px}.w-tplpg-mark{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:var(--tf-r-pill,999px);box-shadow:var(--sh-sm);font-family:var(--mono);font-size:var(--tf-micro,12px);font-weight:600;letter-spacing:0;white-space:nowrap;pointer-events:none}.w-tplpg-mark[data-standing=owned]{background:var(--ok-soft);color:var(--ok-ink)}.w-tplpg-mark[data-standing=locked]{background:var(--accent-soft);color:var(--accent-soft-ink)}.w-tplpg-card[data-premium] .w-tplpg-mark[data-standing=locked]{background:var(--warn-soft);color:var(--warn-ink)}.w-tflowfree{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:var(--tf-r-pill,999px);box-shadow:var(--sh-sm);background:var(--ok-soft);color:var(--ok-ink);font-family:var(--mono);font-size:var(--tf-micro,12px);font-weight:600;white-space:nowrap;pointer-events:none}.w-tplpg-acts{display:flex;align-items:center;gap:8px;margin-top:auto;padding:10px 20px 20px}.w-tplpg-acts button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--tf-action,44px);padding:0 14px;background:var(--card);border:1px solid var(--line-3);border-radius:11px;font-family:inherit;font-size:var(--tf-body,14px);font-weight:600;color:var(--text);white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.w-tplpg-acts button:hover{background:var(--hover);border-color:var(--line-3)}.w-tplpg-acts button:focus-visible{outline:2px solid var(--accent-3);outline-offset:2px}.w-tplpg-acts button:disabled{opacity:.5;cursor:not-allowed}.w-tplpg-acts button:disabled:hover{background:var(--card)}.w-tplpg-acts>button:only-child{flex:1 1 auto}.w-tplpg-acts button[data-cart]{flex:1 1 auto;background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.w-tplpg-acts button[data-cart] svg{width:16px;height:16px;flex-shrink:0}.w-tplpg-acts button[data-cart] b{font-family:var(--mono);font-weight:600;color:color-mix(in srgb,var(--accent-ink) 78%,transparent)}.w-tplpg-acts button[data-cart]:hover{background:var(--accent-2);border-color:var(--accent-2);color:var(--accent-2-ink)}.w-tplpg-acts button[data-cart]:focus-visible{outline-color:var(--accent-3)}.w-tplpg-acts button[data-cart]:disabled:hover{background:var(--accent);border-color:var(--accent)}.w-tplpg-acts button[data-cart][aria-pressed=true]{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent-soft-ink)}.w-tplpg-acts button[data-cart][aria-pressed=true]:hover{background:var(--accent-soft-2);border-color:color-mix(in srgb,var(--accent) 62%,transparent);color:var(--accent-soft-ink)}.w-tplpg-acts button[data-cart][aria-pressed=true]:disabled:hover{background:var(--accent-soft)}.w-tplpg-acts button[data-buy]{flex:0 0 auto;color:var(--accent-3);border-color:color-mix(in srgb,var(--accent) 30%,var(--line-3))}.w-tplpg-acts button[data-buy]:hover{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent-soft-ink)}.w-tplpg-acts button[data-buy]:focus-visible{outline-color:var(--accent-3)}.w-tplpg-acts button[data-buy]:disabled:hover{background:var(--card)}.w-tplpg-acts button[data-danger]{color:var(--danger-ink)}.w-tplpg-acts button[data-danger]:hover{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 40%,transparent);color:var(--danger-ink)}.w-tplpg-acts button[data-danger]:focus-visible{outline-color:var(--danger)}.w-tplpg-acts button[data-danger]:disabled:hover{background:var(--card);color:var(--danger-ink)}.w-tplpg-confirm{margin-top:auto;padding:12px 14px 14px;background:var(--danger-soft);border-top:1px solid color-mix(in srgb,var(--danger) 26%,transparent)}.w-tplpg-confirm p{font-size:var(--tf-micro,12px);line-height:1.55;color:var(--danger-ink)}.w-tplpg-confirm b{font-weight:650}.w-tplpg-confirm .w-tplpg-acts{margin-top:10px;padding:0}.w-tplpg-card.danger,.w-tplpg-card.danger:focus-within,.w-tplpg-card.danger:hover{border-color:var(--danger)}.w-tplpg-card.busy{opacity:.72;pointer-events:none}.w-tplpg-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:52px 24px;background:var(--card);border:1px dashed var(--line-3);border-radius:var(--tf-r-card,16px);text-align:center}.w-tplpg-empty>:first-child{font-size:var(--tf-lead,15px);font-weight:650;line-height:1.4;color:var(--text)}.w-tplpg-empty>p{max-width:60ch;font-size:var(--tf-body,14px);line-height:1.55;color:var(--text-2)}.w-tplpg-empty>p+p{font-size:var(--tf-small,13px);color:var(--text-3)}.w-tplpg-empty .w-tplpg-acts{margin-top:10px;padding:0;justify-content:center}.w-tplpg-empty .w-tplpg-acts button{height:38px;padding:0 18px}.w-tplpg>.w-hint{margin-top:18px;max-width:90ch;font-size:var(--tf-micro,12px);line-height:1.6;color:var(--text-2)}@media (max-width:980px){.w-tflownotes{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:22px}}@media (max-width:720px){.w-tplpg{padding:18px 16px 28px}.w-tplpg-head{grid-template-columns:minmax(0,1fr);gap:12px}.w-tflowhead{grid-column:1}.w-tflowsearch{grid-column:1;justify-self:stretch;width:auto}.w-tflowhead h1{font-size:calc(var(--tf-hero,44px) * .68)}.w-tflowhead p[data-sub]{font-size:var(--tf-lead,15px)}.w-tflowfilters{gap:8px 12px}.w-tflowfilters>[role=status]{margin-left:0}.w-tplpg-acts{flex-wrap:wrap}.w-tplpg-acts button[data-buy]{flex:1 1 auto}}