:root{--background:#fffefa;--surface:#fff;--surface-muted:#f3f0e9;--paper:var(--background);--text:#1d1a17;--ink:var(--text);--black:var(--text);--text-muted:#6c665d;--muted:var(--text-muted);--border:#d9d2c8;--line:var(--border);--line-strong:#bdb3a6;--primary:#8e2f25;--primary-dark:#6f2019;--rental:#496b4f;--color-scrim:#efede8;--color-danger:#a3322b;--color-success:#3d6b35;--color-ink-soft:#332e29;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.2rem;--radius-md:.4rem;--radius-lg:.6rem;--radius:var(--radius-md);--shadow-sm:0 1px 2px #1d1a1712;--shadow-md:0 8px 24px #1d1a1717;--shadow-lg:0 20px 48px #1d1a171c;--shadow:var(--shadow-md);--ease-out-quint:cubic-bezier(.22,1,.36,1);--dur-instant:90ms;--dur-fast:.16s;--dur-base:.26s;--dur-slow:.42s;--z-header:30;--z-toast:60;--z-dialog:50;--font-display:Georgia, "Times New Roman", serif;--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}
*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth}body{background:var(--background);min-height:100vh;color:var(--text);font-family:var(--font-sans);margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img,svg{max-width:100%}button,input,select{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}h1,h2,h3{color:var(--text)}.lead{max-width:42rem;color:var(--text-muted);font-size:1.1rem;line-height:1.7}@media (max-width:480px){.lead{font-size:1rem}}
@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes skeleton-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes toast-autohide{0%,88%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.4rem)}}@keyframes toast-autohide-reduced{0%,to{opacity:1}}.button:active:not(:disabled){transform:scale(.98)}.toast{animation:toast-autohide 3.6s var(--ease-out-quint) forwards}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.toast{animation-name:toast-autohide-reduced!important;animation-duration:3.6s!important}}
.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-main>:not(.home-container):not(.auth-page){width:min(80%,90rem);margin-inline:auto}.utility-bar{border-bottom:1px solid var(--border);background:var(--surface-muted);width:100%;min-height:2.25rem;color:var(--text-muted);justify-content:space-between;padding:0 max(2rem,50% - 45rem);font-size:.76rem;display:flex}.utility-bar>div{align-items:center;gap:.9rem;display:flex}.utility-bar a,.utility-bar button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;display:inline-flex}.utility-bar a+a,.utility-bar a+form{border-left:1px solid var(--border);padding-left:.9rem}.site-header{z-index:var(--z-header);border-bottom:1px solid var(--border);background:var(--surface);position:relative}.site-header-main,.site-nav{width:min(100% - 4rem,90rem);margin-inline:auto}.site-header-main{grid-template-columns:auto minmax(14rem,1fr) minmax(18rem,35rem) auto;align-items:center;gap:2rem;min-height:5.4rem;display:grid}.brand{align-items:center;min-height:2.75rem;display:inline-flex}.brand img{width:184px;height:auto;display:block}.mobile-drawer{display:none}.site-search{border-bottom:1px solid var(--text);min-height:2.8rem;color:var(--text-muted);align-items:center;padding:0 .8rem;display:flex}.site-search>svg{width:1.25rem;height:1.25rem}.site-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0;padding:.55rem .7rem}.site-search button{display:none}.header-actions{justify-content:end;align-items:center;gap:1rem;display:flex}.header-action{min-width:2.75rem;min-height:2.75rem;color:var(--text);white-space:nowrap;align-content:center;justify-items:center;gap:.2rem;font-size:.7rem;display:grid;position:relative}.header-action svg{width:1.45rem;height:1.45rem}.header-login,.header-register{border:1px solid var(--text);white-space:nowrap;justify-content:center;align-items:center;min-height:2.75rem;padding:0 .8rem;font-size:.78rem;font-weight:700;display:inline-flex}.header-register{background:var(--text);color:#fff}.header-admin{border:1px solid var(--border);padding:.5rem .65rem;font-size:.78rem}.cart-badge{background:var(--primary);color:#fff;border-radius:50%;place-items:center;min-width:1.1rem;min-height:1.1rem;font-size:.65rem;display:grid;position:absolute;top:.05rem;right:-.1rem}.site-nav{min-height:3.25rem;color:var(--text);align-items:center;gap:clamp(1rem,2.5vw,2.25rem);font-size:.85rem;font-weight:700;display:flex;overflow:visible}.site-nav a{border-bottom:2px solid #0000;align-items:center;min-height:3.25rem;display:inline-flex}.site-nav a:hover{border-color:var(--primary);text-decoration:none}.nav-category-menu{min-height:3.25rem;position:relative}.nav-category-menu summary{cursor:pointer;align-items:center;gap:.35rem;min-height:3.25rem;list-style:none;display:inline-flex}.nav-category-menu summary::-webkit-details-marker{display:none}.nav-category-menu summary span{color:var(--primary);font-size:1rem}.nav-category-menu:not([open]) .nav-category-menu-panel{display:none}.nav-category-menu-panel{z-index:var(--z-dialog);border:1px solid var(--border);background:var(--surface);min-width:13rem;box-shadow:var(--shadow-md);padding:.5rem;display:grid;position:absolute;top:calc(100% - .35rem);left:-.75rem}.nav-category-menu-panel a{border:0;align-items:center;min-height:2.5rem;padding:0 .75rem}.nav-category-menu-panel a:hover{background:var(--surface-muted);color:var(--primary)}.mobile-drawer .nav-category-menu{min-height:3rem}.mobile-drawer .nav-category-menu summary{border-bottom:1px solid var(--border);min-height:3rem;padding-inline:.6rem}.mobile-drawer .nav-category-menu-panel{min-width:0;box-shadow:none;background:var(--surface-muted);border:0;padding:0 0 .35rem;position:static}.mobile-drawer .nav-category-menu-panel a{min-height:2.75rem;padding-left:1.35rem;font-size:.9rem}.announcement-bar{background:var(--primary);color:#fff;text-align:center;place-items:center;min-height:2.55rem;padding:.45rem 1rem;display:grid}.announcement-bar p{margin:0;font-size:.8rem;font-weight:700}.mobile-join-row,.mobile-user-row{display:none}.site-footer{background:var(--text);color:#e7e0d7;width:100%;margin-top:auto;padding:4rem max(2rem,50% - 45rem) 1.5rem}.site-footer-grid{grid-template-columns:1.5fr repeat(3,1fr);gap:2.5rem;max-width:90rem;margin:auto;display:grid}.site-footer-grid>div{align-content:start;gap:.6rem;display:grid}.site-footer-grid h2{color:#fff;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .3rem;font-size:.78rem}.site-footer-grid p{color:#c8c0b7;margin:0;font-size:.88rem;line-height:1.6}.site-footer-grid a{color:#eee7de;font-size:.88rem}.footer-brand{color:#fff;font-family:var(--font-display);font-size:1.7rem;font-weight:500}.site-footer-bottom{color:#bdb5ad;border-top:1px solid #ffffff2e;justify-content:space-between;max-width:90rem;margin:3rem auto 0;padding-top:1rem;font-size:.74rem;display:flex}@media (max-width:1050px){.site-header-main{grid-template-columns:auto minmax(12rem,1fr) auto;gap:1.25rem}.site-search{grid-area:2/1/auto/-1;margin-bottom:1rem}.header-actions{grid-area:1/3}.site-nav,.site-header-main{width:min(100% - 2rem,90rem)}}@media (max-width:700px){.site-main>:not(.home-container):not(.auth-page){width:min(100% - 2rem,90rem)}.utility-bar{justify-content:center;min-height:2rem;padding-inline:1rem}.utility-bar>div:first-child{display:none}.utility-bar>div{gap:.75rem}.utility-bar a,.utility-bar button{min-height:2rem}.site-header-main{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;gap:.5rem;padding-top:.8rem}.mobile-drawer{display:block}.mobile-menu-button{width:2.75rem;min-height:2.75rem;color:var(--text);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.mobile-menu-button svg{width:1.45rem}.mobile-drawer-layer{z-index:var(--z-dialog);background:#1d1a1759;position:fixed;inset:0}.mobile-drawer-panel{background:var(--surface);width:min(20rem,100vw - 2rem);min-height:100%;box-shadow:var(--shadow-lg);align-content:start;gap:.2rem;padding:4.5rem 1rem 1rem;display:grid;position:relative}.mobile-drawer-panel a{border-bottom:1px solid var(--border);align-items:center;min-height:3rem;padding-inline:.6rem;font-weight:700;display:flex}.mobile-drawer-close{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;font-size:1.5rem;display:grid;position:absolute;top:.75rem;right:.75rem}.brand{justify-content:center;min-width:0}.brand img{width:min(11.5rem,52vw)}.site-search{min-height:3.1rem;margin:.25rem 0 .7rem}.site-search input{min-height:3rem;font-size:1rem}.header-actions{gap:.1rem}.header-action span:not(.cart-badge),.header-account,.header-admin,.site-nav{display:none}.announcement-bar{min-height:2.7rem}.site-footer{padding:2.75rem 1rem 1.25rem}.site-footer-grid{grid-template-columns:repeat(2,1fr);gap:2rem 1rem}.site-footer-grid>div:first-child,.site-footer-grid>div:last-child{grid-column:1/-1}.site-footer-grid a{align-items:center;min-height:2.35rem;display:inline-flex}.site-footer-bottom{gap:.4rem;margin-top:2rem;display:grid}.mobile-join-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.82rem;display:flex}.mobile-join-row>span{align-items:center;gap:.4rem;display:inline-flex}.mobile-join-row svg{width:1rem}.mobile-join-row a{border:1px solid var(--border);align-items:center;min-height:2.5rem;padding:0 .55rem;font-weight:700;display:inline-flex}.mobile-join-row a+a{background:var(--text);color:#fff;border-left:0}.mobile-user-row{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:.5rem;padding:.75rem 1rem;display:grid}.mobile-user-row a,.mobile-user-row button{border:1px solid var(--border);background:var(--surface);min-height:2.65rem;color:var(--text);justify-content:center;align-items:center;gap:.3rem;font-size:.78rem;font-weight:700;display:inline-flex}.mobile-user-row button{cursor:pointer;width:100%}.mobile-user-row svg{width:1rem}.mobile-user-row .cart-badge{position:static}.header-actions .header-login,.header-actions .header-register{display:none}.header-action{min-width:2.75rem}.site-footer-grid a,.mobile-join-row a{min-height:2.75rem}.utility-bar>div:last-child,.header-actions .header-action:not(:first-child),.header-actions form{display:none}.site-footer{padding-top:1rem;padding-bottom:.5rem}.site-footer-grid{gap:.4rem .75rem}.site-footer-bottom{margin-top:.5rem;padding-top:.5rem}}
.button{border:1px solid var(--black);border-radius:var(--radius-sm);background:var(--black);color:#fff;cursor:pointer;min-height:2.9rem;transition:background var(--dur-fast) ease, color var(--dur-fast) ease, opacity var(--dur-fast) ease;justify-content:center;align-items:center;padding:.75rem 1.1rem;font-weight:700;display:inline-flex}.button:hover{background:var(--color-ink-soft);text-decoration:none}.button-small{min-height:2.25rem;padding:.5rem .8rem;font-size:.86rem}.button-secondary{color:var(--black);background:0 0}.button-secondary:hover{background:var(--black);color:#fff}.button-full{width:100%;margin-top:auto}.button:disabled{cursor:not-allowed;opacity:.45}.text-link{min-height:2.75rem;color:var(--black);align-items:center;font-weight:700;display:inline-flex}.link-button{min-height:2.75rem;color:var(--black);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:800;display:inline-flex}.link-button:hover{text-underline-offset:.25rem;text-decoration:underline}.page-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-block:4rem;padding:clamp(2rem,5vw,4.75rem)}@media (max-width:700px){.page-section{margin-block:2rem}}@media (max-width:480px){.page-section{padding:1.5rem 1.25rem}}.loading-screen{background:var(--paper);place-items:center;width:100%;min-height:100dvh;margin:0;display:grid}.loading-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(100% - 2rem,20rem);box-shadow:var(--shadow);justify-items:center;gap:1.15rem;padding:2.5rem 2rem;display:grid}.loading-card .auth-brand{margin-bottom:.35rem}.loading-spinner{border:2px solid #d8d8d8;border-top-color:var(--black);border-radius:50%;width:2rem;height:2rem;animation:.75s linear infinite loading-spin}.loading-card p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}.status-note{border-left:3px solid var(--black);background:var(--color-scrim);color:var(--muted);padding:1rem;line-height:1.5}.badge{border-radius:var(--radius-sm);background:var(--black);color:#fff;align-items:center;padding:.3rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.badge-muted{background:var(--color-scrim);color:var(--black)}.badge-cover{position:absolute;top:.75rem;left:.75rem}.skeleton{background:linear-gradient(100deg, var(--color-scrim) 30%, #f7f7f7 45%, var(--color-scrim) 60%);background-size:250% 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}.skeleton-text{border-radius:var(--radius-sm);height:.9rem}.skeleton-cover{aspect-ratio:3/4;border-radius:var(--radius);width:100%}.skeleton-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.toast{z-index:var(--z-toast);border-radius:var(--radius-sm);background:var(--ink);color:#fff;box-shadow:var(--shadow-lg);align-items:center;gap:.6rem;padding:.85rem 1.1rem;font-size:.88rem;font-weight:600;display:inline-flex;position:fixed}.toast-success{background:#205c33}.toast-error{background:#7a2620}.book-cover-placeholder{width:100%;height:100%;color:var(--text-muted);background:var(--surface-muted);font-family:var(--font-display);text-align:center;justify-content:center;align-items:center;padding:1rem;font-size:.9rem;font-weight:600;line-height:1.35;display:flex}.book-cover-placeholder--detail{aspect-ratio:3/4;font-size:1.2rem}.book-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1.5rem;display:grid}.book-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);transition:transform var(--dur-base) var(--ease-out-quint), box-shadow var(--dur-base) var(--ease-out-quint);flex-direction:column;display:flex;overflow:hidden}.book-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.book-card-image-wrapper{aspect-ratio:3/4;background:var(--color-scrim);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.book-card-image{object-fit:cover;width:100%;height:100%}.book-card-content{flex-direction:column;flex:1;padding:1.25rem;display:flex}.book-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;height:2.7rem;margin:0 0 .4rem;font-size:1.1rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.book-card-publisher{color:var(--muted);margin:0 0 1rem;font-size:.82rem}.book-card-pricing{border-top:1px dashed var(--line);gap:.35rem;margin-top:auto;padding-top:.75rem;display:grid}.price-item{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.price-label{color:var(--muted)}.price-value{color:var(--black);font-weight:700}.price-value.highlight{color:var(--color-danger);font-size:.95rem}.book-card-actions{margin-top:1rem}.empty-state{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4rem 2rem}.pagination{justify-content:center;align-items:center;gap:1.5rem;margin-top:3rem;display:flex}.pagination-info{color:var(--muted);font-size:.9rem;font-weight:600}
.hero{max-width:55rem}.eyebrow{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:700}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.placeholder{max-width:45rem}.placeholder h1{font-size:clamp(2rem,5vw,3.25rem)}.features-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.5rem;margin-block:4rem;padding:0;list-style:none;display:grid}.feature-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:2rem}.feature-card h3{margin:0 0 .5rem;font-size:1.2rem}.feature-card p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.catalog-section,.catalog-container,.book-detail-container{margin-block:3rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1.5rem;margin-bottom:2rem;display:flex}.section-header h2{margin:0 0 .25rem;font-size:1.8rem}.section-subtitle{color:var(--muted);margin:0;font-size:.95rem}.book-shelf{margin-block:3.5rem}.book-shelf-header{border-bottom:1px solid var(--line);margin-bottom:1.5rem;padding-bottom:1rem}.book-shelf-row{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;gap:1.25rem;margin:0;padding:.25rem .25rem 1rem;scroll-padding-inline:.25rem;list-style:none;display:flex;overflow-x:auto}.book-shelf-row:focus-visible{outline:2px solid var(--black);outline-offset:4px;border-radius:var(--radius-sm)}.book-shelf-item{scroll-snap-align:start;flex:0 0 16rem}@media (max-width:480px){.book-shelf-item{flex-basis:12.5rem}}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:2rem;font-size:.85rem;display:flex}.breadcrumb-separator{color:var(--line-strong)}.breadcrumb-current{color:var(--black);font-weight:600}.book-detail-layout{grid-template-columns:20rem minmax(0,1fr);align-items:start;gap:3rem;display:grid}.book-detail-cover{border-radius:var(--radius);border:1px solid var(--line);background:var(--color-scrim);box-shadow:var(--shadow);overflow:hidden}.detail-cover-image{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto;display:block}.book-detail-info{flex-direction:column;gap:1.75rem;display:flex}.detail-category-list{flex-wrap:wrap;gap:.5rem;display:flex}.detail-title{margin:0;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2}.detail-publisher{color:var(--muted);margin:-.75rem 0 0;font-size:.95rem}.detail-summary h3,.book-attributes h3{border-bottom:1px solid var(--line);margin:0 0 .5rem;padding-bottom:.5rem;font-size:1.1rem}.detail-summary p{color:var(--ink);margin:0;line-height:1.6}.purchase-options{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem;display:grid}.option-card{border:2px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;padding:1.5rem;display:flex}.option-card.purchase-card{border-color:var(--black)}.option-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.option-header h3{margin:0;font-size:1.1rem}.option-price{color:var(--color-danger);font-size:1.3rem;font-weight:800}.option-desc{color:var(--muted);margin:0 0 1.25rem;font-size:.85rem;line-height:1.4}.rental-rates{background:var(--paper);border-radius:var(--radius-sm);gap:.4rem;margin-bottom:1.25rem;padding:.75rem;font-size:.85rem;display:grid}.rate-row{color:var(--muted);justify-content:space-between;display:flex}.rate-row strong{color:var(--black)}.rate-row.deposit-row{border-top:1px dashed var(--line-strong);margin-top:.2rem;padding-top:.4rem}.attribute-grid{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1rem;margin-top:.75rem;display:grid}.attribute-item{flex-direction:column;gap:.2rem;font-size:.9rem;display:flex}.attribute-label{color:var(--muted);font-size:.8rem}.attribute-value{color:var(--black);font-weight:700}@media (max-width:850px){.book-detail-layout{grid-template-columns:1fr;gap:2rem}.book-detail-cover{max-width:18rem;margin:0 auto}}.add-to-cart-form{gap:.85rem;margin-top:auto;display:grid}.quantity-stepper{border:1px solid var(--line-strong);border-radius:var(--radius-sm);align-items:stretch;width:fit-content;display:inline-flex;overflow:hidden}.quantity-stepper button{background:var(--paper);min-width:2.75rem;min-height:2.75rem;color:var(--black);cursor:pointer;border:0;place-items:center;font-size:1.1rem;display:grid}.quantity-stepper button:hover{background:var(--color-scrim)}.quantity-stepper input{border:0;border-inline:1px solid var(--line-strong);text-align:center;width:3.5rem;min-height:2.75rem;color:var(--black);font:inherit;-moz-appearance:textfield}.rental-term-picker{gap:.65rem;display:grid}.rental-term-fields{flex-wrap:wrap;gap:.75rem;display:flex}.rental-term-fields label{color:var(--muted);flex:8rem;gap:.35rem;font-size:.8rem;font-weight:700;display:grid}.rental-term-fields select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:2.75rem;color:var(--black);font:inherit;background:#fff;padding:.5rem .6rem}.rental-term-price{color:var(--black);margin:0;font-size:.95rem}.rental-term-note{color:var(--muted);margin:0;font-size:.78rem}.cart-page{margin-block:3rem}.cart-page h1{margin:0 0 1.75rem;font-size:clamp(1.6rem,4vw,2.1rem)}.cart-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:2.5rem;display:grid}.cart-items{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.cart-item-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:5rem minmax(0,1fr) auto;align-items:start;gap:1.25rem;padding:1.1rem;display:grid}.cart-item-cover{aspect-ratio:3/4;border-radius:var(--radius-sm);background:var(--color-scrim);width:5rem;display:block;overflow:hidden}.cart-item-cover img,.cart-item-cover .book-cover-placeholder{object-fit:cover;width:100%;height:100%}.cart-item-info{gap:.4rem;min-width:0;display:grid}.cart-item-title{color:var(--black);font-weight:700}.cart-item-price,.cart-item-deposit{color:var(--muted);margin:0;font-size:.85rem}.cart-item-actions{justify-items:end;gap:.5rem;display:grid}.cart-item-update-form{align-items:center;gap:.5rem;display:flex}.cart-item-update-form input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);text-align:center;width:3.5rem;min-height:2.5rem;padding:.3rem .4rem}.cart-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);gap:.85rem;padding:1.5rem;display:grid}.cart-summary h2{margin:0;font-size:1.15rem}.receipt-row{border-top:1px dashed var(--line);font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;padding-block:.5rem;display:flex}.receipt-row:first-of-type{border-top:0}.receipt-row span{color:var(--muted)}.receipt-row-deposit strong{color:var(--color-danger)}.cart-summary-note{color:var(--muted);margin:0;font-size:.78rem;line-height:1.4}.cart-guest-banner{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.75rem;padding:1.1rem 1.25rem;display:flex}.cart-guest-banner p{color:var(--black);margin:0}.cart-badge{background:var(--color-danger);color:#fff;border-radius:999px;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .3rem;font-size:.68rem;font-weight:800;line-height:1;display:inline-grid}.header-action{position:relative}.header-action .cart-badge{position:absolute;top:0;left:calc(50% + .45rem)}.mobile-user-row .cart-badge{margin-left:.35rem}@media (max-width:900px){.cart-layout{grid-template-columns:1fr}.cart-summary{z-index:var(--z-header);box-shadow:var(--shadow-lg);position:sticky;bottom:0}}@media (max-width:560px){.cart-item-row{grid-template-columns:3.75rem minmax(0,1fr)}.cart-item-cover{width:3.75rem}.cart-item-actions{flex-direction:row;grid-column:1/-1;justify-items:start}}.auth-page{background:var(--paper);width:100%;min-height:100dvh;margin:0}.auth-layer{z-index:var(--z-dialog);width:100%;min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));isolation:isolate;background:#ffffff94;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-preview{z-index:0;color:#666;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#ffffff9e;padding:2rem clamp(1.5rem,6vw,7rem);position:absolute;inset:0}.auth-preview-header{border-bottom:1px solid var(--line);align-items:center;gap:1.5rem;min-height:3.5rem;font-size:.85rem;display:flex}.auth-preview-header span:first-child{color:var(--black);margin-right:auto;font-size:1.05rem;font-weight:800}.auth-preview-content{gap:1rem;max-width:38rem;padding-top:clamp(6rem,16vh,11rem);display:grid}.auth-preview-content p{margin:0;font-size:.85rem;font-weight:700}.auth-preview-content strong{max-width:16ch;color:var(--color-ink-soft);letter-spacing:-.05em;font-size:clamp(2rem,6vw,4rem);line-height:1.05}.auth-preview-content span{max-width:30rem;font-size:1rem}.auth-page .auth-card{z-index:1;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(100%,28rem);box-shadow:var(--shadow-lg);padding:clamp(1.5rem,4vw,2.5rem);position:relative}.auth-page .auth-card:focus{outline:none}.auth-page .auth-back{min-height:2.75rem;color:var(--muted);align-items:center;margin-bottom:1.75rem;font-size:.9rem;display:inline-flex}.auth-brand{justify-content:center;align-items:center;width:100%;margin-bottom:1.75rem;display:flex}.auth-wordmark{width:210px;height:auto;display:block}.auth-page .auth-card h1{max-width:none;color:var(--black);font-size:clamp(2.25rem,8vw,3.1rem)}.auth-page .auth-form{gap:1rem;margin-top:1.75rem;display:grid}.auth-page .auth-form label{color:var(--black);gap:.45rem;font-size:.92rem;font-weight:700;display:grid}.auth-page .auth-form input{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--black);background:#fff;padding:.75rem .85rem}.auth-page .auth-form input::placeholder{color:#888}.auth-page .auth-form input:focus-visible{border-color:var(--black);outline:2px solid var(--black);outline-offset:2px}.password-field{display:block;position:relative}.password-field input{padding-right:4.3rem!important}.password-toggle{place-items:center;padding:.3rem;position:absolute;top:50%;right:.25rem;transform:translateY(-50%);color:#444!important;background:0 0!important;border:0!important;width:2.75rem!important;min-height:2.75rem!important;display:grid!important}.password-toggle svg{width:1.15rem;height:1.15rem}.password-toggle:hover{color:var(--black)!important}.auth-page .auth-form button[type=submit]{width:100%;font:inherit;border:0}.auth-page .field-error,.auth-page .form-status{min-height:1.25rem;color:var(--color-ink-soft);margin:0;font-size:.85rem;font-weight:400}.auth-page .field-error{color:var(--black)}.auth-page .auth-switch{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin:.25rem 0 0;padding-top:1.25rem}.auth-page .auth-switch a,.auth-page .auth-forgot a{min-height:2.75rem;color:var(--black);align-items:center;font-weight:800;display:inline-flex}.auth-page .auth-forgot{text-align:right;margin:-.35rem 0 0;font-size:.85rem}.auth-description{color:var(--muted);line-height:1.5}.reset-success{color:var(--black);gap:1rem;margin-top:1.75rem;line-height:1.5;display:grid}@media (min-width:900px){.auth-layer{grid-template-columns:minmax(22rem,32rem) minmax(22rem,28rem);justify-content:center;place-items:center stretch;gap:clamp(3rem,6vw,6rem);padding-inline:clamp(2rem,5vw,5rem)}.auth-preview{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;align-self:center;padding:0;position:relative;inset:auto}.auth-preview-content{width:min(100%,32rem);max-width:none;padding-top:0}.auth-preview-content strong{max-width:12ch;font-size:clamp(2.6rem,4.2vw,4rem)}.auth-page .auth-card{place-self:center}}@media (max-width:700px){.auth-layer{padding:1rem}.auth-preview{padding-inline:1.5rem}.auth-page .auth-card{border-radius:var(--radius-md)}}@media (max-width:480px){.auth-layer{align-items:start;padding:1rem .75rem 2rem;overflow-y:auto}.auth-page .auth-card{width:min(100%,30rem);margin-block:auto;padding:1.25rem}.auth-wordmark{width:190px}.auth-page .auth-card h1{font-size:2rem}.auth-page .auth-form{gap:.85rem;margin-top:1.25rem}.auth-page .auth-form input{min-height:2.85rem}}
.hero-carousel{border-block:1px solid var(--line);background:var(--surface);margin-bottom:clamp(3rem,6vw,5rem);position:relative;overflow:hidden}.hero-carousel--fallback{align-items:center;min-height:28rem;padding:clamp(2rem,6vw,5rem);display:grid}.hero-carousel-track{transition:transform var(--dur-slow) var(--ease-out-quint);display:flex}.hero-carousel-item{width:100%;min-width:100%}.hero-slide{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:center;gap:clamp(2rem,8vw,8rem);width:min(100% - 4rem,90rem);min-height:clamp(27rem,43vw,34rem);margin-inline:auto;padding:clamp(2.5rem,6vw,5rem) 0;display:grid}.hero-slide-copy{max-width:42rem}.hero-slide h1{max-width:13ch;font-family:var(--font-display);letter-spacing:-.045em;margin:.35rem 0 0;font-size:clamp(2.7rem,5vw,5.1rem);font-weight:500;line-height:.96}.hero-slide-author{color:var(--text-muted);margin:1rem 0 0;font-size:1rem}.hero-slide-description{max-width:38rem;color:var(--text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:1.25rem 0 0;font-size:1.05rem;line-height:1.65;display:-webkit-box;overflow:hidden}.hero-slide-prices{border-top:1px solid var(--line);gap:2.5rem;margin:2rem 0 0;padding-top:1.25rem;display:flex}.hero-slide-prices dt{color:var(--text-muted);letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:800}.hero-slide-prices dd{font-family:var(--font-sans);letter-spacing:-.035em;margin:.35rem 0 0;font-size:1.45rem;font-weight:800}.hero-slide-prices small{color:var(--text-muted);font-family:var(--font-sans);margin-left:.2rem;font-size:.8rem;font-weight:600}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:2rem;display:flex}.hero-slide-cover{place-items:center;display:grid}.hero-slide-cover>*{aspect-ratio:2/3;object-fit:contain;width:min(100%,18rem);box-shadow:16px 18px 0 var(--surface-muted), 17px 19px 0 var(--border)}.hero-carousel-nav{justify-content:space-between;align-items:center;width:min(100% - 4rem,90rem);margin-inline:auto;padding:0 0 1.5rem;display:flex}.hero-carousel-nav>button,.hero-carousel-dots button{cursor:pointer;background:0 0;border:0}.hero-carousel-nav>button{border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--text);border-radius:50%;place-items:center;font-size:1.2rem;display:grid}.hero-carousel-nav>button:disabled{cursor:not-allowed;opacity:.35}.hero-carousel-dots{gap:.55rem;display:flex}.hero-carousel-dots button{background:var(--border);border-radius:50%;width:.55rem;height:.55rem;padding:0}.hero-carousel-dots button[aria-selected=true]{background:var(--primary);border-radius:99px;width:1.6rem}@media (max-width:760px){.hero-slide{grid-template-columns:1fr;gap:1.75rem;width:min(100% - 2rem,90rem);min-height:0;padding-block:2.5rem 1.5rem}.hero-slide-cover{order:-1}.hero-slide-cover>*{width:min(100%,12rem)}.hero-slide h1{font-size:clamp(2.7rem,13vw,4rem)}.hero-slide-prices{gap:1.5rem}.hero-carousel-nav{width:min(100% - 2rem,90rem)}}@media (prefers-reduced-motion:reduce){.hero-carousel-track{transition:none}}.hero-carousel-item{flex:0 0 100%}.hero-carousel-item[aria-hidden=true]{visibility:hidden}.hero-carousel-dots button{width:2.75rem;height:2.75rem}.hero-carousel-dots button[aria-selected=true]{width:2.75rem}
.home-container{width:min(100% - 4rem,90rem);margin:0 auto;padding:2.25rem 0 5rem}.home-section,.campaign-banner{margin-bottom:clamp(3.5rem,7vw,6.5rem)}.home-container .section-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.product-carousel-section .section-header{margin-bottom:0}.home-container .section-header h2,.campaign-banner h2{font-family:var(--font-display);letter-spacing:-.03em;margin:.25rem 0 0;font-size:clamp(2rem,3vw,3rem);font-weight:500}.eyebrow{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.quick-category-grid,.campaign-shortcut-grid{background:var(--border);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;display:grid}.quick-category-grid a,.campaign-shortcut-grid a{background:var(--surface);min-height:8.5rem;transition:background var(--dur-fast) var(--ease-out-quint), color var(--dur-fast) var(--ease-out-quint);align-content:end;gap:.5rem;padding:1.15rem;display:grid}.quick-category-grid a:hover,.campaign-shortcut-grid a:hover{background:var(--primary);color:#fff;text-decoration:none}.quick-category-grid span,.campaign-shortcut-grid span{color:var(--text-muted);font-size:.78rem}.quick-category-grid a:hover span,.campaign-shortcut-grid a:hover span{color:inherit;opacity:.78}.quick-category-grid strong,.campaign-shortcut-grid strong{font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.1}.scroll-carousel{position:relative}.scroll-carousel-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem;margin-bottom:1rem;display:grid}.scroll-carousel-actions{justify-items:end;gap:.65rem;display:grid}.scroll-carousel-controls{justify-content:end;gap:.5rem;display:flex}.scroll-carousel-controls button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:grid}.scroll-carousel-controls button:disabled{opacity:.35;cursor:not-allowed}.book-shelf-row{grid-auto-columns:minmax(10rem,1fr);grid-auto-flow:column;grid-template-columns:unset;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:1.25rem;margin:0;padding:.25rem 0 .75rem;list-style:none;display:grid;overflow-x:auto}.book-shelf-item{scroll-snap-align:start;min-width:0}.book-card{min-height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.book-card:hover{box-shadow:none;transform:none}.book-card-image-wrapper{aspect-ratio:2/3;border:1px solid var(--border);background:var(--surface-muted);justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.book-card-image{object-fit:contain;width:100%;height:100%;transition:transform var(--dur-base) var(--ease-out-quint)}.book-card:hover .book-card-image{transform:translateY(-3px)}.book-card-content{padding:.9rem 0 0}.book-card-format{color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 .35rem;font-size:.7rem;font-weight:700}.book-card-title{height:2.9rem;font-family:var(--font-display);margin:0;font-size:1.12rem;font-weight:600}.book-card-title a{align-items:start;min-height:2.75rem;display:inline-flex}.book-card-publisher{min-height:1.3rem;margin:.25rem 0 .8rem}.book-card-pricing{border-top:1px solid var(--border);gap:.25rem;margin:0;padding-top:.6rem;display:grid}.book-card-pricing p{justify-content:space-between;gap:.5rem;margin:0;font-size:.82rem;display:flex}.book-card-pricing span{color:var(--text-muted)}.book-card-rental-price strong{color:var(--rental)}.book-card-pricing small{font-weight:500}.product-card-actions{gap:.5rem;margin-top:.9rem;display:flex}.product-card-actions form{flex:1}.product-card-quick-add,.product-card-rent-link{border:1px solid var(--text);background:var(--text);color:#fff;cursor:pointer;justify-content:center;align-items:center;width:100%;min-height:2.75rem;font-size:.8rem;font-weight:700;display:inline-flex}.product-card-rent-link{border-color:var(--border);width:auto;color:var(--text);background:0 0;padding:0 .65rem}.product-card-rent-link:hover{background:var(--surface-muted);text-decoration:none}.campaign-banner{background:var(--surface-muted);grid-template-columns:1fr minmax(12rem,.35fr);align-items:center;gap:2rem;padding:clamp(2rem,5vw,4rem);display:grid}.campaign-banner p:not(.eyebrow){max-width:38rem;color:var(--text-muted);line-height:1.65}.campaign-banner-cover{justify-self:end;width:min(100%,12rem)}.campaign-banner-cover>*{aspect-ratio:2/3;object-fit:contain;box-shadow:10px 12px 0 var(--surface)}.campaign-shortcut-grid{grid-template-columns:repeat(4,1fr)}.campaign-shortcut-grid a{min-height:11rem}.campaign-shortcut-grid b{margin-top:.6rem;font-size:1.2rem}.rental-steps{background:var(--surface-muted);padding:clamp(2rem,5vw,4rem)}.rental-steps-row{grid-template-columns:repeat(3,1fr);gap:2rem}.rental-step{background:0 0;border:0;border-radius:0;padding:0}.rental-step-number{width:auto;height:auto;color:var(--primary);font-family:var(--font-display);background:0 0;border-radius:0;margin-bottom:.8rem;font-size:3rem}.editorial-row{grid-template-columns:repeat(4,1fr);gap:1.25rem}.editorial-card-cover{border:1px solid var(--border);border-radius:0}.value-props{margin-top:clamp(4rem,8vw,8rem)}.features-grid{border-top:1px solid var(--border)}.feature-card{border:0;border-bottom:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:3.5rem 1fr;gap:1rem;min-height:12rem;padding:1.5rem 1.5rem 1.75rem 0;display:grid;position:relative}.feature-card-index{color:var(--primary);font-family:var(--font-display);opacity:.75;font-size:2.4rem;line-height:1}.feature-card h3{margin:0 0 .5rem;font-size:1.2rem}.feature-card p{max-width:22rem;color:var(--text-muted);margin:0;line-height:1.55}.feature-card:after{background:var(--primary);content:"";opacity:.45;width:2.5rem;height:1px;position:absolute;bottom:1.75rem;right:1.5rem}@media (max-width:900px){.quick-category-grid{grid-template-columns:repeat(3,1fr)}.editorial-row{grid-template-columns:repeat(2,1fr)}.book-shelf-row{grid-auto-columns:minmax(11.5rem,28vw)}.campaign-shortcut-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.home-container{width:min(100% - 2rem,90rem);padding-top:1.5rem}.home-container .section-header{align-items:start}.home-container .section-header .text-link{font-size:.85rem}.scroll-carousel-header{grid-template-columns:1fr;align-items:start;gap:.75rem}.scroll-carousel-actions{grid-template-columns:1fr auto;align-items:center;width:100%}.quick-category-grid{grid-template-columns:repeat(2,1fr)}.quick-category-grid a{min-height:7.2rem}.scroll-carousel-controls{display:none}.book-shelf-row{grid-auto-columns:minmax(10.75rem,58vw);gap:1rem}.campaign-banner{grid-template-columns:1fr}.campaign-banner-cover{display:none}.rental-steps-row{grid-template-columns:1fr;gap:1.5rem}.editorial-row{grid-template-columns:1fr}.campaign-shortcut-grid a{min-height:8.5rem}.feature-card{min-height:10rem;padding-right:0}.feature-card:after{right:0}}
.checkout-page,.payment-page{margin-block:3rem}.checkout-page h1,.payment-page h1{max-width:none;margin:0 0 2rem;font-size:clamp(1.6rem,4vw,2.1rem)}.checkout-layout{grid-template-columns:minmax(0,1fr) 22rem;align-items:start;gap:2.5rem;display:grid}.checkout-form{gap:1.75rem;display:grid}.checkout-fieldset{border:0;margin:0;padding:0}.checkout-fieldset legend{margin-bottom:.85rem;padding:0;font-size:1.05rem;font-weight:700}.address-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.address-option{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;padding:1rem 1.15rem;line-height:1.5;display:grid}.address-option:has(input:checked){border-color:var(--black);box-shadow:inset 0 0 0 1px var(--black)}.address-option:has(input:focus-visible){outline:2px solid var(--black);outline-offset:2px}.checkout-notes{gap:.45rem;display:grid}.checkout-notes span{color:var(--muted);font-size:.85rem;font-weight:700}.checkout-notes textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--black);font:inherit;resize:vertical;background:#fff;padding:.7rem .8rem}.checkout-summary{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);gap:.85rem;padding:1.5rem;display:grid}.checkout-summary h2{margin:0;font-size:1.15rem}.checkout-items{gap:.5rem;margin:0;padding:0;font-size:.92rem;list-style:none;display:grid}.checkout-items li{justify-content:space-between;gap:1rem;display:flex}.checkout-items li span:first-child{overflow-wrap:anywhere;min-width:0}.checkout-note{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.payment-layout{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2.5rem;display:grid}.payment-qr{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-items:center;gap:.85rem;padding:1.5rem;display:grid}.payment-qr img{width:20rem;max-width:100%;height:auto;display:block}.payment-qr-fallback{aspect-ratio:1;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);width:20rem;max-width:100%;color:var(--muted);text-align:center;place-content:center;gap:.4rem;padding:1rem;display:grid}.payment-qr-fallback p{margin:0;font-size:.9rem}.payment-qr-note{max-width:20rem;color:var(--muted);text-align:center;margin:0;font-size:.85rem;line-height:1.5}.payment-details{gap:1.15rem;display:grid}.copy-field{gap:.35rem;display:grid}.copy-field-label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:700}.copy-field-row{align-items:center;gap:.65rem;display:flex}.copy-field-value{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex:auto;min-width:0;padding:.6rem .8rem;font-size:1.05rem;font-weight:700}.copy-field-hint{color:var(--muted);margin:0;font-size:.8rem;line-height:1.5}.payment-watcher{border-top:1px solid var(--line);gap:.4rem;padding-top:.5rem;display:grid}.payment-countdown{font-variant-numeric:tabular-nums;margin:0;font-size:.95rem}.payment-poll-note,.payment-help{color:var(--muted);margin:0;font-size:.85rem;line-height:1.55}.payment-help{max-width:45rem;margin-top:2rem}.payment-expired{color:var(--color-danger);margin:0;font-size:.95rem;line-height:1.55}.payment-done{max-width:42rem}.payment-done p{color:var(--ink);line-height:1.65}@media (max-width:900px){.checkout-layout,.payment-layout{grid-template-columns:minmax(0,1fr)}.payment-qr{justify-self:start}}
.account-page{margin-block:3rem}.account-page h1{max-width:none;margin:0 0 .35rem;font-size:clamp(1.6rem,4vw,2.1rem)}.account-section{margin-top:3rem}.account-empty{color:var(--muted);margin:0}.address-book{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.address-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.15rem 1.25rem;display:grid}.address-card-body{gap:.35rem;min-width:0;display:grid}.address-card-name{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;display:flex}.address-card-detail{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.93rem;line-height:1.55}.address-delete{justify-items:end;gap:.35rem;display:grid}.button-danger{border-color:var(--color-danger);color:var(--color-danger)}.button-danger:hover{background:var(--color-danger);color:#fff}.address-form{gap:1.15rem;max-width:46rem;margin-top:1.5rem;display:grid}.address-form-row{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.15rem;display:grid}.address-form label{gap:.4rem;display:grid}.address-form label>span{color:var(--muted);font-size:.82rem;font-weight:700}.address-form input[type=text],.address-form input:not([type]),.address-form select{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:2.75rem;color:var(--black);font:inherit;background:#fff;padding:.6rem .75rem}.address-form select:disabled{background:var(--paper);color:var(--muted)}.address-form-check{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem}.address-form .address-form-check>span{color:var(--black);font-size:.95rem;font-weight:400}.form-status--ok{color:var(--color-success)}@media (max-width:640px){.address-card{grid-template-columns:minmax(0,1fr)}.address-delete{justify-items:start}}.searchable-select{gap:.4rem;display:grid;position:relative}.searchable-select>label{color:var(--muted);font-size:.82rem;font-weight:700}.searchable-select input[type=text]{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:2.75rem;color:var(--black);font:inherit;background:#fff;width:100%;padding:.6rem .75rem}.searchable-select input[type=text]:disabled{background:var(--paper);color:var(--muted)}.searchable-list{z-index:20;border:1px solid var(--line-strong);border-radius:var(--radius-sm);max-height:17rem;box-shadow:var(--shadow-lg);background:#fff;margin:.3rem 0 0;padding:.25rem;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.searchable-option{border-radius:var(--radius-sm);width:100%;color:var(--black);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:.55rem .65rem;display:block}.searchable-option.is-active{background:var(--color-scrim)}.searchable-empty{color:var(--muted);padding:.7rem .65rem;font-size:.9rem}
.order-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.4rem;margin:1.75rem 0 0;padding-bottom:.75rem;display:flex}.order-tab{color:var(--muted);border-radius:999px;padding:.55rem .95rem;font-size:.9rem;font-weight:600}.order-tab:hover{background:var(--paper);text-decoration:none}.order-tab.is-current{background:var(--black);color:#fff}.order-list{gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.order-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:0;display:grid;overflow:hidden}.order-card-head{border-bottom:1px solid var(--line);background:var(--paper);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.8rem 1.25rem;display:flex}.order-card-date{color:var(--muted);font-size:.85rem}.order-status{letter-spacing:.02em;font-size:.82rem;font-weight:700}.order-status.is-warning{color:var(--color-danger)}.order-status.is-active{color:var(--black)}.order-status.is-done{color:var(--color-success)}.order-status.is-muted{color:var(--muted)}.order-card-items{color:inherit;gap:.85rem;padding:1.1rem 1.25rem;display:grid}.order-card-items:hover{text-decoration:none}.order-line{grid-template-columns:3.25rem minmax(0,1fr);align-items:center;gap:.9rem;display:grid}.order-line-cover{aspect-ratio:3/4;border-radius:var(--radius-sm);background:var(--color-scrim);width:3.25rem;display:block;overflow:hidden}.order-line-image{object-fit:cover;width:100%;height:100%}.order-line-cover .book-cover-placeholder{width:100%;height:100%}.order-line-text{gap:.2rem;min-width:0;display:grid}.order-line-text strong{overflow-wrap:anywhere}.order-line-meta{color:var(--muted);font-size:.85rem}.order-card-more,.order-card-noitems{color:var(--muted);margin:0;font-size:.85rem}.order-card-foot{border-top:1px dashed var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1rem;padding:.8rem 1.25rem;display:flex}.order-card-code{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem}.order-card-total{color:var(--muted);font-size:.9rem}.order-card-total strong{color:var(--black);margin-left:.4rem;font-size:1.15rem}.order-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:0 1.25rem 1.1rem;display:flex}.order-detail-layout{grid-template-columns:minmax(0,1fr) 20rem;align-items:start;gap:2.5rem;display:grid}.order-route{gap:0;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.order-route-step{color:var(--muted);grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:0 0 1.6rem;display:grid;position:relative}.order-route-step:not(:last-child):before{content:"";background:var(--line-strong);width:2px;height:calc(100% - .8rem);position:absolute;top:1.1rem;left:.48rem}.order-route-step.is-reached:not(:last-child):before{background:var(--black)}.order-route-dot{z-index:1;border:2px solid var(--line-strong);background:#fff;border-radius:50%;width:1.1rem;height:1.1rem;margin-top:.15rem;position:relative}.order-route-step.is-reached .order-route-dot{border-color:var(--black);background:var(--black)}.order-route-step.is-current .order-route-dot{box-shadow:0 0 0 4px var(--color-scrim)}.order-route-label{color:var(--muted);margin:0 0 .2rem;font-weight:600}.order-route-step.is-reached .order-route-label{color:var(--black);font-weight:700}.order-route time,.order-route-pending{font-variant-numeric:tabular-nums;font-size:.85rem}.order-route-halted{color:var(--muted);margin:1rem 0 0}.order-items{gap:.6rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.order-items li{border-top:1px dashed var(--line);grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;padding-block:.55rem;font-size:.93rem;display:grid}.order-items li:first-child{border-top:0}@media (max-width:900px){.order-detail-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.order-card{grid-template-columns:minmax(0,1fr)}.order-card-side{text-align:left;justify-items:start}}.rental-list{gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.rental-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem;padding:1.15rem 1.25rem;display:grid}.rental-card.is-overdue{border-color:var(--color-danger)}.rental-card-body{gap:.35rem;min-width:0;display:grid}.rental-card-title{flex-wrap:wrap;align-items:center;gap:.6rem;margin:0;font-weight:700;display:flex}.rental-card-dates{color:var(--muted);margin:0;font-size:.88rem;line-height:1.55}.rental-card-side{text-align:right;justify-items:end;gap:.25rem;font-size:.85rem;display:grid}.rental-due{font-weight:700}.rental-due.is-overdue{color:var(--color-danger)}.rental-deposit,.rental-fee{color:var(--muted)}@media (max-width:560px){.rental-card{grid-template-columns:minmax(0,1fr)}.rental-card-side{text-align:left;justify-items:start}}.plan-active,.plan-pending{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);justify-items:start;gap:.75rem;margin:1.5rem 0 0;padding:1.1rem 1.25rem;display:grid}.plan-active p,.plan-pending p{margin:0}.plan-list{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.25rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);grid-template-rows:1fr auto;gap:1.25rem;padding:1.5rem;display:grid}.plan-card h2{margin:0 0 .5rem;font-size:1.2rem}.plan-card-desc{color:var(--muted);margin:0 0 .75rem;font-size:.93rem;line-height:1.6}.plan-card-facts{color:var(--muted);gap:.3rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:grid}.plan-card-facts li:before{content:"· "}.plan-card-buy{border-top:1px solid var(--line);justify-items:start;gap:.75rem;padding-top:1rem;display:grid}.plan-card-price{font-size:1.5rem;font-weight:800}.order-tab{align-items:center;gap:.5rem;display:inline-flex}.order-tab-icon{flex:none;width:1.15rem;height:1.15rem}.order-tab-label{white-space:nowrap}.order-tab-count{background:var(--color-scrim);min-width:1.3rem;height:1.3rem;color:var(--muted);border-radius:999px;place-items:center;padding:0 .35rem;font-size:.72rem;font-weight:700;display:inline-grid}.order-tab.is-current .order-tab-count{color:#fff;background:#ffffff38}.order-card.is-loading .order-card-head,.order-card.is-loading .order-card-items{min-height:3.2rem}.order-card.is-loading .order-line-cover{aspect-ratio:3/4;width:3.25rem}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin-top:1.75rem;display:flex}.pagination-position{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.9rem}.order-reorder{justify-items:end;gap:.35rem;display:grid}
.chat-page{max-width:48rem}.chat-empty{color:var(--muted);margin:1.5rem 0}.chat-thread{gap:.85rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.chat-bubble{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);max-width:85%;padding:.8rem 1rem}.chat-bubble.is-staff{border-color:var(--black);background:var(--paper);justify-self:end}.chat-body{color:var(--black);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .35rem;line-height:1.6}.chat-bubble time{color:var(--muted);font-size:.78rem}.chat-composer{justify-items:start;gap:.75rem;display:grid}.chat-composer textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:100%;color:var(--black);font:inherit;resize:vertical;background:#fff;padding:.75rem .85rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.blog-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));grid-auto-rows:1fr;gap:1.5rem;display:grid}.blog-grid>*{min-width:0}.blog-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:100%;color:inherit;transition:transform var(--dur-base) var(--ease-out-quint), box-shadow var(--dur-base) var(--ease-out-quint);flex-direction:column;display:flex;overflow:hidden}.blog-card:hover{box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-4px)}.blog-card-image-wrapper{aspect-ratio:16/9;background:var(--color-scrim);width:100%;overflow:hidden}.blog-card-image{object-fit:cover;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out-quint), filter var(--dur-base) var(--ease-out-quint)}.blog-card:hover .blog-card-image{filter:saturate(1.06)contrast(1.02);transform:scale(1.045)}.blog-card-content{flex-direction:column;flex:1;gap:.5rem;padding:1.25rem;display:flex}.blog-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:1.1rem;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.blog-card-excerpt{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.55;display:-webkit-box;overflow:hidden}.blog-meta{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:600}.blog-cover-placeholder{width:100%;height:100%;color:var(--muted);background:var(--color-scrim);justify-content:center;align-items:center;font-weight:700;display:flex}.blog-cover-placeholder--detail{aspect-ratio:16/9;font-size:1.2rem}.blog-detail-container{max-width:68ch;margin-inline:auto}.blog-article-cover{border-radius:var(--radius);border:1px solid var(--line);background:var(--color-scrim);box-shadow:var(--shadow);margin-bottom:1.75rem;position:relative;overflow:hidden}.blog-article-cover:after{content:"";pointer-events:none;background:linear-gradient(#0000,#18141152);height:38%;position:absolute;inset:auto 0 0}.blog-detail-cover-image{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto;display:block}.blog-article-title{margin:0 0 .5rem;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2}.blog-article-meta{margin-bottom:2rem}.blog-related-book{max-width:20rem;margin:3rem auto}.blog-related-book h2{margin:0 0 1.25rem;font-size:1.1rem}.blog-back-link{margin-top:2.5rem}.prose{max-width:68ch;color:var(--ink);line-height:1.75}.prose h2,.prose h3{scroll-margin-top:5rem;line-height:1.3}.prose h2{letter-spacing:-.02em;margin:2.5rem 0 1rem;font-size:1.5rem}.prose h2:after{content:"";border-top:2px solid var(--black);width:2.5rem;margin-top:.65rem;display:block}.prose h3{margin:1.85rem 0 .85rem;font-size:1.2rem}.prose p{margin:0 0 1.25rem}.prose ul,.prose ol{margin:0 0 1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose blockquote{border-left:3px solid var(--black);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-scrim);color:var(--color-ink-soft);margin:1.75rem 0;padding:1rem 1.25rem;font-style:italic}.prose code{border-radius:var(--radius-sm);background:var(--paper);padding:.15rem .4rem;font-size:.9em}.prose hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}.prose a{color:var(--black);text-underline-offset:.2rem;text-decoration:underline}@media (max-width:850px){.blog-related-book{max-width:none}}@media (prefers-reduced-motion:reduce){.blog-card-image{transition:none}.blog-card:hover .blog-card-image{filter:none;transform:none}}
.admin-shell{background:var(--paper);grid-template-columns:15rem 1fr;min-height:100dvh;display:grid}.admin-sidebar{gap:var(--space-8);padding:var(--space-6) var(--space-5);border-right:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex}.admin-brand{color:var(--black);font-weight:800;line-height:1.3}.admin-brand span{color:var(--muted);font-size:var(--text-sm);font-weight:600;display:block}.admin-nav{gap:var(--space-1);flex-direction:column;display:flex}.admin-nav a{padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);color:var(--ink);font-weight:600}.admin-nav a:hover{background:var(--color-scrim);text-decoration:none}.admin-main{flex-direction:column;min-width:0;display:flex}.admin-topbar{align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--line);background:var(--surface);display:flex}.admin-topbar-user{color:var(--black);font-weight:700}.admin-topbar-link{color:var(--black);margin-left:auto;font-weight:600}.admin-topbar-logout{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:600}.admin-topbar-logout:hover{color:var(--black);text-decoration:underline}.admin-content{padding:var(--space-8) var(--space-6)}.admin-page{gap:var(--space-6);max-width:64rem;display:grid}.admin-page-header{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.admin-page h1{font-size:var(--text-2xl);margin:0}.admin-loading{padding:var(--space-8);color:var(--muted)}.admin-stat-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));display:grid}.admin-stat-card{gap:var(--space-1);padding:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);display:grid}.admin-stat-value{font-size:var(--text-3xl);color:var(--black);font-weight:800}.admin-stat-label{color:var(--muted);font-size:var(--text-sm);font-weight:600}.admin-quick-links{gap:var(--space-3);display:flex}.admin-filter-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-filter-tab{padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-sm);font-weight:600}.admin-filter-tab:hover{background:var(--color-scrim);text-decoration:none}.admin-filter-tab.active{border-color:var(--black);background:var(--black);color:#fff}.admin-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;overflow:hidden}.admin-table thead th{padding:var(--space-3) var(--space-4);background:var(--color-scrim);text-align:left;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;position:sticky;top:0}.admin-table tbody td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--line);font-size:var(--text-sm);vertical-align:middle}.admin-table-muted{color:var(--muted)}.admin-table-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-empty{padding:var(--space-6);border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);text-align:center}.admin-section{gap:var(--space-4);display:grid}.admin-section-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.admin-section h2{font-size:var(--text-lg);margin:0}.admin-filter-form,.admin-search-form{align-items:center;gap:var(--space-2);display:flex}.admin-filter-form label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--muted);display:flex}.admin-search-form input[type=text]{min-height:2.5rem;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.admin-form{gap:var(--space-4);max-width:42rem;display:grid}.admin-form label{gap:var(--space-2);font-size:var(--text-sm);color:var(--black);font-weight:700;display:grid}.admin-form input,.admin-form textarea{padding:var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font:inherit}.admin-form textarea{resize:vertical}.admin-form-hint{margin:calc(-1 * var(--space-2)) 0 0;color:var(--muted);font-size:var(--text-xs)}.admin-preview{padding:var(--space-5);border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:var(--surface)}.form-status{font-size:var(--text-sm);color:var(--muted);margin:0;font-weight:600}.form-status-error{color:var(--color-danger)}.button-danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.button-danger:hover{background:var(--color-danger);color:#fff}.admin-shell .reveal,.admin-shell .stagger>*{opacity:1!important;animation:none!important;transform:none!important}@media (max-width:900px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{flex-direction:row;justify-content:space-between;align-items:center}.admin-nav{flex-direction:row}.admin-content{padding:var(--space-5)}}

