@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,650&family=IBM+Plex+Sans:wght@400;500;600&family=Libre+Franklin:wght@500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,600&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.55}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}.skip{position:fixed;left:12px;top:-100px;z-index:99;background:var(--ink);color:var(--surface);padding:.7rem 1rem}.skip:focus{top:12px}.shell{width:min(1160px,calc(100% - 32px));margin:auto}.topbar{position:relative;z-index:10;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}.nav{height:76px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:750;letter-spacing:-.03em}.brand img{width:34px;height:34px}.brand small{display:block;font-size:.66rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.navlinks{display:flex;gap:22px;margin-left:auto}.navlinks a{text-decoration:none;font-size:.9rem;font-weight:600}.nav-cta{border:1px solid var(--line);padding:.55rem .85rem;border-radius:99px}.hero{padding:86px 0 48px;position:relative;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:700;color:var(--accent)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;line-height:1.04;margin:.35em 0}.hero h1{font-size:clamp(3.25rem,8vw,7.25rem);max-width:1000px}.hero .lede{font-size:clamp(1.06rem,2vw,1.35rem);max-width:680px;color:var(--muted)}.searchbox{display:flex;max-width:760px;margin-top:36px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}.searchbox input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);padding:18px 20px;outline:0}.searchbox button{border:0;background:var(--accent);color:var(--accentInk);padding:0 22px;font-weight:700}.search-status{font-size:.82rem;color:var(--muted);min-height:1.4em}.section{padding:54px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.section-head h2{font-size:clamp(2rem,4vw,3.4rem);margin:0}.section-head p{max-width:460px;color:var(--muted)}.hub-grid,.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.hub-card,.collection-card{display:block;text-decoration:none;border:1px solid var(--line);background:var(--surface);padding:25px;transition:.2s transform,.2s border-color}.hub-card:hover,.collection-card:hover{transform:translateY(-3px);border-color:var(--accent)}.hub-card .count,.collection-card .meta{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700}.hub-card h3,.collection-card h3{font-size:clamp(1.45rem,3vw,2.2rem);margin:.45rem 0}.hub-card p,.collection-card p{color:var(--muted);margin-bottom:0}.collection-card[hidden]{display:none}.pulse-strip{border-block:1px solid var(--line);overflow:hidden}.pulse-track{display:flex;gap:48px;white-space:nowrap;padding:14px 0;font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:var(--muted)}.page-head{padding:62px 0 34px}.crumbs{font-size:.82rem;color:var(--muted)}.crumbs a{text-decoration:none}.page-head h1{font-size:clamp(2.8rem,6.5vw,6rem);max-width:980px}.page-head .deck{font-size:1.18rem;max-width:720px;color:var(--muted)}.intro-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;padding-bottom:42px}.intro-copy{font-family:var(--serif);font-size:1.22rem;max-width:720px}.toc{border-top:3px solid var(--accent);padding-top:13px}.toc strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em}.toc ol{padding-left:1.25rem}.toc a{text-decoration:none;font-size:.9rem}.controls-wrap{position:sticky;top:0;z-index:8;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(15px);border-block:1px solid var(--line)}.controls{min-height:72px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.segmented{display:flex;background:var(--surface2);padding:4px}.segmented button,.filters button,.print-btn{border:0;background:transparent;color:var(--muted);padding:.58rem .75rem;font-size:.82rem;font-weight:650}.segmented button.active,.filters button.active{background:var(--accent);color:var(--accentInk)}.filters{display:flex;gap:5px;margin-left:auto}.print-btn{border:1px solid var(--line)}.poem-list{padding:34px 0 64px;display:grid;gap:18px}.poem{position:relative;border:1px solid var(--line);background:var(--surface);display:grid;grid-template-columns:82px minmax(0,1fr) 180px;min-height:330px;scroll-margin-top:94px}.poem-rank{border-right:1px solid var(--line);padding:22px 14px;text-align:center;font:600 2.3rem/1 var(--serif);color:var(--muted)}.poem-main{padding:34px clamp(24px,5vw,64px)}.poem-kicker{display:flex;gap:10px;align-items:center;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700}.poem h2{font-size:clamp(1.8rem,3.2vw,3rem);margin:.3rem 0 1.3rem}.verse{font-family:var(--reading);font-size:clamp(1.08rem,1.7vw,1.28rem);line-height:1.72;white-space:pre-line}.poem-actions{border-left:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:8px}.poem-actions button,.poem-actions a{border:1px solid var(--line);background:transparent;color:var(--ink);padding:.72rem .7rem;text-align:left;text-decoration:none;font-size:.8rem;font-weight:650}.poem-actions button:hover,.poem-actions a:hover{border-color:var(--accent)}.vote-btn{margin-top:auto!important;background:var(--accent)!important;color:var(--accentInk)!important;border-color:var(--accent)!important}.vote-btn.voted{background:var(--ink)!important;color:var(--bg)!important}.vote-total{display:block;font-size:.7rem;opacity:.72;margin-top:3px}.related{border-top:1px solid var(--line);padding:58px 0 80px}.trust-page{max-width:760px;padding:64px 0 90px}.trust-page h1{font-size:clamp(3rem,7vw,5.5rem)}.trust-page h2{font-size:2rem;margin-top:2em}.trust-page p,.trust-page li{font-size:1.08rem;color:var(--muted)}footer{border-top:1px solid var(--line);padding:44px 0}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.foot p{color:var(--muted);max-width:460px}.foot a{display:block;text-decoration:none;margin:.35rem 0;font-size:.88rem}.copyright{margin-top:32px;font-size:.75rem;color:var(--muted)}.toast{position:fixed;right:18px;bottom:18px;background:var(--ink);color:var(--bg);padding:.7rem 1rem;transform:translateY(120px);transition:.2s;z-index:30}.toast.show{transform:none}.empty{padding:48px;text-align:center;border:1px dashed var(--line);color:var(--muted)}
body.theme-night{--bg:#130f1f;--surface:#1c172b;--surface2:#292139;--ink:#f5efff;--muted:#b5aac7;--line:#3b3150;--accent:#c9ff4a;--accentInk:#172000;--serif:'Fraunces',serif;--sans:'DM Sans',sans-serif;--reading:'Newsreader',serif;--shadow:0 18px 60px #05020d66}.theme-night .hero:after{content:'↗';position:absolute;right:4vw;top:20px;font:500 min(34vw,410px)/1 var(--serif);color:#8e62ff12;transform:rotate(-12deg)}.theme-night .hub-card:nth-child(2n){transform:translateY(22px)}.theme-night .hub-card:nth-child(2n):hover{transform:translateY(19px)}
body.theme-grid{--bg:#f2eddf;--surface:#fffaf0;--surface2:#ded9ca;--ink:#142c5c;--muted:#5d6574;--line:#142c5c55;--accent:#f14b31;--accentInk:#fff;--serif:'Libre Franklin',sans-serif;--sans:'IBM Plex Sans',sans-serif;--reading:'IBM Plex Sans',sans-serif;--shadow:none}.theme-grid .hero{border-bottom:5px solid var(--ink)}.theme-grid .hero h1{text-transform:uppercase;font-weight:700;letter-spacing:-.055em}.theme-grid .hub-grid,.theme-grid .collection-grid{gap:0;border-left:1px solid var(--ink);border-top:1px solid var(--ink)}.theme-grid .hub-card,.theme-grid .collection-card{border:0;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.theme-grid .poem{border-color:var(--ink);box-shadow:8px 8px 0 #142c5c}.theme-grid .poem-rank,.theme-grid .poem-actions{border-color:var(--ink)}
body.theme-salon{--bg:#f6f0e8;--surface:#fffaf5;--surface2:#eaded8;--ink:#3f1727;--muted:#795d67;--line:#bfa7ac;--accent:#d75f49;--accentInk:#fffaf5;--serif:'Newsreader',serif;--sans:'DM Sans',sans-serif;--reading:'Newsreader',serif;--shadow:0 20px 50px #6b334214}.theme-salon .hero h1{font-style:italic;font-weight:500}.theme-salon .hero:after{content:'❦';position:absolute;right:8vw;top:80px;color:#d75f4933;font:400 180px/1 var(--serif)}.theme-salon .hub-card{border-radius:4px 38px 4px 4px}.theme-salon .collection-card:nth-child(3n+2){transform:translateY(18px)}.theme-salon .poem{border-radius:3px 46px 3px 3px;overflow:hidden}.theme-salon .poem-main{padding-left:clamp(30px,7vw,88px)}
@media(max-width:800px){.shell{width:min(100% - 22px,1160px)}.nav{height:64px}.brand small,.navlinks a:not(.nav-cta){display:none}.hero{padding:56px 0 36px}.hero h1{font-size:clamp(2.9rem,15vw,5.2rem)}.hub-grid,.collection-grid{grid-template-columns:1fr}.theme-night .hub-card:nth-child(2n),.theme-salon .collection-card:nth-child(3n+2){transform:none}.intro-layout{grid-template-columns:1fr;gap:24px}.toc{display:none}.controls{padding:10px 0;align-items:stretch}.segmented{width:100%;overflow:auto}.segmented button{flex:1;white-space:nowrap}.filters{margin-left:0;overflow:auto}.poem{grid-template-columns:44px minmax(0,1fr)}.poem-rank{padding:18px 5px;font-size:1.4rem}.poem-main{padding:24px 18px}.poem-actions{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:10px}.poem-actions button,.poem-actions a{text-align:center;padding:.65rem .3rem}.vote-btn{margin-top:0!important;grid-column:1/-1}.foot{grid-template-columns:1fr}.section-head{display:block}.page-head{padding-top:40px}}
@media print{.topbar,.controls-wrap,.poem-actions,.related,footer,.crumbs,.toc{display:none!important}body{--bg:#fff;--surface:#fff;--ink:#111;--muted:#555;--line:#aaa;background:#fff}.poem{break-inside:avoid;display:block;min-height:0;margin:24px 0;border:1px solid #aaa;box-shadow:none!important}.poem-rank{display:none}.poem-main{padding:20px}.page-head{padding:20px 0}.intro-layout{display:block}}
