:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--primary:#4f45c7;--on-primary:#fff;--primary-container:#e3dfff;--on-primary-container:#140a6e;--secondary-container:#dedaff;--on-secondary-container:#1b1070;--tertiary-container:#e8e5ff;--on-tertiary-container:#2a1f8f;--error:#ba1a1a;--error-container:#ffdad6;--on-error-container:#410002;--surface:#fcf8ff;--surface-container-low:#f6f2fc;--surface-container:#f0ecf6;--surface-container-high:#eae6f0;--surface-container-highest:#e4e1ea;--on-surface:#1c1b21;--on-surface-variant:#47464f;--outline:#787680;--outline-variant:#c8c5d0;--shape-sm:8px;--shape-md:12px;--shape-lg:16px;--shape-xl:28px;--shape-xxl:40px;--shape-full:999px;--spring-fast:.35s cubic-bezier(.42, 1.67, .21, .9);--spring-default:.5s cubic-bezier(.38, 1.21, .22, 1);--effects:.2s cubic-bezier(.31, .94, .34, 1);--nav-height:80px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#c4c0ff;--on-primary:#22109a;--primary-container:#3a2fae;--on-primary-container:#e3dfff;--secondary-container:#3b358c;--on-secondary-container:#e3dfff;--tertiary-container:#2e2a66;--on-tertiary-container:#c4c0ff;--error:#ffb4ab;--error-container:#93000a;--on-error-container:#ffdad6;--surface:#131318;--surface-container-low:#1b1b21;--surface-container:#1f1f25;--surface-container-high:#2a292f;--surface-container-highest:#35343a;--on-surface:#e5e1e9;--on-surface-variant:#c8c5d0;--outline:#928f9a;--outline-variant:#47464f}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--primary:#c4c0ff;--on-primary:#22109a;--primary-container:#3a2fae;--on-primary-container:#e3dfff;--secondary-container:#3b358c;--on-secondary-container:#e3dfff;--tertiary-container:#2e2a66;--on-tertiary-container:#c4c0ff;--error:#ffb4ab;--error-container:#93000a;--on-error-container:#ffdad6;--surface:#131318;--surface-container-low:#1b1b21;--surface-container:#1f1f25;--surface-container-high:#2a292f;--surface-container-highest:#35343a;--on-surface:#e5e1e9;--on-surface-variant:#c8c5d0;--outline:#928f9a;--outline-variant:#47464f}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}html,body,*{scrollbar-width:none}::-webkit-scrollbar{display:none}body{background:var(--surface);min-height:100dvh;color:var(--on-surface);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-family:Roboto Flex,system-ui,sans-serif;font-size:16px;line-height:1.5}button,input{font:inherit;color:inherit}h1,h2,p{margin:0}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.display{font-variation-settings:"wdth" 125, "opsz" 144;letter-spacing:-.02em;font-size:clamp(44px,13vw,57px);font-weight:800;line-height:1.05}.headline{font-variation-settings:"wdth" 118, "opsz" 72;letter-spacing:-.01em;font-size:36px;font-weight:750;line-height:44px}.title-large{font-variation-settings:"wdth" 110;font-size:26px;font-weight:700;line-height:32px}.title{font-size:20px;font-weight:650;line-height:28px}.overline{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);font-size:12px;font-weight:600}.lede{color:var(--on-surface-variant);font-size:16px}.muted{color:var(--on-surface-variant)}.small{font-size:14px;line-height:20px}.error{color:var(--error);min-height:20px;font-size:14px}.icon{font-variation-settings:"FILL" 0, "wght" 500;transition:font-variation-settings var(--effects);-webkit-user-select:none;user-select:none;flex-shrink:0;font-family:Material Symbols Rounded;font-size:24px;line-height:1}.icon.filled{font-variation-settings:"FILL" 1, "wght" 600}.shell{min-height:100dvh}.content{max-width:600px;padding:0 16px calc(var(--nav-height) + 52px + env(safe-area-inset-bottom));margin:0 auto}.content>section:not([hidden]){animation:.22s cubic-bezier(.16,1,.3,1) screen-arrive}.content>section[aria-label=Scan]:not([hidden]){animation:.16s ease-out screen-fade}@keyframes screen-arrive{0%{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes screen-fade{0%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion:reduce){.content>section:not([hidden]){animation:none}}.screen{padding-top:calc(24px + env(safe-area-inset-top));flex-direction:column;gap:16px;display:flex}.screen-header{flex-direction:column;gap:4px;padding:8px 4px;display:flex}.center{place-items:center;padding:48px;display:grid}.splash{place-items:center;min-height:100dvh;display:grid}.btn{border-radius:var(--shape-full);letter-spacing:.01em;cursor:pointer;height:48px;transition:border-radius var(--spring-fast), transform var(--spring-fast), background-color var(--effects);border:0;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--effects);background:currentColor;position:absolute;inset:0}.btn:hover:after{opacity:.08}.btn:active:not(:disabled){border-radius:var(--shape-md)}.btn:active:not(:disabled):after{opacity:.12}.btn:disabled{cursor:default;opacity:.38}.btn.large{height:64px;padding:0 32px;font-size:17px}.btn.large:active:not(:disabled){border-radius:var(--shape-lg)}.btn.filled{background:var(--primary);color:var(--on-primary)}.btn.tonal{background:var(--secondary-container);color:var(--on-secondary-container)}.btn.outlined{color:var(--primary);box-shadow:inset 0 0 0 1px var(--outline-variant);background:0 0}.btn.text{color:var(--primary);background:0 0;padding:0 16px}.btn.danger{color:var(--error)}.field{position:relative}.field input{border-radius:var(--shape-lg);border:1px solid var(--outline);background:var(--surface-container-low);width:100%;height:60px;transition:border-color var(--effects), box-shadow var(--effects), border-radius var(--spring-fast);padding:18px 16px 0;font-size:17px}.field input:hover{border-color:var(--on-surface)}.field input:focus{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);border-radius:var(--shape-md);outline:none}.field input:user-invalid{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}.field label{color:var(--on-surface-variant);pointer-events:none;transform-origin:0 0;transition:transform var(--spring-default), color var(--effects);position:absolute;top:18px;left:17px}.field input:focus+label,.field input:not(:placeholder-shown)+label{transform:translateY(-11px)scale(.75)}.field input:focus+label{color:var(--primary)}.field-supporting{color:var(--on-surface-variant);transition:color var(--effects);padding:4px 16px 0;font-size:12px}.field.has-error input{border-color:var(--error);box-shadow:inset 0 0 0 1px var(--error)}.field.has-error label{color:var(--error)}.field:has(input:user-invalid) label{color:var(--error)}.field-error{color:var(--error)}.field:has(input:user-invalid) .field-supporting{color:var(--error)}.field-error{align-items:center;gap:4px;font-weight:500;animation:.24s cubic-bezier(.16,1,.3,1) both alert-in;display:flex}.field-error .icon{font-size:16px}.field:has(input:user-valid:not(:placeholder-shown)):not(.has-error) input{padding-right:48px}.field:has(input:user-valid:not(:placeholder-shown)):not(.has-error):after{content:"check_circle";font-variation-settings:"FILL" 1;color:var(--primary);pointer-events:none;animation:check-in var(--spring-fast) both;font-family:Material Symbols Rounded;font-size:22px;line-height:1;position:absolute;top:18px;right:16px}@keyframes check-in{0%{opacity:0;transform:scale(.4)}}@keyframes alert-in{0%{opacity:0;transform:translateY(-4px)}}.segmented{border-radius:var(--shape-full);background:var(--surface-container-high);gap:4px;padding:4px;display:flex}.segmented button{border-radius:var(--shape-full);min-height:44px;color:var(--on-surface-variant);cursor:pointer;transition:background-color var(--effects), color var(--effects), transform var(--spring-fast);background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.segmented button .icon{font-size:18px}.segmented button[aria-selected=true],.segmented button[aria-checked=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.segmented button:active{transform:scale(.96)}.auth{flex-direction:column;min-height:100dvh;display:flex}@property --size{syntax:"<length>";inherits:true;initial-value:128px}.auth-hero{min-height:42dvh;padding:calc(32px + env(safe-area-inset-top)) 24px 40px;border-radius:0 0 var(--shape-xxl) var(--shape-xxl);color:#fff;text-align:center;background:radial-gradient(120% 90% at 50% 0,#5b50dd 0%,#3a2fae 55%,#2a1f8f 100%);flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:10px;transition:min-height .9s cubic-bezier(.22,1,.36,1),padding .9s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.brand-scanner{--size:128px;width:var(--size);height:var(--size);margin-bottom:4px;transition:--size .9s cubic-bezier(.22,1,.36,1);position:relative}.brand-scanner img{filter:drop-shadow(0 10px 18px #0a063273);width:100%;height:100%;display:block}.scan-beam{background:#f1efff;border-radius:2px;height:3px;animation:2.6s cubic-bezier(.45,0,.55,1) infinite alternate scan-sweep;position:absolute;top:18%;left:11%;right:11%;box-shadow:0 0 4px 1px #c4c0ff,0 0 14px 4px #8b7cffbf}.scan-beam:before{content:"";pointer-events:none;background:linear-gradient(#0000,#c4c0ff52 50%,#0000);height:31px;position:absolute;inset:-14px 4% auto}@keyframes scan-sweep{0%{transform:translateY(0)}to{transform:translateY(calc(var(--size) * .64))}}@media (prefers-reduced-motion:reduce){.scan-beam{transform:translateY(calc(var(--size) * .32));animation:none}}.auth-wordmark{font-variation-settings:"wdth" 125, "opsz" 144;letter-spacing:-.02em;margin:0;font-size:clamp(40px,12vw,52px);font-weight:800;line-height:1.05}.auth-tagline{color:#dcd8ff;text-wrap:balance;max-width:28ch;margin:0;font-size:17px;line-height:1.4}.auth-wordmark{transition:font-size .9s cubic-bezier(.22,1,.36,1)}.auth-hero[data-compact=true]{min-height:28dvh;padding-bottom:28px}.auth-hero[data-compact=true] .brand-scanner{--size:88px}.auth-hero[data-compact=true] .auth-wordmark{font-size:clamp(32px,9vw,40px)}.auth-form{width:100%;max-width:480px;padding:28px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;gap:16px;margin:0 auto;display:flex}.auth-form .title-large{margin:0 0 4px}.auth-form{animation:.7s cubic-bezier(.22,1,.36,1) .1s both form-in}@keyframes form-in{0%{opacity:0;transform:translateY(12px)}}@keyframes back-in{0%{opacity:0;transform:translate(-12px)}}.auth-back{top:calc(12px + env(safe-area-inset-top));color:#fff;background:#ffffff24;width:48px;height:48px;animation:.65s cubic-bezier(.22,1,.36,1) .2s backwards back-in;position:absolute;left:12px}.auth-back:hover{background:#ffffff3d}.auth-back:active{transform:scale(.92)}.auth-back:focus-visible{outline-color:#fff}.auth-back .icon{font-size:26px}.auth-alert{border-radius:var(--shape-md);align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:14px;line-height:20px;animation:.24s cubic-bezier(.16,1,.3,1) both alert-in;display:flex}.auth-alert .icon{flex-shrink:0;font-size:20px}.auth-alert.error{background:var(--error-container);color:var(--on-error-container)}.auth-alert.success{background:var(--secondary-container);color:var(--on-secondary-container)}.btn.busy:disabled{opacity:1;cursor:progress}@media (prefers-reduced-motion:reduce){.auth-form,.auth-alert,.field-error,.field:after,.auth-back{animation:none}.auth-hero,.brand-scanner,.auth-wordmark{transition:none}}.auth-switch{color:var(--on-surface-variant);flex-wrap:wrap;justify-content:center;align-items:center;gap:0;margin:0;font-size:14px;display:flex}.auth-switch .btn.text{height:40px;padding:0 8px;font-size:14px}.auth-forgot.btn.text{align-self:flex-end;height:36px;margin:-8px 0 0;padding:0 4px;font-size:14px}.auth-switch{margin-top:8px}.scan-form{flex-direction:column;gap:12px;display:flex}.group,.empty{border-radius:var(--shape-xl);background:var(--surface-container);padding:20px}.pop{animation:pop-in var(--spring-default) both}.hero-value{font-size:clamp(26px, calc(100cqi / (var(--chars,10) * .62)), 52px);font-variation-settings:"wdth" 120, "opsz" 144;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;font-weight:800;line-height:1.1}.fit-amount{--fit-max:28px;font-size:clamp(14px, calc((100cqi - var(--fit-inset,0px)) / (var(--chars,10) * .62)), var(--fit-max));white-space:nowrap;font-variant-numeric:tabular-nums}.hero-loading{border-radius:var(--shape-md);background:var(--surface-container-high);width:min(70%,280px);height:52px;animation:1.2s ease-in-out infinite alternate skeleton-pulse;display:block}@keyframes skeleton-pulse{0%{opacity:.55}to{opacity:1}}@media (prefers-reduced-motion:reduce){.hero-loading{animation:none}}.hero-value.masked{letter-spacing:.06em}.hero-fraction{letter-spacing:0;opacity:.75;font-size:.5em;font-weight:700}.banner{border-radius:var(--shape-lg);align-items:center;gap:12px;padding:16px;display:flex}.error-banner{background:var(--error-container);color:var(--on-error-container)}.list{flex-direction:column;gap:4px;margin-top:8px;display:flex}.list-item{border-radius:var(--shape-lg);background:var(--surface-container-highest);text-align:left;cursor:pointer;width:100%;min-height:64px;transition:border-radius var(--spring-fast);border:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.list-item>span{flex-direction:column;display:flex}.list-item:active{border-radius:var(--shape-xl)}.wallet-balance{flex-direction:column;gap:2px;padding:4px 4px 0;display:flex;container-type:inline-size}.wallet-label{justify-content:space-between;align-items:center;gap:8px;margin-right:-8px;display:flex}.wallet-title{color:var(--on-surface-variant);margin:0;font-size:15px;font-weight:600}.wallet-tabs{align-self:stretch}.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tile{border-radius:var(--shape-xl);background:var(--surface-container);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform var(--spring-fast), background-color var(--effects);border:0;flex-direction:column;gap:10px;padding:8px;display:flex}.tile:hover{background:var(--surface-container-high)}.tile:active{transform:scale(.97)}.tile-art{display:block;position:relative}.tile-art .image-frame,.tile-placeholder{border-radius:var(--shape-lg)}.tile-placeholder{aspect-ratio:63/88;background:var(--surface-container-highest);width:100%;color:var(--on-surface-variant);place-items:center;display:grid}.name-line{align-items:center;gap:6px;min-width:0;display:flex}.name-line>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.promo-badge{border-radius:var(--shape-full);background:var(--secondary-container);color:var(--on-secondary-container);letter-spacing:.02em;flex:none;padding:2px 7px;font-size:11px;font-weight:750;line-height:16px}.tile-art .promo-badge{color:#fff;background:#0000009e;position:absolute;top:8px;right:8px}.tile-badge{border-radius:var(--shape-full);color:#fff;font-variant-numeric:tabular-nums;background:#0000009e;padding:2px 8px;font-size:12px;font-weight:750;position:absolute;top:8px;left:8px}.tile-text{flex-direction:column;min-width:0;padding:0 6px 6px;display:flex}.tile-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.tile-text .muted{font-size:12px}.tile-value.missing{color:var(--on-surface-variant);font-size:14px;font-weight:500}.tile-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:6px;font-size:16px;font-weight:750}.rarity-groups{flex-direction:column;gap:20px;display:flex}.rarity-group{flex-direction:column;gap:8px;display:flex}.rarity-head{flex-direction:column;gap:2px;padding:0 4px;display:flex}.rarity-head h2{align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.rarity-count{border-radius:var(--shape-full);background:var(--surface-container-highest);min-width:24px;color:var(--on-surface-variant);text-align:center;font-variant-numeric:tabular-nums;flex:none;padding:1px 8px;font-size:12px;font-weight:700}.rarity-value{color:var(--on-surface-variant);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:13px}.rarity-value strong{color:var(--on-surface);font-weight:700}.holdings{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.holding-row{border-radius:var(--shape-md);background:var(--surface-container);width:100%;min-height:72px;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.holdings li:first-child .holding-row{border-top-left-radius:var(--shape-xl);border-top-right-radius:var(--shape-xl)}.holdings li:last-child .holding-row{border-bottom-left-radius:var(--shape-xl);border-bottom-right-radius:var(--shape-xl)}.holding-row:hover{background:var(--surface-container-high)}.holding-text{flex-direction:column;flex:1;min-width:0;display:flex}.holding-text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.holding-text .muted{font-size:13px}.holding-amount{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;max-width:50%;display:flex}.holding-amount strong{overflow-wrap:anywhere;font-size:16px;font-weight:750}.holding-amount .muted{font-size:12px}.tile:focus-visible,.holding-row:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.holding-sheet{max-height:calc(100dvh - 24px);overflow-y:auto}.holding-head{grid-template-columns:96px minmax(0,1fr) auto;align-items:start;gap:14px;display:grid}.holding-head .image-frame,.holding-art.placeholder{border-radius:var(--shape-md)}.holding-art.placeholder{aspect-ratio:63/88;background:var(--surface-container-highest);place-items:center;width:96px;display:grid}.holding-title{flex-direction:column;gap:2px;min-width:0;display:flex}.holding-title .title{margin:0}.holding-total{flex-direction:column;gap:2px;padding:0 2px;display:flex}.holding-total p{margin:0}.holding-value{--fit-max:32px;font-variation-settings:"wdth" 112;letter-spacing:-.01em;font-weight:800;line-height:1.15}.holding-sheet .sheet-actions{grid-template-columns:auto minmax(0,1fr)}.holding-sheet .sheet-actions .btn{white-space:nowrap;padding:0 18px}.holding-close{margin:-6px -8px 0 0}.actions{flex-wrap:wrap;gap:8px;display:flex}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 24px;display:flex}.empty .btn{margin-top:12px}.empty-shape{background:var(--tertiary-container);width:96px;height:96px;color:var(--on-tertiary-container);border-radius:38% 62% 55% 45%/45% 40% 60% 55%;place-items:center;margin-bottom:8px;display:grid}.empty-shape .icon{font-size:44px}.catalog-search{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.catalog-search-input{border:1px solid var(--outline-variant);border-radius:var(--shape-full);background:var(--surface-container);align-items:center;min-width:0;height:52px;padding-right:4px;display:flex}.catalog-search-input:focus-within{outline:2px solid var(--primary);outline-offset:2px}.catalog-search-input input{border-radius:inherit;background:0 0;border:0;outline:none;flex:1;width:100%;min-width:0;height:100%;padding:0 8px 0 20px}.catalog-search-input input::placeholder{color:var(--on-surface-variant);opacity:1}.catalog-search-submit.icon-btn{width:44px;height:44px;color:var(--primary);flex:none}.catalog-filter-toggle.icon-btn{border-radius:var(--shape-lg);background:var(--surface-container);width:52px;height:52px;color:var(--on-surface-variant);position:relative}.catalog-filter-toggle[aria-expanded=true],.catalog-filter-toggle[data-active=true]{background:var(--secondary-container);color:var(--on-secondary-container)}.catalog-filter-count{border-radius:var(--shape-full);background:var(--primary);min-width:16px;height:16px;color:var(--on-primary);text-align:center;padding:0 3px;font-size:10px;font-weight:750;line-height:16px;position:absolute;top:2px;right:2px}.catalog-filter-panel{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) auto;align-items:end;gap:12px;padding-top:2px;display:grid}.catalog-filter-field{flex-direction:column;gap:6px;min-width:0;display:flex}.catalog-filter-field>span{color:var(--on-surface-variant);font-size:13px;font-weight:600}.catalog-filter-field input,.catalog-filter-field select{border:1px solid var(--outline-variant);border-radius:var(--shape-md);background:var(--surface-container-low);width:100%;min-width:0;height:44px;color:var(--on-surface);font:inherit;padding:0 12px;font-size:14px}.catalog-filter-field input::placeholder{color:var(--on-surface-variant);opacity:1}.catalog-filter-field input:focus-visible,.catalog-filter-field select:focus-visible{border-color:var(--primary);outline:2px solid var(--primary);outline-offset:2px}.catalog-filter-apply.btn{height:44px;padding:0 18px}.library .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.library .gallery>li{min-width:0}.catalog-card{border:1px solid var(--outline-variant);border-radius:var(--shape-md);background:var(--surface-container-low);flex-direction:column;gap:12px;height:100%;padding:12px;display:flex;container-type:inline-size}.catalog-card-details{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;flex-direction:column;flex:1;gap:12px;padding:0;display:flex}.catalog-card-details:hover .catalog-card-name{color:var(--primary)}.catalog-card-art{aspect-ratio:63/88;align-self:center;width:min(100%,180px);display:block}.catalog-card-art .image-frame,.catalog-card-placeholder{border-radius:4px;place-items:center;width:100%;height:100%;display:grid}.catalog-card-art .image-frame{object-fit:contain}.catalog-card-art img{object-fit:contain;width:100%;height:100%}.catalog-card-placeholder{background:var(--surface-container);color:var(--on-surface-variant)}.catalog-card-text{overflow-wrap:anywhere;flex-direction:column;gap:3px;width:100%;font-size:12px;line-height:1.4;display:flex}.catalog-card-name{color:var(--on-surface);font-size:16px;font-weight:750;line-height:1.25}.catalog-card-set{margin-top:1px}.catalog-card-footer{font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:2px 6px;display:grid}.catalog-card-value{overflow-wrap:anywhere;grid-column:1;align-items:center;min-width:0;font-size:16px;line-height:1.3;display:flex}.catalog-card-value strong{min-width:0;font-weight:750}.catalog-card-value>.muted{font-size:13px}.catalog-direction{margin-left:-4px;display:flex}.catalog-direction .icon{font-size:20px}.catalog-card-change{overflow-wrap:anywhere;grid-column:1;font-size:12px;line-height:1.4}.catalog-change-figures{flex-wrap:wrap;gap:0 4px;display:flex}.catalog-change-period{font-size:11px;display:block}.catalog-card .up{color:var(--primary)}.catalog-card .down{color:var(--error)}.catalog-card .flat{color:var(--on-surface-variant)}.catalog-add.icon-btn{border:1px solid var(--primary);border-radius:var(--shape-full);width:44px;height:44px;color:var(--primary);grid-area:1/2/span 2;align-self:end}.catalog-add.icon-btn:hover{background:var(--secondary-container)}@container (width<=160px){.catalog-card-value,.catalog-card-change{grid-column:1/-1}.catalog-add.icon-btn{grid-row:3}}.catalog-results{flex-direction:column;gap:12px;display:flex}.catalog-load-trigger{height:1px}.catalog-skip:focus{z-index:40;clip-path:none;border-radius:var(--shape-sm);background:var(--primary-container);width:auto;height:auto;color:var(--on-primary-container);padding:12px 16px;position:fixed;top:12px;left:12px;overflow:visible}.catalog-loading{align-items:center;gap:12px;padding:16px 0;display:flex}.library>.catalog-loading{text-align:center;justify-content:center}.catalog-sheet{max-height:calc(100dvh - 24px);overflow-y:auto}.catalog-art.image-frame,.catalog-art.placeholder{aspect-ratio:245/337;border-radius:var(--shape-md);align-self:center;width:min(100%,240px)}.catalog-art.placeholder{background:var(--surface-container-highest);color:var(--on-surface-variant);place-items:center;display:grid}.catalog-sheet .holding-total{container-type:inline-size}@media (width<=480px){.catalog-search{gap:8px}.catalog-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filter-apply{grid-column:1/-1;justify-self:end}}.group-title{color:var(--primary);padding:8px 8px 0;font-size:14px;font-weight:650}.account{align-items:center;gap:16px;display:flex}.avatar{border-radius:var(--shape-lg);background:var(--primary);width:56px;height:56px;color:var(--on-primary);place-items:center;font-size:24px;font-weight:800;display:grid}.nav-bar{z-index:10;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,minmax(0,112px));justify-content:center;display:grid;position:fixed;inset:auto 0 0}.nav-surface{background:linear-gradient(transparent 44px, var(--surface-container-low) 44px);pointer-events:none;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);display:grid;position:absolute;inset:0}.nav-surface:before,.nav-surface:after{content:"";background:var(--surface-container-low);border-top:1px solid var(--outline-variant)}.nav-notch{width:112px;height:45px;fill:var(--surface-container-low);display:block}.nav-notch-edge{fill:none;stroke:var(--outline-variant);stroke-width:1px}.nav-item{min-width:0;height:var(--nav-height);color:var(--on-surface-variant);font:inherit;cursor:pointer;transition:color var(--effects);background:0 0;border:0;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding:14px 4px 12px;font-size:12px;font-weight:600;line-height:18px;display:flex;position:relative}.nav-item .icon{border-radius:var(--shape-full);width:48px;height:32px;transition:transform var(--spring-fast), background-color var(--effects), box-shadow var(--effects);place-items:center;font-size:24px;display:grid}.nav-item:hover{color:var(--on-surface)}.nav-item:not(.nav-scan):not([aria-current=page]):hover .icon{background:var(--surface-container-highest)}.nav-item:active .icon{transform:scale(.88)}.nav-item[aria-current=page]{color:var(--primary)}.nav-item[aria-current=page] .icon{background:var(--secondary-container)}.nav-item[aria-current=page] .nav-label{font-weight:750}.nav-item:focus-visible{outline-offset:-6px;border-radius:var(--shape-md)}.nav-item.nav-scan{padding-top:50px}.nav-item.nav-scan .icon{background:var(--primary);width:64px;height:64px;color:var(--on-primary);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--on-primary) 8%, transparent), 0 4px 12px color-mix(in srgb, var(--on-primary) 20%, transparent);font-size:30px;position:absolute;top:-28px}.nav-item.nav-scan:hover .icon{transform:translateY(-2px)}.nav-item.nav-scan:active .icon{transform:translateY(2px)scale(.94)}.nav-item.nav-scan:focus-visible{outline:none}.nav-item.nav-scan:focus-visible .icon{outline:3px solid var(--primary);outline-offset:4px}.loader{background:var(--primary);border-radius:30%;width:40px;height:40px;animation:1.2s cubic-bezier(.38,1.21,.22,1) infinite morph}.loader.small{background:currentColor;width:22px;height:22px}@keyframes morph{0%{border-radius:30%;transform:rotate(0)scale(1)}50%{border-radius:50%;transform:rotate(180deg)scale(.75)}to{border-radius:30%;transform:rotate(360deg)scale(1)}}@keyframes pop-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}@keyframes spin-in{0%{opacity:0;transform:rotate(-90deg)scale(.4)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.scanner{flex-direction:column;display:flex}.viewfinder{border-radius:var(--shape-xxl);width:100%;height:min(50dvh,133.333vw - 42.6667px,620px);animation:pop-in var(--spring-default) both;background:#000;position:relative;overflow:hidden}.viewfinder video{object-fit:cover;width:100%;height:100%;display:block}.viewfinder video,.viewfinder .card-frame,.viewfinder .scan-bottom{transition:filter .45s var(--effects), transform .45s var(--effects)}.viewfinder:not([data-status=ready]) video{filter:blur(28px);transform:scale(1.08)}.viewfinder:not([data-status=ready]) .card-frame,.viewfinder:not([data-status=ready]) .scan-bottom{filter:blur(10px);pointer-events:none}@media (prefers-reduced-motion:reduce){.viewfinder video,.viewfinder .card-frame,.viewfinder .scan-bottom{transition:none}}.camera-spinner{pointer-events:none;border:3px solid #ffffff2e;border-top-color:#c4c0ff;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;animation:.8s linear infinite camera-spin;position:absolute;top:50%;left:50%}@keyframes camera-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.camera-spinner{animation:1.6s linear infinite camera-spin!important}}.camera-failed .sheet-body{text-align:center;align-items:center;gap:14px;padding:28px 24px 20px}.camera-failed .title,.camera-failed p{margin:0}.camera-failed .btn{align-self:stretch}.camera-failed-icon{background:var(--error-container);width:64px;height:64px;color:var(--on-error-container);border-radius:50%;place-items:center;display:grid}.camera-failed-icon .icon{font-size:32px}.card-frame{aspect-ratio:63/88;pointer-events:none;border:3px solid #c4c0ff;border-radius:18px;max-width:86%;height:76%;position:absolute;top:54%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #00000080}.shutter{border:4px solid var(--surface);border-radius:var(--shape-full);background-color:var(--primary);width:72px;height:72px;color:var(--on-primary);cursor:pointer;box-shadow:0 0 0 2px var(--primary);transition:border-radius var(--spring-fast), transform var(--spring-fast), opacity var(--effects);flex:none;place-items:center;display:grid;position:relative}.shutter .icon{font-size:30px}.shutter:active:not(:disabled){border-radius:var(--shape-xl);transform:scale(.92)}.shutter:disabled{opacity:.6;cursor:default}.shutter .loader.small{background:var(--on-primary)}.scan-form .group-title{padding:8px 4px 0}.image-frame{aspect-ratio:63/88;isolation:isolate;vertical-align:middle;border-radius:var(--shape-md);background:var(--surface-container-highest);object-fit:cover;flex:none;width:100%;display:inline-grid;position:relative;overflow:hidden}.image-frame>img{border-radius:inherit;object-fit:inherit;opacity:0;width:100%;height:100%;transition:opacity var(--effects);display:block;position:absolute;inset:0}.image-frame[data-loaded=true]>img{opacity:1}.image-skeleton{border-radius:inherit;background:var(--surface-container-highest);position:absolute;inset:0;overflow:hidden}.image-skeleton:after{content:"";background:linear-gradient(100deg, transparent 20%, color-mix(in srgb, var(--on-surface) 7%, transparent) 50%, transparent 80%);animation:1.5s ease-in-out infinite image-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes image-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.image-skeleton:after{animation:none;transform:none}}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;margin-top:8px;display:grid}.pick-tile{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:6px;width:100%;padding:0;display:flex}.pick-tile .image-frame,.pick-placeholder{aspect-ratio:245/337;border-radius:var(--shape-md);background:var(--surface-container-highest);width:100%;height:auto;transition:border-radius var(--spring-fast), transform var(--spring-fast)}.pick-placeholder{color:var(--on-surface-variant);place-items:center;display:grid}.pick-tile:hover .image-frame,.pick-tile:hover .pick-placeholder{transform:translateY(-2px)}.pick-tile:active .image-frame,.pick-tile:active .pick-placeholder{border-radius:var(--shape-xl);transform:scale(.96)}.pick-label{color:var(--on-surface-variant);font-size:12px;line-height:16px}.pick-label strong{color:var(--on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.pick-grid.printing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.printing-grid li,.printing-grid .pick-tile{min-width:0}.printing-grid .pick-label{overflow-wrap:anywhere;flex-direction:column;gap:4px;font-size:14px;line-height:20px;display:flex}.printing-grid .pick-label strong{white-space:normal;font-size:16px}.printing-grid .pick-placeholder{flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.printing-grid .pick-tile:disabled{cursor:default;opacity:1}.printing-grid .pick-tile:disabled .pick-placeholder{transform:none}.printing-grid .pick-tile:focus-visible{outline:2px solid var(--primary);outline-offset:4px;border-radius:var(--shape-md)}.scanner,.scan-screen{gap:12px}.shot-flash{pointer-events:none;background:#fff;animation:.32s ease-out both shot;position:absolute;inset:0}@keyframes shot{0%{opacity:.55}to{opacity:0}}.scan-controls{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.scan-side{display:flex}.scan-side.end{justify-content:flex-end}.side-btn{height:48px;padding:0 18px}.tray{flex-direction:column;gap:8px;min-height:76px;display:flex}.tray-list{scroll-snap-type:x proximity;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.tray-chip{border-radius:var(--shape-lg);background:var(--surface-container);scroll-snap-align:start;width:212px;animation:pop-in var(--spring-default) both;flex:none;align-items:center;gap:10px;padding:8px 10px;display:flex;position:relative}.tray-chip.bump{animation:bump .6s var(--spring-fast) both}@keyframes bump{0%{background:var(--secondary-container);transform:scale(.94)}to{transform:none}}.tray-chip.needs{background:color-mix(in srgb, var(--secondary-container) 45%, var(--surface-container))}.tray-chip.failed{background:var(--error-container);color:var(--on-error-container)}.tray-chip.failed .muted{color:inherit;opacity:.85}.chip-text{flex-direction:column;min-width:0;font-size:13px;line-height:18px;display:flex}.chip-text strong,.chip-text .muted{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip-text strong{font-weight:650}.chip-title{white-space:nowrap;min-width:0;display:flex}.chip-title strong{min-width:0}.chip-number{flex:none;font-weight:650}.chip-dismiss{border-radius:var(--shape-full);width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;margin-left:auto;display:grid}.tray-total{justify-content:flex-end;align-items:baseline;gap:12px;padding:0 4px;display:flex}.tray-total strong{font-variant-numeric:tabular-nums;font-size:20px;font-weight:750}.thumb{object-fit:cover;background:var(--surface-container-highest);color:var(--on-surface-variant);flex:none;place-items:center;display:grid}.thumb.small{border-radius:6px;width:40px;height:56px}.thumb.large{border-radius:var(--shape-md);width:96px;height:134px}.thumb .icon{font-size:22px}.icon-btn{border-radius:var(--shape-full);width:44px;height:44px;color:var(--on-surface);cursor:pointer;transition:background-color var(--effects), border-radius var(--spring-fast);background:0 0;border:0;flex:none;place-items:center;display:grid}.icon-btn:hover{background:color-mix(in srgb, var(--on-surface) 8%, transparent)}.icon-btn:disabled{opacity:.38;cursor:default;background:0 0}.icon-btn.danger{color:var(--error)}.review-screen{padding-bottom:calc(160px + env(safe-area-inset-bottom))}.review-header{align-items:center;gap:8px;padding:4px 0;display:flex}.review-list{flex-direction:column;gap:8px;display:flex}.review-card{border-radius:var(--shape-xl);background:var(--surface-container);animation:pop-in var(--spring-default) both;gap:14px;padding:14px;display:flex}.review-card.needs{background:color-mix(in srgb, var(--secondary-container) 30%, var(--surface-container))}.review-body{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.review-title{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.review-title .title{font-size:18px;line-height:24px}.review-prices{flex-wrap:wrap;gap:6px 20px;margin:0;display:flex}.review-prices dt{color:var(--on-surface-variant);font-size:12px;font-weight:600}.review-prices dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:650}.review-prices .price-main{font-variation-settings:"wdth" 115;font-size:22px;font-weight:800}.stepper{border-radius:var(--shape-full);background:var(--surface-container-highest);align-self:flex-start;align-items:center;gap:4px;padding:2px;display:inline-flex}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-weight:700}.stepper-input{border-radius:var(--shape-sm);width:5ch;height:36px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;text-align:center;background:0 0;border:0;padding:0;font-size:16px;font-weight:700}.stepper-input:focus{background:var(--surface-container-low);box-shadow:inset 0 0 0 2px var(--primary);outline:none}.review-card .picker{flex-direction:column;gap:8px;display:flex}.review-card .pick-grid{grid-template-columns:repeat(auto-fill,minmax(88px,1fr))}.review-card .pick-grid.printing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-footer{z-index:15;padding:14px 16px calc(12px + env(safe-area-inset-bottom));border-radius:var(--shape-xl) var(--shape-xl) 0 0;background:var(--surface-container);box-shadow:0 -1px 0 var(--outline-variant), 0 -8px 24px #00000014;position:fixed;bottom:0;left:0;right:0}.review-footer-inner{flex-direction:column;gap:10px;max-width:568px;margin:0 auto;display:flex}.review-bar{flex-direction:column;gap:12px;display:flex}.review-footer-inner{container-type:inline-size}.summary-total{flex-direction:column;gap:0;margin:0;padding:0 4px;display:flex}.summary-label{color:var(--on-surface-variant);white-space:nowrap;font-size:13px;font-weight:600}.summary-amount{--fit-max:30px;font-variation-settings:"wdth" 112;letter-spacing:-.01em;font-weight:800;line-height:1.2}.add-btn{width:100%;height:56px;padding:0 24px;font-size:16px}.summary-note{border-radius:var(--shape-lg);background:color-mix(in srgb, var(--secondary-container) 45%, transparent);color:var(--on-surface);align-items:center;gap:8px;margin:0;padding:10px 14px;font-size:14px;display:flex}.summary-note .icon{font-size:20px}.sheet{border-radius:var(--shape-xxl);background:var(--surface-container-low);width:min(520px,100vw - 24px);color:var(--on-surface);border:0;margin:auto auto 12px;padding:0}.sheet::backdrop{background:#00000073}.sheet[open]{animation:pop-in var(--spring-default) both}.sheet-body{flex-direction:column;gap:12px;padding:24px 20px 16px;display:flex}.actions.end{justify-content:flex-end}.immersive{--nav-height:0px}.scan-screen{z-index:20;color:#f2eff7;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0d0d11;flex-direction:column;display:flex;position:fixed;inset:0}.scan-screen .scanner{min-height:0;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex:1;gap:10px}.scan-screen .viewfinder{border-radius:0 0 var(--shape-xl) var(--shape-xl);flex:1;height:auto;min-height:0}.viewfinder .scan-back{top:calc(12px + env(safe-area-inset-top));z-index:2;position:absolute;left:12px}.scan-back{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#00000073;width:48px;height:48px}.scan-back:hover{background:#0009}.scan-back .icon{font-size:26px}.scan-screen .tray,.scan-screen .banner{margin:0 16px}.scan-screen .tray{min-height:72px}.scan-screen .scanner .muted{color:#f2eff7b3}.scan-screen .tray-chip{color:#f2eff7;background:#ffffff1a}.scan-screen .tray-chip.needs{background:#ffe16d2e}.scan-screen .tray-chip.failed{color:#ffdad6;background:#ffb4ab2e}.scan-screen .scanner .thumb.placeholder{color:#f2eff7cc;background:#ffffff1f}.scan-screen .shutter{border-color:#0d0d11;box-shadow:0 0 0 3px #f2eff7}.scan-screen .scanner .btn:disabled{opacity:.45}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.scan-screen .scanner{gap:0;padding:0}.scan-screen .viewfinder{border-radius:0}.scan-bottom{z-index:1;padding:56px 16px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#000000bf 45%);flex-direction:column;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.scan-bottom.static{background:0 0;padding-top:12px;position:static}.scan-screen .scan-bottom .tray{margin:0}.scan-screen .tray-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ab8}.scan-screen .card-frame{top:calc(env(safe-area-inset-top) + 76px);height:min(60%, calc(100% - env(safe-area-inset-top) - 76px - 260px));transform:translate(-50%)}.tray-empty{border-radius:var(--shape-lg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ab8;align-items:center;min-height:72px;margin:0;padding:0 16px;font-weight:600;display:flex}.chip-main{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:0;display:flex}span.chip-main{cursor:default}.tray-chip:has(button.chip-main:active){transform:scale(.97)}.edit-sheet{max-height:calc(100dvh - 24px);color:var(--on-surface);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;overflow:hidden auto}@media (prefers-color-scheme:dark){.edit-sheet{--lightningcss-light: ;--lightningcss-dark:initial}}.sheet-head{justify-content:space-between;align-items:center;margin:-8px -8px 0 0;display:flex}.compare{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid}.compare>.icon{color:var(--on-surface-variant)}.compare figure{flex-direction:column;align-items:center;gap:6px;margin:0;display:flex}.compare .image-frame,.compare-empty{aspect-ratio:63/88;object-fit:cover;border-radius:var(--shape-md);background:var(--surface-container-highest);width:100%;max-width:150px}.compare-empty{color:var(--on-surface-variant);place-items:center;display:grid}.compare-empty .icon{font-size:36px}.compare figcaption{color:var(--on-surface-variant);font-size:13px;font-weight:600}.match-info{text-align:center;flex-direction:column;align-items:center;display:flex}.match-info .name-line{flex-wrap:wrap;justify-content:center;row-gap:2px;max-width:100%}.match-info .name-line>strong{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;overflow:visible}.match-loading{flex-direction:row;justify-content:center;gap:8px}.match-loading .loader{flex:none}.match-info strong{font-size:18px;font-weight:700}.link-btn{color:var(--primary);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:center;padding:6px 10px;font-weight:600;text-decoration:underline}.fix-form{border-radius:var(--shape-lg);background:var(--surface-container);flex-direction:column;gap:10px;padding:12px;display:flex}.edit-fields{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.edit-fields .qty-field{flex-direction:row;justify-content:space-between;align-items:center}.select-field,.qty-field{color:var(--on-surface-variant);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.select-field select{border:1px solid var(--outline);border-radius:var(--shape-lg);appearance:none;background-color:var(--surface-container-low);width:100%;min-width:0;height:52px;color:var(--on-surface);font:inherit;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 22px),calc(100% - 17px);background-repeat:no-repeat;background-size:5px 5px;padding:0 44px 0 12px;font-size:16px;font-weight:500}.select-field select:disabled{opacity:.6}.select-field select:focus{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);outline:none}.sheet-body{container-type:inline-size}.edit-value{border-radius:var(--shape-lg);background:var(--surface-container-high);flex-direction:column;gap:6px;margin:0;padding:12px 14px;display:flex}.edit-value>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.edit-value dt{color:var(--on-surface-variant);flex:none;font-size:14px}.edit-value dd{text-align:right;font-variant-numeric:tabular-nums;min-width:0;margin:0;font-size:15px;font-weight:600}.edit-total{border-top:1px solid var(--outline-variant);padding-top:8px}.edit-value>.edit-total:only-child{border-top:0;padding-top:0}.edit-total dt{color:var(--on-surface);font-weight:600}.edit-total .fit-amount{--fit-max:24px;--fit-inset:110px;font-weight:800}.edit-value-empty{margin:0;padding:0 2px}.sheet-actions{grid-template-columns:1fr 1.4fr;gap:10px;display:grid}.sheet-actions .btn{height:52px}.btn.danger-outline{color:var(--error);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--error) 50%, transparent);background:0 0}.review-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}a{color:var(--primary);text-underline-offset:.18em}.auth-links{flex-wrap:wrap;justify-content:center;gap:12px 24px;font-size:14px;display:flex}.settings-section{border-top:1px solid var(--outline-variant);flex-direction:column;gap:14px;padding:20px 4px;display:flex}.settings-section>h2{margin-bottom:2px}.settings-section details{padding-block:10px}.settings-section summary{cursor:pointer;min-height:36px;font-weight:600}.settings-section details[open]>summary{margin-bottom:12px}textarea{font:inherit;resize:vertical;border:1px solid var(--outline);border-radius:var(--shape-lg);background:var(--surface-container-low);width:100%;min-height:112px;color:var(--on-surface);padding:14px}.check-label{align-items:flex-start;gap:12px;display:flex}.check-label input{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:2px 0 0}.check-label:has(input:user-invalid){color:var(--error)}.check-label input:user-invalid{outline:2px solid var(--error);outline-offset:2px}.info-page{overflow-wrap:anywhere;max-width:70ch;padding-bottom:36px}.info-page h2{margin-top:16px}.back-link{align-self:flex-start}.manual-entry{padding-inline:0;padding-bottom:24px}.manual-entry .screen-header{gap:12px}.manual-entry .screen-header>button{align-self:flex-start}.manual-entry .tray{padding-block:12px}.camera-status{z-index:1;border-radius:var(--shape-lg);background:var(--surface-container);color:var(--on-surface);text-align:center;flex-direction:column;gap:12px;padding:20px;display:flex;position:absolute;inset:20% 16px auto}.camera-status .icon{align-self:center}.screen.profile{min-height:calc(100dvh - var(--nav-height) - 52px - env(safe-area-inset-bottom));gap:0;padding-top:0}.profile-header{padding:calc(16px + env(safe-area-inset-top)) 0 12px;flex-direction:column;display:flex}.stats-hero.profile-banner{align-items:start;min-height:164px;margin-top:0;padding-bottom:52px}.profile-identity{align-items:flex-start;gap:14px;margin:-40px 0 0 16px;display:flex;position:relative}.profile-identity .profile-avatar{border-radius:var(--shape-xl);width:80px;height:80px;box-shadow:0 0 0 4px var(--surface)}.profile-identity .profile-name{flex-direction:column;align-items:flex-start;gap:6px;padding-top:46px;display:flex}.profile-name{min-width:0}.profile-name h1{overflow-wrap:anywhere;font-size:22px;line-height:28px}.avatar-pending{background:var(--surface-container-highest);display:block}.profile-avatar{border-radius:var(--shape-lg);object-fit:cover;flex-shrink:0;width:48px;height:48px}.profile-since{border-radius:var(--shape-full);background:var(--secondary-container);min-height:26px;color:var(--on-secondary-container);align-items:center;gap:6px;padding:3px 12px 3px 8px;font-size:12px;font-weight:650;display:inline-flex}.profile-since:empty{background:0 0}.profile-since:not(:has(.icon)){background:0 0}.profile-since .icon{font-size:16px}.stats-hero{border-radius:var(--shape-xl);background:linear-gradient(135deg, var(--primary-container), var(--surface-container) 70%);isolation:isolate;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:150px;margin-top:16px;padding:20px;display:grid;position:relative;overflow:hidden}.stats-hero .profile-banner-art{z-index:-2;aspect-ratio:auto;filter:blur(28px)saturate(1.6);opacity:.85;background:0 0;border-radius:0;width:auto;height:auto;position:absolute;inset:-40% -20%;transform:scale(1.1)}.stats-hero .profile-banner-art>img{object-fit:cover;width:100%;height:100%}.stats-hero:before{content:"";z-index:-1;background:linear-gradient(100deg, var(--surface-container) 18%, color-mix(in srgb, var(--surface-container) 55%, transparent) 55%, transparent 90%), linear-gradient(transparent 55%, color-mix(in srgb, var(--surface-container) 70%, transparent));position:absolute;inset:0}.stats-hero-copy{min-width:0;container-type:inline-size}.stats-hero-copy p{color:var(--on-surface-variant);letter-spacing:.02em;margin-bottom:6px;font-size:13px;font-weight:600}.stats-hero-copy .fit-amount{--fit-max:44px;letter-spacing:-.03em;font-variation-settings:"wdth" 112, "opsz" 144;font-weight:850;line-height:1.05;display:block}.stats-fan{width:128px;height:132px;position:relative}.stats-fan-card{--tilt:calc(10deg - var(--i) * 9deg);top:10px;right:calc(6px + var(--i) * 14px);z-index:calc(3 - var(--i));aspect-ratio:63/88;object-fit:cover;background:var(--surface-container-highest);width:92px;height:auto;transform:rotate(var(--tilt));transform-origin:50% 90%;animation:fan-deal .62s var(--spring-default) calc(var(--i) * 90ms) both;border-radius:7px;position:absolute;box-shadow:0 12px 24px #00000073,0 0 0 1px #ffffff1f}.stats-fan-card:first-child:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff8c 48%,#c4c0ff59 52%,#0000 65%) 120% 0/250% 100%;animation:1.1s ease-out .7s both fan-glint;position:absolute;inset:0}@keyframes fan-deal{0%{opacity:0;transform:translate(24px,18px)rotate(24deg)}}@keyframes fan-glint{to{background-position:-40% 0}}.stats-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0;padding:0;list-style:none;display:grid}.stats-tiles li{border-radius:var(--shape-lg);background:var(--surface-container);flex-direction:column;gap:6px;min-width:0;padding:14px;display:flex}.stats-tiles .icon{color:var(--primary);font-size:20px}.stats-tiles strong{font-variation-settings:"wdth" 112, "opsz" 144;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px;font-weight:850;line-height:1}.stats-tiles span{color:var(--on-surface-variant);font-size:12px}.profile-tabs{top:env(safe-area-inset-top);z-index:5;border-bottom:1px solid var(--outline-variant);background:var(--surface);margin:0 0 20px;display:flex;position:sticky}.profile-tabs button{border-radius:var(--shape-sm);min-width:0;min-height:48px;color:var(--on-surface-variant);cursor:pointer;transition:background-color var(--effects), color var(--effects);background:0 0;border:0;flex:1;padding:12px 4px;font-size:15px;font-weight:650;position:relative}.profile-tabs button:after{content:"";border-radius:var(--shape-full);background:var(--primary);opacity:0;height:3px;transition:opacity var(--effects), transform var(--effects);position:absolute;bottom:-1px;left:25%;right:25%;transform:scaleX(.4)}.profile-tabs button:hover{color:var(--on-surface);background:var(--surface-container-low)}.profile-tabs button[aria-selected=true]{color:var(--primary);font-weight:750}.profile-tabs button[aria-selected=true]:after{opacity:1;transform:scaleX(1)}.profile-tabs button:active{background:var(--surface-container)}.profile-tabs button:focus-visible{outline-offset:-3px}.profile-loading{padding:24px 4px}#profile-panel-stats{flex-direction:column;flex:1;display:flex}.profile-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:32px 16px;display:flex}.profile-empty p{max-width:36ch;color:var(--on-surface-variant);font-size:15px;line-height:24px}.profile-empty .btn{max-width:100%;height:auto;min-height:48px;margin-top:10px;padding-block:12px}.profile-panel{flex-direction:column;gap:12px;display:flex}.profile-card,.profile-panel .settings-section{border-radius:var(--shape-xl);background:var(--surface-container);border:0;flex-direction:column;padding:18px 18px 8px;display:flex}.profile-panel .settings-section{gap:12px;padding-bottom:20px}.profile-panel .settings-section>h2{margin:0}.profile-panel .settings-section details{border-top:1px solid var(--outline-variant);padding-block:4px;padding-top:12px}.profile-panel>.btn.large{width:100%;margin-top:4px}.profile-panel .auth-links{padding:8px 0}.profile-panel .usage-card{gap:20px;padding:24px 20px}.usage-ring{place-items:center;width:200px;height:200px;margin:4px auto 8px;display:grid;position:relative}.usage-ring svg{position:absolute;inset:0;overflow:visible}.usage-ring-track{fill:none;stroke:var(--secondary-container);stroke-width:6px}.usage-ring-fill{fill:none;stroke:var(--primary);stroke-width:6px;stroke-linecap:round;stroke-dasharray:100 100;stroke-dashoffset:var(--offset);transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1);animation:1.1s cubic-bezier(.22,1,.36,1) both ring-charge}@keyframes ring-charge{0%{stroke-dashoffset:100px}}.usage-ring-inner{flex-direction:column;align-items:center;display:flex;position:relative}.usage-ring-inner strong{letter-spacing:-.03em;font-variation-settings:"wdth" 112, "opsz" 144;font-variant-numeric:tabular-nums;font-size:44px;font-weight:850;line-height:1}.usage-ring-inner>span{color:var(--on-surface-variant);margin-top:2px;font-size:14px}.usage-ring[data-empty] .usage-ring-inner strong{color:var(--error)}.usage-ring-redeem{border-radius:var(--shape-full);background:var(--primary);width:48px;height:48px;color:var(--on-primary);cursor:pointer;transition:border-radius var(--spring-fast), transform var(--spring-fast);border:0;place-items:center;margin-top:12px;display:grid}.usage-ring-redeem:hover{transform:scale(1.06)}.usage-ring-redeem:active{border-radius:var(--shape-md);transform:scale(.92)}.usage-ring-redeem .icon{font-size:28px}.usage-ring-loading{background:var(--surface-container-highest);border-radius:50%;animation:.9s ease-in-out infinite alternate skeleton-pulse}.credit-feedback{align-items:flex-start;gap:12px;min-width:0;animation:.24s cubic-bezier(.16,1,.3,1) both alert-in;display:flex}.credit-feedback-icon{border-radius:var(--shape-md);background:var(--secondary-container);width:40px;height:40px;color:var(--on-secondary-container);flex-shrink:0;place-items:center;display:grid}.credit-feedback-copy{overflow-wrap:anywhere;flex:1;min-width:0}.credit-feedback-title{font-size:15px;font-weight:700;line-height:22px}.credit-feedback-description{color:var(--on-surface-variant);margin-top:3px;font-size:14px;line-height:21px}.credit-feedback-description .btn{margin-top:8px}.credit-feedback[data-state=error] .credit-feedback-icon{background:var(--error-container);color:var(--on-error-container)}.credit-feedback[data-state=error] .credit-feedback-title{color:var(--error)}.usage-card>.credit-feedback{border-top:1px solid var(--outline-variant);padding-top:16px}.usage-counting{color:var(--primary)}@media (prefers-reduced-motion:reduce){.usage-added{animation:none}}.usage-added{border-radius:var(--shape-full);background:var(--primary);font-variant-numeric:tabular-nums;animation:added-pop 2.6s var(--spring-fast) both;padding:4px 12px;font-weight:750;position:absolute;top:18px;right:6px;color:var(--on-primary)!important}@keyframes added-pop{0%{opacity:0;transform:translateY(10px)scale(.6)}12%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}.redeem-sheet[data-state=success]{cursor:pointer}.redeem-sheet{max-height:calc(100dvh - 24px);margin:auto;overflow-y:auto}.redeem-sheet .sheet-body{align-items:stretch;gap:16px;padding-top:28px;position:relative}.redeem-close{position:absolute;top:12px;right:12px}.redeem-title{text-align:center;animation:.28s cubic-bezier(.16,1,.3,1) both alert-in}.redeem-sheet[data-state=error] .redeem-title{color:var(--error)}.pack-stage{--pack-w:132px;--pack-h:184px;--strip:30px;--teeth:9px;height:252px;margin-top:4px;position:relative}.pack{width:var(--pack-w);height:var(--pack-h);margin-left:calc(var(--pack-w) / -2);--foil:linear-gradient(150deg, #7a6ff0 0%, #4f45c7 38%, #2d2490 70%, #5a50d8 100%);transition:transform .52s cubic-bezier(.38,1.21,.22,1) .12s;animation:3.4s ease-in-out infinite pack-float;position:absolute;top:28px;left:50%}.pack-front,.pack-top{background:linear-gradient(90deg, #00000047, transparent 14%, transparent 86%, #00000047), var(--foil);position:absolute;left:0;right:0;overflow:hidden}.pack-front:after,.pack-top:after{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff52 50%,#0000 60%);animation:2.8s ease-in-out infinite pack-sheen;position:absolute;inset:-40% -60%}.pack-top{height:calc(var(--strip) + 2px);z-index:3;transform-origin:0 100%;-webkit-mask:conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%;-webkit-mask:conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%;mask:conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%;transition:transform .56s cubic-bezier(.2,.7,.3,1),opacity .4s .16s;top:0}.pack-front{top:var(--strip);z-index:2;color:#fff;-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%;-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%;mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;bottom:0}.pack-front:before{content:"";opacity:0;border-top:2px dashed #fffc;transition:opacity .2s;position:absolute;top:4px;left:4px;right:4px}.pack-emblem{background:#ffffff29;border-radius:50%;place-items:center;width:56px;height:56px;display:grid;box-shadow:inset 0 0 0 2px #ffffff4d}.pack-emblem .icon{color:#ffd84d;font-size:34px}.pack-name{letter-spacing:.2em;text-transform:uppercase;font-size:12px;font-weight:850}.pack-card{z-index:1;left:12px;top:var(--strip);width:calc(var(--pack-w) - 24px);color:#2d2490;background:linear-gradient(160deg,#fff,#e3dfff);border-radius:10px;flex-direction:column;align-items:center;height:144px;padding-top:14px;animation:.76s cubic-bezier(.34,1.4,.4,1) .38s both card-rise;display:flex;position:absolute;overflow:hidden;transform:translateY(-96px);box-shadow:inset 0 0 0 4px #ffd84d,inset 0 0 0 6px #fff,0 8px 24px #00000059}.pack-card:after{content:"";background:linear-gradient(110deg,#0000 42%,#ffffffe6 50%,#0000 58%);animation:.9s ease-out 1.1s both card-glint;position:absolute;inset:-50% -80%;transform:translate(-60%)}.pack-card-label{letter-spacing:.18em;text-transform:uppercase;opacity:.7;font-size:11px;font-weight:800}.pack-card-gain{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:34px;font-weight:900;line-height:1.1}.pack-stage[data-visual=ready] .pack{animation:1.8s ease-in-out infinite pack-wiggle}.pack-stage[data-visual=ready] .pack-front:before,.pack-stage[data-visual=submitting] .pack-front:before{opacity:1}.pack-stage[data-visual=submitting] .pack{animation:.16s linear infinite pack-tremble}.pack-stage[data-visual=submitting] .pack-top{transform:rotate(-7deg)translateY(-3px)}.pack-stage[data-visual=submitting] :is(.pack-front,.pack-top):after{animation-duration:.9s}.pack-stage[data-visual=error] .pack{--foil:linear-gradient(150deg, #ff6b5e 0%, #c62828 40%, #7f1010 72%, #d84335 100%);animation:.42s cubic-bezier(.36,.07,.19,.97) both stage-shake}.pack-stage[data-visual=success] .pack{animation:none;transform:translateY(40px)}.pack-stage[data-visual=success] .pack-top{opacity:0;transform:translate(-70px,-90px)rotate(-38deg)}.pack-stage[data-visual=success] .pack-front:after{opacity:0;animation:none}.pack-stage[data-visual=success] .pack-front{-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%, conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 30% / 7px 100%;-webkit-mask-composite:source-in;-webkit-mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%, conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 30% / 7px 100%;mask:conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / var(--teeth) 100%, conic-gradient(from 135deg at top, #0000, #000 1deg 89deg, #0000 90deg) 30% / 7px 100%;-webkit-mask-composite:source-in;mask-composite:intersect}@keyframes pack-float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes pack-wiggle{0%,70%,to{transform:rotate(0)}76%{transform:rotate(-5deg)}84%{transform:rotate(4deg)}92%{transform:rotate(-2deg)}}@keyframes pack-tremble{0%,to{transform:translate(0)}25%{transform:translate(-1.5px,1px)}75%{transform:translate(1.5px,-1px)}}@keyframes pack-sheen{0%{transform:translate(-60%)}60%,to{transform:translate(60%)}}@keyframes card-glint{to{transform:translate(60%)}}@keyframes card-rise{0%{transform:translateY(-2px)}}@keyframes stage-shake{15%,55%{transform:translate(-10px)rotate(-6deg)}35%,75%{transform:translate(10px)rotate(6deg)}90%{transform:translate(-3px)}}.redeem-field{animation:none}.redeem-sheet[data-state=error] .redeem-field{animation:.38s cubic-bezier(.36,.07,.19,.97) both field-shake}@keyframes field-shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.redeem-sheet .field input{letter-spacing:.12em;text-transform:uppercase;font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.redeem-sheet .sheet-actions{flex-wrap:wrap;gap:12px;display:flex}.redeem-sheet .sheet-actions .btn{text-align:center;flex:160px;height:auto;min-height:52px;padding:12px 16px}.redeem-submit .icon{transition:transform var(--spring-fast)}.redeem-submit:hover:not(:disabled) .icon{transform:translate(3px)}.redeem-submit .loader.small{background:currentColor;width:18px;height:18px}.profile-panel .account-card{gap:20px;padding:24px 20px 8px}.account-card .btn{text-align:center;height:auto;min-height:48px;padding:12px 16px}.profile-panel .account-card .account-delete{padding:0}.account-delete>summary{border-radius:var(--shape-sm);align-items:center;gap:12px;min-height:72px;padding-block:16px;list-style:none;display:flex}.account-delete>summary::-webkit-details-marker{display:none}.account-delete>summary>.icon,.account-delete-title{color:var(--error)}.account-delete-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.account-delete-title{font-size:15px;font-weight:650}.account-delete-description{color:var(--on-surface-variant);font-size:14px;font-weight:400;line-height:20px}.account-delete-chevron{color:var(--on-surface-variant);transition:transform var(--effects);display:flex}.account-delete[open] .account-delete-chevron{transform:rotate(180deg)}.profile-panel .account-delete[open]>summary{margin-bottom:0}.account-delete-form{gap:16px;padding:4px 0 16px}.account-delete-notice,.account-subscription-notice{color:var(--on-surface-variant);font-size:14px;line-height:22px}.account-subscription-notice{align-items:flex-start;gap:10px;display:flex}.account-subscription-notice>.icon{color:var(--primary);margin-top:1px;font-size:20px}.account-subscription-notice strong{color:var(--on-surface);font-weight:650}.profile-subhead{justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:4px;font-size:16px;font-weight:700;display:flex}.profile-subhead span{color:var(--on-surface-variant);font-size:13px;font-weight:500}.set-progress{flex-direction:column;display:flex}.set-row{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;display:grid}.set-row+.set-row{border-top:1px solid var(--surface-container-highest)}.set-code{border-radius:var(--shape-md);background:var(--primary-container);width:44px;height:44px;color:var(--on-primary-container);font-variation-settings:"wdth" 115;letter-spacing:.02em;place-items:center;font-size:12px;font-weight:800;display:grid}.set-row.done .set-code{background:var(--primary);color:var(--on-primary)}.set-main{flex-direction:column;gap:8px;min-width:0;display:flex}.set-name{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.set-bar{border-radius:var(--shape-full);background:var(--surface-container-highest);height:8px;display:block;overflow:hidden}.set-bar>span{border-radius:inherit;background:var(--primary);height:100%;clip-path:inset(0 min(calc((1 - var(--p)) * 100%), calc(100% - 8px)) 0 0 round 999px);animation:set-fill .9s cubic-bezier(.16, 1, .3, 1) calc(var(--i) * 40ms) both;display:block}@keyframes set-fill{0%{clip-path:inset(0 100% 0 0 round 999px)}}.set-count{text-align:right;font-variant-numeric:tabular-nums;min-width:64px;font-size:15px;font-weight:750}.set-count small{color:var(--on-surface-variant);font-size:13px;font-weight:500;display:block}.set-row.done .set-count{color:var(--primary)}@media (prefers-reduced-motion:reduce){.set-bar>span{animation:none}}
