@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{color-scheme:dark;--bg:#101011;--panel:#19191b;--panel2:#212123;--fg:#f3f0e9;--muted:#a09e9a;--line:#343330;--gold:#d6b27a;--lime:#d5ed75;--sidebar:236px;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{color:var(--lime)}:focus-visible{outline:2px solid var(--lime);outline-offset:3px}::selection{background:var(--gold);color:#181510}[hidden]{display:none!important}.skip-link{position:absolute;top:-100px;background:var(--lime);color:#111;padding:10px;z-index:100}.skip-link:focus{top:6px}
.shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:27px 16px 24px 24px;border-right:1px solid #302f2c;background:#141415;z-index:20}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:54px}.brand:hover{color:inherit}.brand-mark{display:grid;place-items:center;width:39px;height:39px;background:var(--lime);color:#171918;font-family:var(--serif);font-size:26px;border-radius:50%;position:relative}.brand-mark span{position:absolute;color:#171918;font-family:var(--sans);font-size:8px;top:7px;right:7px}.brand-word strong{display:block;font-size:17px;letter-spacing:.11em}.brand-word small{display:block;margin-top:5px;color:var(--muted);font-size:9px;letter-spacing:.12em}.rail-label{margin:0 11px 15px;color:#7e7d77;font-size:9px;letter-spacing:.24em;font-weight:700}.side-nav{display:grid;gap:5px;margin-bottom:36px}.side-nav button{width:100%;display:flex;align-items:center;gap:12px;padding:13px 12px;color:#bebbb5;border:1px solid transparent;border-radius:8px;text-align:left;background:transparent;font-size:12px}.side-nav button>span{width:20px;font-size:19px;font-weight:300}.side-nav button small{margin-left:auto;color:#807e79}.side-nav button:hover,.side-nav button.active{background:#262623;border-color:#3e3e38;color:var(--fg)}.side-nav button.active>span{color:var(--lime)}.secondary button{padding:10px 12px}.sidebar-bottom{margin-top:auto}.side-note{font-size:9px;color:var(--lime);letter-spacing:.1em}.side-note p{color:#8c8b87;font-size:11px;line-height:1.7;letter-spacing:0}.pulse{display:inline-block;width:6px;height:6px;background:var(--lime);border-radius:50%;margin-right:7px;box-shadow:0 0 12px var(--lime)}.back-link{display:block;text-decoration:none;color:#95938e;font-size:11px;border-top:1px solid var(--line);margin-top:18px;padding-top:20px}
.main{min-width:0;padding:0 49px}.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{color:#9a9994;font-size:10px;letter-spacing:.16em;font-weight:700}.breadcrumb span{margin:0 13px;color:#5f5d58}.breadcrumb strong{color:var(--lime)}.top-actions{display:flex;align-items:center;gap:22px}.edition{font-size:10px;letter-spacing:.14em;color:#8e8b86}.icon-button{height:35px;width:35px;border:1px solid var(--line);color:var(--fg);background:var(--panel);border-radius:50%;font-size:18px}.view{max-width:1550px;margin:0 auto}.hero{display:grid;grid-template-columns:1.07fr .93fr;min-height:490px;gap:36px;align-items:stretch;padding:47px 0 33px}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:25px 0 0}.eyebrow,.micro{font-size:10px;letter-spacing:.23em;color:var(--gold);font-weight:700}.eyebrow-rule{display:inline-block;width:21px;height:1px;background:var(--gold);margin:0 8px 3px 0}.hero h1{font-family:var(--serif);font-size:clamp(52px,5.6vw,94px);font-weight:500;line-height:1.04;letter-spacing:-.052em;margin:29px 0 22px}.hero h1 em,.big-quote em,.reading-panel em{color:var(--gold);font-weight:500}.hero-content>p{max-width:530px;color:#aaa8a0;line-height:1.9;font-size:14px}.hero-actions{display:flex;align-items:center;gap:12px;margin:25px 0 27px;flex-wrap:wrap}.button{min-height:42px;padding:12px 20px;border-radius:3px;display:inline-flex;align-items:center;gap:20px;justify-content:center;font-weight:700;font-size:12px;letter-spacing:.01em;text-decoration:none;border:1px solid #4a4943;background:transparent;color:var(--fg)}.button:hover{transform:translateY(-1px);color:var(--fg);border-color:var(--gold)}.button.primary{background:var(--lime);color:#151612;border-color:var(--lime)}.button.primary:hover{color:#151612;background:#ecffa5}.button.outline{border-color:#494740}.hero-meta{display:flex;gap:16px;flex-wrap:wrap;color:#787770;font-size:9px;letter-spacing:.12em}.hero-art{position:relative;overflow:hidden;min-height:420px;border:1px solid #45413b;background:radial-gradient(ellipse at 63% 46%,#61513b 0%,#3d352b 26%,#181a1a 70%,#111417 100%);isolation:isolate}.art-grain{position:absolute;inset:0;z-index:6;opacity:.23;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.art-disc{position:absolute;border-radius:50%;border:1px solid #ccaa71aa}.disc-1{width:340px;height:340px;top:11%;left:13%;box-shadow:0 0 0 13px #b79b6f0a,0 0 0 36px #bf936907,0 0 0 80px #c2a47a05;background:radial-gradient(circle at 37% 32%,#d9be8c 0,#826447 36%,#3f342f 68%,#1c2223 83%)}.disc-2{width:330px;height:330px;left:45%;top:25%;mix-blend-mode:multiply;background:#141c20aa}.art-frame{position:absolute;z-index:3;left:11%;right:10%;top:25%;display:flex;flex-direction:column;align-items:flex-start}.art-frame span{font-family:var(--serif);font-size:clamp(52px,6vw,105px);line-height:.85;letter-spacing:-.07em;font-weight:500;text-shadow:0 4px 25px #16151566}.art-frame small{margin-top:24px;font-size:10px;letter-spacing:.38em;color:#f4dfac}.art-caption{position:absolute;z-index:3;bottom:20px;right:24px;text-align:right;font-size:9px;letter-spacing:.2em;line-height:1.5}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:5px 0 57px}.stat{padding:24px 10px 23px 0;border-right:1px solid var(--line);margin-right:22px}.stat:last-child{border-right:0}.stat strong{display:block;font-family:var(--serif);font-size:31px;font-weight:500}.stat span{display:block;font-size:9px;color:#888780;letter-spacing:.16em;margin-top:9px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:0 0 24px}.section-heading h2,.page-heading h1{font-family:var(--serif);font-weight:500;letter-spacing:-.04em}.section-heading h2{font-size:38px;margin:10px 0}.section-heading p,.page-heading p{color:#a3a19b;margin:0;line-height:1.8;font-size:13px}.text-button{border:0;background:none;color:var(--gold);padding:9px 0;font-weight:700;font-size:12px;white-space:nowrap}.text-button:hover{text-decoration:underline}.text-button.light{color:var(--lime)}.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.feature-split{display:grid;grid-template-columns:1.2fr .8fr;gap:15px;margin:55px 0 65px}.quote-panel,.reading-panel{padding:40px 35px;min-height:280px;border:1px solid #413a32}.quote-panel{background:radial-gradient(circle at 92% 16%,#40352c,#201d1b 55%,#181819 100%)}.quote-panel .big-quote{font-family:var(--serif);font-size:clamp(24px,2.8vw,42px);letter-spacing:-.04em;margin:25px 0}.quote-panel p,.reading-panel p{color:#aaa7a0;line-height:1.8;max-width:490px}.reading-panel{background:#21211e}.reading-panel h3{font-family:var(--serif);font-size:32px;line-height:1.3;font-weight:500;letter-spacing:-.03em;margin:24px 0 13px}
.page-heading{padding:51px 0 29px}.page-heading h1{font-size:clamp(45px,5vw,68px);margin:9px 0 12px}.page-heading p{max-width:720px}.gold-dot{color:var(--gold)}.filter-panel{padding:17px;border:1px solid var(--line);background:#19191b}.search-box{height:52px;display:flex;gap:15px;align-items:center;padding:0 17px;background:#101011;border:1px solid #404039}.search-box>span{font-size:26px;color:var(--gold)}.search-box input{min-width:0;background:none;border:0;color:var(--fg);outline:none;flex:1;height:100%;font-size:13px}.search-box input::placeholder{color:#777770}kbd{border:1px solid var(--line);padding:2px 6px;color:#8b8a82;border-radius:3px}.filter-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;margin-top:17px}.chip-group{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #43423d;background:#222220;color:#aeadab;border-radius:2px;padding:9px 13px;font-size:11px}.chip.active,.chip:hover{color:#171812;border-color:var(--lime);background:var(--lime)}.filter-selects{display:flex;gap:9px;flex-wrap:wrap}.filter-selects select{background:#252522;color:#ddd9d0;border:1px solid #4a493f;padding:8px 25px 8px 10px;max-width:175px;font-size:11px}.result-meta{display:flex;align-items:center;justify-content:space-between;color:#95928c;gap:15px;margin:23px 0;font-size:12px;min-height:24px}
.catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:23px 15px;padding-bottom:14px}.poster-card{min-width:0}.poster{display:flex;width:100%;min-height:190px;aspect-ratio:3/4.14;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;padding:16px;cursor:pointer;border:1px solid #535048;box-shadow:inset 0 0 0 1px #ffffff0a;text-align:left;color:#f8f5ed;transition:transform .2s,border-color .2s}.poster:hover{transform:translateY(-4px);border-color:var(--gold)}.poster::before{content:"";pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at 70% 28%,#f0d6a91a,transparent 45%),repeating-linear-gradient(-38deg,#ffffff05 0 1px,transparent 1px 15px)}.poster::after{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:linear-gradient(0deg,#08080bd1 1%,transparent 58%);inset:0}.poster>*{z-index:1;position:relative}.poster-top{display:flex;justify-content:space-between;gap:6px;font-size:9px;letter-spacing:.15em;color:#e6ddcb}.poster-number{border:1px solid #efe1bc75;padding:4px 6px}.poster-art{position:absolute!important;inset:20% 10% auto 10%;width:79%;height:40%;border:1px solid #f5dfb745;border-radius:50%;transform:rotate(-25deg);box-shadow:15px 10px 0 -1px #e0c6a51c,30px 20px 0 -1px #e0c6a512}.poster-copy strong{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(16px,1.8vw,27px);line-height:1.12;letter-spacing:-.04em;overflow-wrap:anywhere;text-shadow:0 2px 9px #0007}.poster-copy small{display:block;font-size:10px;letter-spacing:.06em;margin-top:10px;color:#e6dbc9}.poster-card-footer{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-top:11px}.poster-title{font-size:12px;font-weight:700;line-height:1.4}.poster-subtitle{font-size:10px;color:#9e9a91;margin-top:5px;line-height:1.4}.favorite{border:1px solid #514f49;border-radius:50%;background:#232322;color:#b7b2a9;min-width:29px;height:29px;cursor:pointer}.favorite.on{background:#4e3b36;color:#f8c9b7;border-color:#b77f72}.favorite:hover{border-color:var(--gold)}.poster-tag{display:inline-block;color:var(--gold);font-size:9px;letter-spacing:.09em;text-transform:uppercase;margin-top:7px}.empty{grid-column:1/-1;padding:65px 18px;color:#aaa7a0;border:1px dashed var(--line);text-align:center}.empty strong{display:block;color:var(--fg);font-family:var(--serif);font-size:30px;font-weight:500;margin-bottom:12px}.load-more{display:flex;margin:16px auto 50px}
.school-intro{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:26px 30px;border:1px solid var(--line);background:#20201e}.school-intro h3{font-family:var(--serif);font-size:26px;line-height:1.35;font-weight:500;margin:15px 0 0}.school-intro p{line-height:1.8;color:#aaa7a0}.course{margin:22px 0 45px;display:grid;gap:11px}.course-week{border:1px solid #3b3a36;background:#1a1a1b}.course-week summary{list-style:none;display:flex;align-items:center;gap:20px;padding:22px 24px;cursor:pointer}.course-week summary::-webkit-details-marker{display:none}.week-num{color:var(--gold);font-family:var(--serif);font-size:31px;min-width:52px}.week-heading{flex:1}.week-heading strong{display:block;font-size:16px}.week-heading small{display:block;margin-top:8px;color:#95938f;font-size:11px}.course-week summary .plus{font-size:22px;color:var(--gold)}.week-content{border-top:1px solid var(--line);padding:19px 24px 25px 96px}.week-content p{color:#aaa7a0;line-height:1.8}.week-films{display:flex;flex-wrap:wrap;gap:9px}.week-films button{background:#252522;border:1px solid #47443e;color:#eee5d5;padding:10px 15px;font-size:12px}.week-films button:hover{border-color:var(--lime)}.reading-note{border-top:1px solid var(--line);padding:30px 0 40px}.reading-note p{line-height:1.9;color:#c5c1b7}
.library-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:16px;background:#1e1e1d;border:1px solid var(--line)}.data-actions{display:flex;gap:8px;flex-wrap:wrap}.button.subtle{padding:9px 12px;min-height:37px;font-size:11px}.file-label{cursor:pointer}.privacy-note{font-size:11px;color:#938f86;line-height:1.8;margin:30px 0 60px}
.source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.source-card{padding:27px 30px;border:1px solid var(--line);background:#1d1d1d}.source-card>span{color:var(--gold);font-size:10px;letter-spacing:.16em}.source-card h3{font-family:var(--serif);font-size:25px;letter-spacing:-.03em;font-weight:500}.source-card p{line-height:1.85;color:#aaa7a0}.source-card a{display:inline-block;color:var(--lime);text-decoration:none;margin-top:11px;font-size:12px}.method{margin:25px 0 60px;padding:36px;background:#22211f;border:1px solid #44413b}.method h3{font-family:var(--serif);font-size:28px;font-weight:500}.method p{max-width:800px;line-height:1.9;color:#b1ada6}.method .muted{color:#817d77;font-size:11px}
.site-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line);padding:27px 0 35px;color:#898780;font-size:10px;letter-spacing:.09em}.site-footer a{text-decoration:none}
.item-dialog{width:min(580px,calc(100vw - 25px));max-height:calc(100dvh - 24px);overflow:auto;padding:0 30px 34px;border:1px solid #66604e;background:#1e1e1d;color:var(--fg);box-shadow:0 30px 90px #000b}.item-dialog::backdrop{background:#090909c9;backdrop-filter:blur(3px)}.dialog-close-row{display:flex;justify-content:flex-end;padding:17px 0 5px}.close-dialog{width:35px;height:35px;color:var(--fg);background:#2d2c29;border:1px solid var(--line)}.dialog-eyebrow{color:var(--gold);letter-spacing:.14em;font-size:10px}.dialog-title{font-family:var(--serif);font-size:clamp(32px,5vw,52px);line-height:1.1;font-weight:500;letter-spacing:-.04em;margin:15px 0}.dialog-creator{color:#aaa69e}.dialog-description{color:#d2cec5;line-height:1.85;margin:28px 0}.detail-tag{display:inline-block;border:1px solid var(--line);padding:7px 10px;color:#b8b3a9;font-size:11px;margin:0 6px 8px 0}.dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.dialog-actions button{padding:10px 15px;border:1px solid #565248;background:#292824;color:#eee9db}.dialog-actions button.selected{background:var(--lime);color:#171812;border-color:var(--lime)}.dialog-bottom{padding-top:20px;border-top:1px solid var(--line);margin-top:27px}.dialog-bottom a{font-size:12px;color:var(--gold)}.toast{position:fixed;bottom:20px;right:22px;background:#dcf58b;color:#10110e;padding:13px 18px;border-radius:3px;box-shadow:0 10px 35px #0008;font-weight:700;z-index:60;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}
@media(max-width:1350px){:root{--sidebar:210px}.main{padding:0 30px}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.hero h1{font-size:clamp(49px,5vw,70px)}.poster-copy strong{font-size:21px}}
@media(max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{position:sticky;top:0;width:100%;height:auto;padding:12px 18px;flex-direction:row;align-items:center;gap:14px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.brand{flex-shrink:0;margin:0 13px 0 0}.brand-mark{height:33px;width:33px}.brand-word strong{font-size:12px}.brand-word small{font-size:8px}.rail-label,.sidebar-bottom,.secondary{display:none}.sidebar .side-nav{display:flex;gap:3px;margin:0;flex-shrink:0}.side-nav button{white-space:nowrap;padding:10px 11px}.side-nav button small{display:none}.side-nav button>span{display:none}.hero{min-height:390px}.hero-art{min-height:350px}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.main{padding:0 17px}.topbar{height:53px}.edition{display:none}.breadcrumb{font-size:8px}.hero{grid-template-columns:1fr;gap:15px;padding:25px 0 10px}.hero-content{padding:8px 0}.hero h1{font-size:clamp(53px,11vw,82px);margin:18px 0}.hero-art{min-height:290px;max-height:360px}.art-frame span{font-size:65px}.stats{margin:22px 0 42px}.stat{margin-right:8px}.stat strong{font-size:25px}.stat span{font-size:8px}.featured-grid,.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px 12px}.poster-copy strong{font-size:clamp(18px,4vw,27px)}.feature-split,.school-intro,.source-grid{grid-template-columns:1fr}.quote-panel,.reading-panel{min-height:245px;padding:28px 24px}.section-heading{align-items:start}.section-heading h2{font-size:31px}.section-heading p{font-size:12px}.page-heading{padding-top:35px}.page-heading h1{font-size:47px}.filter-row{display:block}.filter-selects{margin-top:13px}.filter-selects select{max-width:none;flex:1}.week-content{padding:14px 20px 22px}.course-week summary{padding:18px 15px}.week-num{min-width:39px}.week-heading strong{font-size:13px}.item-dialog{padding:0 18px 24px}.site-footer{font-size:9px}.hero-meta{font-size:8px}}
@media(max-width:370px){.brand-word{display:none}.stat strong{font-size:22px}.chip{padding:8px 10px;font-size:10px}.poster{padding:11px}.poster-copy strong{font-size:18px}.poster-top{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Source-segregated critic/view/sales ranking snapshots */
.ranking-tabs{display:flex;flex-wrap:wrap;gap:9px;margin:24px 0}.ranking-panel{margin:15px 0 55px;border:1px solid var(--line);background:#19191b;padding:clamp(16px,3vw,32px)}.rankings-intro h2{font-family:var(--serif);font-weight:500;font-size:clamp(23px,3vw,35px);margin:13px 0}.rankings-intro p,.ranking-note{color:#b5b1aa;line-height:1.8}.ranking-table-wrap{overflow-x:auto;margin:24px 0}.ranking-table{width:100%;min-width:480px;border-collapse:collapse;text-align:left}.ranking-table th,.ranking-table td{padding:13px 12px;border-bottom:1px solid var(--line)}.ranking-table thead th{font-size:11px;color:var(--gold);letter-spacing:.07em;text-transform:uppercase}.ranking-table tbody th{font-weight:500}.ranking-table tbody td:first-child{font-weight:700;color:var(--gold);width:50px}.ranking-source{color:var(--lime);display:inline-block;padding:14px 0}.ranking-note{font-size:12px}
