.book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media(min-width:720px){.book-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}@media(min-width:1100px){.book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.shop-page{max-width:1160px;margin:0 auto}.shop-top{display:flex;align-items:flex-start;gap:12px}.shop-top>:first-child{flex:1;min-width:0}.shop-top>.show-desktop-flex{padding-top:4px}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.shop-main{min-width:0}.shop-side{display:none}.shop-chips{position:sticky;top:var(--nav-off, var(--topbar-h));transition:top .52s var(--ease-out);z-index:15;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 0 16px;padding:10px 0;background:var(--c-bg);scroll-snap-type:x proximity;box-shadow:0 0 0 100vmax var(--c-bg);clip-path:inset(0 -100vmax)}.shop-chips::-webkit-scrollbar{display:none}.shop-chip{flex-shrink:0;scroll-snap-align:center;padding:7px 13px;border-radius:999px;font-size:13px;white-space:nowrap;border:1px solid var(--c-border);background:var(--c-card);color:var(--c-text);text-decoration:none}.shop-chip[data-on]{background:var(--c-brand-soft);border-color:var(--c-brand);box-shadow:inset 0 0 0 .5px var(--c-brand);color:var(--c-brand-deep);font-weight:500}.shop-search{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;margin-bottom:20px;background:var(--c-card);border:1px solid var(--c-border);border-radius:10px;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.shop-search:focus-within{border-color:var(--c-brand);box-shadow:0 0 0 3px var(--c-brand-soft)}.shop-search>svg{flex-shrink:0;color:var(--c-sub)}.shop-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:15px;color:var(--c-ink)}.shop-search input::-webkit-search-cancel-button{display:none}.shop-search button{display:flex;border:0;background:none;color:var(--c-sub);cursor:pointer;padding:4px}.shop-side-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font-size:14px;color:var(--c-text);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out)}.shop-side-item>span:first-child{flex:1;min-width:0}.shop-side-item:hover{background:var(--c-paper)}.shop-side-item[data-on]{background:var(--c-brand-soft);color:var(--c-brand-deep);font-weight:500}@media(min-width:1024px){.shop-layout{grid-template-columns:220px minmax(0,1fr);gap:36px;align-items:start}.shop-side{display:block;position:sticky;top:96px;padding:0}.shop-chips{display:none}}@media(min-width:1024px)and (max-width:1279px){.shop-layout .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.bk-perks{display:flex;flex-wrap:wrap;gap:8px 22px;margin:-8px 0 28px;padding:0;list-style:none}.bk-perks li{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--c-text)}.bk-perks svg{color:var(--c-brand);flex-shrink:0}.bk-empty{display:grid;justify-items:center;gap:22px;padding:56px 24px 52px;text-align:center;border-radius:16px;background:var(--c-paper);box-shadow:inset 0 0 0 1px var(--c-border)}.bk-empty p{margin:0;font-size:16px;color:var(--c-text)}.bk-empty-stack{position:relative;width:168px;height:128px}.bk-empty-stack>span{position:absolute;bottom:0;width:84px;aspect-ratio:3 / 4;border-radius:6px;background:var(--c-card);box-shadow:0 0 0 1px #1111110f,0 14px 26px -16px #1111114d}.bk-empty-stack>span:before{content:"";position:absolute;left:14%;right:30%;top:18%;height:6%;border-radius:2px;background:var(--c-brand);opacity:.85}.bk-empty-stack>span:after{content:"";position:absolute;left:14%;right:14%;top:34%;height:22%;border-radius:2px;background:repeating-linear-gradient(180deg,var(--c-border) 0 2px,transparent 2px 7px)}.bk-empty-stack>span:nth-child(1){left:0;transform:rotate(-8deg);background:var(--c-brand-soft)}.bk-empty-stack>span:nth-child(2){left:42px;z-index:1;bottom:6px}.bk-empty-stack>span:nth-child(3){left:84px;transform:rotate(8deg);background:var(--c-brand-soft)}.bk-empty .btn{width:auto!important;min-width:240px;padding-inline:28px!important}.bk-grp{margin-bottom:44px}.bk-grp-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--c-border)}.bk-grp-head h2{margin:0;font-size:22px;font-weight:650;letter-spacing:-.03em}.bk-grp-head h2 a{color:var(--c-ink);text-decoration:none}.bk-more{display:inline-flex;align-items:center;gap:2px;min-height:44px;font-size:14px;font-weight:500;color:var(--c-brand-deep);text-decoration:none;white-space:nowrap}.bk-side-label{margin:20px 10px 6px;color:var(--c-faint)}.bk-side-n{font-size:12px;color:var(--c-faint);font-variant-numeric:tabular-nums}.bk-nores{padding:32px 20px;text-align:center;border-radius:12px;background:var(--c-paper);color:var(--c-sub);font-size:15px}.bk-nores button{border:0;background:none;color:var(--c-brand-deep);cursor:pointer;font:inherit;font-weight:500;padding:0;text-decoration:underline;text-underline-offset:3px}.bk-trainer{display:flex;align-items:center;gap:16px;margin-top:36px;padding:20px 22px;border-radius:14px;background:var(--c-brand-soft);color:var(--c-ink);text-decoration:none;transition:transform var(--dur-base) var(--ease-out)}.bk-trainer-ic{color:var(--c-brand);flex-shrink:0;display:flex}.bk-trainer-txt{flex:1;min-width:0}.bk-trainer-t{display:block;font-size:16px;font-weight:600;letter-spacing:-.015em}.bk-trainer-s{display:block;margin-top:2px;font-size:14px;color:var(--c-text)}.bk-trainer>svg:last-child{color:var(--c-brand);flex-shrink:0;transition:transform var(--dur-base) var(--ease-out)}@media(hover:hover)and (pointer:fine){.bk-trainer:hover>svg:last-child{transform:translate(3px)}}.bk-card{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--c-ink);position:relative;border-radius:12px}.bk-card-cover{position:relative;min-width:0;transition:transform var(--dur-base) var(--ease-out)}.bk-badge{position:absolute;z-index:2;top:10px;right:10px;padding:4px 8px;border-radius:6px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--c-brand);color:#fff}.bk-card-body{display:flex;flex-direction:column;gap:4px;flex:1;padding:0 2px}.bk-card-subj{color:var(--c-sub)}.bk-card-t{font-size:15px;font-weight:500;line-height:1.35;letter-spacing:-.01em}.bk-card-m{font-size:13px;color:var(--c-sub);font-variant-numeric:tabular-nums}.bk-card-p{margin-top:auto;padding-top:8px;display:flex;align-items:baseline;gap:8px;font-variant-numeric:tabular-nums}.bk-card-p b{font-size:16.5px;font-weight:650;letter-spacing:-.02em}.bk-card-p s{font-size:13px;color:var(--c-faint)}.bk-owned{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:500;color:var(--c-success)}@media(hover:hover)and (pointer:fine){.bk-card:hover .bk-card-cover{transform:translateY(-3px)}.bk-card:hover .bk-card-t{color:var(--c-brand-deep)}}.bk-cover{position:relative;aspect-ratio:3 / 4;width:100%;overflow:hidden;border-radius:8px;container-type:inline-size;box-shadow:0 0 0 1px #11111112,0 18px 34px -22px #11111159}.bk-cover img{width:100%;height:100%;object-fit:cover;display:block}.bk-cover-art{color:var(--c-ink);background:linear-gradient(180deg,#fff,#fbfbfa)}.bk-cover-in{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;padding:12cqw 11cqw 10cqw 13cqw}.bk-cover-art:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4.5cqw;background:var(--c-brand)}.bk-cover-art:after{content:"";position:absolute;right:-22cqw;bottom:-22cqw;width:70cqw;height:70cqw;border-radius:50%;background:var(--c-brand-soft);box-shadow:inset 0 0 0 1px var(--c-brand-line)}.bk-cover-k{position:relative;z-index:1;display:flex;align-items:center;gap:2.4cqw;font-size:4.4cqw;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-brand-deep)}.bk-cover-k:after{content:"";flex:1;height:1px;background:var(--c-brand-line)}.bk-cover-t{position:relative;z-index:1;margin-top:10cqw;font-size:10cqw;font-weight:700;line-height:1.08;letter-spacing:-.035em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;color:var(--c-ink)}.bk-cover-s{position:relative;z-index:1;margin-top:5cqw;font-size:5cqw;line-height:1.4;color:var(--c-sub);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.bk-cover-b{position:relative;z-index:1;margin-top:auto;font-size:5.2cqw;font-weight:600;letter-spacing:-.02em;color:var(--c-ink)}.bk-cover-b i{font-style:normal;color:var(--c-brand);padding:0 .04em}.bk-cover-b span{color:var(--c-sub);font-weight:500}.bk-show{max-width:1040px;margin:0 auto}.book-hero{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}.book-hero-cover{max-width:260px;width:70%;margin:0 auto}.book-hero-main{min-width:0}@media(min-width:760px){.book-hero{grid-template-columns:300px minmax(0,1fr);gap:44px}.book-hero-cover{width:100%;max-width:none;margin:0;position:sticky;top:96px}}.bk-subj{display:inline-flex;align-items:center;min-height:32px;margin-bottom:10px;color:var(--c-brand-deep);text-decoration:none}.bk-h1{margin:0;font-size:clamp(28px,3.6vw,42px);line-height:1.1;font-weight:700;letter-spacing:-.035em;color:var(--c-ink)}.bk-sub{margin:12px 0 0;font-size:16px;line-height:1.6;color:var(--c-sub)}.bk-meta{display:flex;flex-wrap:wrap;gap:0;margin:22px 0 24px;padding:0;list-style:none;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border)}.bk-meta li{display:inline-flex;align-items:center;gap:8px;padding:12px 18px 12px 0;font-size:14px;color:var(--c-text);font-variant-numeric:tabular-nums}.bk-meta li+li{padding-left:18px;border-left:1px solid var(--c-border)}.bk-meta svg{color:var(--c-sub)}.bk-meta-gap{height:24px}.bk-buy{display:flex;flex-direction:column;gap:12px;padding:22px}.bk-price{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;font-variant-numeric:tabular-nums}.bk-price b{font-size:34px;font-weight:700;letter-spacing:-.04em;color:var(--c-ink);line-height:1.1}.bk-price s{font-size:16px;color:var(--c-faint)}.bk-fine{font-size:13px;line-height:1.55;color:var(--c-sub)}.bk-has{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--c-success)}.bk-sample{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14.5px;font-weight:500;color:var(--c-brand-deep);text-decoration:none}.bk-sample:hover{text-decoration:underline;text-underline-offset:3px}.bk-dl{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:var(--btn-r);background:var(--c-brand);color:#fff;text-decoration:none;font-size:var(--btn-fs);font-weight:500}.bk-h2{margin:56px 0 16px;font-size:clamp(22px,3vw,26px);font-weight:650;letter-spacing:-.03em;color:var(--c-ink)}.bk-desc{font-size:16px;line-height:1.75;white-space:pre-line;color:var(--c-text);max-width:70ch}.bk-toc{list-style:none;margin:0;padding:0;counter-reset:toc;border-top:1px solid var(--c-border);max-width:760px}.bk-toc li{counter-increment:toc;display:grid;grid-template-columns:2.6em minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid var(--c-border);font-size:15px;line-height:1.5;color:var(--c-text)}.bk-toc li:before{content:counter(toc,decimal-leading-zero);font-size:13px;font-weight:500;color:var(--c-faint);font-variant-numeric:tabular-nums;padding-top:2px}.bk-rel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:56px 0 16px}.bk-rel-head .bk-h2{margin:0}.bk-cart-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-border)}.bk-cart-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--c-border)}.bk-cart-cover{width:60px;flex-shrink:0}.bk-cart-main{flex:1;min-width:0}.bk-cart-t{font-size:15.5px;font-weight:500;line-height:1.4;color:var(--c-ink);letter-spacing:-.01em}.bk-cart-p{margin-top:3px;font-size:14px;color:var(--c-sub);font-variant-numeric:tabular-nums}.bk-cart-p[data-owned]{color:var(--c-success)}.bk-rm{width:44px;height:44px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:none;color:var(--c-sub);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.bk-rm:hover{background:var(--c-danger-bg);color:var(--c-danger)}.bk-total{margin-top:24px;display:flex;flex-direction:column;gap:16px;padding:22px}.bk-total-row{flex:1;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.bk-total-row span{font-size:14.5px;color:var(--c-sub)}.bk-total-row b{font-size:28px;font-weight:700;letter-spacing:-.04em;color:var(--c-ink);font-variant-numeric:tabular-nums}.bk-loading{padding:40px;text-align:center;color:var(--c-sub)}.bk-warn{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:12px;background:var(--c-danger-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-danger) 35%,transparent);color:color-mix(in srgb,var(--c-danger) 78%,var(--c-ink));font-size:13.5px;line-height:1.6}.bk-warn>svg{color:var(--c-danger);flex-shrink:0;margin-top:1px}.bk-warn-h{margin-bottom:4px;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--c-danger)}.bk-warn-p{margin-top:6px}@media(min-width:760px){.bk-cart-cover{width:68px}.bk-buy{padding:26px 28px}.bk-total{padding:24px 28px;flex-direction:row;align-items:center;justify-content:space-between}.bk-total>.btn{width:auto!important;min-width:260px}}@media(max-width:559.98px){.bk-grp-head h2{font-size:20px}.bk-trainer{padding:18px;gap:14px}.bk-meta li{padding-right:14px}.bk-meta li+li{padding-left:14px}}
