:root{--color-ink: #0F1C2E;--color-ink-light: #3D4F63;--color-ink-muted: #7A8A9E;--color-parchment: #F5F0E8;--color-parchment-warm: #EDE7DB;--color-parchment-deep: #DED5C4;--color-accent: #D4820A;--color-accent-hover: #B86E08;--color-accent-light: rgba(212, 130, 10, .1);--color-accent-wash: #FFF8ED;--color-success: #2E7D4F;--color-success-light: #E4F2EA;--color-warning: #C48B2C;--color-warning-light: #FFF7E6;--color-danger: #C0392B;--color-danger-light: #FDECEB;--color-white: #FFFFFF;--color-overlay: rgba(15, 28, 46, .55);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.125rem;--text-lg: 1.25rem;--text-xl: 1.5rem;--text-2xl: 2rem;--text-3xl: 2.75rem;--text-4xl: 3.5rem;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.7;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .06em;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--radius-xs: .1875rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--shadow-subtle: 0 1px 2px rgba(15, 28, 46, .04), 0 1px 3px rgba(15, 28, 46, .06);--shadow-elevated: 0 2px 4px rgba(15, 28, 46, .04), 0 6px 18px rgba(15, 28, 46, .08);--shadow-dramatic: 0 4px 8px rgba(15, 28, 46, .06), 0 12px 36px rgba(15, 28, 46, .12);--shadow-inner: inset 0 2px 4px rgba(15, 28, 46, .05);--transition-fast: .15s ease-out;--transition-smooth: .3s ease-out;--transition-slow: .5s ease-out;--border-thin: 1px;--border-medium: 2px;--border-thick: 3px;--border-color: var(--color-parchment-deep);--border-color-strong: var(--color-ink-muted);--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal-backdrop: 350;--z-modal: 400;--z-toast: 500;--content-max-width: 1200px;--content-narrow: 720px;--sidebar-width: 280px;--nav-height: 3.75rem;--bottom-nav-height: 3.5rem;--anim-ease-entrance: cubic-bezier(.22, 1, .36, 1);--anim-ease-exit: ease-out;--anim-duration-instant: 0ms;--anim-duration-fast: .15s;--anim-duration-smooth: .3s;--anim-duration-medium: .5s;--anim-duration-slow: .8s;--anim-stagger-delay: 50ms;--anim-lift-distance: var(--space-2xs);--anim-slide-distance: var(--space-sm);--anim-parallax-factor: .3}[data-theme=dark]{--color-ink: #E8E2D8;--color-ink-light: #B8AFA2;--color-ink-muted: #7A7268;--color-parchment: #121110;--color-parchment-warm: #1C1A18;--color-parchment-deep: #282420;--color-accent: #E99A2E;--color-accent-hover: #F0AA48;--color-accent-light: rgba(233, 154, 46, .12);--color-accent-wash: #1E1810;--color-success: #4ADE80;--color-success-light: #142018;--color-warning: #FBBF24;--color-warning-light: #201A0C;--color-danger: #F87171;--color-danger-light: #201010;--color-white: #1C1A18;--color-overlay: rgba(0, 0, 0, .65);--shadow-subtle: 0 1px 2px rgba(0, 0, 0, .15), 0 1px 3px rgba(0, 0, 0, .2);--shadow-elevated: 0 2px 4px rgba(0, 0, 0, .18), 0 6px 18px rgba(0, 0, 0, .25);--shadow-dramatic: 0 4px 8px rgba(0, 0, 0, .22), 0 12px 36px rgba(0, 0, 0, .35);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .15);--border-color: var(--color-parchment-deep);--border-color-strong: var(--color-ink-muted)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-ink);background-color:var(--color-parchment);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}img{max-width:100%;display:block}button{font:inherit;border:none;background:none;cursor:pointer}input,textarea,select{font:inherit}.text-display{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-ink)}.text-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);color:var(--color-ink)}.text-subheading{font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:var(--leading-normal);color:var(--color-ink)}.text-body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--color-ink)}.text-caption{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--color-ink-light)}.text-label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-ink-muted)}.text-price{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-accent);line-height:var(--leading-tight)}.surface{background-color:var(--color-white);border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg)}.surface--elevated{background-color:var(--color-white);border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-elevated)}.surface--inset{background-color:var(--color-parchment-warm);border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-inner)}.surface--flat{background-color:var(--color-parchment-warm);border-radius:var(--radius-md);padding:var(--space-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-normal);padding:var(--space-xs) var(--space-lg);border-radius:var(--radius-md);border:var(--border-medium) solid transparent;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap;color:var(--color-ink);background-color:transparent}.btn:focus-visible{outline:var(--border-medium) solid var(--color-accent);outline-offset:var(--space-3xs)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.input{display:block;width:100%;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);padding:var(--space-xs) var(--space-md);min-height:44px;border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-md);background-color:var(--color-white);color:var(--color-ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input::placeholder{color:var(--color-ink-muted)}.input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 var(--space-3xs) var(--color-accent-light)}.textarea{display:block;width:100%;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);padding:var(--space-sm) var(--space-md);border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-md);background-color:var(--color-white);color:var(--color-ink);resize:vertical;min-height:var(--space-4xl);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 var(--space-3xs) var(--color-accent-light)}.select{display:block;width:100%;font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);padding:var(--space-xs) var(--space-md);padding-right:var(--space-xl);border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-md);background-color:var(--color-white);color:var(--color-ink);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%237A8A9E' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5l-5-5h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-sm) center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 var(--space-3xs) var(--color-accent-light)}.badge{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:var(--leading-normal);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}.tag{display:inline-flex;align-items:center;gap:var(--space-2xs);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:var(--leading-normal);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);background-color:var(--color-parchment-warm);color:var(--color-ink-light);border:var(--border-thin) solid var(--border-color)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full);overflow:hidden;background-color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-parchment);flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.divider{border:none;height:var(--border-thin);background-color:var(--border-color);margin:var(--space-lg) 0}.container{width:100%;max-width:var(--content-max-width);margin-left:auto;margin-right:auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}.container--narrow{max-width:var(--content-narrow)}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.stack--xs{gap:var(--space-xs)}.stack--sm{gap:var(--space-sm)}.stack--lg{gap:var(--space-lg)}.stack--xl{gap:var(--space-xl)}.stack--2xl{gap:var(--space-2xl)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-md)}.cluster--xs{gap:var(--space-xs)}.cluster--sm{gap:var(--space-sm)}.cluster--lg{gap:var(--space-lg)}.grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.sidebar-layout{display:grid;gap:var(--space-xl);grid-template-columns:var(--sidebar-width) 1fr}@media (max-width: 768px){.sidebar-layout{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only--focusable:focus{position:fixed;top:var(--space-xs);left:var(--space-xs);width:auto;height:auto;padding:var(--space-sm) var(--space-md);margin:0;overflow:visible;clip:auto;white-space:normal;z-index:var(--z-toast);background:var(--color-accent);color:var(--color-parchment);border-radius:var(--radius-md);font-weight:var(--weight-semibold);text-decoration:none}.text--muted{color:var(--color-ink-muted)}.text--light{color:var(--color-ink-light)}.text--accent{color:var(--color-accent)}.text--success{color:var(--color-success)}.text--danger{color:var(--color-danger)}.text--center{text-align:center}.text--right{text-align:right}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.btn--primary{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.btn--primary:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--secondary{background-color:var(--color-parchment-warm);color:var(--color-ink);border-color:var(--border-color)}.btn--secondary:hover{background-color:var(--color-parchment-deep)}.btn--ghost{background-color:transparent;color:var(--color-ink-light);border-color:transparent}.btn--ghost:hover{background-color:var(--color-parchment-warm);color:var(--color-ink)}.btn--accent-ghost{background-color:transparent;color:var(--color-accent);border-color:transparent}.btn--accent-ghost:hover{background-color:var(--color-accent-light)}.btn--outline{background-color:transparent;color:var(--color-ink);border-color:var(--border-color-strong)}.btn--outline:hover{border-color:var(--color-ink);background-color:var(--color-parchment-warm)}.btn--danger{background-color:var(--color-danger);color:var(--color-white);border-color:var(--color-danger)}.btn--danger:hover{opacity:.9}.btn--sm{font-size:var(--text-xs);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-sm)}.btn--lg{font-size:var(--text-md);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-lg)}.btn--icon{padding:var(--space-xs);border-radius:var(--radius-full)}.btn--full{width:100%}.badge--condition-new{background-color:var(--color-success-light);color:var(--color-success);border:var(--border-thin) solid var(--color-success);border-style:dashed}.badge--condition-good{background-color:#f0fdf4;color:#16a34a;border:var(--border-thin) solid #16a34a;border-style:dashed}[data-theme=dark] .badge--condition-good{background-color:#14291e;color:#4ade80;border-color:#4ade80}.badge--condition-fair{background-color:#fffbeb;color:#d97706;border:var(--border-thin) solid #d97706;border-style:dashed}[data-theme=dark] .badge--condition-fair{background-color:#291f0a;color:#fbbf24;border-color:#fbbf24}.badge--condition-poor{background-color:var(--color-danger-light);color:var(--color-danger);border:var(--border-thin) solid var(--color-danger);border-style:dashed}.badge--department{background-color:var(--color-parchment-warm);color:var(--color-ink-light);border:var(--border-thin) solid var(--border-color)}.badge--featured{background-color:var(--color-accent);color:var(--color-white)}.badge--sold{background-color:var(--color-ink);color:var(--color-parchment)}.badge--pending{background-color:var(--color-warning-light, #fffbeb);color:var(--color-warning, #d97706);border:var(--border-thin) dashed var(--color-warning, #d97706)}.badge--verified{background-color:var(--color-ink);color:var(--color-parchment);font-size:var(--text-xs);gap:var(--space-2xs)}.surface--interactive{cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.surface--interactive:hover{transform:translateY(calc(-1 * var(--space-3xs)));box-shadow:var(--shadow-dramatic)}.surface--interactive:active{transform:translateY(0);box-shadow:var(--shadow-subtle)}.surface--accent-border{border-left:var(--border-thick) solid var(--color-accent)}.surface--compact{padding:var(--space-md)}.surface--spacious{padding:var(--space-xl)}.surface--flush{padding:0}.tag--department{background-color:var(--color-ink);color:var(--color-parchment);border-color:transparent;font-weight:var(--weight-semibold)}.tag--price{background-color:var(--color-accent-wash);color:var(--color-accent);border-color:transparent;font-weight:var(--weight-bold);font-size:var(--text-sm)}.tag--clickable{cursor:pointer;transition:all var(--transition-fast)}.tag--clickable:hover,.tag--active{background-color:var(--color-ink);color:var(--color-parchment);border-color:transparent}.text-heading--serif{font-family:var(--font-display)}.text-heading--sans{font-family:var(--font-body)}.text-heading--sm{font-size:var(--text-lg)}.text-heading--lg{font-size:var(--text-2xl)}.text-heading--xl{font-size:var(--text-3xl)}.text-body--sm{font-size:var(--text-sm)}.text-body--lg,.text-price--sm{font-size:var(--text-md)}.text-price--lg{font-size:var(--text-2xl)}.avatar--sm{width:var(--space-xl);height:var(--space-xl);font-size:var(--text-xs)}.avatar--md{width:var(--space-2xl);height:var(--space-2xl);font-size:var(--text-sm)}.avatar--lg{width:var(--space-3xl);height:var(--space-3xl);font-size:var(--text-xl)}.avatar--xl{width:var(--space-4xl);height:var(--space-4xl);font-size:var(--text-2xl)}.input--sm{font-size:var(--text-sm);padding:var(--space-3xs) var(--space-sm)}.input--lg{font-size:var(--text-md);padding:var(--space-sm) var(--space-lg)}.input--search{padding-left:var(--space-2xl);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%237A8A9E' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:var(--space-sm) center}@media (max-width: 768px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}@media (min-width: 769px) and (max-width: 1024px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}.nav-bar{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--color-white);border-bottom:var(--border-thin) solid var(--border-color);box-shadow:var(--shadow-subtle);-webkit-backdrop-filter:blur(var(--space-xs));backdrop-filter:blur(var(--space-xs))}.nav-bar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);height:var(--nav-height)}.nav-bar__logo{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-ink);letter-spacing:var(--tracking-tight);text-decoration:none;flex-shrink:0;display:flex;align-items:center;gap:var(--space-xs)}.nav-bar__logo-icon{font-size:var(--text-lg);color:var(--color-accent)}.nav-bar__search{flex:1;max-width:420px}.nav-bar__actions{display:flex;align-items:center;gap:var(--space-xs);flex-shrink:0}@media (max-width: 768px){.nav-bar__search{display:none}.nav-bar__actions .btn:not(.btn--primary):not(.btn--icon){display:none}}.search-bar{display:flex;align-items:center;gap:var(--space-sm);width:100%;max-width:560px}.search-bar .input{flex:1}.book-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);background-color:var(--color-white);border:var(--border-thin) solid var(--border-color);box-shadow:var(--shadow-subtle);cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast);text-decoration:none;color:inherit}.book-card:hover{transform:translateY(calc(-1 * var(--space-2xs)));box-shadow:var(--shadow-dramatic)}.book-card__image{position:relative;aspect-ratio:3 / 4;overflow:hidden;background-color:var(--color-parchment-warm)}.book-card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-smooth)}.book-card:hover .book-card__image img{transform:scale(1.03)}.book-card__badges{position:absolute;top:var(--space-sm);left:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-2xs)}.book-card__save{position:absolute;top:var(--space-sm);right:var(--space-sm);width:var(--space-xl);height:var(--space-xl);border-radius:var(--radius-full);background-color:var(--color-white);box-shadow:var(--shadow-subtle);display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all var(--transition-fast);color:var(--color-ink-muted);font-size:var(--text-md)}.book-card__save:hover,.book-card__save--active{color:var(--color-danger);transform:scale(1.1)}.book-card__body{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);flex:1}.book-card__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-ink);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-card__author{font-size:var(--text-sm);color:var(--color-ink-muted)}.book-card__meta{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;margin-top:auto}.book-card__footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);border-top:var(--border-thin) solid var(--border-color)}.book-card__seller{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-ink-light)}.book-card__price{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-accent)}@media (max-width: 639px){.book-card{flex-direction:row}.book-card__image{width:96px;flex:0 0 96px;aspect-ratio:unset;height:auto;min-height:128px;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.book-card__body{flex:1;min-width:0}.book-card__badges{top:var(--space-xs);left:var(--space-xs)}.book-card__save{top:var(--space-xs);right:var(--space-xs)}}.book-cover-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);background-color:var(--color-parchment-warm);position:relative;overflow:hidden}.book-cover-placeholder__band{position:absolute;left:0;right:0;height:40%;top:30%;background-color:var(--color-accent);opacity:.9}.book-cover-placeholder__title{position:relative;z-index:var(--z-raised);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-white);text-align:center;line-height:var(--leading-snug);max-width:80%}.book-cover-placeholder__author{position:relative;z-index:var(--z-raised);font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-normal);font-style:italic;color:var(--color-parchment);text-align:center;margin-top:var(--space-xs)}.book-cover-placeholder__spine{position:absolute;top:var(--space-md);bottom:var(--space-md);left:0;width:var(--space-3xs);background-color:var(--color-ink);opacity:.15}.filter-bar{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-bar__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-muted);white-space:nowrap;flex-shrink:0}.listing-detail{display:grid;gap:var(--space-2xl);grid-template-columns:5fr 7fr;align-items:start}@media (max-width: 768px){.listing-detail{grid-template-columns:1fr}}.listing-detail__gallery{position:relative;border-radius:var(--radius-lg);overflow:hidden;background-color:var(--color-parchment-warm);aspect-ratio:3 / 4;box-shadow:var(--shadow-elevated);max-height:520px;position:sticky;top:calc(var(--nav-height) + var(--space-lg))}@media (max-width: 768px){.listing-detail__gallery{position:static;max-height:320px;aspect-ratio:4 / 3}}.listing-detail__gallery img{width:100%;height:100%;object-fit:cover}.listing-detail__thumbs{display:flex;gap:var(--space-xs);margin-top:var(--space-sm)}.listing-detail__thumb{width:var(--space-3xl);height:var(--space-3xl);border-radius:var(--radius-md);overflow:hidden;border:var(--border-medium) solid transparent;cursor:pointer;opacity:.6;transition:all var(--transition-fast)}.listing-detail__thumb:hover,.listing-detail__thumb--active{opacity:1;border-color:var(--color-accent)}.listing-detail__thumb img{width:100%;height:100%;object-fit:cover}.listing-detail__info{display:flex;flex-direction:column;gap:var(--space-lg)}.listing-detail__meta{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.listing-detail__description{font-size:var(--text-base);color:var(--color-ink);line-height:var(--leading-relaxed)}.listing-detail__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}@media (max-width: 639px){.listing-detail__actions{flex-direction:column}.listing-detail__actions .btn{width:100%;justify-content:center}}.listing-detail__specs{display:grid;grid-template-columns:auto 1fr;gap:var(--space-xs) var(--space-lg)}.listing-detail__specs dt{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.listing-detail__specs dd{font-size:var(--text-sm);color:var(--color-ink)}.seller-card{display:flex;align-items:center;gap:var(--space-md)}.seller-card__info{display:flex;flex-direction:column;gap:var(--space-3xs)}.seller-card__name{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-ink);display:flex;align-items:center;gap:var(--space-xs)}.seller-card__meta{font-size:var(--text-sm);color:var(--color-ink-muted)}.seller-profile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md)}.seller-profile__stats{display:flex;gap:var(--space-xl);flex-wrap:wrap}@media (max-width: 639px){.seller-profile__stats{gap:var(--space-md);justify-content:center}}.seller-profile__stat{display:flex;flex-direction:column;align-items:center}.seller-profile__stat-value{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-ink)}.seller-profile__stat-label{font-size:var(--text-xs);color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.step-indicator{display:flex;align-items:center;gap:0;width:100%}.step-indicator__step{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-ink-muted);white-space:nowrap}.step-indicator__step--active{color:var(--color-accent);font-weight:var(--weight-semibold)}.step-indicator__step--completed{color:var(--color-success)}.step-indicator__number{width:var(--space-xl);height:var(--space-xl);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:var(--weight-semibold);background-color:var(--color-parchment-warm);color:var(--color-ink-muted);border:var(--border-medium) solid var(--border-color);flex-shrink:0;transition:all var(--transition-fast)}.step-indicator__step--active .step-indicator__number{background-color:var(--color-accent);color:var(--color-white);border-color:var(--color-accent)}.step-indicator__step--completed .step-indicator__number{background-color:var(--color-success);color:var(--color-white);border-color:var(--color-success)}.step-indicator__line{flex:1;height:var(--border-medium);background-color:var(--border-color);min-width:var(--space-lg);margin:0 var(--space-xs);border-radius:var(--radius-full)}.step-indicator__line--completed{background-color:var(--color-success)}@media (max-width: 768px){.step-indicator__step-label{display:none}}.hero{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center;background-color:var(--color-parchment-warm);border-bottom:var(--border-thin) solid var(--border-color);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,var(--color-accent-light) 0%,transparent 50%),radial-gradient(circle at 80% 20%,var(--color-accent-light) 0%,transparent 40%);pointer-events:none}.hero__inner{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.hero__subtitle{max-width:480px;font-size:var(--text-md);color:var(--color-ink-light);line-height:var(--leading-relaxed)}@media (max-width: 639px){.hero{padding:var(--space-lg) 0 var(--space-md)}.hero__inner{gap:var(--space-sm)}.hero__subtitle{display:none}}.category-pills{display:flex;flex-wrap:wrap;gap:var(--space-xs);justify-content:center}.section{padding:var(--space-2xl) 0}.section__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-lg);gap:var(--space-md)}.site-footer{background-color:var(--color-parchment-warm);border-top:var(--border-thin) solid var(--border-color);padding:var(--space-2xl) 0;margin-top:var(--space-2xl)}.site-footer__inner{display:grid;gap:var(--space-xl);grid-template-columns:2fr 1fr 1fr 1fr}@media (max-width: 768px){.site-footer__inner{grid-template-columns:1fr 1fr}}.site-footer__brand{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--color-ink);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-xs)}.site-footer__links{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.site-footer__links a{font-size:var(--text-sm);color:var(--color-ink-light)}.site-footer__links a:hover{color:var(--color-accent)}.site-footer__heading{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin-bottom:var(--space-sm)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-overlay);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-md)}.modal{width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;z-index:var(--z-modal);background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-dramatic);padding:var(--space-xl)}@media (max-width: 480px){.modal{max-width:calc(100vw - var(--space-lg));padding:var(--space-lg);border-radius:var(--radius-md)}}.modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.toast{position:fixed;bottom:var(--space-lg);right:var(--space-lg);z-index:var(--z-toast);min-width:280px;max-width:400px}@media (max-width: 768px){.toast{bottom:calc(var(--bottom-nav-height) + var(--space-md));right:var(--space-md);left:var(--space-md);min-width:0;max-width:none}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-3xl) var(--space-lg);text-align:center}.empty-state__icon{font-size:var(--space-3xl);opacity:.3}.empty-state__quote{font-family:var(--font-display);font-size:var(--text-md);font-style:italic;color:var(--color-ink-muted);max-width:360px;line-height:var(--leading-relaxed)}.empty-state__attribution{font-size:var(--text-sm);color:var(--color-ink-muted)}.rating{display:inline-flex;gap:var(--space-3xs);color:var(--color-accent);font-size:var(--text-sm)}.rating--lg{font-size:var(--text-lg)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-sticky);background-color:var(--color-white);border-top:var(--border-thin) solid var(--border-color);box-shadow:var(--shadow-elevated);display:none;padding-bottom:env(safe-area-inset-bottom,0px)}@media (max-width: 768px){.bottom-nav{display:flex}body{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.site-footer{display:none}}.bottom-nav__items{display:flex;width:100%;align-items:stretch;list-style:none;height:var(--bottom-nav-height)}.bottom-nav__items>li{flex:1;display:flex}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3xs);font-size:.625rem;color:var(--color-ink-muted);text-decoration:none;cursor:pointer;transition:color var(--transition-fast);border:none;background:none;padding:var(--space-xs) 0;min-width:0;min-height:44px}.bottom-nav__item:hover,.bottom-nav__item--active{color:var(--color-accent)}.bottom-nav__item-icon{font-size:var(--text-lg);line-height:1}.bottom-nav__item-icon--accent{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background-color:var(--color-accent);color:var(--color-parchment);font-size:var(--text-xl);font-weight:var(--weight-bold)}.form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.form-group__label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink)}.form-group__hint{font-size:var(--text-sm);color:var(--color-ink-muted)}.form-group__error{font-size:var(--text-sm);color:var(--color-danger)}.upload-zone{border:var(--border-medium) dashed var(--border-color);border-radius:var(--radius-lg);padding:var(--space-2xl);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);cursor:pointer;transition:all var(--transition-fast);background-color:var(--color-parchment-warm);text-align:center}.upload-zone:hover{border-color:var(--color-accent);background-color:var(--color-accent-wash)}.upload-zone__icon{font-size:var(--text-2xl);color:var(--color-ink-muted)}.upload-zone__photos{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md)}.upload-zone__preview{width:var(--space-4xl);height:var(--space-4xl);border-radius:var(--radius-md);overflow:hidden;position:relative;border:var(--border-thin) solid var(--border-color)}.upload-zone__preview img{width:100%;height:100%;object-fit:cover}.upload-zone__remove{position:absolute;top:var(--space-2xs);right:var(--space-2xs);width:var(--space-lg);height:var(--space-lg);border-radius:var(--radius-full);background-color:var(--color-danger);color:var(--color-white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs)}.tab-bar{display:flex;gap:0;border-bottom:var(--border-thin) solid var(--border-color)}.tab-bar__tab{padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-ink-muted);border:none;background:none;cursor:pointer;border-bottom:var(--border-medium) solid transparent;transition:all var(--transition-fast);margin-bottom:calc(-1 * var(--border-thin))}.tab-bar__tab:hover{color:var(--color-ink)}.tab-bar__tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.skeleton{background:linear-gradient(90deg,var(--color-parchment-warm) 25%,var(--color-parchment-deep) 50%,var(--color-parchment-warm) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite ease-in-out;border-radius:var(--radius-sm)}.skeleton--text{height:var(--text-base);width:80%}.skeleton--heading{height:var(--text-xl);width:60%}.skeleton--image{aspect-ratio:3 / 4;width:100%;border-radius:var(--radius-lg)}.skeleton--avatar{width:var(--space-2xl);height:var(--space-2xl);border-radius:var(--radius-full)}.verified-shield{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-ink);background-color:var(--color-parchment-warm);border:var(--border-thin) solid var(--border-color);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm)}.verified-shield__icon{font-size:var(--text-sm)}.login-page{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}@media (max-width: 768px){.login-page{grid-template-columns:1fr}.login-page__art{display:none}}.login-page__art{position:relative;background-color:var(--color-ink);overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding:var(--space-3xl)}.login-page__cursor-light{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(600px circle at calc(var(--mouse-x) * 100%) calc(var(--mouse-y) * 100%),rgba(212,130,10,.08),transparent 60%);transition:background var(--transition-slow)}.login-page__spines{position:absolute;bottom:30%;left:50%;transform:translate(-50%);display:flex;gap:var(--space-2xs);align-items:flex-end}.login-page__spine{width:var(--space-md);height:var(--spine-h, 40%);min-height:80px;max-height:260px;border-radius:var(--radius-xs) var(--radius-xs) 0 0;background-color:hsl(var(--spine-hue, 30),25%,30%);opacity:.5;animation:spine-rise .8s var(--anim-ease-entrance) var(--spine-delay, 0s) both}@keyframes spine-rise{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:.5}}.login-page__art-text{position:relative;z-index:var(--z-raised);text-align:center}.login-page__art-logo{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--color-parchment);display:block;letter-spacing:var(--tracking-tight)}.login-page__art-tagline{font-family:var(--font-display);font-size:var(--text-lg);font-style:italic;color:var(--color-ink-muted);margin-top:var(--space-sm)}.login-page__form-panel{display:flex;align-items:center;justify-content:center;padding:var(--space-3xl) var(--space-2xl);background-color:var(--color-parchment)}.login-page__form-inner{width:100%;max-width:420px}.login-page__email-indicator{position:absolute;right:var(--space-md);top:50%;transform:translateY(-50%);font-size:var(--text-lg);font-weight:var(--weight-bold)}.input--error{border-color:var(--color-danger);animation:shake .4s var(--anim-ease-exit)}.input--success{border-color:var(--color-success)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}.login-page__code-inputs{display:flex;gap:var(--space-sm);justify-content:center}.login-page__code-digit{width:var(--space-3xl);height:var(--space-3xl);text-align:center;font-size:var(--text-2xl);font-weight:var(--weight-bold);font-family:var(--font-display);padding:0}@media (max-width: 480px){.login-page__code-inputs{gap:var(--space-2xs)}.login-page__code-digit{width:44px;height:48px;font-size:var(--text-xl)}}.welcome-interstitial{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background-color:var(--color-ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.welcome-interstitial__content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.welcome-interstitial__icon{font-size:var(--space-4xl);color:var(--color-accent);display:block}.welcome-interstitial__greeting{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-ink-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.welcome-interstitial__school{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-bold);color:var(--color-parchment);line-height:var(--leading-tight);max-width:600px}.welcome-interstitial__user{font-size:var(--text-sm);color:var(--color-ink-muted);margin-top:var(--space-sm)}.welcome-interstitial__progress{width:120px;height:var(--border-medium);background-color:var(--color-accent);border-radius:var(--radius-full);margin-top:var(--space-lg)}.school-pill{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink);background-color:var(--color-accent-wash);border:var(--border-thin) solid var(--color-accent-light);padding:var(--space-3xs) var(--space-sm);border-radius:var(--radius-full)}.school-pill__icon{font-size:var(--text-base)}.school-badge{display:inline-flex;align-items:center;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-ink-muted);background-color:var(--color-parchment-warm);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);white-space:nowrap}.scroll-progress{position:fixed;top:0;left:0;height:var(--space-3xs);background-color:var(--color-accent);z-index:999;transform-origin:left;pointer-events:none}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}.btn--glow{position:relative}.btn--glow:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;background:var(--color-accent);opacity:0;z-index:-1;filter:blur(8px);animation:glow-pulse 2.5s ease-in-out infinite}.btn--glow:hover:before{opacity:.4;filter:blur(12px)}@keyframes glow-pulse{0%,to{opacity:.15}50%{opacity:.3}}.badge[class*=badge--condition]:hover{animation:stamp-press var(--anim-duration-smooth) var(--anim-ease-entrance)}@keyframes stamp-press{0%{transform:scale(1)}30%{transform:scale(.93)}60%{transform:scale(1.04)}to{transform:scale(1)}}.chat-bubble{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--leading-relaxed);max-width:100%;word-wrap:break-word}.chat-bubble--user{background-color:var(--color-accent);color:var(--color-white);border-bottom-right-radius:var(--radius-xs)}.chat-bubble--other{background-color:var(--color-parchment-warm);color:var(--color-ink);border-bottom-left-radius:var(--radius-xs)}.typing-dot{display:inline-block;width:var(--space-xs);height:var(--space-xs);border-radius:var(--radius-full);background-color:var(--color-ink-muted);animation:typing-bounce 1.2s ease-in-out infinite}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.message-thread{transition:background-color var(--transition-fast)}.message-thread:hover{background-color:var(--color-parchment-warm)}.nav-badge{position:absolute;top:-2px;right:-4px;min-width:var(--space-md);height:var(--space-md);border-radius:var(--radius-full);background-color:var(--color-accent);color:var(--color-white);font-size:9px;font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;padding:0 var(--space-2xs);line-height:1}.nav-badge--sm{top:-3px;right:-6px;min-width:var(--space-sm);height:var(--space-sm);font-size:8px}.meetup-dropdown{position:absolute;bottom:100%;left:0;right:0;max-height:320px;overflow-y:auto;background-color:var(--color-white);border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-dramatic);z-index:var(--z-dropdown);padding:var(--space-xs) 0;margin-bottom:var(--space-xs)}.meetup-dropdown__item{display:flex;flex-direction:column;width:100%;text-align:left;padding:var(--space-xs) var(--space-md);border:none;background:none;cursor:pointer;transition:background-color var(--transition-fast);gap:var(--space-3xs)}.meetup-dropdown__item:hover{background-color:var(--color-parchment-warm)}.meetup-card{background-color:var(--color-parchment-warm);border:var(--border-thin) solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-sm) var(--space-md)}.meetup-card__header{display:flex;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-2xs)}.meetup-card__icon{font-size:var(--text-md)}.meetup-card__name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink)}.meetup-card__desc{font-size:var(--text-xs);color:var(--color-ink-muted)}.meetup-card__time{font-size:var(--text-xs);color:var(--color-accent);margin-top:var(--space-2xs)}.nav-bar__logo{transition:letter-spacing var(--transition-fast),opacity var(--transition-fast)}.nav-bar__logo:hover{letter-spacing:.01em;opacity:.85}.bottom-nav__item-icon--accent{background-color:var(--color-accent);color:var(--color-white);width:var(--space-xl);height:var(--space-xl);border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--weight-bold)}.conversation-main{display:flex;flex-direction:column;height:calc(100dvh - var(--nav-height))}@media (max-width: 768px){.conversation-main{height:calc(100dvh - var(--nav-height) - var(--bottom-nav-height) - env(safe-area-inset-bottom,0px))}}.exchange-flow-card{background-color:var(--color-accent-wash);border:var(--border-thin) solid var(--color-accent-light);border-left:var(--border-thick) solid var(--color-accent);border-radius:var(--radius-xl);padding:var(--space-lg);margin:var(--space-sm) 0;display:flex;flex-direction:column;gap:var(--space-md);align-self:stretch}.exchange-flow-card__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-ink)}.exchange-flow-card__price{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-accent)}.exchange-flow-card__spots{display:flex;gap:var(--space-sm);flex-wrap:wrap}.exchange-flow-card__spot-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-sm) var(--space-md);flex:1;min-width:0;border-radius:var(--radius-md);border:var(--border-thin) solid var(--border-color);background-color:var(--color-white);cursor:pointer;text-align:left;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.exchange-flow-card__spot-btn:hover{border-color:var(--color-accent);background-color:var(--color-accent-wash)}.exchange-flow-card__spot-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-ink)}.exchange-flow-card__spot-desc{font-size:var(--text-xs);color:var(--color-ink-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.exchange-flow-card__waiting{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-ink-light);font-size:var(--text-sm)}.exchange-flow-card__confirmed-spot{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background-color:var(--color-success-light, #f0fdf4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-success, #16a34a)}.exchange-flow-card__complete{text-align:center;padding:var(--space-sm) 0;color:var(--color-success, #16a34a);font-weight:var(--weight-semibold)}.exchange-status-pill{display:inline-flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-warning, #d97706);background-color:var(--color-warning-light, #fffbeb);border:var(--border-thin) solid currentColor;border-radius:var(--radius-full);padding:2px var(--space-sm);white-space:nowrap}.rating-modal__stars{display:flex;gap:var(--space-sm);justify-content:center;margin:var(--space-md) 0}.rating-modal__star{font-size:2rem;background:none;border:none;cursor:pointer;opacity:.25;transition:opacity var(--transition-fast),transform var(--transition-fast);padding:var(--space-xs);line-height:1}.rating-modal__star--active{opacity:1}.rating-modal__star:hover{transform:scale(1.2);opacity:.8}.badge--deal-great{background-color:var(--color-success-light, #dcfce7);color:var(--color-success, #16a34a);font-weight:var(--weight-semibold)}.badge--deal-good{background-color:var(--color-accent-light);color:var(--color-accent)}.upload-zone--active{border-color:var(--color-accent);background-color:var(--color-accent-wash, rgba(128,0,0,.03))}.upload-zone__cover-label{position:absolute;bottom:var(--space-2xs);left:var(--space-2xs);background:var(--color-accent);color:var(--color-parchment);font-size:var(--text-xs);padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-sm);font-weight:var(--weight-semibold)}.upload-zone__preview{position:relative}@keyframes fade-in-up{0%{opacity:0;transform:translateY(var(--anim-slide-distance))}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slide-down{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.animate-fade-in-up{animation:fade-in-up var(--anim-duration-smooth) var(--anim-ease-entrance) both}.animate-fade-in{animation:fade-in var(--anim-duration-smooth) var(--anim-ease-entrance) both}.animate-scale-in{animation:scale-in var(--anim-duration-smooth) var(--anim-ease-entrance) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:50ms}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.15s}.stagger>*:nth-child(5){animation-delay:.2s}.stagger>*:nth-child(6){animation-delay:.25s}.stagger>*:nth-child(7){animation-delay:.3s}.stagger>*:nth-child(8){animation-delay:.35s}.stagger>*:nth-child(9){animation-delay:.4s}.stagger>*:nth-child(10){animation-delay:.45s}.stagger>*:nth-child(11){animation-delay:.5s}.stagger>*:nth-child(12){animation-delay:.55s}@keyframes heart-beat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}75%{transform:scale(1.15)}to{transform:scale(1)}}.animate-heart{animation:heart-beat .35s var(--anim-ease-entrance)}@keyframes particle-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--px, 10px),var(--py, -10px)) scale(0);opacity:0}}.heart-particle{position:absolute;width:var(--space-2xs);height:var(--space-2xs);border-radius:var(--radius-full);background-color:var(--color-danger);pointer-events:none;animation:particle-burst .4s var(--anim-ease-exit) both}@keyframes toast-in{0%{transform:translate(var(--space-xl));opacity:0}to{transform:translate(0);opacity:1}}.toast--entering{animation:toast-in var(--anim-duration-smooth) var(--anim-ease-entrance) both}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}@keyframes ink-pour{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}.step-indicator__number--filling{position:relative;overflow:hidden}.step-indicator__number--filling:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--color-success);border-radius:inherit;animation:ink-pour var(--anim-duration-medium) var(--anim-ease-entrance) both}@keyframes line-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.step-indicator__line--drawing{transform-origin:left;animation:line-draw var(--anim-duration-smooth) var(--anim-ease-entrance) both}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.book-card:hover .book-card__save:not(.book-card__save--active){animation:heart-hint .6s var(--anim-ease-entrance)}@keyframes heart-hint{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.book-card:hover,.surface--interactive:hover{transform:none}.login-page__spine{animation:none;opacity:.5}.welcome-interstitial__progress{transform:scaleX(1)}.btn--glow:before{animation:none;display:none}body:after{display:none}}
