.site-shell,.personal-space{--page-ink:#302d45;--page-muted:#747084;--page-paper:#fff;--page-sidebar:#ffffffdb;--page-canvas:#f6f5fa;--page-soft:#f1eef9;--page-line:#e8e5ef;--page-accent:#7661bb;--page-pink:#f9e3ed;--page-mint:#e9f3ee}.personal-space{min-height:calc(100vh - 50px);color:var(--page-ink);background:var(--page-canvas);padding:30px clamp(20px,4vw,64px) 72px;font-family:Source Sans Pro,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.75}.personal-space-inner{max-width:1120px;margin-inline:auto}.personal-space *{min-width:0}.personal-space :is(h1,h2,h3,p){margin-top:0}.personal-space :is(a,button,input,textarea):focus-visible{outline:3px solid var(--page-accent);outline-offset:4px}.personal-navigation{justify-content:space-between;align-items:center;gap:20px;margin-bottom:36px;display:flex}.personal-back{color:var(--page-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.personal-navigation nav{border:1px solid var(--page-line);background:var(--page-paper);border-radius:40px;gap:4px;padding:5px;display:flex}.personal-navigation nav a{color:var(--page-muted);border-radius:30px;justify-content:center;align-items:center;gap:7px;padding:9px 17px;font-size:13px;transition:color .16s,background .16s;display:inline-flex}.personal-navigation nav a:hover{color:var(--page-accent);background:var(--page-soft)}.personal-navigation nav a[aria-current=page]{color:var(--page-paper);background:var(--page-ink)}.standalone-page{gap:24px;display:grid}.standalone-eyebrow{color:var(--page-accent);letter-spacing:.18em;align-items:center;gap:8px;margin-bottom:18px;font-size:11px;font-weight:700;display:flex}.about-intro,.projects-intro,.friends-intro{border-radius:28px;padding:42px;position:relative}.about-intro{background:var(--page-soft);grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:40px;display:grid}.about-intro-copy{grid-area:1/1}.personal-space h1{letter-spacing:-.045em;margin-bottom:22px;font-size:clamp(34px,3.8vw,56px);font-weight:700;line-height:1.28}.personal-space h1 small{color:var(--page-muted);letter-spacing:.12em;margin-bottom:14px;font-size:13px;font-weight:400;display:block}.personal-space h1 span{color:var(--page-accent)}.about-intro p:not(.standalone-eyebrow),.projects-intro p:not(.standalone-eyebrow),.friends-intro p:not(.standalone-eyebrow){max-width:580px;color:var(--page-muted);margin-bottom:12px;font-size:14px;line-height:1.95}.about-intro-avatar{border:1px solid var(--page-line);background:var(--page-paper);border-radius:22px;grid-area:1/2;padding:16px 16px 0;position:relative;transform:rotate(6deg);box-shadow:0 14px 35px #40315c12}.about-intro-avatar img{aspect-ratio:1;object-fit:cover;background:var(--page-pink);border-radius:12px;width:100%;height:auto;display:block}.avatar-caption{text-align:center;letter-spacing:.16em;padding:13px 0;font-size:12px;font-weight:700;display:block}.personal-button{color:#fff;background:#7661bb;border-radius:12px;justify-content:center;align-items:center;gap:20px;margin-top:14px;padding:11px 20px;font-size:13px;font-weight:700;transition:background .16s,transform .16s;display:inline-flex}.personal-button:hover{color:#fff;background:#6550a9;transform:translateY(-2px)}.standalone-section,.project-group{border:1px solid var(--page-line);background:var(--page-paper);border-radius:24px;padding:32px}.standalone-section-title{align-items:center;gap:13px;margin-bottom:26px;display:flex}.standalone-section-title>svg{box-sizing:content-box;color:var(--page-accent);background:var(--page-soft);border-radius:14px;padding:12px}.standalone-section-title span{color:var(--page-muted);letter-spacing:.16em;margin-bottom:4px;font-size:10px;font-weight:700;line-height:1.3;display:block}.standalone-section-title h2{letter-spacing:-.025em;margin:0;font-size:20px;line-height:1.4}.skill-groups{gap:20px;display:grid}.skill-group{border-bottom:1px solid var(--page-line);grid-template-columns:120px minmax(0,1fr);align-items:start;gap:16px;padding-bottom:20px;display:grid}.skill-group:last-child{border:0;padding-bottom:0}.skill-group h3{align-items:center;gap:8px;margin:6px 0 0;font-size:13px;font-weight:400;display:flex}.skill-group h3:before{background:var(--page-accent);content:"";border-radius:50%;flex-shrink:0;width:6px;height:6px}.skill-group:nth-child(2) h3:before{background:#cb7a9b}.skill-group:nth-child(3) h3:before{background:#6b9d87}.skill-group ul,.project-card ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-group li{border:1px solid var(--page-line);color:var(--page-ink);background:var(--page-canvas);border-radius:8px;padding:5px 12px;font-size:12px}.about-tool-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;display:grid}.about-device-section{background:var(--page-paper);border-color:var(--page-line)}.about-device-section .standalone-section-title>svg{color:var(--page-accent);background:var(--page-soft)}.device-card{text-align:center}.device-card strong,.device-card span,.device-card small{display:block}.device-card strong{margin-top:20px;font-size:18px}.device-card span{color:var(--page-muted);font-size:13px}.device-card small{color:var(--page-muted);margin-top:6px;font-size:11px}.device-illustration{max-width:220px;margin:8px auto 0}.device-illustration>div{height:126px;color:var(--page-muted);background:var(--page-canvas);border:6px solid #59606e;border-bottom-width:10px;border-radius:12px 12px 3px 3px;place-items:center;margin:0 13px;display:grid}.device-illustration>span{background:#a0a6b1;border-radius:2px 2px 14px 14px;height:8px}.software-list{margin:0}.software-list>div{border-bottom:1px solid var(--page-line);padding:13px 0}.software-list>div:first-child{padding-top:0}.software-list>div:last-child{border:0;padding-bottom:0}.software-list dt{color:var(--page-ink);margin-bottom:4px;font-size:12px;font-weight:700}.software-list dd{color:var(--page-muted);margin:0;font-size:13px;line-height:1.85}.contact-section{scroll-margin-top:80px}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.contact-card{border:1px solid var(--page-line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:17px;transition:border-color .16s,background .16s;display:flex}.contact-card:hover{border-color:var(--page-accent);background:var(--page-soft)}.contact-card strong,.contact-card small{display:block}.contact-card strong{color:var(--page-ink);font-size:14px}.contact-card small{color:var(--page-muted);overflow-wrap:anywhere;margin-top:3px;font-size:12px}.contact-card>svg{color:var(--page-accent);flex-shrink:0}.contact-card.is-pending{border-style:dashed;justify-content:flex-start}.projects-intro{justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 8px 36px;display:flex}.projects-intro h1{font-size:clamp(36px,4.4vw,64px)}.projects-profile-links{flex-shrink:0;gap:8px;padding-bottom:12px;display:flex}.projects-profile-links a{border:1px solid var(--page-line);background:var(--page-paper);color:var(--page-ink);border-radius:12px;align-items:center;gap:14px;padding:10px 17px;font-size:13px;display:inline-flex}.projects-profile-links a:hover{border-color:var(--page-accent);color:var(--page-accent)}.project-group{background:0 0;border:0;border-radius:0;padding:0}.project-group+.project-group{margin-top:12px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--page-line);background:var(--page-paper);border-radius:22px;flex-direction:column;padding:28px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.project-card:hover{border-color:var(--page-accent);transform:translateY(-4px);box-shadow:0 12px 28px #40315c0b}.project-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-mark{width:46px;height:46px;color:var(--page-accent);background:var(--page-soft);border-radius:14px;place-items:center;display:grid}.project-card:nth-child(3n) .project-mark{color:#65907a;background:var(--page-mint)}.project-card:nth-child(4n) .project-mark{color:#b76d8c;background:var(--page-pink)}.project-source-links{color:var(--page-muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.project-source-links a{align-items:center;gap:4px;display:inline-flex}.project-source-links a:hover{color:var(--page-accent)}.project-card h3{letter-spacing:-.025em;margin:20px 0 9px;font-size:22px;line-height:1.4}.project-card h3 a{color:var(--page-ink)}.project-card h3 a:hover{color:var(--page-accent)}.project-card p{color:var(--page-muted);flex:1;margin-bottom:22px;font-size:13px;line-height:1.85}.project-card li{color:var(--page-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.project-card li+li:before{color:var(--page-accent);content:"·";margin-right:8px}.project-card-featured{background:var(--page-soft);border-color:#0000;grid-column:1/-1;padding:32px}.project-card-featured .project-mark{color:var(--page-accent);background:var(--page-paper)}.project-card-featured h3{font-size:30px}.project-card-featured p{max-width:640px;font-size:14px}.friends-intro{background:var(--page-pink);min-height:345px;padding-right:270px}.friends-intro h1 span{color:#ae6484}.friends-intro .standalone-eyebrow{color:#a2637e}.friends-intro .personal-button{background:#a85f7e}.friends-intro .personal-button:hover{background:#914c68}.friend-orbit{color:#b67c96;align-items:center;gap:10px;display:flex;position:absolute;top:50%;right:45px;transform:translateY(-50%)rotate(-12deg)}.friend-orbit span{border:5px solid var(--page-paper);color:#9c6681;background:#efd0e0;border-radius:22px;place-items:center;width:82px;height:102px;font-size:28px;display:grid;box-shadow:0 10px 25px #81405a0d}.friend-orbit span:last-child{color:#897ab3;background:#e4dff3;transform:translateY(28px)rotate(22deg)}.friend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.friend-card{border:1px solid var(--page-line);background:var(--page-canvas);border-radius:18px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:16px;padding:22px;transition:border-color .16s,transform .16s;display:grid}.friend-card:hover{border-color:var(--page-accent);transform:translateY(-3px)}.friend-card img{object-fit:cover;background:var(--page-soft);border-radius:18px;width:58px;height:58px}.friend-card strong,.friend-card small{display:block}.friend-card strong{color:var(--page-ink);margin-bottom:5px;font-size:16px}.friend-card small{color:var(--page-muted);overflow-wrap:anywhere;font-size:12px}.friend-card>svg{color:var(--page-accent)}.friend-empty{border:1px dashed var(--page-line);color:var(--page-muted);text-align:center;border-radius:16px;padding:28px}.friend-apply-section{scroll-margin-top:80px}.friend-apply-copy{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-bottom:30px;display:grid}.friend-apply-copy h3{margin-bottom:12px;font-size:16px}.friend-apply-copy ul{color:var(--page-muted);margin:0;padding-left:18px;font-size:13px;line-height:2}.friend-apply-copy li+li{margin-top:6px}.friend-apply-copy dl{border:1px solid var(--page-line);background:var(--page-canvas);border-radius:16px;margin:0;padding:20px}.friend-apply-copy dl>div{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:5px 0;display:grid}.friend-apply-copy dt{color:var(--page-muted);font-size:12px}.friend-apply-copy dd{color:var(--page-ink);overflow-wrap:anywhere;margin:0;font-size:12px}:root[data-tone=dim] .site-shell,:root[data-tone=dim] .personal-space{--page-ink:#e8e4f1;--page-muted:#afa8bf;--page-paper:#272431;--page-sidebar:#191919db;--page-canvas:#211e2a;--page-soft:#332d44;--page-line:#413a50;--page-accent:#baa3f0;--page-pink:#3d2936;--page-mint:#293b34}:root[data-tone=dim] .friends-intro h1 span,:root[data-tone=dim] .friends-intro .standalone-eyebrow{color:#e1a3c0}@media (max-width:1100px){.personal-space{padding-inline:28px}.about-intro{grid-template-columns:minmax(0,1fr) 165px;gap:28px;padding:32px}.projects-intro{flex-direction:column;align-items:flex-start;gap:10px}.friends-intro{padding:32px 220px 32px 32px}.friend-orbit{gap:6px;right:24px}.friend-orbit span{width:65px;height:86px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.friend-grid{grid-template-columns:1fr}}@media (max-width:767px){.personal-space{padding:22px 20px 44px}.personal-navigation{flex-wrap:wrap;gap:18px;margin-bottom:24px}.personal-navigation nav{width:100%}.personal-navigation nav a{flex:1;padding:9px 6px;font-size:12px}.standalone-page{gap:18px}.about-intro{grid-template-columns:minmax(0,1fr) 120px;align-items:start;gap:20px;padding:26px}.about-intro-copy{display:contents}.about-intro .standalone-eyebrow{grid-area:1/1;margin-top:8px;margin-bottom:0;font-size:9px}.about-intro h1{grid-area:2/1;margin:-12px 0 0;font-size:32px}.about-intro h1 span{display:block}.about-intro-avatar{border-radius:16px;grid-row:1/3;padding:9px 9px 0}.avatar-caption{padding:9px 0;font-size:9px}.about-intro p:not(.standalone-eyebrow){grid-column:1/-1;margin:0;font-size:13px}.about-intro .personal-button{grid-column:1/-1;justify-self:start;margin-top:0}.standalone-section,.project-card{border-radius:20px;padding:24px}.standalone-section-title{margin-bottom:24px}.skill-group{grid-template-columns:1fr;gap:12px}.about-tool-grid,.project-grid,.friend-apply-copy{grid-template-columns:1fr;gap:18px}.projects-intro{padding:14px 4px 20px}.projects-intro h1{font-size:38px}.project-card-featured{grid-column:auto}.project-card-featured h3{font-size:26px}.friends-intro{min-height:0;padding:28px}.friends-intro h1{max-width:360px;font-size:36px}.friend-orbit{display:none}.friend-card{gap:12px;padding:18px}}@media (max-width:380px){.personal-space{padding-inline:14px}.about-intro{grid-template-columns:minmax(0,1fr) 95px;gap:18px;padding:22px}.about-intro h1{font-size:28px}.contact-grid{grid-template-columns:1fr}.personal-navigation nav a{gap:4px}.projects-intro h1,.friends-intro h1{font-size:32px}}@media (prefers-reduced-motion:reduce){.personal-space *,.personal-space :before,.personal-space :after{scroll-behavior:auto!important;transition:none!important}.personal-space :is(.personal-button,.project-card,.friend-card):hover{transform:none}}:root .site-shell{--sidebar-bg:var(--page-sidebar);--sidebar-text:var(--page-muted);--sidebar-active:var(--page-accent);width:100%}:root .site-shell .personal-space{background:0 0}:root .site-shell .top-nav{border-bottom:1px solid var(--page-line);background:var(--page-paper);box-shadow:none}:root .site-shell .top-brand{color:var(--page-ink);background:0 0}:root .site-shell .top-search{color:var(--page-ink);background:var(--page-canvas);box-shadow:none}:root .site-shell .top-nav :is(.icon-button,.top-search button){color:var(--page-muted)}:root .site-shell .left-sidebar{border-right:1px solid var(--page-line)}:root .site-shell .left-sidebar,:root .site-shell .right-rail{color:var(--page-muted);background:var(--page-sidebar);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}:root .site-shell .author-avatar{border:4px solid var(--page-paper);box-shadow:0 0 0 1px var(--page-line),0 8px 24px #7661bb12;animation:none}:root .site-shell .author-avatar:hover{transform:rotate(-6deg)scale(1.04)}:root .site-shell .author-card strong{color:var(--page-ink)}:root .site-shell .author-description{color:var(--page-muted)}:root .site-shell .sidebar-nav{padding-inline:14px}:root .site-shell .sidebar-link{height:42px;color:var(--page-muted);border-radius:11px;margin-bottom:4px}:root .site-shell .sidebar-link svg{color:var(--page-muted);stroke:currentColor}:root .site-shell .sidebar-link:hover,:root .site-shell .sidebar-link.active{color:var(--page-accent);background:var(--page-soft)}:root .site-shell .sidebar-link.active svg{color:var(--page-accent)}:root .site-shell .sidebar-subnav a{color:var(--page-muted)}:root .site-shell .sidebar-subnav a:hover{color:var(--page-accent);background:var(--page-soft)}:root .site-shell .sidebar-toolbar{border:1px solid var(--page-line);background:var(--page-canvas);border-radius:12px;margin:0 14px 18px}:root .site-shell .sidebar-toolbar a{color:var(--page-muted)}:root .site-shell .sidebar-toolbar a:hover{color:var(--page-accent)}:root .site-shell .mobile-tool-button{border:1px solid var(--page-line);color:var(--page-muted);background:var(--page-paper);box-shadow:none}.friend-contact-note{border-top:1px solid var(--page-line);justify-content:space-between;align-items:center;gap:24px;padding-top:26px;display:flex}.friend-contact-note h3{margin-bottom:6px;font-size:16px}.friend-contact-note p{color:var(--page-muted);margin-bottom:0;font-size:13px}.friend-contact-note .personal-button{flex-shrink:0;margin:0}@media (min-width:768px){:root .site-shell.sidebar-folded .sidebar-nav{padding-inline:8px}:root .site-shell.sidebar-folded .sidebar-subnav{background:var(--page-paper)}}@media (max-width:767px){:root .site-shell .sidebar-scrim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#302d4540}.friend-contact-note{flex-direction:column;align-items:flex-start;gap:18px}}@media (prefers-reduced-motion:reduce){:root .site-shell .author-avatar{transition:none}}.personal-navigation{border:1px solid var(--page-line);background:var(--page-paper);border-radius:22px;padding:12px 16px}.projects-intro{background:var(--page-paper);padding:36px}.project-group>.standalone-section-title{background:var(--page-paper);border-radius:18px;margin-bottom:18px;padding:18px 24px}.skill-group li{align-items:center;gap:8px;display:inline-flex}.technology-logo{flex-shrink:0;width:19px;height:19px}.technology-logo-frame{background:#fff;border-radius:7px;place-items:center;width:27px;height:27px;display:inline-grid}.device-card+.device-card{border-top:1px solid var(--page-line);margin-top:28px;padding-top:26px}.device-card+.device-card .device-illustration>div{height:86px}.project-count{color:var(--page-muted);margin-left:auto;font-size:13px}@media (max-width:767px){.projects-intro{padding:26px}.personal-navigation{padding:14px}}.friend-form-title{margin:28px 0 16px;font-size:18px}.friend-application-form{border-top:1px solid var(--page-line);padding-top:22px}.friend-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.friend-application-form label,.friend-application-form label>span{display:block}.friend-application-form label>span{color:var(--page-ink);margin-bottom:8px;font-size:13px;font-weight:700}.friend-application-form input,.friend-application-form textarea{border:1px solid var(--page-line);width:100%;color:var(--page-ink);background:var(--page-canvas);font:inherit;border-radius:10px;padding:12px 14px;font-size:13px}.friend-application-form input{min-height:46px}.friend-application-form textarea{resize:vertical;min-height:116px;padding-bottom:28px}.friend-application-form :is(input,textarea)::placeholder{color:var(--page-muted);opacity:.85}.friend-application-form :is(input,textarea):focus{border-color:var(--page-accent);box-shadow:0 0 0 3px var(--page-soft)}.friend-description-field{margin-top:18px;position:relative}.friend-description-field small{color:var(--page-muted);font-size:11px;position:absolute;bottom:10px;right:14px}.friend-form-success{color:var(--page-ink);background:var(--page-mint);border-radius:10px;align-items:center;gap:8px;margin:16px 0 0;padding:12px;display:flex}.friend-form-submit{justify-content:space-between;align-items:center;gap:18px;margin-top:20px;display:flex}.friend-form-submit p{color:var(--page-muted);margin:0;font-size:12px}.friend-form-submit button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#7661bb;border:0;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:13px;display:inline-flex}.friend-form-submit button:hover{background:#6550a9}.friend-form-submit button:disabled{cursor:wait;opacity:.65}@media (max-width:767px){.friend-form-grid{grid-template-columns:1fr}.friend-form-submit{flex-direction:column;align-items:stretch}.projects-intro h1{font-size:clamp(24px,7vw,38px)}}.personal-space{--page-paper:#ffffffd1;--page-canvas:#f6f5fabd;--page-soft:#f1eef9d6;--page-pink:#f9e3edd6;--page-mint:#e9f3eed6;--page-line:#e8e5efad}:root[data-tone=dim] .personal-space{--page-paper:#272431d1;--page-canvas:#211e2abd;--page-soft:#332d44d6;--page-pink:#3d2936d6;--page-mint:#293b34d6;--page-line:#786c9061}.personal-navigation,.standalone-page>:not(.project-group),.project-group>.standalone-section-title,.project-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
