:root{--paper: #f7f5f0;--card: #fffdf8;--ink: #24231f;--ink-soft: #5c594f;--ink-muted: #827b70;--line: #e2ded5;--line-strong: #cfc8bb;--accent: #24231f;--danger: #8c3b30;--radius: 16px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans SC,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6;font-synthesis:none;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0}h1,h2,h3,h4{font-family:Georgia,Songti SC,"Noto Serif SC",serif;font-weight:500;line-height:1.2}a{color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.skipLink{position:absolute;left:-9999px}.skipLink:focus{left:12px;top:12px;background:var(--card);padding:8px 12px;border-radius:8px;z-index:20}.nav{height:72px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f7f5f0f0;position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);gap:12px}.nav .brand{font-size:20px;font-weight:750;text-decoration:none;white-space:nowrap}.nav nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav nav a,.nav nav button{font:inherit;border:0;background:none;color:inherit;padding:8px 10px;cursor:pointer;border-radius:10px;text-decoration:none;font-size:15px}.nav nav a:hover,.nav nav button:hover{background:#ece8df}.nav nav a.active{background:#e7e2d8}.nav .outline{border:1px solid var(--line-strong)}.langToggle{display:flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;margin:0 6px}.langToggle button{border-radius:0;padding:6px 10px;font-size:13px}.langToggle button.active{background:var(--accent);color:#fff}main{flex:1}.section{max-width:1120px;margin:0 auto;padding:48px 5vw;width:100%}.section.narrow{max-width:760px}.sectionHead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}.muted,small{color:var(--ink-muted);font-size:13px}.meta{color:var(--ink-muted);font-size:13px;margin:0 0 8px}.center{text-align:center}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin:0}.lead{font-size:19px;color:var(--ink-soft);max-width:640px}.back{display:inline-block;margin-bottom:16px;text-decoration:none;color:var(--ink-muted);font-size:14px}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.search input,.form input,.form textarea,.form select,.reading textarea,.mineRow input,.mineRow textarea,.mineRow select,.section textarea{width:100%;padding:13px 14px;border:1px solid var(--line-strong);border-radius:12px;background:var(--card);font:inherit;color:inherit}.search{display:block;margin-bottom:24px}.languageFilter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.languageFilter button{font-size:14px;padding:7px 13px;border-radius:999px;background:var(--card)}.languageFilter button.active{background:var(--accent);border-color:var(--accent);color:#fff}.storyGrid,.matchGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.storyCard,.matchCard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:10px}.storyCard h3,.matchCard h3{font-size:22px;margin:0}.storyCard h3 a{text-decoration:none}.excerpt{color:var(--ink-soft);margin:0}.cardFooter{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.clues{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:4px 0}.clues li{padding:4px 9px;border-radius:999px;background:#eeebe4;font-size:12px;color:var(--ink-soft)}.reading{max-width:820px;margin:0 auto}.reading h1{font-size:clamp(32px,4vw,46px);margin:8px 0 22px}.storyBody,.player .storyBody{font-family:Georgia,Songti SC,"Noto Serif SC",serif;font-size:21px;line-height:1.9;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;margin:18px 0}.storyBody p{margin:0 0 1em}.storyBody p:last-child{margin-bottom:0}.comments{margin-top:48px;border-top:1px solid var(--line);padding-top:28px}.comment{border-bottom:1px solid var(--line);padding:14px 0}.comment header{display:flex;gap:10px;align-items:baseline}.comment p{margin:6px 0}.commentActions{display:flex;gap:8px}.form{display:flex;flex-direction:column;gap:6px}.form label{display:block;margin-bottom:14px}.form label>span:first-child{display:block;font-size:14px;margin-bottom:6px;color:var(--ink-soft)}.tabs{display:flex;gap:6px;margin:20px 0;flex-wrap:wrap}.tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}.vis{border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 18px;display:grid;gap:10px}.vis legend{font-size:14px;color:var(--ink-soft);padding:0 6px}.vis label{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;padding:10px 12px;border:1px solid transparent;border-radius:12px;margin:0;cursor:pointer}.vis label.selected{border-color:var(--line-strong);background:#f4f1ea}.vis label small{grid-column:2;color:var(--ink-muted)}.consent{background:#f4f1ea;border-radius:12px;padding:14px 16px;color:var(--ink-soft)}.mineList{display:grid;gap:18px}.mineRow{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.mineHead{display:flex;gap:12px;align-items:center;justify-content:space-between}.mineHead h3{margin:0;font-size:21px}.mineRow select{margin:8px 0}.matchHero{text-align:center;max-width:780px;margin:0 auto 36px}.matchHero h1{font-size:clamp(30px,4.5vw,46px);margin:16px 0}.matchCard h4{margin:12px 0 4px;font-size:14px;letter-spacing:.02em;color:var(--ink-muted);text-transform:uppercase}.evidence{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:14px}.evidence li{display:flex;gap:8px;align-items:baseline}.evidence b{font-weight:600;white-space:nowrap}.evidence span{color:var(--ink-soft)}.conflicts{list-style:none;padding:0;margin:0;font-size:14px;display:grid;gap:4px}.conflicts.soft li{color:#8a6a2f}.conflicts.hard li{color:var(--danger)}.listen .player{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.conversationList{list-style:none;padding:0;display:grid;gap:12px}.conversationList a{display:block;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);text-decoration:none}.thread{display:grid;gap:10px;margin:20px 0}.message{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 16px;max-width:80%}.message.mine{margin-left:auto;background:#f1eee6}.message p{margin:0 0 4px;white-space:pre-wrap}@media(max-width:820px){.nav{height:auto;padding:12px 16px;flex-direction:column;align-items:stretch}.nav nav{justify-content:flex-start}.section{padding:32px 18px}.storyBody,.player .storyBody{font-size:19px;padding:22px}.message{max-width:100%}}button,.button,.primary{font:inherit;border:1px solid var(--line-strong);background:var(--card);color:inherit;border-radius:12px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.4}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.quiet{border:0;background:none;color:var(--ink-muted);padding:6px 8px}.quiet.danger{color:var(--danger)}.link{border:0;background:none;padding:0;text-decoration:underline;color:inherit}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 0}.actions.left{justify-content:flex-start}.badge{display:inline-block;font-size:12px;letter-spacing:.02em;padding:4px 10px;border-radius:999px;background:#eeebe4;color:var(--ink-soft)}.banner{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:12px;margin:16px 0;font-size:14px;border:1px solid var(--line);background:var(--card)}.banner.error{border-color:#e2c4bd;background:#fbf1ee;color:var(--danger)}.banner.info{border-color:#dcd7cb;background:#f4f1ea}.banner.warn{border-color:#e0d3b4;background:#faf5e8;color:#7a5c1e}.internals{margin-top:14px;border-top:1px dashed var(--line);padding-top:10px;font-size:12px;color:var(--ink-muted)}.internals summary{cursor:pointer}.technical{font-size:12px;color:var(--ink-muted);word-break:break-word}.internals .evidence li{display:block}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:36px 24px;background:var(--card);text-align:center}.hero{padding:9vh 0 6vh;text-align:center;max-width:900px;margin:0 auto}.hero h1{font-size:clamp(40px,6vw,68px);margin:18px 0}.hero .actions{justify-content:center}.hero .lead{margin:0 auto}.guestNote{max-width:560px;margin:22px auto 0}.how{margin-top:64px}.howGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:24px}.howGrid article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.howGrid span{display:inline-block;font-size:13px;color:var(--ink-muted);border:1px solid var(--line-strong);border-radius:999px;width:26px;height:26px;text-align:center;line-height:24px}.howGrid h3{margin:14px 0 8px;font-size:20px}.cta{margin-top:60px;padding:36px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);text-align:center}.cta .actions{justify-content:center}.supportBlock{margin-top:64px;padding:28px 30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}.supportBlock .supportCopy{max-width:62ch}.supportBlock h2{margin:0 0 6px;font-size:22px}.supportBlock p{margin:0;color:var(--ink-soft)}.supportBlock .note{margin-top:8px;color:var(--ink-muted);font-size:13px}.readingNote{margin-top:44px}.footer{border-top:1px solid var(--line);padding:32px 5vw;text-align:center;color:var(--ink-muted);font-size:13px}.footer nav{display:flex;gap:16px;justify-content:center;margin:10px 0}.footer nav a{text-decoration:none}
