.shop-tint-silver{--tint:#77848f;--tint-soft:#a9b4bd}.shop-tint-amber{--tint:#c27e0f;--tint-soft:#e0a94a}.shop-tint-crimson{--tint:#c0334a;--tint-soft:#e07587}.shop-tint-violet{--tint:#8760cf;--tint-soft:#ad92e3}.shop-tint-moss{--tint:#4f9a45;--tint-soft:#86c07c}.shop-tint-ice{--tint:#3a9bcc;--tint-soft:#82c4e4}.shop-stroke{stroke:var(--tint)}.shop-stroke-soft{stroke:var(--tint-soft)}.shop-fill{fill:var(--tint)}.shop-glyph-hole{fill:var(--card,#fff)}.shop-glow{filter:drop-shadow(0 0 2.5px var(--tint))}.shop-framed{flex:none;display:inline-flex;position:relative}.shop-ring{pointer-events:none;width:114%;height:114%;position:absolute;inset:-7%;overflow:visible}.shop-flair{vertical-align:-.12em;color:var(--tint);flex:none;margin-inline-start:.3em}.shop-name{flex-direction:column;min-width:0;display:inline-flex}.shop-name-line{align-items:center;min-width:0;display:inline-flex}.shop-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.shop-title{color:var(--text-muted-portal,var(--text-muted));letter-spacing:.02em;font-size:.78em;font-style:italic}@media (prefers-reduced-motion:no-preference){.shop-ember{animation:3.2s ease-in-out infinite shop-flicker}}@keyframes shop-flicker{0%,to{opacity:.35}50%{opacity:1}}.pts-page,.shop-page{gap:1.5rem;width:100%;max-width:880px;margin-inline:auto;display:grid}.pts-note{border:1px solid var(--line);background:var(--card-soft);color:var(--text-portal);border-radius:12px;margin:0;padding:.5rem .75rem;font-size:.875rem}.pts-empty{color:var(--text-muted-portal);margin:0;padding:1rem 0;font-size:.9rem}.pts-meta{color:var(--text-muted-portal);font-size:.8125rem}.pts-foot{text-align:center;color:var(--text-muted-portal);margin:0;padding-top:.5rem;font-size:.75rem}.pts-foot a{color:inherit;text-underline-offset:2px;text-decoration:underline}.pts-glyph{flex:none}.pts-page :focus-visible,.shop-page :focus-visible{outline:3px solid var(--focus);outline-offset:2px}.pts-hero{isolation:isolate;border:1px solid var(--line);background:radial-gradient(120% 140% at 0% 0%, color-mix(in srgb, var(--books-solid) 16%, transparent), transparent 60%), radial-gradient(110% 140% at 100% 100%, color-mix(in srgb, var(--primary-fill) 14%, transparent), transparent 62%), var(--card);box-shadow:var(--shadow-card);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;padding:1.75rem 1.5rem;display:flex;position:relative;overflow:hidden}.pts-hero-main{gap:.25rem;min-width:0;display:grid}.pts-hero-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted-portal);margin:0;font-size:.75rem;font-weight:600}.pts-balance{letter-spacing:-.04em;color:var(--text-portal);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(2.75rem,9vw,4rem);font-weight:700;line-height:1}.pts-sub-line{color:var(--text-muted-portal);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem}.pts-hero-cta{flex:none}.pts-tabs{border:1px solid var(--line);background:var(--card-soft);border-radius:99px;gap:.25rem;width:fit-content;padding:.25rem;display:flex}.pts-tab{min-height:40px;color:var(--text-muted-portal);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:99px;padding:.25rem 1.25rem;font-size:.9rem;font-weight:600;transition:background-color .16s,color .16s}.pts-tab:hover{color:var(--text-portal)}.pts-tab[aria-selected=true]{background:var(--card);color:var(--text-portal);box-shadow:0 0 0 1px var(--line)}.pts-earn-wrap{gap:1.5rem;display:grid}.pts-section-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem;display:flex}.pts-section-head h3{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted-portal);margin:0;font-size:.75rem;font-weight:600}.pts-section-head p{color:var(--text-muted-portal);margin:0;font-size:.75rem}.pts-earn{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.pts-row{border-top:1px solid var(--line);gap:.5rem;padding:1rem 1.25rem;transition:background-color .16s;display:grid}.pts-row:first-child{border-top:0}.pts-row:hover{background:var(--card-faint,var(--card-soft))}.pts-row-head{align-items:baseline;gap:.75rem;min-width:0;display:flex}.pts-row-name{min-width:0;color:var(--text-portal);flex:1;font-size:.95rem;font-weight:600}.pts-row-rate{color:var(--text-muted-portal);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.8125rem}.pts-row-count{min-width:3.5rem;color:var(--text-portal);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;display:inline-flex}.pts-check,.pts-row.is-done .pts-row-count{color:var(--money-fg)}.pts-bar{background:var(--card-sunken);border-radius:99px;height:6px;position:relative;overflow:hidden}.pts-bar-fill{transform-origin:0;background:linear-gradient(90deg, var(--books-solid), var(--primary-fill));border-radius:99px;position:absolute;inset:0;overflow:hidden}.pts-row.is-done .pts-bar-fill{background:var(--money-solid)}.pts-bar[data-phase=go] .pts-bar-fill{transition:transform .9s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduced]) .pts-row:not(.is-done) .pts-bar[data-phase=go] .pts-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff61,#0000);animation:2.4s ease-in-out 1s infinite pts-shimmer;position:absolute;inset:0;transform:translate(-100%)}}@keyframes pts-shimmer{to{transform:translate(100%)}}.pts-ledger{border:1px solid var(--line);background:var(--card);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.pts-ledger li{border-top:1px solid var(--line);color:var(--text-portal);grid-template-columns:1fr auto;gap:.125rem 1rem;padding:.75rem 1.25rem;font-size:.9375rem;display:grid}.pts-ledger li:first-child{border-top:0}.pts-ledger-what{font-weight:600}.pts-ledger .pts-meta{grid-column:1/-1}.pts-delta{font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2;font-weight:700}.pts-delta.is-neg{color:var(--text-muted-portal)}.pts-more{margin-top:1rem}.shop-top{justify-content:space-between;align-items:center;gap:1rem;display:flex}.shop-back{min-height:40px;color:var(--text-muted-portal);align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.shop-back:hover{color:var(--text-portal)}.shop-chip{border:1px solid var(--line);background:var(--card-soft);color:var(--text-portal);font-variant-numeric:tabular-nums;border-radius:99px;align-items:center;gap:.375rem;margin:0;padding:.25rem .75rem;font-size:.875rem;font-weight:600;display:inline-flex}.shop-chip-balance{background:var(--card);border-color:var(--line-strong);padding:.375rem 1rem;font-size:1rem}.shop-chip-pending{color:var(--text-muted-portal);border-inline-start:1px solid var(--line);padding-inline-start:.5rem;font-size:.75rem;font-weight:500}.shop-chip-price{font-size:.8125rem}.shop-filters{flex-wrap:wrap;gap:.5rem;display:flex}.shop-filter{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--text-muted-portal);font:inherit;cursor:pointer;border-radius:99px;padding:.25rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .16s,color .16s,border-color .16s}.shop-filter:hover{color:var(--text-portal);border-color:var(--line-strong)}.shop-filter[aria-pressed=true]{background:var(--text-portal);border-color:var(--text-portal);color:var(--card)}.shop-try{border:1px solid var(--line);background:var(--card);color:var(--text-portal);border-radius:16px;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.shop-try-text{flex:1;min-width:0;display:grid}.shop-try .shop-try-av{background:var(--avatar-bg);color:#fff;border-radius:50%;place-items:center;width:48px;height:48px;font-weight:700;display:grid;overflow:hidden}.shop-try .shop-try-av img{object-fit:cover;width:100%;height:100%}.shop-try-name{font-weight:650}.shop-try-hint{color:var(--text-muted-portal);font-size:.8125rem}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.shop-card{border:1px solid var(--line);background:var(--card);color:var(--text-portal);border-radius:16px;flex-direction:column;gap:.5rem;padding:1rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.shop-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}@media (prefers-reduced-motion:no-preference){html:not([data-motion=reduced]) .shop-card:hover{transform:translateY(-2px)}}.shop-card.is-owned{background:var(--card-soft)}.shop-card h3{margin:0;font-size:.95rem;font-weight:650;line-height:1.25}.shop-card p{color:var(--text-muted-portal);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.8125rem;overflow:hidden}.shop-card-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:auto;padding-top:.25rem;display:flex}.shop-card-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.shop-state{color:var(--money-fg);align-items:center;gap:.25rem;font-size:.8125rem;font-weight:650;display:inline-flex}.shop-state:before{content:"✓"}.shop-art{place-items:center;display:grid}.shop-swatch{background:var(--card-soft);width:100%;height:112px;color:var(--text-portal);border-radius:12px;place-items:center;display:grid;position:relative}.shop-card.is-owned .shop-swatch{background:var(--card)}.shop-swatch-avatar{background:var(--avatar-bg);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;font-weight:700;display:grid}.shop-swatch .shop-ring{width:82px;height:82px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.shop-swatch-flair{font-size:2.25rem}.shop-swatch-flair .shop-flair{margin:0}.shop-swatch-title .shop-title{text-align:center;padding:0 .5rem;font-size:1rem}.shop-swatch-slot{font-size:1.6rem;font-weight:700}.shop-sheet-wrap{z-index:60;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.shop-sheet{width:min(100%,400px);max-height:90vh;padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom));background:var(--card-raised);color:var(--text-portal);box-shadow:var(--shadow-pop);border-radius:20px 20px 0 0;gap:1rem;display:grid;overflow:auto}.shop-sheet h2{letter-spacing:-.01em;margin:0;font-size:1.125rem}.shop-sheet p{margin:0;font-size:.9rem}.shop-sheet dl{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:.5rem 1rem;margin:0;display:grid}.shop-sheet dt{color:var(--text-muted-portal)}.shop-sheet dd{text-align:right;margin:0;font-weight:650}.shop-sheet-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.shop-error{color:var(--problem-fg,#a11);font-size:.9rem}@media (width>=640px){.shop-sheet-wrap{align-items:center}.shop-sheet{border-radius:20px}}@media (prefers-reduced-motion:no-preference){.shop-sheet{animation:.16s ease-out shop-rise}}@keyframes shop-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.bshell-profile .shop-framed{width:100%;height:100%}.shop-card-title{color:var(--text-muted-portal);font-size:.8rem;font-style:italic;display:block}.adm-pts{gap:1.25rem;display:grid}.adm-pts section{background:var(--card);border:1px solid var(--line-admin,var(--line));border-radius:14px;gap:.7rem;padding:1rem;display:grid}.adm-pts h2{margin:0;font-size:1.05rem}.adm-pts form{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.adm-pts label{color:var(--text-muted-admin,var(--text-muted));gap:.2rem;font-size:.82rem;display:grid}.adm-pts input,.adm-pts select,.adm-pts textarea{font:inherit;border:1px solid var(--line-strong);background:var(--card);color:var(--text-portal);border-radius:8px;min-height:38px;padding:.4rem .55rem}.adm-pts table{border-collapse:collapse;width:100%;font-size:.88rem}.adm-pts th,.adm-pts td{text-align:left;border-top:1px solid var(--line-admin,var(--line));vertical-align:top;padding:.4rem .5rem}.adm-pts .adm-scroll{overflow-x:auto}.shop-ring-over{z-index:4;pointer-events:none;position:absolute;inset:-6%}.shop-ring-over .shop-ring{width:100%;height:100%;inset:0}.shop-worn-line{padding:0 var(--space-4,1rem);color:var(--text-portal);margin:.25rem 0 0;font-size:.95rem}.pts-line{color:var(--text-muted-portal);margin:0;font-size:.875rem}
