.root-card[data-v-c2bdcbdf]{padding:12px;border-radius:16px;background:var(--card);color:var(--fg);border:1px solid var(--line, rgba(0,0,0,.08))}.elev-2[data-v-c2bdcbdf]{box-shadow:0 6px 18px #0000000f}.rc-head[data-v-c2bdcbdf]{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:20px}.rc-title[data-v-c2bdcbdf]{margin:0;font-size:20px}.rc-sub[data-v-c2bdcbdf]{font-size:13px;color:var(--muted)}.buckets[data-v-c2bdcbdf]{display:flex;flex-direction:column;gap:12px}.bucket[data-v-c2bdcbdf]{padding:8px 0;border-top:1px dashed var(--line, rgba(0,0,0,.1))}.bucket[data-v-c2bdcbdf]:first-child{border-top:0}.bucket-head[data-v-c2bdcbdf]{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:18px}.bucket-title-btn[data-v-c2bdcbdf]{background:transparent;border:none;padding:0;margin:0;font:inherit;font-weight:700;color:var(--fg);cursor:pointer}.bucket-title-btn[data-v-c2bdcbdf]:hover{text-decoration:underline}.bucket-title-btn[data-v-c2bdcbdf]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tags[data-v-c2bdcbdf]{display:flex;flex-wrap:wrap;gap:10px 12px}.tag[data-v-c2bdcbdf]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.empty[data-v-c2bdcbdf]{padding:4px 0;color:var(--muted)}.tail-wrap[data-v-c2bdcbdf]{will-change:height,opacity}.more-row[data-v-c2bdcbdf]{margin-top:8px}.btn-more[data-v-c2bdcbdf]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line, rgba(0,0,0,.1));background:var(--card);color:var(--fg);padding:6px 10px;border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .06s ease}.btn-more[data-v-c2bdcbdf]:hover{background:color-mix(in srgb,var(--accent) 12%,var(--card));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateY(-1px);box-shadow:0 4px 10px #0000000f}.btn-more[data-v-c2bdcbdf]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 480px){.rc-title[data-v-c2bdcbdf]{font-size:20px}.tag[data-v-c2bdcbdf]{padding:5px 9px;font-size:12px}.btn-more[data-v-c2bdcbdf]{padding:6px 9px}}@media (prefers-reduced-motion: reduce){.tag[data-v-c2bdcbdf],.btn-more[data-v-c2bdcbdf]{transition:none}}.viewbar[data-v-f655c546]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.muted[data-v-f655c546]{color:var(--muted)}.error[data-v-f655c546]{color:#c62828}.roots-grid[data-v-f655c546]{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 1024px){.roots-grid[data-v-f655c546]{grid-template-columns:repeat(2,minmax(0,1fr))}}.story-card[data-v-ad24a5b2]{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line, rgba(0, 0, 0, .08));transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.story-card[data-v-ad24a5b2]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 34%,var(--line));box-shadow:0 10px 24px #00000014}.cover-wrap[data-v-ad24a5b2]{position:relative;cursor:pointer}.cover[data-v-ad24a5b2]{width:100%;display:block;object-fit:cover;aspect-ratio:3/4}.overlay[data-v-ad24a5b2]{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,#0000008c,#0000 40%),linear-gradient(to bottom,#00000040,#0000 30%);opacity:.85;pointer-events:none}.fav-btn[data-v-ad24a5b2]{position:absolute;top:10px;right:10px;background:#00000073;border:none;border-radius:999px;width:36px;height:36px;color:#fff;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.fav-btn[data-v-ad24a5b2]:hover{transform:translateY(-1px);background:#0009;box-shadow:0 6px 14px #0003}.fav-btn.active[data-v-ad24a5b2]{background:var(--accent)}.actions[data-v-ad24a5b2]{display:flex;gap:8px;transform:translateY(10px);opacity:0;transition:transform .18s ease,opacity .18s ease}.story-card:hover .actions[data-v-ad24a5b2]{transform:translateY(0);opacity:1}@media (hover: none){.actions[data-v-ad24a5b2]{transform:none;opacity:1}}.btn-primary[data-v-ad24a5b2],.btn-ghost[data-v-ad24a5b2]{flex:1;padding:10px 12px;border-radius:12px;border:1px solid var(--line);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .06s ease}.btn-primary[data-v-ad24a5b2]{background:color-mix(in srgb,var(--accent) 22%,#0000);color:var(--fg);border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}.btn-primary[data-v-ad24a5b2]:hover{transform:translateY(-1px)}.btn-ghost[data-v-ad24a5b2]{display:inline-flex;justify-content:center;align-items:center;padding:10px 16px;border-radius:12px;font-weight:500;cursor:pointer;background:color-mix(in srgb,var(--card) 92%,var(--accent) 8%);color:var(--fg);border:1px solid color-mix(in srgb,var(--line) 60%,var(--accent) 40%);transition:background .15s ease,border-color .15s ease,transform .06s ease}.info[data-v-ad24a5b2]{padding:12px;display:flex;flex-direction:column;gap:6px}.title[data-v-ad24a5b2]{margin:0;font-size:16px;font-weight:650;cursor:pointer}.author[data-v-ad24a5b2]{font-size:13px;margin:0}.tags[data-v-ad24a5b2]{display:flex;flex-wrap:wrap;gap:6px}.badge[data-v-ad24a5b2]{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;font-size:11.5px;line-height:1;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 92%,var(--accent) 8%);color:var(--fg)}.badge--outline[data-v-ad24a5b2]{background:transparent;border-style:dashed;color:var(--muted)}.tag[data-v-ad24a5b2]{font-size:11.5px;padding:4px 8px}.meta[data-v-ad24a5b2]{font-size:12px}@media (prefers-reduced-motion: reduce){.story-card[data-v-ad24a5b2],.fav-btn[data-v-ad24a5b2],.actions[data-v-ad24a5b2],.btn-primary[data-v-ad24a5b2],.btn-ghost[data-v-ad24a5b2]{transition:none!important}}.muted[data-v-007a5b6f]{color:var(--muted)}.btn[data-v-007a5b6f]{border:1px solid var(--line, rgba(0, 0, 0, .08));background:var(--card);padding:6px 10px;border-radius:10px;cursor:pointer}.page-input[data-v-007a5b6f],.perpage[data-v-007a5b6f]{background:var(--card);border:1px solid var(--line, rgba(0, 0, 0, .08));border-radius:10px;color:var(--fg);padding:6px 8px}.pagination[data-v-007a5b6f]{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line, rgba(0,0,0,.08));border-radius:12px;padding:10px}.pager-left[data-v-007a5b6f],.pager-right[data-v-007a5b6f]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn[data-v-007a5b6f]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line, rgba(0,0,0,.08));background:var(--card);color:var(--fg);padding:8px 10px;border-radius:10px;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .06s ease}.btn[data-v-007a5b6f]:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,var(--card));border-color:color-mix(in srgb,var(--accent) 40%,var(--line));transform:translateY(-1px)}.btn[data-v-007a5b6f]:active:not(:disabled){transform:translateY(0)}.btn[data-v-007a5b6f]:disabled{opacity:.5;cursor:not-allowed}.btn[data-v-007a5b6f]:focus-visible,.page-input[data-v-007a5b6f]:focus-visible,.perpage[data-v-007a5b6f]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.page-input[data-v-007a5b6f],.perpage[data-v-007a5b6f]{background:var(--card);color:var(--fg);border:1px solid var(--line, rgba(0,0,0,.08));border-radius:10px;padding:8px 10px}.page-input[data-v-007a5b6f]{width:90px;text-align:center}.perpage[data-v-007a5b6f]{min-width:92px}@media (max-width: 480px){.pager-left[data-v-007a5b6f],.pager-right[data-v-007a5b6f]{width:100%;justify-content:center}}@media (prefers-reduced-motion: reduce){.btn[data-v-007a5b6f],.pagination[data-v-007a5b6f]{transition:none!important}}:root:not(.dark) .pagination[data-v-007a5b6f]{box-shadow:0 4px 12px #0000000d}.backtop[data-v-c55b9db9]{position:fixed;bottom:24px;right:24px;z-index:50;background:var(--accent);color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:20px;cursor:pointer;box-shadow:0 4px 10px #0003;transition:background .2s ease;padding:10px 0}.backtop[data-v-c55b9db9]:hover{background:color-mix(in srgb,var(--accent) 80%,#000 20%)}.fade-enter-from[data-v-c55b9db9],.fade-leave-to[data-v-c55b9db9]{opacity:0;transform:translateY(20px)}.fade-enter-to[data-v-c55b9db9],.fade-leave-from[data-v-c55b9db9]{opacity:1;transform:translateY(0)}.fade-enter-active[data-v-c55b9db9],.fade-leave-active[data-v-c55b9db9]{transition:all .25s ease}.topbar[data-v-0b8452af]{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border-bottom:1px solid var(--line);padding:8px 12px}.logo[data-v-0b8452af]{font-size:26px;cursor:pointer}.search-mini[data-v-0b8452af]{flex:0 1 280px;display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:12px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 96%,var(--fg) 4%);color:var(--muted);cursor:text}.search-mini .icon[data-v-0b8452af]{opacity:.7}.search-mini .ph[data-v-0b8452af]{font-size:14px;overflow:hidden;text-overflow:ellipsis}.icon-btn[data-v-0b8452af]{width:34px;height:34px;border-radius:10px;border:1px;padding:5px}.menu-wrap[data-v-0b8452af]{margin-left:auto}.menu-wrap[data-v-0b8452af]{position:relative}.menu[data-v-0b8452af]{position:absolute;right:0;top:calc(100% + 6px);min-width:160px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 24px #0000001f;padding:6px}.menu-item[data-v-0b8452af]{width:100%;text-align:left;padding:10px 12px;border-radius:10px;background:transparent;color:var(--fg);border:none;cursor:pointer}.menu-item[data-v-0b8452af]:hover{background:color-mix(in srgb,var(--accent) 10%,var(--card))}.fade-enter-from[data-v-0b8452af],.fade-leave-to[data-v-0b8452af]{opacity:0;transform:translateY(-6px)}.fade-enter-active[data-v-0b8452af],.fade-leave-active[data-v-0b8452af]{transition:all .15s ease}@media (max-width: 600px){.topbar[data-v-0b8452af]{flex-wrap:wrap;gap:6px}.search-mini[data-v-0b8452af]{flex:1 1 100%;order:3}}@media (max-width: 520px){.topbar[data-v-0b8452af]{grid-template-columns:auto 1fr auto;gap:6px}.search-mini[data-v-0b8452af]{width:100%}}*,*:before,*:after{box-sizing:border-box}:root{--bg: #ffffff;--fg: #111111;--muted: #666666;--card: #f7f7f8;--accent: #1864f5;--reader-width: 720px;--line: rgba(0,0,0,.08);--sp-1: clamp(6px, .6vw, 10px);--sp-2: clamp(10px, 1.2vw, 16px);--sp-3: clamp(14px, 1.8vw, 22px);--sp-4: clamp(18px, 2.4vw, 28px);--radius: clamp(10px, 1.2vw, 14px)}:root.dark{--bg: #0f1115;--fg: #e8e8e8;--muted: #9aa0a6;--card: #141820;--accent: #8ab4f8;--line: rgba(255,255,255,.12)}:root.sepia{--bg: #f4ecd8;--fg: #3b2f2f;--muted: #7a6b6b;--card: #efe4cb;--accent: #c06e2e;--line: rgba(0,0,0,.1)}*{box-sizing:border-box}html,body,#app{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.6}:where(h1,h2,h3,h4,h5,h6,p){margin:0 0 var(--sp-2)}a{color:inherit;text-decoration:none}button{font:inherit}li{list-style:none}.container{width:min(1200px,100%);margin-inline:auto;padding-inline:max(var(--sp-2),env(safe-area-inset-left));padding-inline-end:max(var(--sp-2),env(safe-area-inset-right))}.topbar{position:sticky;top:0;background:var(--bg);border-bottom:1px solid rgba(0,0,0,.06);z-index:10}input,select{background:var(--card);border:1px solid rgba(0,0,0,.08);padding:10px 12px;border-radius:10px;color:var(--fg)}button.primary{background:var(--accent);color:#fff;border:none;padding:10px 14px;border-radius:10px;cursor:pointer}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.card{background:var(--card);border-radius:16px;padding:12px;overflow:hidden;border:1px solid rgba(0,0,0,.06)}.cover{width:100%;height:280px;object-fit:cover;border-radius:12px}.badge{display:inline-flex;align-items:center;gap:6px;margin:0 2px;padding:4px 10px;font-size:12px;line-height:1;border-radius:999px;border:1px solid var(--line, rgba(0,0,0,.08));background:color-mix(in srgb,var(--card) 92%,var(--accent) 8%);color:var(--fg);white-space:nowrap;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .06s ease}.badge:hover{background:color-mix(in srgb,var(--card) 84%,var(--accent) 16%);border-color:color-mix(in srgb,var(--line) 60%,var(--accent) 40%)}.badge:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge--outline{background:transparent;border-style:dashed;color:var(--fg)}.badge--muted{background:color-mix(in srgb,var(--card) 96%,var(--fg) 4%);color:var(--muted)}.badge--accent{background:color-mix(in srgb,var(--accent) 22%,var(--card));color:var(--fg);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.badge--ghost{background:transparent;border-color:var(--line);color:var(--fg)}a.badge,button.badge{cursor:pointer}a.badge:hover,button.badge:hover{transform:translateY(-1px);box-shadow:0 4px 10px #0000000f}@media (max-width: 420px){.badge{padding:3px 8px;font-size:11px}}@media (prefers-reduced-motion: reduce){.badge{transition:none}}.tags{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:5px}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;line-height:1.1;white-space:nowrap;border-radius:999px;cursor:pointer;border:1px solid var(--line, rgba(0,0,0,.1));background:var(--card);color:var(--fg);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .06s ease}:root{--tag-h-s: 70%;--tag-h-l: 55%;--tag-mix: 12%;--tag-hover-mix: 20%;--tag-border-mix: 38%}:root.dark{--tag-h-s: 70%;--tag-h-l: 65%;--tag-mix: 18%;--tag-hover-mix: 26%;--tag-border-mix: 46%}:root.sepia{--tag-h-s: 68%;--tag-h-l: 58%;--tag-mix: 14%;--tag-hover-mix: 22%;--tag-border-mix: 42%}.tag--colored{background:color-mix(in srgb,hsl(var(--h) var(--tag-h-s) var(--tag-h-l)) var(--tag-mix),var(--card));border-color:color-mix(in srgb,hsl(var(--h) var(--tag-h-s) calc(var(--tag-h-l) - 10%)) var(--tag-border-mix),var(--line))}.tag--colored:hover{transform:translateY(-1px);background:color-mix(in srgb,hsl(var(--h) var(--tag-h-s) var(--tag-h-l)) var(--tag-hover-mix),var(--card));border-color:color-mix(in srgb,hsl(var(--h) var(--tag-h-s) calc(var(--tag-h-l) - 8%)) calc(var(--tag-border-mix) + 10%),var(--line));box-shadow:0 4px 10px #00000014}.tag:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width: 480px){.tag{padding:5px 9px;font-size:12px}}@media (prefers-reduced-motion: reduce){.tag{transition:none}}.reader{margin:0 auto;max-width:var(--reader-width);padding:16px}.reader p{margin:0 0 1em}.reader h1{font-size:28px;margin:0 0 .5em}.reader .meta{color:var(--muted);font-size:14px;margin-bottom:12px}.controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sidebar{width:320px;max-height:calc(100vh - 140px);overflow:auto;position:sticky;top:84px}
