.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--font-display:"JetBrains Mono", ui-monospace, monospace;--font-body:"JetBrains Mono", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-serif:"JetBrains Mono", ui-monospace, monospace;--font-mono:"JetBrains Mono", ui-monospace, monospace;--bg:#e9f3f7;--bg-panel:#fff;--bg-raised:#f2f9fb;--text:#16303c;--text-dim:#4d6673;--text-faint:#8aa3ae;--accent:#3f9bc2;--accent-soft:#7ec8e3;--accent-deep:#1f7397;--accent-glow:color-mix(in srgb, var(--accent) 40%, transparent);--line:#16303c1f;--line-strong:#16303c52;--selection-bg:#7ec8e3;--selection-fg:#10262f;--cat-tech:#2e86ab;--cat-philosophy:#7a63b8;--cat-thoughts:#c26aa5;--cat-design:#a855f7;--cat-project:#d6433b;--radius:6px;--dur-1:.3s;--dur-2:.6s;--dur-3:1s;--ease:ease;--shadow-1:inset 0 1px 0 #ffffffe6, 0 1px 2px #10262f0f, 0 4px 12px -2px #10262f14, 0 12px 28px -8px #10262f1f;--shadow-2:inset 0 1px 0 #fffffff2, 0 2px 4px #10262f14, 0 8px 20px -4px #10262f1f, 0 24px 48px -12px #10262f33;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:3rem;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--sp-10:128px}[data-skin=ark]{--bg:#121212;--bg-panel:#1d1f20;--bg-raised:#242424;--text:#d2d2d2;--text-dim:#ababab;--text-faint:#585858;--accent:#18d1ff;--accent-soft:#7ee5ff;--accent-deep:#0e93c0;--line:#ffffff1f;--line-strong:#ffffff80;--selection-bg:#18d1ff;--selection-fg:#0f172a;--shadow-1:inset 0 1px 0 #ffffff12, 0 1px 2px #0000004d, 0 4px 12px -2px #00000059, 0 12px 28px -8px #00000073;--shadow-2:inset 0 1px 0 #ffffff17, 0 2px 4px #00000059, 0 8px 20px -4px #0006, 0 24px 48px -12px #0000008c}[data-skin=hg]{--bg:#282828;--bg-panel:#2e2e2e;--bg-raised:#313131;--text:#e8e6e3;--text-dim:#b9b6b1;--text-faint:#7a7875;--accent:#f3ff00;--accent-soft:#f6ff7e;--accent-deep:#b3b800;--line:#ffffff1f;--line-strong:#ffffff80;--selection-bg:#f3ff00;--selection-fg:#000;--shadow-1:inset 0 1px 0 #ffffff12, 0 1px 2px #0000004d, 0 4px 12px -2px #00000059, 0 12px 28px -8px #00000073;--shadow-2:inset 0 1px 0 #ffffff17, 0 2px 4px #00000059, 0 8px 20px -4px #0006, 0 24px 48px -12px #0000008c}[data-skin=cc]{--bg:#15171a;--bg-panel:#1e2226;--bg-raised:#262b30;--text:#e8eaed;--text-dim:#9aa0a6;--text-faint:#5c6268;--accent:#f59a1f;--accent-soft:#ffb45e;--accent-deep:#c87c16;--line:#ffffff1f;--line-strong:#ffffff80;--selection-bg:#f59a1f;--selection-fg:#0f172a;--shadow-1:inset 0 1px 0 #ffffff12, 0 1px 2px #0000004d, 0 4px 12px -2px #00000059, 0 12px 28px -8px #00000073;--shadow-2:inset 0 1px 0 #ffffff17, 0 2px 4px #00000059, 0 8px 20px -4px #0006, 0 24px 48px -12px #0000008c}[data-category=tech]{--accent:var(--cat-tech)}[data-category=philosophy]{--accent:var(--cat-philosophy)}[data-category=thoughts]{--accent:var(--cat-thoughts)}[data-category=design]{--accent:var(--cat-design)}[data-category=project]{--accent:var(--cat-project)}*{box-sizing:border-box}html{scroll-behavior:smooth}[id]{scroll-margin-top:80px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.7}::selection{background:var(--selection-bg);color:var(--selection-fg)}a{color:inherit;transition:color var(--dur-1) var(--ease);text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.15}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-faint) 45%, var(--bg));border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}.container{max-width:1280px;padding-inline:var(--sp-5);margin-inline:auto}.container-narrow{max-width:760px;padding-inline:var(--sp-5);margin-inline:auto}.display-title{letter-spacing:-.05em;text-transform:uppercase}.micro-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin:0;font-weight:600}.card{background:var(--bg-panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);transition:transform var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease)}.card:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2);transform:translateY(-6px)}.watermark{font-family:var(--font-display);letter-spacing:-.05em;color:var(--text);opacity:.06;pointer-events:none;user-select:none;font-size:clamp(80px,12vw,160px);font-weight:700;line-height:1;position:absolute}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.reveal{transition:opacity .6s cubic-bezier(.16,1,.3,1),translate .6s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s)}.js .reveal{opacity:0;translate:0 16px}.js .reveal.is-in{opacity:1;translate:0}.reveal-x{transition:opacity .7s cubic-bezier(.16,1,.3,1),translate .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s)}.js .reveal-x{opacity:0;translate:72px}.js .reveal-x.is-in{opacity:1;translate:0}.hero .title .ch{opacity:0;animation:.55s cubic-bezier(.16,1,.3,1) forwards hero-ch-in;animation-delay:calc(var(--ch-base,.1s) + var(--ch-i,0) * 55ms);display:inline-block;transform:translateY(.6em)rotate(3deg)}@keyframes hero-ch-in{to{opacity:1;transform:none}}.hero .micro-label,.hero .slogan{opacity:0;animation:.7s cubic-bezier(.16,1,.3,1) forwards rise}.hero .micro-label{animation-delay:50ms}.hero .slogan{animation-delay:.45s}.hero .waves{pointer-events:none;height:120px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.hero .waves svg{width:200%;height:100%;animation:wave-drift var(--wave-dur,24s) linear infinite;animation-delay:var(--wave-delay,0s);position:absolute;bottom:-2px}@keyframes wave-drift{0%{transform:translate(0)}to{transform:translate(-50%)}}.top-glow{pointer-events:none;z-index:10;background:linear-gradient(#ffffffa6,#ffffff4d 40%,#ffffff14 70%,#0000);height:150px;position:fixed;top:0;left:0;right:0}[data-theme=dark] .top-glow{background:linear-gradient(#5eb6d81a,#5eb6d80d 40%,#5eb6d805 70%,#0000)}.article-card .title{transition:color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease)}.article-card:hover .title{color:var(--accent-deep);transform:translate(4px)}.article-card{transition:transform var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), border-left-width var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease)}.article-card:hover{border-left-width:6px}.cat-block .cat-num{transition:transform var(--dur-2) var(--ease), opacity var(--dur-2) var(--ease)}.cat-block:hover .cat-num{opacity:.16;transform:translateY(-8px)rotate(-4deg)}.cat-block .cat-name{transition:transform var(--dur-1) var(--ease)}.cat-block:hover .cat-name{transform:translate(4px)}.tag{transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease)}.tag:hover{transform:translateY(-2px)}.nav-item{transition:color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), transform .1s var(--ease)}.nav-item:active,.icon-btn:active,.tag:active{transform:scale(.94)}.nav-item svg{transition:transform var(--dur-1) var(--ease)}.nav-item:hover svg{transform:translateY(-1px)}.dropdown-item{transition:background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease)}.dropdown-item:hover{transform:translate(3px)}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}::view-transition-old(root){animation:.25s both vt-fade-out}::view-transition-new(root){animation:.4s cubic-bezier(.16,1,.3,1) both vt-fade-in-up}@keyframes vt-fade-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-fade-in-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.site-nav{z-index:100;transition:background-color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease);position:fixed;inset:0 0 auto}.site-nav.is-scrolled{-webkit-backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--line);background:#ffffff29;box-shadow:0 8px 32px -20px #10262f40}[data-theme=dark] .site-nav.is-scrolled{background:#0d10173d}[data-skin=ark] .site-nav.is-scrolled,[data-skin=hg] .site-nav.is-scrolled,[data-skin=cc] .site-nav.is-scrolled{background:#0000004d}.nav-inner{max-width:1280px;padding:8px var(--sp-5);justify-content:space-between;align-items:center;gap:var(--sp-4);height:60px;margin-inline:auto;display:flex}.nav-brand{align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:.06em;white-space:nowrap;display:flex}.nav-logo{border:2px solid var(--accent);background:var(--accent);width:28px;height:28px;transition:transform .3s var(--ease), box-shadow .3s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid;overflow:hidden}.nav-brand:hover .nav-logo{box-shadow:0 0 14px var(--accent-glow);transform:scale(1.08)}.nav-logo img{object-fit:cover;width:100%;height:100%}.nav-center{align-items:center;gap:4px;display:flex}.nav-item{z-index:0;height:40px;font-family:var(--font-body);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:7px;padding:0 14px;font-size:.92rem;font-weight:700;transition:color .15s;display:inline-flex;position:relative}.nav-item:before{content:"";border-radius:inherit;background:color-mix(in srgb, var(--accent-soft) 16%, transparent);opacity:0;z-index:-1;transition:transform .15s ease-out,opacity .15s ease-out;position:absolute;inset:0;transform:scale(.85)}.nav-item:hover:before,.nav-item[aria-current=page]:before,.nav-item.is-spy-active:before,.dropdown.open>.nav-item:before{opacity:1;transform:scale(1)}.nav-item:hover,.nav-item[aria-current=page],.nav-item.is-spy-active,.dropdown.open>.nav-item{color:var(--accent-deep)}.nav-icon{width:18px;height:18px;transition:transform .4s cubic-bezier(.34, 1.56, .64, 1), color .25s var(--ease);flex-shrink:0}.nav-item:hover .nav-icon{color:var(--accent-deep);transform:translateY(-3px)scale(1.22)}.nav-item:active .nav-icon{transform:translateY(0)scale(.9)}.theme-toggle svg{flex-shrink:0;width:18px;height:18px}.dropdown{position:relative}.dropdown-arrow{width:14px;height:14px;transition:transform .2s var(--ease)}.dropdown.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-menu{-webkit-backdrop-filter:blur(16px)saturate(1.5);min-width:240px;box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff8c;opacity:0;visibility:hidden;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;z-index:130;background:#ffffff4d;border:1px solid #ffffff59;border-radius:14px;padding:6px;position:absolute;top:calc(100% + 10px);left:0;transform:translateY(-8px)}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:none}[data-theme=dark] .dropdown-menu{-webkit-backdrop-filter:blur(16px)saturate(1.5);box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff12;background:#0d101766;border-color:#ffffff24}.dropdown-item{color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:.92rem;display:flex}.dropdown-item:hover{background:color-mix(in srgb, var(--accent-soft) 20%, transparent);color:var(--accent-deep)}.dropdown-item svg{width:16px;height:16px;color:var(--text-faint)}.dropdown-item .ext-icon{width:12px;height:12px;color:color-mix(in srgb, var(--text-faint) 75%, transparent);flex-shrink:0;margin-left:auto}.dropdown-item:hover .ext-icon{color:var(--accent-deep)}.cat-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.pill-count{background:color-mix(in srgb, var(--accent-soft) 22%, transparent);color:var(--accent-deep);font-family:var(--font-mono);border-radius:99px;margin-left:auto;padding:0 7px;font-size:.72rem}.nav-tools{align-items:center;gap:6px;display:flex}.icon-btn{width:38px;height:38px;color:var(--text-dim);cursor:pointer;transition:color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), transform .1s var(--ease);background:0 0;border:none;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 16%, transparent)}.icon-btn:active{transform:scale(.92)}.icon-btn svg{width:19px;height:19px;transition:transform .35s cubic-bezier(.34, 1.56, .64, 1), color .25s var(--ease)}.icon-btn:hover svg{color:var(--accent-deep);transform:translateY(-2px)scale(1.12)}.icon-btn:active svg{transform:scale(.9)}.hamburger{display:none}.search-panel{top:calc(100% + 10px);right:var(--sp-5);-webkit-backdrop-filter:blur(18px)saturate(1.5);border:1px solid var(--line);width:min(380px,100vw - 32px);box-shadow:var(--shadow-2);opacity:0;visibility:hidden;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;z-index:140;background:#ffffffd9;border-radius:16px;padding:10px;position:absolute;transform:translateY(-8px)}.search-panel.open{opacity:1;visibility:visible;transform:none}[data-theme=dark] .search-panel{background:#0d1017e0}.search-panel .search-input{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-panel) 85%, transparent);width:100%;color:var(--text);font-family:var(--font-body);transition:border-color .3s var(--ease), box-shadow .3s var(--ease);border-radius:10px;outline:none;padding:9px 14px;font-size:.95rem}.search-panel .search-input::placeholder{color:var(--text-faint)}.search-panel .search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-results{flex-direction:column;gap:2px;max-height:320px;margin-top:6px;display:flex;overflow-y:auto}.search-result{color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:9px 10px;display:flex}.search-result:hover{background:color-mix(in srgb, var(--accent-soft) 18%, transparent);color:var(--accent-deep)}.search-result .search-title{font-size:.92rem;font-weight:600}.search-result .search-meta{font-family:var(--font-display);letter-spacing:.1em;color:var(--text-faint);font-size:.7rem}.search-empty{color:var(--text-faint);margin:8px 4px 4px;font-size:.85rem}@media (width<=1100px){.nav-center{gap:2px}.nav-item{padding:0 10px;font-size:.88rem}}@media (width<=900px){.nav-center{display:none}.hamburger{display:grid}.nav-inner{height:56px;padding:8px var(--sp-4)}.nav-brand{font-size:var(--text-base)}.nav-logo{width:24px;height:24px}}.mobile-menu{z-index:110;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px)saturate(1.5);box-shadow:var(--shadow-1);padding:var(--sp-2) var(--sp-3) var(--sp-3);background:#ffffffd1;border-radius:16px;max-height:calc(100vh - 80px);display:none;position:fixed;top:58px;left:12px;right:12px;overflow-y:auto}[data-theme=dark] .mobile-menu{background:#0d1017d9}.mobile-menu a{background-image:linear-gradient(90deg, var(--accent), var(--accent));color:var(--text);transition:color .25s var(--ease), background-size .35s cubic-bezier(.16, 1, .3, 1);background-position:50%;background-repeat:no-repeat;background-size:0% 100%;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:.95rem;display:flex}.mobile-menu a:hover{color:#0d1b22;background-size:100% 100%}#progress-bar{background:linear-gradient(90deg, var(--accent-soft), var(--accent));z-index:200;pointer-events:none;width:0;height:2px;position:fixed;top:0;left:0}.hero{text-align:center;background:linear-gradient(180deg, #ffffff6b, #e9f3f7ad 55%, var(--bg) 100%), url(/wallpapers/asuka-line.jpg) center / cover no-repeat;place-content:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.hero .watermark{top:16%;right:6%}.hero .title{font-family:var(--font-display);letter-spacing:-.05em;text-transform:uppercase;margin-top:var(--sp-3);font-size:clamp(2.5rem,8vw,5rem);font-weight:700}.hero .slogan{margin-top:var(--sp-4);color:var(--text-dim)}.scroll-hint{bottom:var(--sp-6);justify-items:center;gap:var(--sp-2);display:grid;position:absolute;left:50%;transform:translate(-50%)}.scroll-line{background:var(--line-strong);width:1px;height:40px;animation:scroll-pulse 2.4s var(--ease) infinite}@keyframes scroll-pulse{0%,to{transform-origin:top;opacity:.4;transform:scaleY(.4)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}}.section{padding-block:var(--sp-9);position:relative}.section:before{content:"";background:linear-gradient(90deg,#0000,#ffffffe6 30% 70%,#0000);height:1px;position:absolute;top:0;left:0;right:0}[data-theme=dark] .section:before{background:linear-gradient(90deg,#0000,#7ec8e338 30% 70%,#0000)}.home-latest{gap:var(--sp-5);grid-template-columns:280px 1fr auto;align-items:stretch;display:grid}.home-profile{justify-content:center;align-items:center;gap:var(--sp-2);text-align:center;padding:var(--sp-7) var(--sp-5);flex-direction:column;display:flex}.home-avatar{border:3px solid var(--accent);width:96px;height:96px;box-shadow:var(--shadow-1);transition:transform .3s var(--ease), box-shadow .3s var(--ease);border-radius:50%;overflow:hidden}.home-avatar:hover{box-shadow:var(--shadow-2), 0 0 28px var(--accent-glow);transform:scale(1.05)}.home-avatar img{object-fit:cover;width:100%;height:100%}.home-name{margin:var(--sp-3) 0 0;font-size:1.15rem;font-weight:700}.home-sub{font-family:var(--font-display);letter-spacing:.1em;color:var(--text-faint);margin:0;font-size:.8rem}.home-tagline{margin:var(--sp-2) 0 0;color:var(--text-dim);font-size:.85rem}.home-links{margin-top:var(--sp-3);flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.home-posts{padding:var(--sp-6)}.home-notice{padding:var(--sp-5) var(--sp-6);will-change:width, transform, opacity;width:280px;min-width:0;max-height:900px;transition:width .55s cubic-bezier(.16, 1, .3, 1), max-height .55s cubic-bezier(.16, 1, .3, 1), opacity .25s var(--ease), transform .55s cubic-bezier(.16, 1, .3, 1), padding .55s cubic-bezier(.16, 1, .3, 1), margin .55s cubic-bezier(.16, 1, .3, 1), border-width .3s var(--ease), box-shadow .3s var(--ease);flex-direction:column;display:flex;overflow:hidden}.home-notice.is-closed{opacity:0;width:0;height:0;box-shadow:none;pointer-events:none;border-width:0;margin:0;padding:0;transform:translate(32px)}.home-posts.push-anim{will-change:transform;-webkit-backdrop-filter:none;animation:.8s cubic-bezier(.22,1,.36,1) both home-push-right}@keyframes home-push-right{0%{opacity:.92;transform:translate(-56px)}62%{opacity:1;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.widget-title{margin-bottom:var(--sp-3);align-items:center;gap:8px;display:flex}.widget-bar{background:var(--accent);border-radius:2px;flex-shrink:0;width:4px;height:16px}.notice-body{gap:var(--sp-4);flex-direction:column;flex:1;display:flex}.notice-text{color:var(--text-dim);margin:0;font-size:.88rem;line-height:1.8}.notice-text a{color:var(--accent-deep);transition:color var(--dur-1) var(--ease), background-size .3s cubic-bezier(.16, 1, .3, 1);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.notice-text a:hover{color:var(--accent);background-size:100% 1px}.notice-actions{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.home-notice-close{border:1px solid var(--line);width:30px;height:30px;color:var(--text-faint);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease), background-color .2s var(--ease);background:0 0;border-radius:8px;place-items:center;display:grid}.home-notice-close:hover{color:var(--accent-deep);border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 14%, transparent)}.home-posts-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.home-post-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.home-post-item{border-left:3px solid var(--accent);transition:border-color .3s var(--ease), background-color .3s var(--ease);border-radius:0 8px 8px 0;padding:4px 0 4px 14px}.home-post-item+.home-post-item{margin-top:8px}.home-post-item:hover{background:color-mix(in srgb, var(--accent-soft) 12%, transparent)}.home-post-link{flex-direction:column;gap:2px;display:flex}.home-post-title{transition:color .2s var(--ease);font-size:.95rem;font-weight:600}.home-post-item:hover .home-post-title{color:var(--accent-deep)}.home-post-meta{color:var(--text-faint);font-size:.75rem}.home-dash{gap:var(--sp-5);grid-template-columns:1fr 1fr 1fr;align-items:stretch;display:grid}.dash-card{padding:var(--sp-5) var(--sp-6);flex-direction:column;display:flex}.dash-card .stat-list{flex:1;justify-content:space-between}.stat-list{margin:var(--sp-4) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.stat-list li{align-items:center;gap:10px;padding:7px 4px;font-size:.88rem;display:flex}.stat-icon{text-align:center;width:24px;color:var(--accent);flex-shrink:0}.stat-icon svg{width:20px;height:20px}.stat-icon img{border-radius:4px;width:20px;height:20px}.stat-name{color:var(--text-dim);flex-shrink:0;width:72px}.stat-val{color:var(--text);font-weight:600;font-family:var(--font-mono);text-align:right;white-space:nowrap;text-overflow:ellipsis;margin-left:auto;font-size:.82rem;overflow:hidden}.stat-link{color:var(--accent-deep)}.stat-link:hover{color:var(--accent)}.cal-week{margin-top:var(--sp-2);grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-cell{height:28px;color:var(--text-dim);border-radius:6px;place-items:center;font-size:.78rem;display:grid}.cal-head{color:var(--text-faint);font-size:.7rem}.cal-cell{position:relative}.cal-cell:not(.cal-head):hover{background:color-mix(in srgb, var(--accent-soft) 18%, transparent)}.cal-today{border:1.5px solid var(--accent);color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 22%, transparent);box-shadow:0 0 10px var(--accent-glow), 0 0 20px color-mix(in srgb, var(--accent-soft) 35%, transparent), inset 0 0 6px color-mix(in srgb, var(--accent-soft) 25%, transparent);font-weight:700}.cal-today:hover{background:color-mix(in srgb, var(--accent-soft) 28%, transparent)}.cal-haspost:after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.cal-legend{margin:var(--sp-3) 0 0;color:var(--text-faint);align-items:center;gap:6px;font-size:.75rem;display:flex}.cal-dot{background:var(--accent);border-radius:3px;width:10px;height:10px;margin-left:10px}.cal-frame-demo{border:2px solid var(--accent);border-radius:4px;width:12px;height:12px}.cal-updates{margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line);flex-direction:column;flex:1;display:flex}.cal-update-list{margin:var(--sp-2) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.cal-update-list a{transition:background-color .2s var(--ease);border-radius:6px;align-items:center;gap:8px;padding:4px;font-size:.82rem;display:flex}.cal-update-list a:hover{background:color-mix(in srgb, var(--accent-soft) 14%, transparent)}.update-dot{border-radius:2px;flex-shrink:0;width:8px;height:8px}.update-title{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.cal-update-list a:hover .update-title{color:var(--accent-deep)}.update-date{font-family:var(--font-mono);color:var(--text-faint);flex-shrink:0;font-size:.7rem}.heatmap{margin-top:var(--sp-4)}.heatmap-months{grid-template-columns:repeat(12,1fr);gap:2px;display:grid}.heatmap-months>span{text-align:center;color:var(--text-faint);white-space:nowrap;padding-bottom:3px;font-size:.62rem;overflow:hidden}.heatmap-col{flex-direction:column;gap:2px;display:flex}.heat-square{background:color-mix(in srgb, var(--accent-soft) 16%, transparent);cursor:default;width:100%;height:10px;transition:transform .15s var(--ease), background-color .15s var(--ease);border-radius:3px;display:block}.heat-square:hover{transform:scale(1.25)}.heat-square.heat-on{background:var(--accent)}.heat-square.heat-on:hover{background:var(--accent-deep)}.about-rich{max-width:860px}.about-rich p{margin:0 0 var(--sp-4);color:var(--text-dim);line-height:1.9}.about-rich p:last-child{margin-bottom:0}.about-rich strong{color:var(--text)}.about-rich a{color:var(--accent-deep);transition:color var(--dur-1) var(--ease), background-size .3s cubic-bezier(.16, 1, .3, 1);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.about-rich a:hover{color:var(--accent);background-size:100% 1px}@media (width<=1200px){.home-latest{grid-template-columns:240px 1fr 240px}}@media (width<=1024px){.home-dash{grid-template-columns:1fr 1fr}.home-latest{grid-template-columns:220px 1fr}.home-notice{grid-column:1/-1;width:auto}.home-notice.is-closed{width:auto;max-height:0}}@media (width<=768px){.home-latest,.home-dash{grid-template-columns:1fr}}.panel{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-1);transition:box-shadow .45s var(--ease), border-color .45s var(--ease), background-color .45s var(--ease);background:#ffffff80;border:1px solid #ffffff29;border-radius:24px;padding:clamp(24px,4vw,48px) clamp(20px,4vw,40px);position:relative}.panel:hover{box-shadow:0 0 0 1px #7ec8e338, 0 0 56px #7ec8e32e, var(--shadow-2);border-color:#7ec8e366}[data-theme=dark] .panel{background:#0d101799;border-color:#ffffff1f}[data-theme=dark] .panel:hover{box-shadow:0 0 0 1px #7ec8e333, 0 0 64px #7ec8e333, var(--shadow-2);border-color:#7ec8e359}.section-head{margin-bottom:var(--sp-6)}.section-head .title{font-size:var(--text-2xl);margin-top:var(--sp-2)}.section-head .rule{background:var(--line);height:1px;margin-top:var(--sp-4)}.page-head{padding-top:var(--sp-10);margin-bottom:var(--sp-7)}.page-head h1{margin-top:var(--sp-2)}.title-with-icon{align-items:center;gap:.3em;display:flex}.title-icon-box{background:var(--accent);color:#0d1b22;border-radius:.16em;flex-shrink:0;place-items:center;width:.82em;height:.82em;display:grid}.title-icon-box svg{width:.54em;height:.54em;color:inherit}.card-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.cat-grid{gap:var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.cat-block{padding:var(--sp-6);border-left:3px solid var(--accent);display:block;position:relative;overflow:hidden}.cat-block .cat-name{font-size:var(--text-xl);margin-top:var(--sp-3);font-weight:700}.cat-block .cat-num{right:var(--sp-3);font-family:var(--font-display);color:var(--text);opacity:.08;font-size:64px;font-weight:700;line-height:1;position:absolute;bottom:-12px}.article-card{padding:var(--sp-5);border-left:3px solid var(--accent);flex-direction:column;display:flex}.article-card .num{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:0;color:var(--text-faint)}.article-card .title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;margin-top:var(--sp-3);transition:color var(--dur-1) var(--ease);font-weight:700}.article-card:hover .title{color:var(--accent)}.article-card .desc{margin:var(--sp-3) 0 0;color:var(--text-dim);font-size:var(--text-sm)}.article-card .tags{gap:var(--sp-2);padding-top:var(--sp-4);flex-wrap:wrap;margin-top:auto;display:flex}.tag{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--accent-soft) 14%, var(--bg-panel));font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.08em;color:var(--text-dim);cursor:pointer;transition:border-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);padding:2px 10px;display:inline-block}.tag:hover,.filter-btn.is-active{border-color:var(--accent);color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 26%, var(--bg-panel))}.filter-bar{gap:var(--sp-3);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.empty-state{padding:var(--sp-7);text-align:center}.empty-state .empty-msg{font-size:var(--text-lg);margin:var(--sp-3) 0 0;font-weight:500}.empty-state .empty-hint{color:var(--text-faint);font-size:var(--text-sm);margin:var(--sp-2) 0 0}.empty-state code{background:var(--bg-raised);border-radius:var(--radius);padding:1px 6px}.post{padding-top:var(--sp-10);padding-bottom:var(--sp-10)}.post-head{margin-bottom:var(--sp-7)}.post-head h1{margin-top:var(--sp-3);letter-spacing:-.03em;font-size:clamp(1.75rem,4vw,2.5rem)}.post-head .post-meta{gap:var(--sp-3);margin-top:var(--sp-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint);letter-spacing:.04em;flex-wrap:wrap;display:flex}.prose{font-size:var(--text-base)}.prose h2{font-size:var(--text-xl);margin:var(--sp-7) 0 var(--sp-4);padding-left:var(--sp-3);border-left:.5rem solid var(--accent)}.prose h3{font-size:var(--text-lg);margin:var(--sp-6) 0 var(--sp-3)}.prose p{margin:var(--sp-4) 0}.prose ul,.prose ol{padding-left:var(--sp-5)}.prose li{margin:var(--sp-2) 0}.prose a{color:var(--accent-deep);transition:color var(--dur-1) var(--ease), background-size .3s cubic-bezier(.16, 1, .3, 1);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.prose a:hover{color:var(--accent);background-size:100% 1px}.prose strong{color:var(--text);font-weight:700}.prose hr{border:none;border-top:1px solid var(--line);margin:var(--sp-7) 0}.prose img{border:1px solid var(--line);border-radius:var(--radius)}.prose blockquote{margin:var(--sp-6) 0;padding:var(--sp-3) var(--sp-5);border-left:.5rem solid var(--accent);background:var(--bg-panel);color:var(--text-dim);box-shadow:var(--shadow-1)}.prose pre{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:var(--sp-4) var(--sp-5);box-shadow:var(--shadow-1);overflow-x:auto}.prose :not(pre)>code{font-family:var(--font-mono);background:var(--bg-raised);border-radius:var(--radius);padding:1px 6px;font-size:.9em}.prose table{border-collapse:collapse;width:100%;margin:var(--sp-5) 0}.prose th,.prose td{border:1px solid var(--line);padding:var(--sp-2) var(--sp-3);text-align:left}.prose th{background:var(--bg-panel)}.post-foot{gap:var(--sp-3);margin-top:var(--sp-8);padding-top:var(--sp-5);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.post-foot .back{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-size:var(--text-sm);color:var(--text-dim)}.post-foot .back:hover{color:var(--accent)}.about{padding-top:var(--sp-10);padding-bottom:var(--sp-10);position:relative}.about-head{align-items:center;gap:var(--sp-6);flex-wrap:wrap;display:flex}.about-avatar{border:3px solid var(--accent);width:110px;height:110px;box-shadow:var(--shadow-1);transition:transform .3s var(--ease), box-shadow .3s var(--ease);border-radius:50%;flex-shrink:0;display:block;overflow:hidden}.about-avatar:hover{box-shadow:var(--shadow-2), 0 0 32px var(--accent-glow);transform:scale(1.05)}.about-avatar img{object-fit:cover;width:100%;height:100%}.about-id{flex:1;min-width:260px}.about-id h1{margin-top:var(--sp-2);font-size:clamp(2rem,5vw,3rem)}.about-sub{margin:var(--sp-1) 0 0;font-family:var(--font-display);letter-spacing:.12em;color:var(--text-faint);font-size:.82rem}.about-tagline{margin:var(--sp-3) 0 0;color:var(--text-dim);font-size:.95rem}.about-links{margin-top:var(--sp-3);flex-wrap:wrap;gap:8px;display:flex}.about-motto{margin:var(--sp-7) 0 0;padding:var(--sp-5) var(--sp-6);border-left:.5rem solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 10%, var(--bg-panel));border-radius:0 10px 10px 0}.about-motto blockquote{color:var(--text);margin:0;font-size:1.15rem;font-weight:600;line-height:1.8}.about-motto figcaption{margin-top:var(--sp-3);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);font-size:.72rem}.about-bio{margin-top:var(--sp-7);max-width:720px}.about-bio p{margin:var(--sp-3) 0 0;color:var(--text-dim);line-height:1.9}.about-bio strong{color:var(--text)}.about-tags{margin-top:var(--sp-6)}.about-tags .tag-cloud{margin-top:var(--sp-3)}.about .facts{margin-top:var(--sp-7);flex-direction:column;gap:2px;max-width:640px;display:flex}.fact-row{transition:background-color .2s var(--ease);border-radius:8px;align-items:center;gap:14px;padding:8px 4px;display:flex}.fact-row:hover{background:color-mix(in srgb, var(--accent-soft) 12%, transparent)}.about .facts dt{width:132px;font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);flex-shrink:0}.about .facts dd{color:var(--text);margin:0;font-size:.92rem}.about-accounts{margin-top:var(--sp-7)}.account-grid{gap:var(--sp-4);margin-top:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.account-card{padding:var(--sp-4);align-items:center;gap:12px;display:flex}.account-icon{background:color-mix(in srgb, var(--accent-soft) 18%, var(--bg-panel));width:42px;height:42px;color:var(--accent-deep);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.account-icon svg{width:22px;height:22px}.account-meta{flex-direction:column;flex:1;min-width:0;display:flex}.account-name{color:var(--text);transition:color .2s var(--ease);font-size:.92rem;font-weight:700}.account-card:hover .account-name{color:var(--accent-deep)}.account-desc{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.account-card .ext-icon{width:14px;height:14px;color:var(--text-faint);flex-shrink:0}.account-card:hover .ext-icon{color:var(--accent-deep)}.notfound{text-align:center;place-content:center;gap:var(--sp-4);min-height:100vh;display:grid}.notfound .code{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(6rem,20vw,12rem);font-weight:700;line-height:1}.site-footer{border-top:1px solid var(--line);padding:var(--sp-7) 0 var(--sp-6);margin-top:var(--sp-9);font-size:var(--text-sm);color:var(--text-faint)}.site-footer .foot-grid{gap:var(--sp-6);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.site-footer .micro-label{margin-bottom:var(--sp-3)}.site-footer .coords{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em}.site-footer .foot-links{gap:var(--sp-5);display:flex}.site-footer .copyright{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line)}.site-footer .legal-row{margin-top:var(--sp-4);justify-content:center;align-items:center;gap:var(--sp-4);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.site-footer .legal-row a{color:var(--text-faint);transition:color var(--dur-1) var(--ease);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.site-footer .legal-row a:hover{color:var(--accent)}.site-footer .legal-row img{object-fit:contain;flex:none;width:16px;height:16px}.search-input{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-panel) 85%, transparent);width:100%;max-width:480px;color:var(--text);font-family:var(--font-body);transition:border-color .3s var(--ease), box-shadow .3s var(--ease);border-radius:10px;outline:none;padding:10px 16px;font-size:1rem}.search-input::placeholder{color:var(--text-faint)}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.player{padding:2px}.player-top{align-items:center;gap:10px;margin-bottom:10px;padding:0 4px;display:flex}.player-disc{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent-soft) 60%, var(--bg)));color:#0d1b22;width:56px;height:56px;box-shadow:var(--shadow-1);border:2px solid #ffffffb3;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.player-disc .disc-note{z-index:0;width:26px;height:26px;position:relative}.player-disc .music-cover{object-fit:cover;z-index:1;border-radius:50%;width:100%;height:100%;position:absolute;inset:0}.player-disc.is-playing{animation:9s linear infinite disc-spin}@keyframes disc-spin{to{transform:rotate(360deg)}}.player-meta{flex:1;min-width:0}.player-title{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.95rem;font-weight:700;overflow:hidden}.player-artist{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;margin:1px 0 0;font-size:.75rem;overflow:hidden}.player-time-row{align-items:center;gap:12px;height:20px;padding:0 4px;display:flex}.player-time{font-family:var(--font-mono);color:var(--text-faint);flex-shrink:0;align-items:center;gap:4px;font-size:10px;display:flex}.player-time .sep{opacity:.5}.player-volume{align-items:center;gap:4px;margin-left:auto;display:flex}.vol-container{cursor:pointer;background:color-mix(in srgb, var(--accent-soft) 22%, transparent);border-radius:99px;width:64px;height:4px}.vol-bar{background:var(--accent);border-radius:99px;width:70%;height:100%}.progress-container{cursor:pointer;background:color-mix(in srgb, var(--accent-soft) 22%, transparent);border-radius:99px;width:100%;height:4px;margin-top:8px;position:relative}.progress-bar{background:var(--accent);border-radius:99px;width:0;transition:width .1s linear;position:absolute;top:0;bottom:0;left:0}.progress-thumb{background:var(--accent);width:12px;height:12px;box-shadow:0 0 0 2px var(--bg-panel);transition:transform .2s var(--ease);border-radius:50%;margin:-6px 0 0 -6px;position:absolute;top:50%;left:0;transform:scale(0)}.progress-container:hover .progress-thumb{transform:scale(1)}.player-controls{user-select:none;justify-content:space-between;align-items:center;margin-top:4px;padding:0 4px;display:flex}.player-controls .icon-btn{width:34px;height:34px;color:var(--text-faint)}.player-controls .icon-btn:hover{color:var(--accent-deep)}.player-controls .icon-btn svg{width:20px;height:20px}.btn-play{background:color-mix(in srgb, var(--accent-soft) 18%, var(--bg-panel));width:48px;height:48px;color:var(--accent-deep);cursor:pointer;transition:background-color .3s var(--ease), transform .15s var(--ease), color .3s var(--ease);border:none;border-radius:50%;place-items:center;display:grid}.btn-play:hover{background:color-mix(in srgb, var(--accent-soft) 34%, var(--bg-panel));color:var(--accent)}.btn-play:active{transform:scale(.92)}.btn-play svg{width:26px;height:26px;margin-left:2px}.player-playlist[hidden],.icon-btn[hidden]{display:none}.player-playlist{border-top:1px solid var(--line);flex-direction:column;gap:2px;max-height:180px;margin-top:8px;padding-top:6px;display:flex;overflow-y:auto}.playlist-item{width:100%;color:var(--text-dim);cursor:pointer;text-align:left;transition:background-color .2s var(--ease), color .2s var(--ease);background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:8px;display:flex}.playlist-item:hover{background:color-mix(in srgb, var(--accent-soft) 16%, transparent);color:var(--text)}.playlist-item.is-current{color:var(--accent-deep)}.playlist-idx{font-family:var(--font-mono);color:var(--text-faint);flex-shrink:0;width:20px;font-size:.68rem}.playlist-item.is-current .playlist-idx{color:var(--accent)}.playlist-meta{flex-direction:column;flex:1;min-width:0;display:flex}.playlist-title{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.playlist-artist{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.playlist-note{width:14px;height:14px;color:var(--text-faint);flex-shrink:0}.playlist-item.is-current .playlist-note{color:var(--accent)}.tag-cloud{gap:var(--sp-3);flex-wrap:wrap;display:flex}.tag-cloud .tag{padding:6px 14px;font-size:.9rem}.tag-count{font-family:var(--font-mono);color:var(--text-faint);margin-left:4px;font-size:.72rem}.resource-toolbar{margin-bottom:var(--sp-4)}.resource-toolbar-row{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.friend-search.resource-search{max-width:460px;margin-bottom:0}.friend-search.resource-search input{padding-right:42px}.resource-search-clear{width:24px;height:24px;color:var(--text-faint);cursor:pointer;transition:color .2s var(--ease), background-color .2s var(--ease);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.resource-search .resource-search-clear svg{width:14px;height:14px;position:static;transform:none}.resource-search-clear:hover{color:var(--accent-deep);background:var(--accent-glow)}.resource-toolbar-side{align-items:center;gap:var(--sp-4);display:flex}.resource-sort-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);cursor:pointer;transition:border-color .2s var(--ease), box-shadow .2s var(--ease);align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.resource-sort-wrap:hover{border-color:var(--accent)}.resource-sort-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.resource-sort-wrap>svg{width:15px;height:15px;color:var(--text-faint);flex-shrink:0}.resource-sort-wrap select{appearance:none;color:var(--text);font-family:var(--font-body);cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238aa3ae' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 100%/12px no-repeat;border:0;outline:none;padding:0 16px 0 0;font-size:.82rem}.resource-count{font-family:var(--font-mono);color:var(--text-faint);white-space:nowrap;margin:0;font-size:.72rem}.resource-tip{margin:var(--sp-3) 0 var(--sp-4);color:var(--text-faint);font-size:.82rem}.resource-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.resource-card{padding:var(--sp-5);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);align-items:flex-start;gap:14px;display:flex}.resource-card:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2);transform:translateY(-4px)}.resource-icon{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent-soft) 60%, var(--bg)));color:#0d1b22;width:46px;height:46px;box-shadow:var(--shadow-1);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.resource-icon svg{width:22px;height:22px}.resource-body{flex:1;min-width:0}.resource-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:4px;display:flex}.resource-name{color:var(--text);margin:0;font-size:.98rem;font-weight:700}.resource-version{border:1px solid var(--accent);font-family:var(--font-mono);color:var(--accent-deep);white-space:nowrap;border-radius:4px;padding:1px 8px;font-size:.68rem}.resource-new{font-family:var(--font-display);letter-spacing:.12em;background:var(--accent);color:#0d1b22;box-shadow:0 0 10px var(--accent-glow);white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:.62rem;font-weight:700}.resource-desc{color:var(--text-dim);margin:0;font-size:.84rem;line-height:1.7}.resource-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.resource-cat{font-family:var(--font-display);letter-spacing:.1em;background:color-mix(in srgb, var(--accent-soft) 20%, transparent);color:var(--accent-deep);border-radius:4px;padding:1px 8px;font-size:.68rem}.resource-tag{background:color-mix(in srgb, var(--accent-soft) 12%, transparent);color:var(--text-faint);border-radius:4px;padding:1px 8px;font-size:.68rem}.resource-meta{font-family:var(--font-mono);color:var(--text-faint);margin:8px 0 0;font-size:.7rem}.resource-checksum{border:1px dashed var(--line-strong);border-radius:var(--radius);align-items:center;gap:8px;width:fit-content;max-width:100%;margin-top:10px;padding:4px 8px 4px 10px;display:flex}.resource-checksum-label{font-family:var(--font-display);letter-spacing:.12em;color:var(--text-faint);flex-shrink:0;font-size:.6rem}.resource-hash{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;overflow:hidden}.resource-copy,.resource-link-btn{border:1px solid var(--line);background:var(--bg-panel);width:26px;height:26px;color:var(--text-dim);cursor:pointer;transition:border-color .2s var(--ease), color .2s var(--ease), background-color .2s var(--ease);border-radius:6px;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.resource-copy svg,.resource-link-btn svg{width:13px;height:13px}.resource-copy .copy-ok,.resource-link-btn .copy-ok{display:none}.resource-copy:hover,.resource-link-btn:hover{border-color:var(--accent);color:var(--accent-deep)}.resource-copy.is-copied,.resource-link-btn.is-copied{border-color:var(--accent);color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 25%, var(--bg-panel))}.resource-copy.is-copied .copy-ico,.resource-link-btn.is-copied .copy-ico{display:none}.resource-copy.is-copied .copy-ok,.resource-link-btn.is-copied .copy-ok{display:block}.resource-actions{margin-top:var(--sp-3);align-items:center;gap:8px;display:flex}.resource-btn{border:1px solid var(--accent);color:var(--accent-deep);transition:background-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease);border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:600;display:inline-flex}.resource-btn svg{width:15px;height:15px}.resource-btn:hover{background:var(--accent);color:#0d1b22}.resource-btn:active{transform:scale(.96)}.resource-reset-btn{margin-top:var(--sp-4);border:1px solid var(--accent);color:var(--accent-deep);cursor:pointer;transition:background-color .2s var(--ease), color .2s var(--ease);background:0 0;border-radius:8px;padding:6px 16px;font-size:.82rem;font-weight:600}.resource-reset-btn:hover{background:var(--accent);color:#0d1b22}.res-dash{gap:var(--sp-4);margin-bottom:var(--sp-4);grid-template-columns:repeat(4,1fr);display:grid}.res-stat{padding:var(--sp-4) var(--sp-5);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);flex-direction:column;display:flex;position:relative;overflow:hidden}.res-stat:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent-soft) 30%, transparent), transparent 70%);pointer-events:none;border-radius:50%;width:72px;height:72px;position:absolute;top:-28px;right:-28px}.res-stat:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2);transform:translateY(-4px)}.res-stat-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.res-stat-icon{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent-soft) 60%, var(--bg)));color:#0d1b22;width:34px;height:34px;box-shadow:var(--shadow-1);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.res-stat-icon svg{width:17px;height:17px}.res-stat-num{margin:var(--sp-3) 0 0;font-family:var(--font-mono);color:var(--text);font-size:1.65rem;font-weight:700;line-height:1}.res-stat-label{letter-spacing:.08em;color:var(--text-faint);margin:6px 0 0;font-size:.76rem}.resource-foot{gap:var(--sp-4);margin-top:var(--sp-7);grid-template-columns:repeat(3,1fr);display:grid}.resource-note{padding:var(--sp-4) var(--sp-5)}.resource-note-title{margin:0 0 var(--sp-3);color:var(--text);align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.resource-note-title svg{width:16px;height:16px;color:var(--accent-deep);flex-shrink:0}.resource-note-list{gap:6px;margin:0;padding-left:1.2em;display:grid}.resource-note-list li{color:var(--text-dim);font-size:.8rem;line-height:1.7}.resource-note-list code{font-family:var(--font-mono);color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 14%, transparent);border-radius:4px;padding:1px 5px;font-size:.74rem}.resource-note-list a{color:var(--accent-deep)}@media (width<=760px){.res-dash{gap:var(--sp-3);grid-template-columns:repeat(2,1fr)}.resource-toolbar-row{flex-direction:column;align-items:stretch}.friend-search.resource-search{max-width:none}.resource-toolbar-side{justify-content:space-between}.resource-foot{gap:var(--sp-3);margin-top:var(--sp-6);grid-template-columns:1fr}}@media (width<=560px){.resource-grid{grid-template-columns:1fr}.resource-card{flex-direction:column}.resource-toolbar-side{gap:var(--sp-2);flex-wrap:wrap}.resource-checksum{width:100%}}.friend-filter{margin-bottom:var(--sp-6)}.friend-search{margin-bottom:var(--sp-3);max-width:420px;position:relative}.friend-search svg{width:16px;height:16px;color:var(--text-faint);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.friend-search input{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-panel) 70%, transparent);width:100%;color:var(--text);font-family:var(--font-body);transition:border-color .3s var(--ease), box-shadow .3s var(--ease);border-radius:12px;outline:none;padding:10px 14px 10px 38px;font-size:.9rem}.friend-search input::placeholder{color:var(--text-faint)}.friend-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.friend-pills{flex-wrap:wrap;gap:8px;display:flex}.category-pill{border:1px solid var(--line);color:var(--text-dim);cursor:pointer;transition:color .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:99px;padding:6px 14px;font-size:.85rem}.category-pill:hover{color:var(--accent-deep);border-color:var(--accent)}.category-pill[data-active]{background:var(--accent);border-color:var(--accent);color:#0d1b22}.friends-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.friend-card{border:1px solid var(--line);transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex;position:relative;overflow:hidden}.friend-card:before{content:"";background:var(--accent);opacity:0;transition:opacity .3s var(--ease);pointer-events:none;position:absolute;inset:0}.friend-card:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2);transform:translateY(-3px)}.friend-card:hover:before{opacity:.06}.friend-avatar{background:color-mix(in srgb, var(--accent-soft) 18%, var(--bg-panel));border:1px solid var(--line);width:64px;height:64px;transition:transform .3s var(--ease);border-radius:12px;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.friend-card:hover .friend-avatar{transform:scale(1.05)}.friend-avatar img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.friend-letter{font-family:var(--font-display);color:var(--accent-deep);font-size:1.4rem;font-weight:700}.friend-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.friend-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.friend-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;transition:color .2s var(--ease);font-size:.98rem;font-weight:700;overflow:hidden}.friend-card:hover .friend-name{color:var(--accent-deep)}.friend-arrow{width:18px;height:18px;color:var(--accent);opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);flex-shrink:0;transform:translate(-8px)}.friend-card:hover .friend-arrow{opacity:1;transform:none}.friend-desc{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.friend-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.friend-tag{background:color-mix(in srgb, var(--accent-soft) 14%, transparent);color:var(--text-dim);border-radius:4px;padding:1px 8px;font-size:.68rem}.friend-apply{margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--line)}.friend-apply-grid{gap:var(--sp-4);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.friend-apply-card{border:1px solid var(--line);padding:var(--sp-5);background:color-mix(in srgb, var(--bg-panel) 60%, transparent);border-radius:12px}.friend-apply-title{margin:0 0 var(--sp-4);color:var(--text);align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.friend-apply-title svg{width:18px;height:18px;color:var(--accent);flex-shrink:0}.friend-info-list{flex-direction:column;gap:10px;display:flex}.friend-info-row{background:color-mix(in srgb, var(--accent-soft) 7%, transparent);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.friend-info-main{flex:1;min-width:0}.friend-info-label{color:var(--text-faint);margin:0 0 2px;font-size:.68rem}.friend-info-value{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.82rem;font-weight:500;overflow:hidden}.friend-copy-btn{background:color-mix(in srgb, var(--accent-soft) 16%, transparent);width:30px;height:30px;color:var(--text-dim);cursor:pointer;transition:color .2s var(--ease), background-color .2s var(--ease);border:none;border-radius:8px;flex-shrink:0;place-items:center;display:grid;position:relative}.friend-copy-btn:hover{color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 30%, transparent)}.friend-copy-btn svg{width:15px;height:15px;transition:opacity .2s var(--ease), transform .2s var(--ease);position:absolute}.friend-copy-btn .copy-ok{color:#34d399;opacity:0;transform:scale(.6)}.friend-copy-btn.is-copied .copy-ico{opacity:0;transform:scale(.6)}.friend-copy-btn.is-copied .copy-ok{opacity:1;transform:none}.friend-apply-steps{flex-direction:column;display:flex}.apply-step{gap:14px;display:flex}.apply-rail{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.apply-num{background:var(--accent);color:#0d1b22;border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:grid}.apply-line{background:var(--line);flex:1;width:2px;min-height:18px;margin:6px 0}.apply-body{min-width:0;padding-bottom:var(--sp-4);flex:1}.apply-step:last-child .apply-body{padding-bottom:0}.apply-title{color:var(--text);margin:0 0 4px;font-size:.9rem;font-weight:600}.apply-title a{color:var(--accent-deep);text-decoration:none}.apply-title a:hover{text-decoration:underline}.apply-mail{background:color-mix(in srgb, var(--accent-soft) 12%, transparent);color:var(--accent-deep);font-family:var(--font-mono);border-radius:6px;padding:1px 6px;font-size:.78rem}.apply-desc{color:var(--text-faint);margin:0;font-size:.8rem}.apply-desc a{color:var(--accent-deep)}.apply-template{margin-top:10px;position:relative}.apply-template-pre{border:1px solid var(--line);background:color-mix(in srgb, var(--bg-raised) 55%, transparent);font-family:var(--font-mono);color:var(--text-dim);border-radius:8px;margin:0;padding:12px 46px 12px 12px;font-size:.72rem;line-height:1.8;overflow-x:auto}.apply-template-copy{position:absolute;top:8px;right:8px}.friend-notes{margin-top:var(--sp-4)}.friend-notes-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.friend-notes-list li{color:var(--text-dim);align-items:baseline;gap:10px;font-size:.86rem;line-height:1.7;display:flex}.friend-notes-list li:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:5px;height:5px;transform:translateY(-2px)}.friend-notes-list strong{color:var(--text);font-weight:600}@media (width<=720px){.friend-apply-grid{grid-template-columns:1fr}}.friend-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.friend-actions{flex-wrap:wrap;gap:8px;display:flex}.friend-action{border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-body);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:99px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;display:inline-flex}.friend-action svg{width:14px;height:14px}.friend-action:hover{color:var(--accent-deep);border-color:var(--accent)}.friend-action:disabled{opacity:.55;cursor:wait}.friend-action.is-running svg{animation:1s linear infinite gb-spin}@keyframes gb-spin{to{transform:rotate(360deg)}}.friend-group{margin-bottom:var(--sp-6)}.friend-group-head{margin:0 0 var(--sp-4);align-items:baseline;gap:10px;display:flex}.friend-group-zh{color:var(--text);font-size:1.05rem;font-weight:700}.friend-group-zh:before{content:"";background:var(--accent);vertical-align:-1px;width:3px;height:14px;margin-right:8px;display:inline-block}.friend-group-en{font-family:var(--font-display);letter-spacing:.12em;color:var(--text-faint);font-size:.72rem}.friend-status{width:8px;height:8px;transition:background-color .3s var(--ease);background:0 0;border-radius:50%;position:absolute;top:10px;right:10px}.friend-status[data-status=checking]{background:var(--text-faint);animation:.9s ease-in-out infinite gb-pulse}.friend-status[data-status=ok]{background:#34d399;box-shadow:0 0 6px #34d3998c}.friend-status[data-status=dead]{background:#f87171}.friend-status[data-status=skip]{background:var(--text-faint)}@keyframes gb-pulse{50%{opacity:.3}}.friend-slot{border:1px dashed var(--line-strong);min-height:88px;color:var(--text-faint);transition:border-color .3s var(--ease), color .3s var(--ease), background-color .3s var(--ease);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:12px;text-decoration:none;display:flex}.friend-slot:hover{border-color:var(--accent);color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 8%, transparent)}.friend-slot svg{width:22px;height:22px}.friend-slot-title{color:var(--text-dim);font-size:.9rem;font-weight:700}.friend-slot:hover .friend-slot-title{color:var(--accent-deep)}.friend-slot-hint{font-size:.72rem}.friend-empty{margin:var(--sp-4) 0;color:var(--text-faint);text-align:center}.friend-check-note{margin-top:var(--sp-3);color:var(--text-faint);font-size:.75rem}.gb-lead{margin:var(--sp-3) 0 0;color:var(--text-dim)}.gb-notice{margin-top:var(--sp-6);border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent-soft) 7%, transparent)}.gb-notice .micro-label{color:var(--accent-deep)}.gb-notice-text{margin:var(--sp-3) 0 0;color:var(--text-dim);font-size:.88rem;line-height:1.8}.gb-stats{margin-top:var(--sp-6)}.gb-stat-grid{gap:var(--sp-3);margin-top:var(--sp-3);grid-template-columns:repeat(3,1fr);display:grid}.gb-stat{padding:var(--sp-4);border:1px solid var(--line);background:color-mix(in srgb, var(--bg-panel) 70%, transparent);border-radius:12px;flex-direction:column;gap:4px;display:flex}.gb-stat-val{font-family:var(--font-display);color:var(--accent-deep);font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.1}.gb-stat-label{color:var(--text-faint);font-size:.78rem}.gb-latest{margin-top:var(--sp-6)}.gb-latest-head{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.gb-latest-more{color:var(--accent-deep);font-size:.78rem;text-decoration:none}.gb-latest-more:hover{text-decoration:underline}.gb-latest-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.gb-latest-item{border-bottom:1px solid var(--line);gap:12px;padding:10px 0;display:flex}.gb-latest-item:last-child{border-bottom:none}.gb-latest-avatar{border:1px solid var(--line);object-fit:cover;border-radius:50%;flex-shrink:0;width:34px;height:34px}.gb-latest-body{flex:1;min-width:0}.gb-latest-meta{align-items:baseline;gap:8px;margin:0;display:flex}.gb-latest-nick{color:var(--text);font-size:.85rem;font-weight:600}.gb-latest-time{color:var(--text-faint);font-size:.7rem}.gb-latest-text{color:var(--text-dim);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0;font-size:.82rem;display:-webkit-box;overflow:hidden}.gb-latest-from{color:var(--text-faint);margin:0;font-size:.72rem}.gb-latest-from a{color:var(--accent-deep);transition:color var(--dur-1) var(--ease), background-size .3s cubic-bezier(.16, 1, .3, 1);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.gb-latest-from a:hover{color:var(--accent);background-size:100% 1px}.gb-latest-empty{color:var(--text-faint);font-size:.85rem}.gb-stats-error{margin:var(--sp-3) 0 0;color:var(--text-faint);font-size:.85rem}.contact-lead{margin:var(--sp-3) 0 0;color:var(--text-dim)}.contact-grid{gap:var(--sp-4);margin-top:var(--sp-6);grid-template-columns:repeat(3,1fr);display:grid}.contact-grid-2{grid-template-columns:repeat(2,1fr)}.contact-card{border:1px solid var(--line);transition:border-color .3s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);border-radius:12px;align-items:center;gap:14px;padding:18px;text-decoration:none;display:flex;position:relative}.contact-card:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2)}.contact-icon{border:1px solid var(--line);background:color-mix(in srgb, var(--accent-soft) 14%, var(--bg-panel));width:46px;height:46px;color:var(--accent-deep);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.contact-icon svg{width:24px;height:24px}.contact-meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.contact-name{color:var(--text);font-size:.95rem;font-weight:700}.contact-handle{font-family:var(--font-mono);color:var(--accent-deep);text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.contact-desc{color:var(--text-faint);font-size:.76rem}.contact-arrow{width:18px;height:18px;color:var(--accent);opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);flex-shrink:0;transform:translate(-6px)}.contact-card:hover .contact-arrow{opacity:1;transform:none}.contact-copy{border:1px solid var(--line);color:var(--text-dim);font-family:var(--font-body);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:8px;padding:6px 12px;font-size:.78rem}.contact-copy:hover{color:var(--accent-deep);border-color:var(--accent)}.contact-more{margin-top:var(--sp-6);gap:var(--sp-3);flex-wrap:wrap;display:flex}@media (width<=720px){.contact-grid,.contact-grid-2,.gb-stat-grid{grid-template-columns:1fr}}.copy-check{vertical-align:-.22em;flex-shrink:0;width:1.15em;height:1.15em;margin-right:5px;animation:.5s cubic-bezier(.34,1.56,.64,1) both check-pop;display:inline-block}.copy-check .check-circle{fill:none;stroke:var(--accent);stroke-width:2px;stroke-dasharray:63;stroke-dashoffset:63px;animation:.45s 50ms forwards check-draw}.copy-check .check-path{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14;stroke-dashoffset:14px;animation:.3s cubic-bezier(.16,1,.3,1) .45s forwards check-draw}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes check-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.18)}to{opacity:1;transform:scale(1)}}.sponsor-head{text-align:center}.sponsor-bless{margin-top:var(--sp-3);font-family:var(--font-serif);color:var(--accent-deep);font-size:1.05rem;font-style:italic}.sponsor-lead{max-width:620px;margin:0 auto var(--sp-3);text-align:center;color:var(--text);font-size:1.02rem}.sponsor-use{max-width:620px;margin:0 auto var(--sp-7);text-align:center;color:var(--text-faint);font-size:.88rem}.sponsor-grid{gap:var(--sp-5);flex-wrap:wrap;justify-content:center;display:flex}.sponsor-card{width:260px;padding:var(--sp-5);align-items:center;gap:var(--sp-3);flex-direction:column;display:flex}.sponsor-card-head{align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.sponsor-card-head svg{color:#2aae67;width:22px;height:22px}.sponsor-card-head.alipay svg{color:#1677ff}.sponsor-qr{border:1px solid var(--line);border-radius:10px;width:200px;height:auto}.sponsor-qr-link{line-height:0;display:block}.sponsor-tip{color:var(--text-dim);margin:0;font-size:.85rem}.sponsor-btn{letter-spacing:.02em;color:#fff;cursor:pointer;width:100%;box-shadow:var(--shadow-1);transition:transform .15s var(--ease), filter .2s var(--ease), box-shadow .2s var(--ease), color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);border:none;border-radius:99px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:.9rem;font-weight:700;display:inline-flex}.sponsor-btn svg{flex-shrink:0;width:16px;height:16px}.sponsor-btn:hover{filter:brightness(1.07);box-shadow:var(--shadow-2);color:#fff;transform:translateY(-2px)}.sponsor-btn:active{transform:scale(.97)}.sponsor-btn.alipay{background:#1677ff}.sponsor-btn.wechat{background:#2aae67}.sponsor-btn.ghost{color:#2aae67;box-shadow:none;background:0 0;border:1.5px solid #2aae67}.sponsor-btn.ghost:hover{box-shadow:none;background:#2aae671a}.sponsor-hint{color:var(--text-faint);text-align:center;transition:color var(--dur-1) var(--ease);margin:2px 0 0;font-size:.78rem;line-height:1.5;display:block}.sponsor-hint.is-on{color:#2aae67;font-weight:600}.sponsor-thanks{margin-top:var(--sp-7);text-align:center;color:var(--text-dim);font-size:.9rem}.bangumi-group{margin-bottom:var(--sp-7)}.bangumi-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.bangumi-card{border:1px solid var(--line);background:var(--bg-panel);box-shadow:var(--shadow-1);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);border-radius:10px;display:block;overflow:hidden}.bangumi-card:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2);transform:translateY(-4px)}.bangumi-cover{aspect-ratio:3/4;position:relative;overflow:hidden}.bangumi-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease)}.bangumi-card:hover .bangumi-cover img{transform:scale(1.06)}.bangumi-badge{color:#ffe08a;backdrop-filter:blur(4px);background:#0d1b22ad;border-radius:99px;padding:1px 8px;font-size:.65rem;position:absolute;top:8px;right:8px}.bangumi-meta{padding:8px 10px 10px}.bangumi-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;transition:color .2s var(--ease);margin:0;font-size:.85rem;font-weight:600;overflow:hidden}.bangumi-card:hover .bangumi-title{color:var(--accent-deep)}.bangumi-progress{color:var(--text-faint);margin:2px 0 0;font-size:.7rem}.bangumi-note{margin-top:var(--sp-6);font-size:var(--text-sm);color:var(--text-faint);line-height:1.7}.bangumi-sync-time{font-family:var(--font-mono);color:var(--text-dim);margin-left:6px}.gallery-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.gallery-item{cursor:zoom-in;border:1px solid var(--line);background:var(--bg-panel);box-shadow:var(--shadow-1);transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);border-radius:12px;margin:0;position:relative;overflow:hidden}.gallery-item:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2);transform:translateY(-4px)}.gallery-item img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .5s var(--ease);display:block}.gallery-item:hover img{transform:scale(1.05)}.gallery-cap{color:#fff;white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:opacity .3s var(--ease);background:linear-gradient(#0000,#0d1b22c7);padding:22px 12px 8px;font-size:.78rem;position:absolute;inset:auto 0 0;overflow:hidden}.gallery-item:hover .gallery-cap{opacity:1}.lightbox{z-index:300;-webkit-backdrop-filter:blur(8px);background:#091015db;place-items:center;animation:.2s both fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.lightbox-fig{flex-direction:column;align-items:center;gap:10px;max-width:min(1100px,92vw);margin:0;display:flex}.lightbox-fig img{max-width:100%;max-height:78vh;box-shadow:var(--shadow-2);border-radius:10px}.lightbox-fig figcaption{color:#cfe3ec;text-align:center;font-size:.85rem}.lightbox-count{font-family:var(--font-mono);color:var(--accent-soft);margin-right:6px}.lightbox-fig img.is-swap{animation:lightbox-fade .28s var(--ease)}@keyframes lightbox-fade{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.lightbox-close,.lightbox-nav{color:#fff;cursor:pointer;width:42px;height:42px;transition:background-color .2s var(--ease), border-color .2s var(--ease);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;place-items:center;font-size:1.2rem;display:grid;position:absolute}.lightbox-close:hover,.lightbox-nav:hover{background:var(--accent);border-color:var(--accent);color:#0d1b22}.lightbox-close{top:20px;right:20px}.lightbox-prev{top:50%;left:18px;transform:translateY(-50%)}.lightbox-next{top:50%;right:18px;transform:translateY(-50%)}.music-popup{z-index:140;-webkit-backdrop-filter:blur(24px)saturate(1.8);width:min(320px,100vw - 32px);box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff8c;opacity:0;visibility:hidden;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility .2s;background:#ffffff8c;border:1px solid #ffffff59;border-radius:16px;padding:10px;position:absolute;top:calc(100% + 10px);right:64px;transform:translateY(8px)}.music-popup.open{opacity:1;visibility:visible;transform:none}[data-theme=dark] .music-popup{box-shadow:var(--shadow-2), inset 0 1px 0 #ffffff12;background:#0d101780;border-color:#ffffff24}@media (width<=560px){.player{align-items:flex-start;gap:var(--sp-4);flex-direction:column}.player-controls{justify-content:center;align-self:stretch}}.progress-ring-btn{z-index:90;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);width:46px;height:46px;box-shadow:var(--shadow-1);cursor:pointer;color:var(--text);opacity:0;pointer-events:none;transition:opacity .25s var(--ease), transform .25s var(--ease), background-color var(--dur-1) var(--ease);background:#ffffffe6;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(8px)scale(.9)}.progress-ring-btn.is-visible{opacity:1;pointer-events:auto;transform:none}.progress-ring-btn:hover{background:color-mix(in srgb, var(--accent-soft) 18%, #fff)}.progress-ring-btn .ring{position:absolute;inset:0;transform:rotate(-90deg)}.progress-ring-btn .track{stroke:var(--line)}.progress-ring-btn .bar{stroke:var(--accent);transition:stroke-dasharray .12s linear}.progress-ring-btn .arrow{width:16px;height:16px;color:var(--text-dim)}[data-theme=dark] .progress-ring-btn{background:#122630e6}[data-theme=dark] .progress-ring-btn:hover{background:color-mix(in srgb, var(--accent-soft) 18%, #122630)}@media (width<=900px){.mobile-menu:not([hidden]){display:block}}@media (width<=768px){.hero .title{font-size:clamp(2rem,12vw,3rem)}.section{padding-block:var(--sp-8)}.section-head .title{font-size:var(--text-xl)}.container,.container-narrow{padding-inline:var(--sp-4)}.card-grid,.cat-grid{grid-template-columns:1fr}}[data-theme=dark]{--bg:#0d1b22;--bg-panel:#122630;--bg-raised:#18303b;--text:#cfe3ec;--text-dim:#93afbb;--text-faint:#5f7c88;--accent:#5fb6d8;--accent-soft:#7ec8e3;--accent-deep:#9fdcf2;--line:#cfe3ec24;--line-strong:#cfe3ec66;--selection-bg:#7ec8e3;--selection-fg:#0d1b22;--cat-tech:#7ec8e3;--cat-philosophy:#c0a9ef;--cat-thoughts:#e7a3d2;--shadow-1:inset 0 1px 0 #ffffff12, 0 1px 2px #0000004d, 0 4px 12px -2px #00000059, 0 12px 28px -8px #00000073;--shadow-2:inset 0 1px 0 #ffffff17, 0 2px 4px #00000059, 0 8px 20px -4px #0006, 0 24px 48px -12px #0000008c}[data-theme=dark] .hero{background:linear-gradient(180deg, #0d1b22db, #0d1b22eb 60%, var(--bg) 100%), url(/wallpapers/asuka-line.jpg) center / cover no-repeat}[data-theme=dark] .mobile-menu{-webkit-backdrop-filter:blur(16px)saturate(1.5);background:#0d1017b3}[data-theme=dark] .nav-logo{color:#0d1b22}.timeline{margin-top:var(--sp-6);position:relative}.timeline:before{content:"";background:linear-gradient(180deg, var(--accent-soft), var(--line-strong) 22%, var(--line));width:1px;position:absolute;top:8px;bottom:8px;left:8px}.moment{padding:0 0 var(--sp-6) var(--sp-7);position:relative}.moment:last-child{padding-bottom:var(--sp-2)}.moment-dot{background:var(--accent);border:2px solid var(--bg-panel);width:9px;height:9px;box-shadow:0 0 0 1px var(--accent-glow), 0 0 12px var(--accent-glow);z-index:1;border-radius:50%;position:absolute;top:30px;left:4px}.moment-card{padding:var(--sp-5);border-radius:10px}.moment-card:hover{transform:translateY(-2px)}.moment-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.moment-type{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 22%, var(--bg-panel));border:1px solid color-mix(in srgb, var(--accent) 32%, transparent);border-radius:99px;padding:2px 10px;font-weight:600}.moment-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-faint)}.moment-body{color:var(--text);font-size:.95rem;line-height:1.75}.moment-body :is(p,ul,ol,blockquote){margin:0 0 .6em}.moment-body>:last-child{margin-bottom:0}.moment-body a{color:var(--accent-deep);transition:color var(--dur-1) var(--ease), background-size .3s cubic-bezier(.16, 1, .3, 1);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px}.moment-body a:hover{color:var(--accent);background-size:100% 1px}.moment-body code{font-family:var(--font-mono);background:color-mix(in srgb, var(--accent-soft) 16%, var(--bg-panel));color:var(--accent-deep);border-radius:4px;padding:1px 6px;font-size:.85em}.moment-imgs{gap:var(--sp-3);margin-top:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.moment-img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);cursor:zoom-in;width:100%;transition:transform .4s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);border-radius:8px}.moment-img:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-1);transform:scale(1.03)}.moment-link{margin-top:var(--sp-4);border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-panel));color:var(--accent-deep);transition:background .25s var(--ease), color .25s var(--ease), transform .15s var(--ease);border-radius:99px;align-items:center;gap:6px;padding:7px 16px;font-size:.88rem;font-weight:600;display:inline-flex}.moment-link:hover{background:var(--accent);color:#fff;transform:translateY(-1px)}.moment-tags{margin-top:var(--sp-4);flex-wrap:wrap;gap:8px;display:flex}.moments-note{margin-top:var(--sp-6);font-size:var(--text-sm);color:var(--text-faint);line-height:1.7}.moments-note code{font-family:var(--font-mono);color:var(--text-dim);background:color-mix(in srgb, var(--line) 55%, var(--bg-panel));border-radius:4px;padding:1px 5px;font-size:.82em}.moment-lightbox{z-index:300;-webkit-backdrop-filter:blur(8px);background:#091015db;place-items:center;animation:.2s both fade-in;display:grid;position:fixed;inset:0}.moment-lightbox[hidden]{display:none}.moment-lightbox-fig{flex-direction:column;align-items:center;gap:10px;max-width:min(1100px,92vw);margin:0;display:flex}.moment-lightbox-fig img{max-width:100%;max-height:78vh;box-shadow:var(--shadow-2);border-radius:10px}.moment-lightbox-fig figcaption{color:#cfe3ec;text-align:center;font-size:.85rem}@media (hover:none){.gallery-cap{opacity:1}}@media (width<=640px){.moment{padding-left:var(--sp-6)}.moment-card{padding:var(--sp-4)}.moment-imgs{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.page-orbs{pointer-events:none;position:absolute;inset:0;overflow:hidden}.sponsor-sec{position:relative}.page-orb{filter:blur(56px);opacity:.3;border-radius:50%;animation:24s ease-in-out infinite alternate orb-drift;position:absolute}.page-orb.o1{background:var(--accent-soft);width:320px;height:320px;top:-70px;left:-50px}.page-orb.o2{background:var(--accent);opacity:.16;width:240px;height:240px;animation-duration:28s;animation-delay:-9s;bottom:-80px;right:-40px}.page-orb.o3{background:var(--accent-soft);opacity:.2;width:140px;height:140px;animation-duration:32s;animation-delay:-16s;top:44%;right:10%}@keyframes orb-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(34px,-26px)scale(1.14)}}.title-line{width:64px;height:3px;margin:var(--sp-3) auto 0;background:linear-gradient(90deg, var(--accent), var(--accent-soft) 60%, transparent);transform-origin:0;animation:title-line-in .9s var(--ease) .25s both, title-line-breathe 3.6s ease-in-out 1.2s infinite;border-radius:99px;display:block}@keyframes title-line-in{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes title-line-breathe{0%,to{opacity:.85}50%{opacity:.45}}.sponsor-bless{background:linear-gradient(90deg, var(--accent-deep), var(--accent) 38%, var(--accent-soft) 62%, var(--accent-deep));-webkit-text-fill-color:transparent;color:#0000;background-size:200% 100%;background-clip:text;animation:7s linear infinite bless-flow}@keyframes bless-flow{0%{background-position:0%}to{background-position:200%}}@supports not (background-clip:text){.sponsor-bless{color:var(--accent-deep);background:0 0}}.sponsor-card{position:relative}.sponsor-card:before{content:"";border-radius:inherit;box-shadow:0 0 0 1px var(--accent-glow), 0 0 44px -10px var(--accent-glow);opacity:0;transition:opacity .45s var(--ease);pointer-events:none;position:absolute;inset:0}.sponsor-card:hover:before{opacity:1}.sponsor-qr{transition:transform .45s var(--ease), box-shadow .45s var(--ease)}.sponsor-qr-link:hover .sponsor-qr{transform:scale(1.045);box-shadow:0 10px 26px -12px #10262f59}.sponsor-btn{position:relative;overflow:hidden}.sponsor-btn:after{content:"";opacity:0;width:34px;transition:transform .7s var(--ease), opacity .35s var(--ease);pointer-events:none;background:linear-gradient(105deg,#0000,#ffffff80,#0000);position:absolute;top:-30%;bottom:-30%;left:0;transform:translate(-140px)skew(-18deg)}.sponsor-btn:hover:after{opacity:1;transform:translate(300px)skew(-18deg)}.sponsor-thanks .heart{color:#e6486b;transform-origin:50% 55%;margin-left:2px;animation:1.8s ease-in-out infinite heart-beat;display:inline-block}@keyframes heart-beat{0%,to{transform:scale(1)}12%{transform:scale(1.18)}24%{transform:scale(1)}36%{transform:scale(1.1)}48%{transform:scale(1)}}.about .watermark{animation:14s ease-in-out infinite watermark-float}@keyframes watermark-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.about-avatar-wrap{flex-shrink:0;place-items:center;width:116px;height:116px;display:grid;position:relative}.about-avatar-wrap:before{content:"";border:1.5px dashed var(--accent);opacity:.65;transition:border-color .3s var(--ease), opacity .3s var(--ease);border-radius:50%;animation:16s linear infinite ring-spin;position:absolute;inset:-9px}.about-avatar-wrap:after{content:"";background:radial-gradient(circle, var(--accent-glow), transparent 70%);pointer-events:none;border-radius:50%;animation:4s ease-in-out infinite ring-breathe;position:absolute;inset:-16px}.about-avatar-wrap:hover:before{border-color:var(--accent-deep);opacity:1}@keyframes ring-spin{to{transform:rotate(360deg)}}@keyframes ring-breathe{0%,to{opacity:.3;transform:scale(.96)}50%{opacity:.7;transform:scale(1.04)}}.about-motto{border-left:none;position:relative}.about-motto:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-soft) 50%, var(--accent));background-size:100% 220%;border-radius:8px 0 0 8px;width:.5rem;animation:5.5s ease-in-out infinite bar-flow;position:absolute;top:0;bottom:0;left:0}@keyframes bar-flow{0%,to{background-position:0 0}50%{background-position:0 100%}}.fact-row dt,.fact-row dd{transition:color .25s var(--ease), transform .25s var(--ease)}.fact-row:hover dt{color:var(--accent-deep);transform:translate(3px)}.js .about-tags .tag{opacity:0}.js .about-tags.is-in .tag{animation:rise .5s var(--ease) both;animation-delay:calc(.16s + var(--i,0) * 42ms)}.account-icon{transition:transform .35s var(--ease), background-color .35s var(--ease), color .35s var(--ease)}.account-card:hover .account-icon{background:color-mix(in srgb, var(--accent-soft) 30%, var(--bg-panel));transform:translateY(-3px)rotate(-5deg)scale(1.06)}.account-card .ext-icon{transition:transform .3s var(--ease), color .3s var(--ease)}.account-card:hover .ext-icon{transform:translate(2px,-2px)}.spot-card{position:relative}.spot-card:after,.spot-card:before{content:"";border-radius:inherit;pointer-events:none;background-position-y:50%;background-repeat:no-repeat;background-size:150% 100%;background-position-x:calc(50% + var(--gx,0px));transition:background-position-x .2s ease-out;position:absolute;inset:0}.spot-card:after{background-image:linear-gradient(115deg, transparent 24%, color-mix(in srgb, var(--accent-soft) 3%, transparent) 38%, color-mix(in srgb, var(--accent-soft) 7%, transparent) 48%, color-mix(in srgb, var(--accent-soft) 8%, transparent) 50%, color-mix(in srgb, var(--accent-soft) 7%, transparent) 52%, color-mix(in srgb, var(--accent-soft) 3%, transparent) 62%, transparent 76%)}.spot-card:before{background-image:linear-gradient(115deg, transparent 28%, color-mix(in srgb, var(--accent-soft) 5%, transparent) 42%, color-mix(in srgb, var(--accent-soft) 12%, transparent) 49%, color-mix(in srgb, var(--accent-soft) 14%, transparent) 50%, color-mix(in srgb, var(--accent-soft) 12%, transparent) 51%, color-mix(in srgb, var(--accent-soft) 5%, transparent) 58%, transparent 72%);opacity:0;transition:opacity .4s,background-position-x .2s ease-out}.spot-card.is-glow:before{opacity:1}.friend-card.spot-card:before{background-color:#0000}.spot-card.is-glow{will-change:transform;-webkit-backdrop-filter:none}[data-theme=dark] .spot-card:after,[data-skin=ark] .spot-card:after,[data-skin=hg] .spot-card:after,[data-skin=cc] .spot-card:after{background-image:linear-gradient(115deg,#0000 24%,#78aaff05 38%,#78aaff0d 48%,#78aaff0f 50%,#78aaff0d 52%,#78aaff05 62%,#0000 76%)}[data-theme=dark] .spot-card:before,[data-skin=ark] .spot-card:before,[data-skin=hg] .spot-card:before,[data-skin=cc] .spot-card:before{background-image:linear-gradient(115deg,#0000 28%,#78aaff0d 42%,#78aaff21 49%,#78aaff29 50%,#78aaff21 51%,#78aaff0d 58%,#0000 72%)}.spot-corners:after{background-image:radial-gradient(ellipse var(--eax,900px) var(--eay,380px) at var(--mx2,var(--mx,50%)) var(--my2,var(--my,50%)), color-mix(in srgb, var(--accent-soft) calc(var(--lx,0) * 4.5%), transparent) 0%, color-mix(in srgb, var(--accent-soft) calc(var(--lx,0) * 2.2%), transparent) 50%, transparent 80%);opacity:0;transform-origin:var(--mx,50%) var(--my,50%);background-position:0 0;background-size:auto;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:scale(.94)}.spot-corners.is-glow:after{opacity:1;transform:scale(1)}.spot-corners:before{background-image:radial-gradient(ellipse var(--erx,600px) var(--ery,280px) at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent-soft) calc(var(--lx,0) * 12%), transparent) 0%, color-mix(in srgb, var(--accent-soft) calc(var(--lx,0) * 8%), transparent) 35%, color-mix(in srgb, var(--accent-soft) calc(var(--lx,0) * 3.5%), transparent) 60%, transparent 82%);opacity:0;transform-origin:var(--mx,50%) var(--my,50%);background-position:0 0;background-size:auto;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:scale(.94)}.spot-corners.is-glow:before{opacity:1;transform:scale(1)}[data-theme=dark] .spot-corners:after,[data-skin=ark] .spot-corners:after,[data-skin=hg] .spot-corners:after,[data-skin=cc] .spot-corners:after{background-image:radial-gradient(ellipse var(--eax,900px) var(--eay,380px) at var(--mx2,var(--mx,50%)) var(--my2,var(--my,50%)), rgba(120, 170, 255, calc(var(--lx,0) * .035)) 0%, rgba(120, 170, 255, calc(var(--lx,0) * .017)) 50%, transparent 80%)}[data-theme=dark] .spot-corners:before,[data-skin=ark] .spot-corners:before,[data-skin=hg] .spot-corners:before,[data-skin=cc] .spot-corners:before{background-image:radial-gradient(ellipse var(--erx,600px) var(--ery,280px) at var(--mx,50%) var(--my,50%), rgba(120, 170, 255, calc(var(--lx,0) * .11)) 0%, rgba(120, 170, 255, calc(var(--lx,0) * .075)) 35%, rgba(120, 170, 255, calc(var(--lx,0) * .033)) 60%, transparent 82%)}:where(a,button,input,textarea,select,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toast-host{z-index:400;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--accent-glow);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-2);color:var(--text);white-space:nowrap;opacity:0;transition:opacity .28s var(--ease), transform .28s cubic-bezier(.34, 1.56, .64, 1);background:#ffffffeb;border-radius:99px;align-items:center;gap:8px;padding:9px 18px;font-size:.85rem;display:flex;transform:translateY(12px)scale(.96)}.toast .copy-check{width:1.1em;height:1.1em}.toast.is-in{opacity:1;transform:none}.toast.is-err{color:#b91c1c;border-color:#f8717180}[data-theme=dark] .toast{background:#122630eb}[data-theme=dark] .toast.is-err{color:#fca5a5}.atk-toast.atk-toast{animation:.45s cubic-bezier(.34,1.56,.64,1) both check-pop}.atk-toast svg,.atk-toast .atk-icon{animation:.5s cubic-bezier(.34,1.56,.64,1) both check-pop}.search-result{transition:background-color .2s var(--ease), color .2s var(--ease)}.search-result.is-selected{background:color-mix(in srgb, var(--accent-soft) 26%, transparent);color:var(--accent-deep)}.search-hint{border-top:1px solid var(--line);font-family:var(--font-display);letter-spacing:.06em;color:var(--text-faint);flex-wrap:wrap;gap:10px;margin:6px 4px 2px;padding-top:6px;font-size:.66rem;display:flex}.search-hint kbd{font-family:var(--font-mono);border:1px solid var(--line);background:color-mix(in srgb, var(--bg-panel) 60%, transparent);border-radius:4px;padding:1px 5px;font-size:.64rem}.mobile-menu:not([hidden]){animation:.3s cubic-bezier(.16,1,.3,1) both menu-in}@keyframes menu-in{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:none}}.friend-copy-btn.is-copied .copy-ok,.contact-copy.is-pop{animation:.35s cubic-bezier(.34,1.56,.64,1) pop-in}@keyframes pop-in{0%{transform:scale(.4)}to{transform:scale(1)}}.nav-logo.is-spin{animation:.6s cubic-bezier(.34,1.56,.64,1) logo-spin}@keyframes logo-spin{0%{transform:rotate(0)scale(1)}60%{transform:rotate(320deg)scale(1.12)}to{transform:rotate(360deg)scale(1)}}.progress-ring-btn .arrow{transition:transform .35s cubic-bezier(.34, 1.56, .64, 1), color .2s var(--ease)}.progress-ring-btn:hover .arrow{color:var(--accent-deep);transform:translateY(-2px)}.progress-ring-btn:active .arrow{transform:translateY(2px)scale(.9)}.lightbox.is-closing,.moment-lightbox.is-closing{animation:.18s both fade-out}@keyframes fade-out{to{opacity:0}}.hero-content{will-change:transform, opacity}.category-pill,.friend-action,.contact-copy,.moment-link,.home-notice-close,.playlist-item{transition:color .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease), transform .15s var(--ease)}.category-pill:active,.friend-action:active,.contact-copy:active,.moment-link:active,.home-notice-close:active,.playlist-item:active{transform:scale(.94)}.about-facts{margin-top:var(--sp-7);justify-content:space-between;align-items:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.about-facts .facts{flex:300px;margin-top:0}.avatar-particles{z-index:-1;pointer-events:none;position:absolute;inset:0}.avatar-particles canvas{opacity:0;width:100%;height:100%;transition:opacity .8s var(--ease);display:block;position:absolute;inset:0}.avatar-particles canvas.is-ready{opacity:1}@media (width<=900px){.about-facts{gap:var(--sp-6)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}.pin-chip{font-family:var(--font-display);letter-spacing:.08em;border:1px solid var(--accent);color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 18%, transparent);vertical-align:.1em;border-radius:4px;margin-right:8px;padding:2px 7px;font-size:.66em;line-height:1.5;display:inline-block}.post-meta .pin-chip{vertical-align:middle}.archive-year{margin-top:var(--sp-8)}.archive-year:first-of-type{margin-top:0}.archive-year-label{margin:0 0 var(--sp-4);font-family:var(--font-display);align-items:baseline;gap:12px;display:flex}.archive-year-num{font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--accent-deep);font-weight:700}.archive-year-count{letter-spacing:.12em;color:var(--text-faint);font-size:.75rem}.archive-timeline{padding:0 0 0 var(--sp-5);border-left:1px solid var(--line-strong);gap:var(--sp-2);flex-direction:column;margin:0;list-style:none;display:flex}.archive-item{gap:2px var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);transition:background-color var(--dur-1) var(--ease);grid-template-columns:110px minmax(0,1fr);display:grid;position:relative}.archive-item:before{content:"";left:calc(-1 * var(--sp-5) - 4px);background:var(--accent);opacity:.5;width:7px;height:7px;transition:opacity var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);position:absolute;top:16px;transform:rotate(45deg)}.archive-item:hover{background:color-mix(in srgb, var(--accent-soft) 12%, transparent)}.archive-item:hover:before{opacity:1;transform:rotate(45deg)scale(1.3)}.archive-date{font-family:var(--font-mono);color:var(--text-faint);grid-area:1/1/3;padding-top:2px;font-size:.8rem}.archive-title{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur-1) var(--ease);grid-column:2;font-weight:600;text-decoration:none;overflow:hidden}.archive-title:hover{color:var(--accent-deep)}.archive-meta{font-family:var(--font-display);letter-spacing:.1em;color:var(--text-faint);grid-column:2;align-items:center;gap:8px;font-size:.68rem;display:flex}.archive-meta .num{font-family:var(--font-mono);letter-spacing:0;font-size:.72rem}@media (width<=640px){.archive-item{grid-template-columns:86px minmax(0,1fr)}}.container-post{max-width:1120px;padding-inline:var(--sp-5);margin-inline:auto}@media (width<=768px){.container-post{padding-inline:var(--sp-4)}}.post-body{gap:var(--sp-7);grid-template-columns:minmax(0,1fr);align-items:stretch;display:grid}.toc-side{display:none}@media (width>=1100px){.post-body{grid-template-columns:256px minmax(0,1fr)}.toc-side{display:block}.toc-inline{display:none}}.toc-card{padding:var(--sp-4) var(--sp-4) var(--sp-3);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-panel);box-shadow:var(--shadow-1);position:sticky;top:96px}.toc-card .micro-label{margin-bottom:var(--sp-3)}.toc-progress{margin-bottom:var(--sp-3);align-items:center;gap:10px;display:flex}.toc-progress-num{min-width:48px;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-faint);flex-shrink:0;font-size:.72rem}.toc-progress-track{background:var(--line);border-radius:99px;flex:1;height:3px;overflow:hidden}.toc-progress-fill{background:var(--accent);width:0%;height:100%;transition:width .25s var(--ease);border-radius:99px;display:block}.toc-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;max-height:calc(100vh - 236px);overflow-y:auto}.toc-scroll::-webkit-scrollbar{width:4px}.toc-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:99px}.toc-track{isolation:isolate;flex-direction:column;gap:3px;padding:2px 0;display:flex;position:relative}.toc-indicator{z-index:0;background:color-mix(in srgb, var(--accent-soft) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);box-shadow:0 2px 10px -4px var(--accent-glow);opacity:0;border-radius:10px;transition:transform .18s,height .18s,opacity .18s;position:absolute;top:0;left:0;right:0}.toc-row{z-index:1;color:var(--text-dim);transition:color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border-radius:10px;align-items:center;gap:10px;padding:7px 12px;font-size:.88rem;line-height:1.45;text-decoration:none;display:flex;position:relative}.toc-row:hover{color:var(--accent-deep);transform:translate(2px)}.toc-badge{border:1px solid var(--line-strong);width:24px;height:24px;font-family:var(--font-mono);color:var(--text-faint);transition:background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease);border-radius:7px;flex-shrink:0;place-items:center;font-size:.68rem;font-weight:700;display:grid}.toc-dot{flex-shrink:0;place-items:center;width:24px;display:grid}.toc-dot:before{content:"";background:var(--line-strong);width:6px;height:6px;transition:background-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);border-radius:99px}.toc-sub{color:var(--text-faint);padding-left:22px;font-size:.8rem}.toc-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.toc-row.is-visible{color:var(--accent-deep)}.toc-row.is-visible .toc-badge{border-color:var(--accent);color:var(--accent-deep)}.toc-row.is-visible .toc-dot:before{background:var(--accent)}.toc-row.is-visible[aria-current=true]{font-weight:600}.toc-row.is-visible[aria-current=true] .toc-badge{background:var(--accent);color:#0d1b22}.toc-inline{margin:var(--sp-5) 0 var(--sp-6);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);padding:var(--sp-3) var(--sp-4);background:var(--bg-panel)}.toc-inline summary{cursor:pointer;font-family:var(--font-display);letter-spacing:.12em;color:var(--text-dim);user-select:none;font-size:.78rem;list-style:none}.toc-inline summary::-webkit-details-marker{display:none}.toc-inline summary:before{content:"▸ ";color:var(--accent)}.toc-inline[open] summary:before{content:"▾ "}.toc-inline .toc-track{margin-top:var(--sp-2)}.prose h2,.prose h3{scroll-margin-top:96px}.anchor-link{color:var(--accent);opacity:0;transition:opacity var(--dur-1) var(--ease);background:0 0;margin-left:8px;font-size:.85em;text-decoration:none;border-bottom:none!important}.prose h2:hover .anchor-link,.prose h3:hover .anchor-link{opacity:1}.post-pager{gap:var(--sp-4);margin-top:var(--sp-7);grid-template-columns:1fr 1fr;display:grid}.pager-card{min-width:0;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel);transition:border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);flex-direction:column;gap:4px;text-decoration:none;display:flex}.pager-card:hover{border-color:var(--accent-glow);box-shadow:var(--shadow-2);transform:translateY(-3px)}.pager-next{text-align:right;align-items:flex-end}.pager-label{font-family:var(--font-display);letter-spacing:.12em;color:var(--text-faint);font-size:.68rem}.pager-title{max-width:100%;color:var(--text);white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur-1) var(--ease);font-size:.92rem;font-weight:600;overflow:hidden}.pager-card:hover .pager-title{color:var(--accent-deep)}.pager-spacer{opacity:.35;cursor:default;border-style:dashed}@media (width<=640px){.post-pager{grid-template-columns:1fr}.pager-next{text-align:left;align-items:flex-start}}.related{margin-top:var(--sp-7)}.related-list{margin:var(--sp-3) 0 0;flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.related-item a{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--bg-panel);transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease), transform var(--dur-1) var(--ease);align-items:baseline;gap:12px;padding:10px 14px;text-decoration:none;display:flex}.related-item a:hover{border-color:var(--accent-glow);background:color-mix(in srgb, var(--accent-soft) 12%, var(--bg-panel));transform:translate(4px)}.related-title{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;transition:color var(--dur-1) var(--ease);flex:1;font-weight:600;overflow:hidden}.related-item a:hover .related-title{color:var(--accent-deep)}.related-meta{font-family:var(--font-mono);color:var(--text-faint);flex-shrink:0;font-size:.72rem}.empty-hint{color:var(--text-faint);font-size:var(--text-sm)}.filter-search{max-width:340px}.filter-status{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.filter-status .micro-label{margin:0}
