:root{
  --bg:#f5f0ee;--paper:#fffdfb;--paper-2:#faf5f3;--ink:#30282b;--muted:#796c70;--line:#e3d8d9;
  --accent:#793f50;--accent-dark:#512b39;--accent-soft:#f1e4e7;--accent-mid:#b77989;--rose:#c58b98;
  --green:#557a68;--amber:#a87945;--red:#a44d4d;--shadow:0 10px 32px rgba(74,40,49,.055);--radius:17px;--serif:Georgia,'Times New Roman',serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.55}button,input,select{font:inherit}button{cursor:pointer}.shell{max-width:1190px;margin:0 auto;padding:26px 24px 40px}
.hero{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(132deg,var(--accent-dark),var(--accent) 65%,#9b6373);color:#fff9fa;padding:24px 34px 25px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-120px;top:52px;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 82px rgba(255,255,255,.02)}.hero-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:18px}.brand{display:inline-flex;align-items:center;gap:9px;color:#fff6f7;text-decoration:none;font-size:11px;font-weight:800;letter-spacing:.16em}.brand-mark{width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.52);border-radius:50%;font-family:var(--serif);font-size:13px;letter-spacing:-.08em}.top-note{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#e8d5da}.hero-copy{position:relative;z-index:1;max-width:710px;padding:45px 0 34px}.eyebrow,.kicker,.overline{font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--accent-mid)}.hero .eyebrow{color:#edcbd3}h1{font-family:var(--serif);font-weight:400;letter-spacing:-.045em;font-size:clamp(42px,6vw,68px);line-height:.99;margin:13px 0 17px}.hero-copy p{max-width:630px;color:#f1e3e6;margin:0;font-size:15px;line-height:1.75}.hero-bottom{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(100px,auto)) minmax(180px,1fr);gap:24px;align-items:end;border-top:1px solid rgba(255,255,255,.2);padding-top:17px}.hero-stat{display:flex;flex-direction:column;gap:2px}.hero-stat strong{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.1}.hero-stat span{font-size:11px;color:#ead8dd}.hero-progress-wrap{align-self:center}.hero-progress-label{display:flex;justify-content:space-between;color:#f0dfe3;font-size:11px;margin-bottom:8px}.hero-progress-label strong{color:white}.progress-track{height:7px;background:rgba(90,54,64,.13);border-radius:20px;overflow:hidden}.hero .progress-track{background:rgba(255,255,255,.2)}.progress-track span{display:block;width:0;height:100%;background:var(--rose);border-radius:20px;transition:width .25s ease}.hero .progress-track span{background:#f0cbd4}.hero-collections{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:9px 24px;border-top:1px solid rgba(255,255,255,.13);margin-top:15px;padding-top:12px;color:#e9d6dc;font-size:10px}.hero-collections b{color:#fff;font-weight:750}
.tabs{display:flex;gap:5px;margin:22px 0 26px;padding:5px;background:rgba(255,255,255,.58);border:1px solid var(--line);border-radius:13px;width:max-content;max-width:100%;flex-wrap:wrap}.tab{border:0;background:transparent;color:var(--muted);border-radius:9px;padding:10px 16px;font-size:13px;font-weight:650}.tab:hover{color:var(--accent)}.tab.active{background:var(--accent);color:#fff;box-shadow:0 3px 9px rgba(121,63,80,.17)}.panel{display:none}.panel.active{display:block;animation:fade .18s ease}@keyframes fade{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:0 0 17px}.section-heading h2{font-family:var(--serif);font-size:31px;line-height:1.1;font-weight:400;letter-spacing:-.025em;margin:6px 0 0}.section-heading>p{max-width:470px;color:var(--muted);font-size:13px;margin:0 0 2px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.filterbar{display:grid;grid-template-columns:minmax(230px,1.65fr) repeat(3,minmax(150px,1fr));gap:12px;padding:15px;margin-bottom:14px;align-items:end}.filterbar label{display:flex;flex-direction:column;gap:5px;min-width:0}.filterbar label>span{font-size:10px;color:var(--muted);font-weight:750;letter-spacing:.1em;text-transform:uppercase}.filterbar input,.filterbar select{width:100%;height:42px;border:1px solid var(--line);border-radius:9px;background:#fffdfb;color:var(--ink);padding:0 11px;outline:0;font-size:13px}.filterbar input:focus,.filterbar select:focus{border-color:var(--accent-mid);box-shadow:0 0 0 3px rgba(121,63,80,.1)}.list-meta{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px;margin:0 3px 12px}.list-meta span:first-child{font-weight:750;color:var(--accent)}.global-collection,.books-list{display:flex;flex-direction:column;gap:14px}.books-list{margin-top:14px}.global-book-group,.period-group{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}.global-book-heading,.period-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;background:var(--accent-soft);cursor:pointer;list-style:none;user-select:none}.global-book-heading::-webkit-details-marker,.period-heading::-webkit-details-marker{display:none}.global-book-heading::marker,.period-heading::marker{content:""}.global-book-heading:hover,.period-heading:hover{background:#ead7dc}.global-book-heading h3,.period-heading h3{font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.1;margin:3px 0 0;color:var(--accent-dark)}.global-book-heading p,.period-heading p{margin:4px 0 0;color:#796c70;font-size:11px}.period-heading-copy{min-width:0}.period-range{font-size:10px;color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.period-heading-side{display:flex;align-items:center;gap:12px;flex-shrink:0}.period-count{white-space:nowrap;color:#6e4250;font-size:11px;font-weight:750}.period-progress-mini{white-space:nowrap;color:var(--muted);font-size:10px}.period-toggle-label{font-size:10px;color:#6e4250;white-space:nowrap}.period-chevron{width:9px;height:9px;border-right:1.7px solid var(--accent);border-bottom:1.7px solid var(--accent);transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.period-group[open] .period-chevron,.global-book-group[open] .period-chevron{transform:rotate(225deg) translate(-2px,-1px)}.period-group[open] .period-heading,.global-book-group[open] .global-book-heading{border-bottom:1px solid var(--line)}.period-group[open] .period-toggle-label{font-size:0}.period-group[open] .period-toggle-label:after{content:"Recolher";font-size:10px}.period-intro{padding:13px 18px 0;color:var(--muted);font-size:12px;line-height:1.65}.period-works{background:var(--paper)}
.book-row{display:grid;grid-template-columns:minmax(0,1fr) 165px;gap:20px;align-items:center;padding:14px 17px;border-bottom:1px solid #eee6e5}.book-row:last-child{border-bottom:0}.book-row:hover{background:#fffaf8}.book-main{min-width:0}.book-labels{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:5px}.kind-badge{display:inline-flex;align-items:center;border-radius:20px;padding:3px 8px;font-size:9px;line-height:1.4;font-weight:750;letter-spacing:.025em}.kind-badge.durant{background:#f0e0e3;color:#783e50}.kind-badge.penguin{background:#e7e9f1;color:#4d587e}.kind-badge.supplement{background:#e9eee9;color:#50705c}.kind-badge.classic{background:#f4ead9;color:#805b2b}.volume-label{font-size:9px;color:var(--muted);font-weight:750}.book-title{font-family:var(--serif);font-size:17px;line-height:1.25;color:#33292d;margin:0}.book-original{font-size:11px;color:#7c7074;margin-top:3px}.book-author{font-size:12px;color:var(--muted);margin-top:3px}.book-note{font-size:11px;line-height:1.55;color:#766b6e;margin:7px 0 0;max-width:800px}.book-source-link{display:inline-block;margin-top:5px;font-size:10px;color:var(--accent);text-decoration:none;font-weight:700}.book-source-link:hover{text-decoration:underline;text-underline-offset:3px}.status-select{height:37px;width:100%;border:1px solid var(--line);border-radius:9px;padding:0 9px;background:#fffdfb;color:var(--ink);font-size:11px;font-weight:650;outline:0}.status-select:focus{border-color:var(--accent-mid);box-shadow:0 0 0 3px rgba(121,63,80,.1)}.status-select[data-status="reading"]{color:#805d28;background:#fbf5e8;border-color:#e8d9bb}.status-select[data-status="completed"]{color:#4f715b;background:#eef5ef;border-color:#d2e2d5}.empty-state{padding:36px 20px;text-align:center;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);background:rgba(255,255,255,.42)}
.progress-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:20px;margin-bottom:15px}.progress-summary>div{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--line);padding-left:12px}.progress-summary>div:last-child{border:0}.summary-label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em;font-weight:750}.progress-summary strong{font-family:var(--serif);font-size:29px;font-weight:400;color:var(--accent)}.collection-summary{padding:20px;margin-bottom:28px}.collection-summary-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.collection-summary-head h3{font-family:var(--serif);font-size:22px;font-weight:400;margin:4px 0 0}.collection-mark{font-family:var(--serif);color:#d9b3bd;font-size:23px}.collection-line+.collection-line{margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}.collection-line-top,.collection-line-bottom{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.collection-line-top b{font-size:12px}.collection-line-top strong,.collection-line-bottom strong{font-size:11px;color:var(--accent)}.collection-line .progress-track{margin:8px 0 5px;background:#eee7e7}.collection-line .progress-track span{background:var(--accent)}.collection-line-bottom{font-size:10px;color:var(--muted)}.compact-heading{margin-top:4px}.compact-heading h2{font-size:25px}.period-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:26px}.period-progress-card,.collection-progress-card{padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.period-progress-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.period-progress-top h3{font-family:var(--serif);font-size:17px;font-weight:400;margin:0}.period-progress-top strong{font-size:12px;color:var(--accent)}.period-progress-sub{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin:6px 0 9px}.period-progress-card .progress-track,.collection-progress-card .progress-track{height:6px;background:#eee6e7}.period-progress-card .progress-track span,.collection-progress-card .progress-track span{background:var(--accent)}.backup-card{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:22px}.backup-copy{max-width:630px}.backup-copy h3,.method-card h3,.method-rules h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:4px 0 7px}.backup-copy p{font-size:12px;color:var(--muted);margin:4px 0}.backup-status{color:var(--accent)!important;font-size:11px!important}.backup-actions{display:flex;flex-direction:column;gap:8px;min-width:180px}.button{border:0;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:700;transition:transform .12s,background .12s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--accent);color:white}.button-primary:hover{background:var(--accent-dark)}.button-secondary{background:var(--accent-soft);color:var(--accent)}.text-button{border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:6px}.danger-text{color:var(--red)}
.map-grid{display:grid;grid-template-columns:1fr;gap:14px}.map-card{padding:18px 19px}.map-card-head{display:flex;justify-content:space-between;gap:14px;align-items:center}.map-card-head h3{font-family:var(--serif);font-size:21px;font-weight:400;margin:4px 0 8px}.map-index{color:#d4aab5;font-family:var(--serif);font-size:25px}.map-card p{font-size:11px;color:var(--muted);line-height:1.65;margin:9px 2px 0}.history-map{display:block;width:100%;max-height:340px;border-radius:12px}.map-water{fill:#f6f0ed}.map-grid-line{stroke:#ded5d3;stroke-width:1;stroke-dasharray:3 6}.map-land{fill:#e4d9d5;stroke:#c8b8b5;stroke-width:1.4;stroke-linejoin:round}.map-route{fill:none;stroke:#934e63;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7 6;opacity:.9}.map-route.sea{stroke:#5f8290;stroke-dasharray:3 7}.map-route.ocean{stroke:#b26b48;stroke-width:3.3;stroke-dasharray:9 5}.map-marker circle{fill:#793f50;stroke:#fffdfb;stroke-width:2}.map-marker text{font:600 13px Inter,Arial,sans-serif;fill:#42383b;paint-order:stroke;stroke:#f6f0ed;stroke-width:4px;stroke-linejoin:round}.map-disclaimer{font-size:10px;color:var(--muted);margin:9px 3px 28px}.atlas-subhead{margin-top:22px}.timeline-list{position:relative;margin:12px 0 32px;padding:4px 0 4px 21px}.timeline-list:before{content:"";position:absolute;top:6px;bottom:8px;left:7px;width:1px;background:#d7b7c0}.timeline-event{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;position:relative;padding:0 0 17px}.timeline-marker{position:relative;z-index:1;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--accent);color:white;font:9px Arial,sans-serif;margin-left:-21px;margin-top:2px;box-shadow:0 0 0 4px var(--bg)}.timeline-date{font-size:10px;font-weight:800;letter-spacing:.045em;color:var(--accent)}.timeline-copy h3{font-family:var(--serif);font-size:19px;font-weight:400;margin:2px 0 3px}.timeline-copy p{font-size:11px;color:var(--muted);margin:0;max-width:790px;line-height:1.6}.connections-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.connection-card{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:16px}.connection-number{font-family:var(--serif);font-size:20px;color:#c991a0}.connection-card h3{font-family:var(--serif);font-size:17px;font-weight:400;margin:0 0 5px}.connection-card p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}
.method-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:14px}.method-card{padding:19px;min-height:335px}.source-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-family:var(--serif);font-size:16px;font-weight:700;margin-bottom:16px}.durant-mark{background:#f0e0e3;color:#793f50}.penguin-mark{background:#e7e9f1;color:#4d587e}.supplement-mark{background:#e9eee9;color:#50705c}.method-card h3{min-height:52px}.method-card p{font-size:12px;color:#625b64;line-height:1.7}.method-card .source-detail{border-top:1px solid var(--line);padding-top:10px;margin-top:13px;color:var(--muted);font-size:11px}.method-link{display:inline-block;margin-top:5px;color:var(--accent);font-size:11px;text-decoration:none;font-weight:750}.method-link:hover{text-decoration:underline;text-underline-offset:3px}.method-rules{padding:22px 25px}.method-rules h3{margin-bottom:12px}.method-rules ol{padding-left:19px;margin:0;display:grid;gap:8px}.method-rules li{font-size:12px;color:#625b64;padding-left:4px}.source-list{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;display:flex;flex-direction:column;gap:7px}.source-list .kicker{margin-bottom:4px}.source-list a{font-size:11px;color:var(--accent);text-decoration:none}.source-list a:hover{text-decoration:underline;text-underline-offset:3px}.site-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:33px;padding-top:15px;color:var(--muted);font-size:10px;letter-spacing:.04em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.hero-bottom{grid-template-columns:repeat(3,1fr);row-gap:17px}.hero-progress-wrap{grid-column:1/-1}.filterbar{grid-template-columns:repeat(2,minmax(0,1fr))}.method-grid{grid-template-columns:1fr}.method-card{min-height:0}.method-card h3{min-height:0}.backup-card{align-items:flex-start}.backup-actions{min-width:150px}}
@media(max-width:620px){.shell{padding:12px 12px 28px}.hero{padding:19px 19px 20px;border-radius:18px}.hero-copy{padding:34px 0 28px}.hero-copy p{font-size:13px}.hero-bottom{gap:13px}.hero-stat strong{font-size:23px}.hero-stat span{font-size:9px}.top-note{font-size:9px}.hero-collections{gap:7px 13px;font-size:9px}.tabs{width:100%;justify-content:space-between;margin:15px 0 21px}.tab{padding:9px 10px;font-size:10px}.section-heading{display:block}.section-heading h2{font-size:27px}.section-heading>p{margin-top:8px}.filterbar{grid-template-columns:1fr;padding:12px}.book-row{grid-template-columns:minmax(0,1fr) 116px;gap:10px;padding:12px}.book-title{font-size:15px}.book-author{font-size:11px}.book-note{font-size:10px}.status-select{font-size:10px;padding:0 6px}.period-heading,.global-book-heading{padding:13px}.period-heading h3,.global-book-heading h3{font-size:19px}.period-heading-side{gap:8px}.period-progress-mini,.period-toggle-label{display:none}.period-progress-grid{grid-template-columns:1fr}.progress-summary{grid-template-columns:repeat(2,1fr);gap:13px}.progress-summary>div:nth-child(2){border-right:0}.progress-summary>div{padding-left:5px}.collection-summary{padding:15px}.backup-card{display:block;padding:17px}.backup-actions{margin-top:15px}.map-card{padding:13px}.map-marker text{font-size:15px}.connections-list{grid-template-columns:1fr}.method-rules{padding:18px}.site-footer{flex-direction:column;gap:4px}}
.historical-map-img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;object-position:center;background:#f6f0ed;border-radius:12px;margin-top:8px}.map-credit{font-size:10px!important;line-height:1.5!important;color:var(--muted)!important;margin-top:7px!important}.map-credit a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.map-fallback[hidden]{display:none}
