.floating-message{border-radius:var(--radius-md);color:var(--text-on-color);box-shadow:var(--box-shadow);z-index:1000;opacity:0;text-align:center;align-items:center;gap:.6rem;max-width:90%;padding:.85rem 1.25rem;font-weight:500;transition:opacity .3s ease-in-out,top .3s ease-in-out;display:inline-flex;position:fixed;top:20px;left:50%;transform:translate(-50%)}.floating-message-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.floating-message.visible{opacity:1;top:40px}.floating-message.success{background-color:var(--status-success)}.floating-message.error{background-color:var(--status-error)}.floating-message.info{background-color:var(--status-info)}.bi{text-align:left;vertical-align:middle;line-height:1.1;display:inline-block}.bi-main{display:block}.bi-sub{display:none}body.font-palapian .bi-sub{text-align:right;font-family:var(--font-system);letter-spacing:normal;text-transform:none;color:var(--text-muted);margin-top:-.05em;font-size:.6em;font-weight:400;line-height:1.2;display:block}.floating-icons-container{pointer-events:none;z-index:2000;width:100%;height:100%;position:fixed;bottom:0;left:0;overflow:hidden}.floating-icon{will-change:transform, opacity;animation-name:float-up;animation-timing-function:ease-out;animation-fill-mode:forwards;position:absolute;bottom:-50px}@keyframes float-up{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-100vh)scale(.5)}}.install-banner{background-color:var(--surface-2);border-bottom:1px solid var(--border-subtle);color:var(--text-body);z-index:20;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex;position:relative}.install-banner-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.install-banner-text{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.install-banner-text strong{color:var(--text-strong);font-size:.95rem;font-weight:600}.install-banner-inline-icon{vertical-align:-.18em;width:1em;height:1em;color:var(--action-lookup);margin:0 .1em;display:inline-block}.install-banner-action{background-color:var(--action-lookup);color:var(--text-on-color);border:1px solid var(--action-lookup-hover);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;flex-shrink:0;padding:.375rem .75rem;font-size:.875rem}.install-banner-action:hover{background-color:var(--action-lookup-hover)}.install-banner-dismiss{color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:.25rem .5rem;font-size:1.1rem;line-height:1}.install-banner-dismiss:hover{color:var(--text-body)}@font-face{font-family:PalapaNeue;src:url(/PalapaNeueLinearBlack.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--red:oklch(65% .2 27);--red-dim:oklch(53% .2 27);--green:oklch(67% .17 145);--green-dim:oklch(55% .16 145);--blue:oklch(67% .14 245);--blue-dim:oklch(54% .13 245);--amber:oklch(74% .15 75);--amber-dim:oklch(62% .14 75);--violet:oklch(63% .19 295);--violet-dim:oklch(51% .18 295);--surface-0:oklch(14% 0 0);--surface-1:oklch(18% 0 0);--surface-2:oklch(22% 0 0);--surface-3:oklch(28% 0 0);--surface-4:oklch(35% 0 0);--text-strong:oklch(96% 0 0);--text-body:oklch(90% 0 0);--text-muted:oklch(65% 0 0);--text-faint:oklch(50% 0 0);--text-on-color:oklch(98% 0 0);--border-subtle:oklch(28% 0 0);--border-strong:oklch(38% 0 0);--radius-sm:6px;--radius-md:8px;--radius-full:50%;--font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-palapa:"PalapaNeue", "Courier New", Courier, monospace, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--action-checkout:var(--red);--action-checkout-hover:var(--red-dim);--action-checkin:var(--green);--action-checkin-hover:var(--green-dim);--action-lookup:var(--blue);--action-lookup-hover:var(--blue-dim);--action-overview:var(--amber);--action-overview-hover:var(--amber-dim);--action-admin:var(--violet);--action-admin-hover:var(--violet-dim);--status-success:var(--green);--status-error:var(--red);--status-info:var(--blue);--status-warning:var(--amber);--status-success-bg:oklch(22% .06 145);--status-error-bg:oklch(22% .07 27);--status-info-bg:oklch(22% .05 245);--status-warning-bg:oklch(22% .05 75);--box-shadow:0 2px 8px oklch(0% 0 0/.4);--hairline:oklch(98% 0 0/.08);--hairline-strong:oklch(98% 0 0/.15);--hairline-dashed:oklch(98% 0 0/.25);--scrim-modal:oklch(0% 0 0/.8);--scrim-strong:oklch(0% 0 0/.4);--scrim-subtle:oklch(0% 0 0/.3);--well:oklch(0% 0 0/.2);--scanner-accepted-stroke:oklch(72% .13 240);--scanner-accepted-fill:oklch(72% .13 240/.18);--scanner-rejected-stroke:oklch(60% .17 25);--scanner-rejected-fill:oklch(60% .17 25/.2);--scanner-flash:oklch(100% 0 0);--scanner-stroke-width:4px;--badge-current-fg:oklch(80% .13 145);--badge-current-bg:oklch(60% .13 145/.22);--badge-current-border:oklch(60% .13 145/.4);--badge-stale-fg:oklch(80% .13 75);--badge-stale-bg:oklch(70% .13 75/.22);--badge-stale-border:oklch(70% .13 75/.4);--badge-unknown-fg:oklch(60% 0 0);--badge-unknown-bg:oklch(98% 0 0/.08);--badge-unknown-border:oklch(98% 0 0/.15);--log-amber:oklch(78% .16 65);--log-red:oklch(70% .18 25);--chip-bg:oklch(28% .03 245);--chip-border:oklch(40% .06 245);--chip-text:var(--text-body);--chip-icon:oklch(70% .1 245);--chip-primary-bg:oklch(36% .09 245);--chip-primary-border:oklch(52% .13 245);--chip-primary-text:oklch(96% .02 245);--chip-primary-icon:oklch(85% .13 245);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-display:2.5rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%}body{font-family:var(--font-system);color:var(--text-body);background-color:var(--surface-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}body.font-palapian{font-family:var(--font-palapa);font-size:1.3rem;font-weight:700}h1,h2,h3,h4,h5,h6{margin-bottom:var(--space-2);color:var(--text-strong);font-weight:500;line-height:1.2}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{margin-bottom:var(--space-4)}a{color:var(--action-lookup);text-decoration:none}a:hover{text-decoration:underline}.app-container{flex-direction:column;width:100%;min-height:100dvh;display:flex;position:relative}.app-header{background-color:var(--surface-1);color:var(--text-strong);padding:var(--space-4);text-align:center;border-bottom:1px solid var(--border-subtle);z-index:10;width:100%;position:sticky;top:0}.header-home-button{right:var(--space-3);color:var(--text-muted);border-radius:var(--radius-full);padding:var(--space-2);cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#0000;border:none;justify-content:center;align-items:center;font-family:inherit;transition:background-color .15s,color .15s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.header-home-button:hover{background-color:var(--surface-2);color:var(--text-strong)}.header-home-button .button-icon{width:1.5rem;height:1.5rem}.app-title{text-align:left;margin:0;line-height:1;display:inline-block}.app-title-main{font-family:var(--font-palapa);color:var(--text-strong);white-space:nowrap;font-size:clamp(1.25rem,6vw,2rem);line-height:1.1;display:block}.app-title-sub{text-align:right;font-family:var(--font-system);font-size:var(--text-xs);letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;margin-top:-.15rem;font-weight:400;display:block}.app-content{z-index:1;flex:1 0 auto;width:100%;position:relative}.app-footer{background-color:var(--surface-1);color:var(--text-muted);padding:var(--space-4);text-align:center;border-top:1px solid var(--border-subtle);z-index:2;width:100%;margin-top:auto;position:relative}.app-footer p{margin:0}.build-stamp{font-family:var(--font-system);color:var(--text-faint);letter-spacing:.02em;font-size:.65rem}.build-stamp-button{cursor:pointer;text-underline-offset:2px;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.build-stamp-button:hover,.build-stamp-button:focus-visible{color:var(--text-muted)}.centered-content{max-width:800px;padding:var(--space-4);width:100%;margin:0 auto}.section-label{font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted)}.page-title{font-size:var(--text-base);letter-spacing:.12em;text-transform:uppercase;color:var(--text-strong);margin-top:0;margin-bottom:1.25rem;font-weight:600}:focus-visible{outline:2px solid var(--action-lookup);outline-offset:2px}.user-avatar-fallback{background-color:var(--surface-3);color:var(--text-strong);font-weight:600;font-size:var(--text-2xl);letter-spacing:0;text-transform:uppercase;justify-content:center;align-items:center;display:flex}.button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) 1.25rem;background-color:var(--surface-3);min-height:44px;color:var(--text-body);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:var(--text-base);text-align:center;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.button-icon{flex-shrink:0;width:1.25em;height:1.25em}.meta-icon{flex-shrink:0;width:1em;height:1em}.button:hover{background-color:var(--surface-4)}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary,.button.lookup{background-color:var(--action-lookup);color:var(--text-on-color);border-color:var(--action-lookup-hover)}.button.primary:hover,.button.lookup:hover{background-color:var(--action-lookup-hover)}.button.danger{background-color:var(--action-checkout);color:var(--text-on-color);border-color:var(--action-checkout-hover)}.button.danger:hover{background-color:var(--action-checkout-hover)}.button.success{background-color:var(--action-checkin);color:var(--text-on-color);border-color:var(--action-checkin-hover)}.button.success:hover{background-color:var(--action-checkin-hover)}.button.overview{background-color:var(--action-overview);color:var(--surface-0);border-color:var(--action-overview-hover)}.button.overview:hover{background-color:var(--action-overview-hover)}.button.admin{background-color:var(--action-admin);color:var(--text-on-color);border-color:var(--action-admin-hover)}.button.admin:hover{background-color:var(--action-admin-hover)}.button.small{font-size:var(--text-sm);padding:.375rem .625rem}.button.large{padding:var(--space-4);font-size:1.2rem}.button-stack{flex-direction:column;align-items:center;gap:.15rem;line-height:1.1;display:inline-flex}.button-hint{font-size:var(--text-xs);letter-spacing:.02em;opacity:.8;text-transform:none;font-weight:400}.actions-row{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.actions-row>:only-child{margin-left:auto}.actions-group{gap:var(--space-3);display:flex}.actions-row.sticky{background-color:var(--surface-0);border-top:1px solid var(--border-subtle);padding:var(--space-3) var(--space-4);margin-inline:-var(--space-4);z-index:5;position:sticky;bottom:0}.panel,.status-strip,.scan-option,.cart-summary,.checkout-item{background-color:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.card,.asset-details-view,.settings-form,.assets-table,.user-strip,.empty-state{background-color:var(--surface-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.status-strip{align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;display:flex}.status-strip .status-value{color:var(--text-strong);font-weight:500}.scan-option{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);color:var(--text-body);cursor:pointer;margin:var(--space-2) 0 var(--space-4);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;display:flex}.scan-option input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--action-lookup);cursor:pointer;margin:0 var(--space-2) 0 0;flex-shrink:0}.scan-option>span{flex:1}.scan-option-with-icon{align-items:center;gap:.4rem;display:inline-flex}.audio-status{font-size:var(--text-sm);align-items:center;gap:.35rem;margin-top:.4rem;margin-bottom:0;display:inline-flex}.audio-status-web-audio{color:var(--status-success)}.audio-status-fallback{color:var(--status-warning)}.loading-indicator{padding:var(--space-6);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.spinner{border:4px solid var(--surface-3);border-radius:var(--radius-full);border-top:4px solid var(--action-lookup);width:40px;height:40px;margin-bottom:var(--space-4);animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-message{background-color:var(--status-error-bg);color:var(--text-strong);padding:var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);border:1px solid var(--status-error)}.error-content{justify-content:space-between;align-items:center;display:flex}.dismiss-button{color:var(--text-strong);cursor:pointer;background:0 0;border:none;font-weight:700}.api-key-prompt-layout{text-align:center;padding:var(--space-6) var(--space-4);flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.prompt-icon{margin-bottom:var(--space-4);color:var(--action-lookup);justify-content:center;display:flex}.prompt-icon svg{width:4rem;height:4rem}.prompt-header{margin-bottom:var(--space-2);color:var(--text-strong);font-size:1.75rem}.prompt-text{color:var(--text-muted);max-width:400px;margin-bottom:var(--space-5)}.api-key-form{gap:var(--space-4);flex-direction:column;width:100%;max-width:400px;display:flex}.api-key-input{width:100%;padding:var(--space-3);background-color:var(--surface-2);color:var(--text-strong);border:1px solid var(--border-strong);border-radius:var(--radius-sm);text-align:center;font-family:inherit;font-size:var(--text-base)}.api-key-help-link{margin-top:var(--space-4)}.settings-form{padding:var(--space-5)}.form-group{margin-bottom:var(--space-5)}.form-group label{margin-bottom:var(--space-2);color:var(--text-strong);font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-2);background-color:var(--surface-1);color:var(--text-body);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-base)}.form-group textarea{resize:vertical;min-height:5rem;line-height:1.4}.help-text{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted)}.message.success{background-color:var(--status-success-bg);border:1px solid var(--status-success);color:var(--text-strong);padding:var(--space-3);border-radius:var(--radius-sm);margin-top:var(--space-2)}.home{width:100%}.user-strip{color:var(--text-body);padding:var(--space-4) 1.25rem;margin:var(--space-4) 0 var(--space-5);grid-template-columns:auto 1fr auto;align-items:center;gap:1.25rem;display:grid}.user-avatar{border-radius:var(--radius-full);object-fit:cover;flex-shrink:0;width:60px;height:60px}.user-strip-info{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.user-strip-name{color:var(--text-strong);margin:0;font-size:1.1rem;font-weight:400}.surname-palapa{font-family:var(--font-palapa)}.user-strip-meta{font-size:var(--text-sm);color:var(--text-muted);gap:var(--space-3);flex-wrap:wrap;margin:0;display:flex}.user-strip-meta-pair{align-items:center;gap:var(--space-1);display:inline-flex}.user-strip-points{align-items:center;gap:var(--space-1);text-align:center;flex-direction:column;display:flex}.user-strip-points-button{padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;transition:background-color .12s}.user-strip-points-button:hover,.user-strip-points-button:focus-visible{background:var(--surface-1)}.user-strip-points .section-label{font-size:.65rem}.treuepunkte{font-size:var(--text-2xl);font-weight:700;line-height:1;animation:2s ease-in-out infinite flashy}@keyframes flashy{0%{color:var(--action-lookup);transform:scale(1)}50%{color:var(--action-checkin);transform:scale(1.15)}to{color:var(--action-lookup);transform:scale(1)}}.home-actions{gap:var(--space-3);margin:var(--space-5) 0;grid-template-columns:repeat(2,1fr);display:grid}.home-settings{justify-content:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.checkout-self-row{margin-bottom:var(--space-4);justify-content:center;display:flex}.scanner-container{width:100%;max-width:500px;margin:var(--space-4) auto;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background-color:var(--surface-1);overflow:hidden}.scanner-instruction{margin-top:var(--space-4);color:var(--text-muted);text-align:center;font-style:italic}.scanner-legend{color:var(--text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;gap:.4rem;margin-top:.4rem;display:flex}.scanner-legend-swatch{border-radius:2px;width:.9rem;height:.9rem;display:inline-block}.scanner-legend-swatch-accepted{background:var(--scanner-accepted-fill);border:2px solid var(--scanner-accepted-stroke)}.scanner-legend-swatch-rejected{background:var(--scanner-rejected-fill);border:2px solid var(--scanner-rejected-stroke);margin-left:.6rem}.asset-details-view{color:var(--text-body);padding:var(--space-5)}.asset-details-view h3{color:var(--text-strong)}.asset-details-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.asset-details-header h3{margin:0}.asset-details-actions{align-items:center;gap:var(--space-2);display:inline-flex}.button.icon-only{padding:var(--space-2);aspect-ratio:1;justify-content:center}.button.icon-only .button-icon{margin:0}.asset-bento{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"image status""image rel""ident ident""specs specs""notes notes";display:grid}.asset-bento-no-image{grid-template-areas:"status rel""ident ident""specs specs""notes notes"}.bento-cell{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:var(--space-4);min-width:0}.bento-image{aspect-ratio:1;background:var(--well);border-color:var(--hairline-strong);cursor:zoom-in;font:inherit;color:inherit;text-align:inherit;grid-area:image;padding:0;overflow:hidden}.bento-image:focus-visible{outline:2px solid var(--action-lookup);outline-offset:2px}.bento-image img{object-fit:contain;width:100%;height:100%;display:block}.image-lightbox{background:var(--scrim-modal);z-index:1100;padding:var(--space-4);cursor:zoom-out;border:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-lightbox img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%;box-shadow:var(--box-shadow)}.bento-state{justify-content:center;gap:var(--space-2);background:var(--chip-primary-bg);border-color:var(--chip-primary-border);color:var(--chip-primary-text);flex-direction:column;display:flex}.bento-state-status{grid-area:status}.bento-state-rel{grid-area:rel}.bento-cell-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:oklch(80% .05 245);font-weight:600;display:block}.bento-state-value{align-items:center;gap:var(--space-2);font-size:var(--text-lg);min-width:0;font-weight:600;display:flex}.bento-state-rel-icon{width:1em;height:1em;color:var(--chip-primary-icon);opacity:.7;flex-shrink:0}.bento-state-entity-icon{width:1.1em;height:1.1em;color:var(--chip-primary-icon);flex-shrink:0}.bento-state-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bento-identity{grid-area:ident}.bento-identity-meta{gap:var(--space-2) var(--space-5);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.bento-identity-meta-item{align-items:center;gap:var(--space-2);display:inline-flex}.bento-identity-mono{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text-strong)}.bento-specs{gap:var(--space-2);flex-direction:column;grid-area:specs;display:flex}.bento-spec-row{align-items:baseline;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--hairline);grid-template-columns:minmax(0,auto) 1fr;display:grid}.bento-spec-row:last-child{border-bottom:none;padding-bottom:0}.bento-spec-label{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-sm);display:inline-flex}.bento-spec-icon{width:1em;height:1em;color:var(--chip-icon);flex-shrink:0}.bento-spec-value{text-align:right;color:var(--text-strong);word-break:break-word;font-weight:500}.bento-notes{grid-area:notes}.bento-notes-body{margin-top:var(--space-2);white-space:pre-wrap;color:var(--text-body);line-height:1.55}@media (width<=480px){.asset-bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"image image""status rel""ident ident""specs specs""notes notes"}.asset-bento-no-image{grid-template-areas:"status rel""ident ident""specs specs""notes notes"}.bento-image{aspect-ratio:auto;max-height:260px}.bento-image img{max-height:260px}.bento-state{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.bento-state-value{font-size:var(--text-base)}.bento-state-entity-icon,.bento-state-rel-icon{width:1em;height:1em}.bento-cell-label{letter-spacing:.04em;font-size:.65rem}.bento-cell{padding:var(--space-3)}}.image-editor-input{display:none}.image-editor-row{gap:var(--space-4);align-items:center;margin-top:.4rem;display:flex}.image-editor-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--hairline-strong);background:var(--well);width:96px;height:96px}.image-editor-placeholder{border-radius:var(--radius-sm);border:1px dashed var(--hairline-dashed);width:96px;height:96px;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.image-editor-placeholder .button-icon{width:32px;height:32px}.image-editor-actions{gap:var(--space-2);flex-direction:column;display:flex}.image-crop-modal{background:var(--scrim-modal);z-index:1000;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.image-crop-modal-body{background:var(--surface-1);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-3);flex-direction:column;width:min(100%,480px);display:flex}.image-crop-stage{aspect-ratio:1;border-radius:var(--radius-sm);background:oklch(0% 0 0);width:100%;position:relative;overflow:hidden}.image-crop-controls{align-items:center;gap:var(--space-3);display:flex}.image-crop-zoom-label{color:var(--text-muted);font-size:var(--text-sm)}.image-crop-controls input[type=range]{flex:1}.image-crop-error{color:var(--status-error);font-size:var(--text-sm);margin:0}.container-children{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--hairline)}.container-children-list{margin:var(--space-2) 0 0;padding:0;list-style:none}.container-child{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--hairline);font-size:var(--text-sm);grid-template-columns:auto 1fr auto auto;display:grid}.container-child-tag{font-family:var(--font-mono,monospace);color:var(--text-muted);font-size:var(--text-sm)}.container-child-name{color:var(--text-body)}.container-child-status{color:var(--text-muted);font-size:var(--text-sm)}.container-child-link{color:var(--text-muted);justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;display:inline-flex}.container-child-link:hover{color:var(--text-strong)}.asset-image{border-radius:var(--radius-sm);object-fit:cover;max-width:150px;max-height:150px}.cart-summary{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);display:flex}.cart-count{align-items:center;gap:var(--space-3);display:flex}.cart-count-icon{width:2rem;height:2rem;color:var(--text-strong);flex-shrink:0}.cart-count-text{flex-direction:column;gap:.15rem;line-height:1;display:flex}.cart-count-number{font-size:var(--text-3xl);color:var(--text-strong);font-variant-numeric:tabular-nums;font-weight:700}.cart-count-label{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.cart-item{padding:.875rem 3.5rem .875rem var(--space-4);margin-bottom:var(--space-2);background-color:var(--surface-2);color:var(--text-body);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);position:relative}.cart-item h3{color:var(--text-strong)}.asset-fields p,.cart-item p,.checkout-item p,.user-details p{margin-bottom:var(--space-1)}.cart-item-info>h3{margin-bottom:.35rem}.cart-item-remove{top:var(--space-2);right:var(--space-2);width:2.75rem;height:2.75rem;color:var(--status-error);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#0000;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex;position:absolute}.cart-item-remove:hover,.cart-item-remove:focus-visible{background-color:var(--status-error-bg);border-color:var(--status-error);color:var(--text-strong)}.cart-item-remove .button-icon{width:1.1rem;height:1.1rem}.empty-state{text-align:center;padding:var(--space-6);color:var(--text-muted)}.checkout-item{padding:var(--space-3);margin-bottom:var(--space-2);color:var(--text-body)}.result-summary{text-align:center;margin-bottom:var(--space-5);padding:var(--space-4);border-radius:var(--radius-sm)}.success-message{color:var(--status-success);font-weight:700}.partial-success-message{color:var(--status-warning);font-weight:700}.result-item{padding:var(--space-4);margin-bottom:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background-color:var(--surface-2);color:var(--text-body)}.result-item.success{background-color:var(--status-success-bg);border-color:var(--status-success)}.result-item.failure{background-color:var(--status-error-bg);border-color:var(--status-error)}.asset-tag{font-size:var(--text-sm);color:var(--text-muted)}.asset-cell{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.checked-out-assets-view .view-header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.assets-table{overflow:hidden}.assets-table-header,.assets-table-row{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);align-items:center;gap:var(--space-4);grid-template-columns:2fr 1fr auto;display:grid}.assets-table-header{background-color:var(--surface-3);color:var(--text-strong);font-weight:700}.assets-table-row{color:var(--text-body)}.assets-table-row:last-child{border-bottom:none}.asset-name,.user-name{color:var(--text-strong);font-weight:500}.checkout-time{color:var(--text-muted);font-size:.9em}.user-group{margin-bottom:var(--space-6)}.user-name-header{background-color:var(--surface-3);color:var(--text-strong);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border-left:3px solid var(--action-lookup);margin-bottom:var(--space-4)}.animation-backdrop{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.animation-backdrop .emoji{font-size:var(--text-display);will-change:transform;position:absolute}.animation-backdrop .follower{font-size:var(--text-xl)}@keyframes drive-by-left{0%{transform:translate(0)scaleX(-1)}to{transform:translate(110vw)scaleX(-1)}}@keyframes drive-by-right{0%{transform:translate(0)}to{transform:translate(-110vw)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.spinner{animation-duration:1s!important;animation-iteration-count:infinite!important}.animation-backdrop,.floating-icon{display:none}}@media (width<=768px){.actions-row,.actions-group{gap:var(--space-2);flex-direction:column;width:100%}.button{width:100%}.assets-table-header{display:none}.assets-table-row{gap:var(--space-2);grid-template-columns:1fr}.assets-table-row .cell-user-info:before{content:"Checked out to: ";font-weight:700;display:inline}}@media (width<=420px){.home-actions{grid-template-columns:1fr}.user-strip{gap:var(--space-4);grid-template-columns:auto 1fr}.user-strip-points{justify-content:center;align-items:baseline;gap:var(--space-2);flex-direction:row;grid-column:1/-1}}.changelog{width:100%;max-width:800px}.changelog-day{margin-top:1.25rem}.changelog-day:first-of-type{margin-top:var(--space-2)}.changelog-list{margin:var(--space-2) 0 0 0;padding:0;list-style:none}.changelog-entry{padding:var(--space-2) 0;border-bottom:1px solid var(--hairline)}.changelog-meta{font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;gap:.6rem;margin-bottom:.2rem;display:flex}.changelog-sha{color:var(--text-strong);font-family:var(--font-system);font-variant-numeric:tabular-nums;font-size:var(--text-xs);background:var(--surface-2);border-radius:3px;padding:0 .35rem}.changelog-subject{font-size:var(--text-sm);word-break:break-word}.admin-dashboard{width:100%;max-width:1100px}.admin-tabs{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.admin-panel{margin-top:var(--space-4)}.admin-panel-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.admin-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.admin-table th,.admin-table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--hairline);vertical-align:top}.admin-table th{opacity:.7;font-weight:600}.admin-table-num{text-align:right;font-variant-numeric:tabular-nums}.admin-table-mono{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, monospace)}.link-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.admin-event-list{margin:0;padding:0;list-style:none}.admin-event-list>li{padding:var(--space-2) 0;border-bottom:1px solid var(--hairline);font-size:var(--text-sm)}.admin-event-head{gap:var(--space-3);opacity:.75;font-size:var(--text-xs);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.admin-event-time{font-variant-numeric:tabular-nums}.admin-event-body{word-break:break-word}.admin-event-meta{opacity:.6;font-size:var(--text-xs);margin-top:var(--space-1)}.admin-event-list pre{background:var(--scrim-subtle);padding:var(--space-2);border-radius:var(--radius-sm);max-height:240px;font-size:var(--text-xs);overflow-x:auto}.admin-log-proxy_event .admin-event-ctx{color:var(--log-amber)}.admin-log-client_error .admin-event-ctx{color:var(--log-red)}.admin-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:inline-block}.admin-badge-current{background:var(--badge-current-bg);color:var(--badge-current-fg);border:1px solid var(--badge-current-border)}.admin-badge-stale{background:var(--badge-stale-bg);color:var(--badge-stale-fg);border:1px solid var(--badge-stale-border)}.admin-badge-unknown{background:var(--badge-unknown-bg);color:var(--badge-unknown-fg);border:1px solid var(--badge-unknown-border)}.leaderboard-list{margin:var(--space-4) 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.leaderboard-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius-md);grid-template-columns:auto 1fr auto;display:grid}.leaderboard-rank-1{background:linear-gradient(90deg, oklch(36% .14 90) 0%, oklch(22% .04 90) 75%, var(--surface-1) 100%);border-color:oklch(40% .14 90)}.leaderboard-rank-2{background:linear-gradient(90deg, oklch(38% .02 240) 0%, oklch(22% .01 240) 75%, var(--surface-1) 100%);border-color:oklch(42% .02 240)}.leaderboard-rank-3{background:linear-gradient(90deg, oklch(34% .1 50) 0%, oklch(22% .04 50) 75%, var(--surface-1) 100%);border-color:oklch(38% .1 50)}.leaderboard-row-self{border-left:4px solid var(--action-checkin);font-weight:600}.leaderboard-rank{font-size:var(--text-xl);font-variant-numeric:tabular-nums;min-width:2.2em}.leaderboard-name{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-points{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.leaderboard-self-footer{margin-top:var(--space-4);padding:var(--space-3);text-align:center;color:var(--text-muted);border-top:1px dashed var(--hairline)}
