:root{--paper:#fcfbf8;--card:#f3f1ea;--ink:#26221b;--mute:#8f8472;--line:rgba(38,34,27,.12);--acc:#8a5a2b;
--serif:"EB Garamond","Iowan Old Style","Palatino Linotype","Hiragino Mincho ProN","Noto Serif CJK JP",Georgia,serif;color-scheme:light dark}
@media(prefers-color-scheme:dark){:root{--paper:#16141a;--card:#211e25;--ink:#dad4ca;--mute:#968c7e;--line:rgba(255,255,255,.13);--acc:#d0a46e}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.45}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
#app{padding:12px 16px calc(150px + env(safe-area-inset-bottom));max-width:820px;margin:0 auto}
.ic{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.top{display:flex;align-items:center;justify-content:space-between;min-height:56px}
.top h1{font-size:24px;font-weight:500;margin:0;letter-spacing:.02em}
.btn{min-width:48px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:24px}
.row{margin:18px 0 6px}.row h2{font-size:19px;font-weight:500;margin:0 0 8px;display:flex;justify-content:space-between;align-items:center}
.row h2 a{min-height:48px;display:flex;align-items:center}
.strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;overscroll-behavior-x:contain}
.strip::-webkit-scrollbar{display:none}
.tile{flex:0 0 132px;scroll-snap-align:start;display:block}
.cov{width:100%;aspect-ratio:1;border-radius:6px;background:var(--card) center/cover no-repeat;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--mute);overflow:hidden}
.cov img{width:100%;height:100%;object-fit:cover;filter:sepia(.25)}
.tt{font-size:15px;line-height:1.25;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.det .cov{max-width:340px;margin:8px auto 0;border-radius:10px;font-size:90px}
.det h1{font-size:25px;font-weight:500;text-align:center;margin:16px 0 4px}
.det .who{text-align:center;color:var(--mute);min-height:48px;display:flex;justify-content:center;align-items:center}
.play{width:76px;height:76px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;margin:12px auto}
.play .ic{width:34px;height:34px;fill:currentColor;stroke:none}
.meta{border-top:1px solid var(--line);margin-top:18px;padding-top:12px;font-size:16px}
.meta dt{color:var(--mute);font-size:14px}.meta dd{margin:0 0 10px}.meta a{text-decoration:underline;text-decoration-color:var(--line)}
.list a{display:flex;align-items:center;gap:12px;min-height:56px;border-bottom:1px solid var(--line)}
.list .cov{width:48px;flex:0 0 48px;font-size:20px}
.pl{position:fixed;left:0;right:0;bottom:calc(56px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);display:none;align-items:center;gap:4px;padding:0 8px;height:64px;z-index:5}
.pl.on{display:flex}.pl .t{flex:1;min-width:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl .bar{position:absolute;left:0;right:0;top:-10px;height:20px;margin:0;width:100%;opacity:.9;accent-color:var(--acc)}
.pl .ic{fill:currentColor;stroke:none}
.tabs{position:fixed;left:0;right:0;bottom:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--line);display:flex;justify-content:space-around;z-index:6}
.tabs a{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px;color:var(--mute)}.tabs a.cur{color:var(--ink)}
input.q{width:100%;min-height:48px;font:inherit;padding:0 14px;border-radius:24px;border:1px solid var(--line);background:var(--card);color:var(--ink)}
.small{font-size:13px;color:var(--mute)}
#ssr{display:none}
.fade{animation:f .22s ease}@keyframes f{from{opacity:0;transform:translateY(4px)}}
.cov.card{background:linear-gradient(160deg,var(--card),var(--paper));font-size:20px;color:var(--mute);font-style:italic;padding:10px;text-align:center}
.cov.card span{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:6px 4px}
.cov{position:relative}
.cov.card img{position:absolute;inset:0;filter:sepia(.35) brightness(.92)}
.cov.card .ov{position:absolute;left:0;right:0;bottom:0;padding:22px 8px 8px;border:0;font-size:14px;line-height:1.2;font-style:normal;text-align:left;color:#fbf6ec;background:linear-gradient(transparent,rgba(30,24,16,.82));display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cov.card{padding:0}
.det .perf{text-align:center;font-size:15px;color:var(--mute);margin-top:-8px}
.tt{color:var(--mute);font-size:13px}
.top span{display:flex}

/* UNIFY_V1: same top symbol bar as Lindy Books */
:root{--ai:#2a4657}@media(prefers-color-scheme:dark){:root{--ai:#8fb3c9}}
#app{padding-top:4px;padding-bottom:calc(90px + env(safe-area-inset-bottom))}
.tabs{position:sticky;top:0;bottom:auto;height:auto;padding:10px 0 0;padding-top:calc(10px + env(safe-area-inset-top));border-top:0;border-bottom:1px solid var(--line);justify-content:center;gap:34px;align-items:center}
.tabs a{flex:0 0 auto;min-height:44px;padding:8px 16px 10px;border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.cur{border-bottom-color:var(--ai)}
.tabs .ic{width:26px;height:26px;stroke-width:1.7}
.tabs .rsep{width:1px;height:20px;background:var(--line);margin:0 -18px}
.tabs a.realm{color:var(--mute);opacity:.75}
.pl{bottom:0;padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom))}
@media(max-width:420px){.tabs{gap:14px}.tabs .rsep{margin:0 -4px}}

/* FB1013 */
.ctl{display:flex;align-items:center;justify-content:center;gap:18px}.ctl .play{margin:12px 0}.ctl .nxw .ic{fill:currentColor;stroke:none}
details.cred{margin-top:14px;text-align:center}details.cred summary{list-style:none;cursor:pointer;color:var(--mute);font-size:18px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;min-width:44px}
details.cred summary::-webkit-details-marker{display:none}details.cred .meta{text-align:left}
h2.more{font-size:17px;font-weight:500;margin:26px 0 6px;color:var(--mute)}

/* CLASSIC_V1 preview: old-book typography */
:root{--paper:#f4efe3;--paper-2:#efe8d8;--ink:#1f1a14;--ink-2:#4a4034;--ink-3:#7d705c;--ai:#1f1a14;--line:rgba(31,26,20,.28);--line-2:rgba(31,26,20,.14);
--serif:"Hiragino Mincho ProN","Yu Mincho","YuMincho","Noto Serif JP","Noto Serif CJK JP","Source Han Serif JP","Iowan Old Style","Palatino Linotype","Book Antiqua",Georgia,serif;
--sans:var(--serif);--read:var(--serif)}
html,body{font-family:var(--serif)!important;background:var(--paper)}
*{border-radius:0!important;box-shadow:none!important;text-shadow:none!important}
*,*::before,*::after{transition:none!important;animation-duration:.01s!important}
.tabs{border-bottom:3px double var(--line)!important}
.tab.on{border-bottom:1px solid var(--ink)!important}

.home h1{color:var(--ink)!important;letter-spacing:.5em!important;font-weight:600!important;border-bottom:1px solid var(--line);padding-bottom:16px}
.home h1::after{content:"❦";display:block;font-size:14px;font-weight:400;color:var(--ink-3);margin-top:12px;letter-spacing:0}
.tile{background:transparent!important;border:1px solid var(--line)!important}
.tile .ic,.ic{stroke-width:1.2!important}
.det h1{font-weight:600;letter-spacing:.06em}.det h1::before{content:"❦";display:block;font-size:14px;color:var(--ink-3);margin-bottom:10px;font-weight:400}
.det .big{outline:1px solid var(--line);outline-offset:6px;margin-top:10px!important}
.chip{border:none!important;padding:2px 6px!important}.chip+.chip::before{content:"·";margin-right:8px;color:var(--ink-3)}
.cov{border:1px solid var(--line)!important}
.tabs a.cur{border-bottom-color:var(--ink)!important}

/* THEME3_V1 */html[data-ct="paper"],html[data-ct="paper"] .reader,html[data-ct="paper"] .reader[class]{--paper:#f4efe3 !important;--paper-2:#efe8d8 !important;--ink:#1f1a14 !important;--ink-2:#4a4034 !important;--ink-3:#7d705c !important;--ai:#1f1a14 !important;--line:rgba(31,26,20,.28) !important;--line-2:rgba(31,26,20,.14) !important;--card:#efe8d8 !important;--mute:#7d705c !important;color-scheme:light}html[data-ct="white"],html[data-ct="white"] .reader,html[data-ct="white"] .reader[class]{--paper:#ffffff !important;--paper-2:#f7f7f5 !important;--ink:#141414 !important;--ink-2:#3d3d3a !important;--ink-3:#77746d !important;--ai:#141414 !important;--line:rgba(20,20,20,.22) !important;--line-2:rgba(20,20,20,.1) !important;--card:#f7f7f5 !important;--mute:#77746d !important;color-scheme:light}html[data-ct="night"],html[data-ct="night"] .reader,html[data-ct="night"] .reader[class]{--paper:#17150f !important;--paper-2:#1f1c15 !important;--ink:#d9d0bf !important;--ink-2:#b3aa98 !important;--ink-3:#857c6b !important;--ai:#d9d0bf !important;--line:rgba(217,208,191,.24) !important;--line-2:rgba(217,208,191,.12) !important;--card:#1f1c15 !important;--mute:#857c6b !important;color-scheme:dark}html[data-ct] body,html[data-ct] .reader,html[data-ct] .wd,html[data-ct] .r-bar{background:var(--paper)!important;color:var(--ink)}
html[data-ct="night"] img{filter:brightness(.86) contrast(1.02)}
html[data-ct="night"] .cover{filter:brightness(.88)}
.ctseg{display:flex;gap:14px;justify-content:flex-end}
.ctseg button{width:34px;height:34px;border:1px solid var(--line)!important;padding:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ink)}
.ctseg button.on{outline:1px solid var(--ink);outline-offset:3px}
.ctseg .s-paper{background:#f4efe3}.ctseg .s-white{background:#fff}.ctseg .s-night{background:#17150f;color:#d9d0bf}

.top h1{font-weight:600;letter-spacing:.06em}.row h2{font-weight:600;letter-spacing:.04em;border-bottom:1px solid var(--line);padding-bottom:4px}
.det h1::before{content:"❦";display:block;font-size:14px;color:var(--ink-3);margin-bottom:10px;font-weight:400}
.play{background:transparent!important;color:var(--ink)!important;border:1px solid var(--ink)!important}
.pl,.tabs{background:var(--paper)!important}.pl{border-top:3px double var(--line)!important}
.musct{display:flex;justify-content:center;margin:40px 0 10px}
.list .nr{display:flex;align-items:center;gap:12px;min-height:56px;border-bottom:1px solid var(--line);opacity:.6}.list .nr>.ic{width:48px;flex:0 0 48px}.nrs .ic{width:12px;height:12px;vertical-align:-1px}
