:root{--ink:#172f37;--muted:#647477;--teal:#007b78;--paper:#fafaf6;--line:#dfe6e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:8px;padding:9px 15px;color:var(--ink)}button:disabled{opacity:.45;cursor:default}button:hover:not(:disabled){border-color:var(--teal)}:focus-visible{outline:3px solid #e6ab42;outline-offset:4px}header{max-width:1240px;margin:auto;height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 30px}.brand{font-size:25px;font-weight:850;letter-spacing:-1px;display:flex;align-items:center}.brand>span:not(.logo){color:var(--teal)}.brand small{font-size:12px;font-weight:400;letter-spacing:2px;border-left:1px solid #cad5d1;padding-left:18px;margin-left:20px}.logo{display:grid;place-items:center;background:var(--teal);color:white;border-radius:10px;width:36px;height:38px;margin-right:10px}nav{display:flex;gap:32px;font-size:14px}main{max-width:1180px;margin:auto;padding:0 30px}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:485px;gap:30px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--teal);font-weight:650}h1{font-size:64px;line-height:1.23;letter-spacing:-3px;margin:22px 0}h1 span{color:var(--teal)}.intro{color:var(--muted);font-size:16px;line-height:1.9}.primary{display:inline-flex;justify-content:center;gap:40px;align-items:center;color:white;background:var(--teal);border:0;border-radius:8px;padding:12px 22px;font-weight:600}.small{font-size:11px;color:var(--muted);margin:14px 0 25px}.hero-art{height:410px;position:relative;isolation:isolate}.orbit{position:absolute;width:340px;height:340px;background:#e5eee3;border-radius:50%;left:80px;top:40px;z-index:-1}.book{position:absolute;width:190px;height:268px;border-radius:3px 9px 9px 3px;box-shadow:12px 18px 25px #27423326,inset 5px 0 3px #ffffff60;overflow:hidden;padding:20px 22px;display:flex;flex-direction:column}.book span{font-size:10px;letter-spacing:2px}.book strong{font-size:42px;letter-spacing:8px;line-height:1.8}.book i{font:10px Georgia;letter-spacing:3px}.book small{margin-top:auto;z-index:3;font-size:12px}.book-front{background:#f7d184;left:75px;top:60px;transform:rotate(-12deg)}.book-back{background:#b0cbd2;left:242px;top:98px;transform:rotate(12deg)}.geometry{font:110px Georgia;color:#ffffff9c;position:absolute;top:90px;left:48px}.sun{width:50px;height:50px;background:#d4653e;border-radius:50%;position:absolute;top:130px;right:20px}.hill{background:#637c56;width:240px;height:140px;border-radius:50%;position:absolute;top:180px;left:-65px;transform:rotate(-15deg)}.art-note{position:absolute;bottom:20px;right:35px;font:italic 14px Georgia;color:var(--muted)}.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.stats div{display:flex;flex-direction:column;padding-left:25px;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{font-size:23px}.stats span{font-size:12px;color:var(--muted)}#library{padding-top:55px}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}h2{font-size:28px;line-height:1.4;margin:5px 0}.section-title>p{color:var(--muted);font-size:13px}.tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:22px}.tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:none;padding:12px 0;color:var(--muted)}.tabs button[aria-selected=true]{color:var(--teal);border-color:var(--teal);font-weight:700}.filters{display:flex;gap:15px;align-items:center;background:#eef2ed;padding:17px;border-radius:10px}.filters label{display:flex;gap:9px;align-items:center;font-size:12px;white-space:nowrap}.filters .search{flex:1;background:white;border:1px solid var(--line);border-radius:7px;padding:0 12px}.search span{font-size:26px;color:var(--teal)}input{min-width:0;width:100%;border:0;padding:10px 5px;outline-offset:0}select{max-width:145px;border:1px solid var(--line);background:white;border-radius:6px;padding:9px}.text-button{background:none;border:0;color:var(--teal);padding:5px}.results-bar{display:flex;align-items:center;justify-content:space-between;margin-top:18px;font-size:13px}.source-note{color:var(--muted);font-size:12px;margin:0 0 24px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px 20px}.card{border:1px solid var(--line);background:white;border-radius:11px;overflow:hidden;position:relative}.cover{height:208px;background:#f0f2eb;display:flex;align-items:center;justify-content:center;padding:22px}.cover img{height:165px;max-width:140px;object-fit:contain;filter:drop-shadow(5px 6px 4px #132c3222)}.cover-fallback{font-size:30px;color:#54796c;border:1px solid #91a99b;padding:25px;background:#dce9d5}.card input[type=checkbox]{position:absolute;top:13px;left:13px;width:18px;height:18px;z-index:2;accent-color:var(--teal)}.card-body{padding:15px}.meta{font-size:11px;color:var(--teal)}.card h3{font-size:14px;line-height:1.6;font-weight:600;margin:8px 0 15px;min-height:45px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card button,.card .read{display:block;width:100%;text-align:center;padding:8px;border:1px solid var(--line);border-radius:6px;color:var(--teal);font-size:12px}.pagination{display:flex;justify-content:center;align-items:center;gap:25px;margin:30px 0 55px;font-size:13px}.guide{border-top:1px solid var(--line);padding:38px 0;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px}.guide h2{font-size:25px}.guide b{font:30px Georgia;color:#a3b8ac}.guide h3{font-size:15px}.guide p:not(.eyebrow){font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 0 110px}footer p,footer a{font-size:11px;color:var(--muted)}aside{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:white;box-shadow:0 8px 40px #183b3326;border:1px solid var(--line);border-radius:12px;padding:12px 20px;display:flex;align-items:center;gap:25px;z-index:5;white-space:nowrap}[hidden]{display:none!important}dialog{border:1px solid var(--line);border-radius:14px;padding:25px;max-width:620px;width:90%;max-height:80vh;color:var(--ink)}dialog::backdrop{background:#102d3566}.dialog-head{display:flex;justify-content:space-between;align-items:center}dialog p{font-size:13px;color:var(--muted)}.download-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:15px 0;font-size:13px}.download-row a{white-space:nowrap;color:var(--teal);font-weight:600}.download-row small{display:block;color:var(--muted)}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:8px;z-index:20}.empty{grid-column:1/-1;text-align:center;padding:55px;color:var(--muted)}@media(max-width:900px){.filters{flex-wrap:wrap}.filters .search{flex-basis:100%}.grid{grid-template-columns:repeat(3,1fr)}h1{font-size:52px}.hero-art{transform:scale(.8);transform-origin:center left}.guide{grid-template-columns:repeat(2,1fr)}.brand small{display:none}}@media(max-width:600px){header{height:75px;padding:0 20px}nav{gap:16px;font-size:12px}main{padding:0 20px}.hero{grid-template-columns:1fr;min-height:auto;padding:30px 0 0;gap:0}h1{font-size:48px}.hero-art{height:320px;transform:scale(.75);transform-origin:top center;margin-bottom:0;margin-left:-35px}.intro br{display:none}.stats{grid-template-columns:1fr 1fr;gap:20px}.stats div{padding-left:10px}.stats div:nth-child(2){border:0}.stats strong{font-size:21px}.section-title>p{display:none}h2{font-size:25px}.filters{gap:12px;padding:12px}.filters label:not(.search){flex:1}.filters select{max-width:100px;width:100%;padding:7px;font-size:12px}.filters label{gap:5px}.grid{grid-template-columns:1fr 1fr;gap:15px 12px}.cover{height:178px;padding:15px}.cover img{height:145px;max-width:110px}.card-body{padding:12px}.card h3{font-size:13px}.guide{gap:20px}footer{flex-wrap:wrap}aside{width:calc(100% - 24px);gap:12px;justify-content:space-between;padding:10px;font-size:12px}aside .primary{padding:10px;font-size:12px}.pagination{gap:15px}.pagination button{font-size:12px}}
.profile-bar{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#eaf2eb;border:1px solid #d6e3d8;padding:18px 20px;border-radius:10px;margin-bottom:24px}.profile-bar p{font-size:12px;color:var(--muted);margin:4px 0 0}.profile-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.profile-actions button{font-size:12px}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.filter-chips button{font-size:12px;background:#eaf2eb;border:0;padding:5px 10px;color:var(--teal)}.filters{flex-wrap:wrap}.filters .search{flex-basis:100%}.onboarding-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.onboarding-field{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:13px}.onboarding-field select,.onboarding-field input{width:100%;max-width:none;padding:12px;background:#f5f7f3;border:1px solid var(--line);border-radius:8px;font-size:14px}.onboarding-note{line-height:1.8}.onboarding-footer{display:flex;justify-content:space-between;gap:15px;margin-top:25px}#onboarding-next{margin-left:auto}#onboarding-count{padding:12px;background:#eaf2eb;border-radius:8px;color:var(--teal)}#onboarding{max-width:550px}.dialog-head .eyebrow{color:var(--teal)}@media(max-width:600px){.profile-bar{align-items:flex-start;flex-direction:column;padding:15px}.onboarding-fields{grid-template-columns:1fr;gap:0}.onboarding-field{margin:10px 0}.filters label:not(.search){flex:1 1 40%}.filters select{max-width:none}.profile-actions{gap:6px}#onboarding{padding:20px}.onboarding-footer{margin-top:18px}}
#onboarding{max-height:90dvh}.onboarding-footer{position:sticky;bottom:-25px;background:white;padding:16px 0;margin-top:10px;z-index:1;border-top:1px solid var(--line)}@media(max-width:600px){.onboarding-footer{bottom:-20px}}
.region-note{padding:15px 18px;margin:14px 0 22px;border:1px solid #d6e3d8;border-radius:9px;background:#f0f5ef;font-size:13px}.region-note p{font-size:13px;line-height:1.8;margin:8px 0}.region-note a,.region-page p>a:not(.primary){color:var(--teal);text-decoration:underline;text-underline-offset:3px}.region-page{max-width:960px;padding-top:35px;padding-bottom:60px}.region-page h1{font-size:36px;letter-spacing:-1px}.region-page h2{font-size:23px;margin-top:32px}.region-page p{line-height:1.9}.region-page .region-note h2{margin-top:0}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:13px;border:1px solid var(--line);vertical-align:top}th{background:#eaf2eb}@media(max-width:600px){.region-page h1{font-size:29px}.region-page table{min-width:530px}}
/* Compact catalogue: the main page prioritizes controls and two rows of books. */
.compact-library header{position:sticky;top:0;z-index:10;max-width:none;height:68px;background:var(--paper);padding:10px max(20px,calc((100vw - 1180px)/2));gap:18px}.region-switch{display:flex;gap:12px;margin-left:auto}.region-switch label{display:flex;align-items:center;gap:6px;font-size:12px;white-space:nowrap}.region-switch input{width:155px;border:1px solid var(--line);border-radius:6px;padding:8px}.region-switch select{max-width:120px}.compact-library main{padding:0 24px}.compact-library #library{padding-top:16px;scroll-margin-top:80px}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.library-heading h1{font-size:23px;letter-spacing:0;margin:0;line-height:1.4}.library-heading p{font-size:12px;color:var(--muted);margin:0}.compact-library .profile-bar{padding:10px 12px;margin:0 0 10px;gap:10px}.compact-library .profile-bar strong{display:none}.compact-library .profile-bar p{margin:0;max-width:500px}.compact-library .profile-actions{gap:7px}.compact-library .profile-actions button{padding:5px 8px}.compact-library #saved-region-note{padding:8px 12px;margin:0 0 10px;font-size:12px}.compact-library .tabs{gap:22px;margin-bottom:10px}.compact-library .tabs button{padding:7px 0}.compact-library .filters{padding:10px;gap:8px}.compact-library .filters .search{flex:1 1 200px}.compact-library .filters select{max-width:126px;padding:6px;font-size:12px}.compact-library .filters label{gap:5px}.compact-library .results-bar{margin-top:8px}.compact-library .results-bar p{margin:4px 0}.compact-library .source-note{margin:4px 0 8px;font-size:11px}.compact-library .filter-chips{margin:0 0 8px;gap:6px}.compact-library .filter-chips:empty{display:none}.compact-library .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.compact-library .card{display:flex;min-width:0;height:150px}.compact-library .cover{width:72px;height:100%;padding:9px;flex-shrink:0}.compact-library .cover img{width:53px;height:90px;max-width:100%;filter:none}.compact-library .cover-fallback{font-size:16px;padding:10px 4px}.compact-library .card-body{padding:10px;flex:1;min-width:0;display:flex;flex-direction:column}.compact-library .card h3{font-size:12px;min-height:0;margin:5px 0;-webkit-line-clamp:3;flex:1}.compact-library .card .meta{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-library .card input[type=checkbox]{top:6px;left:6px;width:15px;height:15px}.compact-library .card button,.compact-library .card .read{padding:5px;font-size:11px}.compact-library .pagination{margin:12px 0;gap:20px}.compact-library .pagination button{padding:6px 12px}.compact-library footer{padding:10px 0 85px;gap:10px;align-items:center}.compact-library footer p{margin:0}.compact-library #selection{bottom:8px}.compact-library .empty{padding:25px}.compact-library #open-guide{white-space:nowrap;font-size:12px}@media(max-width:1000px){.compact-library .grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compact-library .cover{width:50px;padding:5px}.compact-library .cover img{width:40px}.compact-library .card-body{padding:7px}.compact-library .filters .search{flex-basis:100%}}@media(max-width:600px){.compact-library header{height:auto;min-height:94px;padding:8px 12px;gap:5px 10px;flex-wrap:wrap}.compact-library .brand{font-size:21px}.compact-library .logo{height:28px;width:28px}.compact-library #open-guide{margin-left:auto;order:1}.compact-library .region-switch{order:2;flex-basis:100%;margin:0;gap:12px}.region-switch label{flex:1;min-width:0}.region-switch select,.region-switch input{width:100%;min-width:0;max-width:none;padding:6px;font-size:12px}.compact-library main{padding:0 12px}.compact-library #library{padding-top:10px;scroll-margin-top:108px}.library-heading{margin-bottom:9px;align-items:start;flex-direction:column;gap:2px}.library-heading h1{font-size:20px}.compact-library .profile-bar{padding:8px 10px;gap:5px}.compact-library .profile-bar p{font-size:11px}.compact-library .profile-actions{gap:6px}.compact-library .profile-actions button{font-size:11px;padding:3px 5px}.compact-library .filters{padding:8px;gap:6px}.compact-library .filters label:not(.search){flex:1 1 29%;min-width:0}.compact-library .filters select{width:100%;min-width:0;max-width:none}.compact-library .search input{padding:7px 2px;font-size:12px}.compact-library .grid{grid-template-columns:1fr;gap:8px}.compact-library .card{height:94px}.compact-library .cover{width:65px;padding:9px}.compact-library .cover img{height:74px;width:47px}.compact-library .card-body{padding:7px 10px}.compact-library .card h3{-webkit-line-clamp:1;font-size:12px;margin:3px 0}.compact-library .card button,.compact-library .card .read{width:auto;align-self:flex-end;padding:3px 13px}.compact-library footer{flex-wrap:wrap;padding-bottom:76px}.compact-library .filter-chips button{font-size:10px;padding:3px 7px}}
@media(max-width:600px){.compact-library .card{height:88px}.compact-library .card h3{flex:none;line-height:19px;height:19px}.compact-library .card button,.compact-library .card .read{margin-top:auto}.compact-library .cover img{height:68px}}
@media(min-width:600px) and (max-height:600px){.compact-library .card{height:120px}.compact-library footer{padding-bottom:64px}}
