:root{--bg: #14101a;--nav-bg: rgba(20, 16, 26, .72);--glow-a: rgba(255, 138, 101, .16);--glow-b: rgba(255, 197, 158, .1);--glow-c: rgba(244, 115, 74, .08);--card: rgba(255, 255, 255, .04);--card-hover: rgba(255, 255, 255, .07);--border: rgba(255, 255, 255, .09);--border-strong: rgba(255, 154, 118, .45);--text: #f4eee8;--muted: #b0a69c;--peach: #ff9a76;--peach-soft: #ffc59e;--accent-tint: rgba(255, 154, 118, .1);--accent-tint-border: rgba(255, 154, 118, .25);--grad-btn: linear-gradient(120deg, #ffb199 0%, #ff8a65 55%, #ffc59e 100%);--grad-text: linear-gradient(120deg, #ffb199 0%, #ff8a65 55%, #ffc59e 100%);--primary-card-bg: linear-gradient(160deg, rgba(255, 154, 118, .12), rgba(255, 154, 118, .04));--btn-ghost-bg: rgba(255, 255, 255, .06);--chip-bg: rgba(26, 21, 34, .85);--control-bg: rgba(255, 255, 255, .05);--control-track: rgba(255, 255, 255, .1);--player-bg: linear-gradient(170deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .03));--code-bg: #0d0a12;--code-inline-bg: rgba(255, 255, 255, .06);--shadow-card: 0 24px 60px rgba(0, 0, 0, .35);--selection: rgba(255, 138, 101, .35);--font: "PingFang SC", "HarmonyOS Sans SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "Cascadia Code", Consolas, "JetBrains Mono", "SFMono-Regular", monospace;--radius-lg: 20px}:root[data-theme=light]{--bg: #faf5ef;--nav-bg: rgba(250, 245, 239, .82);--glow-a: rgba(228, 98, 58, .12);--glow-b: rgba(255, 170, 120, .12);--glow-c: rgba(228, 98, 58, .06);--card: rgba(255, 255, 255, .72);--card-hover: #ffffff;--border: rgba(60, 38, 24, .12);--border-strong: rgba(224, 90, 50, .45);--text: #2c2018;--muted: #857260;--peach: #e05a32;--peach-soft: #bf4a26;--accent-tint: rgba(224, 90, 50, .08);--accent-tint-border: rgba(224, 90, 50, .22);--grad-btn: linear-gradient(120deg, #ffb199 0%, #ff8a65 55%, #ffc59e 100%);--grad-text: linear-gradient(120deg, #e05a32 0%, #c94f2c 55%, #e4623a 100%);--primary-card-bg: linear-gradient(160deg, rgba(224, 90, 50, .1), rgba(224, 90, 50, .03));--btn-ghost-bg: rgba(60, 38, 24, .05);--chip-bg: rgba(255, 255, 255, .92);--control-bg: rgba(60, 38, 24, .05);--control-track: rgba(60, 38, 24, .12);--player-bg: linear-gradient(170deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .7));--code-bg: #f4ebe1;--code-inline-bg: rgba(60, 38, 24, .07);--shadow-card: 0 24px 60px rgba(150, 90, 50, .16);--selection: rgba(255, 138, 101, .4)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(560px 420px at 12% -6%,var(--glow-a),transparent 70%),radial-gradient(640px 460px at 92% 8%,var(--glow-b),transparent 70%),radial-gradient(720px 520px at 50% 112%,var(--glow-c),transparent 70%);pointer-events:none;z-index:-1}.container{max-width:1760px;margin:0 auto;padding:0 clamp(24px,3.5vw,56px)}::selection{background:var(--selection)}:focus-visible{outline:2px solid var(--peach);outline-offset:2px}html[data-switching] body,html[data-switching] body *,html[data-switching] body *:before,html[data-switching] body *:after{transition:background-color .35s ease,color .35s ease,border-color .35s ease,box-shadow .35s ease,fill .35s ease,stroke .35s ease!important}.site-nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--nav-bg);border-bottom:1px solid var(--border)}.site-nav-inner{display:flex;align-items:center;gap:28px;height:72px;padding:0 40px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:700;font-size:17px;letter-spacing:.5px}.nav-links{display:flex;gap:4px;margin-left:auto}.nav-links a{color:var(--muted);text-decoration:none;padding:8px 14px;border-radius:10px;font-size:15px;transition:color .18s ease,background .18s ease}.nav-links a:hover{color:var(--text);background:var(--control-bg)}.nav-actions{margin-left:4px}.nav-github-btn{font-weight:600;background:var(--btn-ghost-bg);border-color:var(--border);color:var(--text)}.nav-github-btn:hover{border-color:var(--border-strong)!important;color:var(--peach-soft)!important}.section{padding:128px 0;scroll-margin-top:80px}.section-alt{background:linear-gradient(180deg,var(--accent-tint),transparent);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-head{max-width:640px;margin-bottom:56px}h2.ant-typography.section-title{margin:14px 0 10px;font-size:clamp(26px,3.4vw,38px);line-height:1.25;color:var(--text)}p.ant-typography.section-desc{margin:0;color:var(--muted);font-size:16px}.ant-tag.kicker{padding:5px 14px;border-radius:999px;background:var(--accent-tint);border:1px solid var(--accent-tint-border);color:var(--peach-soft);font-size:13px;font-weight:600;line-height:1.6;margin-inline-end:0}.nav-menu-btn{display:none}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@keyframes slide-in-right{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:none}}.hero-copy>*{animation:rise-in .7s cubic-bezier(.22,.61,.36,1) backwards}.hero-copy>*:nth-child(1){animation-delay:.05s}.hero-copy>*:nth-child(2){animation-delay:.14s}.hero-copy>*:nth-child(3){animation-delay:.23s}.hero-copy>*:nth-child(4){animation-delay:.32s}.hero-copy>*:nth-child(5){animation-delay:.41s}.hero-visual{animation:slide-in-right .9s cubic-bezier(.22,.61,.36,1) .25s backwards}html[data-entered] .hero-copy>*,html[data-entered] .hero-visual{animation:none}.hero .container{padding-top:116px;padding-bottom:108px}.hero .ant-tag.kicker{margin-bottom:18px}h1.ant-typography.hero-title{margin:0 0 18px;font-size:clamp(34px,5vw,58px);line-height:1.18;letter-spacing:.5px;color:var(--text)}.accent{display:inline-block;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}p.ant-typography.hero-sub{margin:0 0 36px;max-width:560px;color:var(--muted);font-size:17px}.hero-actions{margin-bottom:18px}a.ant-btn.btn-cta{background:var(--grad-btn);border:none;color:#241812;font-weight:600;box-shadow:0 10px 26px #f4734a52}a.ant-btn.btn-cta:hover{background:var(--grad-btn);filter:brightness(1.06);box-shadow:0 14px 32px #f4734a6b}.ant-btn.btn-ghost-strong{background:var(--btn-ghost-bg);border-color:var(--border);color:var(--text)}.ant-btn.btn-ghost-strong:hover{background:var(--card-hover);border-color:var(--border-strong)!important;color:var(--peach-soft)!important}.ant-btn.btn-cta,.ant-btn.btn-ghost-strong,.nav-github-btn{transition:transform .16s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,filter .2s ease}.ant-btn.btn-cta:hover,.ant-btn.btn-ghost-strong:hover,.nav-github-btn:hover{transform:translateY(-2px)}.ant-btn.btn-cta:active,.ant-btn.btn-ghost-strong:active,.nav-github-btn:active{transform:translateY(0) scale(.97)}.nav-github-btn:active{box-shadow:0 2px 10px #00000040}p.ant-typography.hero-meta{margin:0;font-size:13.5px;color:var(--muted)}.hero-meta a{color:var(--peach-soft);text-decoration:none}.hero-meta a:hover{text-decoration:underline}.hero-visual{position:relative;display:flex;justify-content:center;max-width:480px;margin:0 auto;width:100%}.player-card{width:min(460px,100%);background:var(--player-bg);border:1px solid var(--border);border-radius:26px;padding:24px;box-shadow:var(--shadow-card);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.player-art{display:flex;align-items:center;margin-bottom:18px}.player-cover{width:168px;height:168px;border-radius:18px;background:radial-gradient(120% 120% at 20% 15%,rgba(255,217,160,.9) 0%,transparent 45%),linear-gradient(140deg,#f4734a,#a83a2e 78%);display:flex;align-items:center;justify-content:center;color:#fff4e6eb;box-shadow:0 14px 34px #f4734a40;position:relative;z-index:1;flex-shrink:0}.player-vinyl{width:164px;height:164px;border-radius:50%;margin-left:-74px;background:repeating-radial-gradient(circle at 50% 50%,#101013 0,#101013 1.5px,#17171b 1.5px,#17171b 3.5px);position:relative;box-shadow:0 10px 30px #00000073,inset 0 0 0 1px #ffffff0d;animation:vinyl-spin 9s linear infinite}.player-vinyl-label{position:absolute;left:50%;top:50%;width:56px;height:56px;border-radius:50%;transform:translate(-50%,-50%);background:var(--grad-btn);box-shadow:inset 0 0 0 6px #14101ad9}.player-vinyl:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:#14101a;transform:translate(-50%,-50%)}@keyframes vinyl-spin{to{transform:rotate(360deg)}}.player-info{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.player-title{font-weight:700;font-size:16.5px}.player-artist{color:var(--muted);font-size:12.5px}.player-lyric{color:var(--peach-soft);font-size:14px;margin:12px 0 14px;min-height:21px}.player-progress{height:4px;border-radius:999px;background:var(--control-track);overflow:hidden}.player-progress-fill{display:block;width:62%;height:100%;border-radius:inherit;background:var(--grad-btn)}.player-time{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin:8px 0 14px;font-variant-numeric:tabular-nums}.player-controls{display:flex;align-items:center;justify-content:center;gap:22px}.pc-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:var(--control-bg);display:inline-flex;align-items:center;justify-content:center;color:var(--text)}.pc-btn svg{width:18px;height:18px;fill:currentColor}.pc-main{width:52px;height:52px;border:none;background:var(--grad-btn);color:#2a1a10;box-shadow:0 10px 24px #f4734a66}.pc-main svg{width:22px;height:22px}.float-chip{position:absolute;padding:8px 14px;border-radius:999px;background:var(--chip-bg);border:1px solid var(--border);color:var(--peach-soft);font-size:13px;font-weight:600;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:chip-float 5.2s ease-in-out infinite}.chip-1{top:6%;left:-3%}.chip-2{top:40%;right:-5%;animation-delay:-1.8s}.chip-3{bottom:4%;left:2%;animation-delay:-3.4s}@keyframes chip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.stretch{height:100%}.ant-card.feature-card,.ant-card.download-card,.ant-card.selfhost-card{height:100%;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .18s ease,background .18s ease}.ant-card.feature-card:hover,.ant-card.download-card:hover{border-color:var(--border-strong);background:var(--card-hover)}.ant-card.download-card.is-primary{border-color:var(--border-strong);background:var(--primary-card-bg)}.ant-card.feature-card .ant-card-body,.ant-card.download-card .ant-card-body,.ant-card.selfhost-card .ant-card-body{padding:30px 28px;display:flex;flex-direction:column;align-items:flex-start;height:100%}.card-title{margin:0 0 8px;font-size:17px;font-weight:700;color:var(--text)}.card-title-icon{display:flex;align-items:center;gap:8px}.card-title-icon svg{color:var(--peach);flex-shrink:0}p.ant-typography.card-desc{margin:0 0 12px;color:var(--muted);font-size:14.5px;flex:1}.feature-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:var(--accent-tint);border:1px solid var(--accent-tint-border);color:var(--peach);margin-bottom:14px}.platform-icon{display:inline-flex;width:34px;height:34px;color:var(--peach);margin-bottom:12px}.platform-icon svg{width:34px;height:34px}.download-card .btn-cta{margin-top:auto}.download-card .ant-btn{margin-top:4px}.download-meta{font-size:12.5px;margin-bottom:12px;line-height:1.6}.download-meta code{padding:2px 8px;border-radius:8px;background:var(--code-inline-bg);border:1px solid var(--border);font-family:var(--mono);font-size:12px;white-space:nowrap}.download-note{font-size:13px}.selfhost-command{margin:22px 0 10px;padding:16px 18px;border-radius:14px;background:var(--code-bg);border:1px solid var(--border);overflow-x:auto}.selfhost-command code{font-family:var(--mono);font-size:13.5px;color:var(--peach-soft);white-space:pre}p.ant-typography.selfhost-hint{color:var(--muted);font-size:13px;margin:0}.ant-card.selfhost-card .ant-card-body{padding:24px 22px}a.ant-typography.card-link{color:var(--peach);font-weight:600;font-size:13.5px}a.ant-typography.card-link:hover{color:var(--peach-soft)}.site-footer{border-top:1px solid var(--border);padding:40px 0;margin-top:56px}.footer-brand{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:14px}.footer-links a{color:var(--muted);text-decoration:none;font-size:14px;transition:color .18s ease}.footer-links a:hover{color:var(--peach-soft)}.status-page{min-height:72vh}.status-toolbar{margin-top:8px}.status-banner{padding:16px 20px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);margin-bottom:24px;font-weight:600;font-size:16px}.status-banner.ok{background:#52c41a1f;border-color:#52c41a66}.status-banner.fail{background:#ff4d4f1f;border-color:#ff4d4f66}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.ok{background:#52c41a;box-shadow:0 0 0 3px #52c41a2e}.status-dot.fail{background:#ff4d4f;box-shadow:0 0 0 3px #ff4d4f2e}.status-dot.checking{background:var(--muted);animation:status-pulse 1.2s ease-in-out infinite}@keyframes status-pulse{50%{opacity:.35}}.status-card-head{margin-bottom:10px}.ant-tag.status-tag.ok{color:#52c41a;border-color:#52c41a73;background:#52c41a1a}.ant-tag.status-tag.fail{color:#ff4d4f;border-color:#ff4d4f73;background:#ff4d4f1a}.ant-tag.status-tag.checking{color:var(--muted)}.status-meta{font-size:13px}.status-footer-row{margin-top:28px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:980px){.float-chip{display:none}}@media(max-width:700px){.site-nav-inner{gap:8px;height:58px;padding:0 16px}.brand{font-size:16px;gap:8px}.nav-links{display:none}.nav-actions{margin-left:auto}.nav-menu-btn{display:inline-flex}.nav-github-btn>span:not([class]){display:none}.nav-github-btn{width:36px;height:36px;min-width:0;min-height:0;padding:0;border:none;background:transparent;border-radius:50%;justify-content:center}.nav-github-btn:hover{background:var(--control-bg);border:none;transform:none}.nav-github-btn:active{transform:scale(.94)}.section{padding:60px 0;scroll-margin-top:64px}.section-head{margin-bottom:30px}.hero .container{padding-top:48px;padding-bottom:56px}.player-card{padding:18px}.player-cover{width:138px;height:138px}.player-vinyl{width:134px;height:134px;margin-left:-60px}.player-vinyl-label{width:46px;height:46px}.ant-card.feature-card .ant-card-body,.ant-card.download-card .ant-card-body,.ant-card.selfhost-card .ant-card-body{padding:22px 20px}.selfhost-command code{font-size:12px}}@media(max-width:560px){.hero-copy{text-align:center}.hero-copy .kicker{margin-bottom:16px}p.ant-typography.hero-sub{margin-left:auto;margin-right:auto}.hero-actions.ant-space{display:flex;flex-direction:column;align-items:stretch;width:100%}.hero-actions .ant-space-item{width:100%}.hero-actions .ant-btn{width:100%;justify-content:center}.selfhost-command{overflow-x:hidden}.selfhost-command code{white-space:pre-wrap;word-break:break-all}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.player-vinyl,.float-chip,.status-dot.checking{animation:none}.hero-copy>*,.hero-visual{animation:none}.reveal{opacity:1;transform:none;transition:none}}
