:root{--bg: #0b0712;--bg-elevated: #130d1f;--surface: #1b1329;--surface-2: #241a37;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--text: #f6f4fb;--text-muted: #b7add0;--text-faint: #877c9e;--text-on-primary: #ffffff;--primary: #9f6bff;--primary-strong: #b794ff;--accent-pink: #ec4899;--accent-blue: #4f9dff;--accent-gold: #f5b942;--accent-green: #34d399;--accent-red: #f87171;--gradient-brand: linear-gradient(135deg, #9f6bff 0%, #ec4899 100%);--gradient-glow: radial-gradient(60% 60% at 50% 40%, rgba(159, 107, 255, .35) 0%, rgba(159, 107, 255, 0) 70%);--shadow-glow: 0 20px 60px rgba(120, 60, 220, .25);--radius-sm: .5rem;--radius-md: 1rem;--radius-lg: 1.5rem;--radius-full: 999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Lexend", "Inter", sans-serif;--font-mono: "Consolas", "Menlo", "Monaco", monospace;--touch-target: 44px;color-scheme:dark}*{box-sizing:border-box}html{height:100%}body{min-height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-display);margin:0;line-height:1.15;letter-spacing:-.02em}p{margin:0}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--primary) 14%,transparent);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent);color:var(--primary-strong);font-size:.8125rem;font-weight:600;letter-spacing:.02em}.gradient-text{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;font-size:.9rem;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}@media(pointer:coarse){.btn{min-height:var(--touch-target)}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-lg{padding:.85rem 1.5rem;font-size:.95rem}.btn-pill{border-radius:var(--radius-full)}.btn-glow{box-shadow:var(--shadow-glow)}.btn-primary{background:var(--gradient-brand);color:var(--text-on-primary)}@media(hover:hover){.btn-primary:hover:not(:disabled){transform:translateY(-1px)}}.btn-ghost{background:var(--surface-2);border-color:var(--border-strong);color:var(--text)}@media(hover:hover){.btn-ghost:hover:not(:disabled){border-color:var(--primary);color:var(--primary-strong)}}.btn-danger{color:var(--accent-red)}@media(hover:hover){.btn-danger:hover:not(:disabled){border-color:var(--accent-red);color:var(--accent-red)}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.chip{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0;padding:.35rem .75rem;border-radius:var(--radius-full);border:1px solid transparent;background:var(--surface-2);color:var(--text-faint);font-size:.8rem;font-weight:600;white-space:nowrap}button.chip{cursor:pointer}@media(pointer:coarse){button.chip{min-height:var(--touch-target)}}@media(hover:hover){button.chip:hover:not(.chip--active){color:var(--text)}}.chip--active{background:var(--gradient-brand);color:var(--text-on-primary)}.pill{--tone: var(--text-muted);display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .625rem;border-radius:var(--radius-full);background:color-mix(in srgb,var(--tone) 16%,transparent);color:var(--tone);font-size:.75rem;font-weight:600;white-space:nowrap}.pill--sm{padding:.1rem .45rem;font-size:.7rem}.pill--dot:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:currentColor}.message{--tone: var(--accent-blue);display:block;width:fit-content;max-width:100%;padding:.6rem .85rem;border-radius:var(--radius-md);background:color-mix(in srgb,var(--tone) 14%,transparent);border:1px solid color-mix(in srgb,var(--tone) 30%,transparent);color:var(--tone);font-size:.85rem;line-height:1.5}.state{display:flex;align-items:center;gap:.6rem;padding:1rem 0;color:var(--text-muted);font-size:.9rem}.state--error{color:var(--accent-red)}.spinner{--spinner-size: 1rem;display:inline-block;flex-shrink:0;width:var(--spinner-size);height:var(--spinner-size);border-radius:50%;border:max(2px,var(--spinner-size) * .1) solid var(--border-strong);border-top-color:var(--primary);animation:ui-spin .8s linear infinite}.spinner--lg{--spinner-size: 2rem}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}@keyframes ui-spin{to{transform:rotate(360deg)}}.field{display:flex;flex-direction:column;gap:.4rem;min-width:10rem}.field__label{font-size:.8rem;color:var(--text-faint)}.control,.field :is(input:not([type=checkbox],[type=radio]),select,textarea){padding:.6rem .75rem;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text)}@media(pointer:coarse){.control,.field :is(input:not([type=checkbox],[type=radio]),select,textarea){min-height:var(--touch-target)}}.control.is-invalid,.control[aria-invalid=true],.field :is(input:not([type=checkbox],[type=radio]),select,textarea).is-invalid,.field :is(input:not([type=checkbox],[type=radio]),select,textarea)[aria-invalid=true]{border-color:var(--accent-red)}.field--grow{flex:1 1 14rem}.field--narrow{min-width:unset;width:9rem}.field--compact{min-width:unset}.control--compact,.field.field--compact :is(input:not([type=checkbox],[type=radio]),select,textarea){padding:.55rem .7rem;font-size:.875rem}.field--checkbox{flex-direction:row-reverse;justify-content:flex-end;align-items:center;align-self:center;gap:.5rem;min-width:unset}.field--checkbox .field__label{color:var(--text-muted);font-size:.85rem}.field--checkbox input{width:1.05rem;height:1.05rem;margin:0;accent-color:var(--primary)}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th{text-align:left;color:var(--text-faint);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.table td{padding:.7rem .75rem;border-bottom:1px solid var(--border)}.table tr:last-child td{border-bottom:none}@media(max-width:640px){.table{display:block;overflow-x:auto}}.logo{display:inline-flex;align-items:center;gap:.625rem;font-family:var(--font-display);font-weight:700;letter-spacing:-.01em}.logo__icon{flex-shrink:0}.logo__label{display:block;font-family:var(--font-sans);font-weight:500;font-size:.6875rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.06em}.tcg-badge{position:relative;display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.875rem;height:1.875rem;overflow:hidden;border-radius:.5625rem;background:var(--surface-2);color:var(--primary-strong);font-size:.6875rem;font-weight:700;letter-spacing:.02em;line-height:1}.tcg-badge img{position:absolute;inset:0;width:100%;height:100%;padding:3px;object-fit:contain}.tcg-badge svg{width:60%;height:60%}.tcg-badge img:not([hidden])~.tcg-badge__initials{visibility:hidden}.tcg-badge--lg{width:2.25rem;height:2.25rem;border-radius:.625rem}.card-tile{display:flex;flex-direction:column;gap:.25rem;width:100%;min-width:0;padding:0;border:0;background:none;color:var(--text);text-align:left;-webkit-tap-highlight-color:transparent}button.card-tile{cursor:pointer}button.card-tile:active .card-tile__image{transform:scale(.97)}.card-tile__image{position:relative;display:block;flex-shrink:0;width:100%;aspect-ratio:63/88;overflow:hidden;border:var(--card-tile-frame, 0);border-radius:var(--radius-sm);box-shadow:var(--card-tile-shadow, none);background:var(--card-tile-art, var(--surface-2));transition:transform .12s ease-out}.card-tile__image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card-tile__name,.card-tile__meta{max-width:100%}.card-tile__name{overflow:hidden;font-size:.8rem;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.card-tile__meta{display:flex;justify-content:space-between;gap:.25rem;color:var(--text-faint);font-size:.7rem}.card-tile__rarity{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-tile__price{flex-shrink:0;color:var(--accent-gold);font-weight:600}.owned-badge{position:absolute;right:.3rem;bottom:.3rem;padding:.1rem .45rem;border-radius:.5rem;background:var(--accent-green);color:color-mix(in srgb,var(--accent-green) 20%,black);font-size:.7rem;font-weight:700;line-height:1.4}.tone-neutral{--tone: var(--text-muted)}.tone-primary{--tone: var(--primary-strong)}.tone-info{--tone: var(--accent-blue)}.tone-success{--tone: var(--accent-green)}.tone-warning{--tone: var(--accent-gold)}.tone-danger{--tone: var(--accent-red)}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;display:flex;max-width:100%;max-height:100%;z-index:1000}.cdk-overlay-backdrop{position:absolute;inset:0;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;touch-action:manipulation;z-index:1000;transition:opacity .4s cubic-bezier(.25,.8,.25,1)}@media(prefers-reduced-motion){.cdk-overlay-backdrop{transition-duration:1ms}}.cdk-overlay-backdrop-showing{opacity:1}@media(forced-colors:active){.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:#00000052}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing,.cdk-high-contrast-active .cdk-overlay-transparent-backdrop{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;display:flex;flex-direction:column;min-width:1px;min-height:1px;z-index:1000}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.cdk-overlay-popover{background:none;border:none;padding:0;outline:0;overflow:visible;position:fixed;pointer-events:none;white-space:normal;color:inherit;text-decoration:none;width:100%;height:100%;inset:0 auto auto 0}.cdk-overlay-popover::backdrop{display:none}.cdk-overlay-popover .cdk-overlay-backdrop{position:fixed;z-index:auto}.dialog-backdrop{background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog,.dialog__form{display:flex;flex-direction:column;gap:1rem}.dialog{width:min(28rem,100vw - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.5rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:0 24px 64px #00000080}.dialog__title{font-size:1.15rem}.dialog__message{color:var(--text-muted);font-size:.9rem;line-height:1.55}.dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.75rem;margin-top:.25rem}:root{--sidebar-width: 240px}.page{display:flex;flex-direction:column;gap:1.5rem}.page__head p{margin-top:.35rem;color:var(--text-muted);font-size:.9rem}.card h2{font-size:1.05rem}
