:root{--paper: #f4efe4;--bg: #f6f2e9;--surface: #fffdf9;--surface-2: #faf6ec;--surface-3: #f2ece0;--ink: #24231f;--ink-2: #6a6862;--ink-3: #9d9a90;--line: #e7e0d1;--line-strong: #d8cfba;--brand: #17665f;--brand-2: #2c8a80;--brand-3: #57b3a6;--brand-4: #8fd0c6;--brand-soft: #e3f1ef;--brand-softer: #f0f7f6;--grad-brand: linear-gradient(135deg, #14524d 0%, #2c8a80 52%, #46a596 100%);--grad-brand-soft: linear-gradient(135deg, #e8f4f2 0%, #d5ebe7 100%);--seal: #bf3b2b;--seal-2: #d9614a;--seal-soft: #fdecea;--grad-seal: linear-gradient(135deg, #b0341f 0%, #d9614a 100%);--gold: #a8801f;--gold-2: #d4a548;--gold-soft: #fbf2de;--tone-green: #2f7d4f;--tone-green-bg: #e6f4ea;--tone-green-line: #c3e3ce;--tone-blue: #2f6ba8;--tone-blue-bg: #e7f0fa;--tone-blue-line: #c6dcf2;--tone-purple: #6b4fa8;--tone-purple-bg: #efe9fa;--tone-purple-line: #d8ccf0;--tone-orange: #a5671a;--tone-orange-bg: #fdf0dd;--tone-orange-line: #f2dcb8;--tone-gray: #6a6862;--tone-gray-bg: #eeece5;--tone-gray-line: #ddd9ce;--tone-red: #b23b2e;--tone-red-bg: #fbeaea;--tone-red-line: #f0cdc6;--c-purple: #6b4fa8;--c-purple-bg: #efe9fa;--c-purple-line: #d8ccf0;--c-indigo: #3f4fa0;--c-indigo-bg: #e9ecfa;--c-indigo-line: #ccd3f0;--c-cyan: #1f7d96;--c-cyan-bg: #e2f2f6;--c-cyan-line: #bfe2ea;--c-rose: #b23b6e;--c-rose-bg: #fbe9f0;--c-rose-line: #f2c8db;--c-amber: #a5671a;--c-amber-bg: #fdf0dd;--c-amber-line: #f2dcb8;--c-slate: #4a5568;--c-slate-bg: #eceff3;--c-slate-line: #d5dbe3;--c-green: #2f7d4f;--c-green-bg: #e6f4ea;--c-green-line: #c3e3ce;--c-jade: #17665f;--c-jade-bg: #e3f1ef;--c-jade-line: #c4e2de;--c-gray: #6a6862;--c-gray-bg: #eeece5;--c-gray-line: #ddd9ce;--data-views: #1f7d96;--data-likes: #bf3b2b;--data-favs: #a8801f;--data-urges: #a5671a;--data-comments: #2f7d4f;--radius: 14px;--radius-sm: 10px;--radius-lg: 22px;--shadow-1: 0 1px 2px rgba(60, 55, 45, .05), 0 2px 8px rgba(60, 55, 45, .045);--shadow-2: 0 2px 4px rgba(60, 55, 45, .06), 0 10px 24px -8px rgba(60, 55, 45, .14);--shadow-3: 0 4px 10px rgba(60, 55, 45, .07), 0 22px 44px -16px rgba(23, 102, 95, .22);--shadow: var(--shadow-1);--glow-brand: 0 0 0 3px rgba(44, 138, 128, .14);--font: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, "SimSun", serif;--font-ui: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;--paper-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-ui);background-color:var(--bg);background-image:var(--paper-noise);color:var(--ink);line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.app-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:18px 16px 56px}.app-footer{position:relative;margin-top:8px;padding:26px 16px 30px;text-align:center;font-family:var(--font);font-size:14px;color:var(--ink-2);border-top:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(255,253,249,.7))}.app-footer:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:120px;height:2px;border-radius:2px;background:var(--grad-brand)}.app-footer p{margin:4px 0}.muted{color:var(--ink-2)}h1,h2,h3{font-family:var(--font);font-weight:600;letter-spacing:.01em}h1{letter-spacing:.03em}a{color:var(--brand);text-decoration:none;transition:color var(--dur-1) var(--ease-out)}a:hover{color:var(--brand-2);text-decoration:underline;text-underline-offset:2px}::selection{background:#2c8a8033}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:var(--brand-3);background-clip:content-box}.bg-decor{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bg-decor .blob{position:absolute;border-radius:50%;filter:blur(58px);opacity:.5;will-change:transform}.bg-decor .blob-a{width:46vw;height:46vw;min-width:340px;min-height:340px;top:-14vw;left:-10vw;background:radial-gradient(circle at 35% 35%,#46a5969e,#46a59600 70%);animation:aurora-drift-a var(--loop-slow) var(--ease-in-out) infinite}.bg-decor .blob-b{width:40vw;height:40vw;min-width:300px;min-height:300px;top:-8vw;right:-12vw;background:radial-gradient(circle at 60% 40%,#d9614a6b,#d9614a00 70%);animation:aurora-drift-b 22s var(--ease-in-out) infinite}.bg-decor .blob-c{width:44vw;height:44vw;min-width:320px;min-height:320px;bottom:-18vw;left:34%;background:radial-gradient(circle at 50% 50%,#d4a5485c,#d4a54800 70%);animation:aurora-drift-c 26s var(--ease-in-out) infinite}.nav{position:sticky;top:0;z-index:50;background:#faf7f0b8;backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid rgba(231,224,209,.9);transition:box-shadow var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.nav:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(44,138,128,.5) 30%,rgba(217,97,74,.35) 70%,transparent);opacity:.75}.nav-inner{max-width:1080px;margin:0 auto;padding:11px 16px;display:flex;align-items:center;gap:14px}.nav-logo{font-family:var(--font);font-size:19px;font-weight:700;white-space:nowrap;background:var(--grad-brand);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;letter-spacing:.06em;position:relative;transition:background-position var(--dur-3) var(--ease-out)}.nav-logo:hover{background-position:100% 50%;text-decoration:none}.nav-logo:after{content:"";position:absolute;right:-7px;top:3px;width:6px;height:6px;border-radius:2px;background:var(--grad-seal);opacity:.85;transform:rotate(12deg);transition:transform var(--dur-2) var(--ease-spring)}.nav-logo:hover:after{transform:rotate(52deg) scale(1.15)}.nav-links{display:flex;gap:3px;flex:1;overflow-x:auto}.nav-links::-webkit-scrollbar{height:0}.nav-links a{position:relative;padding:7px 12px;border-radius:999px;color:var(--ink-2);font-size:15px;white-space:nowrap;transition:color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.nav-links a:hover{color:var(--brand);background:#2c8a8014;text-decoration:none}.nav-links a.router-link-active{background:var(--grad-brand-soft);color:var(--brand);font-weight:600;box-shadow:inset 0 0 0 1px #2c8a802e}.nav-links a:after{content:"";position:absolute;left:50%;bottom:2px;height:2px;width:0;border-radius:2px;background:var(--grad-brand);transform:translate(-50%);transition:width var(--dur-2) var(--ease-out)}.nav-links a:hover:after{width:42%}.nav-links a.router-link-active:after{width:0}.nav-actions{display:flex;gap:8px;align-items:center}.nav-search{display:flex;position:relative}.nav-search input{width:118px;border-radius:999px;padding-left:30px;transition:width var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.nav-search:before{content:"🔍";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;opacity:.5;pointer-events:none}.nav-search input:focus{width:200px;box-shadow:var(--glow-brand)}.nav-bell{position:relative}.badge-count{display:inline-block;min-width:18px;padding:0 5px;margin-left:6px;background:var(--grad-seal);color:#fff;border-radius:999px;font-size:11px;line-height:18px;text-align:center;font-weight:600;animation:pulse-soft 2.4s var(--ease-in-out) infinite}.dot-unread{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--seal);margin-left:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;position:relative;overflow:hidden;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);padding:8px 16px;border-radius:10px;font-size:14px;cursor:pointer;transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out);text-decoration:none!important;-webkit-tap-highlight-color:transparent}.btn:hover{border-color:var(--brand-2);color:var(--brand);transform:translateY(-1px);box-shadow:var(--shadow-2)}.btn:active{transform:translateY(0) scale(.972);box-shadow:var(--shadow-1)}.btn:focus-visible{outline:none;box-shadow:var(--glow-brand)}.btn.primary{background:var(--grad-brand);background-size:160% 160%;border-color:transparent;color:#fff;box-shadow:0 2px 8px -2px #17665f73}.btn.primary:hover{color:#fff;filter:brightness(1.06);box-shadow:0 6px 18px -6px #17665f99;background-position:100% 50%}.btn.primary:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translate(-140%) skew(-18deg)}.btn.primary:hover:after{animation:sheen-sweep .7s var(--ease-out)}.btn.danger{color:var(--tone-red);border-color:var(--tone-red-line);background:var(--surface)}.btn.danger:hover{background:var(--tone-red-bg);border-color:var(--seal-2)}.btn.sm{padding:5px 11px;font-size:13px;border-radius:8px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn .act-icon{display:inline-block;transition:transform var(--dur-2) var(--ease-spring)}.btn:hover .act-icon{transform:scale(1.18)}.btn.just-acted{animation:heart-pop .5s var(--ease-spring)}.btn.loading:before{content:"";width:13px;height:13px;border-radius:50%;border:2px solid currentColor;border-top-color:transparent;animation:spin .7s linear infinite}input,textarea,select{font:inherit;color:inherit;border:1px solid var(--line-strong);border-radius:10px;padding:9px 12px;background:var(--surface);outline:none;transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--ink-3)}input:hover,textarea:hover,select:hover{border-color:var(--brand-4)}input:focus,textarea:focus,select:focus{border-color:var(--brand-2);box-shadow:var(--glow-brand);background:#fff}textarea{width:100%;resize:vertical}label.field{display:block;margin-bottom:14px;font-size:14px;color:var(--ink-2);font-weight:500}label.field input,label.field select,label.field textarea{display:block;width:100%;margin-top:6px;color:var(--ink);font-weight:400}.form-error{background:var(--tone-red-bg);color:var(--tone-red);border-left:3px solid var(--seal);padding:11px 14px;border-radius:10px;margin-bottom:14px;font-size:14px;animation:shake .4s var(--ease-out)}.form-ok{background:var(--tone-green-bg);color:var(--tone-green);border-left:3px solid #4a9e66;padding:11px 14px;border-radius:10px;margin-bottom:14px;font-size:14px;animation:rise-in .35s var(--ease-out)}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:17px;height:17px;padding:0;border-radius:5px;border:1.5px solid var(--line-strong);background:var(--surface);display:inline-grid;place-content:center;cursor:pointer;vertical-align:-3px;transition:all var(--dur-2) var(--ease-out)}input[type=checkbox]:before{content:"✓";font-size:12px;font-weight:700;color:#fff;transform:scale(0);transition:transform var(--dur-2) var(--ease-spring)}input[type=checkbox]:checked{background:var(--grad-brand);border-color:var(--brand-2)}input[type=checkbox]:checked:before{transform:scale(1)}input[type=checkbox]:hover{border-color:var(--brand-3)}.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);padding:20px;transition:box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.card:before{content:"";position:absolute;top:-1px;left:18px;right:18px;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,rgba(44,138,128,.4),rgba(217,97,74,.28),transparent);opacity:0;transition:opacity var(--dur-2) var(--ease-out)}.card:hover{box-shadow:var(--shadow-2)}.card:hover:before{opacity:1}.tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;line-height:1.5;background:var(--brand-soft);color:var(--brand);border:1px solid rgba(44,138,128,.16);transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) var(--ease-out)}.tag:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.7;flex-shrink:0}.tag.green{background:var(--tone-green-bg);color:var(--tone-green);border-color:var(--tone-green-line)}.tag.blue{background:var(--tone-blue-bg);color:var(--tone-blue);border-color:var(--tone-blue-line)}.tag.purple{background:var(--tone-purple-bg);color:var(--tone-purple);border-color:var(--tone-purple-line)}.tag.orange{background:var(--tone-orange-bg);color:var(--tone-orange);border-color:var(--tone-orange-line)}.tag.gray{background:var(--tone-gray-bg);color:var(--tone-gray);border-color:var(--tone-gray-line)}.tag.red{background:var(--tone-red-bg);color:var(--tone-red);border-color:var(--tone-red-line)}.cat-purple{--cat-fg: var(--c-purple);--cat-bg: var(--c-purple-bg);--cat-line: var(--c-purple-line)}.cat-indigo{--cat-fg: var(--c-indigo);--cat-bg: var(--c-indigo-bg);--cat-line: var(--c-indigo-line)}.cat-cyan{--cat-fg: var(--c-cyan);--cat-bg: var(--c-cyan-bg);--cat-line: var(--c-cyan-line)}.cat-rose{--cat-fg: var(--c-rose);--cat-bg: var(--c-rose-bg);--cat-line: var(--c-rose-line)}.cat-amber{--cat-fg: var(--c-amber);--cat-bg: var(--c-amber-bg);--cat-line: var(--c-amber-line)}.cat-slate{--cat-fg: var(--c-slate);--cat-bg: var(--c-slate-bg);--cat-line: var(--c-slate-line)}.cat-green{--cat-fg: var(--c-green);--cat-bg: var(--c-green-bg);--cat-line: var(--c-green-line)}.cat-jade{--cat-fg: var(--c-jade);--cat-bg: var(--c-jade-bg);--cat-line: var(--c-jade-line)}.cat-gray{--cat-fg: var(--c-gray);--cat-bg: var(--c-gray-bg);--cat-line: var(--c-gray-line)}.cat-tag{display:inline-flex;align-items:center;white-space:nowrap;padding:2px 9px;border-radius:999px;font-size:12px;line-height:1.6;background:var(--cat-bg, var(--c-jade-bg));color:var(--cat-fg, var(--c-jade));border:1px solid var(--cat-line, var(--c-jade-line));transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) var(--ease-out)}.work-card:hover .cat-tag{transform:translateY(-1px) scale(1.05)}.work-card .meta .cat-tag{margin:0 3px 0 1px}.work-card .meta .cat-tag:before{content:none}.cat-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.cat-chip{font:inherit;font-size:13px;line-height:1.5;cursor:pointer;padding:5px 13px;border-radius:999px;background:var(--cat-bg, var(--surface));color:var(--cat-fg, var(--ink-2));border:1px solid var(--cat-line, var(--line-strong));transition:transform var(--dur-2) var(--ease-spring),background var(--dur-2) var(--ease-out),color var(--dur-1) var(--ease-out),border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.cat-chip:hover{transform:translateY(-2px);background:var(--cat-bg, var(--brand-soft));color:var(--cat-fg, var(--brand));border-color:var(--cat-line, var(--brand-4));box-shadow:var(--shadow-1)}.cat-chip.active{background:var(--cat-fg, var(--brand));color:#fff;border-color:transparent;font-weight:600;box-shadow:0 5px 16px -7px var(--cat-fg, var(--brand))}.st-views{color:var(--data-views)}.st-likes{color:var(--data-likes)}.st-favs{color:var(--data-favs)}.st-urges{color:var(--data-urges)}.st-comments{color:var(--data-comments)}.counting{font-variant-numeric:tabular-nums}.badge-ai{white-space:nowrap}.badge-ai:hover{transform:translateY(-1px) scale(1.04)}.pill-count{font-size:13px;color:var(--ink-2)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:34px 0 14px;position:relative}.section-head h2{font-size:20px;margin:0;position:relative;padding-left:15px}.section-head h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:19px;border-radius:3px;background:var(--grad-brand);box-shadow:0 2px 8px -2px #17665f99}.section-head a{font-size:13px;color:var(--ink-2);display:inline-flex;align-items:center;gap:3px;transition:color var(--dur-2) var(--ease-out),gap var(--dur-2) var(--ease-out)}.section-head a:hover{color:var(--brand);text-decoration:none;gap:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.hero{padding:2px 0 0}.hero-banner{position:relative;width:100%;max-width:920px;margin:0 auto;aspect-ratio:3 / 2;border-radius:var(--radius-lg);overflow:hidden;background:#123a63;box-shadow:0 20px 48px -24px #0c2e489e,0 2px 8px #0c2e481f;animation:hero-in .8s var(--ease-out) both}.hero-stage{position:absolute;inset:0;transform-origin:50% 58%;will-change:transform;animation:hero-breathe 26s var(--ease-in-out) infinite alternate}.hero-base{display:block;width:100%;height:100%;object-fit:cover}.hero-banner picture{display:block;height:100%}.hb{position:absolute;pointer-events:none}.hb-sky,.hb-petals,.hb-motes{position:absolute;inset:0;pointer-events:none}.hb-cloud{position:absolute;border-radius:50%;background:radial-gradient(ellipse at 50% 55%,#ffffff80,#ffffff45 36%,#ffffff1a 60%,#fff0 80%);opacity:.36;will-change:transform;animation:hb-drift var(--dur, 50s) var(--ease-in-out) infinite alternate}.hb-c1{left:1%;top:19.5%;width:26%;height:9%;--dur: 46s}.hb-c2{left:23%;top:15%;width:30%;height:8%;--dur: 58s;animation-delay:-12s}.hb-c3{left:49%;top:21%;width:34%;height:10%;--dur: 52s;animation-delay:-26s}.hb-c4{left:75%;top:15.5%;width:26%;height:9%;--dur: 44s;animation-delay:-8s}.hb-c5{left:32%;top:28.5%;width:40%;height:11%;--dur: 64s;animation-delay:-34s}.hb-c6{left:7%;top:35.5%;width:30%;height:9%;--dur: 50s;animation-delay:-19s}.hb-orbit{border-radius:50%;background:conic-gradient(from 0deg,#b2f0ffb8,#5abeff0f 52deg,#cef8ff99 118deg,#50b4ff00 172deg,#9ee6ff75 236deg,#5abeff0d,#b2f0ffb8 360deg);-webkit-mask:radial-gradient(closest-side,#0000 74%,#000 82%,#000 94%,#0000 100%);mask:radial-gradient(closest-side,#0000 74%,#000 82%,#000 94%,#0000 100%);opacity:.62}.hb-orbit-a{left:70%;top:20.4%;width:36%;aspect-ratio:2.6;will-change:transform;animation:hb-spin 46s linear infinite}.hb-orbit-b{left:63%;top:25.5%;width:50%;aspect-ratio:3.6;will-change:transform;animation:hb-spin 74s linear infinite reverse;opacity:.4}.hb-sphere{left:80.4%;top:17.1%;width:20.8%;aspect-ratio:1;border-radius:50%;background:conic-gradient(from 0deg,#d6faff80,#fff0 66deg,#baf0ff57 148deg,#fff0 216deg,#cef6ff66 300deg,#fff0 360deg);-webkit-mask:radial-gradient(closest-side,#0000 34%,#000 72%,#000 93%,#0000 100%);mask:radial-gradient(closest-side,#0000 34%,#000 72%,#000 93%,#0000 100%);opacity:.55;will-change:transform;animation:hb-spin 34s linear infinite}.hb-ring{border-radius:50%;background:conic-gradient(from 0deg,#b0f4ffe6,#5cc2ff1f 58deg,#cefaffbd 124deg,#50b4ff00 178deg,#92e2ff99 238deg,#5cc2ff1a 300deg,#b0f4ffe6 360deg);-webkit-mask:radial-gradient(closest-side,#0000 66%,#000 77%,#000 90%,#0000 100%);mask:radial-gradient(closest-side,#0000 66%,#000 77%,#000 90%,#0000 100%);opacity:.68}.hb-ring-a{left:-3%;top:63%;width:46%;aspect-ratio:2.3;will-change:transform;animation:hb-spin 27s linear infinite}.hb-ring-b{left:43%;top:72.5%;width:40%;aspect-ratio:2.6;will-change:transform;animation:hb-spin 21s linear infinite reverse}.hb-ring-c{left:23%;top:68.8%;width:30%;aspect-ratio:2;will-change:transform;animation:hb-spin 17s linear infinite;opacity:.56}.hb-book{left:30%;top:69%;width:44%;height:22%;background:radial-gradient(ellipse at 50% 55%,#fff6d899,#ffe8aa38 42%,#ffdc960f 62%,#ffdc9600 78%);will-change:transform,opacity;animation:hb-pulse 7.5s var(--ease-in-out) infinite}.hb-eye{width:1.1%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 24%,#bdf4ff 46%,#5cd4ff00 74%);box-shadow:0 0 9px 3px #74e0ffd1,0 0 24px 9px #3aa8ff57;animation:hb-blink 4.6s var(--ease-in-out) infinite}.hb-eye-l{left:31.65%;top:62.38%}.hb-eye-r{left:33.55%;top:61.48%;animation-delay:.35s}.hb-core{left:30.5%;top:67.4%;width:1.7%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#eafcff 0 18%,#60ceffb8 44%,#46aaff00 76%);box-shadow:0 0 12px 4px #60c8ff80;animation:hb-pulse 5.4s var(--ease-in-out) infinite}.hb-link{left:31.3%;top:61.5%;width:11.5%;height:8%}.hb-link:before{content:"";position:absolute;left:0;top:50%;width:6%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 26%,#cdf6ff 50%,#78d6ff00 78%);box-shadow:0 0 10px 4px #7adeffb3;opacity:0;animation:hb-link-run 6.5s var(--ease-in-out) infinite}.hb-water{left:52%;top:76%;width:48%;height:24%;overflow:hidden;-webkit-mask:linear-gradient(180deg,#0000,#000 38%,#000 74%,#0000);mask:linear-gradient(180deg,#0000,#000 38%,#000 74%,#0000);opacity:.32}.hb-water-flow{position:absolute;inset:0 0 0 -260px;background:repeating-linear-gradient(90deg,#fff0 0 9px,#fff4d080 9px 11px,#fff0 11px 26px);will-change:transform;animation:hb-shimmer 11s linear infinite}.hb-petal{position:absolute;left:var(--x);top:-7%;width:calc(1.5% * var(--s));aspect-ratio:1 / 1.35;border-radius:62% 38% 55% 45%/60% 55% 45% 40%;background:linear-gradient(155deg,#ffe6f0,#f7adca 55%,#e58fb4);opacity:0;animation:hb-fall var(--dur) linear infinite;animation-delay:var(--d)}.hb-mote{position:absolute;left:var(--x);top:var(--y);width:calc(.6% * var(--s));aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 28%,#c4f2ffb8 54%,#c4f2ff00 80%);opacity:0;animation:hb-float var(--dur) var(--ease-in-out) infinite;animation-delay:var(--d)}.hb-sheen{position:absolute;inset:-20% -60%;background:linear-gradient(102deg,transparent 38%,rgba(255,255,255,.34) 50%,transparent 62%);opacity:.28;will-change:transform;animation:hb-sheen 9s var(--ease-in-out) infinite;animation-delay:.5s}.hero-banner:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff38,inset 0 0 90px -12px #08244057;background:linear-gradient(to bottom,#061c3833,#061c3800 20% 74%,#061c3842)}.hero-tagline{max-width:640px;margin:22px auto 0;text-align:center;font-family:var(--font);color:var(--ink);font-size:clamp(15px,2.4vw,19px);line-height:1.95;letter-spacing:.02em}.hero-lead,.hero-seg{white-space:nowrap}.hero-lead{display:block}@keyframes hero-in{0%{opacity:0;transform:translate3d(0,18px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes hero-breathe{0%{transform:scale(1) translateZ(0)}to{transform:scale(1.035) translate3d(0,-.6%,0)}}@keyframes hero-breathe-strong{0%{transform:scale(1.02) translateZ(0)}to{transform:scale(1.07) translate3d(0,-1%,0)}}@keyframes hb-drift{0%{transform:translate3d(-5%,0,0) scale(1)}to{transform:translate3d(6%,-1.6%,0) scale(1.09)}}@keyframes hb-drift-wide{0%{transform:translate3d(-30%,3%,0) scale(1)}to{transform:translate3d(32%,-5%,0) scale(1.22)}}@keyframes hb-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes hb-pulse{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1.05)}}@keyframes hb-blink{0%,to{opacity:.72;transform:scale(.94)}42%{opacity:1;transform:scale(1.12)}58%{opacity:1;transform:scale(1.12)}}@keyframes hb-link-run{0%{opacity:0;transform:translateY(-50%) scale(.55)}12%{opacity:1}50%{opacity:1;transform:translate(760%,-215%) scale(1)}70%{opacity:.85}to{opacity:0;transform:translate(1540%,-60%) scale(.55)}}@keyframes hb-shimmer{0%{transform:translateZ(0)}to{transform:translate3d(260px,0,0)}}@keyframes hb-fall{0%{opacity:0;transform:translateZ(0) rotate(0)}8%{opacity:.85}50%{opacity:.8;transform:translate3d(150%,820%,0) rotate(190deg)}88%{opacity:.6}to{opacity:0;transform:translate3d(-110%,1560%,0) rotate(410deg)}}@keyframes hb-float{0%{opacity:0;transform:translateZ(0) scale(.6)}20%{opacity:.9}78%{opacity:.65}to{opacity:0;transform:translate3d(240%,-880%,0) scale(1.05)}}@keyframes hb-sheen{0%{transform:translate(-55%)}12%,to{transform:translate(55%)}}@keyframes cover-float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-5px,0)}}@keyframes cover-glint{0%{transform:translate(-140%) skew(-16deg)}16%,to{transform:translate(140%) skew(-16deg)}}.boards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:22px 0 10px}.board{position:relative;overflow:hidden;display:block;padding:10px 9px;border-radius:12px;text-align:center;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.board:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);transform:translate(-140%) skew(-18deg);pointer-events:none}.board:hover{--tilt-lift: -3px;box-shadow:var(--shadow-2);text-decoration:none;border-color:transparent}.board:hover:after{animation:sheen-sweep .85s var(--ease-out)}.board .icon{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:9px;font-size:14px;background:#ffffffbf;box-shadow:inset 0 0 0 1px #fffc,0 2px 7px -3px #3c372d4d;transition:transform var(--dur-2) var(--ease-spring)}.board:hover .icon{transform:translateY(-2px) rotate(-6deg) scale(1.08)}.board b{display:block;font-family:var(--font);margin:6px 0 2px;font-size:12.5px;color:var(--ink)}.board span{font-size:10.5px;color:var(--ink-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.board>.icon,.board>b,.board>span{position:relative;z-index:1}.board-human{background:linear-gradient(135deg,#eaf6ee,#d9eddf);border-color:#cfe6d6}.board-human b{color:#1f6340}.board-human span{color:#4a7a5c}.board-human .icon{background:#ffffffd9}.board-ai-assist{background:linear-gradient(135deg,#eaf2fb,#d9e8f8);border-color:#cddff2}.board-ai-assist b{color:#24568a}.board-ai-assist span{color:#4e7398}.board-ai-assist .icon{background:#ffffffd9}.board-co-create{background:linear-gradient(135deg,#f1ecfb,#e3daf6);border-color:#dbd0f1}.board-co-create b{color:#533a88}.board-co-create span{color:#6f5c94}.board-co-create .icon{background:#ffffffd9}.board-ai-literature{background:linear-gradient(135deg,#fdf3e2,#f9e7c8);border-color:#f2ddba}.board-ai-literature b{color:#855317}.board-ai-literature span{color:#94703c}.board-ai-literature .icon{background:#ffffffd9}.cat-marquee{display:grid;gap:8px;margin:0 0 22px}.cat-row{position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 5%,#000 95%,#0000);mask:linear-gradient(90deg,#0000,#000 5%,#000 95%,#0000)}.cat-track{display:flex;gap:7px;width:max-content;animation:cat-scroll var(--dur, 60s) linear infinite}.cat-row:nth-child(2) .cat-track{animation-direction:reverse}.cat-marquee:hover .cat-track,.cat-marquee:focus-within .cat-track{animation-play-state:paused}.cat-track .cat-chip{flex:0 0 auto}.cat-track a.cat-chip{text-decoration:none}.cat-sep{flex:0 0 auto;align-self:center;width:6px;height:6px;margin:0 4px;border-radius:2px;background:var(--brand-3);opacity:.4;transform:rotate(45deg)}@keyframes cat-scroll{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.pledge{position:relative;background:linear-gradient(135deg,#fffdf9f7,#f8f4e9f7);border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 22px 26px;font-family:var(--font);line-height:2.05;box-shadow:var(--shadow-1);overflow:hidden}.pledge:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#2c8a80,#57b3a6 45%,#d9614a)}.pledge p{margin:0}.pledge p:first-child{font-size:16px;color:var(--ink)}.pledge p:last-child{color:var(--ink-2);font-size:14px;margin-top:8px}.work-grid{display:grid;grid-template-columns:1fr;gap:14px}.work-card{position:relative;overflow:hidden;display:flex;gap:14px;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.work-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad-brand);transform:scaleY(0);transform-origin:top;transition:transform var(--dur-2) var(--ease-out)}.work-card:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 34%,rgba(255,255,255,.55) 50%,transparent 66%);transform:translate(-140%) skew(-18deg);pointer-events:none}.work-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-3);border-color:#2c8a8059;text-decoration:none}.work-card:hover:before{transform:scaleY(1)}.work-card:hover:after{animation:sheen-sweep .9s var(--ease-out)}.cover{width:76px;height:102px;border-radius:9px;object-fit:cover;flex-shrink:0;background:var(--grad-brand);box-shadow:0 4px 14px -6px #3c372d8c;transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.work-card:hover .cover{transform:scale(1.05) rotate(-1.2deg);box-shadow:0 8px 20px -6px #17665f80}.cover-art{position:relative;overflow:hidden;flex-shrink:0;border-radius:9px;isolation:isolate;animation:cover-float 5.6s var(--ease-in-out) infinite}.cover-art:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,transparent 36%,rgba(255,255,255,.5) 50%,transparent 64%);transform:translate(-140%) skew(-16deg);will-change:transform;animation:cover-glint 7.3s var(--ease-in-out) infinite}.work-grid>*:nth-child(2n) .cover-art{animation-delay:-1.4s}.work-grid>*:nth-child(2n) .cover-art:after{animation-delay:-2.6s}.work-grid>*:nth-child(3n) .cover-art{animation-delay:-2.9s}.work-grid>*:nth-child(3n) .cover-art:after{animation-delay:-5.1s}.js-anim .reveal:not(.reveal-in) .cover-art,.js-anim .reveal:not(.reveal-in) .cover-art:after{animation:none}.cover-art-el{display:block;width:100%;height:100%;object-fit:cover}.cover-art-poster{position:absolute;inset:0}.cover-art-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(168deg,#0e10120a,#0e101242)}.cover-art-frame{position:absolute;inset:6px;border-radius:5px;border:1px solid rgba(255,255,255,.38);pointer-events:none}.cover-art-scrim{position:absolute;left:0;right:0;bottom:0;height:74%;background:linear-gradient(180deg,#0e101200,#0e101257 42%,#0c0e10b8);pointer-events:none}.cover-art-title{position:absolute;margin:0;z-index:2;font-family:var(--font);font-weight:600;color:#fff;letter-spacing:.02em;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 9px rgba(0,0,0,.4),0 0 20px rgba(0,0,0,.3);pointer-events:none;word-break:keep-all}.cover-art-title>span{display:block;white-space:pre}.cover-art:not(.cover-art-img) .cover-art-title{inset:10px}.cover-art-img .cover-art-title{left:5px;right:5px;bottom:5px;justify-content:flex-end}.detail-header .cover-art{border-radius:12px}.cover-art-baked .cover-art-el{filter:saturate(1.05)}.cover-art-baked:before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 1px #ffffff3d,inset 0 -18px 24px -18px #00000080;pointer-events:none}.cover-art:after{content:"";position:absolute;top:-25%;bottom:-25%;left:0;width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translate(-130%) rotate(8deg);pointer-events:none}.work-card:hover .cover-art:after,.detail-header .cover-art:hover:after{animation:cover-sheen .9s var(--ease-out)}.work-card:hover .cover-art{filter:saturate(1.06)}.cover-art:not(.cover-art-img) .cover-art-poster{animation:hue-drift 12s var(--ease-in-out) infinite}.work-card .info{min-width:0;flex:1}.work-card .title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.work-card h3{margin:0 0 6px;font-size:16px;color:var(--ink);transition:color var(--dur-2) var(--ease-out);overflow-wrap:anywhere}.work-card:hover h3{color:var(--brand)}.work-card .meta{font-size:12px;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:8px}.work-card .meta span{position:relative}.work-card .meta span+span:before{content:"·";position:absolute;left:-7px;color:var(--line-strong)}.work-card .summary{font-size:13px;color:var(--ink-2);margin:6px 0 0;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stats-line{display:flex;gap:12px;font-size:12px;color:var(--ink-2);margin-top:8px;flex-wrap:wrap}.stats-line span{display:inline-flex;align-items:center;gap:3px;transition:color var(--dur-2) var(--ease-out),transform var(--dur-2) var(--ease-spring)}.work-card:hover .stats-line span{transform:translateY(-1px)}.work-card:hover .stats-line{color:var(--brand)}.detail-header{display:flex;gap:18px;flex-wrap:wrap}.detail-header h1{font-size:clamp(21px,3.4vw,26px);margin:0 0 10px;overflow-wrap:anywhere}.kv{font-size:14px;margin:4px 0;color:var(--ink-2)}.kv b{color:var(--ink);font-weight:600}.actions{display:flex;gap:10px;margin:16px 0 4px;flex-wrap:wrap}.chapters-list{list-style:none;margin:0;padding:0}.chapters-list li{border-top:1px solid var(--line)}.chapters-list li:first-child{border-top:none}.chapters-list a{position:relative;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 10px;color:var(--ink);font-size:14px;border-radius:9px;transition:background var(--dur-2) var(--ease-out),padding-left var(--dur-2) var(--ease-out),color var(--dur-2) var(--ease-out)}.chapters-list a:before{content:"";position:absolute;left:2px;top:7px;bottom:7px;width:3px;border-radius:2px;background:var(--grad-brand);transform:scaleY(0);transform-origin:top;transition:transform var(--dur-2) var(--ease-out)}.chapters-list a:hover:before{transform:scaleY(1)}.chapters-list a:hover{background:var(--brand-softer);padding-left:16px;color:var(--brand);text-decoration:none}.chapters-list .wc{color:var(--ink-3);font-size:12px;flex-shrink:0}.reader{max-width:720px;margin:0 auto}.reader-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap;padding:10px 12px;border-radius:var(--radius);background:#fffdf9b3;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reader-body{font-family:var(--font);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:34px 26px 46px;box-shadow:var(--shadow-2);position:relative}.reader-body h2{font-size:22px;letter-spacing:.08em;padding-bottom:14px}.reader-body h2:after{content:"";display:block;width:46px;height:3px;margin:14px auto 0;border-radius:3px;background:var(--grad-brand)}.reader-body p{margin:0 0 1.15em;font-size:var(--reader-font, 18px);line-height:var(--reader-lh, 1.95);text-align:justify;text-justify:inter-ideograph;animation:fade-in .5s var(--ease-out) both}.reader-body>p:first-of-type:first-letter{float:left;font-size:3.1em;line-height:.92;padding:4px 10px 0 0;color:var(--brand);font-weight:600}.reader-body>p:nth-of-type(1){animation-delay:.02s}.reader-body>p:nth-of-type(2){animation-delay:.06s}.reader-body>p:nth-of-type(3){animation-delay:.1s}.reader-body>p:nth-of-type(4){animation-delay:.14s}.reader-body>p:nth-of-type(5){animation-delay:.18s}.reader-body>p:nth-of-type(6){animation-delay:.22s}.reader-body>p:nth-of-type(n+7){animation-delay:.26s}.reader-nav{display:flex;justify-content:space-between;margin-top:20px;gap:10px}.reader.dark{--surface: #242320;--ink: #d3cdc1;--line: #3a3833;--ink-2: #97928a;--ink-3: #6f6b63;background:#1a1917;color:var(--ink)}.reader.dark .reader-body{background:var(--surface);box-shadow:none}.reader.dark .reader-body>p:first-of-type:first-letter{color:var(--brand-3)}.reader.dark .reader-toolbar{background:#242320cc}.reader.sepia{--surface: #f6ecd9;--line: #e3d5b8;--ink: #4a3d29;--ink-2: #7d6c50;background:#efe3c8}.reader.sepia .reader-body{background:var(--surface)}.reader.sepia .reader-body>p:first-of-type:first-letter{color:#9a6a2a}html[data-reader=dark] body{background-color:#161514;background-image:none;color:#d3cdc1}html[data-reader=dark] a{color:var(--brand-3)}html[data-reader=dark] .nav{background:#1c1b19d1;border-bottom-color:#34322d}html[data-reader=dark] .nav-links a{color:#a49f96}html[data-reader=dark] .nav-links a.router-link-active{background:#57b3a629;color:var(--brand-3)}html[data-reader=dark] .nav-search input{background:#26251f;border-color:#3d3a34;color:#d3cdc1}html[data-reader=dark] .btn:not(.primary){background:#26251f;border-color:#3d3a34;color:#d3cdc1}html[data-reader=dark] .nav-logo{background:linear-gradient(100deg,#8fd0c6,#57b3a6 40%,#d4a548 75%,#8fd0c6);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}html[data-reader=dark] .app-footer{background:none;border-top-color:#34322d;color:#8a857c}html[data-reader=dark] .app-footer .muted{color:#6f6b63}html[data-reader=dark] .to-top{background:#262520f0;color:var(--brand-3);border-color:#3d3a34}html[data-reader=dark] .empty{color:#8a857c}html[data-reader=dark] ::selection{background:#57b3a652}html[data-reader=sepia] body{background-color:#eee1c4;background-image:none}.creation-notes table{width:100%;border-collapse:collapse;font-size:14px}.creation-notes td{padding:10px 6px;border-top:1px dashed var(--line)}.creation-notes tr:first-child td{border-top:none}.creation-notes td:first-child{color:var(--ink-2);width:6em}.creation-notes .notes-text{font-family:var(--font);color:var(--ink);white-space:pre-wrap;margin-top:14px;font-size:14.5px;line-height:1.95;padding:14px 16px;border-radius:10px;background:linear-gradient(135deg,#e3f1ef80,#fbf2de80);border-left:3px solid var(--brand-3)}.comment{border-top:1px solid var(--line);padding:14px 4px;border-radius:10px;transition:background var(--dur-2) var(--ease-out),padding-left var(--dur-2) var(--ease-out)}.comment:hover{background:var(--brand-softer);padding-left:12px}.comment .who{font-size:13px;color:var(--ink-3);display:flex;justify-content:space-between;gap:8px}.comment .who b{color:var(--brand)}.comment p{margin:7px 0 0;font-size:14px;white-space:pre-wrap;word-break:break-word;line-height:1.8}.form-page{max-width:460px;margin:34px auto}.form-page.wide{max-width:720px}.form-page.card{padding:26px 24px}.auth-page{position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;top:-60px;right:-60px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(44,138,128,.16),transparent 68%);pointer-events:none}.auth-page:after{content:"";position:absolute;bottom:-70px;left:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(217,97,74,.14),transparent 68%);pointer-events:none}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-size:12px;color:var(--ink-2);font-weight:600;padding:9px 8px;border-bottom:1px solid var(--line-strong);letter-spacing:.03em;white-space:nowrap}.table td{padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:middle}.table tbody tr{transition:background var(--dur-2) var(--ease-out)}.table tbody tr:hover{background:var(--brand-softer)}.table-scroll{overflow-x:auto;border-radius:10px}.stat-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:22px}.stat-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 14px;text-align:center;box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.stat-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--grad-brand);opacity:.45;transition:opacity var(--dur-2) var(--ease-out)}.stat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2)}.stat-card:hover:before{opacity:1}.stat-card b{display:block;font-size:24px;font-family:var(--font);color:var(--brand);background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.stat-card span{font-size:12px;color:var(--ink-2)}.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:18px;scrollbar-width:none}.tabs::-webkit-scrollbar{height:0}.tabs button{position:relative;border:none;background:none;padding:11px 15px;font:inherit;cursor:pointer;color:var(--ink-2);white-space:nowrap;border-bottom:2px solid transparent;transition:color var(--dur-2) var(--ease-out)}.tabs button:hover{color:var(--brand-2)}.tabs button.active{color:var(--brand);font-weight:600;border-bottom-color:var(--brand)}.tabs button.active:after{content:"";position:absolute;left:12%;right:12%;bottom:-2px;height:2px;background:var(--grad-brand);border-radius:2px;animation:rise-in .3s var(--ease-out)}.pager{display:flex;gap:8px;justify-content:center;margin:26px 0;flex-wrap:wrap}.pager button{min-width:40px}.pager .cur{background:var(--grad-brand);color:#fff;border-color:transparent;box-shadow:0 4px 12px -4px #17665f8c}.pager .cur:hover{color:#fff}.empty{text-align:center;color:var(--ink-2);padding:56px 16px;font-family:var(--font);font-size:15px}.empty:before{content:"📖";display:block;font-size:30px;margin-bottom:10px;opacity:.55;animation:float-y 5s var(--ease-in-out) infinite}.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,#efeade 25%,#f7f3e9,#efeade 75%);border-radius:8px}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);animation:shimmer 1.4s infinite}.sk-card{display:flex;gap:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.sk-cover{width:76px;height:102px;border-radius:9px;flex-shrink:0}.sk-lines{flex:1;display:flex;flex-direction:column;gap:10px;padding-top:4px}.sk-line{height:12px;border-radius:6px}.sk-line.w40{width:40%}.sk-line.w70{width:70%}.sk-line.w90{width:90%}.author-head{display:flex;gap:18px;align-items:center;margin-bottom:22px}.avatar{width:68px;height:68px;border-radius:50%;object-fit:cover;background:var(--grad-brand-soft);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--brand);font-family:var(--font);box-shadow:inset 0 0 0 2px #ffffffe6,0 4px 14px -6px #17665f80}.author-card{transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}.author-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:#2c8a804d;text-decoration:none}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:14px}.filter-bar input:not([type=checkbox]),.filter-bar select{padding:7px 11px;font-size:14px}.filter-bar input:not([type=checkbox]){min-width:180px}.filter-bar input[type=checkbox]{padding:0;min-width:0}.report-item{margin-bottom:12px}.report-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.report-head b{font-family:var(--font)}.notify-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 10px 4px 6px;border-radius:999px;background:var(--brand-softer);border:1px solid rgba(44,138,128,.14);transition:background var(--dur-2) var(--ease-out)}.notify-toggle:hover{background:var(--brand-soft)}.timeline{list-style:none;margin:0;padding:0;font-size:14px;position:relative}.timeline li{padding:10px 0 10px 16px;border-top:1px dashed var(--line);color:var(--ink-2);position:relative}.timeline li:first-child{border-top:none}.timeline li:before{content:"";position:absolute;left:0;top:17px;width:7px;height:7px;border-radius:50%;background:var(--brand-4);box-shadow:0 0 0 3px #57b3a629}.timeline li:first-child:before{background:var(--brand-2)}.modal-mask{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:18px;background:#24231f6b;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.modal-card{width:100%;max-width:480px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;box-shadow:0 30px 70px -22px #1728268c;position:relative;overflow:hidden}.modal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-brand)}.modal-title{margin:0 0 8px;font-size:18px;font-family:var(--font)}.modal-hint{margin:0 0 14px;font-size:13px;color:var(--ink-2);line-height:1.7}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.modal-card textarea,.modal-card input{width:100%}.toast-host{position:fixed;right:18px;bottom:22px;z-index:300;display:flex;flex-direction:column;gap:10px;align-items:flex-end;pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:9px;max-width:min(360px,80vw);padding:11px 16px;border-radius:12px;background:#1e1d1af0;color:#f4f1ea;font-size:14px;line-height:1.5;box-shadow:0 14px 34px -14px #0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-left:3px solid var(--brand-3)}.toast.ok{border-left-color:#4a9e66}.toast.err{border-left-color:var(--seal-2)}.toast.warn{border-left-color:var(--gold-2)}.scroll-progress{position:fixed;top:0;left:0;height:3px;z-index:100;background:var(--grad-brand);background-size:200% 100%;border-radius:0 3px 3px 0;transition:width .1s linear;animation:progress-glow 2.6s var(--ease-in-out) infinite;pointer-events:none}.to-top{position:fixed;right:18px;bottom:78px;z-index:90;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-strong);background:#fffdf9f0;color:var(--brand);font-size:17px;cursor:pointer;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform var(--dur-2) var(--ease-spring),box-shadow var(--dur-2) var(--ease-out),opacity var(--dur-2) var(--ease-out)}.to-top:hover{transform:translateY(-3px) scale(1.06);box-shadow:var(--shadow-3)}.to-top-enter-active,.to-top-leave-active{transition:opacity .24s var(--ease-out),transform .24s var(--ease-out)}.to-top-enter-from,.to-top-leave-to{opacity:0;transform:translateY(12px) scale(.9)}@media(max-width:639px){.nav-inner{flex-wrap:wrap;row-gap:7px;padding:9px 14px}.nav-logo{font-size:18px}.nav-actions{margin-left:auto}.nav-links{order:3;flex:1 0 100%;padding-bottom:2px}.nav-search input{width:104px}.nav-search input:focus{width:150px}.app-main{padding:14px 14px 48px}.hero{padding:0}.hero-banner{border-radius:var(--radius)}.hero-tagline{margin-top:15px;font-size:14.5px;line-height:1.85}.boards{gap:6px;margin:15px 0 8px}.board{padding:8px 5px;border-radius:10px}.board .icon{width:24px;height:24px;font-size:13px;border-radius:8px}.board b{font-size:11.5px;margin:5px 0 2px}.board span{font-size:9.5px;line-height:1.45}.cat-marquee{gap:7px;margin-bottom:18px}.cat-track .cat-chip{font-size:11.5px;padding:4px 10px}.hb-c2,.hb-c4,.hb-c6,.hb-water{display:none}.hb-petals .hb-petal:nth-child(n+4){display:none}.hb-motes .hb-mote:nth-child(n+5){display:none}.cover-art:not(.cover-art-img) .cover-art-poster{animation:none}.hero-stage{animation-name:hero-breathe-strong;animation-duration:15s}.hb-cloud{animation-name:hb-drift-wide}.hb-c1{--dur: 22s}.hb-c3{--dur: 26s}.hb-c5{--dur: 30s}.hb-sheen{opacity:.42;animation-duration:7.5s}.hb-orbit-a{animation-duration:24s}.hb-orbit-b{animation-duration:38s}.hb-sphere{animation-duration:18s}.hb-ring-a{animation-duration:14s}.hb-ring-b{animation-duration:11s}.hb-ring-c{animation-duration:9s}}@media(min-width:640px){.work-grid{grid-template-columns:1fr 1fr}.stat-cards{grid-template-columns:repeat(4,1fr)}}@media(min-width:900px){.work-grid{grid-template-columns:repeat(3,1fr)}.app-main{padding:26px 16px 64px}.nav-search input{width:150px}}@media(prefers-reduced-motion:reduce){.cat-row{overflow-x:auto}.cat-track{animation:none!important}}html,body{max-width:100%;overflow-x:hidden}@media(hover:none){.work-card:hover,.btn:hover,.stat-card:hover{transform:none}.tiltable{--tilt-lift: 0px}.work-card{transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out)}.work-card:active{transform:scale(.982)}}@media(hover:hover)and (pointer:fine){.work-card .cover-art{animation:none}.work-card:hover .cover-art{transform:scale(1.05) rotate(-1.2deg);box-shadow:0 8px 20px -6px #17665f80}}:root{--dur-1: .16s;--dur-2: .28s;--dur-3: .55s;--dur-4: 1.2s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--ease-back: cubic-bezier(.22, 1.2, .36, 1);--loop-slow: 18s;--loop-mid: 9s}@keyframes rise-in{0%{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drop-in{0%{opacity:0;transform:translate3d(0,-12px,0) scale(.98)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.88)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes aurora-drift-a{0%,to{transform:translateZ(0) scale(1)}33%{transform:translate3d(6%,-5%,0) scale(1.12)}66%{transform:translate3d(-4%,4%,0) scale(.95)}}@keyframes aurora-drift-b{0%,to{transform:translateZ(0) scale(1.05)}40%{transform:translate3d(-7%,5%,0) scale(.92)}70%{transform:translate3d(5%,6%,0) scale(1.15)}}@keyframes aurora-drift-c{0%,to{transform:translateZ(0) scale(1)}50%{transform:translate3d(8%,6%,0) scale(1.18)}}@keyframes float-y{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes sheen-sweep{0%{transform:translate(-140%) skew(-18deg)}to{transform:translate(240%) skew(-18deg)}}@keyframes gradient-pan{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes heart-pop{0%{transform:scale(1)}35%{transform:scale(1.25)}60%{transform:scale(.94)}to{transform:scale(1)}}@keyframes ring-out{0%{opacity:.55;transform:scale(.7)}to{opacity:0;transform:scale(1.8)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:none}}@keyframes progress-glow{0%,to{box-shadow:0 0 #2c8a8000}50%{box-shadow:0 0 10px 1px #2c8a8080}}@keyframes pulse-soft{0%,to{box-shadow:0 0 #bf3b2b80}70%{box-shadow:0 0 0 6px #bf3b2b00}}@keyframes ink-ripple{0%{opacity:0;transform:scale(.4)}40%{opacity:.5}to{opacity:0;transform:scale(2.2)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes cover-sheen{0%{transform:translate(-130%) rotate(8deg)}to{transform:translate(240%) rotate(8deg)}}@keyframes seal-spin{to{transform:rotate(360deg)}}@keyframes ink-bloom{0%{opacity:.5;transform:scale(.18)}to{opacity:0;transform:scale(2.4)}}@keyframes bar-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes underline-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes count-tick{0%{transform:translateY(4px);opacity:.35}to{transform:none;opacity:1}}@keyframes drift-x{0%,to{transform:translate(0)}50%{transform:translate(10px)}}@keyframes glow-breathe{0%,to{box-shadow:0 0 #2c8a8000}50%{box-shadow:0 0 20px 2px #2c8a8038}}@keyframes hue-drift{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(14deg)}}@keyframes bob-y{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(2deg)}}@keyframes seal-float{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(-1.5deg) translateY(-6px)}}.js-anim .reveal{opacity:0;transform:translate3d(0,22px,0);transition:opacity var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out),filter var(--dur-3) var(--ease-out);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.js-anim .reveal.reveal-in{opacity:1;transform:none}.js-anim .reveal.from-left{transform:translate3d(-24px,0,0)}.js-anim .reveal.from-right{transform:translate3d(26px,0,0)}.js-anim .reveal.zoom{transform:scale(.94)}.js-anim .reveal.zoom.reveal-in{transform:none}.js-anim .reveal.blur{transform:translate3d(0,14px,0);filter:blur(7px)}.js-anim .reveal.blur.reveal-in{filter:blur(0)}.tiltable{--tilt-x: 0deg;--tilt-y: 0deg;--tilt-lift: 0px;transform:perspective(920px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(var(--tilt-lift));transform-style:preserve-3d}@media(hover:hover)and (pointer:fine){.tiltable{will-change:transform;transition:transform .2s var(--ease-out),box-shadow var(--dur-2) var(--ease-out),border-color var(--dur-2) var(--ease-out)}}.js-anim .stagger>*{animation:rise-in var(--dur-3) var(--ease-out) both}.js-anim .reveal.stagger{opacity:1;transform:none;transition:none}.js-anim .reveal.stagger>*{opacity:0;animation:none}.js-anim .reveal.stagger.reveal-in>*{animation:rise-in var(--dur-3) var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.06s}.stagger>*:nth-child(3){animation-delay:.1s}.stagger>*:nth-child(4){animation-delay:.14s}.stagger>*:nth-child(5){animation-delay:.18s}.stagger>*:nth-child(6){animation-delay:.22s}.stagger>*:nth-child(7){animation-delay:.26s}.stagger>*:nth-child(8){animation-delay:.3s}.stagger>*:nth-child(9){animation-delay:.34s}.stagger>*:nth-child(10){animation-delay:.38s}.stagger>*:nth-child(11){animation-delay:.42s}.stagger>*:nth-child(12){animation-delay:.46s}.stagger>*:nth-child(n+13){animation-delay:.5s}.page-enter-active{transition:opacity .34s var(--ease-out),transform .34s var(--ease-out)}.page-leave-active{transition:opacity .16s ease-in,transform .16s ease-in}.page-enter-from{opacity:0;transform:translate3d(0,14px,0)}.page-leave-to{opacity:0;transform:translate3d(0,-6px,0)}.modal-enter-active .modal-card{animation:pop-in .32s var(--ease-back) both}.modal-enter-active .modal-mask{animation:fade-in .22s ease-out both}.modal-leave-active .modal-card{animation:pop-in .2s ease-in reverse both}.modal-leave-active .modal-mask{animation:fade-in .2s ease-in reverse both}.toast-enter-active{animation:drop-in .3s var(--ease-back) both}.toast-leave-active{transition:opacity .22s ease-in,transform .22s ease-in}.toast-leave-to{opacity:0;transform:translate(18px)}.toast-move{transition:transform .28s var(--ease-out)}.collapse-enter-active,.collapse-leave-active{transition:opacity .24s var(--ease-out),max-height .32s var(--ease-out),transform .24s var(--ease-out);overflow:hidden}.collapse-enter-from,.collapse-leave-to{opacity:0;max-height:0;transform:translateY(-6px)}.collapse-enter-to,.collapse-leave-from{opacity:1;max-height:480px}.app-main{animation:fade-in .3s var(--ease-out)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.js-anim .reveal{opacity:1!important;transform:none!important}}@keyframes hb-calm{0%{opacity:.3}to{opacity:1}}@keyframes hb-calm-soft{0%{opacity:.1}to{opacity:.78}}@media(prefers-reduced-motion:reduce){.hero-banner .hb-orbit,.hero-banner .hb-sphere,.hero-banner .hb-ring,.hero-banner .hb-book,.hero-banner .hb-eye,.hero-banner .hb-core{animation-name:hb-calm!important;animation-duration:5.5s!important;animation-delay:0s!important;animation-iteration-count:infinite!important;animation-direction:alternate!important;animation-timing-function:var(--ease-in-out)!important;transform:none!important}.hero-banner .hb-cloud{animation-name:hb-calm-soft!important;animation-duration:6.5s!important;animation-delay:0s!important;animation-iteration-count:infinite!important;animation-direction:alternate!important;animation-timing-function:var(--ease-in-out)!important;transform:none!important;display:block!important}.hero-banner .hb-c2{animation-delay:-3.2s!important}.hero-banner .hb-c3{animation-delay:-5.4s!important}.hero-banner .hb-c4{animation-delay:-1.6s!important}.hero-banner .hb-c5{animation-delay:-4.3s!important}.hero-banner .hb-c6{animation-delay:-2.4s!important}.hero-banner .hb-orbit-b{animation-delay:-2.6s!important}.hero-banner .hb-ring-b{animation-delay:-1.8s!important}.hero-banner .hb-ring-c{animation-delay:-3.5s!important}.hero-banner .hb-eye-r{animation-delay:-.6s!important}.hero-banner .hb-book{animation-delay:-2.1s!important}.hero-banner .hb-sheen,.hero-banner .hb-water,.hero-banner .hb-link,.hero-banner .hb-petal,.hero-banner .hb-mote{display:none!important}.cover-art{animation:none!important}.cover-art:after{background:radial-gradient(ellipse at 50% 38%,#fffffff2,#fff0 72%)!important;transform:none!important;will-change:auto!important;animation:cover-breathe 6s var(--ease-in-out) infinite alternate!important}}@keyframes cover-breathe{0%{opacity:.06}to{opacity:.4}}
