:root{--ink:#28242c;--muted:#7c727e;--pink:#fa82bf;--lilac:#bca5ff;--paper:#fdfbfe;font-family:'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);-webkit-tap-highlight-color:transparent}
html{scroll-padding-top:100px}body{margin:0;background:var(--paper);font-family:'PingFang SC','Microsoft YaHei',sans-serif}body.welcome-open{overflow:hidden}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a,button{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #9579cc}p{line-height:1.8}.scan-beam,.card-preview-inner{display:none!important}
#splash-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;box-sizing:border-box;padding:24px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left));background:#fdfcfe;isolation:isolate;opacity:1;visibility:visible;transition:opacity .42s ease,visibility .42s;min-height:100svh}
.welcome-aurora{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}
.welcome-aurora span{position:absolute;display:block;width:min(125vw,650px);aspect-ratio:1;border-radius:50%;will-change:transform,opacity}
.welcome-aurora .aurora-rose{left:-38%;top:-12%;background:radial-gradient(ellipse,rgba(250,178,218,.62),rgba(250,201,230,.23) 40%,transparent 70%);animation:aurora-rose 10s ease-in-out infinite}
.welcome-aurora .aurora-lilac{right:-42%;top:20%;background:radial-gradient(ellipse,rgba(193,169,244,.55),rgba(215,197,250,.2) 42%,transparent 70%);animation:aurora-lilac 13s ease-in-out infinite -4s}
.welcome-aurora .aurora-blue{left:-15%;bottom:-35%;background:radial-gradient(ellipse,rgba(158,202,249,.48),rgba(203,224,252,.15) 44%,transparent 70%);animation:aurora-blue 15s ease-in-out infinite -7s}
#splash-overlay::after{content:'';position:absolute;inset:0;z-index:3;background:#fff;pointer-events:none;animation:white-unveil 2.25s cubic-bezier(.25,.46,.45,.94) both}
#splash-overlay.is-leaving{opacity:0;visibility:hidden;pointer-events:none}#splash-overlay[hidden]{display:none!important}
html.resume-home #splash-overlay{display:none!important}html.resume-home body.welcome-open{overflow:auto}
.welcome-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:600px;padding:0;transform:translateY(-8px)}
.welcome-logo{display:block;width:96px;height:96px;border-radius:27px;object-fit:cover;box-shadow:0 14px 40px rgba(217,172,234,.18);animation:logo-arrive 1.5s .35s cubic-bezier(.22,1,.36,1) both}
.welcome-title{font-size:clamp(19px,5.7vw,25px);line-height:1.5;letter-spacing:-.045em;font-weight:800;margin:23px 0 7px;color:#29252c;text-wrap:balance;animation:welcome-arrive 1.25s .65s both}
.welcome-subtitle{font-size:13px;line-height:1.7;color:#7e747f;margin:0 0 24px;animation:welcome-arrive 1.25s .8s both}
.welcome-enter{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #bfa8bf;border-radius:999px;min-height:44px;min-width:144px;padding:0 26px;background:transparent;color:#70536c;font-size:13px;font-weight:600;letter-spacing:.055em;box-shadow:none;animation:welcome-arrive 1.2s .95s both;transition:opacity .18s}
.welcome-enter:active{opacity:.8}.welcome-enter svg{width:15px;height:15px}.welcome-logo,.welcome-title,.welcome-subtitle,.welcome-enter{will-change:auto}
@keyframes logo-arrive{from{opacity:0;filter:blur(7px);transform:translateY(8px) scale(.96)}to{opacity:1;filter:blur(0);transform:none}}
@keyframes welcome-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes white-unveil{0%,12%{opacity:1;visibility:visible}55%{opacity:.3;visibility:visible}100%{opacity:0;visibility:hidden}}
@keyframes aurora-rose{0%,100%{opacity:.45;transform:translate(-5%,-5%) scale(.92)}50%{opacity:.95;transform:translate(20%,23%) scale(1.12)}}
@keyframes aurora-lilac{0%,100%{opacity:.85;transform:translate(8%,10%) scale(1.08)}50%{opacity:.35;transform:translate(-22%,-18%) scale(.92)}}
@keyframes aurora-blue{0%,100%{opacity:.4;transform:translate(10%,8%) scale(.95)}50%{opacity:.95;transform:translate(-12%,-30%) scale(1.15)}}
.atmosphere-particles{position:fixed;inset:0;width:100%;height:100%;pointer-events:none!important;z-index:1;opacity:.85}#welcome-particles{position:absolute;z-index:0;opacity:.9}
body.welcome-open>#ambient-particles{visibility:hidden}body:not(.welcome-open) #splash-overlay .atmosphere-particles{visibility:hidden}
body>footer,body>main{position:relative;z-index:2}body>#main-header{position:fixed;z-index:50}
body>main{background:transparent}.animate-ambient-1{animation:ambientPulse 20s ease-in-out infinite!important}.animate-ambient-2{animation:ambientPulseReverse 24s ease-in-out infinite!important}
.animate-ambient-3,.animate-pulse{animation:none!important}
.shimmer-text{background-image:linear-gradient(110deg,#f582bd 0%,#bc9af4 25%,#7fa9dc 50%,#bc9af4 75%,#f582bd 100%);background-size:250% 100%;animation:textShimmer 7s ease-in-out infinite}
.gradient-primary-glow,.glass-btn,.glass-card,.feature-card{transition:background-color .18s,box-shadow .18s,border-color .18s}
.gradient-primary-glow,.gradient-primary-glow:hover,.gradient-primary-glow:active{background:#f2bfd8;color:#71344f;box-shadow:0 2px 5px rgba(110,70,94,.07)}
.glass-btn,.glass-btn:hover,.glass-btn:active{background:#fff;border:1px solid #eee6ed;box-shadow:none}
.gradient-primary-glow::after{display:none}.gradient-primary-glow:hover,.gradient-primary-glow:active,.glass-btn:hover,.glass-btn:active,.feature-card:hover{transform:none}
.site-brand{font-size:16px;font-weight:700;letter-spacing:.015em}.site-menu{display:none;gap:4px}.site-menu a{display:flex;align-items:center;min-height:44px;padding:0 10px;font-size:13px;color:#776b7e;text-decoration:none}.site-menu a[aria-current]{color:#91597c}
#welcome-replay{display:none}.feature-card p:empty{display:none}.feature-card p{font-size:14px;line-height:1.85;color:#776b7e;margin:12px 0 0}.feature-card h3{font-size:19px}.feature-card{min-height:180px}.glass-card{backdrop-filter:none;background:rgba(255,255,255,.8)}
#download a{min-height:48px}main>div>section:first-of-type a{min-height:48px}footer a{min-height:44px;display:inline-flex;align-items:center}footer{padding-bottom:max(32px,env(safe-area-inset-bottom))!important}
.download-note{font-size:12px;color:#8b7f90;line-height:1.7;margin:16px 0 0}.download-modal{position:fixed;inset:0;margin:auto;padding:28px;border:1px solid #f1e7f1;border-radius:24px;background:#fdfbfe;color:var(--ink);max-width:340px;width:calc(100% - 48px);box-sizing:border-box}.download-modal::backdrop{background:#30273f55;backdrop-filter:blur(4px)}.download-modal h2{font-size:20px;margin:0 0 12px}.download-modal p{font-size:14px;color:var(--muted)}.download-modal button{border:0;border-radius:999px;padding:12px 25px;background:#f5e8f5;color:#78566f;min-height:44px}
@media(max-width:767px){
 #main-header>div{height:68px;padding:0 20px;gap:12px}#main-header>div>div:first-child{flex:1;gap:12px}#main-header img{width:34px;height:34px;border-radius:12px}#main-header a[data-path=home]{gap:9px}#main-header nav{display:none}#main-header .site-menu{display:flex;flex-shrink:0}main{padding-top:68px!important}
 main>div>section:first-of-type{padding:58px 24px 48px}main>div>section:first-of-type h1{font-size:42px;line-height:1.23;letter-spacing:-.05em}main>div>section:first-of-type p{font-size:14px;line-height:1.9;margin:22px 0 28px}main>div>section:first-of-type>div>div:has(a){gap:12px;width:100%}main>div>section:first-of-type a{padding:0 18px;font-size:13px;gap:7px}
 #features{padding:36px 20px 44px}#features>div:first-child{margin-bottom:28px}#features h2{font-size:26px;letter-spacing:-.04em}#features>.grid{gap:14px}.feature-card{padding:23px 24px!important;min-height:0;border-radius:22px!important}.feature-card h3{margin-top:6px}.feature-card>div>span{font-size:10px;letter-spacing:.08em}.feature-card p{margin-top:10px}
 #download{padding:24px 20px 44px}#download>.glass-card{padding:26px 22px;border-radius:25px}#download h3{font-size:22px;line-height:1.5}#download .md\:col-span-5{display:none}#download p{font-size:13px;margin:6px 0}#download .flex.flex-wrap{margin-top:20px;gap:12px}#download a{font-size:12px;padding:0 19px}
 footer{margin-top:18px!important;padding-top:24px!important}footer>div{padding:0 20px!important;gap:12px!important}footer>div>div:first-child{flex-wrap:wrap;justify-content:center;font-size:10px}footer>div>div:last-child{gap:17px;font-size:10px}
 [class*='hover:']:hover{transform:none!important}#splash-overlay{backdrop-filter:none}.welcome-title{white-space:nowrap}
}
@media(max-width:350px){.welcome-title{font-size:18px}.site-menu a{padding:0 7px}main>div>section:first-of-type a{padding:0 13px}.site-brand{font-size:14px}}
@media(hover:none){.feature-card:hover{box-shadow:none!important;border-color:rgba(255,255,255,.85)!important}.glass-btn:hover{box-shadow:none}[class*='group-hover:']{transform:none!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}#splash-overlay::after{display:none}}

/* Deploy with local system fonts; no external font service is required. */
:root{--font-headline:'PingFang SC','Microsoft YaHei',sans-serif;--font-body:'PingFang SC','Microsoft YaHei',sans-serif}

/* History restores must keep feature cards at their final geometry. These are
   informational cards, including on touch browsers that retain :hover. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
#features .feature-card,#features .feature-card:hover,#features .feature-card:active{
 box-sizing:border-box;min-width:0;transform:none;translate:none;scale:none;
 animation:none;transition:none;-webkit-backdrop-filter:none;backdrop-filter:none;
}

/* Keep the brand on the left and the text-only navigation on the right. */
#main-header .desktop-menu{display:flex;align-items:center;gap:28px;margin-left:auto}
#main-header nav a{background:transparent;border:0;border-radius:0;box-shadow:none;text-decoration:none}
#main-header .desktop-menu a{display:flex;align-items:center;min-height:44px;padding:0 4px;font-size:14px;font-weight:500;color:#776b7e}
#main-header nav a:hover,#main-header nav a[aria-current]{color:#91597c}
@media(max-width:767px){#main-header .desktop-menu{display:none}}
/* Older Android Chrome needs the prefixed form to clip the existing gradient. */
.shimmer-text{-webkit-background-clip:text;background-clip:text}
