:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"MiSans", "HarmonyOS Sans SC", "PingFang SC", -apple-system, BlinkMacSystemFont, "SF Pro Text", "Microsoft YaHei", "Segoe UI", Roboto, sans-serif;--bg:#f5f5f7;--card:#fff;--surface-container:#f0f0f2;--glass:#ffffffc7;--glass-edge:#ffffffd9;--dim:#00000029;--primary:#3482ff;--primary-strong:#2668d9;--on-primary:#fff;--text:#000;--text-2:#0009;--text-3:#0000005c;--line:#00000012;--press:#0000000d;--shadow-card:0 1px 3px #0000000f;--shadow-float:0 12px 32px -8px #00000038, 0 2px 10px #00000014;--r-card:20px;--r-dialog:26px;--r-btn:14px;--r-chip:999px;--ease-enter:cubic-bezier(.22, 1.12, .36, 1);--ease-exit:cubic-bezier(.4, 1, .6, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--dur-fast:.16s;--dur-base:.26s;--dur-slow:.38s;--blur:22px;--sat:170%;--page-max:680px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--card:#1c1c1e;--surface-container:#2c2c2e;--glass:#28282cb8;--glass-edge:#ffffff1a;--dim:#0000007a;--primary:#4c94ff;--primary-strong:#6ba7ff;--text:#fff;--text-2:#fff9;--text-3:#ffffff57;--line:#ffffff17;--press:#ffffff12;--shadow-card:0 1px 3px #00000080;--shadow-float:0 16px 40px -10px #000000b3, 0 2px 12px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--dur-base) var(--ease-standard), color var(--dur-base) var(--ease-standard);font-size:15px;line-height:1.55;overflow-x:hidden}img{max-width:100%;display:block}a{color:var(--primary);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0}:focus-visible{outline:2.5px solid var(--primary);outline-offset:2px;border-radius:8px}::selection{background:color-mix(in srgb, var(--primary) 26%, transparent)}.page{width:100%;max-width:var(--page-max);padding:0 16px calc(48px + env(safe-area-inset-bottom));margin:0 auto}.section{margin-top:22px}.group-title{letter-spacing:.2px;color:var(--text-2);margin:0 14px 8px;font-size:12.5px;font-weight:500}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--text-2);font-size:12.5px;line-height:1.7}.noscript{max-width:var(--page-max);color:var(--text-2);margin:0 auto;padding:40px 20px}.noscript h1{color:var(--text);margin-bottom:12px;font-size:24px}.appbar{z-index:40;padding:calc(env(safe-area-inset-top) + 12px) 16px 10px;position:sticky;top:0}.appbar:before{content:"";-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate();transition:background var(--dur-base) var(--ease-standard), box-shadow var(--dur-base) var(--ease-standard), backdrop-filter var(--dur-base) var(--ease-standard);pointer-events:none;background:0 0;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 1px #0000}.appbar[data-scrolled=true]:before{background:var(--glass);-webkit-backdrop-filter:blur(var(--blur)) saturate(var(--sat));backdrop-filter:blur(var(--blur)) saturate(var(--sat));box-shadow:0 1px 0 var(--line)}.appbar__inner{z-index:1;max-width:calc(var(--page-max) - 32px);align-items:center;gap:12px;margin:0 auto;display:flex;position:relative}.appbar__title{flex:1;min-width:0}.appbar__name{letter-spacing:.2px;transition:font-size var(--dur-base) var(--ease-standard);font-size:26px;font-weight:600;line-height:1.2;display:block}.appbar__link{color:inherit;text-decoration:none;display:block}.appbar[data-scrolled=true] .appbar__name{font-size:17px}.appbar__sub{max-height:22px;color:var(--text-2);transition:opacity var(--dur-fast) var(--ease-standard), max-height var(--dur-base) var(--ease-standard), margin var(--dur-base) var(--ease-standard);margin-top:3px;font-size:12.5px;display:block;overflow:hidden}.appbar[data-scrolled=true] .appbar__sub{opacity:0;max-height:0;margin-top:0}.appbar__actions{flex:none;align-items:center;gap:8px;display:flex}.segmented{--seg-btn-w:46px;--seg-count:2;--seg-index:0;border-radius:var(--r-chip);background:var(--press);padding:3px;display:inline-flex;position:relative}.segmented--icon{--seg-btn-w:38px}.segmented__thumb{z-index:0;width:calc((100% - 6px) / var(--seg-count));border-radius:var(--r-chip);background:var(--card);transform:translateX(calc(var(--seg-index) * 100%));transition:transform var(--dur-slow) var(--ease-enter);position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 1px 3px #0000001f,0 1px 1px #0000000a}.segmented__btn{z-index:1;width:var(--seg-btn-w);border-radius:var(--r-chip);height:30px;color:var(--text-2);transition:color var(--dur-fast) var(--ease-standard);flex:none;place-items:center;font-size:13px;font-weight:500;display:grid;position:relative}.segmented__btn[aria-pressed=true]{color:var(--text)}.segmented__btn svg{width:17px;height:17px}.card{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow-card);overflow:hidden}.card--pad{padding:16px}.row{color:inherit;align-items:center;gap:12px;padding:13px 16px;display:flex;position:relative}a.row{transition:background var(--dur-fast) var(--ease-standard)}a.row:hover,a.row:active{background:var(--press)}.row+.row:after{content:"";background:var(--line);height:1px;position:absolute;top:0;left:16px;right:0}.row__text{flex:1;min-width:0}.row__t{font-size:15.5px;display:block}.row__s{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12.5px;display:block;overflow:hidden}.row__chev{width:16px;height:16px;color:var(--text-3);transition:transform var(--dur-fast) var(--ease-standard);flex:none}a.row:hover .row__chev{color:var(--primary);transform:translate(2px)}.row--todo .row__s{color:var(--text-2)}.hero{padding:20px 18px 16px}.hero__top{align-items:center;gap:14px;display:flex}.hero__avatar{background:var(--surface-container);object-fit:cover;border-radius:22px;flex:none;width:72px;height:72px;box-shadow:0 2px 8px #0000001a}.hero__id{min-width:0}.hero__name{letter-spacing:.2px;font-size:21px;font-weight:600}.hero__badges{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;display:flex}.badge{border-radius:var(--r-chip);background:var(--surface-container);color:var(--text-2);align-items:baseline;gap:5px;padding:5px 11px;font-size:12.5px;display:inline-flex}.badge b{color:var(--text);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--r-chip);background:var(--surface-container);color:var(--text-2);transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-enter);align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;display:inline-flex}a.chip:hover{background:var(--press);color:var(--text)}a.chip:active{transform:scale(.95)}.about__text{color:var(--text-2);font-size:14px;line-height:1.8}.view-all{margin-top:10px}.project{text-align:left;background:var(--card);border-radius:var(--r-card);width:100%;box-shadow:var(--shadow-card);transition:transform var(--dur-fast) var(--ease-enter), box-shadow var(--dur-base) var(--ease-standard);display:block;overflow:hidden}.project:hover{box-shadow:var(--shadow-float)}.project:active{transform:scale(.985)}.project__inner{padding:15px 16px 14px;display:block}.project__head{align-items:center;gap:8px;display:flex}.project__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15.5px;font-weight:500;overflow:hidden}.project__desc{color:var(--text-2);margin-top:6px;font-size:13px;display:block}.project__meta{color:var(--text-2);flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;font-size:12px;display:flex}.project__meta .dot{margin-right:0}.dot{vertical-align:middle;background:var(--dot,var(--text-3));border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.project__lang,.project__star{align-items:center;gap:6px;display:inline-flex}.project__star{gap:4px}.project__ico{width:13px;height:13px;color:var(--text-3)}.project__chev{width:16px;height:16px;color:var(--text-3);flex:none}.btn{border-radius:var(--r-btn);height:44px;transition:transform var(--dur-fast) var(--ease-enter), background var(--dur-fast) var(--ease-standard), opacity var(--dur-fast);justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:15px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.97)}.btn svg{width:17px;height:17px}.btn--primary{background:var(--primary);color:var(--on-primary);flex:1}.btn--primary:hover{background:var(--primary-strong)}.btn--ghost{background:var(--press);color:var(--text)}.scrim{z-index:60;background:var(--dim);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard);position:fixed;top:0;bottom:0;left:0;right:0}.scrim[data-open=true]{opacity:1;pointer-events:auto}.sheet{z-index:61;background:var(--glass);width:min(380px,88vw);max-height:84vh;-webkit-backdrop-filter:blur(var(--blur)) saturate(var(--sat));backdrop-filter:blur(var(--blur)) saturate(var(--sat));border-radius:var(--r-dialog);box-shadow:var(--shadow-float), inset 0 0 0 1px var(--glass-edge);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-base) var(--ease-exit), transform var(--dur-base) var(--ease-exit), visibility 0s linear var(--dur-base);padding:22px 20px 16px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)scale(.92)}.sheet[data-open=true]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity var(--dur-base) var(--ease-standard), transform var(--dur-slow) var(--ease-enter), visibility 0s;transform:translate(-50%,-50%)scale(1)}.sheet__title{text-align:center;font-size:17px;font-weight:600}.sheet__name{text-align:center;color:var(--text-2);word-break:break-all;margin-top:6px;font-size:13px}.sheet__desc{border-radius:var(--r-btn);background:var(--press);color:var(--text-2);margin-top:14px;padding:12px 14px;font-size:13.5px;line-height:1.7}.sheet__meta{margin-top:14px}.sheet__meta-row{align-items:center;gap:10px;padding:9px 0;font-size:13.5px;display:flex}.sheet__meta-row+.sheet__meta-row{border-top:1px solid var(--line)}.sheet__meta-k{color:var(--text-2);flex:none}.sheet__meta-v{text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sheet__acts{gap:10px;margin-top:18px;display:flex}.sheet__acts .btn--ghost{flex:none}.todo{border-radius:var(--r-chip);color:#8a4a00;letter-spacing:.2px;white-space:nowrap;background:#ff9f0a29;align-items:center;margin-left:6px;padding:1.5px 7px;font-size:10.5px;font-weight:600;display:inline-flex}[data-theme=dark] .todo{color:#ffc061;background:#ff9f0a33}.footer{text-align:center;color:var(--text-2);margin-top:34px;font-size:11.5px;line-height:1.9}.footer a{color:var(--text-2);text-underline-offset:3px;text-decoration:underline}.footer a:hover{color:var(--primary)}@media (max-width:430px){.appbar{padding-bottom:8px;padding-left:14px;padding-right:14px}.appbar__inner{flex-wrap:wrap;gap:6px 8px}.appbar__title{flex:100%}.appbar__actions{flex:100%;justify-content:flex-end;gap:6px}.appbar__name{font-size:21px}.hero__avatar{border-radius:19px;width:62px;height:62px}.hero__name{font-size:19px}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.enter{animation:rise .5s var(--ease-enter) both;animation-delay:calc(var(--i,0) * 60ms)}@keyframes pop{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}.hero__avatar{animation:pop .52s var(--ease-enter) both;animation-delay:40ms}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
