.poem-label{display:inline-block;margin:.4em 0 1.2em;padding:.55em .9em;border:1px solid rgba(255,45,70,.55);border-radius:10px;background:rgba(255,45,70,.08);color:#ffd6db;font-size:.9rem}
.tuner{display:flex;flex-wrap:wrap;gap:8px;margin:1em 0}
.tuner button{font:600 .85rem/1 Inter,sans-serif;padding:.6em 1em;border-radius:99px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:#f5f5f7;cursor:pointer}
.tuner button[aria-pressed=true]{background:#ff2d46;border-color:#ff2d46}
.pbook h2 span{color:#ff9aa5;font-size:.8em;margin-right:.4em}.pbook .sub{color:#a1a1a6;margin-top:-.4em}
.plist{list-style:none;padding:0;margin:1em 0 2.5em;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:10px}
.plist a{display:flex;flex-direction:column;gap:2px;padding:.8em 1em;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none}
.plist a:hover{border-color:rgba(255,45,70,.6)}.plist small{color:#a1a1a6}.plist span{color:#d0d0d5;font-size:.9em}
.plist li.off,.nmap .off{display:none}
.poem h1{margin-bottom:.1em}.ptitle-ar{font-size:1.4rem;color:#d0d0d5;margin:0 0 .6em}
.moods{display:flex;gap:6px;flex-wrap:wrap}.mood{padding:.3em .8em;border-radius:99px;font-size:.8rem;text-decoration:none;color:#fff;background:rgba(255,255,255,.08)}
.ptext p{font-size:1.18rem;line-height:1.75}.meaning{margin-top:2em;padding:1.2em 1.4em;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.meaning h2{font-size:1rem;letter-spacing:.1em;text-transform:uppercase;color:#ff9aa5}.meaning p{font-style:italic}
.pnav{display:flex;justify-content:space-between;gap:1em;margin-top:2em;flex-wrap:wrap}
.m-calm{--mc:#5ac8fa}.m-longing{--mc:#bf5af2}.m-tender{--mc:#ff9fb2}.m-rising{--mc:#ffd60a}.m-upbeat{--mc:#30d158}.m-dramatic{--mc:#ff2d46}
.mood,.lg{border:1px solid var(--mc)}.tuner button.m-calm,.tuner button[class^=m-]{border-color:var(--mc)}
.legend{display:flex;gap:10px;flex-wrap:wrap}.lg{padding:.2em .7em;border-radius:99px;font-size:.8rem}.lg::before{content:"●";color:var(--mc);margin-right:.4em}
.nmap{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;margin:1.5em 0;padding:20px;border-radius:22px;background:radial-gradient(ellipse at top,#140a1e,#000 70%);border:1px solid rgba(255,255,255,.08)}
.ncol{display:flex;flex-direction:column;align-items:center;gap:9px}.ncol h3{font-size:.9rem;text-align:center;margin:0 0 .4em;color:#ff9aa5}.ncol h3 small{display:block;color:#a1a1a6;font-size:.7rem;font-weight:400}
.star{display:block;width:14px;height:14px;border-radius:50%;background:var(--mc);box-shadow:0 0 10px var(--mc),0 0 22px var(--mc);position:relative;transition:transform .2s}
.star span{position:absolute;left:50%;bottom:140%;transform:translateX(-50%);white-space:nowrap;font-size:.75rem;background:#000;padding:.2em .5em;border-radius:6px;color:#fff;opacity:0;pointer-events:none}
.star:hover,.star:focus{transform:scale(1.6)}.star:hover span,.star:focus span{opacity:1}
.nmap .dim{opacity:.12;box-shadow:none}
@media(max-width:700px){.nmap{grid-template-columns:repeat(5,1fr)}}
.poems-home .book-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:10px}
.poems-home .book-list a{display:flex;flex-direction:column;padding:.9em 1em;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none}
.poems-home .book-list small{color:#a1a1a6}

.bhead{display:flex;gap:1.2em;align-items:center;margin-top:1.5em}.bhead h2{margin:0}.bcover{width:120px;height:auto;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.6),0 0 0 1px rgba(222,184,110,.35);flex:none}
.bhead .pub{color:#deb86e;font-size:.8em;letter-spacing:.08em;text-transform:uppercase;margin:.3em 0 0}
.pthumb{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:9px;margin-bottom:.5em;background:#111}
.pbookline a{display:inline-flex;align-items:center;gap:.7em}.bcover-s{width:54px;height:auto;border-radius:4px;box-shadow:0 0 0 1px rgba(222,184,110,.35)}
.poem .pbookline{margin-top:3.2em}
/* v2 navigation */
.credit-strip{position:static;padding:calc(var(--hh) + 10px) 0 0}
.bookbar{position:sticky;top:var(--hh);z-index:20;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 4px;margin:0 -4px 12px;background:rgba(6,8,18,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,184,110,.18)}
.bookbar::-webkit-scrollbar{display:none}
.bookbar a{flex:none;display:flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;border-radius:10px;color:#e8dcc0;text-decoration:none;border:1px solid rgba(222,184,110,.18);background:rgba(255,255,255,.03)}
.bookbar a:hover,.bookbar a.cur{border-color:#deb86e;background:rgba(222,184,110,.12)}
.bookbar img{width:28px;height:42px;object-fit:cover;border-radius:3px}
.bookbar span{display:flex;flex-direction:column;line-height:1.1}.bookbar b{font-size:.8em;color:#deb86e}.bookbar small{font-size:.72em;white-space:nowrap;color:#cfc6b2}
.pbook{scroll-margin-top:calc(var(--hh) + 70px)}
.pbook:not(.open) li.extra{display:none}.filtering .pbook li.extra:not(.off){display:list-item}.filtering .showall{display:none}
.showall{display:block;margin:-1.5em auto 2.5em;padding:.6em 1.4em;border-radius:999px;border:1px solid rgba(222,184,110,.5);background:transparent;color:#deb86e;font:inherit;cursor:pointer}
.showall:hover{background:rgba(222,184,110,.12)}
.totop{position:fixed;right:18px;bottom:18px;z-index:25;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(6,8,18,.85);border:1px solid #deb86e;color:#deb86e;text-decoration:none;font-size:20px;opacity:0;pointer-events:none;transition:opacity .2s}
.totop.on{opacity:1;pointer-events:auto}
.pmini{position:sticky;top:var(--hh);z-index:20;display:flex;gap:8px;align-items:center;padding:8px 0;margin-top:0;background:rgba(6,8,18,.85);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,184,110,.18)}
.pmini a{flex:none;padding:.45em .8em;border-radius:9px;border:1px solid rgba(222,184,110,.35);color:#deb86e;text-decoration:none;font-size:.9em}
.pm-sel{flex:1;min-width:0;padding:.45em .5em;border-radius:9px;background:#0d1020;color:#eee;border:1px solid rgba(255,255,255,.15);font:inherit;font-size:.88em}
.poem .pbookline{margin-top:1.2em}
@media(max-width:600px){.pmini span{display:none}.bookbar small{display:none}.bookbar a{padding-right:8px}.bhead .bcover{width:84px}.plist{grid-template-columns:1fr 1fr}.plist a{padding:.6em}}
