:root{--paper:#fcfbf8;--card:#f3f1ea;--ink:#26221b;--mute:#8f8472;--line:rgba(38,34,27,.12);--ai:#2a4657;
--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);--ai:#8fb3c9}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif)}
a{color:inherit;text-decoration:none}
.ic{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tabs{position:sticky;top:0;z-index:5;background:var(--paper);display:flex;justify-content:center;align-items:center;gap:30px;padding:calc(10px + env(safe-area-inset-top)) 0 0;border-bottom:1px solid var(--line)}
.tabs a{color:var(--mute);padding:8px 14px 10px;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex}
.tabs a.cur{color:var(--ink);border-bottom-color:var(--ai)}
.tabs .rsep{width:1px;height:20px;background:var(--line);margin:0 -14px}
@media(max-width:420px){.tabs{gap:0}.tabs a{padding:8px 8px 10px}.tabs .rsep{margin:0 -2px}}
main{max-width:1100px;margin:0 auto;padding:16px 16px 60px}
.home{max-width:620px;margin:6vh auto 0}
.home h1{font-weight:500;font-size:20px;letter-spacing:.3em;text-align:center;color:var(--mute);margin:0 0 32px}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{aspect-ratio:1;border:1px solid var(--line);border-radius:12px;background:var(--card);display:flex;align-items:center;justify-content:center}
.tile .ic{width:40%;height:40%;stroke-width:1.2}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
@media(max-width:420px){.grid{grid-template-columns:repeat(2,1fr);gap:10px}}
.cov{aspect-ratio:1;border-radius:6px;background:var(--card) center/cover no-repeat;border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center}
.cov img{width:100%;height:100%;object-fit:cover}
.cov.txt{align-items:flex-start;justify-content:flex-start;padding:12px;font-size:15px;line-height:1.25;flex-direction:column;gap:8px;background:linear-gradient(160deg,var(--card),var(--paper))}
.cov.txt b{font-weight:500}.cov.txt i{color:var(--mute);font-size:13px}
.tt{font-size:14px;line-height:1.25;margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sm{font-size:13px;color:var(--mute)}
.det{max-width:760px;margin:0 auto}
.det .big{width:100%;max-height:72vh;object-fit:contain;display:block;margin:0 auto;border-radius:8px;background:var(--card)}
.det h1{font-weight:500;font-size:24px;text-align:center;margin:18px 0 4px}
.det .who{text-align:center;color:var(--mute)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0}
.chip{border:1px solid var(--line);border-radius:16px;padding:6px 12px;font-size:14px;min-height:36px;display:inline-flex;align-items:center}
.src{text-align:center;font-size:18px;color:var(--mute);margin:10px 0}.src a{text-decoration:underline;text-decoration-color:var(--line)}
.play{width:72px;height:72px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;margin:16px auto;border:0;cursor:pointer}
.play .ic{fill:currentColor;stroke:none;width:30px;height:30px}
iframe.emu{width:100%;aspect-ratio:4/3;border:0;border-radius:8px;background:#000}
h2{font-weight:500;font-size:17px;margin:28px 0 10px;display:flex;gap:8px;align-items:center;color:var(--mute)}
.strip{display:flex;gap:12px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.strip>a{flex:0 0 130px}
input.q{width:100%;min-height:48px;font:inherit;padding:0 16px;border-radius:24px;border:1px solid var(--line);background:var(--card);color:var(--ink);margin-bottom:16px}
.fade{animation:f .2s ease}@keyframes f{from{opacity:0;transform:translateY(4px)}}
.grid>a,.strip>a{min-width:0}

/* 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}
