:root{--ink:#111111;--ink-2:#2a2a2a;--ink-3:#555;--ink-4:#8a8a8a;--paper:#FDFDFB;--paper-2:#F7F6F2;--accent:#7C3AED;--accent-soft:rgba(124,58,237,.1);--serif: "Noto Serif SC", "Songti SC", "STSong", serif;--sans: "Noto Sans SC", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace;--anim-speed: 1}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;background-image:radial-gradient(rgba(0,0,0,.022) 1px,transparent 1px),radial-gradient(rgba(0,0,0,.012) 1px,transparent 1px);background-size:3px 3px,7px 7px;background-position:0 0,1px 2px;mix-blend-mode:multiply;opacity:.4}body.no-grain:before{display:none}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;border-bottom:1px solid var(--ink);background:#fdfdfbd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:700;font-size:20px;letter-spacing:.02em}.brand-mark{width:34px;height:34px}.brand-tag{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--ink-3);border:1px solid rgba(17,17,17,.3);border-radius:999px;padding:3px 9px;font-weight:400;transform:translateY(1px)}.nav{display:flex;align-items:center;gap:4px}.nav-link{font-family:var(--sans);font-size:15px;font-weight:400;color:var(--ink);text-decoration:none;padding:8px 16px;border-radius:999px;transition:background .2s;background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}.nav-link:hover{background:#0000000d}.nav-dropdown{position:relative}.nav-dropdown .nav-link svg{transition:transform .2s;opacity:.6}.nav-dropdown:hover .nav-link svg,.nav-dropdown[data-open] .nav-link svg{transform:rotate(180deg)}.nav-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);background:var(--paper);border:1px solid var(--ink);border-radius:14px;padding:8px;min-width:280px;box-shadow:0 18px 40px -14px #00000038,0 6px 14px -6px #0000001f;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:60}.nav-menu:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}.nav-dropdown:hover .nav-menu,.nav-dropdown:focus-within .nav-menu,.nav-dropdown[data-open] .nav-menu{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.nav-menu__item{width:100%;display:flex;align-items:center;gap:14px;padding:10px 12px;border:none;background:transparent;text-align:left;border-radius:10px;cursor:pointer;transition:background .15s;font-family:inherit}.nav-menu__item:hover{background:#0000000a}.nav-menu__num{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-4);width:18px;flex-shrink:0;padding-top:2px}.nav-menu__body{display:flex;flex-direction:column;gap:2px}.nav-menu__title{font-size:14px;font-weight:500;color:var(--ink)}.nav-menu__desc{font-size:12px;color:var(--ink-4)}.nav .cta{background:var(--ink);color:var(--paper);margin-left:10px;padding:10px 22px;position:relative;display:inline-flex;align-items:center;gap:8px;border-radius:999px;border:none;font-family:var(--sans);font-size:15px;font-weight:500;cursor:pointer}.nav .cta:hover{background:var(--accent)}.nav .cta .arrow{display:inline-block;transition:transform .2s}.nav .cta:hover .arrow{transform:translate(3px)}.ripple-overlay{position:fixed;inset:0;pointer-events:none;z-index:95;overflow:hidden}.ripple-overlay__disk{position:absolute;border-radius:50%;background:var(--ink);transform:translate(-50%,-50%) scale(0);transform-origin:center;opacity:1}.ripple-overlay__disk.expanding{animation:ripple-expand .72s cubic-bezier(.7,0,.25,1) forwards}.ripple-overlay__disk.contracting{animation:ripple-contract .58s cubic-bezier(.45,0,.2,1) forwards}@keyframes ripple-expand{0%{transform:translate(-50%,-50%) scale(0)}to{transform:translate(-50%,-50%) scale(1)}}@keyframes ripple-contract{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(0)}}main{position:relative;z-index:2}section.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:40px 64px 80px;align-items:center;position:relative}section.hero:before{content:"";position:absolute;left:64px;right:64px;top:0;height:1px;background:repeating-linear-gradient(to right,transparent 0 120px,rgba(0,0,0,.06) 120px 121px);pointer-events:none}.hero-stage{position:relative;width:100%;max-width:640px;aspect-ratio:560 / 420;justify-self:center}.hero-copy{max-width:540px;align-self:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.18em;color:var(--ink-3);margin-bottom:28px}.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 4px var(--accent-soft)}50%{box-shadow:0 0 0 8px #7c3aed00}}h1.display{font-family:var(--serif);font-weight:900;font-size:clamp(36px,4.6vw,62px);line-height:1.24;letter-spacing:.005em;margin:0 0 28px;text-wrap:balance}h1.display .line{display:block}h1.display .ink-accent{position:relative;color:var(--ink);z-index:1}h1.display .ink-accent:after{content:"";position:absolute;left:-2%;right:-2%;bottom:6px;height:14px;background:var(--accent);opacity:.22;z-index:-1;border-radius:2px;transform:skew(-8deg)}.lead{font-size:17.5px;line-height:1.85;color:var(--ink-2);margin:0 0 40px;max-width:480px}.lead .mono-inline{font-family:var(--mono);font-size:.9em;color:var(--ink)}.actions{display:flex;gap:14px;align-items:center}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:15px;font-weight:500;padding:14px 26px;border-radius:999px;text-decoration:none;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);transform:translateY(-1px)}.pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.pill{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--ink-3);padding:6px 10px;border:1px solid rgba(0,0,0,.15);border-radius:4px}main.carousel{position:relative;z-index:2;overflow:hidden}section.hero.reverse .hero-copy{order:1}section.hero.reverse .hero-stage{order:2}section.hero.reverse .hero-copy{justify-self:end}.carousel-nav{position:fixed;bottom:52px;left:50%;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:14px;padding:8px 4px}.nav-line{width:40px;height:2px;border:none;padding:0;background:var(--ink-3);cursor:pointer;transition:background .3s,transform .3s;position:relative}.nav-line:before{content:"";position:absolute;inset:-12px -6px}.nav-line:hover{background:var(--ink-2)}.nav-line.active{background:var(--ink);width:56px}.beian-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;padding:7px 16px calc(7px + env(safe-area-inset-bottom,0px));background:#fdfdfbe6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(17,17,17,.1);font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--ink-4);text-align:center}.beian-bar a{color:var(--ink-4);text-decoration:none}.beian-bar a:hover{color:var(--ink)}.line-art{width:100%;height:100%;display:block;overflow:hidden}.line-art *{stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.line-art .thin{stroke-width:1.2}.line-art .thick{stroke-width:2.6}.line-art .filled{fill:var(--ink);stroke:none}.line-art .accent-stroke{stroke:var(--accent)}.line-art .accent-fill{fill:var(--accent);stroke:none}.line-art text{stroke:none;fill:var(--ink-3);font-family:var(--mono);letter-spacing:.08em}.line-art text.accent-text{fill:var(--accent)}.line-art text.ink{fill:var(--ink)}@keyframes blinkCursor{0%,50%{opacity:.7}50.01%,to{opacity:0}}.start-modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}.start-modal.open{display:flex}.start-modal__backdrop{position:absolute;inset:0;background:#11111173;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:sm-fade .2s ease-out}@keyframes sm-fade{0%{opacity:0}to{opacity:1}}@keyframes sm-pop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.start-modal__card{position:relative;background:var(--paper);border:1px solid var(--ink);border-radius:18px;box-shadow:0 24px 64px -12px #00000040,0 8px 24px -8px #00000026;width:min(620px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;animation:sm-pop .28s cubic-bezier(.2,.9,.3,1.1)}.start-modal__close{position:absolute;top:14px;right:14px;width:34px;height:34px;border:1px solid var(--ink-4);border-radius:50%;background:var(--paper);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;z-index:2}.start-modal__close:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.start-modal__inner{padding:44px 48px}.start-modal__eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--ink-4);margin:0 0 12px;text-transform:uppercase}.start-modal__title{font-family:var(--serif);font-size:30px;font-weight:900;margin:0 0 24px;letter-spacing:.005em;line-height:1.3}.start-steps{margin:0 0 26px;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px}.start-step{display:flex;gap:14px;align-items:flex-start}.start-step__n{width:26px;height:26px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-weight:700;font-size:13px;flex-shrink:0;margin-top:1px}.start-step b{display:block;font-size:15px;font-weight:500;margin-bottom:3px}.start-step p{margin:0;font-size:13px;color:var(--ink-3);line-height:1.65}.start-step code{font-family:var(--mono);font-size:11.5px;background:var(--paper-2);padding:1px 6px;border-radius:3px;border:1px solid rgba(17,17,17,.1)}.start-modal__cta{display:flex;gap:12px;align-items:center}.start-modal__note{margin:14px 0 0;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--ink-4)}.tweaks-panel{position:fixed;right:24px;bottom:24px;width:280px;background:var(--paper);border:1px solid var(--ink);border-radius:14px;padding:18px 18px 16px;z-index:100;font-family:var(--sans);box-shadow:0 10px 40px #0000001f;display:none}.tweaks-panel.on{display:block}.tweaks-panel h4{margin:0 0 14px;font-family:var(--serif);font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center}.tweaks-panel h4 .mono{font-family:var(--mono);font-size:10px;color:var(--ink-4);letter-spacing:.15em}.tweak-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px dashed rgba(0,0,0,.12);font-size:13px}.tweak-row label{color:var(--ink-2)}.tweak-row input[type=range]{width:120px}.tweak-row input[type=color]{width:28px;height:22px;border:1px solid var(--ink);border-radius:4px;padding:0;background:transparent;cursor:pointer}.seg{display:inline-flex;border:1px solid var(--ink);border-radius:6px;overflow:hidden}.seg button{background:transparent;border:none;padding:4px 10px;font-family:var(--mono);font-size:10px;cursor:pointer;color:var(--ink-2)}.seg button.active{background:var(--ink);color:var(--paper)}.switch{width:36px;height:20px;border-radius:999px;border:1px solid var(--ink);background:var(--paper);position:relative;cursor:pointer;padding:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--ink);transition:left .15s}.switch.on:after{left:18px}.switch.on{background:var(--accent-soft)}@media(max-width:900px){section.hero{grid-template-columns:1fr;padding:24px 24px 60px}.topbar{padding:14px 20px}.nav .nav-link:not(.cta),.nav-dropdown{display:none}.brand-tag{display:none}.hero-copy{order:2}section.hero.reverse .hero-copy{justify-self:stretch}.hero-stage{order:1;max-height:400px}.start-modal__inner{padding:32px 26px}.start-modal__title{font-size:24px}}
