:root{--cream:#fcf9ef;--ink:#1c2b40;--muted:#58616b;--navy:#243f67;--line:#d8d6c9;--serif:'Iowan Old Style',Baskerville,'Songti SC','Noto Serif SC',Georgia,serif;--body:'Avenir Next','PingFang SC','Noto Sans SC',system-ui,sans-serif;--blue:#255792;--yellow:#f1d36c}
html{scroll-behavior:smooth;scroll-padding-top:84px}body{font-family:var(--body);background:var(--cream);color:var(--ink);line-height:1.55}button,input{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #2579c9;outline-offset:4px}button,a,input{ -webkit-tap-highlight-color:transparent}.wrap,.topline{width:min(1280px,calc(100% - clamp(38px,9vw,144px)));margin-inline:auto}.skip{position:absolute;top:-10rem;z-index:20;background:var(--cream);padding:10px}.skip:focus{top:0}.top{background:var(--cream);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.topline{height:63px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:23px;font-style:italic;font-weight:bold;color:var(--navy)}.mark{display:flex;gap:2px;align-items:flex-end;border-bottom:2px solid var(--navy);height:23px;padding:0 1px 2px}.mark b{width:4px;height:16px;border-radius:1px;background:var(--blue)}.mark b:nth-child(2){background:#ca5644;height:20px}.mark b:nth-child(3){background:#d6ad37;height:14px;transform:rotate(-12deg)}.top nav{display:flex;align-items:center;gap:clamp(12px,3vw,40px);font-size:13px;font-weight:600}.top nav a:hover,.top nav button:hover,.footlinks a:hover{text-decoration:underline;text-underline-offset:5px}
.herowrap{background:#f7f1dd;border-bottom:1px solid var(--line)}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:5%;align-items:center;padding-block:clamp(34px,4.8vw,68px)}.byline,.kicker{font-size:11px;font-weight:750;letter-spacing:.18em;color:var(--blue);line-height:1.4}.byline{display:flex;gap:10px;align-items:center}.byline>span{width:26px;height:2px;background:var(--blue)}h1{font-family:var(--serif);font-size:clamp(45px,5.1vw,76px);font-weight:800;line-height:1.16;letter-spacing:-.055em;margin:18px 0 15px}h1 em{font-style:normal;color:var(--blue)}.introtext{color:#454c55;max-width:30em;font-size:clamp(14px,1.17vw,17px);line-height:1.85}.primary,.action{display:inline-flex;gap:16px;align-items:center;justify-content:center;padding:11px 18px;border-radius:5px;background:var(--navy);color:white;font-size:14px;font-weight:650}.primary{margin-top:22px}.primary:hover,.action:hover{background:#325789}.primary span{font-size:19px;line-height:1}.showcase{background:#ecd16e;position:relative;isolation:isolate;aspect-ratio:1.67;overflow:hidden;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(93,68,11,.13);background-image:radial-gradient(#9e83393a .65px,transparent .9px);background-size:5px 5px}.showcase::before{content:'';position:absolute;inset:0 8% 17% 43%;border:1px solid #fff7c4;border-radius:50%;transform:rotate(-23deg) scale(1.55)}.hbook{position:absolute;width:40%;aspect-ratio:1;border-radius:4px;box-shadow:1px 3px 0 #c4b493,3px 7px 0 #e7d8b7,5px 10px 0 #a89267,8px 21px 24px #6b50175e;overflow:hidden}.hbook img{width:100%;height:100%;object-fit:fill;display:block}.hback{left:52%;top:10%;transform:rotate(12deg);width:34%}.hmiddle{top:15%;left:12%;transform:rotate(-14deg);width:34%}.hfront{top:22%;left:31%;width:42%;transform:rotate(3deg)}.showcaption{position:absolute;bottom:0;left:6%;right:6%;height:12%;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #9d864e;color:#61512f;font:italic 15px var(--serif)}
.catalog{padding-block:clamp(30px,4vw,64px) 36px}.cataloghead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.cataloghead h2{font-family:var(--serif);font-size:clamp(28px,2.6vw,40px);line-height:1.25;letter-spacing:-.035em;margin-top:4px}.kicker{font-size:10px}.search{display:flex;align-items:center;gap:10px;border:1px solid #c7c7b9;background:#fffdf6;border-radius:5px;padding:0 13px;height:40px;width:min(292px,46%)}.search input{width:100%;background:transparent;border:0;font-size:13px;outline:0}.search:focus-within{outline:2px solid var(--blue)}.glass{width:14px;height:14px;border:1.5px solid #6a7175;border-radius:50%;position:relative;flex:none}.glass::after{content:'';position:absolute;right:-4px;bottom:-2px;width:6px;height:1.5px;background:#6a7175;transform:rotate(45deg)}.filterrow,.filters{display:flex;align-items:center}.filterrow{justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:24px}.filters{gap:7px;flex-wrap:wrap}.filters button{border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:13px;color:#48525c;background:#fbfaf2;white-space:nowrap}.filters button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.filters button:hover{border-color:var(--navy)}.filters small{font-size:11px;opacity:.85;margin-left:2px}.count,.storage{font-size:12px;color:var(--muted)}.count{white-space:nowrap}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px clamp(14px,2vw,30px)}.book[hidden],#empty[hidden]{display:none}.book{min-width:0}.coverbtn{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1.29;overflow:hidden;border-radius:5px;background:#efe8d6;background-image:radial-gradient(#8b76541a .7px,transparent .9px);background-size:4px 4px}.book:nth-child(4n+2) .coverbtn{background-color:#e5eadd}.book:nth-child(4n+3) .coverbtn{background-color:#e6e8ec}.book:nth-child(4n+4) .coverbtn{background-color:#f1e2d9}.jacket{height:78%;aspect-ratio:1;display:block;box-shadow:1px 2px 0 #d3c9b7,2px 4px 0 #b5ab98,4px 8px 11px #5e574e35;border-radius:3px;transition:transform .18s ease}.jacket img{width:100%;height:100%;display:block;object-fit:fill;border-radius:3px}.coverbtn:hover .jacket{transform:translateY(-3px) rotate(-2deg)}.booktitle{font-size:clamp(18px,1.65vw,25px);font-family:var(--serif);font-weight:700;line-height:1.12;text-align:left;display:block;margin-top:13px}.booktitle:hover{text-decoration:underline;text-underline-offset:3px}.cname{font-size:14px;color:var(--muted);margin:5px 0 11px}.bookmeta{border-top:1px solid var(--line);padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:2px;font-size:11px;color:#6b6253}.bookmeta button{color:var(--blue);font-weight:600;padding-block:3px}.bookmeta button[aria-pressed=true]{color:#347052}.storage{display:block;margin-top:35px}.foot{border-top:1px solid var(--line);padding-block:22px 30px;display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.foot strong{font:italic bold 18px var(--serif);color:var(--navy)}.foot p{margin-top:4px}.footlinks{display:flex;gap:14px;flex-wrap:wrap;color:var(--blue)}.foot small{font-size:10px}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:8px 18px;border-radius:6px;z-index:12;font-size:13px}.toast:empty{display:none}#empty{padding:40px 20px;text-align:center}#empty button{margin:14px;color:var(--blue);text-decoration:underline}
dialog{margin:auto;padding:0;width:min(760px,calc(100vw - 36px));max-height:90dvh;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);box-shadow:0 24px 80px #14203238}dialog::backdrop{background:#1622359c}.close{position:absolute;right:11px;top:9px;z-index:1;border-radius:50%;width:36px;height:36px;line-height:1;font-size:24px;background:#fffaf0;color:#28374c;border:1px solid var(--line)}.dialoglayout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.detailart{background:#efe8d6;display:grid;place-items:center;padding:24px;min-height:280px}.detailart img{width:100%;max-height:330px;object-fit:contain;mix-blend-mode:multiply}.description{padding:38px 28px 28px}.description h2{font:700 clamp(26px,4vw,38px)/1.1 var(--serif);margin:10px 0 5px}.description .zh{font-size:17px;color:var(--muted);margin-bottom:14px}.description p{font-size:14px;margin:8px 0}.description .meta{font-size:12px;color:var(--muted)}.identifier{margin:20px 0 10px;padding:12px 0;border-block:1px solid var(--line);display:flex;justify-content:space-between;gap:5px;align-items:center}.identifier small{font-size:11px;color:var(--muted);display:block}.identifier b{font-variant-numeric:tabular-nums;letter-spacing:.035em}.copy{border:1px solid var(--line);padding:5px 8px;border-radius:5px;font-size:12px}.dialogactions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.action{font-size:13px;padding:9px 12px}.secondary{border:1px solid #adb4ba;border-radius:5px;padding:8px 12px;font-size:13px}.tower-contents{font-size:14px;color:var(--navy);font-weight:550}.bookmeta button:hover,.secondary:hover,.copy:hover,.filters button:hover,.top nav button:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero{gap:4%}.showcase{aspect-ratio:1.25}.hback{top:19%}.hmiddle{top:27%}.hfront{top:32%}.foot{display:grid}}
@media(max-width:650px){.topline{height:54px}.top nav{gap:10px;font-size:12px}.brand{font-size:19px}.mark{transform:scale(.87);transform-origin:left bottom}.hero{grid-template-columns:1fr;gap:22px;padding-block:27px 24px}.intro h1 br{display:none}.intro h1{font-size:clamp(37px,7vw,48px);margin:13px 0 10px}.introtext{font-size:14px;max-width:none}.primary{padding:8px 13px;margin-top:14px;font-size:13px}.showcase{aspect-ratio:2.32}.showcaption{height:14%;font-size:12px;left:4%;right:4%}.hback{width:25%;left:60%;top:11%}.hmiddle{width:26%;left:14%;top:15%}.hfront{width:29%;left:37%;top:11%}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px}.cataloghead{flex-wrap:wrap;gap:13px;margin-bottom:13px}.search{width:100%;height:38px}.filterrow{gap:5px;margin-bottom:17px}.filters{gap:4px}.filters button{font-size:11.5px;padding:5px 8px}.count{display:none}.booktitle{font-size:18px}.cname{font-size:13px}.bookmeta{font-size:10px;gap:1px}.dialoglayout{grid-template-columns:1fr}.detailart{min-height:0;height:180px;padding:15px}.detailart img{height:100%;width:auto;max-width:85%}.description{padding:18px 20px 24px}.description h2{margin-top:6px}.identifier{margin:12px 0}.top nav a{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.controls{display:flex;align-items:center;gap:9px}.controls .search{width:245px}.groupctl{display:inline-flex;align-items:center;border:1px solid #c7c7b9;background:#fffdf6;border-radius:5px;height:40px}.groupctl select{font:inherit;font-size:13px;color:var(--ink);padding:0 9px;border:0;background:transparent;max-width:100%;height:100%;cursor:pointer}.originalshape{aspect-ratio:auto;max-width:86%;width:fit-content}.originalshape img{display:block;height:100%;max-width:100%;width:auto;object-fit:contain}.description p:empty{margin:0}.booktitle{overflow-wrap:break-word}.hbook img{object-fit:contain}.hback,.hmiddle{background:#f3e8c7}.description .kicker{letter-spacing:.07em}
@media(max-width:650px){.controls{width:100%;gap:7px}.controls .search{min-width:0;flex:1;width:auto}.groupctl{height:38px;max-width:42%}.groupctl select{font-size:12px}.filters button{padding-inline:7px}.intro h1 br{display:block}.intro h1{font-size:43px}.showcaption{height:13%}}
.setcompare{padding:25px 0 35px;border-top:1px solid var(--line)}.setcompare h2{font:700 32px var(--serif);margin:6px 0}.setintro{color:var(--muted);font-size:14px;margin-bottom:14px}.setinputs,#comparison{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.setinputs label{display:grid;gap:5px;min-width:0;font-size:12px;color:var(--muted)}.setinputs select{width:100%;min-width:0;background:#fffdf6;border:1px solid var(--line);border-radius:5px;font:inherit;font-size:14px;color:var(--ink);padding:9px}.setinputs select:focus-visible{outline:2px solid var(--blue)}#comparison{margin-top:14px;color:var(--muted);font-size:13px}#comparison>div{background:#f4f0e4;border-radius:4px;padding:12px 14px}#comparison>div:nth-child(2){background:#eaf0e7}#comparison h3{font-size:14px;color:var(--navy);margin-bottom:5px}#comparison>p{grid-column:1/-1;font-size:12px}#comparison>p a{color:var(--blue)}.titlechip{color:var(--navy);display:inline-flex;margin:3px 8px 3px 0;text-align:left;text-decoration:underline;text-underline-offset:3px}#sets{scroll-margin-top:8px}@media(max-width:650px){.top nav a.setlink{display:block}.setinputs,#comparison{grid-template-columns:1fr}.top nav{font-size:11px}.brand{font-size:17px;gap:5px}}
.herocompare{color:var(--blue);font-size:13px;font-weight:600;padding:8px 4px;margin-left:12px;text-underline-offset:4px;text-decoration:underline}.sizenote{color:#566456;font-size:12px;line-height:1.5;margin:0 0 10px}.cname{margin-bottom:5px}.edhead{font:700 18px var(--serif);margin:17px 0 7px}.editionrow{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-top:1px solid var(--line)}.editionrow>div{flex:1;min-width:0}.editionrow .versionimg{width:42px;height:52px;object-fit:contain;flex:none}.editionrow strong{font-size:14px}.editionrow p.edsize{color:#3d6746;margin:2px 0 0;font-size:13px}.editionrow .identifier{padding:5px 0;margin:7px 0;border:0}.editionrow .identifier b{font-size:14px}.editionrow .copy{font-size:11px;padding:3px 6px}.edactions{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;font-size:11px;color:var(--blue)}.edactions .secondary{color:var(--ink);font-size:12px;padding:4px 7px}.edactions .secondary[aria-pressed=true],#markTower[aria-pressed=true]{background:#dfeddd;color:#215837}.detailart{align-content:start;padding-top:36px}.detailart img{position:sticky;top:34px}.description{min-width:0}.description .meta a{text-decoration:underline}.description .editionrow .meta{margin:2px 0}.dialogactions>.secondary{font-size:12px}#comparison>p{line-height:1.8}
@media(max-width:650px){.editionrow .versionimg{width:37px;height:48px}.detailart{padding-top:14px}.detailart img{position:static}.herocompare{margin-left:6px;font-size:12px}.filterrow{align-items:flex-start}.filters{row-gap:6px}}
.cardintro{font-size:13px;line-height:1.55;color:var(--muted);margin:5px 0 8px}.description .synopsis{font-size:15px;line-height:1.8}.setfoot{display:flex;align-items:center;gap:14px}.setfoot img{width:64px;height:72px;object-fit:contain}.setfoot span{min-width:0}.setfoot a{font-weight:600}dialog{overflow:hidden}#inside{overflow-y:auto;max-height:89dvh;overscroll-behavior:contain}dialog .close{z-index:3}

.syncrow { display:flex;align-items:center;gap:.65rem;min-height:1.6rem;margin:0 0 1.35rem;color:var(--text-secondary,#575e5d);font-size:.82rem; }
.syncagain { padding:.2rem .55rem;color:inherit;background:transparent;border:1px solid currentColor;border-radius:.35rem;cursor:pointer; }
.syncagain[hidden] { display:none }
.secondary:disabled,.action:disabled { cursor:default;opacity:.65; }
